:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg2);--bg1:#2a3570;--bg2:#141a33;--panel:#ffffff12;--line:#ffffff21;--text:#fffffff5;--ink:#1b1b1b;--muted:#ffffffa8;--pending:#ffffff80;--correct:#4ade80;--wrong:#ff7a7a;--accent:#ffd54a;--focus:#fff;--pin:#3b82f6;--pin-disc:#dcefff;--veil:#0000009e;--ktop:#232c54;--kbot:#1a2244;--kborder:#2c3565;--ktext:#aeb6dd;--kradius:8px;--kshadow:none;--kgloss:.05;--gold:#ffd54a;--silver:#cbd5f0;--bronze:#d08a52;--welcome-bg:var(--bg2);--welcome-ink:var(--text);--welcome-muted:var(--muted);--welcome-teal:#8bdfd3;--welcome-line:var(--line);--welcome-panel:var(--panel);--welcome-white:var(--text);--welcome-gold:var(--gold);--u:min(52px,calc((100vw - 120px) / 15))}@media (height<=800px){:root{--u:max(18px, min(52px, calc((100vw - 120px) / 15), calc((100vh - 280px) / 4.8)))}}*{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff47 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#ffffff73}::-webkit-scrollbar-button{display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent}}html,body,#root{min-height:100%;margin:0}#root{min-height:100vh}.app{isolation:isolate;background:radial-gradient(1100px 600px at 50% -15%,var(--bg1),var(--bg2));color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:row;align-items:stretch;min-height:100vh;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;transition:background .6s,color .4s;display:flex;position:relative;overflow-x:hidden}.app:before{content:"";z-index:-1;pointer-events:none;background:var(--scene,none) center bottom / 100% 100% no-repeat;height:clamp(150px,32vh,320px);position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 45%);mask-image:linear-gradient(#0000,#000 45%)}.stage{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.stage:focus{outline:none}.app.is-welcome{color:var(--text);-webkit-user-select:text;user-select:text}.app.is-welcome:before{opacity:.3;height:clamp(100px,20vh,200px)}.welcome-page{--s:1}@media (width>=1440px) and (height>=860px){.welcome-page{--s:1.15}}@media (width>=1680px) and (height>=920px){.welcome-page{--s:1.3}}@media (width>=1920px) and (height>=1040px){.welcome-page{--s:1.45}}.welcome-page{flex-direction:column;width:100%;min-height:100svh;display:flex}.welcome-header,.welcome-copy{zoom:var(--s)}.welcome{--welcome-head:116px;width:min(calc(1180px * var(--s)),100%);flex-direction:column;flex:1 0 auto;margin:auto;padding:0 clamp(22px,4vw,54px);display:flex}.welcome-header{min-height:var(--welcome-head);justify-content:space-between;align-items:center;gap:20px;display:flex}.welcome-brand{letter-spacing:-1.2px;color:var(--text);align-items:center;gap:9px;font-size:30px;font-weight:800;display:flex}.welcome-brand img{object-fit:contain;width:56px;height:56px;display:block}.welcome-brand>span>span{color:var(--welcome-teal)}.welcome button{font:inherit;cursor:pointer}.welcome-link{min-height:44px;color:var(--welcome-teal);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:14px;padding:10px 0;display:inline-flex;font-weight:650!important}.welcome button:focus-visible,.text-link:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:4px}.welcome-link:hover{text-underline-offset:5px;text-decoration:underline}.feedback-content{flex-direction:column;flex:1;min-height:0;display:flex}.feedback-content>.information-body{padding-top:20px}.feedback-dialog .feedback-cancel{margin-right:auto}button.feedback-launcher{right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;background:color-mix(in srgb,var(--welcome-teal) 80%,#1b4943);width:56px;height:56px;color:var(--ink);box-shadow:0 6px 22px var(--veil);cursor:pointer;border:1px solid #ffffff40;border-radius:50%;place-items:center;padding:0;transition:transform .15s;display:grid;position:fixed}button.feedback-launcher:hover{transform:translateY(-2px)}button.feedback-launcher:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button.feedback-launcher:after{inset:auto 0 calc(100% + 10px) auto;transform:none}@media (prefers-reduced-motion:reduce){button.feedback-launcher{transition:none}}.welcome-main{flex:1;justify-content:center;align-items:stretch;max-width:none;padding:0}.welcome-hero{flex:1 0 auto;grid-template-columns:1fr 1.05fr;align-items:center;gap:12px;padding:18px 0 26px;display:grid}.welcome-eyebrow{text-transform:uppercase;letter-spacing:2.4px;color:var(--welcome-teal);align-items:center;gap:9px;margin:0 0 20px;font-size:12px;font-weight:750;display:flex}.welcome-eyebrow svg{width:30px;height:30px}.welcome h1{letter-spacing:-2.4px;margin:0 0 22px;font-size:clamp(38px,4.6vw,59px);font-weight:750;line-height:1.1}.welcome h1 span{color:var(--welcome-teal)}.welcome-intro{max-width:390px;color:var(--welcome-muted);margin:0 0 26px;font-size:16px;line-height:1.75}.welcome-play{border:1px solid var(--gold);border-bottom:4px solid var(--bronze);background:var(--gold);min-width:0;min-height:58px;color:var(--ink);box-shadow:0 8px 16px -12px var(--veil);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;transition:transform .15s;display:inline-flex;font-size:17px!important;font-weight:700!important}.welcome-play>span:first-child{overflow-wrap:anywhere;text-align:left}.welcome-play:hover{transform:translateY(-2px)}.welcome-play:active{transform:translateY(1px)}.welcome-promise{color:var(--welcome-muted);margin:14px 0 0;font-size:13px;line-height:1.5}.welcome-needs-keyboard{border:1px solid var(--line);background:var(--panel);max-width:360px;color:var(--text);border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:14px;line-height:1.5;display:none}.welcome-level svg{flex-shrink:0;width:25px;height:25px}.welcome-returning h1{letter-spacing:-1.6px;margin-bottom:18px;font-size:clamp(34px,3.4vw,46px)}.welcome-scene{aspect-ratio:580/520;width:100%;min-width:0;max-width:calc((100svh - var(--welcome-head) * var(--s) - var(--welcome-ask,0px) - 60px) * 580 / 520);justify-self:center;position:relative;container-type:inline-size}.welcome-mountain{width:100%;height:auto;display:block}.welcome-sky-top{stop-color:color-mix(in oklab,var(--bg1),#fff 7%)}.welcome-sky-bottom{stop-color:color-mix(in oklab,var(--bg1) 70%,var(--bg2))}.welcome-clouds{fill:#e6edf5;opacity:.3}.welcome-far-ridge{fill:color-mix(in oklab,#6a819c 60%,var(--bg1))}.welcome-key{aspect-ratio:1/1.05;text-align:center;border:2px solid var(--kborder);background:linear-gradient(var(--ktop),var(--kbot));width:14%;color:var(--ktext);box-shadow:0 12px 24px -14px var(--veil);border-bottom-width:7px;border-radius:20%;place-content:center;font-size:6.2cqw;font-weight:750;display:grid;position:absolute}.welcome-key span{opacity:.5;font-size:2.6cqw;line-height:.5}.key-f{top:36%;left:4%;transform:rotate(-12deg)}.key-j{top:43%;right:3%;transform:rotate(10deg)}.key-j.is-gold{background:var(--welcome-gold);border-color:var(--welcome-gold);color:var(--ink)}.welcome-key{transition:translate 60ms,border-bottom-width 60ms,filter 60ms}.welcome-key.is-down{box-shadow:0 4px 8px -6px var(--veil);filter:brightness(1.25);border-bottom-width:2px;translate:0 5px}.welcome-try{text-align:center;color:var(--welcome-teal);font-size:clamp(13px,2.4cqw,19px);font-weight:650;position:absolute;bottom:0;left:0;right:0}@media (hover:none) and (pointer:coarse){.welcome-try{display:none}.welcome-needs-keyboard{display:block}}.welcome-pet{filter:drop-shadow(0 6px #153e4817);width:25%;position:absolute;bottom:12%}.welcome-pet .petart{width:100%;height:auto;display:block}.welcome-pet-1{left:7%;transform:rotate(-4deg)}.welcome-pet-2{width:22%;right:9%;transform:rotate(5deg)}.welcome-pet.is-wide{width:38%}.welcome-pet-2.is-wide{right:3%}.welcome-pin{--tile:12cqw;z-index:1;position:absolute;translate:-50% -100%}.save-warning{z-index:100;background:var(--gold);color:var(--ink);text-align:center;padding:9px 16px;font-size:13px;position:fixed;top:0;left:0;right:0}.information-dialog{width:min(560px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);-webkit-user-select:text;user-select:text;background:0 0;border:0;margin:auto;padding:0;overflow:visible}.information-dialog::backdrop{background:var(--veil)}.information-dialog>.shopcard{max-height:min(640px,100dvh - 32px)}.information-dialog h2:focus{outline:none}.information-body{flex:1;min-height:0;padding:4px 20px 16px;overflow-y:auto}.information-dialog .shopfoot{justify-content:flex-end}.information-dialog p{color:var(--muted);margin:12px 0;font-size:14px;line-height:1.7}.information-dialog h3{margin:22px 0 8px;font-size:18px}.information-dialog .privacy-small{font-size:12px;line-height:1.65}.choice-section{border-top:1px solid var(--line);margin-top:16px;padding:4px 0 6px;scroll-margin-top:12px}.feedback-form,.feedback-confirmation{padding:4px 0}.feedback-form{gap:12px;display:grid}.feedback-form label{font-size:18px;font-weight:800;line-height:1.4}.information-dialog .feedback-form p,.information-dialog .feedback-confirmation p{margin:0}.feedback-form textarea{box-sizing:border-box;border:1px solid var(--line);background:var(--bg2);width:100%;min-height:140px;color:var(--text);font:inherit;resize:vertical;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;padding:12px;font-size:16px;line-height:1.5}.feedback-form textarea::placeholder{color:var(--muted)}.feedback-form textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.feedback-form textarea:disabled{opacity:.7}.feedback-form .btn{justify-self:start}.feedback-confirmation h3{margin-top:0}.choice-section h3:focus{outline:none}.choice-section h3:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.choice-state{border:1px solid var(--line);color:var(--muted);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:600}.sharing-players{margin:4px 0 0;padding:0;list-style:none}.sharing-players li+li{border-top:1px solid var(--line)}.sharing-players .setting-row{padding:10px 0}.sharing-players .childavatar{font-size:30px}.information-dialog .grown-up-check.compact{margin:12px 0 4px}.sharing-players .grown-up-check.compact{margin:0 0 14px}.sharing-name{font-weight:600}.sharing-unnamed{cursor:default;color:var(--muted)}.sharing-note{font-size:13px}.choice-foot{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.privacy-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.privacy-actions .btn{padding-inline:10px;line-height:1.4}.privacy-actions .btn[aria-pressed=true],.privacy-actions .btn.is-choosing{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.welcome-page:has(.consent-bar){--welcome-ask:62px}.consent-bar{border-bottom:1px solid var(--line);color:var(--welcome-muted);background:#0003;font-size:14px;line-height:1.4}.consent-inner{box-sizing:border-box;width:min(calc(1180px * var(--s)),100%);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:auto;padding:10px clamp(22px,4vw,54px);display:flex}.consent-line{flex:220px;margin:0}.consent-question,.consent-detail{display:block}.consent-question{color:var(--text);font-weight:600}.consent-line .text-link{min-height:0;color:var(--welcome-teal);padding:0}.consent-actions{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.consent-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.consent-bar .grown-up-check{flex:300px}.consent-who{flex-shrink:0;display:flex}.consent-who .hud-icon{width:32px;height:32px}.grown-up-check{margin-top:12px}.grown-up-question{color:var(--text);margin:0 0 8px}.grown-up-row{align-items:center;gap:10px;display:flex}.grown-up-sum{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:16px;font-weight:650}.grown-up-row input{box-sizing:border-box;border:1px solid var(--line);width:5.5em;min-width:4.5em;min-height:44px;color:var(--text);font:inherit;text-align:center;background:#0000002e;border-radius:10px;padding:8px 12px;font-size:16px;font-weight:600;box-shadow:inset 0 2px 3px #0003}.grown-up-row input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.grown-up-check.compact{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;display:flex}.grown-up-check.compact .grown-up-question{color:var(--text);flex:260px;margin:0}.grown-up-check.compact .grown-up-row{gap:8px}.grown-up-check.compact .grown-up-row input{width:4.5em;min-height:36px;padding:4px 10px}.text-link{font:inherit;min-height:36px;color:var(--accent);cursor:pointer;text-align:left;text-underline-offset:4px;background:0 0;border:0;padding:4px 0;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.text-link:hover{filter:brightness(1.2)}.text-link.quiet{color:var(--muted)}.text-link.quiet:hover{filter:none;color:var(--text)}.information-kicker{font-weight:700}.setting-row{cursor:pointer;align-items:center;gap:12px;padding:14px 0;font-size:15px;line-height:1.6;display:flex}.setting-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.developer-privacy{border-top:1px solid var(--line);padding-top:16px;font-size:12px}.developer-privacy summary{cursor:pointer}.developer-privacy .setting-row{font-size:12px}.information-dialog button:focus-visible,.setting-row input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (width<=920px){.welcome,.consent-inner{padding-inline:28px}.welcome{--welcome-head:100px}.welcome h1{letter-spacing:-1.8px;font-size:44px}.welcome-hero{grid-template-columns:1.1fr 1fr}.welcome-intro{font-size:14px}}@media (width<=640px){.welcome,.consent-inner{padding-inline:22px}.consent-why{display:none}.consent-who .hud-icon{width:26px;height:26px}.consent-question{font-size:13.5px}.consent-actions{flex-basis:calc(100% - 36px);margin-left:36px}.welcome{--welcome-head:92px}.welcome-header{gap:10px}.welcome-brand{gap:5px;font-size:25px}.welcome-brand img{width:45px;height:45px}.welcome-header .welcome-link{font-size:12px}.welcome-hero{grid-template-columns:1fr;gap:18px;padding:22px 0 20px}.welcome h1{font-size:44px}.welcome-eyebrow{margin-bottom:16px;font-size:11px}.welcome-intro{max-width:400px;margin-bottom:24px;font-size:15px}.welcome-play{width:100%;max-width:360px}.welcome-returning h1{letter-spacing:-1.4px;font-size:34px}.welcome-play{gap:12px;padding:13px 16px;font-size:15px!important}.welcome-scene{justify-self:center;max-width:440px}.welcome-key{font-size:30px}.information-body{padding:2px 16px 14px}}@media (width<=380px){.welcome h1{font-size:38px}.welcome-brand{font-size:22px}.welcome-brand img{width:40px;height:40px}.welcome-header .welcome-link{gap:5px}.privacy-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.welcome-play,.welcome-continue,.welcome-key{transition:none}}.childavatar{vertical-align:middle;flex-shrink:0;width:1em;height:1em;display:inline-block}.childavatar.closeup{clip-path:inset(0 round 30%);width:1.64em;height:1em}.childavatar.extraicon{filter:drop-shadow(0 0 .6px #ffffffe6)drop-shadow(0 0 1.5px #ffffff59);width:1.6em;height:1em}.overlay.profile:focus{outline:none}.shopcard.profilecard{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.profilecard>.maphead{grid-area:1/1}.profilecard>.profilebody{grid-area:2/1}.profilecard>.shopfoot{flex-wrap:wrap;grid-area:3/1}.coach.profilecoach{--head:16px;align-items:flex-start;gap:8px;width:100%;margin-top:4px;display:flex}.profilecoach .coachface{width:40px;height:40px}.profilecoach .coachbubble{flex:1;min-width:0;font-size:13px}.profilecoach .coachbubble:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:-10px}.profilebody{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:14px 18px;padding:16px 18px;display:grid;overflow-y:auto}.mirror{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.profilepreview{background:radial-gradient(60% 45% at 50% 100%,#ffffff29,#fff0),var(--panel);border:1px solid var(--line);border-radius:12px;place-items:center;width:100%;height:150px;font-size:112px;line-height:1;display:grid}.profilepreview .childavatar{animation:.7s giftwiggle}@media (prefers-reduced-motion:reduce){.profilepreview .childavatar{animation:none}}.profilecard input[type=text],.profilecard input:not([type]){border:1px solid var(--line);width:100%;font:inherit;color:var(--text);background:var(--panel);-webkit-user-select:text;user-select:text;border-radius:12px;margin:8px 0 0;padding:12px;font-size:16px}.profilecard input.nameheading{text-align:center;border:0;border-bottom:2px dashed var(--line);background:0 0;border-radius:0;width:100%;margin:0;padding:2px 6px 4px;font-size:22px;font-weight:700;display:block}.profilecard input.nameheading::placeholder{color:var(--muted)}.profilecard input.nameheading:hover{border-bottom-color:var(--muted)}.profilecard input.nameheading:placeholder-shown{border-bottom-color:var(--accent)}.profilecard input.nameheading:focus{border-bottom:2px solid var(--accent);outline:none}.profilecard input.nameheading{caret-color:var(--accent)}.profilecard input.nameheading:placeholder-shown:not(:focus){background:var(--accent);border-bottom-color:#0000;border-radius:8px;animation:2.4s ease-in-out infinite nameready;box-shadow:0 0 0 3px #ffffff24}.profilecard input.nameheading:placeholder-shown:not(:focus)::placeholder{color:var(--ink)}@keyframes nameready{50%{box-shadow:0 0 0 6px #ffd54a59}}.profilecard input.nameheading.called:placeholder-shown:not(:focus){animation:1.2s ease-in-out infinite namecall}@keyframes namecall{50%{box-shadow:0 0 0 9px #ffd54a8c}}.profilecard input.nameheading.asked,.profilecard input.nameheading.asked:placeholder-shown:not(:focus){animation:.3s 2 nudge}@media (prefers-reduced-motion:reduce){.profilecard input.nameheading{animation:none!important}}.wardrobe{flex-direction:column;gap:8px;min-width:0;display:flex}.looktray{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-items:center;min-width:0;margin:0;padding:5px;display:grid}.eyes-selector{position:relative}.eyes-selector.unavailable .looktray{opacity:.3}.look-disabled-note{pointer-events:none;color:var(--text);text-align:center;place-items:center;margin:0;padding:0 8px;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.look-disabled-note span{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.faceless-offer{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;min-width:0;padding:5px 8px;display:flex}.faceless-offer-avatar{flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.faceless-offer-avatar svg{width:100%;height:100%}.faceless-offer-copy{min-width:0;color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.faceless-offer-copy strong{color:var(--text);font-size:13px}.faceless-offer-copy .inline-icon{vertical-align:-2px;width:12px;height:12px}.faceless-offer>.btn{flex-shrink:0;min-height:38px;margin-left:auto;padding:6px 10px;font-size:14px}.looktray.styles{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;row-gap:2px}.look{cursor:pointer;display:block;position:relative}.look input{opacity:0;width:1px;height:1px;position:absolute}.look .swatch{border:1px solid #0000;border-radius:10px;place-items:center;transition:transform .12s,border-color .2s;display:grid}.look:hover .swatch{transform:translateY(-2px)}.look.style .swatch{width:42px;height:48px;font-size:40px}.look.hair .swatch{width:52px;height:48px;font-size:38px}.look.eyes .swatch{width:56px;height:40px;font-size:28px}.look.tone .swatch{width:40px;height:42px;font-size:32px}.look.extra .swatch{width:56px;height:44px;font-size:34px}.look.locked{font:inherit;color:inherit;background:0 0;border:0;padding:0}.look.locked:focus-visible{outline:none}.look.locked:focus-visible .swatch{outline:2px solid var(--focus);outline-offset:3px}.look.locked .swatch{border:1px dashed var(--line);background:#ffffff0a;position:relative}.look.locked .swatch>svg:first-child{opacity:.7}.look.locked .swatchlock{width:16px;height:16px;position:absolute;top:-3px;right:-4px}.look.locked .saving{height:4px;position:absolute;bottom:2px;left:5px;right:5px}.look.locked .saving.full i{background:var(--correct)}.look input:checked+.swatch{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#ffd54a1f}.look input:focus-visible+.swatch,.profilecard input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.profilecard .shopfoot [type=submit]{min-width:150px;margin-left:auto}.profilecard .surprise{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}@media (width<=560px){.profilebody{grid-template-columns:minmax(0,1fr);padding:14px}.mirror{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"face name""face coach";align-items:center;gap:6px 12px;display:grid}.mirror>.profilepreview{grid-area:face;width:96px;height:96px;font-size:76px}.mirror>.nameheading{grid-area:name;min-width:0}.mirror>.profilecoach{grid-area:coach;margin-top:0}}@media (width<=380px){.mirror>.profilepreview{width:76px;height:76px;font-size:60px}.profilebody{row-gap:10px}.mirror,.wardrobe{gap:6px}.look.style .swatch{width:36px;height:38px;font-size:32px}.look.hair .swatch{width:44px;height:38px;font-size:32px}.look.eyes .swatch{width:46px;height:32px;font-size:24px}.look.tone .swatch{width:36px;height:34px;font-size:28px}.look.extra .swatch{width:48px;height:36px;font-size:28px}}.shopcard>[hidden]{display:none}.item-preview{text-align:center;flex-direction:column;flex:0 auto;min-height:0;padding:22px 24px 18px;animation:.22s previewin;display:flex;overflow-y:auto}.overlay.catalogue:not(.collection) .shopcard{view-transition-name:shopcard}::view-transition-group(shopcard){animation-duration:.24s;animation-timing-function:ease}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.item-preview>*{width:min(440px,100%);margin-inline:auto}.item-preview h3{margin:16px auto 8px;font-size:23px}.item-preview p{color:var(--muted);margin:10px 0;font-size:14px;line-height:1.5}.item-preview .purchase-preview{width:min(440px,100%);container-type:inline-size}.item-preview .purchase-preview .mini{aspect-ratio:3;gap:2cqw;height:auto;padding:4.7cqw 4cqw 0}.item-preview .purchase-preview .mini i{--ks:1;flex:0 12cqw;height:11.5cqw;font-size:4.2cqw}.item-preview .purchase-preview .mini i.space{flex-basis:28.7cqw}@keyframes previewin{0%{opacity:0;transform:translate(18px)}}@media (prefers-reduced-motion:reduce){.item-preview{animation:none}}.purchase-preview{width:100%;margin:0 auto}.purchase-preview .mini{border-radius:14px;justify-content:center;align-items:flex-start;gap:8px;height:118px;padding:18px 12px 0;display:flex;overflow:hidden}.purchase-preview .mini i{flex:0 44px;place-items:center;min-width:0;height:44px;font-size:18px;font-style:normal;line-height:1;transition:transform 60ms,box-shadow 60ms;display:grid}.purchase-preview .mini i.space{flex-basis:104px}.purchase-preview .petshow{display:block}.purchase-preview .mini.petmini{align-items:flex-end;padding:10px 0 8px}.purchase-preview .petart{width:auto;height:100%}button.purchase-preview{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:0;transition:transform .1s;display:block;position:relative}button.purchase-preview:active{transform:scale(.98)}button.purchase-preview:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hearbadge{--speaker-body:#4b5465;--speaker-detail:#8197b0;--speaker-waves:#2c75a7;background:#ffffffeb;border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 2px 10px #00000073}button.purchase-preview:hover .hearbadge{background:#fff;transform:scale(1.06)}.hearbadge.playing{animation:.5s ease-in-out infinite alternate hearpulse}@keyframes hearpulse{to{transform:scale(1.15);box-shadow:0 0 0 6px #ffffff40,0 2px 10px #00000073}}@media (prefers-reduced-motion:reduce){.hearbadge.playing{animation:none}}.purchase-progress{align-items:center;gap:10px;margin:14px 8px 0;font-size:22px;display:flex}.purchase-progress .saving{border-radius:7px;flex:1;height:14px}.purchase-progress.full .saving i{background:var(--correct)}.item-preview #purchaseDetails p{color:var(--text);margin-top:10px;font-size:16px}#purchaseDetails.nudged>*{animation:.3s 2 nudge}@media (prefers-reduced-motion:reduce){#purchaseDetails.nudged>*{animation:none}}.purchase-action{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.pricepill{color:#fff;background:#00000047;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}@media (prefers-reduced-motion:reduce){.purchase-preview .mini i{transition:none}}.overlay.shop{z-index:28;padding:16px}.shopcard{background:var(--bg2);border:1px solid var(--line);border-radius:20px;flex-direction:column;width:min(560px,100%);max-height:min(640px,100%);animation:.25s fadein;display:flex;overflow:hidden;box-shadow:0 26px 70px -22px #000}:is(.shopcard,.ladder).replacing{animation:none}.shopgrid{--fade-above:0px;--fade-below:0px;min-height:0;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-above),#000 calc(100% - var(--fade-below)),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-above),#000 calc(100% - var(--fade-below)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-above),#000 calc(100% - var(--fade-below)),transparent);flex:1;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;padding:14px;scroll-padding:40px 0;display:grid;overflow-y:auto}.shopgrid.more-above{--fade-above:40px}.shopgrid.more-below{--fade-below:40px}.boardbody{flex:1;min-height:150px;padding:8px 14px 14px;overflow-y:auto}.boardnote{min-height:120px;color:var(--muted);justify-content:center;align-items:center;margin:0;display:flex}.boardlist{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.boardlist li{background:var(--panel);border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex}.boardlist li.me{box-shadow:inset 0 0 0 2px var(--accent)}.boardrank .hud-icon{margin-inline:auto}.boardrank{text-align:center;color:var(--muted);flex:0 0 28px;font-size:15px;font-weight:700}.boardface{font-size:30px;line-height:1;display:flex}.boardname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.boardscore{font-variant-numeric:tabular-nums}.leaderboard .shoptab{flex:1;justify-content:center;min-width:0}@media (width<=420px){.leaderboard .shoptab{flex-direction:column;gap:4px;padding:9px 6px 10px;font-size:13px}}.shoptabs{border-bottom:1px solid var(--line);flex:none;gap:6px;padding:10px 14px 0;display:flex}.shoptab{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:12px 12px 0 0;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 16px 10px;font-size:15px;font-weight:700;display:flex}.shoptab:hover{color:var(--text)}.shoptab.on{color:var(--text);background:var(--bg2);border-color:var(--line)}.shoptab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tabnews{background:var(--correct);color:#10261a;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:22px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.skin .mini.petmini{align-items:center;padding:4px 0 2px}.skin .mini.petmini .petart{width:auto;height:100%}.shopfoot{padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.shopfoot .logout,.shopfoot .pets-home{margin-right:auto}.shopfoot .text-link{font-size:14px}.shopfoot .unlock{text-align:left;flex:1;min-height:0;margin:0;font-size:14px}.skin{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:5px;padding:7px 8px 8px;transition:transform .12s,border-color .2s,opacity .2s;display:flex;position:relative}.skin:hover{transform:translateY(-2px)}.skin .mini{border-radius:9px;justify-content:center;align-items:flex-start;gap:4px;height:46px;padding-top:7px;display:flex;overflow:hidden}.skin .mini i{--ks:.33;width:17px;height:16px;display:block}.mini[data-theme] i{border:1px solid var(--kborder);border-radius:calc(var(--kradius) * var(--ks,1));color:var(--ktext);box-shadow:inset 0 1px 0 #ffffff4d,inset 0 calc(-3px * var(--ks,1)) calc(4px * var(--ks,1)) #00000038, 0 max(1px,calc(3px * var(--ks,1))) 0 var(--kedge),0 calc(5px * var(--ks,1)) calc(7px * var(--ks,1)) #0000004d,var(--kshadow)}.mini[data-theme] i.down{transform:translateY(max(1px,calc(3px * var(--ks,1))));box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 2px #0000002e,0 1px 2px #00000047,var(--kshadow)}.skin .mini i.space{width:38px}.skin .nm{font-size:13px;font-weight:600;line-height:1}.skin .tag{color:var(--muted);font-size:12px;line-height:1.1}.skin.locked .mini{opacity:.45;filter:grayscale(.85)}.skin.afford .tag{color:var(--correct);font-weight:700}.skin.newly-affordable{border-color:var(--correct);box-shadow:inset 0 0 0 1px var(--correct);background:#4ade801a}.skin .newlabel{background:var(--correct);color:#10261a;border-radius:7px;padding:3px 6px;font-size:11px;font-weight:800;line-height:1.2;position:absolute;top:3px;right:3px}.skin .badge{background:var(--bg2);border:2px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:flex;position:absolute;top:2px;right:3px;box-shadow:0 2px 5px #0006}.skin .badge.tick{background:var(--correct);color:#10261a;border-color:#2fa35f;font-size:12px;font-weight:800}.skin.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.skin.selected .tag{color:var(--accent)}.skin.cant{animation:.3s nudge}.shopgroup{color:var(--muted);grid-column:1/-1;margin:8px 2px -3px;font-size:12px;font-weight:700}.shopgroup:first-child{margin-top:0}.catalogue .shopcard{width:min(680px,100%);max-height:min(760px,100%)}.overlay.catalogue:not(.collection) .shopcard:not(.previewing){height:min(760px,100%)}.catalogue .shopgrid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.catalogue .skin .mini{height:70px}.catalogue .skin .nm{font-size:15px;line-height:1.25}.catalogue .skin .tag{font-size:14px;line-height:1.35}.catalogue .skin.selected{border-color:var(--accent);box-shadow:none;background:var(--panel)}.catalogue .skin:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.catalog-price{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.skin.short .catalog-price{color:var(--muted)}.saving{background:#ffffff1a;border-radius:3px;height:6px;display:block;overflow:hidden}.saving i{border-radius:inherit;background:var(--accent);min-width:6px;height:100%;display:block}.catalogue .shopfoot{flex-wrap:wrap}.catalogue .shopfoot .unlock:empty{display:none}.catalogue .shopfoot .unlock{flex-basis:100%;font-size:13px}.catalogue .shopfoot .shop-trial{color:var(--muted);margin-right:auto;font-size:14px}.catalogue:not(.collection) .shopfoot .shop-done{margin-left:auto}.collection .shopgrid{min-height:150px}.collection .shopfoot>:first-child:not(.pets-home){margin-left:auto}.collection-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 16px;display:flex}.collection-empty p{color:var(--muted);margin:0;font-size:17px}.shop-empty{text-align:center;color:var(--muted);grid-column:1/-1;margin:24px 0;font-size:17px}@media (width<=560px){.catalogue.overlay{padding:8px}.catalogue .shopgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}}@media (height<=600px){.purchase-preview .mini{height:84px}}.skin.trial .mini{opacity:.88}.hud{flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;max-width:900px;padding:14px 16px 0;font-size:14px;display:flex}.hud-left,.hud-right,.hud-progress,.hud-social{align-items:center;gap:8px;display:flex}.hud-left,.hud-right{flex-wrap:wrap;min-width:0}.hud-right{margin-left:auto}.hud-tools,.hud-social{border-left:1px solid var(--line);margin-left:2px;padding-left:10px}.hud-social{gap:2px}.chip{font:inherit;background:var(--panel);border:1px solid var(--line);cursor:pointer;min-height:42px;color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;transition:background .4s,border-color .4s;display:flex}.chip b{font-variant-numeric:tabular-nums;font-weight:600}.chip:hover{border-color:var(--accent)}.hud-emoji{font-size:26px;line-height:1;display:inline-block}.hud-icon{flex-shrink:0;width:26px;height:26px;display:block}.hud-icon.inline-icon{vertical-align:-.25em;width:1.25em;height:1.25em;display:inline-block}.icon-glue{white-space:nowrap}.hud-tools{align-items:center;gap:2px;display:flex}@media (width<=330px){.shopword{display:none}}.iconbtn{min-width:42px;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;font-family:inherit;line-height:1;display:flex}.iconbtn:hover{background:var(--panel);color:var(--text)}.ambiencebtn.quiet,.voicebtn.quiet{opacity:.5}.iconbtn.playerbtn{margin-left:2px;padding:2px;position:relative}.playerbtn>span{font-size:38px;line-height:1;display:flex}.playerbtn>.avatarstreak{color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#3a1a0c;border:1.5px solid #ff8a3d;border-radius:999px;align-items:center;gap:1px;width:max-content;margin:0 auto;padding:1px 6px 1px 2px;font-size:12px;font-weight:800;line-height:1;animation:.45s cubic-bezier(.3,1.6,.5,1) giftpop;display:flex;position:absolute;bottom:-9px;left:0;right:0;box-shadow:0 1px 3px #0006}.avatarstreak .hud-icon{width:15px;height:15px}@media (prefers-reduced-motion:reduce){.playerbtn>.avatarstreak{animation:none}}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:30;border:1px solid var(--line);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;background:#0a0e1ef0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;line-height:1.4;transition:opacity .12s;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}@media (hover:hover){[data-tip]:hover:after{opacity:1;transition-delay:.35s}}[data-tip]:focus-visible:after{opacity:1}@media (width<=900px){.hud{gap:8px}.hud-left,.hud-right{display:contents}.hud .chip{min-width:0}.hud-progress{gap:4px;min-width:0}.hud-progress .chip{min-width:0;padding-left:7px;padding-right:7px}.hud-tools{border-left:0;margin-left:0;padding-left:0}.hud-social{border-left:0;gap:0;margin-left:auto;padding-left:0}}.needs-keyboard{text-align:center;color:var(--muted);margin:8px 16px 0;font-size:13px;display:none}@media (hover:none) and (pointer:coarse){.needs-keyboard{display:block}}@media (width<=380px){.hud-progress{gap:2px}.hud-progress .giftchip{padding-left:5px;padding-right:5px}}main{flex-direction:column;flex:1;align-items:center;width:100%;max-width:900px;padding:0 16px;display:flex}.wordpips{justify-content:center;gap:6px;width:100%;display:flex}.wordpips i{background:#ffffff29;border-radius:3px;flex:0 26px;min-width:8px;height:6px;transition:background .2s}.wordpips i.at{box-shadow:0 0 0 2px var(--accent)}.wordpips i.done{background:var(--correct);animation:.3s pipfill}@keyframes pipfill{40%{transform:scaleY(1.9)}}@media (prefers-reduced-motion:reduce){.wordpips i.done{animation:none}}.exercise-prompt{--exercise-size:clamp(26px,4.4vw,44px);flex-direction:column;align-items:center;width:100%;max-width:860px;display:flex}.typing-area{width:100%;min-height:calc(var(--exercise-size) * 3.3 + 38px);flex-direction:column;justify-content:center;align-items:center;padding:8px 0 24px;display:flex}#text{font-family:Cascadia Mono,Consolas,SF Mono,Menlo,monospace;font-size:var(--exercise-size);text-align:center;letter-spacing:.02em;max-width:100%;margin:0 0 8px;line-height:1.65}.word{display:inline-block}.ch{color:var(--pending);border-radius:6px;padding:2px 1px;transition:color 80ms,background 80ms}.ch.space{padding-left:5px;padding-right:5px}.ch.done{color:var(--correct)}.ch.current{color:var(--ink);background:var(--accent);box-shadow:0 0 0 3px #ffffff24}.ch.bad{color:var(--ink);background:var(--wrong);animation:.18s nudge;box-shadow:0 0 0 3px #ff7a7a4d}@keyframes nudge{0%{transform:translate(0)}30%{transform:translate(-3px)}60%{transform:translate(3px)}to{transform:translate(0)}}.hint{min-height:34px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:clamp(0px,1.4vh,16px);font-size:15px;display:flex}.hint .kcap{text-align:center;background:var(--panel);border:1px solid var(--line);min-width:26px;color:var(--text);border-radius:6px;padding:2px 7px;font-family:Consolas,monospace;display:inline-block}.hint b{color:var(--text);font-weight:600}.hands{align-items:flex-end;gap:6px;margin:clamp(4px,1.4vh,16px) 0 clamp(2px,.7vh,8px);display:flex}.hands .gap{width:22px}.hands i{opacity:.28;border-radius:7px;width:13px;height:22px;transition:all .15s;display:block}.hands i.thumb{width:22px;height:13px}.hands i.on{opacity:1;transform:translateY(-4px)scale(1.12)}.guide{flex-direction:column;align-self:stretch;align-items:center;display:flex;position:relative}.coachspot{pointer-events:none;justify-content:flex-end;width:calc(50% - 135px);display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}@media (width>=761px){.guide.introducing .hint,.guide.introducing .hands{visibility:hidden}.guide.introducing .coachspot{justify-content:center;width:min(580px,94%);left:50%;transform:translate(-50%,-50%)}.guide.introducing .coach.play .coachbubble{max-width:500px}}@media (width<=760px){.coachspot{justify-content:center;width:auto;position:fixed;inset:auto 12px 12px;transform:none}}#keyboard{flex-direction:column;align-items:center;gap:6px;margin:clamp(4px,1.8vh,20px) 0 clamp(4px,1.4vh,16px);display:flex;position:relative}.pet{--pw:calc(var(--u) * 1.7);--ph:calc(var(--u) * 1.36);right:calc(var(--u) * .5);bottom:calc(var(--u) * -.36);width:var(--pw);height:var(--ph);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute}.pet-slot-1{right:auto;left:calc(var(--u) * .5)}.pet.held{cursor:grabbing}.pet.placed{z-index:6;bottom:auto;right:auto;left:clamp(calc(var(--pw) / 2), calc(var(--x,.5) * 100vw), calc(100vw - var(--pw) / 2));top:clamp(calc(var(--ph) / 2), calc(var(--y,.5) * 100vh), calc(100vh - var(--ph) / 2));position:fixed;transform:translate(-50%,-50%)}.pet.held{filter:drop-shadow(0 10px 10px #00000073)}.pet:before{content:"";z-index:-1;pointer-events:none;aspect-ratio:200/110;background:var(--habitat,none) center / 100% 100% no-repeat;height:125%;position:absolute;bottom:-10%;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(closest-side,#000 58%,#0000);mask-image:radial-gradient(closest-side,#000 58%,#0000)}.pet svg{width:100%;height:100%;display:block;overflow:visible}.pet.wide{--pw:calc(var(--u) * 2.72)}.petart.taxehund .pettail{transform-origin:111px 46px}.petart .petsleepeyes,.petart .mouth-happy,.petart .mouth-oops,.petart .zzz,.petart .petfire,.petart .petsparkle,.petart .catblink,.petart .catpurr{display:none}.petart{display:block;overflow:visible}.pet.sleep .peteyes{display:none}.pet.sleep .petsleepeyes,.pet.sleep .zzz{display:inline}:is(.pet,.petshow).happy .mouth-idle,.pet.oops .mouth-idle{display:none}:is(.pet,.petshow).happy .mouth-happy,.pet.oops .mouth-oops{display:inline}.pettail{transform-origin:58px 50px;animation:1.3s ease-in-out infinite alternate petwag}:is(.pet,.petshow).happy .pettail{animation-duration:.16s}:is(.pet,.petshow).happy svg{animation:.35s pethop}.pethead{transform-origin:31px 34px;transition:transform .2s}.pet.oops .pethead{transform:rotate(-12deg)}.pet.sleep .pettail{animation:none;transform:rotate(-30deg)}.pet.sleep .petbody{transform-origin:44px 58px;animation:2.4s ease-in-out infinite petbreathe}.pet.sleep .zzz{animation:2.4s ease-in-out infinite petzzz}.pet.arriving svg{animation:.4s 3 pethop}:is(.pet,.petshow).happy .petfire{transform-origin:22px 39px;animation:.16s ease-in-out infinite alternate petfire;display:inline}@keyframes petfire{0%{transform:scale(.85)}to{transform:scale(1.1)}}:is(.pet,.petshow).happy .petart.cat .peteyes{display:none}:is(.pet,.petshow).happy .petart.cat .catblink{display:inline}:is(.pet,.petshow).happy .petart.cat .catpurr{animation:1.2s ease-in-out infinite petzzz;display:inline}.petart.cat .peteyes{transform-origin:31px 28px;animation:5s ease-in-out infinite catblink}@keyframes catblink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.petart.cat .pettail{animation-duration:2.2s}:is(.pet,.petshow).happy .petart.cat .pettail{animation-duration:.3s}@keyframes petwag{0%{transform:rotate(-12deg)}to{transform:rotate(16deg)}}.petart:is(.crystal-pink,.crystal-blue,.crystal-purple) .pettail{transform-origin:55px 58px;animation-name:crystalwobble}.pet.sleep .petart:is(.crystal-pink,.crystal-blue,.crystal-purple) .pettail{transform:rotate(6deg)}:is(.pet,.petshow).happy .petsparkle{transform-origin:32px 30px;animation:.3s ease-in-out infinite alternate crystalsparkle;display:inline}@keyframes crystalwobble{0%{transform:rotate(-5deg)}to{transform:rotate(7deg)}}@keyframes crystalsparkle{0%{opacity:.25;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}@keyframes pethop{50%{transform:translateY(-12%)}}@keyframes petbreathe{50%{transform:scaleY(1.04)}}@keyframes petzzz{0%{opacity:0;transform:translateY(4px)}40%,70%{opacity:1}to{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.pet *,.pet svg,.petshow svg,.petart *{animation:none!important}}.krow{gap:6px;display:flex}.key{height:calc(var(--u)*.96);width:var(--u);border-radius:var(--kradius);background:linear-gradient(180deg,rgba(255,255,255,var(--kgloss)),#fff0 45%), linear-gradient(180deg,var(--ktop),var(--kbot));border:1px solid var(--kborder);box-shadow:inset 0 1px 0 #ffffff4d, inset 0 -3px 4px #00000038, 0 3px 0 var(--kedge,#00000073), 0 5px 7px #0000004d, var(--kshadow);font-size:calc(var(--u)*.33);color:var(--ktext);justify-content:center;align-items:center;transition:transform .1s,background .1s,color .1s,border-radius .45s,box-shadow .45s;display:flex;position:relative;overflow:hidden}.key:before{content:"";background-image:var(--kart,none);background-repeat:no-repeat;background-position:var(--kartpos,center);background-size:var(--kartsize,62%);opacity:var(--kartop,0);pointer-events:none;position:absolute;inset:0}.key.space:before{opacity:var(--kspaceop,0)}.key .lbl{z-index:1;position:relative}.app[data-theme=tree] .key .lbl{font-weight:800}.key.small{font-size:calc(var(--u)*.22)}.key.bump:after{content:"";background:var(--ktext);opacity:.6;border-radius:2px;width:11px;height:2px;position:absolute;bottom:5px}.key.nudge{animation:.8s ease-in-out 2 key-nudge}@keyframes key-nudge{50%{filter:brightness(1.35)saturate(1.2)}}.key.noted{box-shadow:0 0 0 2px var(--gold),0 0 16px -2px var(--gold)}.krow{position:relative}.keynote{z-index:6;white-space:nowrap;pointer-events:none;border:1px solid var(--gold);color:var(--text);background:#0a0e1ef0;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.3;animation:.3s both keynote-in;position:absolute;bottom:calc(100% + 6px)}.keynote.at-start{left:0}.keynote.at-end{right:0}@keyframes keynote-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.key.nudge,.keynote{animation:none}}.key.on{box-shadow:inset 0 1px 0 #ffffff40, inset 0 -1px 2px #0000002e, 0 1px 2px #00000047, var(--kshadow);border-color:#00000052;font-weight:700;transform:translateY(3px);color:var(--ink)!important}.key.hit{filter:brightness(1.4)}.app[data-theme=candy] .key.hit,.app[data-theme=chess] .key.hit,.app[data-theme=turtle] .key.hit,.app[data-theme=duck] .key.hit{filter:brightness(.93)}.app[data-theme=arcade] .key{text-shadow:0 0 7px}.app[data-theme=lava] .key{text-shadow:0 0 6px #ff78288c}.app[data-theme=lava] .key.on,.app[data-theme=arcade] .key.on,.app[data-theme=galaxy] .key.on{text-shadow:none}.app[data-theme=galaxy] .key{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app[data-theme=ai] .key{text-shadow:0 0 6px #2ee6c58c}.app[data-theme=ai] .key.on{text-shadow:none}.app[data-theme=chess] .key[data-sq="1"]{color:#f2e9d6;background:linear-gradient(#5d4a33,#3d2f1d);border-color:#2a2013}.app[data-theme=chess] .key[data-sq="1"].bump:after{background:#f2e9d6}.mini[data-theme=chess] i:nth-child(2n){box-shadow:inset 0 1px #f2e9d638,0 0 0 1px #f2e9d61f;color:#f2e9d6!important;background:linear-gradient(#5d4a33,#3d2f1d)!important;border-color:#2a2013!important}.unlock{min-height:26px;color:var(--accent);opacity:0;text-align:center;margin:2px 0 4px;font-size:16px;font-weight:700;transition:opacity .35s,transform .35s;transform:translateY(6px)}.unlock.show{opacity:1;transform:translateY(0)}.controls{gap:10px;margin:clamp(4px,1.8vh,20px) 0 clamp(6px,2.2vh,26px);display:flex}main{justify-content:safe center}button.btn{font:inherit;background:linear-gradient(180deg,#ffffff0e,transparent),var(--panel);min-height:44px;color:var(--text);border:1px solid var(--line);cursor:pointer;border-bottom-width:3px;border-radius:10px;padding:9px 18px;font-size:15px;font-weight:600;transition:filter .12s,transform 80ms,box-shadow 80ms;box-shadow:inset 0 1px #ffffff0f}button.btn:hover:not(:disabled){filter:brightness(1.1)}button.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--correct),#fff 14%),var(--correct));color:#10261a;border-color:var(--correct);border-bottom-color:color-mix(in srgb,var(--correct),#10261a 45%);font-weight:700}button.btn:active:not(:disabled){filter:brightness(.97);transform:translateY(2px);box-shadow:inset 0 1px 2px #0000002e}button.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.btn.ghost{color:var(--muted);box-shadow:none;border:1px dashed var(--line);background:0 0}button.btn.ghost:hover:not(:disabled){filter:none;color:var(--accent);border-color:var(--accent)}button.btn.ghost[aria-pressed=true]{color:var(--accent);border-style:solid;border-color:var(--accent);background:#ffffff0f}button.btn.big{border-radius:14px;min-height:54px;padding:12px 22px;font-size:18px;font-weight:800}button.btn.small{min-height:36px;padding:6px 12px;font-size:13px}button.btn.locked{color:var(--muted);cursor:not-allowed;box-shadow:none;background:var(--panel)}button.btn.locked:hover:not(:disabled){filter:none}button.btn.locked:active:not(:disabled){filter:none;box-shadow:none;transform:none}button.btn.locked .pricepill{color:var(--muted)}:is(button.btn,.text-link,.chip,.iconbtn):focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){button.btn{transition:none}button.btn:active:not(:disabled){transform:none}}.overlay{background:var(--veil);z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scoreline{z-index:2;--band:#0006;--bandtext:var(--text);--bandmuted:var(--muted);--bandgold:#ffd54a;background:var(--band);border-top:1px solid #ffffff17;flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:10px 14px 11px;display:flex;position:relative}.streakline{text-align:center;color:var(--bandtext);margin:0;font-size:13px}.streakline b{color:var(--bandgold)}.streakline.best{color:var(--bandgold);font-weight:700}.streakresult:empty{display:none}.streakoffer{color:var(--bandtext);background:#ffd54a12;border:1px solid #ffd54a59;border-radius:14px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:9px 10px;font-size:13px;display:flex}.streakoffer>div{flex:auto;min-width:0}.streakoffer small{color:var(--bandmuted);margin-top:2px;font-size:11.5px;display:block}.streakoffer .btn{flex:none}.reshead{justify-content:center;align-items:center;gap:8px;display:flex}.reshead .emoji{font-size:22px;line-height:1}.reshead .restitle{color:var(--bandtext);font-size:17px;font-weight:800}.resstats{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:6px;margin:0;display:grid}.resstats .stat{text-align:center;background:#ffffff0d;border:1px solid #ffffff12;border-radius:10px;flex-direction:column-reverse;justify-content:center;align-items:center;gap:1px;min-width:0;padding:6px 4px 5px;display:flex}.resstats dd{min-height:1.25em;color:var(--bandtext,var(--text));white-space:nowrap;justify-content:center;align-items:center;gap:.25em;margin:0;font-size:16px;font-weight:800;line-height:1.15;display:flex}.resstats dt{height:26px;color:var(--bandmuted,var(--muted));white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:100%;font-size:11px;line-height:26px;overflow:hidden}.resstats .medal dd span{align-items:center;font-size:15px;display:flex}.resstats .stars dd .hud-icon{width:1em;height:1em}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.resstats .medal.m1 dd{color:var(--bronze)}.resstats .medal.m2 dd{color:var(--silver)}.resstats .medal.m3 dd{color:var(--gold)}.resstats .medal.m4 dd{color:var(--correct)}.resstats .stat.newbest{border-color:var(--bandgold);background:#ffd54a14}.resstats .stat.newbest dt b{color:var(--bandgold);font-weight:700}.scoreline.big{box-shadow:inset 0 3px 0 var(--bandgold)}.scoreline.big .restitle{color:var(--bandgold);font-size:20px}.scoreline .best{text-align:center;color:var(--bandgold);align-self:center;font-size:13px;font-weight:600}#confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}#confetti i{border-radius:2px;width:10px;height:15px;position:absolute}#confetti.rain i{animation:linear forwards fall;top:-24px}#confetti.burst i{animation:forwards burst;top:44%;left:50%}@keyframes burst{0%{animation-timing-function:cubic-bezier(.12,.8,.3,1);transform:translate(-50%)rotate(0)scale(.3)}32%{transform:translate(calc(-50% + var(--dx) * .7),var(--rise)) rotate(calc(var(--spin) * .35)) scale(1);animation-timing-function:cubic-bezier(.45,0,.85,.45)}to{transform:translate(calc(-50% + var(--dx)),70vh) rotate(var(--spin)) scale(1)}}@media (prefers-reduced-motion:reduce){#confetti{display:none}}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}.foot{color:var(--muted);margin-bottom:14px;font-size:12px}button.btn.gold{border-color:var(--gold);color:var(--gold)}button.btn.gold:hover{background:#ffd54a1f}.giftchip{transition:border-color .3s,box-shadow .3s}.giftchip.has{border-color:var(--accent);box-shadow:0 0 0 3px #ffd54a29}.gift{font:inherit;align-items:center;margin-left:4px;padding:0;line-height:1;display:flex;position:relative}.giftchip .gift{border-left:1px solid var(--line);margin-left:2px;padding-left:8px}.giftchip .giftcount{top:-12px;right:0;translate:50%}.giftbox{display:inline-block}.giftchip.has .giftbox{animation:.7s giftwiggle}.giftcount{color:#0d2617;background:var(--correct);background-clip:padding-box;border:2px solid #00000073;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:1;animation:.45s cubic-bezier(.3,1.6,.5,1) giftpop;display:flex;position:absolute;top:-7px;right:-9px}@keyframes giftpop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes giftwiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)scale(1.15)}45%{transform:rotate(11deg)scale(1.15)}70%{transform:rotate(-6deg)}}.boardicon{display:flex;position:relative}.boardbtn.has .hud-emoji{animation:.7s giftwiggle}@media (prefers-reduced-motion:reduce){.giftchip.has .giftbox,.giftcount,.boardbtn.has .hud-emoji{animation:none}}.shopnews{width:100%;color:var(--bandtext);font:inherit;text-align:left;cursor:pointer;background:#4ade8012;border:1px solid #4ade8059;border-radius:14px;align-items:center;gap:10px;padding:8px 10px 6px 7px;transition:background .2s,border-color .2s;display:flex}.shopnews:hover{background:#4ade8024;border-color:#4ade8099}.shopnews-pic{flex:none;display:flex;position:relative}.shopnews .mini{border-radius:8px;justify-content:center;align-items:flex-start;gap:2px;width:60px;height:38px;padding-top:8px;display:flex;overflow:hidden}.shopnews .mini i{--ks:.22;width:11px;height:10px;display:block}.shopnews .mini.petmini{align-items:center;padding:4px 0 2px}.shopnews .mini.petmini .petart{width:auto;height:100%}.shopnews .mini.facelessmini{align-items:center;padding:0}.shopnews .facelessmini .childavatar{width:auto;height:100%}.shopnews .newlabel{background:var(--correct);color:#10261a;background-clip:padding-box;border:2px solid #00000073;border-radius:7px;padding:2px 5px;font-size:10px;font-weight:800;line-height:1.2;position:absolute;top:-7px;right:-8px}.shopnews.racenews{border-color:color-mix(in srgb,var(--race-accent) 55%,transparent);background:color-mix(in srgb,var(--race-accent) 12%,transparent)}.shopnews.racenews:hover{background:color-mix(in srgb,var(--race-accent) 22%,transparent)}.shopnews .mini.racemini{background:#00000038;align-items:flex-end;padding:2px 0 0}.shopnews .racemini svg{width:auto;height:100%;overflow:visible}.shopnews-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.shopnews-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;line-height:1.2;overflow:hidden}.shopnews-meta{flex-wrap:wrap;align-items:center;gap:0 6px;font-size:12px;display:flex}.shopnews-ready{color:var(--correct);font-weight:700}.shopnews-text small{color:var(--bandmuted);font-size:12px;display:none}@media (width>=860px) and (height>=520px){.shopnews{gap:14px;padding:10px 12px 8px 8px}.shopnews-go{padding:6px 12px}.shopnews .mini{border-radius:10px;gap:3px;width:92px;height:58px;padding-top:12px}.shopnews .mini i{--ks:.32;width:16px;height:15px}.shopnews .mini.petmini{padding:6px 0 2px}.shopnews-text strong{font-size:17px}.shopnews-meta{gap:0 8px;font-size:13px}.shopnews-text small{display:block}.streakoffer{column-gap:10px;padding:12px 12px 12px 14px;font-size:15px}.streakoffer strong{font-size:14px}.streakoffer small{font-size:13px}}.shopnews-go{border:1.5px solid var(--correct);color:var(--correct);border-radius:999px;flex:none;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:800;line-height:1;display:flex}.shopnews-go span{font-size:15px;line-height:1}.shopnews:hover .shopnews-go{background:#4ade8024}.overlay.map{z-index:25;padding:16px}.ladder{--tile-limit:60px;--swing:1.28;--climb:.8;background:var(--bg2);border:1px solid var(--line);border-radius:20px;flex-direction:column;width:min(520px,100%);height:min(680px,100%);animation:.25s fadein;display:flex;overflow:hidden;box-shadow:0 26px 70px -22px #000}@keyframes fadein{0%{opacity:0}to{opacity:1}}.mapboard{z-index:0;pointer-events:none;position:absolute;inset:0}.mapboard .mapprops{filter:brightness(.9)}.mapboard .beam0{stop-color:#fff;stop-opacity:0}.mapboard .beam1{stop-color:#fff;stop-opacity:.075}.mapboard .vig0{stop-color:#000;stop-opacity:0}.mapboard .vig1{stop-color:#000;stop-opacity:.7}:is(.map,.shop) .maphead{z-index:2;background:var(--panel);border-bottom:1px solid var(--line);flex:none;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;padding:12px 14px;display:grid;position:relative;box-shadow:0 12px 24px -18px #000}.map .maphead{grid-template-columns:38px minmax(0,1fr) auto}:is(.map,.shop) .maptitle{text-align:center;grid-column:2;min-width:0}:is(.map,.shop) .maphead h2{margin:0;font-size:20px;line-height:1.2}:is(.map,.shop) .maphead p{color:var(--muted);margin:3px 0 0;font-size:13px}.mapviewport{flex:1;min-height:0;position:relative;overflow:hidden;container-type:size}.maprooms,.mapviewport>.pawnat{--tile:min(var(--tile-limit),calc((100cqh - 20px) / ((var(--steps) - 1) * var(--climb) + 2.25)),calc((100cqw - 28px) / (4 * var(--swing) + 1.5)))}@container (aspect-ratio<78/100){.maprooms,.mapviewport>.pawnat{--climb:.95}}@container (aspect-ratio<69/100){.maprooms,.mapviewport>.pawnat{--climb:1.1}}@container (aspect-ratio>21/20){.maprooms,.mapviewport>.pawnat{--swing:1.6;--climb:.68}}.maprooms{scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:contain;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden auto}.maprooms::-webkit-scrollbar{display:none}.maproom{scroll-snap-align:center;scroll-snap-stop:always;background:radial-gradient(1100px 600px at 50% -15%,var(--bg1),var(--bg2));flex-direction:column;flex:0 0 100%;min-height:0;display:flex;position:relative}.maproom .mapboard{position:absolute}.mapaltitude{z-index:1;pointer-events:none;color:#fffffff2;letter-spacing:.02em;text-shadow:0 1px 2px #00000073;background:#0f19236b;border:1px solid #ffffff4d;border-radius:10px;justify-content:center;align-items:baseline;gap:3px;min-width:64px;padding:6px 9px 7px;font-size:13px;font-weight:800;display:flex;position:absolute;top:12px;left:14px;box-shadow:0 4px 12px #00000029}.mapaltitude .altitudepeak{color:#ffffffb3;align-self:center;width:15px;height:11px;margin-right:2px}.mapaltitude span{font-variant-numeric:tabular-nums}.mapaltitude small{opacity:.72;font-size:10px;font-weight:700}.mapaltitude{transition:border-color .3s,box-shadow .3s}.mapaltitude[data-climbing]{border-color:#ffd54a;box-shadow:0 0 0 3px #ffd54a33,0 4px 12px #00000029}.maproute{z-index:1;flex-direction:column;flex:1;justify-content:safe center;align-items:center;min-height:0;padding:10px 14px;display:flex;position:relative;overflow:hidden}.map .mapfoot{z-index:2;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:10px 14px;display:flex;position:relative}.map .mapfoot .controls{flex:1 0 100%;justify-content:stretch;margin:0}.map .mapfoot .controls .btn{flex:1}.map .maprail{scrollbar-width:none;flex:1;gap:4px;padding:4px;scroll-padding:4px;display:flex;overflow-x:auto}.map .maprail::-webkit-scrollbar{display:none}.map .railchip{font:inherit;cursor:pointer;width:36px;height:36px;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:11px;flex:none;font-size:14px;font-weight:700}.map .railchip:hover:not(:disabled){border-color:var(--accent)}.map .railchip.done{background:var(--correct);color:#0d2617;border-color:#2fa35f}.map .railchip.gold{background:var(--gold);color:#3d2d05;border-color:#e0a91b}.map .railchip.locked{color:var(--muted);border-style:dashed}.map .railchip.at{outline:2px solid var(--accent);outline-offset:1px}.map .mapfoot .controls .mapback{flex:none}.map .mapgo{white-space:nowrap}.map .levelbadge{color:#fff;text-shadow:0 2px #0000004d,0 0 3px #00000073;background:linear-gradient(#ffe07a,#e6a91c);border-radius:10px;flex-direction:column;grid-area:1/1;justify-content:center;justify-self:start;align-items:center;width:42px;height:42px;font-size:19px;font-weight:900;line-height:1;display:flex;box-shadow:inset 0 2px #ffffff8c,0 3px #9c6d0c,0 5px 8px #0006}.map .levelbadge.locked{filter:saturate(.3)brightness(.7)}.map .levelbadge small{letter-spacing:.06em;text-transform:uppercase;margin-bottom:1px;font-size:8px;font-weight:800}.map .maphead h2{letter-spacing:.01em;flex-wrap:wrap;justify-content:center;align-items:center;min-height:30px;font-size:22px;font-weight:900;display:flex}.map .maphead .maptitle p{line-height:19px}.topickeys{vertical-align:middle;gap:5px;display:inline-flex}.topickeys kbd{min-width:28px;height:28px;font:inherit;text-transform:uppercase;color:#1f2433;background:linear-gradient(#fdfdfd,#dde2ec);border-radius:7px;place-items:center;padding:0 5px;font-size:16px;font-weight:800;display:inline-grid;box-shadow:inset 0 1px #fff,0 3px #9aa3b5,0 4px 6px #00000059}.mapprogress{background:#00000059;border-radius:999px;max-width:220px;height:7px;margin:7px auto 0;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.mapprogress.shut{visibility:hidden}.mapprogress i{background:linear-gradient(#ffe58a,#f0b429);border-radius:999px;min-width:0;height:100%;transition:width .6s;display:block}.ladder.result .maprail{display:none}.ladder.result .mapviewport{min-height:44%}.ladder.result .scoreline{overscroll-behavior:contain;flex-shrink:1;gap:6px;min-height:0;overflow-y:auto}.ladder.result .scoreline .shopnews{margin-top:6px}@media (width>=860px) and (height>=520px){.ladder.result{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 380px;width:min(900px,100%);display:grid}.ladder.result>.maphead{grid-column:1/-1}.ladder.result>.mapviewport{grid-area:2/1/4;min-height:0}.ladder.result>.scoreline{border-top:none;border-left:1px solid var(--line);grid-area:2/2;justify-content:center}.ladder.result>.mapfoot{border-left:1px solid var(--line);padding:16px 22px calc(18px + env(safe-area-inset-bottom));grid-area:3/2}.ladder.result>.scoreline{justify-content:safe center;gap:12px;padding:20px 22px}.ladder.result .reshead{margin-bottom:12px}.ladder.result .resstats{margin-bottom:4px}.ladder.result .scoreline .shopnews{margin-top:16px}.ladder.result .reshead .emoji{font-size:34px}.ladder.result .reshead .restitle{font-size:23px}.ladder.result .scoreline.big .restitle{font-size:26px}.ladder.result .resstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ladder.result .resstats .stat{border-radius:14px;padding:14px 6px 12px}.ladder.result .resstats dd{font-size:26px}.ladder.result .resstats .medal dd span{font-size:24px}.ladder.result .resstats dt{font-size:13px}.ladder.result .streakline,.ladder.result .scoreline .best{font-size:15px}.ladder.result>.scoreline{overflow-y:auto;container:resultcol/size}}@container resultcol (height<440px){.ladder.result .resstats .stat{padding:8px 6px 7px}.ladder.result .resstats dd{font-size:21px}.ladder.result .resstats .medal dd span{font-size:19px}.ladder.result .reshead .emoji{font-size:28px}.ladder.result .reshead .restitle,.ladder.result .scoreline.big .restitle{font-size:21px}}.ladder.result .scoreline:has(.streakoffer) .resstats .stat{padding:8px 6px 7px}.ladder.result .scoreline:has(.streakoffer) .resstats dd{font-size:21px}.ladder.result .scoreline:has(.streakoffer) .resstats .medal dd span{font-size:19px}.coach{pointer-events:none;z-index:3;--head:20px;align-items:flex-start;gap:10px;display:flex}.coachface{filter:drop-shadow(0 3px 4px #00000073);flex:none;width:58px;height:58px}.coach.again{pointer-events:auto;cursor:pointer}.coachagain{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;display:flex}.coachagain .coachface{transition:transform .15s}.coach.again:hover .coachface{transform:scale(1.06)}.coachagain:focus-visible{outline:3px solid var(--accent,#ffd54a);outline-offset:2px}@media (prefers-reduced-motion:reduce){.coachagain .coachface{transition:none}}.coachbubble{color:#1f2433;text-align:left;background:#fff;border-radius:14px;min-height:40px;margin:0;padding:9px 12px;font-size:13.5px;font-weight:600;line-height:1.35;position:relative;box-shadow:0 4px 12px #00000059}.coachbubble:after{content:"";top:calc(var(--head) - 8px);background:#fff;width:11px;height:16px;position:absolute}.coach.board{--head:17px;flex-direction:row-reverse;max-width:min(50%,280px);position:absolute;top:10px;right:10px}@container (width<400px){.coach.board{right:16px}}.coach.board .coachbubble{font-size:12.5px}.coachkey{min-width:1.55em;font:inherit;text-align:center;color:#1f2433;background:linear-gradient(#f7f8fb,#dde2ec);border:1px solid #c3cad8;border-radius:.35em;margin:.08em .05em .16em;padding:0 .3em;font-weight:800;line-height:1.1;display:inline-block;box-shadow:inset 0 1px #fff,0 2px #9aa3b5}.coach.board .coachface{width:50px;height:50px}.coach.board .coachbubble:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-10px}@container (height<340px){.coach.board{display:none}}@container (width<300px){.coach.board{display:none}}.coach.landing{--head:18px;margin:0 0 20px;animation:.35s cubic-bezier(.3,1.4,.5,1) coachin}.coach.landing .coachface{width:48px;height:48px}.coach.landing .coachbubble{max-width:380px;font-size:14px}.coach.landing .coachbubble:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:-10px}@media (prefers-reduced-motion:reduce){.coach.landing{animation:none}}.boardask{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.coach.leaderboard{--head:15px;min-width:0;margin:0}.boardask-note{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.boardask-go{cursor:pointer;border:1.5px solid var(--correct);min-height:36px;color:var(--correct);font:inherit;white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:center;gap:4px;padding:7px 12px;font-size:13px;font-weight:800;line-height:1;display:flex}.boardask-go span{font-size:15px;line-height:1}.boardask-go:hover{background:#4ade8024}.boardask-go:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.coach.leaderboard .coachface{width:42px;height:42px}.coach.leaderboard .coachbubble{font-size:13.5px}.coach.leaderboard .coachbubble:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:-10px}.coach.play{--head:17px;animation:.35s cubic-bezier(.3,1.4,.5,1) coachin}.coach.play .coachface{width:48px;height:48px}.coach.play .coachbubble{max-width:250px;font-size:14px}.coach.play .coachbubble:after{clip-path:polygon(100% 0,0 50%,100% 100%);left:-10px}@keyframes coachin{0%{opacity:0;transform:translate(-10px)}}@media (prefers-reduced-motion:reduce){.coach.play{animation:none}}.speech .unsaid{visibility:hidden}.coach:has(.speech.talking) .coachface{animation:.26s ease-in-out infinite alternate coachtalk}@keyframes coachtalk{to{transform:translateY(-2px)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.coach .coachface{animation:none}}@media (width<=900px){.coach.play .coachface{width:40px;height:40px}.coach.play .coachbubble{font-size:13px}}@media (width<=760px){.coach.play .coachbubble{max-width:360px}}.maptrack{width:100%;height:calc((var(--steps) - 1) * var(--climb) * var(--tile) + var(--tile) * 2.25);flex-shrink:0;position:relative}.mapstop,.maplink{left:50%;bottom:calc((var(--step) * var(--climb) + .3) * var(--tile));transform:translateX(calc(var(--wave) * var(--swing) * var(--tile) - 50%));position:absolute}.mapstop{z-index:1}.mapstop.summitflag{z-index:0;width:calc(var(--tile) * 1.2);height:calc(var(--tile) * 1.5);pointer-events:none;bottom:calc((var(--step) * var(--climb) + .55) * var(--tile))}.mapstop.summitflag svg{width:100%;height:100%;display:block;overflow:visible}.mapstop.raceflag{z-index:0;width:calc(var(--tile) * 1.3);height:calc(var(--tile) * 1.7);pointer-events:none;bottom:max(42px,calc((var(--step) * var(--climb) + .3) * var(--tile)))}.mapstop.raceflag.ai-landmark{left:calc(100% - 44px);transform:translate(-50%)}@container (height<340px){.mapstop.raceflag.ai-landmark{bottom:calc((7.2 * var(--climb) + .3) * var(--tile))}}.mapstop.raceflag .raceflag-art{filter:drop-shadow(0 2px 2px #00000059);width:100%;height:100%;display:block;position:relative;overflow:visible}.mapstop.raceflag:not(.locked):before{content:"";left:50%;bottom:calc(var(--tile) * -.12);width:calc(var(--tile) * 1.4);height:calc(var(--tile) * .55);background:radial-gradient(closest-side,color-mix(in srgb,var(--race-accent) 75%,transparent),transparent);border-radius:50%;position:absolute;translate:-50%}.mapstop.raceflag.locked .raceflag-art{filter:grayscale(.8)brightness(.7)}.raceflag-sign{transition:translate .12s;position:absolute;top:calc(100% + 4px);left:50%;translate:-55%}.raceflag-button{pointer-events:auto;width:100%;height:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;display:block;position:relative}.raceflag-button:hover .raceflag-sign{translate:-55% -2px}.raceflag-button:active .raceflag-sign{translate:-55% 1px}.raceflag-button:focus-visible{outline:none}.raceflag-button:focus-visible .raceflag-sign{outline:3px solid var(--focus);outline-offset:3px}.raceflag-sign{white-space:nowrap;background:var(--race-accent);color:#11201a;box-shadow:0 3px 0 color-mix(in srgb,var(--race-accent) 50%,#000),0 8px 14px #00000059;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:5px 8px 6px;line-height:1.15;display:flex}.raceflag-name{font-size:clamp(12px,calc(var(--tile) * .26),15px);align-items:center;gap:4px;font-weight:850;display:inline-flex}.raceflag-sign small{font-size:clamp(10px,calc(var(--tile) * .19),12px);opacity:.75;font-variant-numeric:tabular-nums;font-weight:700}.raceflag-sign .newlabel{background:var(--correct);color:#10261a;background-clip:padding-box;border:2px solid #00000073;border-radius:7px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1.2;position:absolute;top:-9px;left:0}.mapstop.raceflag.locked .raceflag-sign{color:#ffffffc7;box-shadow:none;background:#0a0e1eb8}.mapstop.raceflag.is-fresh .raceflag-art{animation:.7s cubic-bezier(.3,1.5,.5,1) .7s both raceflag-plant}.mapstop.raceflag.is-fresh .raceflag-sign{animation:.4s ease-out 1.2s both raceflag-sign}.mapstop.raceflag.is-fresh .newlabel{animation:.5s cubic-bezier(.3,1.8,.5,1) 1.5s both raceflag-badge}@keyframes raceflag-plant{0%{opacity:0;transform:translateY(-55%)scale(.6)}60%{opacity:1}to{transform:none}}@keyframes raceflag-sign{0%{opacity:0;transform:translateY(6px)}}@keyframes raceflag-badge{0%{transform:scale(0)}}@media (prefers-reduced-motion:reduce){.mapstop.raceflag.is-fresh :is(.raceflag-art,.raceflag-sign,.newlabel){animation:none}.raceflag-sign{transition:none}}.maplink{z-index:0;width:calc(var(--tile) * .16);height:calc(var(--tile) * .1);margin-bottom:calc(var(--tile) * .45);background:radial-gradient(circle at 50% 35%,#fff3c4,#e8b43a 60%,#9d6f12);border-radius:50%;box-shadow:0 2px #00000059}.pawnat{z-index:2;pointer-events:none;position:absolute;top:0;left:0}.pawnat[data-walking] .pawn{animation:none}.pawnat[data-leaping=up] .pawn{animation:.3s ease-in forwards pawnleapup}.pawnat[data-leaping=down] .pawn{animation:.45s cubic-bezier(.3,1.5,.5,1) both pawnleapdown}@keyframes pawnleapup{to{opacity:0;transform:translateY(-48px)scale(.7)}}@keyframes pawnleapdown{0%{opacity:0;transform:translateY(-48px)scale(.7)}}@media (prefers-reduced-motion:reduce){.pawn{animation:none}}.pawn{width:round(calc(var(--tile) * .875), 1px);height:round(calc(var(--tile) * .95), 1px);flex-direction:column;justify-content:flex-end;align-items:center;line-height:1;animation:.9s infinite alternate hop;display:flex}.pawnshadow{width:calc(var(--tile) * .42);height:calc(var(--tile) * .14);background:radial-gradient(closest-side,#00000061,#0000);position:absolute;bottom:0;left:50%;translate:-50% 45%}.pawntag{z-index:1;width:round(calc(var(--tile) * .75), 2px);height:round(calc(var(--tile) * .75), 2px);font-size:calc(var(--tile) * .525);background:var(--pin);margin-bottom:round(calc(var(--tile) * .155), 1px);border-radius:50% 50% 50% 0;place-items:center;display:grid;position:relative;rotate:-45deg}.pawntag:before{content:"";background:var(--pin-disc);border-radius:50%;position:absolute;inset:7%}.pawntag>.childavatar{font-size:calc(var(--tile) * .7);clip-path:circle(46%);position:relative;rotate:45deg}@keyframes hop{to{transform:translateY(-6px)}}.mapnode{width:calc(var(--tile) * 1.5);height:calc(var(--tile) * 1.05);font:inherit;font-size:calc(var(--tile) * .42);cursor:pointer;color:var(--text);--top:color-mix(in srgb,var(--stone,var(--bg1)),#fff 30%);--left:color-mix(in srgb,var(--stone,var(--bg1)),#000 12%);--right:color-mix(in srgb,var(--stone,var(--bg1)),#000 38%);filter:drop-shadow(0 8px 9px #00000080);background:0 0;border:none;padding:0;font-weight:800;transition:transform .12s,filter .12s;position:relative}.slab{width:100%;height:100%;position:absolute;inset:0}.slabdefs{width:0;height:0;position:absolute;overflow:hidden}.slabt{fill:var(--top)}.slabl{fill:var(--left)}.slabr{fill:var(--right)}.slabrim{fill:none;stroke:#ffffffbf;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.slabbevel{fill:none;stroke:#ffffff4d;stroke-width:1.5px;stroke-linejoin:round}.slabfoot{fill:none;stroke:#00000059;stroke-width:2px;stroke-linejoin:round}.mapnode:hover:not(:disabled){transform:translateY(-3px)}.mapnode:active:not(:disabled){filter:drop-shadow(0 2px 4px #0006);transform:translateY(4px)}.mapnode .num{z-index:1;color:#fff;font-weight:900;font-size:calc(var(--tile) * .46);text-shadow:0 2px #00000052,0 0 3px #0000008c;position:absolute;top:35.7%;left:50%;transform:translate(-50%,-50%)}.mapnode.locked{cursor:not-allowed;filter:saturate(.55)brightness(.8)drop-shadow(0 6px 7px #00000073)}.mapnode.locked .num{opacity:.6}.mapnode.locked .slabshine{opacity:.5}.mapnode.next{--top:color-mix(in srgb,var(--stone,var(--bg1)),#fff 62%);--left:color-mix(in srgb,var(--stone,var(--bg1)),#fff 28%);--right:color-mix(in srgb,var(--stone,var(--bg1)),#fff 12%);animation:1.6s ease-in-out infinite alternate nextglow}@keyframes nextglow{0%{filter:drop-shadow(0 8px 9px #00000080)drop-shadow(0 0 #ffeca000)}to{filter:drop-shadow(0 8px 9px #00000080)drop-shadow(0 0 14px #ffeca0bf)}}@media (prefers-reduced-motion:reduce){.mapnode.next{animation:none}}.maproom.shut .maproute{opacity:.72}.maproom.shut .mapboard{opacity:.6}.snowfall{pointer-events:none;position:absolute;inset:0;overflow:hidden}.snowfall:before,.snowfall:after{content:"";animation:linear infinite snowfall;position:absolute;bottom:0;left:0;right:0}.snowfall:before{--fall:140px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='140'%3E%3Ccircle%20cx='20'%20cy='18'%20r='2.6'%20fill='white'%20fill-opacity='0.85'/%3E%3Ccircle%20cx='96'%20cy='40'%20r='2.2'%20fill='white'%20fill-opacity='0.8'/%3E%3Ccircle%20cx='140'%20cy='92'%20r='2.8'%20fill='white'%20fill-opacity='0.85'/%3E%3Ccircle%20cx='52'%20cy='104'%20r='2.4'%20fill='white'%20fill-opacity='0.8'/%3E%3Ccircle%20cx='118'%20cy='6'%20r='2'%20fill='white'%20fill-opacity='0.75'/%3E%3C/svg%3E");animation-duration:7s;top:-140px}.snowfall:after{--fall:80px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='90'%20height='80'%3E%3Ccircle%20cx='10'%20cy='10'%20r='1.3'%20fill='white'%20fill-opacity='0.7'/%3E%3Ccircle%20cx='52'%20cy='24'%20r='1.5'%20fill='white'%20fill-opacity='0.75'/%3E%3Ccircle%20cx='80'%20cy='56'%20r='1.2'%20fill='white'%20fill-opacity='0.65'/%3E%3Ccircle%20cx='30'%20cy='50'%20r='1.4'%20fill='white'%20fill-opacity='0.7'/%3E%3Ccircle%20cx='64'%20cy='74'%20r='1.1'%20fill='white'%20fill-opacity='0.6'/%3E%3C/svg%3E");animation-duration:9s;top:-80px}@keyframes snowfall{to{transform:translateY(var(--fall))}}@media (prefers-reduced-motion:reduce){.snowfall:before,.snowfall:after{animation:none}}.maproom.shut .snowfall{opacity:.6}.mapnode .badge{z-index:2;right:calc(var(--tile) * .02);bottom:calc(var(--tile) * .04);width:calc(var(--tile) * .5);height:calc(var(--tile) * .5);font-size:calc(var(--tile) * .28);background:var(--bg2);border:2px solid var(--line);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;box-shadow:0 2px 6px #00000073}.mapnode .badge.cup{background:#fdf3d4;border-color:#e0a91b}.mapnode .badge.cup .hud-icon{width:85%;height:85%}.mapnode .badge.tick{background:var(--correct);color:#10261a;font-size:calc(var(--tile) * .33);border-color:#2fa35f;font-weight:800}.mapnode.plain{--top:#6fe39e;--left:#34a864;--right:#1f7040}.mapnode.bronze{--top:#f2ad6c;--left:#c47634;--right:#8a4c1a}.mapnode.silver{--top:#e6ebf3;--left:#aab4c4;--right:#788397}.mapnode.gold{--top:#ffd84d;--left:#e0a515;--right:#a4740b}.mapnode.done .num{font-size:calc(var(--tile) * .52)}.mapnode.current .slabt{stroke:#ffffffeb;stroke-width:7px;stroke-linejoin:round;paint-order:stroke}.mapnode:focus{outline:none}.slabring{fill:none;stroke:none;stroke-linejoin:round}.mapnode:focus-visible .slab{filter:drop-shadow(0 0 1px #000000d9)drop-shadow(0 0 1px #0009);overflow:visible}.mapnode:focus-visible .slabring{stroke:var(--focus);stroke-width:16px}.maplabel{color:var(--muted);text-align:center;text-shadow:0 1px 2px #00000080;max-width:150px;margin-top:5px;font-size:12.5px;line-height:1.3}@media (width<=460px){.ladder{--tile-limit:52px}:is(.map,.shop) .maphead h2{font-size:17px}:is(.map,.shop) .maphead{padding:10px 12px}}@media (height<=580px){:is(.map,.shop) .maphead{padding:8px 12px}:is(.map,.shop) .maphead h2{font-size:17px}:is(.map,.shop) .maphead p{font-size:11px}}@media (height<=800px){.hud{padding-top:8px}.exercise-prompt{--exercise-size:min(clamp(20px,3.6vw,36px),6vh)}.typing-area{min-height:calc(var(--exercise-size) * 3 + 38px)}#text{line-height:1.5}.hint{min-height:28px;font-size:14px}.hands i{height:18px}.hands i.thumb{height:11px}.unlock{min-height:18px;margin:0;font-size:14px}#keyboard,.krow{gap:5px}button.btn{padding:7px 14px;font-size:14px}.foot{display:none}}@media (height<=430px){.krow:first-child{display:none}.mapviewport{min-height:90px}.scoreline{overscroll-behavior:contain;flex-shrink:1;min-height:0;overflow-y:auto}}@media (height<=380px){.hands{display:none}}@media (height<=620px){.hint{min-height:24px;font-size:13px}.exercise-prompt{--exercise-size:min(clamp(19px,3vw,30px),5.5vh)}.typing-area{min-height:calc(var(--exercise-size) * 3 + 22px);padding-bottom:8px}.hands i{height:14px}.hands i.thumb{height:9px}}.welcome-go{justify-items:end;display:grid}.welcome-go>*{grid-area:1/1}.welcome-go kbd{visibility:hidden;font:inherit;border:1px solid #00000040;border-bottom-width:3px;border-radius:6px;padding:2px 7px;font-size:13px;font-weight:700}.welcome-play:focus .welcome-go>span,.welcome-continue:focus .welcome-go>span{visibility:hidden}.welcome-play:focus .welcome-go kbd,.welcome-continue:focus .welcome-go kbd{visibility:visible}@media (hover:none) and (pointer:coarse){.welcome-go>span{visibility:visible!important}.welcome-go kbd{display:none}}button.welcome-play{width:100%}a.welcome-play{width:100%;text-decoration:none}.welcome-continue{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:14px 16px;padding:16px;transition:transform .15s;display:grid}.welcome-continue:hover{transform:translateY(-2px)}.welcome-continue>.childavatar{background:var(--welcome-panel);border-radius:50%;width:1.2em;height:1.2em;padding:4px;font-size:64px}.welcome-continue-details{gap:6px;min-width:0;display:grid}.welcome-continue-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.welcome-continue-top strong{overflow-wrap:anywhere;font-size:20px}.welcome-continue-stats{white-space:nowrap;gap:12px;font-size:14px;font-weight:700;display:flex}.welcome-continue .welcome-level{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.welcome-keys{gap:4px;display:inline-flex}.welcome-keys kbd{border:1px solid var(--kborder);background:linear-gradient(var(--ktop),var(--kbot));min-width:20px;height:20px;color:var(--ktext);font:inherit;border-bottom-width:3px;border-radius:5px;place-items:center;padding:0 4px;font-size:12px;font-weight:700;display:inline-grid}.welcome-progress{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.welcome-progress-track{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.welcome-progress-track>span{background:var(--welcome-teal);border-radius:3px;height:100%;display:block}.welcome-progress-track.is-gold>span{background:var(--gold)}.welcome-continue .welcome-play{grid-column:1/-1}.welcome-others{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.welcome-others-label{color:var(--muted);margin-right:2px;font-size:13px}.welcome-other{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 5px;font-size:13px;display:inline-flex}.welcome-other:hover{border-color:var(--muted)}.welcome-other .childavatar{font-size:28px}.welcome-other-level{color:var(--muted)}.welcome-other-level.is-gold{color:var(--gold);font-weight:650}.welcome-other.welcome-add{border:1px dashed var(--welcome-teal);color:var(--welcome-teal);padding:5px 12px;font-weight:650}.race-back{border:0;border-right:1px solid var(--line);min-height:42px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:0;align-items:center;margin-right:4px;padding:6px 14px 6px 4px;display:flex}.race-back:hover{color:var(--accent)}.race-back:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}@media (width<=900px){.race-hud .race-back{border-right:0}}@media (width<=540px){.race-back-where{display:none}}.race-track{width:100%;max-width:900px;margin:0 auto;position:relative}:is(.race-title,.race-paused-note){z-index:1;color:var(--text);white-space:nowrap;background:#0a0e1ecc;border-radius:999px;margin:0;padding:3px 12px;font-size:14px;font-weight:700;line-height:1.5;position:absolute;top:8px;left:3%}.race-title{align-items:center;gap:6px;padding-left:9px;display:flex}.race-title .race-heading-flag{width:14px;height:17px;color:var(--race-accent)}.race-controls{z-index:1;display:flex;position:absolute;top:2px;right:2%}.race-controls .iconbtn{min-width:34px;min-height:34px;padding:4px}.race-stage .typing-area{min-height:0;padding:16px 0 10px}@media (height<=800px){.race-stage .exercise-prompt{--exercise-size:max(22px,min(clamp(20px,3.6vw,36px),6vh))}}.race-stage #text{margin:0;line-height:1.6;position:relative}.race-lines-window{width:100%;height:calc(var(--exercise-size) * 3.2 + 8px);padding:4px 0;overflow:hidden}.race-lines{transition:transform .25s}@media (prefers-reduced-motion:reduce){.race-lines{transition:none}}.race-strip{--disc:40px;--pet:28px;--ghost-disc:34px;--ghost-pet:23px;--rail-margin:4%;--rail-end:7%;--pet-room:max(var(--disc) / 2 + var(--you-pets,0) * var(--pet) * 1.25 - var(--you-count,0) * 4px, var(--ghost-disc) / 2 + var(--best-pets,0) * var(--ghost-pet) * 1.25 - var(--best-count,0) * 4px);--rail-start:calc(var(--rail-margin) + max(var(--pet-room), var(--label-room,0px)));isolation:isolate;width:100%;max-width:900px;height:156px;margin:0 auto;position:relative}.race-scenery{z-index:-1;display:block;position:absolute;inset:0}.race-strip:not(.is-banner) .race-scenery{-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.race-scenery-props{filter:brightness(.62)saturate(.85)}.race-scenery-landmark{filter:brightness(.85)saturate(.95)}.race-lane{height:0;position:absolute;left:0;right:0}.race-lane:before{content:"";width:var(--rail-start);background:repeating-linear-gradient(90deg,#ffffff24 0 10px,#0000 10px 17px);height:3px;position:absolute;top:-1.5px;left:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 70%);mask-image:linear-gradient(90deg,#0000,#000 70%)}.race-rail{left:var(--rail-start);right:var(--rail-end);height:0;position:absolute;top:0}.race-rail:before{content:"";background:repeating-linear-gradient(90deg,#ffffff47 0 10px,#0000 10px 17px);height:3px;position:absolute;top:-1.5px;left:0;right:0}.race-fill{background:var(--race-accent);height:5px;box-shadow:0 0 10px var(--race-accent),0 0 2px var(--race-accent);border-radius:999px;transition:width .12s linear;position:absolute;top:-2.5px;left:0}.race-fill:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%;right:-4px;box-shadow:0 0 8px #fff}.race-ghost .race-fill{background:#b0ccffbf;height:4px;top:-2px;box-shadow:0 0 8px #b0ccff99}.race-ghost .race-fill:after{opacity:.6}.race-marker{transition:left .12s linear;position:absolute;bottom:2px;transform:translate(-50%)}.race-slip{top:calc(-5px - var(--stack,0) * 7px);background:var(--wrong);border-radius:50%;width:10px;height:10px;margin-left:-5px;animation:.25s ease-out slip-in;position:absolute;box-shadow:0 0 0 2px #00000080}@keyframes slip-in{0%{transform:scale(0)}}.racer{width:var(--disc);height:var(--disc);display:block;position:relative}.racer:after{content:"";z-index:-1;background:#0006;border-radius:50%;width:30px;height:8px;margin-left:-15px;position:absolute;bottom:-5px;left:50%}.racer-disc{width:100%;height:100%;font-size:var(--disc);background:var(--pin-disc);box-shadow:0 0 0 3px var(--pin),0 4px 10px #00000073;border-radius:50%;place-items:center;display:grid;overflow:hidden}.racer-disc .childavatar{display:block}.racer-tag{background:var(--pin);color:#fff;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;transition:background .2s,color .2s,opacity .2s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.racer-tag.is-ahead{background:var(--correct);color:#0f2a1a}.racer-tag.is-behind{color:#3a2600;background:#ffc861}.racer-tag.is-stale{opacity:.55}.racer-tag.is-practice{background:#ffffff38}.racer-pets{z-index:-1;flex-direction:row-reverse;align-items:flex-end;display:flex;position:absolute;bottom:-3px;right:calc(100% - 4px)}.racer-pet{height:var(--pet);display:block}.racer-pet+.racer-pet{margin-right:-4px}.racer-pet .petart{width:auto;height:100%}.racer.is-ghost{width:var(--ghost-disc);height:var(--ghost-disc)}.racer.is-ghost:after{opacity:.5;width:24px;margin-left:-12px}.racer.is-ghost .racer-disc{font-size:var(--ghost-disc);background:#c8dcff38;box-shadow:0 0 0 2px #d6e4ffd9,0 0 16px #a0c4ffcc}.racer.is-ghost :is(.childavatar,.racer-pets){opacity:.55;filter:grayscale(.7)brightness(1.15)}.racer.is-ghost .racer-pet{height:var(--ghost-pet)}.racer.is-ghost .racer-tag{color:#e3ecff;background:#b0ccff40;box-shadow:inset 0 0 0 1px #d6e4ff80}.race-start{left:calc(var(--rail-start) - 4px);opacity:.8;background:repeating-conic-gradient(#fff 0 25%,#1d2033 0 50%) 0 0/8px 8px;width:8px;position:absolute;top:56%;bottom:4%;box-shadow:0 0 0 1px #0000004d}.race-finish{right:calc(var(--rail-end) - 4px);background:repeating-conic-gradient(#fff 0 25%,#1d2033 0 50%) 0 0/8px 8px;width:8px;position:absolute;top:56%;bottom:4%;box-shadow:0 0 0 1px #0000004d,0 0 12px #ffffff40}.race-finish-flag{color:#fff;filter:drop-shadow(0 1px 3px #0009);width:28px;height:33px;position:absolute;bottom:100%;left:2px}.race-finish-flag svg{width:100%;height:100%;display:block}.race-strip.is-banner .racer-tag{display:none}.race-lane-label{left:var(--rail-margin);z-index:-1;background:var(--pin);color:#fff;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:0 5px;font-size:10px;font-weight:800;line-height:16px;position:absolute;top:-8px}.race-ghost .race-lane-label{color:#e3ecff;background:#b0ccff40;box-shadow:inset 0 0 0 1px #d6e4ff80}.race-strip.is-banner{--rail-margin:3%;--rail-end:9%;--label-room:44px;border:1px solid #ffffff1a;border-radius:16px;max-width:none;height:150px;margin:0 0 6px;overflow:hidden}.race-replay{position:relative}.race-replay button.btn.race-replay-go{background:#0a0e1ebf;position:absolute;top:8px;left:8px}.race-replay-clock{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;background:#0a0e1ebf;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700;line-height:1.5;position:absolute;top:12px;right:8px}.race-picker .shopcard{width:min(680px,100%)}:is(.race-picker,.race-result) .maphead h2{justify-content:center;align-items:center;gap:8px;display:flex}.race-picker .maphead h2:focus{outline:none}.race-heading-flag{width:20px;height:24px;color:var(--welcome-teal);display:inline-block}.race-heading-flag svg{width:100%;height:100%;display:block}.race-picker-body{flex:1;min-height:0;padding:14px;overflow-y:auto}.race-courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.race-course{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--text);font:inherit;text-align:left;border-radius:14px;flex-direction:column;gap:10px;padding:8px 8px 12px;display:flex}button.race-course{cursor:pointer;transition:border-color .2s,background .2s}button.race-course:hover{border-color:var(--race-accent);background:color-mix(in srgb,var(--race-accent) 7%,var(--panel))}button.race-course:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.race-course-pic{display:block;position:relative}.race-course-art{isolation:isolate;border:1px solid #ffffff1a;border-radius:10px;height:118px;display:block;position:relative;overflow:hidden}.race-course-art .race-scenery{transform-origin:0 0;width:165%;height:165%;transform:scale(.606061)}.race-course-best{color:var(--race-accent);font-variant-numeric:tabular-nums;white-space:nowrap;background:#0a0e1ebf;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;line-height:1.5;position:absolute;top:8px;left:8px}.race-course-new{background:var(--correct);color:#10261a;background-clip:padding-box;border:2px solid #00000073;border-radius:7px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1.2;position:absolute;top:-7px;right:-8px}.race-course-body{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0 4px;display:flex}.race-course-text{min-width:0;display:block}.race-course-name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;display:block;overflow:hidden}.race-course-topic{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.4;display:block}.race-course-go{white-space:nowrap;color:#10261a;border:1px solid var(--correct);border-bottom-width:3px;border-bottom-color:color-mix(in srgb,var(--correct),#10261a 45%);background:linear-gradient(180deg,color-mix(in srgb,var(--correct),#fff 14%),var(--correct));border-radius:10px;flex:none;align-items:center;min-height:38px;padding:6px 14px;font-size:14px;font-weight:700;transition:filter .12s,transform 80ms;display:inline-flex}button.race-course:hover .race-course-go{filter:brightness(1.1)}button.race-course:active .race-course-go{transform:translateY(2px)}.race-course.is-locked{background:0 0;border-style:dashed}.race-course.is-locked .race-course-art .race-scenery{filter:grayscale(.75)brightness(.7)}.race-course-lock{width:24px;height:24px;position:absolute;top:-7px;right:-7px}.race-course-saving{background:#00000073;height:5px;position:absolute;bottom:8px;left:10px;right:10px}.race-course-saving i{background:var(--race-accent)}.race-course.is-locked .race-course-name{color:var(--muted)}.race-course.is-locked .race-course-topic>span{white-space:nowrap}.race-course-togo:before{content:" · "}.race-ask{justify-content:center}.race-body{text-align:center;flex:1;min-height:0;padding:14px 14px 16px;overflow-y:auto}.race-body h3{margin:12px 0 4px;font-size:22px;font-weight:800;line-height:1.2}.race-result.is-best .race-body h3{color:var(--gold)}.race-detail{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.race-result-time{flex-direction:column;align-items:center;gap:4px;margin:14px 0;display:flex}.race-result-time>span{color:var(--muted);font-size:12px}.race-result-time strong{font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:44px;font-weight:800;line-height:1.05}.race-result.is-best .race-result-time strong{color:var(--gold)}.race-delta{background:var(--panel);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.race-delta.is-faster{color:var(--correct);background:#4ade8029}.race-result .resstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.race-result .resstats .stat{border-radius:14px;padding:10px 6px}.race-result .resstats dd{font-variant-numeric:tabular-nums;font-size:26px}.race-result .resstats dt{white-space:normal;height:auto;min-height:20px;font-size:13px;line-height:20px;overflow:visible}.race-result .resstats dt small{white-space:nowrap;font-size:11px}.race-previous{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}.race-actions{gap:10px;display:flex}.race-strip.is-paused .race-scenery{filter:brightness(.6)saturate(.75)}.race-save-warning{background:var(--bg2);color:var(--text);z-index:60;text-align:center;border-top:1px solid var(--line);margin:0;padding:10px 20px;font-size:13px;position:fixed;bottom:0;left:0;right:0}.map .map-races{white-space:nowrap;grid-column:3;justify-self:end;align-items:center;gap:5px;display:inline-flex}.map-races-flag{width:14px;height:17px;color:var(--welcome-teal);flex-shrink:0}.map-races-flag svg{width:100%;height:100%;display:block}@media (width<=600px){.race-strip{--disc:32px;--pet:22px;--ghost-disc:28px;--ghost-pet:19px;--rail-margin:2%;--rail-end:9%;height:136px}.race-courses{gap:8px}.race-course{gap:8px;padding:6px 6px 10px}.race-course-art{height:76px}.race-course-art .race-scenery{width:230%;height:230%;transform:scale(.434783)}.race-course-body{flex-direction:column;align-items:stretch;gap:8px;padding:0 2px}.race-course-name{font-size:15px}.race-course-topic{font-size:12px}.race-course-go{justify-content:center;min-height:36px}.race-course-best{padding:1px 7px;font-size:11px;top:6px;left:6px}.race-course-togo{display:block}.race-course-togo:before{content:none}.race-result-time strong{font-size:38px}.race-result .resstats .stat{padding:8px 6px 7px}.race-result .resstats dd{font-size:21px}.race-result .shopfoot{flex-wrap:wrap;justify-content:center;gap:4px 12px}.race-result .race-actions{flex:1 0 100%;order:-1}.race-result .race-actions .btn{flex:1;padding-inline:10px}.map .map-races{padding:6px 8px;font-size:11px}}@media (prefers-reduced-motion:reduce){.race-stage .ch.bad{animation:none}.race-marker,.race-fill,.racer-tag{transition:none}.race-slip{animation:none}}
