: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(16px + 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;font-family:Fraunces,serif;font-size:clamp(36px,11vw,60px);line-height:1}.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 .cta{flex:none;margin-top:0}.select .link{flex:none;margin-top:-6px}.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(10px + 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(132px + 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(12px + 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;flex:auto;height:52vh;min-height:0;position:relative}.celebrate.live{height:0}.celebrate video{object-fit:cover;object-position:50% 62%;width:100%;height:100%;display:block}.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;min-height:92px;color:var(--ink-dim);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;font-size:12.5px;display:flex}.entry.has{color:var(--ink);border-color:var(--edge);background:#f7c66a14}.entry-icon{object-fit:contain;width:48px;height:48px}.entry-icon.emoji{text-align:center;font-size:30px;line-height:48px}.entry:not(.has) .entry-icon{opacity:.4}@media (width>=600px){.select,.dock,.outcome,.book-scroll{width:100%;max-width:520px;margin-left:auto;margin-right:auto}}
