@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-devanagari-500-normal-Ddzk8H1G.woff2) format("woff2"),url(/assets/baloo-2-devanagari-500-normal-BGpOhOmM.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-vietnamese-500-normal-Cj5RGu3k.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-500-normal-ClyrcyJC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-ext-500-normal-Ba7mhTsk.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-500-normal-D1XZow3C.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-500-normal-CmLZ27r7.woff2) format("woff2"),url(/assets/baloo-2-latin-500-normal-BSdEhq8m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-devanagari-700-normal-D37Te3iF.woff2) format("woff2"),url(/assets/baloo-2-devanagari-700-normal-CEIF4sJg.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-vietnamese-700-normal-h4tlcePq.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-700-normal-DoF59Mjc.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-ext-700-normal-Mlh7kdab.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-700-normal-D6LeXASg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pink: #ffafcc;--pink-soft: #ffe5ef;--blue: #a2d2ff;--blue-soft: #e3f2ff;--yellow: #ffd166;--ink: #3d3553;--muted: #7a7194;--bg: #fff8fb;--card: #ffffff;--radius: 20px;font-family:"Baloo 2",Comic Sans MS,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 10%,var(--blue-soft),transparent 40%),radial-gradient(circle at 90% 20%,var(--pink-soft),transparent 40%),var(--bg);min-height:100vh}.app{max-width:1280px;margin:0 auto;padding:16px}header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}h1{margin:0;font-size:2rem}h1 small{color:var(--muted);font-size:1.2rem}.brand{display:flex;align-items:center;gap:12px}.logo{flex:none;width:60px;height:60px;filter:drop-shadow(0 3px 0 rgba(255,143,171,.45)) drop-shadow(0 4px 10px rgba(205,180,219,.4));transition:transform .3s cubic-bezier(.2,1.6,.4,1)}.logo:hover{transform:rotate(-6deg) scale(1.08)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.logo-btn{border:none;background:none;padding:0;cursor:pointer;line-height:0}.app.home{max-width:1680px}.home-decor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.7),transparent 38%),radial-gradient(circle at 85% 90%,rgba(255,255,255,.55),transparent 35%),linear-gradient(135deg,#ffd3e3,#ffe8f0 50%,#ffd3e3)}.home-decor>span{position:absolute;line-height:0}.home-decor svg{width:100%;height:auto}.page.roster{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,28vw,380px);gap:28px;align-items:center;min-height:calc(100vh - 48px)}.home-stage{display:flex;justify-content:center}.scene{position:relative;width:min(100%,calc((100vh - 160px)*1.7917));margin:clamp(56px,11vh,120px) 0 clamp(16px,4vh,48px);padding:8px;background:#fff;border-radius:32px;box-shadow:0 8px #ffc2d8,0 18px 44px #d6709c4d}.scene-img{display:block;width:100%;height:auto;aspect-ratio:1376 / 768;border-radius:24px}.title-sign{position:absolute;z-index:2;left:-1.5%;top:-4%;width:36%;transform-origin:50% -22.5%;rotate:-6deg;animation:sign-swing 3.2s ease-in-out infinite;filter:drop-shadow(0 5px 0 rgba(120,72,40,.18)) drop-shadow(0 12px 16px rgba(80,40,20,.22))}.title-sign img{display:block;width:100%;height:auto}.sign-strings{position:absolute;left:0;bottom:100%;width:100%;height:auto}@keyframes sign-swing{0%,to{rotate:-9deg}50%{rotate:-3deg}}.roster .card{background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.roster-panel{display:flex;flex-direction:column;gap:14px}.roster-tools{display:flex;gap:8px;margin-bottom:12px}.roster-tools .btn{flex:1}.start-note{text-align:center;font-size:.95rem;color:var(--muted)}.link-btn{border:none;background:none;padding:0;font:inherit;color:#e85d75;text-decoration:underline;cursor:pointer}.start-btn{--bg: linear-gradient(135deg, #7f7fff, #c77dff);--edge: #6a4fc9;display:flex;align-items:center;gap:10px;width:100%;height:118px;padding:8px 18px 8px 8px;border:3px solid #fff;border-radius:28px;cursor:pointer;font:inherit;color:#fff;text-align:left;background:var(--bg);box-shadow:0 6px 0 var(--edge),0 10px 24px #00000026;transition:transform .25s cubic-bezier(.2,1.6,.4,1);animation:beckon 2.4s ease-in-out infinite}.start-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.03)}.start-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--edge)}.start-btn.resume{--bg: linear-gradient(135deg, #43c6ac, #4cc9f0);--edge: #2a9d8f}.start-btn.locked{--bg: #ece8f3;--edge: #cfc8dc;color:#9a92ad;cursor:not-allowed;animation:none}.start-text b{display:block;font-size:1.85rem;line-height:1;font-weight:800;text-shadow:0 2px 0 rgba(0,0,0,.18)}.start-text span{display:block;font-size:1.15rem;font-weight:700;line-height:1.25;margin-top:4px;text-shadow:0 1px 0 rgba(0,0,0,.15)}.start-btn.locked .start-text b,.start-btn.locked .start-text span{text-shadow:none}@keyframes beckon{50%{box-shadow:0 6px 0 var(--edge),0 0 0 6px #ffffff8c,0 12px 30px #0000002e}}.start-art{width:100px;height:100px;flex:none;overflow:visible}.start-btn.locked .start-art{filter:grayscale(1) opacity(.55)}.start-btn.locked .start-art *{animation:none}.start-art .fly{animation:rocket-bob 1.4s ease-in-out infinite}@keyframes rocket-bob{50%{transform:translate(3px,-5px)}}.start-art .flame{transform-box:fill-box;transform-origin:50% 0;animation:flame-flick .18s ease-in-out infinite alternate}@keyframes flame-flick{to{transform:scaleY(1.35) scaleX(.85)}}.start-art .puff{transform-box:fill-box;transform-origin:center;animation:puff 1.4s ease-out infinite}.start-art .puff:nth-of-type(2){animation-delay:.45s}.start-art .puff:nth-of-type(3){animation-delay:.9s}@keyframes puff{0%{opacity:.95;transform:translate(0) scale(.4)}to{opacity:0;transform:translate(-10px,10px) scale(1.4)}}.start-art .tw{transform-box:fill-box;transform-origin:center;animation:twinkle 1.6s ease-in-out infinite both}.start-art .tw:nth-of-type(2){animation-delay:.5s}.start-art .tw:nth-of-type(3){animation-delay:1s}.roster-panel section+section{border-top:2px dashed var(--pink-soft);padding-top:14px}.roster-panel h2{font-size:1.25rem;margin:0 0 10px}.roster-panel p{margin:6px 0}.roster-panel textarea{margin-top:8px}.roster-count{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.roster-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.roster-panel .class-manage{margin:8px 0 0;text-align:right;font-size:.9rem;color:var(--muted)}.link-btn.plain{color:var(--muted)}.file-btn{display:inline-block}.file-btn input{display:none}.btn.small{padding:4px 12px;font-size:.92rem}.hint.small{font-size:.9rem}.backup-btns{display:flex;gap:8px}.backup-btns .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.backup-icon{flex:none}.roster-panel .backup-note{margin:8px 0 0;font-size:.9rem;color:var(--muted);text-align:center}.roster-panel .backup-note.stale{color:#e85d75;font-weight:700}.roster-panel .storage-tip{margin:10px 0 0;padding:8px 12px;border-radius:14px;background:var(--blue-soft);color:var(--muted);font-size:.85rem;line-height:1.4}.storage-tip kbd{white-space:nowrap;font:inherit;font-weight:700;color:var(--ink);padding:0 5px;border-radius:6px;background:#fff;box-shadow:0 2px 0 var(--blue)}.roster-panel .update-tip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 8px 8px 14px;border-radius:14px;background:var(--blue-soft);font-weight:700}.roster-panel .help-link{margin:0;text-align:center;font-size:.9rem}.help-link a{color:var(--muted)}.save-error{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(560px,calc(100vw - 32px));padding:10px 12px 10px 14px;border-radius:18px;background:var(--pink-soft);border:3px solid #e85d75;box-shadow:0 6px 18px #e85d754d;color:#a4133c;font-weight:700}.save-error-close{flex:none;width:30px;height:30px;border:none;border-radius:50%;background:#fff;color:#a4133c;font:inherit;font-size:1.3rem;line-height:1;cursor:pointer}.dialog{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(440px,92vw)}.dialog h2,.dialog p{margin:0}.backup-sum{list-style:none;margin:0;padding:10px 14px;width:100%;border-radius:16px;background:var(--blue-soft)}.backup-sum li+li{margin-top:4px}.backup-warn{padding:10px 14px;border-radius:16px;background:var(--pink-soft);font-size:.95rem}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.dialog-steps{margin:0;padding:10px 14px 10px 34px;width:100%;border-radius:16px;background:var(--blue-soft);text-align:left;line-height:1.5}.dialog-warnings{margin:0;padding:8px 14px 8px 30px;width:100%;border-radius:16px;background:var(--pink-soft);text-align:left;font-size:.9rem;color:var(--muted)}.roster-panel .folder-line{margin:8px 0 0;font-size:.9rem;color:var(--muted);text-align:center;overflow-wrap:anywhere}.roster-panel .folder-line.lost{color:#e85d75}.roster-panel .folder-tip{margin:10px 0 0;padding:8px 12px;border-radius:14px;background:var(--blue-soft);color:var(--muted);font-size:.85rem;line-height:1.4}.saved-note{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(560px,calc(100vw - 32px));padding:8px 16px 8px 10px;border-radius:18px;background:var(--blue-soft);border:3px solid var(--blue);box-shadow:0 6px 18px #a2d2ff73;font-weight:700;overflow-wrap:anywhere}@media (max-width: 760px){.page.roster{grid-template-columns:1fr;min-height:0;gap:16px}.scene{width:100%;margin:64px 0 0}.title-sign{width:48%;top:-10%}}.session-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}header+main{margin-top:16px}.mode-switch{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--pink-soft);box-shadow:0 3px 0 var(--pink)}.mode-switch button{font:inherit;border:none;border-radius:999px;padding:5px 12px;background:none;color:var(--muted);cursor:pointer}.mode-switch button.active{background:var(--pink);color:#fff}nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.tab{border:none;border-radius:999px;padding:10px 18px;font:inherit;font-size:1.1rem;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 3px 0 var(--pink);cursor:pointer}.tab.active{background:var(--pink);color:#fff}.tab:disabled{opacity:.4;cursor:not-allowed}.page{display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border-radius:var(--radius);padding:16px 20px;box-shadow:0 6px 20px #ffafcc40}.card h2,.card h3{margin-top:0}.hint{color:var(--muted)}.warn{color:#c1121f;margin:4px 0}.big{font-size:4rem;margin:8px 0}form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}input[type=text],input:not([type]),textarea{font:inherit;padding:8px 12px;border-radius:12px;border:2px solid var(--blue);flex:1;min-width:0}textarea{width:100%;margin-top:8px}.btn{font:inherit;border:none;border-radius:999px;padding:8px 16px;cursor:pointer;background:var(--yellow);box-shadow:0 3px #e0a800}.btn.ghost{background:var(--blue-soft);box-shadow:0 3px 0 var(--blue)}.btn:active,.step:active,.tab:active{transform:translateY(2px);box-shadow:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;border:2px solid var(--pink);background:#fff;border-radius:999px;padding:4px 12px;cursor:pointer}.chip.active{background:var(--pink);color:#fff}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.student{background:var(--card);border-radius:var(--radius);border:4px solid #ddd;padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s}.student:hover{transform:translateY(-3px) rotate(-1deg)}.student.absent{opacity:.35;filter:grayscale(1)}.student .name{font-weight:700;text-align:center}.student .score{font-size:1.4rem;color:#e85d75}.steps{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.step{font:inherit;border:none;border-radius:10px;padding:4px 8px;cursor:pointer;background:var(--blue-soft);box-shadow:0 2px 0 var(--blue)}.step.active{background:var(--blue)}.step.undo{background:#eee;box-shadow:0 2px #ccc}.board{background:#2d6a4f;color:#fff;text-align:center;padding:12px;border-radius:12px;border:6px solid #8b5e34;font-size:1.3rem}.seat-grid{display:grid;gap:8px;overflow-x:auto}.seat{font:inherit;min-height:84px;border-radius:16px;border:2px dashed var(--blue);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem}.seat.selected{outline:4px solid var(--yellow)}.wardrobe{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;align-items:start}.wardrobe-stage{position:sticky;top:12px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--pink-soft);border-radius:var(--radius);padding:18px 14px}.wardrobe-stage svg{max-width:100%;height:auto}.wardrobe-stage h3{margin:0;text-align:center}.wardrobe-controls{display:flex;flex-direction:column;gap:18px;min-width:0}.wardrobe-controls h3{margin:0 0 6px}.look-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hair-opts{display:grid;grid-template-columns:repeat(4,minmax(0,116px));gap:8px}.look-opt,.item{font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:16px;border:2px solid #f0e3ec;background:var(--card);min-width:0}.look-opt{font-size:.9rem;line-height:1.2;padding:6px 4px 8px}.look-opt[aria-pressed=true],.item[aria-pressed=true]{border-color:var(--pink);background:var(--pink-soft)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #f0e3ec;cursor:pointer;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.item{padding:10px 6px 8px}.item .nm{font-size:.9rem;line-height:1.2;text-align:center;font-weight:700}.look-opt:active,.item:active,.swatch:active{transform:translateY(2px)}@media (max-width: 760px){.wardrobe,.look-two{grid-template-columns:minmax(0,1fr)}.wardrobe-stage{position:static}}@media (max-width: 420px){.hair-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}.avatar-pet{animation:pet-bob 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes pet-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.4px) rotate(-3deg)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d355366;display:grid;place-items:center;z-index:30}.pop{text-align:center;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.btn.danger{background:#ffd6dc;box-shadow:0 3px #e85d75;color:#a4133c}.btn:disabled{opacity:.45;cursor:not-allowed}.seating-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.seating-main{display:flex;flex-direction:column;gap:16px;min-width:0}.seating-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:12px}@media (max-width: 900px){.seating-layout{grid-template-columns:1fr}.seating-side{position:static}}.seat{transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.seat.taken{border:2px solid rgba(0,0,0,.06);cursor:grab;box-shadow:0 3px #00000014}.seat.taken:hover{transform:translateY(-2px) rotate(-1deg)}.seat.dragging{opacity:.35}.seat.over{outline:4px dashed var(--yellow);transform:scale(1.06);background:#fffbe6}.seat-name{font-weight:700}.seat-empty{opacity:.45;font-size:1.4rem}.tray{border:3px dashed transparent;transition:border-color .15s,background .15s}.tray-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.tray-head h3{margin:0}.tray.over{border-color:var(--yellow);background:#fffbe6}.tray-kid{display:flex;align-items:center;gap:6px;padding:2px 12px 2px 2px;border-radius:999px;border:3px solid var(--pink);background:#fff;cursor:grab;-webkit-user-select:none;user-select:none}.tray-kid.active{outline:4px solid var(--yellow)}.editor-head{display:flex;align-items:center;gap:12px}.editor-head h3{margin:0}.editor form{flex-direction:column}.editor label{display:flex;flex-direction:column;gap:4px;font-weight:700}.editor select{font:inherit;padding:8px 12px;border-radius:12px;border:2px solid var(--blue);background:#fff}.editor-actions{display:flex;flex-wrap:wrap;gap:8px}.trash{border:3px dashed #f4a6b5;border-radius:var(--radius);padding:18px;text-align:center;color:#a4133c;background:#fff5f7;transition:transform .15s,background .15s;opacity:.6}.trash.armed{opacity:1;animation:wiggle .6s ease-in-out infinite}.trash.over{background:#ffccd5;transform:scale(1.06)}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.app.wide{max-width:none;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:8px 12px 10px}.app.wide h1{font-size:1.5rem}.app.wide nav{margin:6px 0 8px}.app.wide .tab{padding:6px 14px;font-size:1rem}.app.wide main{flex:1;min-height:0}.playground{position:relative;height:100%;min-height:420px;overflow:hidden;border-radius:24px;padding:8px 10px 12px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(#8ecdf8,#bfe6ff 50%,#e3f7ff 82%,#b5ea8c 82.5%,#8fd96b)}.playground:fullscreen{border-radius:0;height:100vh;padding:12px 16px 14px}.sky{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sky span{position:absolute}.sun{top:4px;right:70px;font-size:3rem;animation:spin 18s linear infinite}.cloud{font-size:3.4rem;opacity:.85;animation:drift linear infinite}.c1{top:30%;animation-duration:60s}.c2{top:62%;font-size:2.6rem;animation-duration:80s;animation-delay:-40s}.balloon{font-size:2.2rem;bottom:-60px;animation:rise 22s ease-in infinite}.b1{left:3%}.b2{left:95%;animation-delay:-10s;filter:hue-rotate(180deg)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{0%{left:-10%}to{left:105%}}@keyframes rise{0%{transform:translateY(0);opacity:1}to{transform:translateY(-110vh);opacity:.6}}.pg-top{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pg-title{margin:0;font-size:1.6rem;color:#fff;text-shadow:0 2px 0 #4b8fd1,0 0 12px rgba(255,255,255,.7);white-space:nowrap}.pg-ladder{display:flex;align-items:center;gap:4px;background:#ffffffd9;border-radius:999px;padding:2px 10px;font-weight:700;font-size:.95rem;box-shadow:0 3px 0 var(--pink);flex-wrap:wrap}.rung{display:inline-flex;align-items:center;gap:1px;padding:0 4px;color:var(--muted)}.rung em{font-style:normal;font-size:1.25rem}.rung+.rung:before{content:"›";margin-right:4px;color:var(--pink)}.pg-full{margin-left:auto;font:inherit;font-size:1.2rem;border:none;border-radius:12px;width:38px;height:34px;background:#ffffffd9;box-shadow:0 3px 0 var(--blue);cursor:pointer}.islands{position:relative;flex:1;min-height:0;display:grid;gap:10px;grid-auto-rows:minmax(0,1fr);overflow:auto}.islands.scrolling{grid-auto-rows:auto;scrollbar-gutter:stable}.island{min-width:0;background:#ffffffd1;border-radius:22px;padding:6px 9px;border:3px solid var(--tc);box-shadow:0 5px color-mix(in srgb,var(--tc) 75%,#000);display:flex;flex-direction:column}.island.leader:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:25px;pointer-events:none;z-index:-1;animation:glow 2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 5px #ffd166d9,0 0 30px #ffd166}}.island-head{height:30px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:8px}.island-name{font-size:1.15rem;font-weight:700;background:var(--tc);border-radius:999px;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.island-total{display:inline-flex;align-items:center;font-size:1.35rem;font-weight:700;color:#e85d75;white-space:nowrap}.island-points{display:inline-block;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}.kids{flex:1;display:grid;gap:6px;justify-content:center;align-content:center}.kid{position:relative;width:var(--s);height:calc(var(--s) * 1.12);font:inherit;color:inherit;border:none;background:#fff;border-radius:calc(var(--s) * .18);padding:calc(var(--s) * .05) calc(var(--s) * .05) calc(var(--s) * .04);display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 3px color-mix(in srgb,var(--tc) 60%,#fff);animation:bob 2.4s ease-in-out infinite}.kid:hover{transform:scale(1.06) rotate(-2deg);animation-play-state:paused;z-index:1}.kid.star{background:linear-gradient(#fff3b8,#fff);box-shadow:0 0 0 3px #ffd166,0 3px #e0a800}.kid.sleepy{opacity:.45;filter:grayscale(.9);animation:none;cursor:default}.kid-avatar{position:relative;display:block;line-height:0}.kid-score{display:flex;align-items:center;justify-content:center;gap:calc(var(--s) * .03);max-width:100%}.kid-points{line-height:1;font-size:calc(var(--s) * .16);font-weight:700;color:#fff;background:#ff6b8b;border-radius:999px;padding:calc(var(--s) * .025) calc(var(--s) * .06);box-shadow:0 2px #c9184a;white-space:nowrap;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}.kid-gift{font-style:normal;font-size:calc(var(--s) * .17);line-height:1;animation:tease .9s ease-in-out infinite;filter:drop-shadow(0 0 4px #ffd166)}.kid-crown,.kid-bag{position:absolute;top:calc(var(--s) * .03);line-height:1;z-index:1}.kid-crown{left:calc(var(--s) * .04);font-size:calc(var(--s) * .2);animation:spin 6s linear infinite}.kid-bag{right:calc(var(--s) * .05);font-size:calc(var(--s) * .11);font-weight:700;color:var(--muted)}.zzz{position:absolute;top:0;left:0;font-size:calc(var(--s) * .2);line-height:1}.kid-name{max-width:100%;font-weight:700;font-size:calc(var(--s) * .14);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-goal{display:flex;align-items:center;width:100%;height:calc(var(--s) * .16);gap:calc(var(--s) * .03)}.qa-goal .bar{position:relative;flex:1;height:100%;border-radius:999px;background:#f0eaf7;overflow:hidden;box-shadow:inset 0 1px 2px #0000001f}.bar i{position:absolute;inset:0 auto 0 0;border-radius:999px;transition:width .8s cubic-bezier(.2,1.4,.4,1);background:repeating-linear-gradient(45deg,#ffd166 0,#ffd166 6px,#ffbf3c 6px,#ffbf3c 12px)}.qa-goal em{font-style:normal;font-size:calc(var(--s) * .19);line-height:1}.near .bar i{background:repeating-linear-gradient(45deg,#ff8fab 0,#ff8fab 6px,#ff5d8f 6px,#ff5d8f 12px);animation:shine .9s linear infinite;background-size:17px 17px}.near em{animation:tease .9s ease-in-out infinite;filter:drop-shadow(0 0 4px #ffd166)}@keyframes shine{to{background-position:17px 0}}@keyframes tease{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.35) rotate(-12deg)}60%{transform:scale(1.2) rotate(10deg)}}.burst{position:absolute;top:15%;left:50%;font-size:calc(var(--s) * .3);font-weight:700;color:#ff4d6d;pointer-events:none;text-shadow:0 2px 0 #fff,0 0 8px #fff;animation:burst 1.5s ease-out forwards;z-index:2}@keyframes burst{0%{transform:translate(-50%) scale(.6);opacity:1}30%{transform:translate(-50%,-30%) scale(1.4)}to{transform:translate(-50%,-160%) scale(1);opacity:0}}@keyframes bob{0%,to{translate:0 0}50%{translate:0 -4px}}.quick-award{--s: 220px;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:320px}.quick-award h2,.quick-award p{margin:0}.qa-goal{width:260px;height:26px}.big-score{font-size:2.6rem;font-weight:700;color:#e85d75}.big-step{font-size:1.6rem;padding:10px 16px;border-radius:16px}.qa-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:320px}.qa-pool span{background:var(--pink-soft);border-radius:12px;padding:4px;line-height:0}.qa-revoked{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:.95rem}.qa-revoked span{display:inline-flex;align-items:center;gap:4px;background:var(--blue-soft);border-radius:999px;padding:2px 10px 2px 4px}.reward-icon{display:inline-block;vertical-align:middle}.reveal{position:relative;min-width:340px;max-width:92vw;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}.reveal h2{margin:0}.reveal-title{margin:0;color:var(--muted);font-size:1.1rem}.reveal-box{font-size:9rem;line-height:1.1;animation:box-shake .3s ease-in-out infinite;filter:drop-shadow(0 8px 0 rgba(0,0,0,.08))}@keyframes box-shake{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.05)}75%{transform:rotate(10deg) scale(1.1)}}.reveal-reel{width:180px;height:180px;display:grid;place-items:center;border-radius:32px;background:radial-gradient(circle,#fff7d1,#ffe5ef);box-shadow:inset 0 0 0 6px #ffd166,0 0 30px #ffd166}.reveal-slot{display:block;line-height:0;animation:reel .12s ease-out}@keyframes reel{0%{transform:translateY(-40%) scale(.8);opacity:.2}to{transform:none;opacity:1}}.reveal-win{position:relative;display:flex;align-items:flex-end;gap:12px}.reveal-item{line-height:0;animation:pop .6s cubic-bezier(.2,1.8,.4,1),bob 1.6s .6s ease-in-out infinite;filter:drop-shadow(0 0 14px #ffd166)}.reveal-name{font-size:2rem;color:#e85d75;animation:pop .5s .15s cubic-bezier(.2,1.6,.4,1) both}.reveal-others{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin:0}.confetti{position:absolute;left:50%;top:45%;pointer-events:none}.confetti span{position:absolute;font-size:1.8rem;transform:translate(-50%,-50%);animation:confetti var(--d) cubic-bezier(.1,.9,.3,1) forwards}@keyframes confetti{0%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.4);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a)) translateY(-190px) scale(1.1) rotate(200deg);opacity:0}}.islands{padding:8px}.islands:not(.scrolling){overflow:visible}.island{position:relative;z-index:var(--z, 1)}.kids{position:relative;z-index:1}.island-head{position:relative;z-index:3}.pg-top{position:relative;z-index:20}.kid-cell{position:relative;width:var(--s);height:calc(var(--s) * 1.12)}.kid{z-index:1;isolation:isolate;transition:scale .35s cubic-bezier(.2,1.4,.4,1)}.kframe{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:frame-in .6s cubic-bezier(.2,1.6,.4,1) both}.kframe.back{z-index:0}.kframe.front{z-index:2}.kframe i,.kframe>span{position:absolute}@keyframes frame-in{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.kid.f-flowers.hot-1{scale:.92}.kid.f-flowers.hot-2{scale:.9}.kid.f-flowers.hot-3{scale:.88}.kid.f-hero.hot-2{scale:.9}.kid.f-hero.hot-3{scale:.86}.kid.f-flowers.hot{background:linear-gradient(#fff7fb,#ffe8f2)}.kid.f-flowers.hot .kid-points{background:linear-gradient(#ff8fb8,#ff5d8f);box-shadow:0 2px #c9184a}.kid.f-hero.hot{background:linear-gradient(#fffbea,#fff0c2);animation:bob 2.4s ease-in-out infinite,hero-glow 1.1s ease-in-out infinite alternate}.kid.f-hero.hot .kid-points{background:linear-gradient(#ffc93c,#ff9500);box-shadow:0 2px #c46a00}@keyframes hero-glow{0%{box-shadow:0 0 0 3px #ffd166,0 0 calc(var(--s) * .06) #ffc828b3}to{box-shadow:0 0 0 4px #fff0a0,0 0 calc(var(--s) * .16) #ffd23c}}.flower{width:calc(var(--s) * var(--fs));height:calc(var(--s) * var(--fs));translate:-50% -50%;animation:breathe 2.2s ease-in-out infinite}.flower svg{display:block;width:100%;height:100%;animation:spin var(--spin, 6s) linear infinite}.flower.ccw svg{animation-direction:reverse}@keyframes breathe{50%{scale:1.1}}.petal{top:-8%;width:calc(var(--s) * .07);height:calc(var(--s) * .09);opacity:0;border-radius:50% 0;background:#ffafcc;box-shadow:inset -1px -1px #ff8fab;animation:petal-fall var(--t, 3s) linear var(--d, 0s) infinite}@keyframes petal-fall{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(calc(var(--s) * var(--sx, .06)),calc(var(--s) * 1.2)) rotate(220deg);opacity:0}}.butterfly{top:calc(var(--s) * -.16);left:0;width:calc(var(--s) * .24);height:calc(var(--s) * .2);animation:flutter 5s ease-in-out infinite}.butterfly.two{top:70%;animation-duration:6.5s;animation-delay:-3s}.butterfly svg{display:block;width:100%;height:100%}.butterfly .wl,.butterfly .wr{transform-box:fill-box;animation:flap .25s ease-in-out infinite alternate}.butterfly .wl{transform-origin:100% 50%}.butterfly .wr{transform-origin:0% 50%}@keyframes flap{to{transform:scaleX(.35)}}@keyframes flutter{0%,to{transform:translate(calc(var(--s) * -.1),calc(var(--s) * .06))}25%{transform:translate(calc(var(--s) * .3),calc(var(--s) * -.04))}50%{transform:translate(calc(var(--s) * .84),calc(var(--s) * .04)) scaleX(-1)}75%{transform:translate(calc(var(--s) * .44),calc(var(--s) * -.06)) scaleX(-1)}}@property --ray{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes ray-spin{to{--ray: 360deg}}.halo{top:-16%;right:-16%;bottom:-16%;left:-16%;border-radius:50%;background:radial-gradient(circle,#fffbe0 0,#fffbe0 26%,#ffe25af2 38%,#ffaa1499,#ff8c0000 70%);animation:halo-pulse 1.1s ease-in-out infinite alternate}.halo.mid{top:-10%;right:-10%;bottom:-10%;left:-10%;opacity:.6}.halo.soft{top:-6%;right:-6%;bottom:-6%;left:-6%;opacity:.7}@keyframes halo-pulse{to{scale:1.08;filter:brightness(1.12)}}.rays{top:-22%;right:-22%;bottom:-22%;left:-22%;border-radius:50%;opacity:.65;background:repeating-conic-gradient(from var(--ray),#ffe14d 0 7deg,#ffb703 7deg 11deg,transparent 11deg 24deg);-webkit-mask:radial-gradient(circle,#000 34%,rgba(0,0,0,.85) 52%,transparent 71%);mask:radial-gradient(circle,#000 34%,rgba(0,0,0,.85) 52%,transparent 71%);animation:ray-spin 6s linear infinite}.rays.big{top:-38%;right:-38%;bottom:-38%;left:-38%;opacity:1;animation-duration:4s}.rays.rev{top:-24%;right:-24%;bottom:-24%;left:-24%;opacity:1;animation-duration:9s;background:repeating-conic-gradient(from calc(var(--ray) * -1 + 12deg),rgba(255,255,230,.95) 0 3deg,transparent 3deg 24deg)}.bolt{width:calc(var(--s) * .16);height:calc(var(--s) * .32);filter:drop-shadow(0 0 calc(var(--s) * .03) #ffe14d) drop-shadow(0 0 1px #f4a300);animation:zap 1.3s steps(1) infinite}.bolt.left{left:calc(var(--s) * -.05)}.bolt.right{right:calc(var(--s) * -.05)}.bolt.flip{transform:scaleX(-1)}.bolt svg{display:block;width:100%;height:100%}@keyframes zap{0%,to{opacity:1}20%{opacity:0}30%{opacity:1}55%{opacity:.2}60%{opacity:1}}.island.hot{background:color-mix(in srgb,var(--tc) var(--tint),rgba(255,255,255,.92))}.island.hot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:25px;pointer-events:none;z-index:-1;box-shadow:0 0 0 var(--ring) var(--tc),0 0 calc(var(--glow) * .4) calc(var(--ring) * 1.3) color-mix(in srgb,var(--tc) 55%,#fff),0 0 var(--glow) calc(var(--glow) * .45) var(--tc);animation:island-glow var(--pulse) ease-in-out infinite alternate}.island.hot-1{--ring: 4px;--glow: 26px;--pulse: 2s;--tint: 16%}.island.hot-2{--ring: 6px;--glow: 40px;--pulse: 1.4s;--tint: 25%}.island.hot-3{--ring: 8px;--glow: 56px;--pulse: .9s;--tint: 34%}@keyframes island-glow{0%{opacity:.8}to{opacity:1}}.sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.sparkles svg{position:absolute;width:var(--sp);height:var(--sp);translate:-50% -50%;overflow:visible;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 2px #e09a00);animation:twinkle 1.6s ease-in-out infinite both}.sparkles.lv1{--sp: 24px}.sparkles.lv2{--sp: 30px}.sparkles.lv3{--sp: 36px}@keyframes twinkle{0%,to{scale:.45;rotate:0deg;opacity:.5}50%{scale:1;rotate:45deg;opacity:1}}.gstar{display:inline-block;width:1em;height:1em;margin-left:.12em;vertical-align:-.14em;transition:width .4s,height .4s}.gstar svg{display:block;width:100%;height:100%;overflow:visible}.gstar.lv1{width:1.2em;height:1.2em}.gstar.lv2{width:1.45em;height:1.45em}.gstar.lv3{width:1.7em;height:1.7em}.gstar.lv1 svg{animation:spin 4s linear infinite}.gstar.lv2 svg{animation:spin 2s linear infinite}.gstar.lv3 svg{animation:spin .9s linear infinite;filter:drop-shadow(0 0 4px #ffd166)}.rank-up{position:absolute;top:-18px;left:50%;font-size:2.2rem;z-index:3;pointer-events:none;animation:rank-up 2.4s ease-out forwards}@keyframes rank-up{0%{transform:translate(-50%,20px) scale(.4);opacity:0}20%{transform:translate(-50%) scale(1.3);opacity:1}80%{opacity:1}to{transform:translate(-50%,-30px) scale(1);opacity:0}}.pg-toasts{position:absolute;top:54px;left:50%;transform:translate(-50%);z-index:21;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:94%}.pg-toast{font-size:clamp(1.1rem,2.3vw,2.2rem);font-weight:700;padding:6px 24px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--ink);box-shadow:0 6px #0000001f,0 0 30px #fffc;animation:toast 3.2s cubic-bezier(.2,1.4,.4,1) forwards}.pg-toast.lv0{background:linear-gradient(90deg,#a2d2ff,#cdb4db)}.pg-toast.lv1{background:linear-gradient(90deg,#ffd166,#ff9e00)}.pg-toast.lv2{background:linear-gradient(90deg,#ff9e00,#ff006e);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.2)}.pg-toast.lv3{background:linear-gradient(90deg,#ff006e,#fb5607,#ffbe0b,#fb5607,#ff006e);background-size:300% 100%;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25);font-size:clamp(1.3rem,2.8vw,2.6rem);animation:toast 3.2s cubic-bezier(.2,1.4,.4,1) forwards,toast-fire 1s linear infinite}@keyframes toast{0%{transform:scale(.3) translateY(-30px);opacity:0}12%{transform:scale(1.08);opacity:1}20%{transform:none}85%{transform:none;opacity:1}to{transform:translateY(-20px) scale(.9);opacity:0}}@keyframes toast-fire{to{background-position:300% 0}}@media (prefers-reduced-motion: reduce){.kid,.cloud,.balloon,.sun,.kid-crown,.island.leader:after,.near em,.near .bar i,.kid-gift,.trash.armed,.reveal-box,.reveal-item,.confetti span,.island.hot:before,.gstar svg,.sparkles svg,.kframe,.kframe *,.kid.f-hero.hot,.avatar-pet,.start-btn,.start-art *,.title-sign{animation:none!important}}
