:root{--gold:#f7c66a;--ink:#fff7e8;--panel:#1c0c28b8;--panel-edge:#f7c66a59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:manipulation;background:#07040f;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-user-select:none;user-select:none;font-family:"Baloo 2",system-ui,sans-serif}#stage,#root{position:fixed;inset:0}#stage canvas{display:block}#root{pointer-events:none}#root>*{pointer-events:auto}:root{--gold:#f7c66a;--gold-deep:#c98a1f;--ink:#fff7e8;--ink-dim:#fff7e8b8;--plum:#220c2ec7;--plum-solid:#220c2e;--edge:#f7c66a61;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}.screen{pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.screen>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}.cta{color:#3a1405;letter-spacing:.3px;background:linear-gradient(#ffd98a,#f2a93b 55%,#d9821c);border:0;border-radius:999px;min-height:54px;margin:10px auto 0;padding:0 28px;font-size:20px;font-weight:800;transition:transform .12s;box-shadow:inset 0 0 0 2px #ffe9b480,0 8px 24px #ffa02859}.cta:active:not(:disabled){transform:scale(.96)}.link{color:var(--ink-dim);background:0 0;border:0;min-height:44px;margin:8px auto 0;font-size:16px}.select{padding:calc(28px + var(--safe-t)) 16px calc(20px + var(--safe-b));background:linear-gradient(#07040f8c 0%,#0000 30%,#07040fbf 75%);flex-direction:column;justify-content:space-between;gap:14px;display:flex}.title{text-align:center;pointer-events:none;flex:none}.title h1{background:linear-gradient(#fff3cf,#f7c66a 55%,#d98a1f);color:#0000;filter:drop-shadow(0 0 18px #ffb43c8c);-webkit-background-clip:text;background-clip:text;margin:0;padding:0 .08em .12em;font-family:Fraunces,serif;font-size:clamp(36px,11vw,60px);line-height:1.18}.title p{color:var(--ink-dim);margin:8px 0 0;font-size:17px}.kids{flex:auto;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:12px;min-height:0;max-height:64vh;display:grid}.kid-card{border:2px solid var(--edge);background:radial-gradient(120% 90% at 50% 20%, color-mix(in srgb, var(--tint) 45%, #2a1036), #14071c);border-radius:22px;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-height:0;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.kid-card.hi,.kid-card:active{border-color:var(--gold);box-shadow:0 0 28px color-mix(in srgb, var(--tint) 70%, transparent);transform:scale(1.04)}.kid-card .portrait{object-fit:cover;object-position:50% 12%;width:100%;height:100%;position:absolute;inset:0}.kid-card .portrait.emoji{color:var(--tint);text-shadow:0 0 24px var(--tint);place-items:center;font-family:Fraunces,serif;font-size:72px;display:grid}.kid-name{background:linear-gradient(#0000,#0a0410d9);width:100%;padding:22px 0 10px;font-size:22px;font-weight:800;position:relative}.select .home-actions .cta{flex:1.2;margin-top:0}.select .link{flex:none;margin-top:-6px}.home-links{flex:none;justify-content:center;align-items:center;gap:6px;margin-top:-6px;display:flex}.home-links .link{align-items:center;margin:0;padding:0 4px;text-decoration:none;display:inline-flex}.home-links .dot{color:var(--ink-dim);opacity:.6}.topbar{padding:calc(8px + var(--safe-t)) 12px 0;align-items:center;gap:8px;display:flex}.who{text-shadow:0 2px 8px #000;flex:1;font-size:20px;font-weight:800}.icon-btn{border:1px solid var(--edge);background:var(--plum);-webkit-backdrop-filter:blur(8px);border-radius:14px;min-width:44px;min-height:44px;padding:0 10px;font-size:18px}.count{color:var(--gold);font-weight:700}.dock{padding:8px 12px calc(18px + var(--safe-b));background:linear-gradient(#0000,#0a04108c 45%);flex-direction:column;gap:8px;margin-top:auto;display:flex}.dock-row{gap:10px;display:flex}.ghost-btn{border:1.5px solid var(--edge);-webkit-backdrop-filter:blur(6px);background:#220c2e73;border-radius:999px;flex:1;min-height:52px;font-size:17px;font-weight:800}.ghost-btn.nudge{border-color:var(--gold);animation:1.4s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:translateY(0);box-shadow:0 0 #f7c66a00}50%{transform:translateY(-4px);box-shadow:0 0 22px #f7c66a8c}}.cta.small{flex:1;min-height:52px;margin:0;padding:0 14px;font-size:18px}.cta.ready{animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:inset 0 0 0 2px #ffe9b499,0 0 30px #ffaa32bf}}.sheet{left:8px;right:8px;bottom:calc(140px + var(--safe-b));border:1px solid var(--edge);-webkit-backdrop-filter:blur(5px)saturate(1.2);background:#220c2e61;border-radius:22px;max-height:50vh;padding:8px 10px 10px;animation:.32s cubic-bezier(.2,.9,.3,1.15) sheet-in;position:absolute;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}.sheet-head{color:var(--ink-dim);justify-content:space-between;align-items:center;padding:0 2px 6px;font-size:15px;font-weight:700;display:flex}.sheet-close{border:1px solid var(--edge);background:#0a041080;border-radius:50%;width:40px;height:40px;font-size:16px}.sheet .ing{background:#ffffff1a;min-height:70px}.sheet .ing.on{background:#f7c66a4d}.thali{background:radial-gradient(at 50% 35%,#e7b956,#a8741c 70%,#6e4610);border-radius:999px;justify-content:center;gap:8px;margin:0 auto;padding:8px;display:flex;box-shadow:inset 0 0 0 3px #f7d47e,0 6px 18px #00000080}.slot{background:#502d0840;border:2px dashed #3c1e0573;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.slot.full{background:#fff5dcd9;border:2px solid #fff1c6;animation:.25s pop}.slot-icon{object-fit:contain;border-radius:50%;width:38px;height:38px}.slot-icon.emoji{place-items:center;font-size:24px;display:grid}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}}.grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.ing{background:#ffffff0f;border:1.5px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-height:76px;padding:4px 2px 5px;transition:transform .12s,background .15s,border-color .15s;display:flex;position:relative}.ing:active{transform:scale(.94)}.ing.on{border-color:var(--gold);background:#f7c66a38;box-shadow:0 0 14px #f7c66a73}.ing-icon{object-fit:contain;border-radius:12px;width:46px;height:46px}.ing-icon.emoji{text-align:center;font-size:32px;line-height:46px}.ing-name{text-align:center;font-size:11.5px;font-weight:600;line-height:1.1}.g-cracker .ing-icon.emoji{filter:drop-shadow(0 0 6px #ffc85a99)}.skip{right:14px;bottom:calc(18px + var(--safe-b));border:1px solid var(--edge);background:var(--plum);opacity:.8;border-radius:999px;min-height:44px;padding:0 16px;font-weight:700;position:absolute}.outcome{padding:calc(10px + var(--safe-t)) 12px calc(18px + var(--safe-b));background:#07040f59;justify-content:flex-end}.card{text-align:center;border:1.5px solid var(--edge);background:linear-gradient(#30103ce6,#180820f2);border-radius:28px;flex-direction:column;max-height:100%;animation:.6s cubic-bezier(.2,.9,.3,1.25) card-in;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #ffaa3c4d}@keyframes card-in{0%{opacity:0;transform:translateY(40px)scale(.85)}}.celebrate{background:#120818 50% 62%/cover no-repeat;flex:auto;height:52vh;min-height:0;position:relative}.celebrate.live{height:0}.celebrate video{object-fit:cover;object-position:50% 62%;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.celebrate video::-webkit-media-controls{-webkit-appearance:none;display:none!important}.celebrate video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.celebrate:after{content:"";pointer-events:none;background:linear-gradient(#0000 70%,#180820f2);position:absolute;inset:0}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;animation:3s linear infinite fall;position:absolute;top:-14px}@keyframes fall{0%{transform:translate(0)rotate(0)}50%{transform:translate(14px, 28vh) rotate(calc(var(--spin) / 2))}to{transform:translate(-10px, 58vh) rotate(var(--spin))}}.hero-wrap{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.made{z-index:2;border:2px solid var(--gold);background:radial-gradient(circle,#ffdc9659,#220c2ee6 70%);border-radius:50%;place-items:center;width:104px;height:104px;animation:.6s .4s both pop;display:grid;position:absolute;bottom:12px;right:12px;box-shadow:0 0 26px #ffbe5099}.celebrate.live+.made{margin:16px auto 4px;position:relative;bottom:auto;right:auto}.made-img{object-fit:contain;width:88px;height:88px}.made-img.emoji{text-align:center;font-size:54px;line-height:88px}.card-body{flex-direction:column;padding:4px 16px 10px;display:flex;position:relative}.badges{justify-content:center;gap:8px;min-height:24px;display:flex}.new{background:#ff3d6e;border-radius:8px;padding:2px 10px;font-size:13px;font-weight:800;animation:.5s .3s both pop}.perfect{color:#3a1405;background:linear-gradient(#ffe08a,#f2a93b);border-radius:8px;padding:2px 10px;font-size:13px;font-weight:800;animation:.5s .45s both pop}.card h2{color:var(--gold);margin:4px 0 0;font-family:Fraunces,serif;font-size:28px;line-height:1.1}.card p{margin:6px 4px 2px;font-size:16px;line-height:1.3}.badge{background:#3dc8ff26;border:1px solid #3dc8ff80;border-radius:12px;margin:6px auto 0;padding:5px 12px;font-size:14px}.tip{color:var(--ink-dim);margin-top:6px;font-size:13.5px}@media (height<=700px){.celebrate{height:44vh}.made{width:84px;height:84px}.made-img{width:70px;height:70px}}.book{-webkit-backdrop-filter:blur(10px);background:#0a0410db}.book-scroll{padding:8px 14px calc(20px + var(--safe-b));-webkit-overflow-scrolling:touch;overflow-y:auto}.book h3{color:var(--gold);margin:16px 0 8px;font-size:18px}.book h3 small{color:var(--ink-dim);margin-left:6px;font-weight:500}.book-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.entry{text-align:center;color:var(--ink-dim);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;font-size:12.5px;display:flex;overflow:hidden}.entry.has{color:var(--ink);border-color:var(--edge);box-shadow:0 0 14px #f7c66a2e}.entry-photo{aspect-ratio:1;background:#160a20;position:relative;overflow:hidden}.entry-img{object-fit:cover;width:100%;height:100%;display:block}.entry.cat-mithai .entry-img{object-fit:contain;background:radial-gradient(circle,#3a1d40,#160a20 70%);padding:6px}.entry-img.emoji{place-items:center;font-size:34px;display:grid}.entry:not(.has) .entry-img{filter:blur(7px)brightness(.35)saturate(.6);transform:scale(1.15)}.entry-lock{color:#fff0d2bf;place-items:center;font-family:Fraunces,serif;font-size:34px;display:grid;position:absolute;inset:0}.entry-name{padding:6px 4px 7px;line-height:1.15}.made-img.photo{object-fit:cover;border-radius:50%;width:100%;height:100%}@media (width>=600px){.select,.dock,.outcome,.book-scroll{width:100%;max-width:520px;margin-left:auto;margin-right:auto}}.now-playing{left:50%;bottom:calc(2px + var(--safe-b));letter-spacing:.3px;color:#fff7e861;pointer-events:none;white-space:nowrap;z-index:1;font-size:10.5px;font-weight:500;position:fixed;transform:translate(-50%)}.stars{letter-spacing:1px;line-height:1}.stars .on{color:#ffcf4a;text-shadow:0 0 8px #ffbe3cb3}.stars .off{color:#ffffff2e}.score-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.score-line .stars{animation:.5s .5s both pop}.score-line .pts{color:#ffe08a;font-family:Fraunces,serif;font-size:24px;animation:.5s .7s both pop}.score-line .parts{width:100%;color:var(--ink-dim);font-size:11.5px}.entry .stars{padding-bottom:6px}.home-actions{flex:none;justify-content:center;gap:10px;display:flex}.home-actions .cta{flex:1.2;margin:0}.challenge-btn{flex:1;min-height:54px;font-size:18px}.challenge{-webkit-backdrop-filter:blur(8px);background:#0a0410b8}.ch-scroll{padding:8px 14px calc(26px + var(--safe-b));flex-direction:column;gap:14px;display:flex;overflow-y:auto}.modes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode{text-align:center;background:#ffffff0d;border:1.5px solid #ffffff1f;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;display:flex}.mode.on{border-color:var(--gold);background:#f7c66a29;box-shadow:0 0 18px #f7c66a59}.m-icon{font-size:30px}.m-title{font-size:15px;font-weight:800}.m-sub{color:var(--ink-dim);font-size:11px;line-height:1.2}.rounds{justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.pill{border:1.5px solid var(--edge);background:#ffffff0d;border-radius:999px;min-width:52px;min-height:44px;font-size:18px;font-weight:800}.pill.on{color:#3a1405;background:linear-gradient(#ffd98a,#f2a93b);border-color:#0000}.kid-pick .kp-label{color:var(--ink-dim);margin-bottom:6px;font-weight:700}.kp-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.kp{background:radial-gradient(120% 90% at 50% 20%, color-mix(in srgb, var(--tint) 40%, #2a1036), #14071c);border:2px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;padding:0 0 6px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.kp img{aspect-ratio:3/4;object-fit:cover;object-position:50% 12%;width:100%}.kp.on{border-color:var(--gold);box-shadow:0 0 16px color-mix(in srgb, var(--tint) 70%, transparent);transform:scale(1.04)}.kp.taken:not(.on){opacity:.55}.online-actions{flex-direction:column;gap:10px;display:flex}.online-actions .cta{margin:0 auto}.or{text-align:center;color:var(--ink-dim);font-size:14px}.join-row{justify-content:center;gap:8px;display:flex}.code-input{border:1.5px solid var(--edge);width:150px;min-height:52px;color:var(--ink);letter-spacing:8px;text-align:center;text-transform:uppercase;background:#ffffff12;border-radius:14px;font:800 26px "Baloo 2",system-ui}.join-row .ghost-btn{flex:none;padding:0 22px}.lobby{text-align:center;padding-top:30px}.lobby .code{letter-spacing:10px;color:var(--gold);text-shadow:0 0 24px #ffbe5080;margin:8px 0;font-family:Fraunces,serif;font-size:64px}.big-icon{font-size:56px}.dim{color:var(--ink-dim)}.dots{justify-content:center;gap:8px;margin-top:10px;display:flex}.dots i{background:var(--gold);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite dot}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.scoreboard{border:1px solid var(--edge);background:var(--plum);-webkit-backdrop-filter:blur(8px);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:2px 10px;display:flex}.sb-p{opacity:.65;align-items:center;gap:6px;transition:opacity .2s;display:flex}.sb-p.active{opacity:1}.sb-p b{color:#ffe08a;text-align:center;min-width:26px;font-family:Fraunces,serif;font-size:20px}.sb-round{color:var(--ink-dim);white-space:nowrap;font-size:11.5px}.card-score{justify-content:center;margin:8px 0 2px;display:flex}.card-score .scoreboard{flex:none}.turn{background:linear-gradient(#07040f33,#07040f99);justify-content:space-between}.turn-card{margin:0 16px calc(26px + var(--safe-b));text-align:center;border:1.5px solid var(--edge);-webkit-backdrop-filter:blur(10px);background:#220c2e99;border-radius:26px;padding:18px 18px 14px;animation:.5s cubic-bezier(.2,.9,.3,1.25) card-in}.tc-head{letter-spacing:1px;text-transform:uppercase;color:var(--ink-dim);font-size:13px}.turn-card h2{color:var(--gold);margin:4px 0;font-family:Fraunces,serif;font-size:26px}.results{padding:calc(10px + var(--safe-t)) 12px calc(18px + var(--safe-b));background:#07040f8c;justify-content:flex-end}.celebrate.trophy{place-items:center;font-size:110px;display:grid}.final{justify-content:center;gap:10px;margin:8px 0;display:flex}.fp{background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:2px;max-width:150px;padding:8px;display:flex}.fp.win{border-color:var(--gold);background:#f7c66a24;box-shadow:0 0 18px #f7c66a59}.fp span{font-size:14px;font-weight:700}.fp b{color:#ffe08a;font-family:Fraunces,serif;font-size:26px}.rounds-table{flex-direction:column;gap:2px;margin:4px auto 6px;font-size:13px;display:flex}.rt-row{grid-template-columns:34px 1fr 1fr;align-items:center;gap:10px;display:grid}.rt-r{color:var(--ink-dim)}.rt-cell b{color:#ffe08a;font-weight:700}.results .celebrate{height:40vh}.face{background:radial-gradient(circle at 50% 30%,#4a2350,#1a0b22);border:2px solid #0000;border-radius:50%;flex:none;width:30px;height:30px;display:inline-block;position:relative;overflow:hidden}.face img{object-fit:cover;width:100%;height:100%;display:block}.sb-p.active .face{border-color:var(--gold);box-shadow:0 0 10px #f7c66a99}.face.tc-kid{border:3px solid var(--gold);width:92px;height:92px;margin:8px auto 4px;display:block;box-shadow:0 0 22px #f7c66a80}.fp .face{width:54px;height:54px}.celebrate-anim{object-fit:cover;object-position:50% 62%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.music-chip{-webkit-backdrop-filter:blur(8px);color:#fff7e8d1;z-index:6;background:#14081e8c;border:1px solid #f7c66a47;border-radius:999px;align-self:center;align-items:center;gap:8px;max-width:min(78vw,320px);min-height:32px;margin-top:8px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.music-chip .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.music-chip .caret{opacity:.6;font-size:11px}.music-chip .eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.music-chip .eq i{background:var(--gold);border-radius:1px;width:3px;height:4px}.music-chip.on .eq i{animation:.9s ease-in-out infinite eq}.music-chip.on .eq i:nth-child(2){animation-delay:-.3s}.music-chip.on .eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{0%,to{height:3px}50%{height:12px}}.music-scrim{z-index:40;background:#05020a40;position:fixed;inset:0}.music-panel{z-index:41;left:50%;top:calc(96px + var(--safe-t));border:1px solid var(--edge);-webkit-backdrop-filter:blur(14px);background:#1c0a26db;border-radius:22px;flex-direction:column;width:min(92vw,400px);max-height:min(68vh,560px);animation:.18s ease-out mp-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 50px #0000008c}@keyframes mp-in{0%{opacity:0;transform:translate(-50%,-8px)}}.mp-now{align-items:center;gap:10px;padding:12px 12px 4px 18px;display:flex}.mp-title{color:var(--gold);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:18px;font-weight:800;overflow:hidden}.mp-controls{border-bottom:1px solid #f7c66a26;justify-content:center;align-items:center;gap:10px;padding:6px 12px 12px;display:flex}.mp-btn{opacity:.55;background:#ffffff0d;border:1px solid #f7c66a38;border-radius:50%;width:44px;height:44px;font-size:17px}.mp-btn.on{opacity:1;border-color:var(--gold);background:#f7c66a33}.mp-btn:not([aria-pressed]){opacity:1}.mp-btn.big{color:#2a1206;background:linear-gradient(160deg,#f7c66a,#c98a1f);border:0;width:54px;height:54px;font-size:18px}.mp-list{-webkit-overflow-scrolling:touch;padding:4px 8px 12px;overflow-y:auto}.mp-group{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.8;padding:12px 10px 4px;font-size:11px;font-weight:700}.mp-track{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:15px;font-weight:600;display:flex}.mp-track img,.mp-dot{object-fit:cover;border-radius:50%;flex:none;width:30px;height:30px}.mp-dot{color:var(--gold);background:#f7c66a26;place-items:center;font-size:14px;display:grid}.mp-track.cur{color:#fff3c4;background:#f7c66a2e}
