.screen{padding:calc(var(--safe-t) + 10px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 10px) calc(var(--safe-l) + 16px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.topbar{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:56px;display:grid}.topbar__side{align-items:center;gap:10px;display:flex}.topbar__side--right{justify-content:flex-end}.topbar__center{align-items:center;gap:10px;font-size:20px;display:flex}.btn{min-height:var(--tap-min);border-radius:var(--r-pill);letter-spacing:.01em;will-change:transform;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-weight:900;transition:transform .12s,filter .12s,box-shadow .12s;display:inline-flex}.btn:active:not(:disabled){filter:brightness(1.1);transform:scale(.94)}.btn:disabled{opacity:.4}.btn--sm{min-height:48px;padding:0 18px;font-size:17px}.btn--md{font-size:20px}.btn--lg{min-height:84px;padding:0 40px;font-size:26px}.btn--wide{width:100%}.btn--primary{background:linear-gradient(160deg, var(--violet), var(--pink));box-shadow:0 8px #00000047,0 14px 28px #ec48994d}.btn--mint{background:linear-gradient(160deg, #4ade80, var(--mint));color:#06281c;box-shadow:0 8px #00000040}.btn--amber{background:linear-gradient(160deg, #fcd34d, var(--amber));color:#3b2606;box-shadow:0 8px #00000040}.btn--danger{background:linear-gradient(160deg,#fb7185,#e11d48);box-shadow:0 8px #00000040}.btn--ghost{background:var(--surface);border:2px solid #fff3}.home__who{border-radius:var(--r-pill);background:var(--surface);align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.home__avatar{font-size:30px;line-height:1}.home__name{font-size:17px}.home__stats{align-items:center;gap:10px;display:flex}.home__stat{border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;padding:8px 14px;font-size:17px}.home__body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;align-items:center;gap:18px;min-height:0;padding:10px 0 20px;display:flex;overflow-y:auto}.home__title{font-family:var(--font-letter);background:linear-gradient(120deg, #fde68a, var(--pink), var(--sky));color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0 0;font-size:clamp(42px,9vh,86px);line-height:1}.home__cta{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.home__section{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;margin:8px 0 0;font-size:16px}.home__modes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;width:100%;max-width:900px;display:grid}.home__mode{border-radius:var(--r-md);background:linear-gradient(165deg,#ffffff2e,#ffffff12);border:2px solid #ffffff24;flex-direction:column;align-items:center;gap:4px;min-height:132px;padding:16px 12px;transition:transform .12s;display:flex;box-shadow:0 6px #0000003d}.home__mode:active{transform:scale(.95)}.home__mode-emoji{font-size:40px;line-height:1}.home__mode-title{text-align:center;font-size:17px}.home__mode-blurb{color:var(--ink-faint);text-align:center;font-size:13px;font-weight:600;line-height:1.25}.home__lesson{border-radius:var(--r-lg);text-align:left;background:linear-gradient(165deg,#fbbf248c,#f59e0b59);border:3px solid #fde68a;align-items:center;gap:16px;width:min(100%,560px);padding:16px 20px;transition:transform .12s;display:flex;box-shadow:0 8px #0000003d}.home__lesson:active{transform:scale(.97)}.home__lesson-emoji{font-size:44px;line-height:1}.home__lesson-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.home__lesson-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:13px;font-weight:700}.home__lesson-title{font-family:var(--font-letter);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;font-size:30px;line-height:1.1;overflow:hidden}.home__lesson-go{font-size:30px}.home__bar{border-radius:var(--r-pill);background:#ffffff1f;width:min(100%,560px);height:12px;overflow:hidden}.home__bar-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, #fde68a, var(--mint));height:100%;transition:width .4s;display:block}.home__mode--locked{opacity:.5;box-shadow:none}.home__stat--dim{color:var(--ink-faint);font-size:14px}.tile{aspect-ratio:1;border-radius:var(--r-md);transform:rotate(var(--tilt,0deg));font-family:var(--font-letter);background:linear-gradient(165deg,#ffffff38,#ffffff14);border:3px solid #ffffff2e;place-items:center;font-weight:800;line-height:1;transition:transform .14s,background .2s,border-color .2s,box-shadow .2s,opacity .2s;display:grid;box-shadow:0 6px #00000040}.tile__glyph{text-shadow:0 3px #00000038;display:block;transform:translateY(-.04em)}.tile--sm{width:clamp(64px,10vh,104px);font-size:clamp(34px,5.6vh,58px)}.tile--md{width:clamp(104px,15vh,150px);font-size:clamp(58px,8.5vh,84px)}.tile--lg{width:clamp(150px,22vh,220px);font-size:clamp(88px,13vh,130px)}.tile--xl{border-radius:var(--r-lg);width:min(46vh,300px);font-size:min(30vh,190px)}.tile:not(.tile--static):active{transform:rotate(var(--tilt,0deg)) scale(.92)}.tile--correct{background:linear-gradient(165deg, #6ee7b7, var(--ok-deep));border-color:#a7f3d0;animation:.45s tile-pop}.tile--wrong{background:linear-gradient(165deg, #fda4af, var(--no-deep));border-color:#fecdd3;animation:.4s tile-shake}.tile--hint{border-color:var(--amber);animation:1.1s ease-in-out infinite tile-glow;box-shadow:0 6px #00000040,0 0 0 6px #fbbf2459}.tile--dim{opacity:.32}@keyframes tile-pop{0%{transform:rotate(var(--tilt,0deg)) scale(1)}45%{transform:rotate(var(--tilt,0deg)) scale(1.18)}to{transform:rotate(var(--tilt,0deg)) scale(1)}}@keyframes tile-shake{0%,to{transform:rotate(var(--tilt,0deg)) translateX(0)}20%{transform:rotate(var(--tilt,0deg)) translateX(-9px)}45%{transform:rotate(var(--tilt,0deg)) translateX(9px)}70%{transform:rotate(var(--tilt,0deg)) translateX(-5px)}}@keyframes tile-glow{0%,to{box-shadow:0 6px #00000040,0 0 0 5px #fbbf2440}50%{box-shadow:0 6px #00000040,0 0 0 12px #fbbf241f}}.mode{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:clamp(12px,2.4vh,26px);width:100%;min-height:0;padding-bottom:6px;display:flex}.mode__prompt{align-items:center;gap:14px;display:flex}.mode__speaker{background:linear-gradient(160deg, var(--sky), #2563eb);border-radius:50%;place-items:center;width:92px;height:92px;font-size:44px;transition:transform .15s;display:grid;box-shadow:0 8px #0000004d}.mode__speaker:active{transform:scale(.93)}.mode__speaker--playing{animation:.9s ease-in-out infinite speaker-pulse}@keyframes speaker-pulse{0%,to{box-shadow:0 8px #0000004d,0 0 #38bdf880}50%{box-shadow:0 8px #0000004d,0 0 0 18px #38bdf800}}.mode__hint{color:var(--ink-dim);text-align:center;min-height:22px;margin:0;font-size:17px}.mode__grid{place-content:center;gap:clamp(10px,2vw,20px);display:grid}.mode__grid--1,.mode__grid--2{grid-template-columns:repeat(2,auto)}.mode__grid--3{grid-template-columns:repeat(3,auto)}.mode__grid--4{grid-template-columns:repeat(2,auto)}.mode__grid--5,.mode__grid--6{grid-template-columns:repeat(3,auto)}.mode__grid--7,.mode__grid--8{grid-template-columns:repeat(4,auto)}.mode__grid--9{grid-template-columns:repeat(3,auto)}.mode__grid--10,.mode__grid--11,.mode__grid--12{grid-template-columns:repeat(4,auto)}@media (orientation:landscape){.mode__grid--4{grid-template-columns:repeat(4,auto)}.mode__grid--5,.mode__grid--6{grid-template-columns:repeat(3,auto)}.mode__grid--9{grid-template-columns:repeat(5,auto)}.mode__grid--10,.mode__grid--11,.mode__grid--12{grid-template-columns:repeat(6,auto)}}.mode__big{font-family:var(--font-letter);text-shadow:0 6px #00000040;font-size:min(34vh,42vw);font-weight:800;line-height:1}.mode__word{color:var(--ink);margin:0;font-size:clamp(22px,4vh,34px)}.mode__emoji{font-size:clamp(64px,16vh,150px);line-height:1}.mode__row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.choose__glyph{font-family:var(--font-letter);text-shadow:0 8px #00000040;font-size:min(32vh,40vw);font-weight:800;line-height:1;transition:transform .3s,color .3s}.choose__glyph--won{color:var(--mint);transform:scale(1.12)}.choose__row{flex-wrap:wrap;justify-content:center;gap:clamp(14px,4vw,34px);display:flex}.choose__opt{border-radius:var(--r-md);background:linear-gradient(160deg,#ffffff3d,#ffffff1a);border:3px solid #fff3;place-items:center;width:clamp(88px,15vh,120px);height:clamp(88px,15vh,120px);font-size:clamp(38px,7vh,54px);transition:transform .12s,background .2s,opacity .25s;display:grid;box-shadow:0 7px #00000047}.choose__opt:active:not(:disabled){transform:scale(.93)}.choose__opt--armed{background:linear-gradient(160deg, #6ee7b7, var(--ok-deep));border-color:#a7f3d0}.choose__opt--dead{opacity:.28}.choose__opt--hint{border-color:var(--amber);animation:1.1s ease-in-out infinite choose-glow}@keyframes choose-glow{0%,to{box-shadow:0 7px #00000047,0 0 0 5px #fbbf244d}50%{box-shadow:0 7px #00000047,0 0 0 14px #fbbf2414}}.mic{flex-direction:column;align-items:center;gap:10px;display:flex}.mic__btn{background:linear-gradient(160deg, var(--violet), var(--pink));border-radius:50%;place-items:center;width:132px;height:132px;transition:transform .12s,background .25s;display:grid;position:relative;box-shadow:0 10px #0000004d,0 18px 36px #ec489959}.mic__btn:active:not(:disabled){transform:scale(.94)}.mic__icon{font-size:58px;line-height:1}.mic__ring{opacity:0;border:4px solid #ffffff80;border-radius:50%;position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px}.mic__btn--listening,.mic__btn--hearing{background:linear-gradient(160deg,#f472b6,#ef4444)}.mic__btn--listening .mic__ring,.mic__btn--hearing .mic__ring{animation:1.4s ease-out infinite mic-pulse}.mic__btn--listening .mic__ring--slow,.mic__btn--hearing .mic__ring--slow{animation-delay:.7s}.mic__btn--hearing{animation:.6s ease-in-out infinite mic-bounce}.mic__btn--thinking{background:linear-gradient(160deg,#64748b,#334155)}.mic__btn--blocked{background:#ffffff1f}.mic__label{color:var(--ink-dim);text-align:center;min-height:24px;margin:0;font-size:18px}@keyframes mic-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}@keyframes mic-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.sayit__ring{background:radial-gradient(circle at 50% 40%,#8b5cf666,#0000 70%);border:6px solid #ffffff38;border-radius:50%;place-items:center;width:min(34vh,60vw);height:min(34vh,60vw);display:grid}.sayit__glyph{font-family:var(--font-letter);text-shadow:0 6px #00000040;font-size:min(22vh,38vw);font-weight:800;line-height:1}.sayit__echo{flex-direction:column;align-items:center;gap:12px;display:flex}.kbd{flex-direction:column;align-items:center;gap:10px;width:100%;padding:10px 0 2px;display:flex}.kbd--disabled{opacity:.45;pointer-events:none}.kbd__row{justify-content:center;gap:10px;width:100%;display:flex}.kbd__key{border-radius:var(--r-sm);min-width:0;max-width:86px;height:clamp(52px,8.5vh,76px);font-family:var(--font-letter);background:linear-gradient(170deg,#ffffff3d,#ffffff1a);border:2px solid #ffffff2e;flex:1 1 0;font-size:clamp(22px,3.6vh,34px);font-weight:800;transition:transform .1s,background .15s;box-shadow:0 5px #0000004d}.kbd__key:active{transform:translateY(4px);box-shadow:0 1px #0000004d}.kbd__key--muted{opacity:.35}.kbd__key--hint{background:linear-gradient(170deg, #fde68a, var(--amber));color:#3b2606;animation:1s ease-in-out infinite kbd-hint}@keyframes kbd-hint{0%,to{box-shadow:0 5px #0000004d,0 0 0 4px #fbbf244d}50%{box-shadow:0 5px #0000004d,0 0 0 11px #fbbf241a}}.type{justify-content:space-between;padding-top:8px}.type__slot{border-radius:var(--r-lg);width:clamp(110px,22vh,170px);height:clamp(110px,22vh,170px);font-family:var(--font-letter);background:#ffffff0f;border:5px dashed #ffffff4d;place-items:center;font-size:clamp(64px,13vh,110px);font-weight:800;line-height:1;transition:background .2s,border-color .2s,transform .15s;display:grid}.type__slot--ghost{color:#ffffff59}.type__slot--ok{background:linear-gradient(160deg, #6ee7b7, var(--ok-deep));border-style:solid;border-color:#a7f3d0;transform:scale(1.06)}.type__slot--no{background:linear-gradient(160deg, #fda4af, var(--no-deep));border-style:solid;border-color:#fecdd3;animation:.36s type-shake}@keyframes type-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}60%{transform:translate(8px)}}.hunt{justify-content:flex-start;gap:12px}.hunt__bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.hunt__target{border-radius:var(--r-md);background:linear-gradient(160deg, #fde68a, var(--amber));color:#3b2606;width:78px;height:78px;font-family:var(--font-letter);place-items:center;font-size:48px;font-weight:800;display:grid;box-shadow:0 6px #00000047}.hunt__basket{gap:7px;display:flex}.hunt__pip{border:2px solid #fff6;border-radius:50%;width:15px;height:15px}.hunt__pip--full{background:var(--mint);border-color:var(--mint)}.hunt__field{flex:auto;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));align-content:center;gap:8px;width:100%;min-height:0;display:grid;overflow:hidden}.hunt__cell{aspect-ratio:1;border-radius:var(--r-sm);background:#ffffff12;border:2px solid #ffffff1a;place-items:center;font-size:clamp(26px,4.4vh,42px);font-weight:800;transition:opacity .3s,transform .25s;display:grid}.hunt__cell--caught{opacity:0;pointer-events:none;transform:scale(1.5)rotate(20deg)}.hunt__cell--faded{opacity:.22}.hunt__cell--glow{border-color:var(--amber);box-shadow:0 0 0 4px #fbbf244d}.pairs{justify-content:center;gap:14px}.pairs__grid{justify-content:center;gap:clamp(8px,1.6vw,16px);display:grid}.pairs__grid--4{grid-template-columns:repeat(4,auto)}.pairs__grid--5{grid-template-columns:repeat(5,auto)}.pairs__grid--6,.pairs__grid--8{grid-template-columns:repeat(4,auto)}@media (orientation:landscape){.pairs__grid--6{grid-template-columns:repeat(6,auto)}.pairs__grid--8{grid-template-columns:repeat(8,auto)}}.pairs__card{aspect-ratio:3/4;border-radius:var(--r-md);background:linear-gradient(160deg, var(--violet), #5b21b6);width:clamp(64px,11.5vh,118px);font-family:var(--font-letter);border:3px solid #fff3;place-items:center;font-size:clamp(30px,6vh,56px);font-weight:800;transition:transform .25s,background .25s,opacity .3s;display:grid;box-shadow:0 6px #0000004d}.pairs__card--open{background:linear-gradient(160deg,#ffffff47,#ffffff1f);transform:rotateY(0)scale(1.04)}.pairs__card--matched{background:linear-gradient(160deg, #6ee7b7, var(--ok-deep));opacity:.85}.pairs__face{pointer-events:none}.trace{border-radius:var(--r-lg);touch-action:none;background:#ffffff12;border:3px dashed #ffffff38;width:min(60vh,92vw);height:min(60vh,92vw);margin:0 auto;position:relative;overflow:hidden}.trace__ghost{font-family:var(--font-letter);color:#ffffff29;-webkit-text-stroke:4px #ffffff59;pointer-events:none;place-items:center;font-size:min(48vh,74vw);font-weight:800;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.trace__ink{touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}.trace__ghost--hidden{opacity:0;transition:opacity .8s 1s}.trace-mode{gap:10px}.trace-mode .mode__prompt{flex-direction:column;gap:6px}.fsound{gap:clamp(10px,2vh,22px)}.fsound__glyph{font-family:var(--font-letter);text-shadow:0 6px #00000040;font-size:min(24vh,34vw);font-weight:800;line-height:1}.fsound__pic{border-radius:var(--r-md);background:linear-gradient(160deg,#ffffff38,#ffffff14);border:3px solid #ffffff2e;place-items:center;width:clamp(96px,17vh,150px);height:clamp(96px,17vh,150px);transition:transform .12s,opacity .25s;display:grid;box-shadow:0 6px #00000047}.fsound__pic:active:not(:disabled){transform:scale(.93)}.fsound__pic--dead{opacity:.25}.fsound__pic--hint{border-color:var(--amber);box-shadow:0 6px #00000047,0 0 0 6px #fbbf244d}.fsound__emoji{font-size:clamp(50px,9vh,86px);line-height:1}.word{max-width:min(92vw,900px);font-family:var(--font-letter);letter-spacing:.08em;text-shadow:0 5px #00000040;white-space:nowrap;justify-content:center;align-items:center;gap:.04em;font-size:clamp(56px,12vh,112px);font-weight:800;line-height:1;display:flex}.word__unit{border-radius:.14em;padding:0 .04em;transition:background .2s,color .2s;display:inline-block}.word__unit--lit{color:#fde68a;background:#fbbf2459}.word__gap{border:3px dashed var(--amber);background:#ffffff0f;border-radius:.14em;place-items:center;animation:1.6s ease-in-out infinite gap-breathe;display:inline-grid;position:relative}.word__gap-ghost{visibility:hidden}.word__gap-fill{place-items:center;animation:.45s tile-pop;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.word__gap-fill--wrong{color:var(--coral)}.word__gap--filled{border-style:solid;border-color:var(--mint);animation:none}@keyframes gap-breathe{0%,to{border-color:#fbbf2480}50%{border-color:#fbbf24}}.rail{justify-content:center;align-items:center;gap:12px;max-width:min(92vw,900px);padding:18px 12px 26px;display:flex;position:relative}.rail:after{content:"";background:var(--ink-faint);border-radius:3px;height:6px;position:absolute;bottom:8px;left:8%;right:8%}.card{border-radius:var(--r-md);min-width:clamp(72px,13vw,128px);height:clamp(88px,15vh,140px);font-family:var(--font-letter);background:linear-gradient(165deg,#8b5cf68c,#8b5cf640);border:3px solid #ffffff38;place-items:center;padding:0 clamp(10px,2vw,22px);font-size:clamp(40px,9vw,76px);font-weight:800;line-height:1;transition:transform .52s cubic-bezier(.35,.9,.25,1),border-radius .14s,background .3s;display:grid;box-shadow:0 6px #00000040}.card--pulse{animation:.26s card-pulse;box-shadow:0 6px #00000040,0 0 0 6px #fbbf2466}@keyframes card-pulse{50%{transform:scale(1.06)}}.card--joined{background:linear-gradient(165deg, #6ee7b7, var(--ok-deep));animation:.24s card-bounce}@keyframes card-bounce{50%{transform:scale(1.08)}}.rail--joining .card--left{transform:translateX(var(--shift));border-top-right-radius:0;border-bottom-right-radius:0}.rail--joining .card--right{transform:translateX(calc(var(--shift) * -1));border-top-left-radius:0;border-bottom-left-radius:0}.rail__join{min-width:64px;color:var(--amber);align-self:stretch;place-items:center;font-size:34px;transition:opacity .12s;animation:1.1s ease-in-out infinite join-pulse;display:grid}.rail__join--gone{opacity:0;pointer-events:none}@keyframes join-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.slots{justify-content:center;gap:10px;transition:gap .4s;display:flex}.slots--closed{gap:0}.slot{border-radius:var(--r-sm);width:clamp(64px,11vw,104px);height:clamp(80px,14vh,128px);font-family:var(--font-letter);background:#ffffff0d;border:3px dashed #ffffff59;place-items:center;font-size:clamp(38px,8vw,66px);font-weight:800;line-height:1;transition:border-color .2s,background .2s,border-radius .4s;display:grid}.slot--ghost{color:#ffffff47}.slot--filled{background:#8b5cf659;border-style:solid;border-color:#ffffff4d;animation:.4s tile-pop}.slot--flash{border-color:var(--coral);animation:.4s tile-shake}.slots--closed .slot{border-color:var(--mint);background:#34d39959;border-radius:0}.slots--closed .slot:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.slots--closed .slot:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.bank{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.pics{flex-wrap:wrap;justify-content:center;gap:14px;transition:opacity .3s;display:flex}.pics--waiting{opacity:.4;pointer-events:none}.word--read{cursor:pointer;transition:transform .15s}.word--read:active{transform:scale(.97)}.twins__intro{align-items:center;gap:32px;display:flex}.twins__glyph{font-family:var(--font-letter);text-shadow:0 6px #00000040;font-size:clamp(80px,22vh,180px);font-weight:800;line-height:1}.twins__glyph--mirror{animation:2.4s ease-in-out infinite twins-mirror}@keyframes twins-mirror{0%,40%{transform:scaleX(1)}60%,to{transform:scaleX(-1)}}.twins__pips{gap:7px;display:flex}.sprog{justify-content:center;align-items:center;gap:7px;display:flex}.sprog__dot{background:#ffffff38;border-radius:50%;width:13px;height:13px;transition:transform .2s,background .2s}.sprog__dot--current{background:var(--amber);transform:scale(1.45);box-shadow:0 0 0 4px #fbbf2438}.sprog__dot--good{background:var(--mint)}.sprog__dot--retry{background:var(--sky)}.done__nuts{flex-wrap:wrap;justify-content:center;gap:10px;max-width:420px;min-height:52px;font-size:40px;line-height:1;display:flex}.done__nut{animation:.5s backwards done-drop;position:relative}.done__nut em{font-style:normal;font-family:var(--font-ui);color:var(--amber);text-shadow:0 1px #00000080;font-size:15px;font-weight:900;position:absolute;bottom:-6px;right:-8px}.done__nut--sum{font-size:34px;font-family:var(--font-ui);font-weight:900}.done__purse{font-variant-numeric:tabular-nums;margin:0;font-size:28px}.gold{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.gold__glyph{font-family:var(--font-letter);background:linear-gradient(160deg,#fde68a,#f59e0b);color:#0000;filter:drop-shadow(0 8px #0000004d);-webkit-background-clip:text;background-clip:text;font-size:min(48vh,60vw);font-weight:800;line-height:1;animation:.8s done-pop}.gold__star{font-size:64px;line-height:1;animation:1.6s ease-in-out infinite gold-spin}.gold__hint{color:var(--ink-faint);margin-top:12px;font-size:16px}@keyframes gold-spin{0%,to{transform:rotate(-10deg)scale(1)}50%{transform:rotate(10deg)scale(1.15)}}.session--done .done__badge{font-size:clamp(56px,11vh,96px)}.session--done .done__actions{flex-direction:column;align-items:stretch;width:min(360px,100%)}.done__stars{gap:6px;font-size:clamp(48px,9vh,80px);line-height:1;display:flex}.done__star{color:#ffffff38}.done__star--on{color:#fde68a;text-shadow:0 0 18px #fde68acc;animation:.5s cubic-bezier(.2,1.4,.4,1) both done-star}@keyframes done-star{0%{opacity:0;transform:scale(.2)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}.done__level{color:var(--ink-faint);margin:-6px 0 4px;font-weight:700}.done__nut--none{color:var(--ink-faint);font-size:16px}.session__count{color:var(--ink-faint);font-size:15px}.session__empty{color:var(--ink-dim);flex:1;place-items:center;display:grid}.session--done{justify-content:center;align-items:center}.done{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.done__badge{font-size:clamp(80px,18vh,150px);line-height:1;animation:.7s done-pop}.done__title{font-family:var(--font-letter);margin:0;font-size:clamp(38px,8vh,72px)}.done__line{color:var(--ink-dim);margin:0;font-size:20px}.done__seeds{gap:12px;font-size:46px;display:flex}.done__seed{animation:.6s backwards done-drop}.done__seed:nth-child(2){animation-delay:.15s}.done__seed:nth-child(3){animation-delay:.3s}.done__hint{color:var(--ink-faint);margin:0 0 10px}@keyframes done-drop{0%{opacity:0;transform:translateY(-40px)scale(.5)}to{opacity:1;transform:translateY(0)scale(1)}}.done__actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.sheet{z-index:20;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet__scrim{cursor:default;background:#0a061e8c;position:absolute;top:0;bottom:0;left:0;right:0}.sheet__panel{width:100%;max-height:68%;padding:18px calc(var(--safe-l) + 18px) calc(var(--safe-b) + 18px) calc(var(--safe-r) + 18px);border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(#3a2a7a,#241a55);flex-direction:column;gap:14px;animation:.28s sheet-up;display:flex;position:relative;overflow-y:auto;box-shadow:0 -10px 40px #00000073}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (orientation:landscape){.sheet{justify-content:flex-end;align-items:stretch}.sheet__panel{border-radius:var(--r-lg) 0 0 var(--r-lg);width:440px;max-height:none;padding-top:calc(var(--safe-t) + 18px);animation:.28s sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}}.sheet__close{background:#ffffff1f;border-radius:50%;width:56px;height:56px;font-size:22px;position:absolute;top:10px;right:12px}.sheet__head{align-items:center;gap:12px;padding-right:60px;display:flex}.sheet__word{margin-left:6px;font-size:20px}.sheet__rows{flex-direction:column;gap:8px;display:flex}.sheet__row{border-radius:var(--r-md);background:#ffffff12;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.sheet__row--pulse{animation:1.4s ease-in-out infinite sheet-pulse}@keyframes sheet-pulse{0%,to{background:#ffffff12}50%{background:#fbbf2438}}.sheet__glyph{place-items:center;width:72px;height:72px;display:grid}.sheet__glyph--dim{opacity:.35;filter:grayscale(.6)}.sheet__name{font-size:19px}.sheet__control{justify-content:flex-end;align-items:center;min-width:96px;display:flex}.sheet__owned{color:var(--mint);font-size:26px}.sheet__locked{opacity:.8;font-size:24px}.sheet__short{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.sheet__ghosts{opacity:.45;letter-spacing:-2px;font-size:14px}.sheet__foot{padding-top:4px}.buy{text-align:center;align-items:center}.buy__hero{flex-direction:column;align-items:center;gap:6px;padding-top:8px;display:flex}.buy__emoji{filter:drop-shadow(0 10px 12px #0006);font-size:96px;line-height:1.1}.buy__emoji--dim{filter:grayscale()opacity(.5)}.buy__name{text-transform:capitalize;font-size:24px}.buy__price{border-radius:var(--r-pill);background:#fbbf2440;padding:6px 16px;font-size:22px}.buy__note{color:var(--ink-faint);margin:0;font-size:16px;font-weight:700}.buy__actions{justify-content:center;gap:12px;padding-bottom:6px;display:flex}.city__purse{align-items:center;gap:8px;display:flex}.city__pill{border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;font-variant-numeric:tabular-nums;padding:8px 14px;font-size:17px}.city__pill--dim{color:var(--ink-faint);padding:6px 10px;font-size:14px}.city__map{flex:0 auto;justify-content:center;align-items:flex-start;min-height:0;display:flex}.city__spacer{flex:1 1 0}.map{aspect-ratio:3/2;border-radius:var(--r-lg);-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;margin:0 auto;display:block;box-shadow:0 10px 40px #00000059}.map text{pointer-events:none}.plot,.sign{cursor:pointer;pointer-events:bounding-box}.plot text{pointer-events:auto}.sign__board{fill:#fef3c7;stroke:#b45309;stroke-width:3px}.sign__post{stroke:#92400e;stroke-width:6px;stroke-linecap:round}.sign__price{fill:#78350f;font-weight:800}.sign--live .sign__board{animation:1.6s ease-in-out infinite sign-pulse}.sign--short{opacity:.75}.sign--short .sign__ghost{opacity:.5}.sign--locked{opacity:.32}@keyframes sign-pulse{0%,to{stroke:#b45309;filter:none}50%{stroke:#fbbf24;filter:drop-shadow(0 0 8px #fbbf24)}}.map .plot,.map .spin,.map .hover,.map .sway,.map .animal,.map .rocket,.map .tractor,.map .balloon,.map .bounce-ball,.map .twinkle,.map .beam,.map .sun,.map .burst{transform-box:fill-box;transform-origin:50%}.plot--pop{animation:.7s cubic-bezier(.2,1.4,.4,1) both plot-pop}.plot--bounce{animation:.5s both plot-bounce}@keyframes plot-pop{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes plot-bounce{0%{transform:scale(1)}35%{transform:scale(1.25)rotate(-6deg)}70%{transform:scale(.92)rotate(4deg)}to{transform:scale(1)}}.spin{animation:18s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hover{animation:2.4s ease-in-out infinite hover}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.sway{animation:4s ease-in-out infinite sway}.sway--late{animation-delay:-2s}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.animal{animation:3s ease-in-out infinite peek}.animal--2{animation-delay:-1s}.animal--3{animation-delay:-2s}@keyframes peek{0%,70%,to{transform:translateY(0)}80%{transform:translateY(-10px)}90%{transform:translateY(0)}}.tractor{animation:8s ease-in-out infinite tractor}@keyframes tractor{0%,to{transform:translate(-24px)scaleX(1)}49%{transform:translate(24px)scaleX(1)}51%{transform:translate(24px)scaleX(-1)}99%{transform:translate(-24px)scaleX(-1)}}.bounce-ball{animation:1.2s ease-in-out infinite ball}@keyframes ball{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.twinkle{animation:1.4s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.rocket--launch{animation:3.4s cubic-bezier(.5,0,.9,.4) both launch}@keyframes launch{0%{transform:translateY(0)}10%{transform:translateY(4px)rotate(-2deg)}20%{transform:translateY(2px)rotate(2deg)}to{transform:translateY(-900px)}}.flame{animation:.15s ease-in-out infinite alternate flame}@keyframes flame{0%{transform:scale(1)}to{transform:scale(1.3)}}.balloon{animation:14s linear infinite rise}.balloon--2{animation-delay:-5s}.balloon--3{animation-delay:-9s}@keyframes rise{0%{opacity:0;transform:translateY(0)translate(0)}8%{opacity:1}50%{transform:translateY(-300px)translate(30px)}92%{opacity:1}to{opacity:0;transform:translateY(-620px)translate(-10px)}}.smoke{animation:3s ease-out infinite smoke}.smoke--2{animation-delay:-1.5s}@keyframes smoke{0%{opacity:.8;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)translate(10px)}}.drop{animation:1.2s ease-in-out infinite drop}.drop--1{animation-delay:-.4s}.drop--2{animation-delay:-.8s}@keyframes drop{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.beam{animation:6s linear infinite beam}@keyframes beam{to{transform:rotate(360deg)}}.sun{animation:20s ease-in-out infinite sun}@keyframes sun{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.star{animation:2.2s ease-in-out infinite star}@keyframes star{0%,to{opacity:.35}50%{opacity:1}}.cloud{animation:linear infinite drift}.cloud--1{animation-duration:90s;animation-delay:-20s}.cloud--2{animation-duration:120s;animation-delay:-70s}.cloud--3{animation-duration:105s;animation-delay:-45s}@keyframes drift{0%{transform:translate(-120px)}to{transform:translate(1320px)}}.bird{animation:26s linear infinite fly}.bird--2{animation-delay:-11s}@keyframes fly{0%{transform:translate(1260px,90px)}25%{transform:translate(940px,60px)}50%{transform:translate(620px,100px)}75%{transform:translate(300px,50px)}to{transform:translate(-60px,80px)}}.river-flow{animation:3s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-70px}}.burst line{transform-box:fill-box;transform-origin:0 0;animation:1.4s ease-out both burst}@keyframes burst{0%{opacity:1;transform:scale(.1)}to{opacity:0;transform:scale(1.4)}}@media (prefers-reduced-motion:reduce){.map *{animation:none!important}}.shelf{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:none;gap:10px;padding:12px 4px 6px;display:flex;overflow-x:auto}.shelf::-webkit-scrollbar{display:none}.shelf--done{color:var(--ink-faint);justify-content:center;font-weight:700}.shelf__card{border-radius:var(--r-md);background:#ffffff14;border:2px solid #ffffff1f;flex-direction:column;flex:none;align-items:center;gap:2px;width:84px;padding:10px 6px 8px;transition:transform .12s;display:flex}.shelf__card:active{transform:scale(.94)}.shelf__card--forsale{background:linear-gradient(165deg,#fbbf2473,#f59e0b40);border-color:#fde68a}.shelf__card--short{opacity:.8}.shelf__card--locked{opacity:.45}.shelf__emoji{font-size:34px;line-height:1.1}.shelf__price{white-space:nowrap;font-size:14px;font-weight:800}.parents__title{font-size:20px}.parents__gate{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.parents__gate-title{color:var(--ink-dim);margin:0;font-size:18px}.parents__gate-sum{font-family:var(--font-letter);margin:0;font-size:56px}.parents__gate-input{width:160px;min-height:var(--tap-min);border-radius:var(--r-pill);color:var(--ink);text-align:center;background:#ffffff1a;border:2px solid #ffffff3d;font-size:28px;font-weight:800}.parents__body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:14px;width:min(760px,100%);min-height:0;margin:0 auto;padding:10px 0 24px;display:flex;overflow-y:auto}.pcard{border-radius:var(--r-md);background:#ffffff12;border:2px solid #ffffff1a;padding:16px 18px}.pcard__h{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px;font-size:15px}.pcard__muted{color:var(--ink-faint);margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.5}.pcard__row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.pcard__actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.pstat{flex-direction:column;gap:2px;display:flex}.pstat b{font-family:var(--font-letter);font-size:34px;line-height:1}.pstat span{color:var(--ink-faint);font-size:13px;font-weight:600}.pweak{flex-direction:column;gap:9px;display:flex}.pweak__item,.pskill{grid-template-columns:34px 1fr auto;align-items:center;gap:12px;display:grid}.pweak__glyph{font-family:var(--font-letter);font-size:26px;font-weight:800}.pweak__bar{border-radius:var(--r-pill);background:#ffffff1f;height:14px;overflow:hidden}.pweak__fill{background:linear-gradient(90deg, var(--coral), var(--amber));height:100%;display:block}.pweak__fill--blue{background:linear-gradient(90deg, var(--sky), var(--mint))}.pweak__word{color:var(--ink-faint);font-size:13px;font-weight:600}.pskills{flex-direction:column;gap:9px;display:flex}.pskill{grid-template-columns:170px 1fr 36px}.pskill__label{font-size:14px}.pskill__n{color:var(--ink-faint);text-align:right;font-size:12px}.ptoggle{align-items:center;gap:14px;min-height:54px;padding:10px 0;display:flex}.ptoggle__label{flex-direction:column;flex:auto;gap:2px;font-size:16px;display:flex}.ptoggle__note{color:var(--coral);font-size:12px;font-style:normal;font-weight:600}.ptoggle__input{opacity:0;pointer-events:none;position:absolute}.ptoggle__switch{border-radius:var(--r-pill);background:#ffffff29;flex:none;width:62px;height:34px;transition:background .2s;position:relative}.ptoggle__switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:4px;left:4px}.ptoggle__switch--on{background:var(--ok-deep)}.ptoggle__switch--on:after{transform:translate(28px)}.parents__file{display:none}.pchoice{flex-wrap:wrap;gap:8px;display:flex}.pchoice__btn{border-radius:var(--r-sm);background:#ffffff12;border:2px solid #ffffff24;flex-direction:column;flex:110px;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 12px;transition:background .18s,border-color .18s,transform .1s;display:flex}.pchoice__btn:active{transform:scale(.96)}.pchoice__btn--on{background:linear-gradient(165deg,#8b5cf699,#ec489973);border-color:#ffffff80}.pchoice__label{font-size:16px}.pchoice__note{color:var(--ink-faint);text-align:center;font-size:11px;font-weight:600;line-height:1.2}.pchoice__btn--on .pchoice__note{color:#fffc}.profiles__title{font-size:22px}.profiles__list,.profiles__form{flex-direction:column;flex:auto;align-items:center;gap:14px;width:min(560px,100%);min-height:0;margin:0 auto;padding:18px 0;display:flex;overflow-y:auto}.profiles__card{align-items:stretch;gap:8px;width:100%;display:flex}.profiles__pick{border-radius:var(--r-md);min-height:var(--tap-min);background:linear-gradient(165deg,#ffffff2e,#ffffff12);border:2px solid #ffffff24;flex:auto;align-items:center;gap:16px;padding:14px 18px;display:flex}.profiles__card-avatar{font-size:38px;line-height:1}.profiles__card-name{text-align:left;flex:auto;font-size:21px}.profiles__card-meta{color:var(--ink-faint);font-size:16px}.profiles__remove{border-radius:var(--r-md);background:#fb71852e;border:2px solid #fb718559;width:54px;font-size:20px}.profiles__avatars{grid-template-columns:repeat(6,1fr);gap:10px;width:100%;display:grid}.profiles__avatar{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface);border:2px solid #0000;font-size:32px}.profiles__avatar--on{border-color:var(--amber);background:var(--surface-strong)}.profiles__input{width:100%;min-height:var(--tap-min);border-radius:var(--r-pill);color:var(--ink);text-align:center;background:#ffffff1a;border:2px solid #fff3;padding:0 18px;font-weight:800}.profiles__actions{align-items:center;gap:12px;display:flex}.known__title{font-size:19px}.known__count{border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;padding:8px 14px;font-size:16px}.known__lead{text-align:center;max-width:620px;color:var(--ink-faint);margin:4px auto 8px;font-size:15px;font-weight:600;line-height:1.45}.known__grid{-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));align-content:start;gap:10px;min-height:0;padding:4px 2px 10px;display:grid;overflow-y:auto}.known__cell{aspect-ratio:1;border-radius:var(--r-md);background:#ffffff12;border:3px solid #ffffff1f;place-items:center;transition:transform .12s,background .18s,border-color .18s;display:grid;position:relative}.known__cell:active{transform:scale(.93)}.known__cell--on{background:linear-gradient(165deg,#34d3998c,#05966973);border-color:#a7f3d0}.known__glyph{font-family:var(--font-letter);align-items:baseline;gap:4px;font-size:clamp(26px,4.6vh,40px);font-weight:800;line-height:1;display:flex}.known__glyph em{opacity:.75;font-size:.72em;font-style:normal}.known__tick{color:#ecfdf5;font-size:16px;position:absolute;top:5px;right:8px}.known__actions{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:12px;padding-top:6px;display:flex}.known__hint{text-align:center;color:var(--ink-faint);margin:8px 0 0;font-size:14px;font-weight:600}.levels__title{font-size:19px}.levels__progress{border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;padding:8px 14px;font-size:16px}.levels__scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:14px;width:100%;max-width:820px;min-height:0;margin:0 auto;padding:6px 0 40px;display:flex;overflow-y:auto}.levels__band-head{border-radius:var(--r-md);background:var(--surface-solid);z-index:2;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 4px 12px #0000004d}.levels__band--done .levels__band-head{opacity:.7}.levels__band-emoji{font-size:28px;line-height:1}.levels__band-title{flex:auto;font-size:18px}.levels__band-range{color:var(--ink-faint);font-size:13px;font-weight:700}.levels__grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;padding:12px 6px 4px;display:grid}.levels__door{aspect-ratio:1;border-radius:var(--r-lg);background:#ffffff12;border:3px solid #ffffff24;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform .12s;display:flex;box-shadow:0 6px #0000003d}.levels__door:active{transform:scale(.94)}.levels__door--done{background:linear-gradient(165deg,#34d39966,#0596694d);border-color:#a7f3d0b3}.levels__door--current{background:linear-gradient(165deg,#fbbf2499,#f59e0b66);border-color:#fde68a;animation:1.6s ease-in-out infinite alternate levels-glow}.levels__door--locked{opacity:.45;box-shadow:none;position:relative}.levels__lock{font-size:16px;line-height:1;position:absolute;top:6px;right:8px}@keyframes levels-glow{0%{box-shadow:0 6px #0000003d,0 0 #fde68a80}to{box-shadow:0 6px #0000003d,0 0 0 10px #fde68a00}}.levels__num{font-family:var(--font-letter);font-size:clamp(28px,4.5vh,40px);line-height:1}.levels__stars{gap:1px;font-size:15px;line-height:1;display:flex}.levels__star{color:#ffffff38}.levels__star--on{color:#fde68a;text-shadow:0 0 6px #fde68ab3}.levels__end{text-align:center;color:var(--ink-faint);padding:16px 12px;font-weight:600}:root{--bg-top:#2b1a63;--bg-bottom:#1a1040;--surface:#ffffff1a;--surface-strong:#ffffff2e;--surface-solid:#3a2a7a;--ink:#fff;--ink-dim:#ffffffb8;--ink-faint:#ffffff73;--violet:#8b5cf6;--pink:#ec4899;--amber:#fbbf24;--mint:#34d399;--sky:#38bdf8;--coral:#fb7185;--lime:#a3e635;--ok:#34d399;--ok-deep:#059669;--no:#fb7185;--no-deep:#e11d48;--r-sm:14px;--r-md:22px;--r-lg:34px;--r-pill:999px;--tap-min:64px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--font-ui:"Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-letter:"Baloo 2", "Nunito", -apple-system, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;-webkit-user-drag:none}html,body,#root{overscroll-behavior:none;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-ui);color:var(--ink);background:linear-gradient(170deg, var(--bg-top) 0%, var(--bg-bottom) 100%);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-attachment:fixed;font-weight:800}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;-webkit-user-select:text;user-select:text;font-size:max(16px,1rem)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes done-pop{0%{opacity:0;transform:scale(.2)rotate(-25deg)}70%{transform:scale(1.15)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}
