:root{--fur:#3fa9f5;--fur-deep:#2a86d9;--spots:#6a4fd8;--tongue:#f28ba0;--ink:#1c2a54;--sky-top:#eef7ff;--sky-bottom:#d3e6ff;--keycap:#f7f8fb;--keycap-edge:#d9dee8;--radius:28px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}button{-webkit-tap-highlight-color:transparent}body{min-height:100dvh;color:var(--ink);background:radial-gradient(60% 50% at 20% 10%, #6a4fd824, transparent 70%), radial-gradient(50% 40% at 85% 90%, #3fa9f533, transparent 70%), linear-gradient(180deg, var(--sky-top), var(--sky-bottom));flex-direction:column;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;display:flex}#scene{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.gl-canvas{transition:opacity .3s}.gl-canvas.is-warming{opacity:0}main,section,footer{z-index:1;position:relative}main{padding:max(32px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 32px max(16px, env(safe-area-inset-left));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.logo{filter:drop-shadow(0 22px 34px #2a86d947);width:min(60vw,320px);height:auto;animation:4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-8px)rotate(-1deg)}}h1{letter-spacing:-.02em;background:linear-gradient(180deg, var(--fur) 0%, var(--fur-deep) 55%, var(--spots) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0 4px;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:800}.tagline{opacity:.8;margin:0 0 28px;font-size:1.2rem}.games{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;width:min(100%,720px);display:grid}.game{border-radius:var(--radius);background:linear-gradient(180deg, #fff, var(--keycap));box-shadow:0 7px 0 var(--keycap-edge), 0 18px 30px #1c2a5424;font:inherit;color:inherit;text-align:left;cursor:pointer;border:0;padding:22px 20px;transition:transform .12s,box-shadow .12s}.game:hover,.game:focus-visible{box-shadow:0 10px 0 var(--keycap-edge), 0 24px 36px #1c2a542e;outline:none;transform:translateY(-3px)}.game:focus-visible{box-shadow:0 10px 0 var(--keycap-edge), 0 0 0 4px var(--fur)}.game:active{box-shadow:0 2px 0 var(--keycap-edge), 0 8px 16px #1c2a5424;transform:translateY(5px)}.game{flex-direction:column;align-items:flex-start;display:flex;position:relative}.game strong{margin-bottom:4px;font-size:1.15rem;display:block}.game>span{opacity:.7;margin-bottom:12px;font-size:.95rem}.game .badge{color:#8a5a00;background:#fff4cc;border-radius:99px;align-items:center;gap:4px;width:fit-content;margin-top:auto;padding:4px 10px 4px 8px;font-size:.85rem;font-style:normal;font-weight:700;display:flex}.game .badge svg{fill:#ffc629;width:16px;height:16px}.game.is-soon{opacity:.72}.game.is-soon .badge{color:var(--spots);background:#ebe7fb;padding-left:10px}.game.is-nope{animation:.4s nope}@keyframes nope{20%,60%{transform:translate(-6px)rotate(-1deg)}40%,80%{transform:translate(6px)rotate(1deg)}}footer{padding:20px 16px max(28px, env(safe-area-inset-bottom));text-align:center;opacity:.7;font-size:.85rem}footer a{color:inherit}.round-btn{width:52px;height:52px;box-shadow:0 4px 0 var(--keycap-edge), 0 10px 20px #1c2a5424;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.round-btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.round-btn:active{box-shadow:0 1px 0 var(--keycap-edge);transform:translateY(3px)}.round-btn:focus-visible{outline:4px solid var(--fur);outline-offset:2px}.round-btn .sound-off,.round-btn.is-muted .sound-on{display:none}.round-btn.is-muted .sound-off{display:block}.round-btn .sound-on path:first-child,.round-btn .sound-off path:first-child{fill:currentColor}.stars{gap:2px;display:inline-flex}.star svg{fill:#dfe4ee;width:22px;height:22px;display:block}.star.is-on svg{fill:#ffc629;filter:drop-shadow(0 2px #e3a500)}.levels{width:min(100%,920px);padding:max(28px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 28px max(16px, env(safe-area-inset-left));flex:1;margin:0 auto}.levels-head{align-items:center;gap:16px;margin-bottom:26px;display:flex}.levels-head h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800}.levels-head p{opacity:.75;margin:4px 0 0}.level-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;display:grid}.level{border-radius:var(--radius);background:linear-gradient(180deg, #fff, var(--keycap));box-shadow:0 7px 0 var(--keycap-edge), 0 16px 26px #1c2a541f;font:inherit;color:inherit;cursor:pointer;border:0;flex-direction:column;align-items:center;gap:8px;padding:18px 12px 16px;transition:transform .12s,box-shadow .12s;display:flex}.level:hover:not(:disabled),.level:focus-visible{outline:none;transform:translateY(-3px)}.level:focus-visible{box-shadow:0 10px 0 var(--keycap-edge), 0 0 0 4px var(--fur)}.level:active:not(:disabled){box-shadow:0 2px 0 var(--keycap-edge);transform:translateY(5px)}.level-num{background:linear-gradient(180deg, var(--fur), var(--fur-deep));color:#fff;border-radius:18px;place-items:center;width:56px;height:56px;font-size:1.6rem;font-weight:800;display:grid;box-shadow:inset 0 -4px #0000001f}.level-num svg{fill:currentColor;width:26px;height:26px}.level-name{text-align:center;place-items:center;min-height:2.5em;font-size:1rem;font-weight:700;display:grid}.level.is-next .level-num{background:linear-gradient(180deg, #8b73ff, var(--spots));animation:2.4s ease-in-out infinite wiggle}.level.is-locked{cursor:not-allowed;opacity:.55}.level.is-locked .level-num{background:#c9d0de}@keyframes wiggle{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-8deg)scale(1.06)}90%{transform:rotate(8deg)scale(1.06)}95%{transform:rotate(-4deg)}}body[data-screen=play]{overflow:hidden}body[data-screen=play] footer{display:none}.play{left:0;right:0;top:var(--view-top,0px);height:var(--view-h,100%);z-index:2;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed}.stage{z-index:0;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.stage-canvas{touch-action:none;flex:1 1 0;width:100%;min-height:0;display:block}.hud{padding:max(14px, env(safe-area-inset-top)) 16px 0;pointer-events:none;align-items:center;gap:14px;display:flex;position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-mid{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.hud-title{white-space:nowrap;text-overflow:ellipsis;background:#ffffffd9;border-radius:99px;max-width:100%;padding:6px 16px;font-weight:800;overflow:hidden}.hud-progress{--p:0;background:#ffffffb3;border-radius:99px;width:min(100%,360px);height:16px;overflow:hidden;box-shadow:inset 0 2px 4px #1c2a541f}.hud-progress i{height:100%;width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg, var(--fur), var(--spots));transition:width .3s cubic-bezier(.34,1.56,.64,1);display:block}.kb-hint{left:50%;bottom:max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8c;border-radius:22px;flex-direction:column;align-items:center;gap:5px;padding:10px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px #1c2a5426}.kb-row{gap:5px;display:flex}.kb-row.is-home{margin-left:14px}.kb-row.is-bottom{margin-left:34px}.kb-key{width:clamp(26px,7.6vw,44px);height:clamp(26px,7.6vw,40px);box-shadow:0 3px 0 var(--keycap-edge);color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;background:#fff;border:0;border-radius:9px;padding:0;font-size:clamp(.75rem,2.4vw,1rem);font-weight:700}.kb-key:active{box-shadow:0 1px 0 var(--keycap-edge);transform:translateY(2px)}.kb-key.is-hint{background:#ffe066;animation:.9s ease-in-out infinite hint;box-shadow:0 3px #e3b600,0 0 0 4px #ffd63380}.kb-key.is-good{animation:.45s good}.kb-key.is-oops{animation:.4s oops}@keyframes hint{50%{transform:translateY(-4px)scale(1.08)}}@media (pointer:coarse){.kb-hint{--kb-gap:clamp(5px, 1.5vw, 10px);--kb-w:min(76px, calc((100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right) - (var(--kb-cols,10) - 1) * var(--kb-gap)) / var(--kb-cols,10)));--kb-h:clamp(40px, 8.4vh, 68px);gap:var(--kb-gap);width:100%;padding:calc(var(--kb-gap) + 6px) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:radial-gradient(circle at 6% 22%, #6a4fd8b3 0 13px, transparent 14px), radial-gradient(circle at 94% 64%, #6a4fd8b3 0 17px, transparent 18px), radial-gradient(circle at 52% 104%, #6a4fd88c 0 22px, transparent 23px), radial-gradient(120% 90% at 50% 0%, #6cc0ff, transparent 70%), linear-gradient(180deg, var(--fur), var(--fur-deep));-webkit-backdrop-filter:none;backdrop-filter:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:30px 30px 0 0;flex:none;position:relative;bottom:auto;left:auto;transform:none;box-shadow:0 -10px 28px #1c2a5433,inset 0 2px #fff6}.kb-hint.has-digits{--kb-h:clamp(36px, 7vh, 60px)}.kb-row{gap:var(--kb-gap)}.kb-row.is-home,.kb-row.is-bottom{margin-left:0}.kb-key{width:var(--kb-w);height:var(--kb-h);background:linear-gradient(180deg, #fff, var(--keycap));font-size:min(calc(var(--kb-h) * .46), calc(var(--kb-w) * .7));border-radius:clamp(10px,2.8vw,16px);font-weight:800;transition:transform 60ms,box-shadow 60ms;box-shadow:0 4px #b8c3d8,0 6px 10px #143c7840}.kb-key.is-down,.kb-key:active{transform:translateY(3px);box-shadow:0 1px #b8c3d8,0 2px 4px #143c7833}.kb-key.is-hint{box-shadow:0 4px #e3b600,0 0 0 4px #ffe666d9}}@keyframes good{0%{background:#7fe0a0;transform:scale(1.2)}to{background:#fff}}@keyframes oops{0%{background:#ffc2cf}25%,75%{transform:translate(-3px)}50%{transform:translate(3px)}to{background:#fff}}.word-panel{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 84px);min-width:min(90vw,320px);max-width:94vw;box-shadow:0 6px 0 var(--keycap-edge), 0 18px 40px #1c2a542e;text-align:center;background:#ffffffeb;border-radius:28px;padding:14px 26px 12px;position:absolute;translate:-50%}.word-now{letter-spacing:.06em;color:#1c2a5473;white-space:nowrap;font-size:clamp(2.2rem,9vw,3.6rem);font-weight:800;line-height:1.1}.word-now .is-done{color:var(--fur-deep)}.word-now .is-next{color:var(--ink);-webkit-text-decoration:underline 5px var(--spots);text-decoration:underline 5px var(--spots);text-underline-offset:8px}.word-next{opacity:.55;min-height:1.3em;margin-top:4px;font-weight:700}.word-panel.is-oops{animation:.4s oops}.race-place{color:#5a3b00;background:linear-gradient(#ffd24a,#ffb800);border-radius:99px;padding:4px 12px;font-size:1.05rem;font-weight:800;position:absolute;top:-12px;left:-10px;transform:rotate(-8deg);box-shadow:0 3px #d99a00}.countdown{pointer-events:none;color:#fff;-webkit-text-stroke:6px var(--spots);paint-order:stroke fill;text-shadow:0 10px 30px #1c2a544d;place-items:center;font-size:clamp(5rem,22vw,11rem);font-weight:800;display:grid;position:absolute;inset:0}@media (pointer:coarse){.countdown{inset:auto;left:var(--ahead-x,50%);top:var(--ahead-y,50%);font-size:clamp(5rem,min(22vw,20vh),11rem);translate:-50% -50%}}.countdown.is-tick{animation:.9s ease-out tick}.countdown.is-go{color:#ffd24a;animation:.8s ease-out forwards go}@keyframes tick{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}}@keyframes go{0%{transform:scale(.6)}40%{transform:scale(1.1)}to{opacity:0;transform:scale(1.4)}}.pw{padding:calc(max(14px, env(safe-area-inset-top)) + 80px) 12px calc(var(--pw-kb,190px) + max(14px, env(safe-area-inset-bottom)) + 14px);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.pw>*{pointer-events:auto}.pw-slot{pointer-events:none;flex:1;align-self:stretch;min-height:120px}.pw-row{align-items:center;gap:10px;max-width:100%;display:flex}.pw-word{--s:min(68px, calc((100vw - 130px) / var(--n,3) - 8px), 10vh);box-shadow:0 6px 0 var(--keycap-edge), 0 18px 40px #1c2a542e;background:#ffffffe6;border-radius:28px;gap:8px;padding:12px 14px 14px;display:flex}.pw-gap{width:calc(var(--s) * .4)}.pw-tile{width:var(--s);height:calc(var(--s) * 1.18);border-radius:calc(var(--s) * .26);font-size:calc(var(--s) * .74);background:#eef3fb;place-items:center;font-weight:800;line-height:1;display:grid;position:relative;box-shadow:inset 0 -4px #1c2a5414}.pw-tile:after{content:"";background:#1c2a542e;border-radius:2px;height:4px;position:absolute;bottom:14%;left:20%;right:20%}.pw-tile b,.pw-tile i{grid-area:1/1;margin-top:-8%;font-style:normal}.pw-tile b{color:var(--ink)}.pw-tile i{color:#1c2a5433;opacity:0;transition:opacity .3s}.pw-word.is-trace .pw-tile i,.pw-tile.is-hint i{opacity:1}.pw-tile.is-hint i{color:#6a4fd873;animation:1s ease-in-out infinite pw-hint}.pw-tile.is-done i{opacity:0;animation:none}.pw-tile.is-current{box-shadow:0 0 0 3px var(--fur), inset 0 -4px 0 #3fa9f526;background:#fff}.pw-tile.is-current:after{background:var(--fur);animation:1s step-end infinite st-caret}.pw-tile.is-done{background:#fff}.pw-tile.is-done:after{background:0 0}.pw-tile.is-done b{animation:.35s cubic-bezier(.34,1.56,.64,1) pw-pop}.pw-tile.is-oops{animation:.4s oops;box-shadow:0 0 0 3px #e0557a}.pw-word.is-done .pw-tile{background:linear-gradient(#fff6c9,#ffe27a);animation:.5s cubic-bezier(.34,1.56,.64,1) backwards pw-cheer}.pw-word.is-done .pw-tile b{color:#8a5a00}.pw-word.is-done .pw-tile:nth-child(2){animation-delay:50ms}.pw-word.is-done .pw-tile:nth-child(3){animation-delay:.1s}.pw-word.is-done .pw-tile:nth-child(4){animation-delay:.15s}.pw-word.is-done .pw-tile:nth-child(5){animation-delay:.2s}.pw-word.is-done .pw-tile:nth-child(6){animation-delay:.25s}.pw-word.is-done .pw-tile:nth-child(n+7){animation-delay:.3s}.pw-say{flex:none}@keyframes pw-pop{0%{transform:scale(.3)}}@keyframes pw-hint{50%{transform:translateY(-3px)}}@keyframes pw-cheer{40%{transform:translateY(-12px)scale(1.08)}}@media (height<=560px){.pw{padding-top:calc(max(14px, env(safe-area-inset-top)) + 66px)}}.ab{background:#1d1a52;flex-direction:column;display:flex;position:absolute;inset:0}.ab .kb-hint{background:#fff3;box-shadow:0 10px 30px #080a2866}.ab-hearts{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 80px);box-shadow:0 4px 0 var(--keycap-edge), 0 12px 30px #080a2859;background:#ffffffe6;border-radius:99px;gap:4px;padding:6px 12px;display:flex;position:absolute;transform:translate(-50%)}.ab-hearts i{display:grid}.ab-hearts svg{fill:#ff6f91;width:24px;height:24px;transition:fill .3s,transform .3s}.ab-hearts i.is-gone svg{fill:#d9dee8;transform:scale(.82)}.ab-hearts i.is-losing svg{animation:.6s heart-lose}.ab-hearts.is-bump{animation:.4s oops}@keyframes heart-lose{0%{fill:#ff6f91;transform:scale(1)}30%{fill:#ff6f91;transform:scale(1.5)rotate(-12deg)}to{fill:#d9dee8;transform:scale(.82)}}.ab-banner{text-align:center;pointer-events:none;letter-spacing:-.01em;color:#fff;-webkit-text-stroke:5px var(--spots);paint-order:stroke fill;text-shadow:0 10px 30px #080a2873;opacity:0;font-size:clamp(2.6rem,11vw,5rem);font-weight:800;position:absolute;top:34%;left:0;right:0}.ab-banner.is-in{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards banner-in}.ab-banner.is-out{animation:.35s forwards banner-out}.ab-banner.is-win{color:#ffd24a}.ab-banner.is-oops{color:#ffc2cf}@keyframes banner-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes banner-out{0%{opacity:1}to{opacity:0;transform:scale(1.15)}}.sf-tip{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 84px);box-shadow:0 6px 0 var(--keycap-edge), 0 18px 40px #1c2a542e;white-space:nowrap;pointer-events:none;background:#ffffffeb;border-radius:99px;padding:12px 24px;font-size:clamp(1.1rem,4.4vw,1.5rem);font-weight:800;transition:opacity .35s,transform .35s;animation:.5s cubic-bezier(.34,1.56,.64,1) sf-tip-in;position:absolute;transform:translate(-50%)}.sf-tip b{text-align:center;background:#ffe066;border-radius:10px;min-width:1.6em;margin:0 .15em;padding:0 .3em;display:inline-block;box-shadow:0 3px #e3b600}.sf-tip.is-gone{opacity:0;transform:translate(-50%,-14px)}@keyframes sf-tip-in{0%{opacity:0;transform:translate(-50%,-20px)scale(.8)}}.result{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c2a5447;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.result-card{text-align:center;background:linear-gradient(#fff,#f3f6ff);border-radius:36px;width:min(100%,440px);padding:30px 24px 24px;box-shadow:0 30px 80px #1c2a544d}.result.is-in .result-card{animation:.5s cubic-bezier(.34,1.56,.64,1) card-in}.result h2{letter-spacing:-.02em;color:var(--spots);margin:6px 0 16px;font-size:2.2rem;font-weight:800}.stars-big{gap:8px}.stars-big .star svg{width:64px;height:64px}.stars-big .star:nth-child(2) svg{width:80px;height:80px;margin-top:-14px}.result.is-in .stars-big .star.is-on{animation:.5s cubic-bezier(.34,1.56,.64,1) backwards star-in}.result.is-in .stars-big .star:first-child{animation-delay:.25s}.result.is-in .stars-big .star:nth-child(2){animation-delay:.45s}.result.is-in .stars-big .star:nth-child(3){animation-delay:.65s}@keyframes card-in{0%{opacity:0;transform:scale(.8)translateY(30px)}}@keyframes star-in{0%{transform:scale(0)rotate(-40deg)}}.result-stats{justify-content:center;gap:10px;display:flex}.result-stats div{background:#eaf4ff;border-radius:18px;flex:1;padding:10px 6px}.result-stats b{font-size:1.4rem;display:block}.result-stats span{opacity:.7;font-size:.85rem}.result-note{min-height:1.4em;color:var(--fur-deep);margin:14px 0;font-weight:700}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pill{box-shadow:0 4px 0 var(--keycap-edge), 0 8px 16px #1c2a541a;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:99px;padding:13px 20px;font-weight:800}.pill-go{background:linear-gradient(180deg, var(--fur), var(--fur-deep));color:#fff;box-shadow:0 4px #1f6fb8,0 8px 16px #2a86d94d}.pill:active{box-shadow:0 1px 0 var(--keycap-edge);transform:translateY(3px)}.pill:focus-visible{outline:4px solid var(--spots);outline-offset:2px}.st{padding:calc(max(14px, env(safe-area-inset-top)) + 96px) 16px max(20px, env(safe-area-inset-bottom));background:radial-gradient(60% 50% at 20% 10%, #6a4fd81f, transparent 70%), radial-gradient(50% 40% at 85% 90%, #3fa9f52e, transparent 70%), linear-gradient(180deg, var(--sky-top), var(--sky-bottom));flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.st-top,.st-card,.st-next,.st-meter,.st-stats{width:min(100%,820px)}.st-top{flex-wrap:wrap;gap:8px 10px;padding-right:110px;font-weight:800;display:flex}.st-count,.st-goal{white-space:nowrap;background:#fffc;border-radius:99px;padding:6px 14px}.st-goal{color:var(--spots)}.st-card{box-shadow:0 10px 0 var(--keycap-edge), 0 30px 60px #1c2a5424;cursor:text;background:linear-gradient(#fff,#f5f8ff);border-radius:36px;padding:clamp(22px,4vw,36px) clamp(20px,4vw,40px);position:relative}.st-card.is-in{animation:.35s cubic-bezier(.34,1.56,.64,1) st-in}.st-card.is-shake{animation:.3s st-shake}.st-card.is-finished{box-shadow:0 10px #e3b600,0 0 0 5px #ffd633,0 30px 60px #ffc62959}@keyframes st-in{0%{opacity:.2;transform:translateY(14px)scale(.97)}}@keyframes st-shake{25%,75%{transform:translate(-5px)}50%{transform:translate(5px)}}.st-buddy{filter:drop-shadow(0 10px 14px #2a86d94d);pointer-events:none;width:96px;position:absolute;top:-78px;right:clamp(8px,3vw,28px)}.st-buddy img{width:100%;height:auto;display:block}.st-buddy.is-cheer{animation:.6s cubic-bezier(.34,1.56,.64,1) st-cheer}@keyframes st-cheer{40%{transform:translateY(-22px)rotate(-8deg)scale(1.06)}}.st-line{letter-spacing:.01em;color:#1c2a5457;text-align:left;margin:0;font-size:clamp(1.5rem,4.2vw,2.5rem);font-weight:700;line-height:1.55}.st-card.is-finished .st-line{color:var(--spots);text-align:center}.st-word{white-space:nowrap;display:inline-block}.st-ch{white-space:pre;border-radius:8px;transition:color .12s;display:inline-block}.st-ch.is-space{min-width:.4em}.st-ch.is-done{color:var(--ink)}.st-ch.is-done.was-wrong{color:#e0557a}.st-ch.is-current{color:var(--ink);box-shadow:inset 0 -4px 0 var(--fur);background:#3fa9f529;animation:1s step-end infinite st-caret}.st-ch.is-current.is-oops{background:#ffd3dd;animation:.35s st-oops;box-shadow:inset 0 -4px #e0557a}@keyframes st-caret{50%{box-shadow:inset 0 -4px #3fa9f540}}@keyframes st-oops{25%,75%{transform:translateY(-3px)}50%{transform:translateY(2px)}}.st-tip{background:var(--spots);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border-radius:99px;margin:0;padding:6px 14px;font-weight:800;transition:opacity .2s,transform .2s;position:absolute;bottom:-18px;left:50%;transform:translate(-50%,6px)}.st-tip.is-on{opacity:1;transform:translate(-50%)}.st-next{opacity:.6;text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;font-size:1.05rem;overflow:hidden}.st-next span{text-transform:uppercase;letter-spacing:.06em;font-size:.8em;font-weight:800}.st-next q{quotes:none}.st-meter{padding-top:26px;position:relative}.st-bar{--p:0;background:#ffffffb3;border-radius:99px;height:16px;overflow:hidden;box-shadow:inset 0 2px 4px #1c2a541f}.st-bar i{height:100%;width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg, var(--fur), var(--spots));transition:width .4s;display:block}.st-bar.is-3 i{background:linear-gradient(90deg,#ffd633,#ffb300)}.st-mark{top:0;bottom:0;left:calc(var(--at) * 100%);align-items:flex-start;display:flex;position:absolute;transform:translate(-50%)}.st-mark:after{content:"";background:#1c2a5440;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:24px;bottom:-2px;left:50%}.st-mark svg{fill:#ffc629;filter:drop-shadow(0 1px #e3a500);width:16px;height:16px}.st-stats{text-align:center;gap:10px;display:flex}.st-stats div{background:#fffc;border-radius:18px;flex:1;padding:10px 6px}.st-stats b{font-variant-numeric:tabular-nums;font-size:clamp(1.3rem,3.4vw,1.8rem);display:block}.st-stats span{opacity:.7;font-size:.85rem}.st-help{color:var(--fur-deep);margin:0;font-weight:700}.st-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;top:40%;left:50%}@media (pointer:coarse){.st{touch-action:pan-y;justify-content:flex-start}.st-help.is-tap{background:linear-gradient(180deg, var(--fur), var(--fur-deep));color:#fff;text-align:center;cursor:pointer;border-radius:99px;padding:14px 24px;box-shadow:0 4px #1f6fb8,0 10px 20px #2a86d94d}}.is-soft-keyboard .st{padding-top:calc(max(14px, env(safe-area-inset-top)) + 72px);justify-content:flex-start;gap:10px;padding-bottom:10px}.is-soft-keyboard .st-top,.is-soft-keyboard .st-buddy,.is-soft-keyboard .st-next,.is-soft-keyboard .st-meter,.is-soft-keyboard .st-help{display:none}.is-soft-keyboard .st-card{box-shadow:0 6px 0 var(--keycap-edge), 0 16px 30px #1c2a541f;border-radius:26px;padding:16px 18px}.is-soft-keyboard .st-line{font-size:clamp(1.3rem,6vw,2.2rem);line-height:1.45}.is-soft-keyboard .st-stats div{border-radius:14px;padding:6px 4px}.is-soft-keyboard .st-stats b{font-size:1.15rem}.is-soft-keyboard .st-stats span{font-size:.72rem}.st-input{-webkit-user-select:text;user-select:text}@media (width<=600px){.st{gap:12px}.st-top{padding-right:96px;font-size:.92rem}.st-buddy{width:84px;top:-70px}.st-stats span{font-size:.75rem;line-height:1.2;display:block}}@media (height<=560px){.st{justify-content:flex-start;gap:10px}.st-buddy,.st-next,.st-help{display:none}}@media (height<=500px){.hud{padding-top:max(8px, env(safe-area-inset-top));gap:10px}.hud .round-btn{width:44px;height:44px}.hud .round-btn svg{width:22px;height:22px}.hud-mid{flex-direction:row;justify-content:center;gap:12px}.hud-title{padding:5px 14px;font-size:.95rem}.hud-progress{flex:0 300px}.ab-hearts{top:calc(max(8px, env(safe-area-inset-top)) + 52px);padding:4px 10px}.ab-hearts svg{width:20px;height:20px}.word-panel{top:calc(max(8px, env(safe-area-inset-top)) + 52px)}}@media (pointer:coarse) and (height<=500px){.kb-hint{--kb-gap:6px;--kb-w:min(60px, calc((100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right) - (var(--kb-cols,10) - 1) * var(--kb-gap)) / var(--kb-cols,10)));--kb-h:clamp(32px, 9.5vh, 42px);padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.kb-hint.has-digits{--kb-h:clamp(28px, 8vh, 36px)}.word-panel{left:max(16px, env(safe-area-inset-left));padding:8px 20px 6px;translate:none}.word-now{font-size:2.2rem}}@media (width<=600px){main{padding-top:max(20px, env(safe-area-inset-top));padding-bottom:16px}.logo{width:min(48vw,25vh,320px)}h1{margin-top:0;font-size:clamp(2rem,9.5vw,2.5rem)}.tagline{margin-bottom:16px;font-size:1rem}.games{grid-template-columns:1fr 1fr;gap:12px}.game{box-shadow:0 5px 0 var(--keycap-edge), 0 12px 22px #1c2a541f;border-radius:22px;padding:13px 13px 12px}.game strong{margin-bottom:2px;font-size:1.04rem}.game>span{margin-bottom:10px;font-size:.82rem;line-height:1.25}.game .badge{padding:3px 9px 3px 7px;font-size:.8rem}.game:last-child:nth-child(odd){grid-column:1/-1}footer{padding-top:10px;font-size:.78rem}.levels-head{gap:12px;margin-bottom:18px}.levels-head h2{font-size:1.7rem}.levels-head p{font-size:.92rem;line-height:1.3}.level-grid{grid-template-columns:repeat(3,1fr);gap:12px}.level{box-shadow:0 5px 0 var(--keycap-edge), 0 10px 18px #1c2a541a;border-radius:22px;gap:6px;padding:12px 4px 10px}.level-num{border-radius:15px;width:46px;height:46px;font-size:1.35rem}.level-num svg{width:22px;height:22px}.level-name{min-height:2.4em;padding:0 2px;font-size:.8rem;line-height:1.2}.level .star svg{width:16px;height:16px}.result-card{border-radius:30px;padding:24px 18px 18px}.result h2{margin-bottom:12px;font-size:1.9rem}.stars-big .star svg{width:54px;height:54px}.stars-big .star:nth-child(2) svg{width:68px;height:68px}.result-stats b{font-size:1.2rem}.result-stats span{font-size:.78rem}.result-actions .pill{flex:auto;min-height:50px}}@media (height<=520px) and (orientation:landscape){main{padding-top:max(16px, env(safe-area-inset-top));flex-flow:wrap;place-content:center;gap:0 28px}main>picture{flex:none}.logo{width:min(34vh,200px)}main>h1,main>.tagline{display:none}.games{grid-template-columns:1fr 1fr;gap:12px;width:min(62vw,560px)}.game{padding:14px}.result{place-items:start center;overflow-y:auto}.levels-head{margin-bottom:14px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (prefers-reduced-motion:reduce){.logo,.level.is-next .level-num,.kb-key.is-hint,.st-ch.is-current,.ab-hearts i.is-losing svg,.pw-tile.is-hint i,.pw-tile.is-current:after,.logo,.level.is-next .level-num,.kb-key.is-hint,.st-ch.is-current,.sf-tip{animation:none}.game,.level{transition:none}}.lang-switch{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;background:#ffffffb8;border-radius:99px;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 18px #1c2a541a}.lang{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;padding:7px 13px;font-size:.92rem;font-weight:700;transition:background .15s,color .15s}.lang:hover{background:#3fa9f524}.lang[aria-pressed=true]{background:var(--fur);color:#fff;box-shadow:0 2px 0 var(--fur-deep)}.lang:focus-visible{outline:3px solid var(--spots);outline-offset:2px}.lang-short{display:none}body:has(.acct-btn:not([hidden])) .lang-switch{top:calc(max(14px, env(safe-area-inset-top)) + 58px)}@media (width<=640px){.lang-name{display:none}.lang-short{display:inline}}.v2-link{z-index:5;top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));background:linear-gradient(135deg, var(--fur), var(--spots));color:#fff;-webkit-tap-highlight-color:transparent;border-radius:99px;align-items:center;gap:5px;height:44px;padding:0 16px 0 12px;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;position:fixed;box-shadow:0 4px #4a36a8,0 10px 22px #4a36a84d}.v2-link svg{fill:#fff;width:20px;height:20px}.v2-link:hover{transform:translateY(-1px)}.v2-link:active{transform:translateY(3px);box-shadow:0 1px #4a36a8}.v2-link:focus-visible{outline:4px solid var(--fur);outline-offset:2px}body:not([data-screen=home]):not([data-screen=world]) .v2-link{display:none}body:has(.v2-link) .lang-switch{right:calc(max(14px, env(safe-area-inset-right)) + 84px)}body:has(.acct-btn:not([hidden])) .v2-link{top:calc(max(14px, env(safe-area-inset-top)) + 58px)}.combo-tip{left:50%;top:calc(max(14px, env(safe-area-inset-top)) + 84px);box-shadow:0 4px 0 var(--keycap-edge), 0 12px 30px #1c2a5429;white-space:nowrap;pointer-events:none;background:#fffffff0;border-radius:99px;align-items:center;gap:8px;padding:8px 16px;font-weight:800;display:flex;position:absolute;transform:translate(-50%)}.combo-tip.is-in{animation:.3s cubic-bezier(.34,1.56,.64,1) combo-in}.combo-tip b{min-width:1.1em;color:var(--spots);text-align:center;font-size:1.9rem;line-height:1}.combo-tip span{opacity:.45}.combo-tip kbd{background:var(--keycap);min-width:34px;height:34px;box-shadow:0 3px 0 var(--keycap-edge);font:inherit;border-radius:10px;place-items:center;padding:0 6px;font-size:1.05rem;transition:background .15s,box-shadow .15s,transform .15s;display:grid}.combo-tip kbd.is-on{background:#7fe0a0;transform:translateY(1px);box-shadow:0 3px #3fb86a}.combo-tip.is-inline{background:var(--sky-top);box-shadow:none;margin-top:8px;display:inline-flex;position:static;transform:none}.combo-tip.is-inline.is-in{animation:none}.ab .combo-tip{top:calc(max(14px, env(safe-area-inset-top)) + 130px)}.st-card>.combo-tip{box-shadow:0 4px 0 var(--keycap-edge), 0 10px 24px #1c2a5424;background:#fff;margin:0;position:absolute;top:-22px;right:22px}@keyframes combo-in{0%{opacity:0;transform:translate(-50%)scale(.7)}}.st-ch.is-current.is-pending{box-shadow:inset 0 -4px 0 var(--spots);background:#6a4fd829;animation:none}.word-now .is-next.is-pending{color:var(--spots);text-decoration-color:#ffb800}.portal-loading{z-index:1;color:#142346;pointer-events:none;background:#edf5fd;place-content:center;justify-items:center;gap:14px;display:grid;position:absolute;inset:0}.portal-loading p{font-size:15px;font-weight:800}.portal-loading-spinner{border:4px solid #e1dbfa;border-top-color:#6a4fec;border-radius:50%;width:35px;height:35px;animation:.8s linear infinite portal-spin}.portal-load-error{z-index:1;text-align:center;background:#edf5fd;align-content:center;justify-items:center;gap:12px;padding:30px;display:grid;position:absolute;inset:0}.portal-load-error h2{margin:0;font-weight:900}.portal-load-error p{max-width:400px;font-size:15px}.portal-load-error a{color:#5a41bd;padding:12px;font-weight:800}@keyframes portal-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.portal-loading-spinner{animation:none}}@font-face{font-family:Nunito;font-style:normal;font-weight:400 1000;font-display:swap;src:url(/v2/fonts/nunito-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400 1000;font-display:swap;src:url(/v2/fonts/nunito-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-weight:400 1000;font-display:swap;src:url(/v2/fonts/nunito-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.learning-dashboard{--ld-ink:#142346;--ld-muted:#64718a;--ld-edge:#dfe7f2;z-index:1800;overscroll-behavior:contain;color:var(--ld-ink);text-align:left;-webkit-font-smoothing:antialiased;background:radial-gradient(70% 30% at 82% 0,#e9e3ff 0%,#0000 100%),#f5f8fe;font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:15px;line-height:1.55;position:fixed;inset:0;overflow:auto}.learning-dashboard *,.learning-dashboard :before,.learning-dashboard :after{box-sizing:border-box}.learning-dashboard button,.learning-dashboard select{font:inherit}.learning-dashboard button{cursor:pointer}.learning-dashboard button:disabled{cursor:default;opacity:.45}.learning-dashboard button:focus-visible,.learning-dashboard select:focus-visible,.learning-dashboard summary:focus-visible{outline-offset:4px;outline:3px solid #6a4fec}.learning-dashboard h1,.learning-dashboard h2,.learning-dashboard h3,.learning-dashboard h4,.learning-dashboard p,.learning-dashboard dl,.learning-dashboard dd{margin:0}.learning-dashboard h1{color:var(--ld-ink);letter-spacing:-.045em;background:0 0;font-size:clamp(2rem,5.5vw,3.15rem);font-weight:850;line-height:1.15}.learning-dashboard h2{letter-spacing:-.025em;font-size:1.18rem;font-weight:800;line-height:1.3}.learning-dashboard h3{font-size:1rem;line-height:1.35}.learning-dashboard h4{font-size:1rem}.learning-dashboard .ld-main{max-width:1100px;padding:max(24px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));margin:0 auto}.learning-dashboard .ld-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.learning-dashboard .ld-back{color:var(--ld-ink);background:#fff;border:1px solid #dce3eb;border-radius:14px;align-items:center;gap:8px;min-height:44px;padding:8px 13px;font-weight:750;display:flex}.learning-dashboard .ld-back>span{font-size:21px;line-height:1}.learning-dashboard .ld-profile-pill{border:1px solid var(--ld-edge);overflow-wrap:anywhere;background:#fff;border-radius:99px;align-items:center;gap:9px;max-width:62%;padding:8px 14px;font-size:.86rem;font-weight:750;display:flex}.learning-dashboard .ld-status-dot{background:#438560;border-radius:50%;flex-shrink:0;width:8px;height:8px}.learning-dashboard .ld-hero{justify-content:space-between;align-items:center;gap:30px;margin-bottom:27px;display:flex}.learning-dashboard .ld-eyebrow{color:#6746c3;letter-spacing:.14em;margin-bottom:9px;font-size:.69rem;font-weight:850}.learning-dashboard .ld-intro{color:var(--ld-muted);max-width:540px;margin-top:13px;font-size:1rem;line-height:1.6}.learning-dashboard .ld-save-status{color:#556b5c;margin-top:11px;font-size:.77rem}.learning-dashboard .ld-button{min-height:44px;color:var(--ld-ink);border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:11px 16px;font-size:.86rem;font-weight:800;line-height:1.35;transition:background .15s,transform .15s;display:inline-flex}.learning-dashboard .ld-button:hover:not(:disabled){transform:translateY(-1px)}.learning-dashboard .ld-primary{color:#fff;background:#6a4fec;box-shadow:0 3px #4e34bd,0 8px 20px #6a4fec24}.learning-dashboard .ld-primary:hover:not(:disabled){background:#5f43dc}.learning-dashboard .ld-practice-button{white-space:nowrap;flex-shrink:0;min-height:52px;padding:14px 20px}.learning-dashboard .ld-practice-button>span:first-child{font-size:22px;line-height:1}.learning-dashboard .ld-button-arrow{padding-left:4px;font-size:19px}.learning-dashboard .ld-level-card{color:#fff;background:radial-gradient(at 3% 0,#314a78,#0000 65%),#142346;border:1px solid #d7dff0;border-radius:22px;align-items:center;gap:20px;margin-bottom:30px;padding:22px 26px;display:flex}.learning-dashboard .ld-level-badge{color:#142346;background:#c5e9ff;border-radius:24px;flex-shrink:0;align-content:center;justify-items:center;width:77px;height:77px;display:grid;box-shadow:inset 0 -3px #92c9ed}.learning-dashboard .ld-level-badge span{letter-spacing:.12em;font-size:.56rem;font-weight:900}.learning-dashboard .ld-level-badge strong{font-size:2rem;line-height:1.15}.learning-dashboard .ld-level-content{flex:1;min-width:0}.learning-dashboard .ld-level-title{justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:10px;display:flex}.learning-dashboard .ld-level-title>strong{color:#c9bfff;white-space:nowrap;font-size:.8rem}.learning-dashboard .ld-level-content>p{color:#c5d6ea;margin-top:8px;font-size:.76rem}.learning-dashboard .ld-progress{background:#e7edf2;border-radius:99px;height:9px;overflow:hidden}.learning-dashboard .ld-progress>span{border-radius:inherit;background:linear-gradient(90deg,#60c3ff,#9e8cf7);height:100%;display:block}.learning-dashboard .ld-filter-bar{justify-content:space-between;align-items:end;gap:22px;margin-bottom:16px;display:flex}.learning-dashboard .ld-filter-bar h2{font-size:1.23rem}.learning-dashboard .ld-muted{color:var(--ld-muted);margin-top:5px;font-size:.8rem}.learning-dashboard .ld-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.learning-dashboard .ld-field{flex:1;gap:4px;display:grid}.learning-dashboard .ld-field>span{color:#59697e;font-size:.73rem;font-weight:750}.learning-dashboard .ld-field select{width:100%;max-width:100%;min-height:44px;color:var(--ld-ink);background:#fff;border:1px solid #d6dee8;border-radius:10px;padding:8px 28px 8px 11px;font-size:.8rem}.learning-dashboard .ld-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.learning-dashboard .ld-metric{border:1px solid var(--ld-edge);background:#fff;border-radius:17px;min-width:0;padding:20px 19px}.learning-dashboard .ld-metric dt{color:var(--ld-muted);font-size:.75rem;font-weight:750}.learning-dashboard .ld-metric dd{letter-spacing:-.045em;color:#304d69;margin-top:4px;font-size:clamp(1.45rem,3vw,1.9rem);font-weight:850}.learning-dashboard .ld-metric p{color:var(--ld-muted);margin-top:6px;font-size:.69rem;line-height:1.5}.learning-dashboard .ld-metric-orange{background:#f6f3ff;border-color:#ddd5f5}.learning-dashboard .ld-card{border:1px solid var(--ld-edge);background:#fff;border-radius:20px;margin-bottom:20px;padding:25px 26px}.learning-dashboard .ld-section-head{justify-content:space-between;align-items:start;gap:18px;margin-bottom:17px;display:flex}.learning-dashboard .ld-section-head p{max-width:750px;color:var(--ld-muted);margin-top:7px;font-size:.8rem}.learning-dashboard .ld-chart svg{width:100%;max-height:230px;display:block}.learning-dashboard .ld-chart-grid{stroke:#e7edf3;stroke-width:1px}.learning-dashboard .ld-chart-label{fill:#6e7b8c;font:11px system-ui,sans-serif}.learning-dashboard .ld-chart-bar{fill:#6a4fec}.learning-dashboard .ld-chart-empty{color:#798697;background:repeating-linear-gradient(0deg,#fff 0 38px,#edf2f6 39px,#fff 40px);flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:145px;display:flex}.learning-dashboard .ld-chart-empty>span{color:#8772c8;background:#fff;padding:0 15px;font-size:35px}.learning-dashboard .ld-chart-empty p{background:#fff;padding:2px 12px;font-size:.8rem}.learning-dashboard .ld-data-table{color:#496681;margin-top:12px;font-size:.75rem}.learning-dashboard summary{cursor:pointer;width:fit-content;min-height:32px;padding:5px 0;font-weight:750}.learning-dashboard .ld-table-scroll{margin-top:8px;overflow-x:auto}.learning-dashboard .ld-table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%;color:var(--ld-ink);font-size:.75rem}.learning-dashboard .ld-table caption{text-align:left;color:var(--ld-muted);padding:5px 0 10px}.learning-dashboard .ld-table th,.learning-dashboard .ld-table td{border-bottom:1px solid var(--ld-edge);padding:8px 12px 8px 0}.learning-dashboard .ld-table thead th{color:#65748a;font-weight:750}.learning-dashboard .ld-table tbody th{font-weight:650}.learning-dashboard .ld-trends{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.learning-dashboard .ld-trend{background:#fafdff;border:1px solid #e7edf3;border-radius:15px;min-width:0;padding:17px 19px 12px}.learning-dashboard .ld-trend-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.learning-dashboard .ld-chip{color:#4c6880;background:#e9f0f5;border-radius:99px;padding:4px 8px;font-size:.66rem}.learning-dashboard .ld-trend-stats{color:var(--ld-muted);flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:8px;font-size:.7rem;display:flex}.learning-dashboard .ld-trend-stats strong{color:#3e709a;font-size:1.15rem}.learning-dashboard .ld-trend svg{width:100%;margin-top:6px;display:block}.learning-dashboard .ld-trend-line{fill:none;stroke:#3199da;stroke-width:2.5px;stroke-linejoin:round}.learning-dashboard .ld-trend-point{fill:#3199da;stroke:#fff;stroke-width:2px}.learning-dashboard .ld-two-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.learning-dashboard .ld-empty-note{color:#63788c;background:#fbfdff;border:1px dashed #d8e1ea;border-radius:12px;padding:18px;font-size:.8rem}.learning-dashboard .ld-skill-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.learning-dashboard .ld-skill-head{justify-content:space-between;align-items:baseline;gap:9px;margin-bottom:7px;display:flex}.learning-dashboard .ld-skill-head strong{font-size:.83rem}.learning-dashboard .ld-skill-stage{color:#68768d;white-space:nowrap;background:#f0f3f7;border-radius:6px;padding:3px 7px;font-size:.63rem}.learning-dashboard .ld-skill-stage.is-confident{color:#3c7451;background:#eaf3ed}.learning-dashboard .ld-skill-list .ld-progress{height:6px}.learning-dashboard .ld-skill-list .ld-progress>span{background:#60b8e9}.learning-dashboard .ld-skill-list p{color:var(--ld-muted);margin-top:4px;font-size:.7rem}.learning-dashboard .ld-recommended-games{gap:9px;display:grid}.learning-dashboard .ld-game-suggestion{text-align:left;color:#4c647e;background:#f3f7fa;border:1px solid #e2eaf0;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 13px;font-size:.83rem;font-weight:750;display:flex}.learning-dashboard .ld-practice-goal{border-top:1px solid var(--ld-edge);color:var(--ld-muted);margin-top:18px;padding-top:17px;font-size:.78rem}.learning-dashboard .ld-practice-goal strong{color:#485e76;margin-bottom:4px;display:block}.learning-dashboard .ld-baseline-facts{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.learning-dashboard .ld-baseline-facts dt{color:var(--ld-muted);margin-bottom:4px;font-size:.71rem}.learning-dashboard .ld-baseline-facts dd{font-size:.86rem;font-weight:750}.learning-dashboard .ld-baseline-change{white-space:nowrap}.learning-dashboard .ld-baseline-editor{background:#f7fafc;border:1px solid #dbe5ed;border-radius:13px;margin-top:21px;padding:20px}.learning-dashboard .ld-baseline-editor>p{color:var(--ld-muted);margin-top:6px;font-size:.8rem}.learning-dashboard .ld-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0 13px;display:grid}.learning-dashboard .ld-actions{gap:9px;margin-top:18px;display:flex}.learning-dashboard .ld-baseline-review{background:#fff9ee;border:1px solid #efd0a6;border-radius:11px;margin-top:16px;padding:17px}.learning-dashboard .ld-baseline-review ul{margin:9px 0;padding-left:20px;font-size:.78rem}.learning-dashboard .ld-baseline-review p{color:#745b3c;font-size:.77rem}.learning-dashboard .ld-baseline-history{border-top:1px solid var(--ld-edge);color:#576c82;margin-top:20px;padding-top:12px;font-size:.76rem}.learning-dashboard .ld-baseline-history ol{margin:10px 0 15px;padding-left:22px}.learning-dashboard .ld-baseline-history li{padding:7px 0 7px 4px}.learning-dashboard .ld-baseline-history li strong{color:#475e75;display:block}.learning-dashboard .ld-baseline-history li span{color:#6c7c8e;font-size:.71rem}.learning-dashboard .ld-footer{text-align:center;color:#758296;opacity:1;padding:7px 8px 0;font-size:.71rem}.learning-dashboard .ld-footer p+p{margin-top:5px;font-size:.66rem}.learning-dashboard .ld-notice{color:#42694b;background:#eef8f1;border:1px solid #cde4d4;border-radius:11px;margin:0 0 20px;padding:12px 16px;font-size:.8rem}.learning-dashboard .ld-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=850px){.learning-dashboard .ld-hero{align-items:start;gap:20px}.learning-dashboard .ld-practice-button{white-space:normal;max-width:220px}.learning-dashboard .ld-filter-bar{flex-direction:column;align-items:start;gap:14px}.learning-dashboard .ld-filters{width:100%}.learning-dashboard .ld-metric{padding:17px 14px}.learning-dashboard .ld-two-columns{grid-template-columns:1fr;gap:0}}@media (width<=600px){.learning-dashboard .ld-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.learning-dashboard .ld-main{padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left));padding-top:max(16px, env(safe-area-inset-top))}.learning-dashboard .ld-header{margin-bottom:25px}.learning-dashboard .ld-hero{flex-direction:column;gap:19px}.learning-dashboard .ld-practice-button{width:100%;max-width:none}.learning-dashboard .ld-level-card{border-radius:17px;gap:13px;margin-bottom:25px;padding:18px 16px}.learning-dashboard .ld-level-badge{border-radius:18px;width:58px;height:65px}.learning-dashboard .ld-level-badge strong{font-size:1.65rem}.learning-dashboard .ld-level-title{flex-direction:column;gap:3px}.learning-dashboard .ld-level-title h2{font-size:1rem}.learning-dashboard .ld-level-title strong{font-size:.71rem}.learning-dashboard .ld-level-content>p{font-size:.67rem}.learning-dashboard .ld-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.learning-dashboard .ld-metric dd{font-size:1.7rem}.learning-dashboard .ld-card{border-radius:16px;padding:20px 18px}.learning-dashboard .ld-trends{grid-template-columns:1fr}.learning-dashboard .ld-section-head{flex-direction:column;gap:12px}.learning-dashboard .ld-section-head .ld-button{width:100%}.learning-dashboard .ld-baseline-facts{grid-template-columns:1fr;gap:12px}.learning-dashboard .ld-baseline-facts>div{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.learning-dashboard .ld-baseline-facts dd{text-align:right}.learning-dashboard .ld-form-grid{grid-template-columns:1fr}.learning-dashboard .ld-baseline-editor{padding:15px}.learning-dashboard .ld-actions{flex-wrap:wrap}.learning-dashboard .ld-field select{min-width:0}.learning-dashboard .ld-trend{padding:15px}}@media (prefers-reduced-motion:reduce){.learning-dashboard .ld-button{transition:none}.learning-dashboard .ld-button:hover:not(:disabled){transform:none}}.learning-dashboard .ld-notice-warning{color:#78551e;background:#fff6e3;border-color:#ead1a6}.learning-dashboard .ld-skill-head strong{overflow-wrap:anywhere;min-width:0}.learning-dashboard .ld-main{max-width:1160px}.learning-dashboard .ld-profile-pill{color:#344d73;border-radius:13px}.learning-dashboard .ld-quiet{color:#6243c2;background:#efebfd}.learning-dashboard .ld-quiet:hover:not(:disabled){background:#e6dffc}.learning-dashboard .ld-level-card .ld-progress{background:#ffffff28}.learning-dashboard .ld-level-content h2{color:#fff}.learning-dashboard .ld-metric dd{color:#142346}.learning-dashboard .ld-metric-orange dd{color:#6543c5}.learning-dashboard .ld-game-suggestion{color:#6243bb;background:#f5f2fd;border-color:#e3ddf5}.learning-dashboard .ld-game-suggestion:hover{background:#ebe5fd}.learning-dashboard .ld-game-suggestion>span:last-child{color:#7558ce}.learning-dashboard .ld-baseline-review{background:#f4f0ff;border-color:#d4c9f0}.learning-dashboard .ld-baseline-review p{color:#69558d}.learning-dashboard .ld-baseline-editor{background:#f7f8fd;border-color:#dfe2f0}.learning-dashboard .ld-header .ld-back{color:#4d3b93;border-radius:12px}@media (width<=380px){.learning-dashboard .ld-filters{grid-template-columns:1fr}.learning-dashboard .ld-header{align-items:flex-start;gap:9px}.learning-dashboard .ld-profile-pill{max-width:59%;padding:9px 11px;font-size:.76rem}.learning-dashboard .ld-back{padding-inline:10px;font-size:.8rem}}body.portal{--ink:#142346;--spots:#6a4fec;--fur:#2996e9;--portal-sky:#60c3ff;--portal-muted:#5b6a83;--portal-line:#dfe7f2;-webkit-font-smoothing:antialiased;background:radial-gradient(at 2% 15%,#e5f3ff,#0000 45%),radial-gradient(at 100% 45%,#f0edff,#0000 48%),#f5f8fe;font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,sans-serif}.portal button,.portal a,.portal summary{font-family:inherit}.portal .portal-header{z-index:40;border-bottom:1px solid var(--portal-line);background:#fffffff5;flex:none;position:sticky;top:0}.portal-header-inner{width:min(100%,1280px);min-height:86px;padding:12px max(32px, env(safe-area-inset-right)) 12px max(32px, env(safe-area-inset-left));align-items:center;gap:34px;margin:auto;display:flex}.portal .portal-brand{color:var(--ink);letter-spacing:-.055em;align-items:center;gap:10px;font-size:25px;font-weight:1000;text-decoration:none;display:inline-flex}.portal-brand img{object-fit:contain;width:54px;height:54px}.portal-brand span{align-items:baseline;display:flex}.portal-brand span b{color:#258fdc;font:inherit}.portal .portal-header .view-switch{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;align-items:center;gap:3px;padding:0;display:flex;position:static}.portal .portal-header .view-switch a{color:#5c6b83;border-radius:12px;min-height:42px;padding:9px 14px;font-size:15px;font-weight:850}.portal .portal-header .view-switch a[aria-current=page]{color:#5b42ba;box-shadow:none;background:#efebfd}.portal .portal-header .view-switch a:hover{color:#563fc0;background:#f2f0fc}.portal .portal-header .view-switch span{display:inline}.portal .portal-header .view-switch svg{width:19px;height:19px}.portal-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.portal-settings{position:relative}.portal-settings summary{border:1px solid var(--portal-line);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 12px;font-size:14px;font-weight:800;list-style:none;display:flex}.portal-settings summary::-webkit-details-marker{display:none}.portal-settings summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:19px;height:19px}.portal-settings-panel{border:1px solid var(--portal-line);background:#fff;border-radius:20px;width:min(310px,100vw - 30px);padding:22px;position:absolute;top:calc(100% + 13px);right:0;box-shadow:0 20px 50px #19274924}.portal-settings-panel>p{color:var(--portal-muted);margin:0 0 9px;font-size:13px;font-weight:800}.portal-settings-panel a{color:#6246bd;align-items:center;gap:8px;margin-top:18px;font-size:14px;font-weight:900;display:flex}.portal .portal-settings-panel .lang-switch{width:100%;box-shadow:none;background:#f0f4fb;border-radius:12px;margin-bottom:18px;padding:4px;position:static}.portal .lang{border-radius:8px;flex:1;padding:8px 5px;font-size:13px}.portal .lang-name{display:inline}.portal .lang-short{display:none}.portal .lang[aria-pressed=true]{color:#6246bd;background:#fff;box-shadow:0 2px 6px #18264a18}.portal-sound-toggle{border:1px solid var(--portal-line);width:100%;min-height:42px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:800}.portal #portal-account .acct-btn{border:1px solid var(--portal-line);width:auto;max-width:180px;height:42px;box-shadow:none;border-radius:12px;padding:5px 12px 5px 5px;font-size:14px;position:static}.portal #portal-account:has(.acct-btn[hidden]){display:none}.portal[data-screen=play] .portal-header,.portal[data-screen=learning] .portal-header,.portal[data-screen=practiceReview] .portal-header{display:none}.portal[data-screen=world] .portal-header,.portal.in-world .portal-header{position:fixed;inset:0 0 auto}.portal .world-top{top:98px}.portal .world.is-flat .world-tags{top:164px}.portal #home{width:min(100%,1280px);padding:36px max(32px, env(safe-area-inset-right)) 20px max(32px, env(safe-area-inset-left));text-align:left;margin:0 auto;display:block}.di-intro{justify-content:space-between;align-items:flex-start;gap:26px;margin-bottom:24px;display:flex}.portal .di-intro h1{color:var(--ink);letter-spacing:-.045em;background:0 0;margin:0 0 7px;font-size:clamp(30px,3vw,43px);font-weight:1000;line-height:1.16}.di-intro>div>p{color:var(--portal-muted);margin:0;font-size:16px;font-weight:650;line-height:1.55}.di-save-status{color:#527260;align-items:center;gap:7px;max-width:310px;margin:8px 0 0;font-size:12px;font-weight:750;line-height:1.45;display:flex}.di-save-status>span{background:#e4f3e9;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.di-save-status.is-warning{color:#8a5918}.di-save-status.is-warning>span{background:#fff0d6}.di-learner{color:#fff;background:radial-gradient(at 2% 0,#304777,#0000 70%),#142346;border:1px solid #31476d;border-radius:24px;align-items:center;gap:28px;padding:24px 27px;display:flex;box-shadow:0 10px 30px #24395d13}.di-learner-profile{grid-template-columns:62px auto;gap:0 15px;min-width:235px;display:grid}.di-learner-avatar{background:#d3eaff;border-radius:20px;align-self:center;place-items:center;width:62px;height:62px;display:grid;box-shadow:inset 0 0 0 1px #ffffff38}.di-learner-avatar img{object-fit:contain;width:58px;height:58px}.di-learner-name{color:#c3d7ee;overflow-wrap:anywhere;max-width:270px;margin:0 0 2px;font-size:12px;font-weight:750}.portal .di-learner h2{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:900;line-height:1.2}.di-learner-stage{color:#cedbef;margin:4px 0 0;font-size:12px}.di-xp{grid-column:2;margin-top:12px}.di-xp-bar{background:#ffffff23;border-radius:9px;width:170px;max-width:100%;height:5px;overflow:hidden}.di-xp-bar i{border-radius:inherit;background:linear-gradient(90deg,#7bd3ff,#b7a7fc);height:100%;display:block}.di-xp p{color:#baccdf;margin:5px 0 0;font-size:10px;font-weight:700}.di-learner-stats{border-left:1px solid #ffffff21;flex:1;justify-content:center;align-items:center;gap:clamp(25px,5vw,70px);margin:0;padding:0 22px;display:flex}.di-learner-stats div{flex-direction:column-reverse;gap:4px;display:flex}.di-learner-stats dt{color:#c2d1e6;font-size:12px;font-weight:650}.di-learner-stats dd{letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:0;font-size:27px;font-weight:950}.di-progress-link{color:#e7f1ff;border:1px solid #8fa5c54d;border-radius:12px;flex:none;align-items:center;gap:8px;padding:12px 15px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.di-progress-link:hover{background:#ffffff0d}.di-arrow{font-size:18px;line-height:1}.di-next{background:#fff;border:1px solid #e1def2;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 34px;padding:20px 26px;display:flex}.di-eyebrow{color:#7150c9;text-transform:uppercase;letter-spacing:.11em;margin:0 0 5px;font-size:10px;font-weight:950}.portal .di-next h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:950}.di-next>div>p:last-child{color:var(--portal-muted);margin:5px 0 0;font-size:13px}.di-primary,.di-city-play,.di-card-play{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 20px;font-size:14px;font-weight:900;transition:background .16s,transform .16s;display:inline-flex}.di-primary{color:#fff;background:#6a4fec;flex:none;box-shadow:0 4px #5239af}.di-primary:hover{background:#6243cf;transform:translateY(-1px)}.di-primary:active,.di-city-play:active{transform:translateY(2px);box-shadow:0 2px #5239af}.di-play-icon{font-size:10px;line-height:1}.di-section-head{justify-content:space-between;align-items:center;gap:22px;margin-bottom:20px;display:flex}.portal .di-section-head h2{letter-spacing:-.03em;margin:0 0 5px;font-size:26px;font-weight:950}.di-section-head p{color:var(--portal-muted);margin:0;font-size:13px;line-height:1.5}.di-filters{flex-wrap:wrap;gap:5px;display:flex}.di-filters button{color:#5a6982;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:850;line-height:1.3}.di-filters button[aria-pressed=true]{color:#6045bc;background:#e9e3fc;border-color:#ded5f4}.di-filters button:hover{background:#ede8fa}.di-city-feature{background:#e8f5f3;border:1px solid #cfebe8;border-radius:24px;grid-template-columns:1.1fr 1fr;min-height:225px;margin-bottom:22px;display:grid;overflow:hidden}.di-city-art{min-height:225px;display:block;position:relative;overflow:hidden}.di-city-art .di-art{height:100%;position:absolute;inset:0}.di-city-art .di-art-background{object-position:50% 54%;height:100%;transform:scale(1.18)}.di-city-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:24px 30px;display:flex}.di-city-copy .di-eyebrow{color:#267167}.portal .di-city-copy h3{letter-spacing:-.035em;max-width:340px;margin:0 0 9px;font-size:28px;font-weight:1000;line-height:1.1}.di-city-copy>p:not(.di-eyebrow){color:#48676a;max-width:390px;margin:0 0 17px;font-size:13px;font-weight:650;line-height:1.65}.di-city-play{color:#fff;background:#207c71;min-height:42px;padding:10px 17px;font-size:13px;box-shadow:0 3px #155e56}.di-city-play:hover{background:#196f65}.portal .di-game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;width:100%;display:grid}.di-game-card{background:#fff;border:1px solid #dfe7f0;border-radius:22px;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 5px 18px #192b5510}.di-game-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #192b551b}.di-card-image{color:inherit;text-decoration:none;display:block;position:relative}.di-art{background:#cbe8ff;height:158px;position:relative;overflow:hidden}.di-art img{-webkit-user-select:none;user-select:none;pointer-events:none}.di-art-background,.di-art-layer{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.di-art-garden .di-art-background{object-position:center 37%}.di-art-plaza .di-art-background{object-position:center 30%}.di-art-run .di-art-layer-1{object-position:center bottom}.di-art-run .di-art-layer-2{object-fit:cover;object-position:20% 10%;height:37%;top:auto}.di-art-landmark{background:#91c873}.di-art-landmark .di-art-background{object-fit:contain;object-position:center}.di-recommended{color:#595029;background:#fffef1;border-radius:7px;max-width:calc(100% - 20px);padding:5px 9px;font-size:10px;font-weight:900;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #293c6018}.di-card-content{flex-direction:column;flex:1;align-items:stretch;padding:17px;display:flex}.di-game-kind{color:#7b68ab;text-transform:uppercase;letter-spacing:.1em;margin:0 0 5px;font-size:9px;font-weight:950}.portal .di-game-card h3{color:var(--ink);letter-spacing:-.025em;margin:0 0 6px;font-size:19px;font-weight:1000;line-height:1.15}.di-game-description{min-height:2.8em;color:var(--portal-muted);margin:0 0 14px;font-size:12px;font-weight:650;line-height:1.45}.di-card-meta{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;margin-bottom:15px;display:flex}.di-card-stars{color:#867443;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11px;font-weight:850;display:inline-flex}.di-card-stars>span{color:#e1a91e;font-size:15px}.di-levels-link{color:#776c97;align-items:center;gap:3px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.di-levels-link:hover{text-decoration:underline}.di-levels-link .di-arrow{font-size:14px}.di-card-play{color:#6545c3;background:#f4f1fc;border:1px solid #ddd7f1;border-radius:10px;width:100%;min-height:39px;padding:9px 12px;font-size:12px}.di-card-play:hover{background:#eae3fb}.di-card-play:disabled{cursor:not-allowed;opacity:.55}.di-empty{color:var(--portal-muted);border:1px dashed #c7d0e0;border-radius:18px;padding:25px}.di-parent-note{border-bottom:1px solid var(--portal-line);align-items:center;gap:17px;margin-top:15px;padding:25px 0;display:flex}.di-parent-icon{color:#75639a;background:#eae7f6;border-radius:12px;flex:none;place-items:center;width:43px;height:43px;font-size:22px;display:grid}.portal .di-parent-note h2{margin:0 0 5px;font-size:15px;font-weight:900}.di-parent-note p{max-width:550px;color:var(--portal-muted);margin:0;font-size:12px;line-height:1.55}.di-parent-note>a{color:#6545bb;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:900;text-decoration:none;display:flex}.portal footer{color:#788399;opacity:1;width:100%;max-width:1280px;margin:0 auto;padding:6px 32px 26px;font-size:11px}.portal footer a{text-decoration:none}.portal .levels{width:min(100%,1180px);padding-top:34px}.portal .levels-head{border:1px solid var(--portal-line);background:#fff;border-radius:22px;padding:24px}.portal .levels-head .round-btn{box-shadow:none;border:1px solid var(--portal-line);background:#f2f6fc;border-radius:15px}.portal .levels-head h2{letter-spacing:-.035em;font-weight:1000}.portal .level{border:1px solid #dde5ef;border-radius:21px;box-shadow:0 3px #dee6f2,0 6px 16px #192b550a}.portal .level.is-next{background:#f7f4ff;border-color:#b5a4e5}.portal .level.is-next .level-num{animation:none}.portal .levels-summary{font-size:13px}.portal .levels-summary>span{align-items:center;gap:5px;margin-right:16px;display:inline-flex}.portal .levels-summary svg{fill:#e4ae32;width:14px;height:14px}.portal .level-num{border-radius:14px;width:48px;height:48px;font-size:22px}.portal a:focus-visible,.portal button:focus-visible,.portal summary:focus-visible{outline-offset:4px;outline:3px solid #7c60df}@media (width>=1500px){.portal #home{padding-top:42px}}@media (width<=1100px){.portal-header-inner{gap:20px;padding-inline:24px}.portal .portal-brand{font-size:23px}.portal .portal-header .view-switch a{padding-inline:11px}.portal .portal-header .view-switch a svg{display:none}.portal #home{padding-inline:24px}.di-learner{gap:16px;padding:22px}.di-learner-stats{gap:24px;padding-inline:18px}.di-progress-link{padding-inline:10px}.di-section-head{align-items:flex-start}.di-filters{justify-content:flex-end;max-width:360px}.portal .di-game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.di-parent-note{flex-wrap:wrap}.di-parent-note>a{margin-left:60px}}@media (width<=760px){.portal-header-inner{flex-wrap:wrap;gap:14px;min-height:76px;padding:10px 18px}.portal-brand img{width:42px;height:42px}.portal .portal-brand{font-size:22px}.portal .portal-header .view-switch{border-top:1px solid #edf0f7;flex:1 0 100%;order:3;justify-content:flex-start;padding-top:8px}.portal .portal-header .view-switch a{flex:1;justify-content:center;min-height:37px;padding-block:7px;font-size:13px}.portal .portal-header .view-switch a svg{width:17px;height:17px;display:block}.portal-settings summary{padding:9px}.portal-settings summary>span{display:none}.portal #portal-account .acct-btn{border-radius:11px;width:40px;padding:3px}.portal #portal-account .acct-btn>span:not(.acct-avatar){display:none}.portal #home{padding:26px 18px 14px}.di-intro{flex-direction:column;gap:5px;margin-bottom:19px}.portal .di-intro h1{font-size:32px}.di-intro>div>p{font-size:14px}.di-save-status{max-width:100%;margin-top:4px;font-size:11px}.di-learner{border-radius:22px;flex-wrap:wrap;gap:20px 0;padding:23px}.di-learner-profile{flex:1;grid-template-columns:55px auto;gap:0 12px;min-width:190px}.di-learner-avatar{border-radius:17px;width:55px;height:55px}.di-learner-avatar img{width:51px;height:51px}.di-progress-link{padding:10px;font-size:11px}.di-learner-stats{border-top:1px solid #ffffff25;border-left:0;flex:1 0 100%;order:3;justify-content:space-between;gap:10px;padding:18px 0 0}.di-learner-stats dd{font-size:25px}.di-learner-stats dt{font-size:11px}.di-next{gap:16px;margin-bottom:30px;padding:18px 20px}.di-next>div>p:last-child{font-size:11px}.di-primary{padding:12px 16px;font-size:12px}.di-section-head{display:block}.portal .di-section-head h2{font-size:25px}.di-filters{justify-content:flex-start;gap:3px;max-width:none;margin-top:14px}.di-filters button{padding:8px 11px;font-size:10px}.di-city-feature{grid-template-columns:1fr 1fr;min-height:215px}.di-city-art{min-height:215px}.di-city-art .di-art-background{width:150%;max-width:none;left:-25%}.di-city-copy{padding:21px 20px}.portal .di-city-copy h3{font-size:23px}.di-city-copy>p:not(.di-eyebrow){font-size:11px;line-height:1.55}.di-city-play{padding:10px 13px;font-size:11px}.portal .di-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.di-art{height:150px}.di-card-content{padding:15px}.portal .di-game-card h3{font-size:19px}.di-parent-note{gap:13px;padding-block:23px}.di-parent-note>div{flex:1}.di-parent-note>a{margin-left:56px}.portal .levels{padding:24px 18px}.portal .levels-head{padding:18px}.portal .levels-head h2{font-size:24px}.portal .levels-head p{font-size:12px}.portal .world-top{top:125px}.portal .world.is-flat .world-tags{top:190px}}@media (width<=420px){.portal-header-inner{gap:10px;padding:9px 14px}.portal .portal-brand{gap:6px;font-size:21px}.portal-brand img{width:38px;height:38px}.portal #home{padding:23px 14px 12px}.portal .di-intro h1{font-size:29px}.di-learner{padding:19px}.di-learner-profile{min-width:100%}.di-progress-link{order:4;justify-content:space-between;width:100%;min-height:38px}.di-learner-stats{gap:6px;padding-top:16px}.di-learner-stats dt{max-width:85px;font-size:10px;line-height:1.4}.di-learner-stats dd{font-size:24px}.di-next{flex-direction:column;align-items:stretch;gap:14px;padding:18px 19px}.di-primary{width:100%;min-height:43px}.di-city-feature{grid-template-columns:1fr}.di-city-art{min-height:175px}.di-city-art .di-art-background{width:100%;left:0;transform:scale(1.24)}.di-city-copy{padding:22px}.portal .di-city-copy h3{font-size:25px}.di-city-copy>p:not(.di-eyebrow){font-size:12px}.di-city-play{min-height:43px;font-size:12px}.portal .di-game-grid{gap:11px}.di-art{height:119px}.di-card-content{padding:12px}.portal .di-game-card h3{font-size:16px;line-height:1.22}.di-game-kind{letter-spacing:.06em;font-size:8px}.di-game-description{min-height:4.4em;font-size:11px;line-height:1.45}.di-card-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px}.di-levels-link,.di-card-stars{font-size:10px}.di-card-play{min-height:39px;font-size:11px}.di-recommended{max-width:calc(100% - 14px);padding:4px 6px;font-size:8px;top:7px;left:7px}.di-parent-note>a{width:100%;margin-left:0;font-size:11px}.portal footer{padding-inline:14px;font-size:10px}.portal .level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}}@media (prefers-reduced-motion:reduce){.di-game-card,.di-primary,.di-card-play{transition:none}.di-game-card:hover,.di-primary:hover{transform:none}}.portal.in-world .levels{max-height:calc(100dvh - 116px);top:100px}@media (width<=760px){.portal.in-world .levels{max-height:calc(100dvh - 141px);top:125px}}@media (aspect-ratio<=1){.portal.in-world .levels{max-height:min(64dvh,100dvh - 141px);top:auto}}.practice-review-screen{z-index:1750;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:#26364a;text-align:left;background:#eef5faf7;place-items:center;font:16px/1.6 system-ui,sans-serif;display:grid;position:fixed;inset:0;overflow:auto}.practice-review-screen[hidden]{display:none}.practice-review-card{background:#fff;border:1px solid #d5e1ed;border-radius:24px;max-width:660px;padding:clamp(22px,5vw,40px);box-shadow:0 18px 60px #30455b20}.practice-review-card h1{color:#26364a;background:0 0;margin:0 0 16px;font-size:clamp(24px,5vw,34px);line-height:1.2}.practice-review-card p{margin:14px 0}.practice-review-selection{color:#5e4d86;font-weight:750}.practice-review-reasons{margin:18px 0;padding-left:22px}.practice-review-reasons li+li{margin-top:8px}.practice-review-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.practice-review-actions button{color:#30465e;cursor:pointer;background:#edf2f6;border:0;border-radius:12px;min-height:46px;padding:11px 16px;font:750 15px/1.4 system-ui,sans-serif}.practice-review-actions .practice-review-primary{color:#4c2c08;background:#f5a844}.practice-review-actions button:focus-visible{outline-offset:4px;outline:3px solid #2167a0}@media (width<=600px){.practice-review-actions{flex-direction:column}.practice-review-actions button{width:100%}}#play .typing-save-notice{z-index:8;color:#78551e;text-align:center;pointer-events:none;background:#fff6e3;border:1px solid #ead1a6;border-radius:12px;width:min(90%,620px);margin:0;padding:9px 13px;font:600 13px/1.5 system-ui,sans-serif;position:absolute;top:80px;left:50%;transform:translate(-50%)}#result .result-typing-note{color:#5d6980;max-width:460px;margin:10px auto;font:500 13px/1.5 system-ui,sans-serif}body[data-screen=practiceReview] .acct-btn{z-index:1760}body[data-screen=practiceReview] .acct-layer{z-index:1770}body.v2[data-screen=practiceReview] .acct-btn:not([hidden]){top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:flex}:root{--plus:#ffb800;--plus-deep:#d99a00;--plus-soft:#fff4cc}.acct-btn{z-index:5;top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));max-width:46vw;height:48px;box-shadow:0 4px 0 var(--keycap-edge), 0 10px 20px #1c2a5424;color:var(--ink);font:inherit;cursor:pointer;background:#ffffffeb;border:0;border-radius:99px;align-items:center;gap:8px;padding:0 16px 0 8px;font-weight:800;display:flex;position:fixed}.acct-btn>svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:30px;height:30px;padding:4px}.acct-btn span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-btn:active{box-shadow:0 1px 0 var(--keycap-edge);transform:translateY(3px)}.acct-btn:focus-visible{outline:4px solid var(--fur);outline-offset:2px}body[data-screen=play] .acct-btn{display:none}@media (width<=600px){.acct-btn{justify-content:center;width:48px;padding:0}.acct-btn>span:not(.acct-avatar){display:none}}.acct-avatar{background:radial-gradient(circle at 35% 30%, #ffffff73, transparent 55%), var(--kid);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -3px #00000026}.acct-avatar.is-big{width:72px;height:72px;font-size:2rem}.acct-avatar.is-small{width:24px;height:24px;font-size:.8rem}.level.is-plus{opacity:1;cursor:pointer}.level.is-plus .level-num{background:linear-gradient(180deg, #ffd24a, var(--plus));box-shadow:inset 0 -4px 0 var(--plus-deep);color:#fff}.level.is-plus .level-num svg{fill:currentColor;width:30px;height:30px;filter:drop-shadow(0 1px 0 var(--plus-deep))}.level.is-plus .stars{display:none}.level.is-plus:after{content:"Plus";background:var(--plus-soft);color:#8a5a00;border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:800}.acct-layer{z-index:20;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c2a5452;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.acct-card{text-align:center;background:linear-gradient(#fff,#f3f6ff);border-radius:36px;width:min(100%,460px);padding:28px 24px 24px;position:relative;box-shadow:0 30px 80px #1c2a544d}.acct-card.is-in{animation:.45s cubic-bezier(.34,1.56,.64,1) card-in}.acct-card.is-busy{cursor:progress}.acct-card.is-busy button,.acct-card.is-busy a{pointer-events:none;opacity:.7}.acct-card h2{letter-spacing:-.02em;color:var(--spots);margin:4px 36px 12px;font-size:1.9rem;font-weight:800}.acct-card h3{align-items:center;gap:6px;margin:0 0 10px;font-size:1.1rem;font-weight:800;display:flex}.acct-card h3 svg{width:22px;height:22px;fill:var(--plus);filter:drop-shadow(0 1px 0 var(--plus-deep))}.acct-card p{margin:0 0 12px;line-height:1.45}.acct-card section{text-align:left;background:#ffffffd9;border-radius:24px;margin-top:18px;padding:16px;box-shadow:0 0 0 1px #1c2a540f}.acct-x{width:42px;height:42px;position:absolute;top:14px;right:14px}.acct-x svg{width:20px;height:20px}.acct-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.acct-muted{opacity:.7}.acct-small{opacity:.75;font-size:.88rem}.acct-lead{font-size:1.02rem}.acct-link{color:var(--fur-deep);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.acct-danger{color:#c2334f}.acct-msg{border-radius:16px;padding:10px 14px;font-weight:700}.acct-msg.is-good{color:#1e7a48;background:#e3f8ec}.acct-msg.is-bad{color:#b02a4a;background:#ffe4ea}.acct-card input[type=text],.acct-card input[type=email]{border:2px solid var(--keycap-edge);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:18px;padding:13px 16px;font-size:1.05rem}.acct-card input:focus{border-color:var(--fur);outline:none;box-shadow:0 0 0 4px #3fa9f533}.acct-form{text-align:left;gap:12px;margin-top:12px;display:grid}.acct-form.acct-row{grid-template-columns:1fr auto}@media (width<=420px){.acct-form.acct-row{grid-template-columns:1fr}}.acct-code{text-align:center;letter-spacing:.4em;font-weight:800;font-size:1.8rem!important}.acct-google{box-shadow:0 4px 0 var(--keycap-edge), 0 8px 16px #1c2a541a;color:var(--ink);background:#fff;border-radius:99px;justify-content:center;align-items:center;gap:10px;margin-top:16px;padding:13px 20px;font-weight:800;text-decoration:none;display:flex}.acct-google svg{width:22px;height:22px}.acct-google:active{box-shadow:0 1px 0 var(--keycap-edge);transform:translateY(3px)}.acct-google:focus-visible{outline:4px solid var(--spots);outline-offset:2px}.acct-or{opacity:.6;font-size:.9rem;margin:14px 0 0!important}.acct-gate-q{justify-content:center;align-items:center;gap:10px;margin-top:8px;font-size:1.8rem;font-weight:800;display:flex}.acct-gate-q input[type=text]{text-align:center;width:96px;font-size:1.8rem;font-weight:800}.acct-gate-q.is-nope{animation:.4s nope}.acct-plus{background:linear-gradient(#fffaf0,#fff4d6)!important;box-shadow:0 0 0 2px #ffe39a!important}.acct-perks{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.acct-perks li{padding-left:28px;font-weight:600;position:relative}.acct-perks li:before{content:"";background:#34c38f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/14px no-repeat;border-radius:50%;width:20px;height:20px;position:absolute;top:.1em;left:0}.acct-plans{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.acct-plan{box-shadow:0 4px 0 var(--keycap-edge), 0 8px 16px #1c2a541a;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:14px 8px 12px;display:flex;position:relative}.acct-plan b{font-size:1.05rem}.acct-plan span{opacity:.8;font-size:.92rem}.acct-plan em{background:linear-gradient(180deg, #ffd24a, var(--plus));color:#5a3b00;border-radius:99px;padding:2px 10px;font-size:.78rem;font-style:normal;font-weight:800;position:absolute;top:-10px}.acct-plan.is-best{background:linear-gradient(180deg, var(--fur), var(--fur-deep));color:#fff;box-shadow:0 4px #1f6fb8,0 8px 16px #2a86d94d}.acct-plan:active{transform:translateY(3px)}.acct-plan:focus-visible{outline:4px solid var(--spots);outline-offset:2px}.acct-who{flex-wrap:wrap;justify-content:center;gap:4px 12px;font-weight:700;display:flex}.acct-who span{overflow-wrap:anywhere}.acct-kids{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.acct-kid{box-shadow:0 3px 0 var(--keycap-edge);background:#fff;border-radius:20px;display:flex;position:relative}.acct-kid.is-on{box-shadow:0 3px 0 var(--keycap-edge), 0 0 0 3px var(--fur)}.acct-kid-main{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px 10px;display:flex}.acct-kid-main b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.acct-kid-stars{color:#8a5a00;align-items:center;gap:3px;font-size:.85rem;font-weight:800;display:inline-flex}.acct-kid-stars svg{fill:#ffc629;width:15px;height:15px}.acct-kid-edit{width:30px;height:30px;color:var(--ink);opacity:.5;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:6px;position:absolute;top:4px;right:4px}.acct-kid-edit:hover,.acct-kid-edit:focus-visible{opacity:1;background:var(--sky-top)}.acct-kid-edit svg,.acct-kid-add svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.acct-kid-add{border:2px dashed var(--keycap-edge);min-height:96px;box-shadow:none;color:var(--fur-deep);font:inherit;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:800}.acct-kid-add svg{width:28px;height:28px}.acct-kid-form{border-top:1px solid #1c2a5414;padding-top:12px}.acct-swatches{flex-wrap:wrap;gap:10px;display:flex}.acct-swatch{background:var(--kid);cursor:pointer;border:0;border-radius:50%;width:36px;height:36px;box-shadow:inset 0 -3px #00000026}.acct-swatch[aria-checked=true]{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--kid)}.acct-kid-pick{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:8px 0 18px;display:grid}.acct-kid-big{border-radius:var(--radius);background:linear-gradient(180deg, #fff, var(--keycap));box-shadow:0 6px 0 var(--keycap-edge), 0 14px 24px #1c2a541f;color:inherit;font:inherit;cursor:pointer;border:0;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 14px;font-size:1.1rem;display:flex}.acct-kid-big.is-on{box-shadow:0 6px 0 var(--keycap-edge), 0 0 0 4px var(--fur)}.acct-kid-big:active{box-shadow:0 2px 0 var(--keycap-edge);transform:translateY(4px)}.acct-report+.acct-report{border-top:1px solid #1c2a5414;margin-top:14px;padding-top:14px}.acct-report h4{align-items:center;gap:8px;margin:0 0 8px;font-size:1rem;display:flex}.acct-report-row{grid-template-columns:1fr 72px auto;align-items:center;gap:10px;padding:3px 0;font-size:.92rem;display:grid}.acct-report-num{font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap}.acct-bar{--p:0;background:#e6ecf6;border-radius:99px;height:10px;display:block;overflow:hidden}.acct-bar i{width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg, var(--fur), var(--spots));height:100%;display:block}.acct-leave{margin-top:18px!important}.acct-confirm{background:#fff5f7!important;box-shadow:0 0 0 2px #ffd3dd!important}.acct-paywall-logo{filter:drop-shadow(0 14px 20px #2a86d940);width:128px;height:auto;margin-top:-8px;animation:4s ease-in-out infinite bob}.acct-paywall h2{margin-top:0}@media (prefers-reduced-motion:reduce){.acct-card.is-in,.acct-paywall-logo{animation:none}}.world{z-index:1;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:linear-gradient(#8fcfff,#cfe9ff 55%,#8fd16a 56%);padding:0;display:block;position:fixed;inset:0;overflow:hidden}.world-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.world-top{padding:max(14px, env(safe-area-inset-top)) 16px 0;pointer-events:none;justify-content:center;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.world-total{height:48px;box-shadow:0 4px 0 var(--keycap-edge), 0 10px 20px #1c2a541f;font-variant-numeric:tabular-nums;background:#ffffffe0;border-radius:99px;align-items:center;gap:6px;margin:0;padding:0 18px 0 14px;font-size:1.1rem;font-weight:800;display:inline-flex}.world-total svg{fill:#ffc629;filter:drop-shadow(0 2px #e3a500);width:22px;height:22px}.world-tags{pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.world:not(.is-drawn):not(.is-flat) .world-tags{opacity:0}.world:not(.is-drawn):not(.is-flat) .tag{pointer-events:none}.tag{min-width:132px;box-shadow:0 5px 0 var(--keycap-edge), 0 12px 24px #1c2a5429;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;pointer-events:auto;will-change:transform;background:#fffffff0;border:0;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:8px 14px 9px;transition:box-shadow .15s,background .15s;display:flex;position:absolute;top:0;left:0}.tag strong{font-size:1rem;font-weight:800;line-height:1.15}.tag-meta{color:#1c2a54b3;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:.85rem;font-weight:700;display:flex}.tag-stars{align-items:center;gap:2px;display:inline-flex}.tag-stars b{color:var(--ink)}.tag-stars svg{fill:#ffc629;filter:drop-shadow(0 1px #e3a500);width:16px;height:16px}.tag-bar{--p:0;background:#e4e9f3;border-radius:99px;width:42px;height:8px;overflow:hidden}.tag-bar i{height:100%;width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg, var(--fur), var(--spots));display:block}.tag.is-done .tag-bar i{background:linear-gradient(90deg,#ffd633,#ffb300)}.tag-soon{color:var(--spots);font-size:.8rem;font-weight:800}.tag.is-soon{background:#f5f3ffeb}.tag.is-here{box-shadow:0 5px 0 var(--keycap-edge), 0 0 0 3px var(--fur), 0 12px 24px #1c2a5429}.tag.is-hover,.tag:focus-visible{box-shadow:0 5px 0 var(--keycap-edge), 0 0 0 3px var(--spots), 0 14px 28px #1c2a5433;background:#fff;outline:none}.tag:active{box-shadow:0 2px 0 var(--keycap-edge), 0 0 0 3px var(--spots)}.tag.is-nope{animation:.4s nope}.world.is-focused .world-top,.world.is-focused .world-tags{opacity:0;pointer-events:none}.world.is-focused .tag{pointer-events:none}.world.is-flat .world-tags{pointer-events:auto;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-content:start;gap:18px;padding:16px;display:grid;position:absolute;inset:96px 0 0;overflow-y:auto}.world.is-flat .tag{padding:16px;position:static;transform:none!important}.view-switch{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 0 var(--keycap-edge), 0 10px 22px #1c2a5424;background:#ffffffe0;border-radius:99px;gap:2px;padding:4px;display:flex;position:fixed}body:not([data-screen=home]):not([data-screen=world]) .view-switch{display:none}.view-switch a{min-height:40px;color:var(--ink);-webkit-tap-highlight-color:transparent;border-radius:99px;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-weight:800;text-decoration:none;display:flex}.view-switch svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.view-switch a[aria-current=page]{background:linear-gradient(180deg, var(--fur), var(--fur-deep));color:#fff;box-shadow:inset 0 -3px #0000001f}.view-switch a:not([aria-current=page]):hover{background:#eef5ff}.view-switch a:focus-visible{outline:3px solid var(--spots);outline-offset:1px}body.in-world .levels{z-index:3;top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));width:min(440px,46vw);max-height:calc(100% - 2 * max(16px, env(safe-area-inset-top)));overscroll-behavior:contain;-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);background:#ffffffdb;border-radius:32px;margin:0;padding:20px 18px 22px;animation:.4s cubic-bezier(.22,1.2,.36,1) sheet-side;position:fixed;bottom:auto;left:auto;overflow-y:auto;box-shadow:0 30px 80px #1c2a5447}body.in-world .levels-head{gap:12px;margin-bottom:16px}body.in-world .levels-head h2{font-size:1.7rem}body.in-world .levels-head p{font-size:.95rem;line-height:1.3}body.in-world .level-grid{grid-template-columns:repeat(3,1fr);gap:12px}body.in-world .level{box-shadow:0 5px 0 var(--keycap-edge), 0 10px 18px #1c2a541a;border-radius:22px;gap:6px;padding:12px 4px 10px}body.in-world .level-num{border-radius:15px;width:46px;height:46px;font-size:1.35rem}body.in-world .level-name{min-height:2.4em;padding:0 2px;font-size:.8rem;line-height:1.2}body.in-world .level .star svg{width:16px;height:16px}body.in-world footer{display:none}@keyframes sheet-side{0%{opacity:0;transform:translate(60px)}}@keyframes sheet-up{0%{opacity:.4;transform:translateY(80px)}}@media (aspect-ratio<=1){body.in-world .levels{width:auto;max-height:64dvh;padding:18px max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-radius:32px 32px 0 0;animation-name:sheet-up;inset:auto 0 0}}.levels-summary{color:#1c2a54bf;align-items:center;gap:10px;margin:8px 0 0;font-size:.95rem;font-weight:800;display:flex}.levels-summary svg{fill:#ffc629;filter:drop-shadow(0 1px #e3a500);vertical-align:-3px;width:18px;height:18px}body[data-screen=world] footer{z-index:2;padding:0 16px max(8px, env(safe-area-inset-bottom));opacity:.6;pointer-events:none;font-size:.72rem;position:fixed;bottom:0;left:0;right:0}body[data-screen=world] footer a{pointer-events:auto}body[data-screen=world]{overflow:hidden}@media (width<=600px){.world-total{height:44px;padding:0 14px 0 10px;font-size:1rem}.view-switch a{padding:6px 10px}.view-switch span{display:none}.tag{border-radius:16px;gap:3px;min-width:0;padding:6px 10px 7px}.tag strong{font-size:.86rem}.tag-meta{gap:5px;font-size:.74rem}.tag-bar{width:28px;height:6px}.tag-levels{display:none}}@media (prefers-reduced-motion:reduce){body.in-world .levels{animation:none}}
