@font-face{font-family:Tilt Neon;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tilt-neon-latin-400-normal-DUo0bAXn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tilt Neon;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tilt-neon-latin-ext-400-normal-DkcXjygi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/m-plus-rounded-1c-latin-400-normal-GF9lDfTs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2025,U+2027-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/m-plus-rounded-1c-latin-ext-400-normal-x5xlh2l4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-latin-500-normal-D4L1U0OF.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2025,U+2027-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-latin-ext-500-normal-CGyGcroA.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/m-plus-rounded-1c-latin-700-normal-BYs1YzuX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2025,U+2027-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/m-plus-rounded-1c-latin-ext-700-normal-8QQsdmZa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-latin-800-normal-941enk6N.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2025,U+2027-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-latin-ext-800-normal-C01CBpaL.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#16100c;--panel:#1a120d;--panel-2:#22170f;--frame:#ffb14e8c;--frame-glow:0 0 10px #ffb14e38, 0 0 28px #ffb14e14, inset 0 0 16px #ffb14e0d;--glass:var(--panel);--glass-strong:var(--panel);--glass-line:#fff6ea1f;--glass-line-strong:#fff6ea3d;--shade:#100a078c;--text:#fff6ea;--muted:#fff6eaad;--faint:#fff6ea75;--act:#ffb14e;--act-text:#ffe8c8;--lit:#ffba5c;--lit-text:#2b1705;--lit-line:#ffdfae;--lit-edge:#a7661a;--sel:#fff0da;--sel-text:#2b1705;--label:#f7c685;--title:#fff2df;--title-glow:0 0 5px #ffa642cc, 0 0 18px #ffa64259;--number-glow:0 0 4px #ffc857f2, 0 0 18px #ffaa3c73;--coin:#ffc857;--glow:#ffb14e;--glow-2:#e8892a;--glow-soft:#ffb14e24;--neon:#ff6fb5;--pink:#ff7ab8;--cyan:#5fe3ee;--sage:#9bc39a;--danger:#ff8a7a;--r-sm:12px;--r-md:16px;--r-lg:24px;--r-pill:999px;--shadow:0 18px 44px -14px #0009;--blur:none;--font:"M PLUS Rounded 1c", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Tilt Neon", "M PLUS Rounded 1c", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--press:60ms;--gutter:16px}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-synthesis:none;overscroll-behavior:none;margin:0;overflow:hidden}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button,input,textarea,select{font:inherit;color:inherit}button,a,[role=button]{touch-action:manipulation}h1,h2{font-family:var(--display);color:var(--title);text-shadow:var(--title-glow);margin:0;font-weight:400;line-height:1.15}h3{font-family:var(--font);margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11.5px}.block{display:block}.strike{opacity:.7;text-decoration:line-through}:focus-visible{outline:2px solid var(--glow);outline-offset:2px}.app{position:fixed;inset:0}.app:has(+.panel-ad-banner){bottom:calc(85px + env(safe-area-inset-bottom))}.panel-ad-banner{z-index:7;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#15100c;border-top:1px solid #ffefd01f;flex-direction:column;align-items:center;display:flex;position:fixed;inset:auto 0 0}.panel-ad-label{color:#b7ada1;height:18px;font-size:10px;line-height:14px}@media (width>=500px){.app:has(+.panel-ad-banner){bottom:calc(95px + env(safe-area-inset-bottom))}}@media (width>=800px){.app:has(+.panel-ad-banner){bottom:calc(125px + env(safe-area-inset-bottom))}}.scene-canvas{touch-action:none;inset:0;position:absolute!important}.focus-dim{pointer-events:none;opacity:0;background:radial-gradient(circle at var(--fx,50%) var(--fy,45%), #08061200 0, #08061200 var(--fr0,120px), #08061299 var(--fr1,340px));transition:opacity 1.2s;position:absolute;inset:0}.focus-dim.on{opacity:1}.room-restarting{pointer-events:none;transition:opacity .45s var(--ease);place-items:center;display:grid;position:absolute;inset:0}.room-restarting.lifting{opacity:0}.restart-card{border-radius:18px;flex-direction:column;align-items:center;padding:16px 22px 18px;display:flex}.restart-card p{color:#fff6ead1;margin:0;font-size:14.5px}.boot{text-align:center;background:radial-gradient(at 50% 58%,#3a2417 0%,#1d130d 42%,#120c09 78%);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.boot-house{width:84px;height:84px;overflow:visible}.boot-house-line{fill:none;stroke:var(--act);stroke-width:2.2px;stroke-linejoin:round;filter:drop-shadow(0 0 4px #ffb14ecc)}.boot-orb-halo{fill:#ffc77a;opacity:.2}.boot-orb{fill:#ffc77a;filter:drop-shadow(0 0 8px #ffbe6ee6)}.boot-sign{font-family:var(--display);letter-spacing:.01em;color:#fff2df;text-shadow:0 0 4px #ffecd2f2,0 0 12px #ffa6428c,0 0 30px #ff5fa873;margin-top:22px;font-size:56px;line-height:1}.boot-sign span{color:#fff2df8c;text-shadow:0 0 3px #ffecd266,0 0 10px #ff5fa833;animation:3.2s step-end infinite tube-warming}@keyframes tube-warming{0%,46%,54%,to{opacity:1}48%,52%{opacity:.55}}.boot-line{background:var(--cyan);border-radius:1px;width:150px;height:2px;margin-top:14px;box-shadow:0 0 6px #56e6f2e6,0 0 14px #56e6f266}.boot-words{color:#fff6eaa8;margin:34px 0 0;font-size:14.5px}.boot-dots{gap:7px;margin-top:14px;display:flex}.boot-dots i{width:7px;height:7px;animation:1.6s linear infinite boot-dot;animation-delay:calc(var(--i) * .12s);background:#fff6ea29;border-radius:50%;display:block}@keyframes boot-dot{0%,28%{background:var(--act);box-shadow:0 0 6px #ffb14ee6}29%,to{box-shadow:none;background:#fff6ea29}}.boot-reload{margin-top:26px}.boot-about{color:#cbbbab;flex-shrink:0;width:min(440px,100%);margin-top:16px;font:12px/1.6 system-ui,sans-serif}.boot-about p{margin:0 0 6px}.boot-about nav{flex-wrap:wrap;justify-content:center;gap:4px 18px;display:flex}.boot-about a{color:#ffd59b;text-underline-offset:3px;padding:4px 0}.boot{overflow-y:auto}@media (height<=640px){.boot{justify-content:flex-start}}@media (width<=380px){.boot-sign{font-size:48px}}.boot.overlay{z-index:1}.boot.veil{z-index:100;transition:opacity .85s var(--ease), visibility 0s linear .85s}.boot.veil.lifting{opacity:0;visibility:hidden;pointer-events:none}.canvas-fallback{text-align:center;place-content:center;gap:16px;max-width:520px;margin:auto;padding:24px;display:grid;position:absolute;inset:0}.dock,.sheet,.welcome,.consent-card,.restart-card,.modal{background:var(--panel);border:1.5px solid var(--frame);box-shadow:var(--frame-glow), var(--shadow)}.toast{border:1.5px solid var(--coin);background:#100a07eb;box-shadow:0 0 8px #ffc85780,0 0 22px #ffc85729,0 10px 26px -10px #0009}.btn{border-radius:var(--r-pill);color:#fff6eae0;cursor:pointer;min-height:44px;transition:transform var(--press) ease-out, background .14s, border-color .14s, box-shadow .14s, opacity .14s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#100a0759;border:1.5px solid #fff6ea47;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.btn:hover{background:#fff6ea14;border-color:#fff6ea6b}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary,.btn.start{border:2px solid var(--lit-line);background:var(--lit);color:var(--lit-text);box-shadow:0 4px 0 var(--lit-edge), 0 0 18px #ffb14e73, 0 0 40px #ffb14e24;font-weight:800}.btn.primary:hover,.btn.start:hover{background:#ffc470;border-color:#ffe9c6}.btn.primary:active:not(:disabled),.btn.start:active:not(:disabled){box-shadow:0 1px 0 var(--lit-edge), 0 0 14px #ffb14e66;transform:translateY(3px)}.btn.primary:disabled,.btn.start:disabled{box-shadow:0 4px 0 var(--lit-edge)}.btn.primary.small{box-shadow:0 3px 0 var(--lit-edge), 0 0 14px #ffb14e66}.btn.tube{border:2px solid var(--act);color:var(--act-text);text-shadow:0 0 6px #ffb14e8c;background:#ffb14e14;font-weight:700;box-shadow:0 0 6px #ffb14e8c,0 0 18px #ffb14e33,inset 0 0 8px #ffb14e47}.btn.tube:hover{background:#ffb14e29}.btn.ghost{border-color:#fff6ea4d}.btn.text{color:var(--muted);background:0 0;border-color:#0000;font-weight:700}.btn.text:hover{color:var(--text);background:#fff6ea0f}.btn.danger{color:#ffc1b6;background:#ff6e5a1a;border-color:#ff8a7a8c}.btn.text.danger{color:#ff9a8a;background:0 0;border-color:#0000}.btn.small{min-height:36px;padding:0 14px;font-size:13.5px}.btn.wide{width:100%}.btn.start{min-height:52px;padding:0 30px;font-size:16.5px}.icon-btn{width:44px;height:44px;color:var(--act-text);cursor:pointer;transition:transform var(--press), background .14s, color .14s, box-shadow .14s;background:#100a078c;border:1.5px solid #ffb14e8c;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 8px #ffb14e42}.icon-btn:hover{background:#ffb14e1f;box-shadow:0 0 12px #ffb14e66}.icon-btn:active{transform:scale(.92)}.icon-btn.on{border-color:var(--sel);background:var(--sel);color:var(--sel-text);box-shadow:0 0 10px #fff0da4d}.sheet-head .icon-btn{color:#fff6eae0;box-shadow:none;background:0 0;border-color:#fff6ea4d}.sheet-head .icon-btn:hover{background:#fff6ea14}.pan-stick{width:44px;height:44px;color:var(--act-text);opacity:.4;filter:drop-shadow(0 1px 2px #0009);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:opacity .14s;display:grid;position:relative}.pan-stick:hover{opacity:.6}.pan-stick:focus-visible{opacity:.85;outline:2px solid var(--sel);outline-offset:2px}.pan-stick.held{cursor:grabbing;opacity:.85}.pan-knob{pointer-events:none;place-items:center;transition:transform .18s cubic-bezier(.34,1.56,.64,1);display:grid}.pan-knob svg{width:30px;height:30px}.pan-stick.held .pan-knob{transition:none}.pan-dock{display:none}@media (width<=720px){.pan-dock{width:52px;height:52px;display:grid;position:absolute;bottom:calc(100% + 52px);right:12px}.pan-dock .pan-knob svg{width:34px;height:34px}}.chip{border-radius:var(--r-pill);cursor:pointer;color:#fff6eac7;min-height:40px;transition:transform var(--press), background .14s, border-color .14s, color .14s;background:0 0;border:1.5px solid #fff6ea38;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-size:14.5px;font-weight:500;display:inline-flex}.chip:hover{color:var(--text);border-color:#fff6ea66}.chip:active{transform:scale(.95)}.chip.on{color:var(--sel-text);background:var(--sel);border-color:var(--sel);font-weight:700;box-shadow:0 0 10px #fff0da47}.chip.small{min-height:34px;padding:0 12px;font-size:13px}.pill{border-radius:var(--r-pill);color:var(--act-text);border:1.5px solid #ffb14e8c;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.glow-dot{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FFC857' stroke='%23DD8F28' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6.4' fill='none' stroke='%23FFF0C2' stroke-width='1.2' opacity='.75'/%3E%3Cpath d='M12 8.3l1.05 2.3 2.5.28-1.85 1.7.5 2.47L12 13.8l-2.2 1.25.5-2.47-1.85-1.7 2.5-.28z' fill='%23FFF6DA'/%3E%3C/svg%3E") 50%/contain no-repeat;border-radius:50%;flex:none;width:16px;height:16px;display:inline-block;box-shadow:0 0 7px #ffc8578c}.glow-dot.sm{width:13px;height:13px}.topbar{z-index:5;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 0 28px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#100a079e,#100a0700);height:190px;position:absolute;inset:0 0 auto}.hud{flex-direction:column;align-items:flex-start;gap:9px;min-width:0;display:flex}.topbar-actions{gap:8px;display:flex}.balance-wrap{align-items:center;gap:12px;display:inline-flex}.balance{cursor:pointer;font-variant-numeric:tabular-nums;transition:transform .16s var(--ease);-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:inline-flex;position:relative}.balance .glow-dot{width:32px;height:32px;box-shadow:0 0 10px #ffc85780}.balance strong{font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);font-size:44px;font-weight:400;line-height:1}.balance .muted{align-self:flex-end;margin-bottom:2px;font-size:13px}.balance-plus{border:1.5px solid var(--lit-line);background:var(--lit);width:28px;height:28px;color:var(--lit-text);box-shadow:0 2px 0 var(--lit-edge), 0 0 10px #ffb14e80;cursor:pointer;transition:transform var(--press) ease-out;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;display:grid}.balance-plus:active{transform:translateY(2px);box-shadow:0 0 10px #ffb14e80}.balance.bump{transform:scale(1.06)}.balance.bump strong{animation:glow-flare .7s var(--ease)}@keyframes glow-flare{30%{text-shadow:0 0 6px #ffe296,0 0 30px #ffaa3cf2}}.glow-gain{pointer-events:none;position:absolute;top:50%;left:22px}.glow-gain-plus{color:#ffd592;text-shadow:0 0 8px #ffb14ee6;white-space:nowrap;animation:gain-float 1.6s var(--ease) forwards;font-size:14px;font-weight:700;position:absolute;top:-20px;left:16px}@keyframes gain-float{0%{opacity:0;transform:translateY(6px)scale(.8)}15%{opacity:1;transform:translateY(-4px)scale(1.15)}to{opacity:0;transform:translateY(-22px)scale(1)}}.glow-spark{opacity:0;width:4px;height:4px;animation:spark .9s var(--ease) forwards;background:#ffe2a8;border-radius:50%;position:absolute;top:-2px;left:-2px;box-shadow:0 0 6px 1px #ffb14ee6}@keyframes spark{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateX(22px) scale(.4)}}.reduce-motion .glow-spark,.reduce-motion .balance.bump{animation:none}.reduce-motion .glow-gain-plus{animation-duration:10ms}.mastery{min-width:0;max-width:100%;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;display:inline-flex}.mastery-name{border:1.5px solid var(--cyan);color:#e2fcff;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;min-width:0;height:22px;transition:box-shadow .4s var(--ease), background .4s var(--ease);border-radius:7px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:800;display:inline-flex;overflow:hidden;box-shadow:0 0 6px #56e6f273}.mastery.glow .mastery-name{background:#5fe3ee33;box-shadow:0 0 22px #56e6f2bf}.level-cells{flex:none;gap:3px;display:flex}.level-cells i,.focus-cells i{background:#fff6ea2b;border-radius:2px;width:9px;height:6px;display:block}.level-cells i.on,.focus-cells i.on{background:var(--act);box-shadow:0 0 5px #ffb14ef2}.mastery-bar{background:#fff6ea24;border-radius:3px;width:46px;height:5px;display:inline-block;position:relative;overflow:hidden}.mastery-bar.wide{width:100%;height:7px;margin-top:6px}.mastery-bar i{border-radius:inherit;background:var(--act);transition:width .9s var(--ease);position:absolute;inset:0 auto 0 0;box-shadow:0 0 5px #ffb14ee6}.tone-wood{--trophy:#c9a27a}.tone-bronze{--trophy:#d49a62}.tone-silver{--trophy:#d9dde6}.tone-gold{--trophy:#f3c75a}.tone-rose{--trophy:#f2a6b8}.tone-star{--trophy:#fff1b8}.level-now{flex-direction:column;gap:8px;display:flex}.level-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.level-name{min-width:0;font-family:var(--display);color:var(--title);text-shadow:var(--title-glow);align-items:center;gap:10px;font-size:44px;line-height:1.05;display:inline-flex}.level-emblem{width:38px;height:38px;color:var(--trophy);background:radial-gradient(circle at 35% 25%,#ffdca02e,#fff6ea08);border:1px solid;border-radius:50%;flex:none;place-items:center;display:grid}.level-so-far{color:#fff6ead1;margin:0;font-size:14.5px}.level-cells.path i{width:13px;height:9px}.level-now p.muted{margin:0}.trophy-now{border-radius:var(--r-md);background:#fff6ea0a;border:1.5px solid #fff6ea1a;align-items:center;gap:14px;padding:12px;display:flex}.trophy-now>div{flex:1}.trophy-now p{margin:4px 0 0}.trophy-big{width:52px;height:52px;color:var(--trophy);background:radial-gradient(circle at 50% 40%,#ffdca040,#fff6ea0a);border-radius:16px;place-items:center;display:grid}.trophy-list{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.trophy-list li{color:var(--muted);background:0 0;border:1.5px solid #fff6ea14;border-radius:10px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:flex}.trophy-list li.got{color:var(--text);background:#ffc85712;border-color:#ffc85780}.trophy-list li.got svg{color:var(--trophy)}.trophy-list li.next{outline:1px dashed #ffb14e99}.trophy-name{flex:1}.trophy-list .tiny{white-space:nowrap}.rhythm{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;display:inline-flex}.rhythm-label{color:var(--faint);font-size:11.5px;font-weight:500}.rhythm-segs{align-items:center;gap:5px;display:inline-flex}.rhythm-segs i{background:#fff6ea2b;border-radius:50%;width:7px;height:7px}.rhythm-segs i.on{background:var(--pink);box-shadow:0 0 5px #ff5fa8f2}:root[data-time=day] .topbar:before{opacity:0}:root[data-time=day] .balance strong{color:#2a1b12;text-shadow:0 1px #fffaf08c}:root[data-time=day] .balance .muted,:root[data-time=day] .rhythm-label{color:#2a1b1299}:root[data-time=day] .mastery-name{color:#eafcff;box-shadow:none;background:#343a40c7;border-color:#96e8f0e6}:root[data-time=day] .level-cells i:not(.on),:root[data-time=day] .rhythm-segs i:not(.on){background:#3c322d38}.sidenav{z-index:4;gap:8px;transition:opacity .3s;display:flex;position:absolute;top:142px;left:28px}.sidenav.quiet{opacity:.5}.sidenav.quiet:hover,.sidenav.quiet:focus-within{opacity:1}.room-place-button{width:60px;height:60px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 35% 22%,#ffdcaa1f,#0000 60%),linear-gradient(145deg,#2e241d,#16100c);border:1.5px solid #a07a55;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 0 0 2px #21180f,0 4px 18px #100a0766}.room-place-button svg{overflow:visible}.room-place-button:hover{background:radial-gradient(circle at 35% 22%,#ffdcaa33,#0000 62%),linear-gradient(145deg,#3a2d24,#1c1510)}.room-place-button:focus-visible{outline-offset:4px;outline:2px solid #ffc56b}.side-btn{transition:transform var(--press), background .14s}.side-btn:active{transform:scale(.95)}.side-btn.on{background:radial-gradient(circle at 35% 22%,#ffdcaa38,#0000 62%),linear-gradient(145deg,#3a2d24,#1c1510);border-color:#e0b47e;box-shadow:0 0 0 2px #21180f,0 0 14px #ffbe6e4d}.dock{border-radius:var(--r-lg);z-index:5;max-width:calc(100vw - 32px);animation:rise .26s var(--ease);align-items:center;gap:28px;padding:16px 24px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}}.dock-row{flex-wrap:nowrap;gap:8px;display:flex}.btn{white-space:nowrap}.chip.act{gap:7px;min-height:44px;padding:0 16px 0 11px}.dock-what{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.kind-tabs{border-radius:var(--r-pill);background:#fff6ea12;gap:2px;padding:3px;display:inline-flex}.kind-tab{border-radius:var(--r-pill);color:#fff6eab3;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;min-height:28px;padding:0 14px;font-size:13px;font-weight:700;transition:background .14s,color .14s}.kind-tab:hover{color:var(--text)}.kind-tab.on{color:var(--text);background:#fff6ea29}.dock-hint{max-width:420px;color:var(--muted);margin:0;font-size:12.5px}.activity-icon{flex:none}.dock-lens{align-items:center;gap:9px;display:flex}.chip.dur{width:44px;height:44px;min-height:0;font-family:var(--display);border-radius:50%;padding:0;font-size:20px;font-weight:400;line-height:1}.dock-unit{color:var(--muted);font-size:13px;font-weight:500}.dock .btn.start{min-width:190px}.dock.dock-focus{border:2px solid var(--act);width:min(400px,100vw - 32px);box-shadow:0 0 8px #ffb14ea6, 0 0 26px #ffb14e33, inset 0 0 22px #ffb14e26, var(--shadow);background:#110a06;flex-direction:column;gap:0;padding:12px 20px}.dock.dock-focus:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(#fff6ea09 0 1px,#0000 1px 3px);position:absolute;inset:0}.focus-what{align-items:center;gap:6px;font-size:13px;display:flex}.focus-act{color:var(--label);text-shadow:0 0 6px #ff9e3a73;font-weight:700}.focus-len{color:var(--faint)}.focus-clock{flex-direction:column;align-items:center;display:flex}.focus-time{font-family:var(--display);color:#ffe8c8;text-shadow:0 0 4px #ff9e3ae6,0 0 16px #ff9e3a6b;margin-top:2px;font-size:76px;line-height:1;display:flex}.focus-time i{text-align:center;width:.56em;font-style:normal;display:inline-block}.focus-time i.colon{width:.26em}.focus-cells{gap:3px;margin-top:12px;display:flex}.focus-cells i{width:10px;height:8px}.dock.is-paused .focus-clock{opacity:.42}.focus-paused{letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-size:30px}.focus-said{color:#fff6ead1;text-align:center;margin:12px 0 0;font-size:14.5px}.dock-focus .dock-actions{gap:12px;margin-top:18px}.dock-focus .dock-actions .btn{min-width:136px}.dock-focus .dock-sub{color:var(--faint);text-align:center;margin-top:12px}.dock.dock-break{text-align:center;flex-direction:column;gap:0;width:min(440px,100vw - 32px);padding:26px 24px 18px}.break-title{font-size:46px}.break-text{color:#fff6eacc;margin:6px 0 0;font-size:16px}.dock-break .btn.start{margin-top:22px}.dock-break .btn.ghost{margin-top:14px}.sparkle{pointer-events:none;position:absolute}.dock-eyebrow{font-family:var(--font);color:var(--label);font-size:12.5px;font-weight:700}.dock-title{margin-top:2px;font-size:16px;font-weight:700}.dock-sub{color:var(--muted);margin-top:2px;font-size:12px}.dock-actions{gap:8px;display:flex}.sheet{border-radius:var(--r-lg);z-index:6;background:var(--glass-strong);width:380px;animation:slide-in .22s var(--ease);flex-direction:column;display:flex;position:absolute;top:84px;bottom:18px;right:14px}@keyframes slide-in{0%{opacity:0;transform:translate(14px)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 14px 8px 20px;display:flex}.sheet-head h2{font-size:32px}.sheet-head p{margin:6px 0 0}.sheet-body>*{flex-shrink:0}.sheet-body{scrollbar-width:thin;scrollbar-color:#ffb14e59 transparent;flex-direction:column;flex:1;gap:14px;padding:6px 20px 20px;display:flex;overflow-y:auto}.sheet-foot{border-top:1px solid #fff6ea14;flex-direction:column;gap:12px;padding:12px 16px 16px;display:flex}.row-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.note{border-radius:var(--r-md);background:#fff6ea0a;margin:0;padding:10px 12px}.section{margin-top:6px}.tabs,.seg{background:0 0;border:0;gap:8px;padding:0;display:flex}.seg{flex-wrap:wrap}.tabs{scrollbar-width:none;flex-wrap:nowrap;margin:0 -20px;padding:2px 44px 2px 20px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 44px),#0000)}.tabs::-webkit-scrollbar{display:none}.slide-row,.slide-row>.tabs{position:relative}.tabs.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.slide-arrow{display:none}@media (hover:hover) and (pointer:fine){.tabs.more-left{-webkit-mask-image:linear-gradient(90deg,#0000 0 22px,#000 58px calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#0000 0 22px,#000 58px calc(100% - 44px),#0000)}.slide-arrow{z-index:1;border:1.5px solid var(--glass-line-strong);border-radius:var(--r-pill);background:var(--panel-2);width:30px;height:30px;color:var(--text);cursor:pointer;place-items:center;padding:0;transition:border-color .14s,color .14s;display:grid;position:absolute;top:50%;translate:0 -50%;box-shadow:0 2px 10px #00000059}.slide-arrow.left{left:-16px}.slide-arrow.right{right:-16px}.slide-arrow:hover{border-color:var(--frame);color:var(--act-text)}.slide-arrow svg{width:18px;height:18px}}.tab,.seg-btn{border-radius:var(--r-pill);color:#fff6eac7;cursor:pointer;white-space:nowrap;min-height:36px;transition:background .14s, color .14s, border-color .14s, transform var(--press);background:0 0;border:1.5px solid #fff6ea38;flex:none;padding:0 14px;font-size:14px;font-weight:500}.tab:hover,.seg-btn:hover{color:var(--text);border-color:#fff6ea66}.tab:active,.seg-btn:active{transform:scale(.96)}.tab.on,.seg-btn.on{border-color:var(--sel);background:var(--sel);color:var(--sel-text);font-weight:700;box-shadow:0 0 10px #fff0da47}.btn.get-glow{color:var(--text);background:#ffb14e1f;border-color:#ffb14e80;margin-top:4px}.btn.get-glow:hover{background:#ffb14e33}.packs-wanted{border-radius:var(--r-md);background:#ffb14e24;border:1px solid #ffb14e59;margin:0;padding:10px 12px;font-size:14px}.packs-wanted strong{color:var(--glow)}.shop-card.covers{border-color:#ffb14eb3;box-shadow:0 0 0 1px #ffb14e59,0 0 22px -6px #ffa6428c}.covers-tag{border-radius:var(--r-pill);background:var(--glow);color:#2b1705;vertical-align:2px;margin-left:8px;padding:2px 7px;font-size:11px;font-weight:700}.look-kind{color:var(--glow);font-weight:600}.shop-grid,.inv-list,.wall-list,.disc-list,.ledger{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding-top:6px;display:grid}.shop-grid.packs{grid-template-columns:minmax(0,1fr)}.shop-card,.inv-item{border-radius:var(--r-md);transition:background .14s, transform var(--press);background:#fff6ea0a;border:1.5px solid #fff6ea1a;align-items:center;gap:12px;padding:10px;display:flex;position:relative}.shop-grid:not(.packs) .shop-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 12px}.shop-card:hover{background:#fff6ea12}.shop-card.owned{border-color:#5fe3ee4d}.shop-card.locked .thumb.pic img{filter:brightness(0)opacity(.28)}.shop-card.locked .trophy-locked{opacity:.85;gap:4px}.shop-grid:not(.packs) .shop-card .thumb{border-radius:18px;width:64px;height:64px;font-size:30px}.shop-grid:not(.packs) .shop-card .thumb.pic{width:108px;height:108px;margin:-6px 0 -4px}.shop-grid:not(.packs) .shop-info{flex:1;align-items:center;width:100%}.shop-grid:not(.packs) .shop-info strong{font-size:14px;line-height:1.25}.shop-grid:not(.packs) .shop-info .muted{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.shop-grid:not(.packs) .shop-buy{align-items:center}.wear-seg{justify-content:center;gap:4px}.wear-seg .seg-btn{min-height:32px;padding:0 9px;font-size:13px}.btn.price{border:1.5px solid var(--act);min-height:34px;color:var(--act-text);font-family:var(--display);background:#ffb14e14;gap:6px;padding:0 13px 0 8px;font-size:18px;font-weight:400;box-shadow:0 0 6px #ffb14e73,inset 0 0 6px #ffb14e33}.btn.price:hover{border-color:var(--act);background:#ffb14e29}.btn.price.ghost{color:#fff6ea8c;box-shadow:none;background:0 0;border-color:#fff6ea33}.btn.price.ghost .glow-dot{opacity:.45;box-shadow:none}.shop-card.short .shop-buy .tiny{color:var(--label)}.new-sticker{z-index:1;color:#2a0b1c;letter-spacing:.06em;text-transform:uppercase;background:#ff5fa8;border-radius:8px;padding:3px 8px;font-size:10.5px;font-weight:800;position:absolute;top:-9px;left:-6px;transform:rotate(-8deg);box-shadow:0 0 10px #ff5fa8b3}.shop-grid.packs .shop-info strong{font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);font-size:26px;font-weight:400;line-height:1.1}.covers-tag{font-family:var(--font);text-shadow:none}.thumb{background:radial-gradient(circle at 30% 25%, #fff6ea59, transparent 55%), linear-gradient(160deg, var(--sw), color-mix(in srgb, var(--sw) 55%, #16100c));border-radius:14px;flex:none;place-items:center;width:56px;height:56px;font-size:26px;display:grid;box-shadow:inset 0 0 0 1px #fff6ea26}.thumb.sm{border-radius:10px;width:36px;height:36px}.thumb.pic{box-shadow:none;background:0 0;border-radius:0}.thumb.pic img{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.shop-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shop-info strong{font-size:14.5px}.shop-buy{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.inv-actions{gap:4px;display:flex}.stash-key{justify-content:flex-end;align-items:center;gap:6px;margin:-6px 0 -4px;display:flex}.stash-key i,.stash-thumb .in-room{background:var(--cyan);border-radius:50%;width:8px;height:8px;display:block;box-shadow:0 0 6px #56e6f2f2}.stash-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.stash-cell{width:100%;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:0;padding:0;display:flex}.stash-thumb{aspect-ratio:1;width:100%;transition:transform var(--press), box-shadow .14s, border-color .14s;background:#fff6ea0a;border:1.5px solid #fff6ea1f;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.stash-cell:active .stash-thumb{transform:scale(.95)}.stash-thumb .thumb{border-radius:12px;width:78%;height:78%}.stash-thumb .thumb.pic{width:104%;height:104%}.stash-pick .thumb.pic{width:46px;height:46px}.stash-thumb .in-room{z-index:1;position:absolute;top:6px;right:6px}.stash-cell.on .stash-thumb{border:2px solid var(--act);background:#ffb14e1a;box-shadow:0 0 8px #ffb14ea6,0 0 20px #ffb14e33}.stash-pick{border-radius:var(--r-md);background:#fff6ea0a;border:1.5px solid #fff6ea1a;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:flex}.stash-pick .shop-info{flex:1}.flower-requirement{color:var(--glow);margin-top:4px;display:block}.vase-room-target{color:#d3fbff;width:44px;height:44px;font:26px var(--display);cursor:pointer;background:#161412d1;border:2px solid #9be5ef;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 0 12px #69dce9}.vase-room-target[aria-pressed=true]{color:#ffe4ad;border-color:var(--glow);box-shadow:0 0 16px var(--glow)}.vase-targets{gap:10px;display:grid}.vase-target{text-align:left;width:100%;min-height:72px;color:inherit;font:inherit;border:1px solid var(--glass-line);border-radius:var(--r-md);cursor:pointer;background:#fff6ea0a;align-items:center;gap:12px;padding:12px;display:flex}.vase-target>span:last-child{gap:3px;min-width:0;display:grid}.vase-target .thumb{flex-shrink:0}.vase-target.on{background:var(--glow-soft);border-color:var(--glow)}.vase-target:disabled{opacity:.6;cursor:wait}.flower-place-actions>.btn{white-space:normal;min-height:44px}.flower-place-actions .row-actions{flex-wrap:wrap;justify-content:space-between}.flower-place-bar{bottom:max(10px, env(safe-area-inset-bottom))}.flower-place-bar .place-bar-text strong{font-size:26px}.flower-empty{text-align:center;justify-items:center;gap:16px;padding:12px 0;display:grid}.flower-empty h3,.flower-empty p{margin:0}.flower-empty .btn{width:100%}.slot-list{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.slot-option{border-radius:var(--r-md);border:1px solid var(--glass-line);cursor:pointer;background:#fff6ea0a;align-items:center;gap:10px;padding:12px;display:flex}.slot-option span:nth-child(2){flex:1;font-weight:600}.place-bar{left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;background:var(--panel);border:1.5px solid var(--frame);box-shadow:var(--frame-glow), var(--shadow);border-radius:20px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;position:absolute}.place-bar-text{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.place-what{color:var(--muted);font-size:13px}.place-bar-text strong{font-family:var(--display);color:#ffe8c8;text-shadow:0 0 4px #ff9e3ae6,0 0 16px #ff9e3a6b;font-size:30px;font-weight:400;line-height:1.15}.place-bar-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.place-bar-mid{justify-self:end}.place-bar-actions>.btn.ghost{justify-self:start;padding-inline:18px}.place-bar-actions>.btn.primary{grid-column:1/-1;justify-self:center;min-width:min(220px,100%)}.placement-footer,.flower-place-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.placement-footer>.btn.primary,.flower-place-actions>.btn.primary{white-space:normal;order:1;width:min(100%,320px);min-height:44px}.flower-place-actions>.row-actions{width:100%}@media (width<=720px){.place-bar-actions>.btn.primary{grid-row:1}.placement-footer>.btn.primary,.flower-place-actions>.btn.primary{order:-1}}.place-bar-mid{align-items:center;gap:6px;display:flex}.place-bar-actions .btn.primary{min-width:104px}.panel-open:has(.place-bar) .dock{display:none}.slot-option.blocked{opacity:.55;cursor:not-allowed}.slot-option.on{background:var(--glow-soft);border-color:#ffb14e99}.slot-option input{accent-color:var(--glow)}.rotate-row{align-items:center;gap:8px;display:flex}.wall-list{gap:0}.wall-row{text-align:left;width:100%;color:inherit;cursor:pointer;transition:background .14s, transform var(--press);background:0 0;border:0;border-bottom:1px solid #fff6ea14;border-radius:0;align-items:center;gap:14px;padding:12px 4px 12px 2px;display:flex}.wall-row:hover{background:#fff6ea0a}.wall-row:active{transform:scale(.99)}.wall-row:after{content:"›";color:var(--faint);flex:none;margin-left:auto;font-size:22px;line-height:1}.wall-swatch{border-radius:4px;flex:none;width:40px;height:40px;transform:rotate(-3deg);box-shadow:0 3px #00000059}.wall-row-text{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;font-size:15px;font-weight:600;display:flex}.wall-kind{color:#ffe3a0;letter-spacing:.02em;border:1.5px solid #ffc857bf;border-radius:6px;align-items:center;height:18px;padding:0 7px;font-size:10.5px;font-weight:800;display:inline-flex}.wall-kind.goal{color:var(--text);border-color:#fff0dacc}.wall-kind.poster{color:#ffd6e8;border-color:#ff7ab8cc}.wall-row-text .muted{font-weight:400}.wall-foot{flex-direction:column;align-items:center;gap:12px;display:flex}.wall-spots{color:#fff6ea8c;align-items:center;gap:10px;font-size:12.5px;display:flex}.field{flex-direction:column;gap:6px;display:flex;position:relative}.field-label{color:var(--label);font-size:12.5px;font-weight:700}.field input,.field textarea,.field select{resize:vertical;background:#fff6ea0a;border:1.5px solid #fff6ea2e;border-radius:14px;outline:none;width:100%;min-height:48px;padding:11px 14px;transition:border-color .14s,box-shadow .14s}.field select option{background:#22170f}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--act);box-shadow:0 0 6px #ffb14e80,inset 0 0 6px #ffb14e2e}.field textarea{font-family:"Caveat", var(--font);font-size:22px;line-height:1.2}.counter{align-self:flex-end}.check{cursor:pointer;align-items:center;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--glow)}.style-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;display:grid}.style-chip{border-radius:var(--r-md);border:1px solid var(--glass-line);cursor:pointer;transition:transform var(--press);background:#fff6ea08;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;display:flex;position:relative}.style-chip:active:not(:disabled){transform:scale(.95)}.style-chip.on{border-color:var(--glow);background:var(--glow-soft)}.style-chip:disabled{opacity:.5;cursor:not-allowed}.style-paper{border-top:4px solid;border-radius:4px;place-items:center;width:40px;height:40px;font-family:Caveat,cursive;font-size:20px;font-weight:600;display:grid;transform:rotate(-2deg);box-shadow:0 3px 8px #00000059}.lock{position:absolute;top:6px;right:6px}.wide{width:100%}.toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.toggle-label{font-size:15px;font-weight:600}.sheet .toggle{border-bottom:1px solid #fff6ea14;padding-bottom:12px}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:0 0;border:1.5px solid #fff6ea57;border-radius:13px;flex:none;width:46px;height:26px;transition:background .16s,border-color .16s;position:relative}.toggle-thumb{width:15px;height:15px;transition:transform .16s var(--ease), background .16s;background:#fff6ea94;border-radius:50%;position:absolute;top:4px;left:4px}.toggle input:checked+.toggle-track{background:var(--sel);border-color:var(--sel);box-shadow:0 0 10px #fff0da40}.toggle input:checked+.toggle-track .toggle-thumb{background:var(--sel-text);transform:translate(20px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--glow);outline-offset:2px}.slider{grid-template-columns:110px 1fr;align-items:center;gap:12px;display:grid}.slider.disabled{opacity:.45}.slider-label{color:var(--text);font-size:14.5px;font-weight:600}.meter-wrap{height:28px;display:block;position:relative}.meter{pointer-events:none;justify-content:space-between;align-items:flex-end;padding:3px 0;display:flex;position:absolute;inset:0}.meter i{background:#fff6ea24;border-radius:2px;width:9px;display:block}.meter i.on{background:var(--act);box-shadow:0 0 5px #ffb14ecc}.meter-wrap input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.meter-wrap input:disabled{cursor:not-allowed}.meter-wrap:has(input:focus-visible){outline:2px solid var(--act);outline-offset:4px;border-radius:4px}.loop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.loop-card{cursor:pointer;text-align:center;color:#fff6eac7;min-height:42px;transition:transform var(--press), background .14s, border-color .14s, color .14s;background:0 0;border:1.5px solid #fff6ea38;border-radius:21px;justify-content:center;align-items:center;padding:6px 12px;font-size:13.5px;font-weight:500;line-height:1.25;display:flex}.loop-card:hover{color:var(--text);border-color:#fff6ea66}.loop-card:active{transform:scale(.96)}.loop-card.on{border-color:var(--sel);background:var(--sel);color:var(--sel-text);font-weight:700;box-shadow:0 0 10px #fff0da47}.loop-emoji{display:none}.locked-row{color:var(--faint);align-items:center;gap:8px;display:flex}.disc-list{gap:0}.disc{border-bottom:1px solid #fff6ea14;align-items:center;gap:14px;padding:12px 2px;display:flex}.disc p{margin:3px 0 0}.disc-icon{color:#fff6ea80;width:42px;height:42px;font-family:var(--display);border:1.5px dashed #fff6ea4d;border-radius:50%;flex:none;place-items:center;font-size:20px;display:grid}.disc.found .disc-icon{border:2px solid var(--coin);color:var(--coin);background:#ffc8571a;box-shadow:0 0 8px #ffc85780}.disc:not(.found) strong{color:var(--muted)}.disc-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.disc-head .tiny{font-weight:600}.disc-group-name{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 0;font-size:11.5px;font-weight:700}.stats{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;display:grid}.stats div{background:#ffb14e0d;border:1.5px solid #ffb14e59;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 9px;display:flex}.stats strong{font-size:24px;font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);font-weight:400}.ledger li{border-bottom:1px solid var(--glass-line);justify-content:space-between;padding:6px 2px;font-size:13.5px;display:flex}.ledger .plus{color:var(--sage);font-variant-numeric:tabular-nums}.ledger .minus{color:var(--muted);font-variant-numeric:tabular-nums}.confirm{border-radius:var(--r-md);background:#ff6e5a14;border:1px solid #ff6e5a40;padding:12px}.confirm p{margin:0 0 10px}.form{flex-direction:column;gap:12px;display:flex}.recovery-code{letter-spacing:.06em;text-align:center;border-radius:var(--r-md);border:1px dashed var(--glow);-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;background:#0000004d;padding:18px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px}.test-glow{z-index:40;color:#ffd79a;font:600 12px var(--font);cursor:pointer;background:#241912d9;border:1px dashed #ffd28c99;border-radius:999px;padding:8px 12px;position:absolute;bottom:18px;right:16px}.panel-open .test-glow{display:none}.test-glow:disabled{opacity:.6}.toasts{z-index:11;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(520px,100vw - 32px);display:flex;position:absolute;top:86px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--r-pill);animation:toast-in .24s var(--ease);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;display:flex}.toast.gift{color:#ffeccd}.toast.gift svg{color:var(--coin)}.toast.warn{border-color:#ff8c78cc;box-shadow:0 0 8px #ff8c7866,0 10px 26px -10px #0009}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.welcome{border-radius:var(--r-lg);text-align:center;z-index:6;width:min(460px,100vw - 32px);animation:rise .32s var(--ease);flex-direction:column;align-items:center;padding:24px 26px 18px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.welcome h1{text-wrap:balance;margin:6px 0 10px;font-size:38px}.welcome p{margin:0 0 18px;line-height:1.5}.welcome-actions{flex-direction:column;align-items:center;gap:14px;margin-bottom:12px;display:flex}.welcome-glow{color:var(--faint);text-wrap:balance;font-size:12.5px}.welcome-glow .glow-dot{vertical-align:-2px;margin-right:3px}.welcome .welcome-glow{margin:0}.consent-card{border-radius:var(--r-lg);z-index:6;width:min(360px,100vw - 44px);animation:rise .32s var(--ease);padding:16px 18px 12px;position:absolute;top:78px;right:22px}.consent-card h2{margin:4px 0 6px;font-size:19px;font-weight:800}.consent-card p{margin:0;font-size:13.5px;line-height:1.45}.consent-actions{align-items:center;gap:16px;margin-top:14px;display:flex}.consent-link{min-height:36px;color:var(--muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:13.5px;text-decoration:underline}.consent-link:hover{color:var(--text)}.consent-link:focus-visible{outline:2px solid var(--act);outline-offset:2px;border-radius:4px}.flashable{border-radius:var(--r-md);transition:box-shadow .4s,background .4s}.flashable.flash{background:var(--glow-soft);box-shadow:0 0 0 2px #ffb14e8c,0 0 18px #ffa64259}.consent-card .consent-more{text-align:right;margin-top:10px;font-size:11.5px}@media (width<=720px){.consent-card{width:auto;top:168px;left:12px;right:12px}}.app:has(>.welcome) .dock{display:none}:is(.app:has(.win-card)>.dock,.app:has(.ci-card)>.dock){visibility:hidden}.modal-scrim{z-index:10;background:#100a0759;place-items:center;padding:16px;animation:.2s fade;display:grid;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--glass-strong);text-align:center;width:min(440px,100%);max-height:calc(100vh - 32px);animation:pop .32s var(--ease);border-radius:26px;padding:26px 24px 20px;position:relative;overflow-y:auto}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(8px)}}.modal h2{margin-bottom:8px;font-size:30px}.modal p{margin:0 0 6px}.summary-burst{color:#2b1705;background:radial-gradient(circle at 35% 30%, #fff1cf, var(--glow) 55%, var(--glow-2));width:58px;height:58px;animation:pop .5s var(--ease);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid;box-shadow:0 0 40px #ffa64299}.modal.summary{animation:.52s cubic-bezier(.2,1.4,.4,1) card-in}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:none}}.summary-celebrate{width:58px;height:58px;margin:0 auto 12px;position:relative}.summary-celebrate .summary-burst{margin:0;animation:.9s cubic-bezier(.2,1.6,.4,1) .12s both badge-pop;position:relative}@keyframes badge-pop{0%{transform:scale(.2)rotate(-30deg)}60%{transform:scale(1.25)rotate(8deg);box-shadow:0 0 70px #ffa642f2}to{transform:scale(1)rotate(0)}}.celebrate-ring{pointer-events:none;border:3px solid #ffb14ee6;border-radius:50%;animation:.9s ease-out .2s both shockwave;position:absolute;inset:0}.celebrate-ring.late{border-width:2px;animation-delay:.42s}@keyframes shockwave{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(3.6)}}.celebrate-rays{pointer-events:none;background:repeating-conic-gradient(#ffcd8238 0deg 8deg,#0000 8deg 30deg);border-radius:50%;width:220px;height:220px;margin:-110px 0 0 -110px;animation:2.4s ease-out both rays;position:absolute;top:50%;left:50%;-webkit-mask:radial-gradient(circle,#000 20%,#0000 68%);mask:radial-gradient(circle,#000 20%,#0000 68%)}@keyframes rays{0%{opacity:0;transform:scale(.3)rotate(0)}25%{opacity:1}to{opacity:0;transform:scale(1.15)rotate(70deg)}}.celebrate-spark{width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);background:var(--c);box-shadow:0 0 8px 1px var(--c);opacity:0;pointer-events:none;border-radius:50%;animation:1.5s cubic-bezier(.15,.7,.3,1) both spark-burst;position:absolute;top:50%;left:50%}@keyframes spark-burst{0%{opacity:1;transform:translate(0)scale(.4)}45%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(calc(var(--dx) * 1.1), calc(var(--dy) + 70px)) scale(.5)}}.summary-points strong{font-variant-numeric:tabular-nums;display:inline-block}.summary-points strong.landed{color:#ffd592;text-shadow:0 0 18px #ffb14ecc;animation:.52s cubic-bezier(.2,1.8,.4,1) number-land}@keyframes number-land{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.reduce-motion .modal.summary,.reduce-motion .summary-celebrate .summary-burst{animation:none}.summary-points{justify-content:center;align-items:center;gap:12px;margin:4px 0 6px;display:flex}.summary-points strong{font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);font-size:96px;font-weight:400;line-height:1}.summary-points .summary-celebrate{width:46px;height:46px;margin:0}.summary-points .summary-celebrate .glow-dot{width:46px;height:46px;animation:.9s cubic-bezier(.2,1.6,.4,1) .12s both badge-pop;position:relative;box-shadow:0 0 16px #ffc85799}.summary-title{font-family:var(--font);letter-spacing:.03em;color:var(--label);text-shadow:0 0 6px #ff9e3a73;margin:6px 0 0;font-size:15px;font-weight:800}.modal .summary-title{margin-bottom:0;font-size:15px}.summary-what{color:#fff6eacc;text-wrap:balance;font-size:14.5px}.summary-what .activity-icon{vertical-align:-4px;margin-right:7px}.discovery-reveal{border-radius:var(--r-md);background:var(--glow-soft);text-align:left;border:1px solid #ffb14e59;margin:14px 0 4px;padding:12px 14px}.discovery-reveal p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.feedback{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.feedback .chip.small{min-height:34px}.summary-actions{flex-direction:column;align-items:center;gap:14px;margin-top:16px;display:flex}.summary-actions .btn.start{min-width:220px}.summary-more{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.speech{white-space:nowrap;color:#3b2a22;animation:pop .24s var(--ease);pointer-events:none;background:#fff8ec;border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:13px;font-weight:600;box-shadow:0 8px 20px #0000004d}@media (width<=900px){.sheet{width:340px}}@media (width<=720px){.test-glow{top:124px;bottom:auto;right:12px}.topbar{padding:14px 12px 0 16px}.topbar:before{height:150px}.balance .glow-dot{width:26px;height:26px}.balance strong{font-size:34px}.balance-wrap{gap:10px}.sidenav{top:118px;left:14px}.dock{flex-direction:column;align-items:stretch;gap:10px;width:auto;max-width:none;padding:12px 16px 16px;animation:none;bottom:8px;left:8px;right:8px;transform:none}.dock.dock-focus,.dock.dock-break{align-items:center;width:auto}.dock-acts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dock-what{align-items:stretch}.kind-tabs{align-self:center}.dock-hint{text-align:center;max-width:none}.chip.act{justify-content:center;gap:6px;padding:0 6px}.dock-lens{justify-content:center;gap:8px}.dock-lens .dock-row{gap:12px}.dock .btn.start{width:100%;min-width:0;min-height:50px;margin-top:4px}.focus-time{font-size:100px}.dock-focus .dock-actions{justify-content:center;width:100%}.dock-focus .dock-actions .btn{flex:1;min-width:0;max-width:170px}.dock-break .btn.start{width:auto;min-width:0;padding:0 44px}.sheet{width:auto;height:64vh;animation:sheet-up .24s var(--ease);border-radius:24px 24px 0 0;inset:auto 0 0}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.welcome{width:auto;animation:none;bottom:8px;left:8px;right:8px;transform:none}.modal-scrim.summary-scrim{align-items:end;padding:8px}.toasts{top:168px}.app:has(.modal-scrim) .toasts{top:14px}.slider{grid-template-columns:96px 1fr}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){.boot-sign span,.boot-dots i{animation:none}.boot-dots i:nth-child(-n+4){background:var(--act);box-shadow:0 0 6px #ffb14ee6}}.test-badge{border-radius:var(--r-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);border:1px dashed #6ce2ff80;align-self:center;padding:3px 8px;font-size:10.5px;font-weight:700}.chip{white-space:nowrap}@media (width>=721px){.panel-open .dock{max-width:calc(100vw - 448px);animation:none;left:28px;transform:none}.panel-open .dock .test-badge{display:none}}@media (width>=721px) and (width<=1399px){.panel-open .dock .dock-lens{display:none}}@media (width>=721px) and (width<=1100px){.panel-open .dock{display:none}}@media (width>=721px) and (width<=959px){.dock.dock-idle{flex-wrap:wrap;justify-content:center;gap:12px 20px}.dock-idle .btn.start{flex:100%}}@media (width<=370px){.chip.act{gap:4px;padding:0 4px;font-size:13.5px}.chip.act .activity-icon{width:20px;height:20px}}@media (width<=720px){.test-badge{display:none}}.focus-ring{pointer-events:none;position:absolute}.focus-ring-dot{offset-rotate:0deg;offset-distance:0%;will-change:offset-distance, transform;background:#fffaf0;border-radius:50%;width:9px;height:9px;transition:offset-distance .3s linear;animation:1.1s ease-in-out infinite alternate focus-ring-shine;position:absolute;top:0;left:0;box-shadow:0 0 4px 2px #ffe0aa,0 0 12px 5px #ffa642e6,0 0 28px 10px #ffb14e66}@keyframes focus-ring-shine{0%{opacity:.75;transform:scale(.8)}to{opacity:1;transform:scale(1.25)}}.focus-ring.still .focus-ring-dot{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.focus-ring-dot{animation:none}}.dock.is-paused .focus-ring{opacity:.45}.dock.is-paused .focus-ring-dot{animation-play-state:paused}.goal-chip{border-radius:var(--r-pill);max-width:min(520px,100vw - 32px);color:var(--text);white-space:nowrap;cursor:pointer;transition:background .14s, transform var(--press) ease-out;background:#100a07d1;border:1.5px solid #ffb14e73;align-items:center;gap:8px;padding:7px 14px;font-size:13px;display:inline-flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 0 8px #ffb14e2e}.goal-chip:hover{background:#281b12e6}.goal-chip:active{transform:translate(-50%)scale(.97)}.goal-chip svg{color:var(--glow);flex:none}.goal-chip-name{color:var(--label);text-overflow:ellipsis;min-width:0;font-weight:700;overflow:hidden}.goal-chip-num{color:var(--muted);font-variant-numeric:tabular-nums}.goal-chip.add{color:var(--muted)}.goal-leds{align-items:center;gap:5px;display:inline-flex}.goal-leds i{background:#fff6ea2b;border-radius:50%;width:7px;height:7px;display:block}.goal-leds i.on{background:var(--pink);box-shadow:0 0 5px #ff5fa8f2}.goal-card{border-radius:var(--r-md);background:#fff6ea0a;border:1.5px solid #fff6ea1a;flex-direction:column;gap:6px;padding:14px;display:flex}.goal-card+.goal-card,.goal-card+.btn,.goal-card+.goal-form,.goal-card+p{margin-top:10px}.goal-card.on{background:#ffb14e0f;border-color:#ffb14e73}.goal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.goal-head strong{font-size:16px}.goal-line{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;font-size:13.5px;display:flex}.goal-card .mastery-bar.wide{margin-top:0}.goal-steps{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.goal-steps li{color:#2b1705;background:#fff6ea12;border-radius:8px;flex:1;place-items:center;height:16px;display:grid}.goal-steps li.got{background:var(--act);box-shadow:0 0 6px #ffb14eb3}.goal-steps li.next{outline-offset:-1.5px;outline:1.5px dashed #ffb14eb3}.goal-card p{margin:0}.goal-plan{color:#ffe2a8}.goal-actions{justify-content:flex-end;align-items:center}.settle-steps{flex-direction:column;gap:7px;margin:2px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.settle-steps li{align-items:center;gap:10px;display:flex}.settle-steps li.done{color:var(--muted);-webkit-text-decoration:line-through #fff6ea40;text-decoration:line-through #fff6ea40}.settle-tick{border:2px solid var(--act);width:24px;height:24px;color:var(--sel-text);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 6px #ffb14e73}.settle-steps li.done .settle-tick{background:var(--sel);border-color:var(--sel);box-shadow:0 0 8px #fff0da59}.goal-form{border-radius:var(--r-md);border:1px solid var(--glass-line);background:#0000001f;flex-direction:column;gap:10px;margin-top:10px;padding:14px;display:flex}.goal-form p{margin:0}.goal-form-row{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.goal-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.goal-done{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.goal-done li{align-items:center;gap:8px;display:flex}.goal-done svg{color:var(--glow)}.goal-done .muted{margin-left:auto}.journal-goals{margin-top:10px}.modal-scrim:has(.win-card){background:#100a07d6}.modal.win-card{box-shadow:none;background:0 0;border:0}.modal.win-card h2{text-wrap:balance;font-size:38px}.win-card .dock-eyebrow{margin-bottom:6px}.win-ring{background:#ff5fa80f;border:2px solid #ff6fb5;border-radius:50%;place-items:center;width:132px;height:132px;margin:22px auto 18px;display:grid;position:relative;box-shadow:0 0 10px #ff5fa8b3,0 0 30px #ff5fa838,inset 0 0 14px #ff5fa84d}.win-ring .summary-celebrate{margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%}.win-ring:has(.thumb,.glow-dot) .summary-burst{display:none}.win-ring .thumb{border-radius:24px;width:84px;height:84px;font-size:40px;position:relative}.win-ring .thumb.pic{width:104px;height:104px}.win-ring .glow-dot{width:64px;height:64px;position:relative;box-shadow:0 0 20px #ffc85799}.win-reward{flex-direction:column;align-items:center;gap:3px;margin:0 0 18px;animation:.6s cubic-bezier(.2,1.5,.4,1) .45s both reward-in;display:flex}.win-reward strong{color:var(--text);font-size:18px}.win-reward.none{margin-top:4px}.win-reward.none strong{color:var(--text);font-size:15px}.win-reward-tag{color:var(--label);font-size:12.5px;font-weight:700}@keyframes reward-in{0%{opacity:0;transform:translateY(10px)scale(.85)}to{opacity:1;transform:none}}.win-actions{flex-direction:column;align-items:center;gap:14px}.win-actions .btn.start{min-width:200px}.win-card.final .summary-burst{background:radial-gradient(circle at 35% 30%,#fff6de,#ffd27a 50%,#f0a24a)}.reduce-motion .win-reward{animation:none}@media (width<=720px){.dock>.goal-chip{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;padding:0 2px;font-size:12.5px;position:static;transform:none}.dock>.goal-chip:active{transform:scale(.98)}.dock>.goal-chip .goal-chip-name{color:var(--label);font-weight:700}.dock>.goal-chip .goal-chip-num{color:var(--faint);margin-left:auto}.goal-chip .mastery-bar{display:none}.dock-idle>.tip-above{bottom:calc(100% + 18px)}}.dock.dock-idle{grid-template-columns:minmax(0,1fr) auto 190px;gap:12px 24px;width:min(900px,100vw - 32px);padding:16px 24px 20px;display:grid}.dock-idle .dock-what{grid-area:2/1;min-width:0}@media (width>=721px){.dock-idle .dock-acts{flex-wrap:wrap;width:100%}.dock-idle .dock-acts .chip{flex-shrink:0}}.dock-idle .dock-lens{grid-area:2/2}.dock-idle .btn.start{grid-area:2/3}.dock.dock-idle>.goal-chip{width:100%;max-width:none;min-height:28px;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:0;padding:0 2px;display:grid;position:static;transform:none}.dock.dock-idle>.goal-chip:active{transform:none}.goal-chip-main,.goal-chip-meta{align-items:center;gap:8px;min-width:0;display:inline-flex}.dock-idle .goal-chip-main{grid-column:1}.dock-idle .goal-chip-main .goal-leds{flex:none}.dock-idle .goal-chip-meta{flex-wrap:wrap;grid-column:3;justify-content:flex-end;gap:4px;padding-right:30px}.dock-idle .goal-chip-num{min-width:0;max-width:100%;color:var(--faint);text-align:right;white-space:normal;margin-left:0;line-height:1.25}.dock-idle .goal-chip-steps{white-space:nowrap}.dock-idle .goal-chip-quests{flex:none}.dock-hide,.dock-show{width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;display:grid}.dock-hide{background:0 0;border:0;border-radius:50%;position:absolute;top:4px;right:4px}.dock-hide svg,.dock-show svg{opacity:.5}.dock.dock-collapsed{z-index:8;width:min(900px,100vw - 32px);min-height:76px;padding:14px 16px}.dock-collapsed>.goal-chip{width:100%;max-width:none;min-height:44px;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);padding:0;display:grid;position:static;transform:none}.dock-collapsed>.goal-chip:active{transform:none}.dock-collapsed .goal-chip-main{flex-wrap:wrap;grid-column:1;gap:4px 8px}.dock-collapsed .goal-chip-meta{flex-wrap:wrap;grid-column:3;justify-content:flex-end;gap:4px;padding-right:60px}.dock-collapsed .goal-chip-num{white-space:normal;text-align:right;max-width:100%;margin-left:0}.dock-collapsed .mastery-bar{display:none}.dock-collapsed .pan-dock{width:44px;height:44px;display:grid;position:absolute;bottom:calc(100% + 12px);right:16px}.dock-collapsed .dock-show{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.dock-show{border:1px solid var(--frame);background:var(--panel);box-shadow:var(--frame-glow);border-radius:50%}.dock-hide:focus-visible,.dock-show:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.panel-open .dock-collapsed,.app.wall-zoom .dock-collapsed,.app.wall-pick .dock-collapsed{display:none}.app:has(>.welcome) .dock-collapsed{display:none}.app:has(.win-card,.ci-card,.place-bar)>.dock-collapsed{display:none}.glow-nav{z-index:3;width:72px;height:72px;position:absolute;top:-31px;left:50%;transform:translate(-50%)}.glow-nav-toggle{cursor:pointer;z-index:3;-webkit-tap-highlight-color:transparent;background:#302719;border:4px solid #100e09;border-radius:50%;place-items:center;width:72px;height:72px;padding:0;transition:transform .18s;display:grid;position:absolute;inset:0;box-shadow:0 2px 6px #00000040}.glow-nav-toggle:before{content:"";pointer-events:none;border:1.2px solid #f3dfaa;border-radius:50%;position:absolute;inset:1.5px}.glow-nav-toggle .glow-dot{width:44px;height:44px;box-shadow:0 0 10px #ffc8572e}.glow-nav-toggle:hover{transform:scale(1.05)}.glow-nav-place{opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s var(--ease), opacity .18s, visibility .18s;position:absolute;top:6px;left:6px;transform:translate(0)scale(.35)}.glow-nav-toggle:focus-visible{outline-offset:4px;outline:2px solid #9ff3fa}.glow-nav.open .glow-nav-place{opacity:1;visibility:visible;pointer-events:auto;transform:translate(var(--menu-x), var(--menu-y)) scale(1)}.glow-nav-place-0{--menu-x:-64px;--menu-y:-45px}.glow-nav-place-1{--menu-x:0px;--menu-y:-78px;transition-delay:35ms}.glow-nav-place-2{--menu-x:64px;--menu-y:-45px;transition-delay:70ms}@media (width>=721px) and (width<=959px){.dock.dock-idle{grid-template-columns:minmax(0,1fr) auto}.dock-idle .btn.start{grid-area:3/1/auto/-1}}@media (width>=1101px) and (width<=1399px){.panel-open .dock.dock-idle{grid-template-columns:minmax(0,1fr)}.panel-open .dock-idle .btn.start{grid-area:3/1}}@media (width>=721px) and (width<=1100px){.panel-open .dock.dock-idle{display:none}}@media (width<=720px){.dock.dock-idle{flex-direction:column;align-items:stretch;gap:12px;width:auto;padding:14px 16px 16px;display:flex}.dock-acts-life{grid-template-columns:repeat(6,minmax(0,1fr))}.dock-acts-life .chip{grid-column:span 2}.dock-acts-life .chip:nth-child(n+4){grid-column:span 3}.dock.dock-idle>.goal-chip{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);font-size:12.5px}.dock.dock-collapsed{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));width:auto;padding:12px}.dock-collapsed .goal-chip{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);font-size:12px}.dock-collapsed .goal-chip-meta{padding-right:56px}.dock-collapsed .dock-show,.dock-collapsed .pan-dock{right:8px}}@media (width<=370px){.level-name{font-size:36px}.dock-acts-life .chip{gap:3px;padding:0 2px;font-size:13px}.dock-idle .goal-chip-main{flex-wrap:wrap;gap:3px 5px}.dock-idle .goal-chip-name,.dock-idle .goal-chip-add{font-size:11px}.dock-idle .goal-leds{gap:3px}.dock-idle .goal-leds i{width:6px;height:6px}.dock-idle .goal-chip-meta{gap:3px}.dock-idle .goal-chip-num{font-size:11px}.dock-idle .goal-chip-quests{padding:2px 5px;font-size:11px}}@media (height<=560px) and (width<=720px){.glow-nav-place-0,.glow-nav-place-2{--menu-y:43px}.glow-nav-place-1{--menu-y:74px}}@media (prefers-reduced-motion:reduce){.glow-nav-toggle,.glow-nav-place{transition:none}}.reduce-motion .glow-nav-place{transition-delay:0s}.sheet-head h2.sheet-title-icon{align-items:center;gap:9px;display:flex}.sheet-title-icon svg{flex:none}.goal-chip-quests{border-radius:var(--r-pill);color:var(--muted);font-variant-numeric:tabular-nums;background:#fff6ea14;align-items:center;gap:3px;margin-left:2px;padding:2px 8px;font-size:12px;display:inline-flex}.goal-chip-quests.all{color:#cdebd3;background:#8cc89633}.goal-chip .goal-chip-quests svg{color:inherit}.goal-chip-add{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.quests-card{margin-bottom:0}.quest-list li{align-items:flex-start}.quest-list .settle-tick{margin-top:1px}.quest-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.quest-list li.done .quest-text>span:first-child{-webkit-text-decoration:line-through #fff6ea40;text-decoration:line-through #fff6ea40}.quest-list li.done{text-decoration:none}.quest-reward{font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);flex:none;align-items:center;gap:5px;font-size:19px;line-height:1;display:inline-flex}.quest-reward:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FFC857' stroke='%23DD8F28' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6.4' fill='none' stroke='%23FFF0C2' stroke-width='1.2' opacity='.75'/%3E%3Cpath d='M12 8.3l1.05 2.3 2.5.28-1.85 1.7.5 2.47L12 13.8l-2.2 1.25.5-2.47-1.85-1.7 2.5-.28z' fill='%23FFF6DA'/%3E%3C/svg%3E") 50%/contain no-repeat;width:15px;height:15px}.quest-list li.done .quest-reward{opacity:.4;text-shadow:none}.quest-week{margin-top:6px}.toggle.disabled{opacity:.55;cursor:not-allowed}.reminder-row{align-items:flex-end;gap:10px;margin:2px 0 6px;display:flex}.reminder-time{width:130px}.reminder-time input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.account-form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.account-form p{margin:0}.form-error{border-radius:var(--r-sm);color:#ffc1b6;background:#ff6e5a24;margin:0;padding:8px 11px;font-size:13px}.or-line{color:var(--muted);align-items:center;gap:10px;margin:14px 0 10px;font-size:12px;display:flex}.or-line:before,.or-line:after{content:"";background:var(--glass-line);flex:1;height:1px}.account-note{border-radius:var(--r-md);background:#fff6ea0a;border:1.5px solid #fff6ea1a;flex-direction:column;gap:6px;margin-bottom:12px;padding:12px 14px;display:flex}.account-saved{margin-bottom:12px}.sheet .btn.wide+.btn.wide{margin-top:8px}.tb-extra{display:contents}.topbar-more{display:none;position:relative}.more-menu{border-radius:var(--r-md);border:1.5px solid var(--frame);background:var(--panel);box-shadow:var(--frame-glow), 0 14px 40px #00000073;z-index:20;animation:rise-menu .16s var(--ease);grid-template-columns:repeat(3,64px);gap:6px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);right:0}@keyframes rise-menu{0%{opacity:0;transform:translateY(-6px)}}.more-item{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:64px;height:64px;padding:0;font-size:15px;display:flex}.more-item svg{color:var(--act)}.more-item:hover,.more-item:active{background:#fff6ea14}@media (width<=720px){.tb-extra{display:none}.topbar-more{display:block}.topbar-mid{gap:8px;min-width:0}.balance{padding:0 12px}}.topbar:has(.more-menu){z-index:60}.tip{flex-wrap:wrap;align-items:center;gap:10px;font-size:14.5px;line-height:1.4;animation:.42s cubic-bezier(.2,1.4,.4,1) tip-in;display:flex}.tip p{margin:0}.tip .tip-ok,.coach-tip .tip-ok{border-radius:var(--r-pill);min-height:30px;color:var(--act-text);font:inherit;cursor:pointer;background:0 0;border:1.5px solid #ffb14e80;flex:none;padding:0 12px;font-size:12.5px;font-weight:700}.tip .tip-ok:hover,.coach-tip .tip-ok:hover{background:#ffb14e1f}@keyframes tip-in{0%{opacity:0;transform:translate(var(--tx,0), 8px) scale(.96)}}.tip-above{--tx:-50%;color:#ffe8c8;z-index:30;background:#100a07e6;border:1.5px solid #ffb14e99;border-radius:22px;width:max-content;max-width:min(380px,100vw - 32px);padding:8px 8px 8px 14px;font-weight:700;position:absolute;bottom:calc(100% + 60px);left:50%;transform:translate(-50%);box-shadow:0 0 10px #ffb14e4d,0 10px 26px -10px #0009}.tip-above p{text-shadow:0 0 6px #ff9e3a73}.tip-above svg{color:var(--act);filter:drop-shadow(0 0 4px #ffb14ee6);flex:none}.dock-focus>.tip-above{bottom:calc(100% + 22px)}.place-bar>.tip-above{bottom:calc(100% + 16px)}.tip-inline{border-radius:var(--r-md);color:var(--text);--tx:0;background:#ffb14e0f;border:1.5px solid #ffb14e59;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 12px;padding:12px 14px 10px}.tip-inline .tip-ok{align-self:flex-end}.guide-hand{z-index:50;pointer-events:none;filter:drop-shadow(0 2px 5px #00000059)drop-shadow(0 0 10px #ffa64273);width:30px;height:38px;transition:left .3s var(--ease), top .3s var(--ease);position:fixed}.guide-hand svg{width:100%;height:100%;display:block}.guide-hand.down svg{transform:rotate(180deg)}.guide-hand.up{animation:1.1s ease-in-out infinite guide-nudge-up}.guide-hand.down{animation:1.1s ease-in-out infinite guide-nudge-down}.guide-hand.still{animation:none}@keyframes guide-nudge-up{0%,to{transform:translateY(7px)}50%{transform:translateY(0)}}@keyframes guide-nudge-down{0%,to{transform:translateY(-7px)}50%{transform:translateY(0)}}.view-hint{z-index:45;pointer-events:none;position:fixed;inset:0}.view-hint-marks{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.view-hint-trail{stroke:#fff3e3;stroke-width:7px;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffa642a6)}.view-hint-arc{stroke:#fff3e3;stroke-width:3.5px;stroke-linecap:round;fill:none;filter:drop-shadow(0 0 5px #ffa642bf)}.view-hint-dot{background:#fff3e380;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #fff3e3d9,0 0 14px #ffa64299}.view-hint-hand{transform-origin:18px 2px;filter:drop-shadow(0 2px 5px #00000059)drop-shadow(0 0 10px #ffa64273);width:36px;height:45px;margin:-2px 0 0 -18px;position:absolute;top:0;left:0}.view-hint-hand svg{width:100%;height:100%;display:block}.guide-tip{z-index:50;color:#ffe8c8;background:#100a07eb;border:1.5px solid #ffb14e99;border-radius:18px;align-items:flex-start;gap:4px;padding:10px 6px 10px 14px;font-size:14px;line-height:1.4;animation:.42s cubic-bezier(.2,1.4,.4,1) tip-in;display:flex;position:fixed;box-shadow:0 0 10px #ffb14e4d,0 10px 30px #00000073}.guide-tip p{flex:1;margin:2px 0 0;font-weight:700}.guide-close{width:28px;height:28px;color:var(--act);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.guide-close:hover{background:#ffb14e24}.reduce-motion .guide-tip{animation:none}.coach-tip{align-items:center;gap:10px;padding:8px 8px 8px 14px}.coach-tip p{margin:0}.reduce-motion .tip{animation:none}.tappable{cursor:pointer;border-radius:10px;transition:background .15s}:where(.settle-steps li)>.tappable{width:100%;color:inherit;font:inherit;line-height:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin:0;padding:0;display:flex}:where(.quest-list li)>.tappable{align-items:flex-start}.tappable:hover,.tappable:focus-visible{background:color-mix(in srgb, var(--text,#3a2e2a) 7%, transparent);outline:none}.tappable.done{cursor:default}.tappable.done:hover{background:0 0}.go-arrow{opacity:.45;margin-left:auto;padding-left:8px;font-size:1.15em;line-height:1}.goal-card .goal-go{margin-top:10px}.ready-card{max-width:340px}.ready-actions{justify-content:flex-end;margin-top:14px}.modal-scrim.ready-scrim{z-index:70;background:#100a078c;position:fixed}.modal-scrim:has(.ci-card){background:#100a07db}.modal.ci-card{width:min(420px,100%);box-shadow:none;background:0 0;border:0}.modal.ci-card h2{font-size:40px}.ci-days{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:5px;margin:22px 0 14px;padding:0;list-style:none;display:grid}.ci-day{color:#fff6ea73;border:1.5px solid #fff6ea24;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:center;gap:4px;height:72px;padding:7px 0 8px;display:flex;position:relative}.ci-day-n{white-space:nowrap;font-size:10px;font-weight:700}.ci-day-mark{width:20px;height:20px;color:var(--sel);place-items:center;display:grid}.ci-day:not(.on):not(.gift) .ci-day-mark{opacity:.3;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FFC857' stroke='%23DD8F28' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6.4' fill='none' stroke='%23FFF0C2' stroke-width='1.2' opacity='.75'/%3E%3Cpath d='M12 8.3l1.05 2.3 2.5.28-1.85 1.7.5 2.47L12 13.8l-2.2 1.25.5-2.47-1.85-1.7 2.5-.28z' fill='%23FFF6DA'/%3E%3C/svg%3E") 50%/contain no-repeat}.ci-day-glow{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:14px;line-height:1}.ci-day.on{color:#fff6ea80;background:#fff0da0f;border-color:#fff0da66}.ci-day.gift{border-color:#ffc857a6;box-shadow:0 0 8px #ffc8574d}.ci-day.gift .ci-day-mark{color:var(--coin)}.ci-day.gift .ci-day-glow{color:#ffe9ae;text-shadow:var(--number-glow)}.ci-day.today{border:2px solid var(--act);color:var(--act-text);background:#ffb14e24;transform:translateY(-4px);box-shadow:0 0 8px #ffb14e99,0 0 20px #ffb14e33}.ci-day.today .ci-day-n{font-weight:800}.ci-day.today:not(.on):not(.gift) .ci-day-mark{opacity:1;animation:2.4s ease-in-out infinite ci-breathe}.ci-day.today .ci-day-glow{color:#ffe9ae;text-shadow:var(--number-glow)}.ci-day.stamp .ci-day-mark{animation:.64s cubic-bezier(.2,1.6,.4,1) both ci-stamp}@keyframes ci-breathe{50%{filter:drop-shadow(0 0 6px #ffc857cc);transform:scale(1.12)}}@keyframes ci-stamp{0%{opacity:0;transform:scale(2)rotate(-20deg)}55%{opacity:1;transform:scale(.88)rotate(4deg)}to{transform:none}}.ci-streak{color:#ffd9a0;align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:inline-flex;margin:0 0 4px!important}.ci-streak svg{color:var(--coin)}.ci-actions{flex-direction:column;align-items:center;gap:14px;margin-top:18px}.ci-actions .btn.start{min-width:220px}.ci-note{color:var(--faint);margin:10px 0 0!important}.ci-card .win-reward{margin-top:4px}.ci-days.compact{gap:4px;margin:10px 0 8px}.ci-days.compact .ci-day{border-radius:10px;justify-content:center;gap:4px;height:auto;padding:7px 1px 6px}.ci-days.compact .ci-day.today{transform:none}.ci-days.compact .ci-day-mark{width:18px;height:18px}.ci-days.compact .ci-day-glow{font-size:12.5px}.ci-panel .btn.wide{margin-top:4px}.ci-panel p{margin:0}.reduce-motion .ci-day-mark{animation:none!important}@media (width<=420px){.ci-days{gap:4px}.ci-day-n{font-size:9.5px}}.topbar.lifted{z-index:75}.glow-fly{pointer-events:none;z-index:90;position:fixed;inset:0}.glow-coin{will-change:transform, opacity;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FFC857' stroke='%23DD8F28' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='6.4' fill='none' stroke='%23FFF0C2' stroke-width='1.2' opacity='.75'/%3E%3Cpath d='M12 8.3l1.05 2.3 2.5.28-1.85 1.7.5 2.47L12 13.8l-2.2 1.25.5-2.47-1.85-1.7 2.5-.28z' fill='%23FFF6DA'/%3E%3C/svg%3E") 50%/contain no-repeat;border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:-7px;box-shadow:0 0 12px #ffc857e6}.btn.ci-collect{align-items:center;gap:8px;display:inline-flex}.btn.ci-collect .glow-dot{box-shadow:0 0 6px #fff5dce6}.ci-where{border-radius:var(--r-md);background:var(--panel);text-align:left;border:1.5px solid #fff6ea1a;flex-direction:column;gap:14px;margin-top:22px;padding:14px 16px 16px;display:flex}.ci-where-row{align-items:flex-start;gap:12px;display:flex}.ci-where-icon{border:1.5px solid var(--act);width:36px;height:36px;color:var(--act);border-radius:50%;flex:none;place-items:center;display:grid}.ci-where-row+.ci-where-row .ci-where-icon{border-color:var(--sel);color:var(--sel)}.ci-where-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ci-where-text strong{font-size:15px}.ci-where-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ci-where-top .tiny{font-weight:500}.ci-where-text .mastery-bar.wide{height:6px;margin:6px 0 3px}.ci-where-link{align-self:flex-start;padding-left:0}.boot.crash p{margin:8px 0 0}.boot.crash .boot-line+p{margin-top:30px}.boot.crash .btn{margin-top:22px}.canvas-fallback .btn{justify-self:center}.gift-toggle{align-self:flex-start;gap:6px;padding-left:2px}.gift-code{border-radius:var(--r-md);border:1px solid var(--glass-line);background:#fff6ea0a;flex-direction:column;gap:8px;padding:12px;display:flex}.gift-code.linked{background:var(--glow-soft);border-color:#ffb14e66}.gift-code p{margin:0}.gift-row{align-items:stretch;gap:8px;display:flex}.gift-row input{flex:1;min-width:0}.gift-code .gift-row input{letter-spacing:.04em;text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace}.gift-code .gift-row input::placeholder{text-transform:none;letter-spacing:.02em}.gift-row .btn{flex:none;min-height:0}.gift-done{color:var(--sage);align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.player-id{border-top:1px solid var(--glass-line);flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;display:flex}.player-id-row,.admin-id{align-items:center;gap:8px;min-width:0;display:flex}.player-id code,.admin-id code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;overflow:hidden}.player-id .btn,.admin-id .btn{flex:none}.admin-entry{border-color:#ffb14e59;gap:8px}.admin-card,.admin-form{flex-direction:column;gap:12px;display:flex}.admin-card{border-radius:var(--r-md);border:1px solid var(--glass-line);background:#fff6ea0a;padding:14px}.admin-card p,.admin-form p{margin:0}.admin-card .section{margin-top:4px}.admin-who{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.admin-who strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.admin-chip{border-radius:var(--r-pill);color:var(--muted);background:#fff6ea14;flex:none;padding:3px 9px;font-size:11.5px;font-weight:700}.admin-chip.ok{color:var(--sage);background:#9bc39a29}.admin-stats{grid-template-columns:repeat(4,1fr);gap:6px}.admin-stats div{text-align:center;padding:10px 4px}.admin-stats strong{font-size:17px}.admin-two{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:grid}.admin-form .admin-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-confirm{background:var(--glow-soft);border-color:#ffb14e59}.admin-made{border-radius:var(--r-md);background:var(--glow-soft);border:1px solid #ffb14e66;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.admin-made .muted.small{align-items:center;gap:6px;display:inline-flex}.admin-made-code{letter-spacing:.05em;color:var(--glow);-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px}.admin-made .row-actions{justify-content:flex-start}.admin-list-head{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.admin-codes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-code{border-radius:var(--r-md);border:1px solid var(--glass-line);background:#fff6ea0a;flex-direction:column;gap:3px;padding:10px 12px 6px;display:flex}.admin-code.off{opacity:.72}.admin-code-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-code-top code{letter-spacing:.04em;-webkit-user-select:all;user-select:all;-webkit-touch-callout:default;word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14.5px;font-weight:600}.admin-code-actions{flex-wrap:wrap;gap:2px;margin-left:-10px;display:flex}.legal-links{flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;display:flex}.legal-links a,.agree a,.consent-more a{color:var(--muted);text-underline-offset:2px}.legal-links a:hover,.agree a:hover,.consent-more a:hover{color:var(--text)}.agree{text-align:center}.hear-bell{align-self:flex-start;gap:6px;margin-top:-6px;padding-left:2px}.phone-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.phone-list li{border-bottom:1px solid #fff6ea14}.phone-note{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:11px 2px;display:flex}.phone-icon{flex:none;width:38px;height:38px;display:block}.phone-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.phone-text strong{font-size:14px;font-weight:600}.phone-note:not(.new) .phone-text strong{font-weight:500}.phone-when{flex:none;align-self:flex-start;margin-top:2px}.phone-note.new .phone-when:before{content:"";background:var(--pink);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 5px #ff5fa8e6}.wallzoom{z-index:7;place-items:center;display:grid;position:absolute;inset:0}.wallzoom:focus{outline:none}.wallzoom-note{max-width:100%;max-height:100%}.wallzoom-x{top:max(18px, calc(env(safe-area-inset-top) + 10px));right:max(18px, calc(env(safe-area-inset-right) + 10px));border:1px solid var(--glass-line);background:var(--glass-strong);width:44px;height:44px;color:var(--text);cursor:pointer;transition:transform var(--press);border-radius:50%;place-items:center;animation:.26s ease-out .36s both wallzoom-in;display:grid;position:absolute;box-shadow:0 6px 16px #00000059}.wallzoom-x:active{transform:scale(.92)}.wallzoom-actions{left:0;right:0;bottom:max(26px, calc(env(safe-area-inset-bottom) + 14px));pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;animation:.26s ease-out .36s both wallzoom-in;display:flex;position:absolute}.wallzoom-actions .btn{pointer-events:auto;min-width:120px}.wallzoom-actions .btn.ghost{background:var(--glass-strong)}@keyframes wallzoom-in{0%{opacity:0}}.reduce-motion .wallzoom-x,.reduce-motion .wallzoom-actions{animation:none}.app.wall-zoom :is(.topbar,.sidenav,.dock,.rhythm,.tip,.guide-tip,.speech){visibility:hidden;opacity:0!important;pointer-events:none!important}.sheet{transition:transform .3s var(--ease), opacity .22s ease, visibility 0s}.sheet.away{opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s var(--ease), opacity .22s ease 80ms, visibility 0s .3s;transform:translateY(calc(100% + 48px))}.reduce-motion .sheet{transition:none}.app.wall-pick :is(.topbar,.sidenav,.dock,.rhythm,.tip,.guide-tip,.speech){visibility:hidden;opacity:0!important;pointer-events:none!important}.spot-choose{width:100%;min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s, box-shadow .14s, transform var(--press);-webkit-tap-highlight-color:transparent;background:#fff6ea0a;border:1.5px solid #fff6ea2e;border-radius:14px;align-items:center;gap:10px;padding:8px 8px 8px 14px;display:flex}.spot-choose>svg{color:var(--act);filter:drop-shadow(0 0 4px #ffb14e99);flex:none}.spot-choose:hover{border-color:#ffb14e8c}.spot-choose:focus-visible{border-color:var(--act);outline:none;box-shadow:0 0 6px #ffb14e80,inset 0 0 6px #ffb14e2e}.spot-choose:active{transform:scale(.985)}.spot-choose-name{flex:1;min-width:0;font-weight:600}.spot-choose-go{border-radius:var(--r-pill);min-height:34px;color:var(--act-text);white-space:nowrap;background:#ffb14e1a;border:1.5px solid #ffb14e80;flex:none;align-items:center;gap:2px;padding:0 6px 0 12px;font-size:13px;font-weight:700;display:inline-flex}.spot-layer{z-index:5;animation:.26s .12s both spot-in;position:absolute;inset:0}@keyframes spot-in{0%{opacity:0}}.spot-frame{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;left:0}.spot-frame[hidden]{display:none}.spot-frame:focus{outline:none}.spot-frame i{transition:background .14s, box-shadow .14s, transform .16s var(--ease);background:#fff6ea29;border:2px dashed #fff6eaf2;border-radius:6px;display:block;position:relative;box-shadow:0 0 10px #ffdeb099,inset 0 0 8px #ffdeb04d}.spot-frame:hover i{background:#fff6ea47;transform:scale(1.05)}.spot-frame.taken i,.spot-frame.own i{background:0 0;border-style:solid}.spot-frame.taken i{border-color:#9fd3fff2;box-shadow:0 0 10px #78beffa6,inset 0 0 8px #78beff4d}.spot-frame.on i{background:#ffd28a38;border:3px solid #ffd28a;animation:1.6s ease-in-out infinite spot-glow;box-shadow:0 0 0 3px #ffb14e4d,0 0 22px #ffa642e6,inset 0 0 10px #ffc87859}.spot-frame.on.taken i,.spot-frame.on.own i{background:0 0}.spot-frame.note i{background:var(--paper)}.spot-frame.note i:after{content:"";aspect-ratio:1;background:var(--pin);border-radius:50%;width:clamp(5px,16%,10px);position:absolute;top:7%;left:50%;translate:-50%;box-shadow:0 1px 2px #00000073}@keyframes spot-glow{50%{box-shadow:0 0 0 5px #ffb14e2e,0 0 32px #ffa642,inset 0 0 12px #ffc87873}}.spot-bar{animation:spot-bar-in .28s var(--ease) both}.spot-bar:focus{outline:none}@keyframes spot-bar-in{0%{opacity:0;translate:0 28px}}@media (width>=721px){.spot-bar{width:min(460px,100% - 40px);bottom:18px;left:50%;right:auto;transform:translate(-50%)}}.reduce-motion :is(.spot-layer,.spot-bar,.spot-frame.on i){animation:none}.modal-scrim.checkout-scrim{-webkit-backdrop-filter:saturate(90%)blur(8px);backdrop-filter:saturate(90%)blur(8px);background:#100a0773}.checkout-card{width:min(360px,100%);padding:30px 24px 24px}.checkout-card h2{font-size:20px;line-height:1.3}.checkout-ring{border:3px solid #ffb14e2e;border-top-color:var(--glow);border-right-color:#ffb14e99;border-radius:50%;width:58px;height:58px;margin:0 auto 18px;animation:1.1s linear infinite checkout-turn;display:block;box-shadow:0 0 28px #ffa64259,inset 0 0 18px #ffa64238}@keyframes checkout-turn{to{transform:rotate(360deg)}}.reduce-motion .checkout-ring{border-color:#ffb14e8c}.modal .checkout-pack{border-radius:var(--r-pill);color:#ffe2a8;background:#ffb14e1a;border:1px solid #ffb14e4d;align-items:center;gap:8px;margin:14px 0 0;padding:6px 14px;font-weight:600;display:inline-flex}.checkout-slow{margin-top:16px}.pack-win h2{color:#ffe2a8;text-shadow:0 0 24px #ffa64280;font-size:34px;animation:.6s cubic-bezier(.2,1.5,.4,1) .35s both reward-in}.modal.pack-win p{margin:4px 0 16px}.reduce-motion .pack-win h2{animation:none}.placement-conflict h3{margin:0 0 6px}.placement-storing{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.placement-storing li,.placement-new{align-items:center;gap:12px;display:flex}.placement-storing li>div,.placement-new>div{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.placement-new{border-top:1px solid var(--frame);margin-top:12px;padding-top:12px}.place-conflict-sheet{max-height:calc(100dvh - 120px);padding-bottom:max(14px, env(safe-area-inset-bottom));overflow-y:auto}.place-conflict-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.place-conflict-actions>.btn.primary{order:1;width:min(100%,320px)}.place-conflict-actions .btn{white-space:normal;min-height:44px}@media (width<=720px){.place-conflict-actions>.btn.primary{order:-1}}.sheet .row-actions .btn.primary{white-space:normal}.boot .boot-card{box-sizing:border-box;background:linear-gradient(145deg,#39271de0,#191416eb);border:1px solid #ffd59b29;border-radius:28px;width:min(440px,100%);padding:32px 28px 26px;box-shadow:0 24px 100px #0005,inset 0 1px #ffffff0c}.boot .boot-card .boot-house{width:58px;height:58px}.boot .boot-card .boot-sign{margin-top:10px;font-size:40px}.boot .boot-card .boot-line{opacity:.6;width:70px;margin:12px auto 24px;display:block}.boot .boot-eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#d5b38d;font:10px/1.5 system-ui,sans-serif}.boot .boot-title{letter-spacing:-.04em;color:#fff1dd;margin:9px 0 23px;font:500 24px/1.25 system-ui,sans-serif}.boot .boot-card .boot-words{color:#ead8c4;margin:0 0 14px;font:14px/1.5 system-ui,sans-serif}.boot .boot-meter{background:#ffffff12;border-radius:5px;height:5px;overflow:hidden}.boot .boot-meter>span{border-radius:inherit;background:linear-gradient(90deg,#d9a66d,#ffd99c);height:100%;transition:width .35s;display:block}.boot .boot-meter>.indeterminate{animation:1.8s ease-in-out infinite alternate boot-sweep}@keyframes boot-sweep{to{transform:translate(185%)}}.boot .boot-detail{color:#bfb1a4;font-variant-numeric:tabular-nums;min-height:18px;margin:10px 0 23px;font:11px/1.5 system-ui,sans-serif}.boot .boot-stages{color:#9c8b80;justify-content:space-between;gap:8px;margin:0;padding:0;font:11px/1.5 system-ui,sans-serif;list-style:none;display:flex}.boot .boot-stages li{justify-items:center;gap:7px;display:grid}.boot .boot-stages li>span{border:1px solid #ffffff20;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.boot .boot-stages .current{color:#ffe3b6}.boot .boot-stages .current>span{background:#d9a66d1a;border-color:#e7bc7c;box-shadow:0 0 18px #d9a66d18}.boot .boot-stages .complete{color:#b4d6c0}.boot .boot-stages .complete>span{background:#94b9a41a;border-color:#94b9a480}.boot .boot-note{color:#a99c93;margin:24px 0 0;font:11px/1.7 system-ui,sans-serif}@media (width<=380px),(height<=640px){.boot .boot-card{padding:22px 20px}.boot .boot-title{font-size:22px}.boot .boot-card .boot-house{width:42px;height:42px}.boot .boot-note{margin-top:18px}}@media (prefers-reduced-motion:reduce){.boot .boot-meter>span{transition:none;animation:none}}.reduce-motion .boot .boot-meter>span{transition:none;animation:none}.boot .boot-title{align-items:center;min-height:2.5em;display:grid}.boot .boot-cozy-line{animation:.65s both boot-line-arrive}@keyframes boot-line-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.boot .boot-cozy-line{animation:none}}.reduce-motion .boot .boot-cozy-line{animation:none}.ribbed-bedding-thumb{background:#6e5541;overflow:hidden}.ribbed-swatch{background:repeating-linear-gradient(#ad9a7c 0,#c5b293 2px,#dfceb0 4px,#c5b293 6px,#ad9a7c 8px);border-radius:5px 5px 8px 8px;width:80%;height:75%;position:relative;transform:rotate(-9deg);box-shadow:0 5px 10px #0004,inset 0 -6px 6px #9a80692e}.ribbed-swatch:before{content:"";background:inherit;border:1px solid #f5eddf;border-radius:4px;height:22%;position:absolute;inset:5% 16% auto;box-shadow:0 2px 3px #6e554144}.plain-bedding-thumb{background:#6e5541;overflow:hidden}.plain-bedding-swatch{background:var(--duvet);border-radius:5px 5px 8px 8px;width:80%;height:75%;position:relative;transform:rotate(-9deg);box-shadow:0 5px 10px #0004,inset 0 -6px 6px #0002}.plain-bedding-swatch:before{content:"";background:var(--sham);border-radius:4px;height:22%;position:absolute;inset:5% 16% auto;box-shadow:0 2px 3px #0003}.log-stats strong{white-space:nowrap;font-size:20px}.log-bars{border-radius:var(--r-md);border:1px solid var(--glass-line);background:#ffb14e0a;align-items:flex-end;gap:3px;height:104px;margin-top:14px;padding:10px 10px 6px;display:flex}.log-bars.week{gap:10px}.log-bar{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.log-bar-col{background:#fff6ea0d;border-radius:6px;flex-direction:column-reverse;flex:1;width:100%;max-width:26px;display:flex;overflow:hidden}.log-bar-col i{width:100%;min-height:3px;display:block}.log-bar-col .focus{background:linear-gradient(to top, #e8913a, var(--glow));box-shadow:0 0 8px #ffb14e73}.log-bar-col .life{background:var(--sage)}.log-bar-day{height:13px;color:var(--faint);font-variant-numeric:tabular-nums;font-size:10.5px}.log-bar.today .log-bar-day{color:var(--label);font-weight:700}.log-bar.today .log-bar-col{outline-offset:1px;outline:1.5px solid #ffb14e99}.log-bar.later .log-bar-col{border:1px dashed var(--glass-line);background:0 0}.log-day-head{justify-content:space-between;align-items:baseline;display:flex}.log-blocks{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.log-block{border-radius:var(--r-sm);border:1px solid var(--glass-line);background:#fff6ea08;align-items:center;gap:10px;padding:8px 10px;display:flex}.log-block-icon{background:#fff6ea0f;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.log-block-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.log-block-main strong{font-size:14px}.log-block-done{color:#1b2a1a;background:var(--sage);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.log-block-glow{text-align:right;min-width:34px;font-family:var(--display);color:#ffe9ae;text-shadow:var(--number-glow);font-variant-numeric:tabular-nums;font-size:16px}.log-empty{text-align:center;border-radius:var(--r-md);border:1px dashed var(--glass-line-strong);flex-direction:column;align-items:center;gap:10px;margin-top:22px;padding:22px 16px;display:flex}.log-empty p{color:var(--muted);margin:0}.log-note{margin-top:14px}.btn.start.shine{box-shadow:0 4px 0 var(--lit-edge), 0 0 26px #ffc86ee6, 0 0 64px #ffb14e80;position:relative;overflow:hidden}.btn.start.shine:after{content:"";pointer-events:none;will-change:transform;background:linear-gradient(105deg,#0000 0%,#ffffffbf 50%,#0000 100%);width:45%;animation:2.6s ease-in-out infinite start-shine-sweep;position:absolute;top:-2px;bottom:-2px;left:0;transform:translate(-120%)skew(-18deg)}@keyframes start-shine-sweep{0%{transform:translate(-120%)skew(-18deg)}45%,to{transform:translate(260%)skew(-18deg)}}.reduce-motion .btn.start.shine:after{display:none}.tutorial-coach{max-height:min(340px,100dvh - 160px);padding:14px;display:block;overflow-y:auto}.tutorial-coach>strong{margin:3px 0 5px;font-size:16px;display:block}.tutorial-coach>p{font-weight:400}.tutorial-floating{top:max(126px, env(safe-area-inset-top));width:min(310px,100% - 24px);left:50%;transform:translate(-50%)}.tutorial-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.tutorial-actions .btn{min-height:44px}.tutorial-rule{border-left:2px solid var(--coin);background:#ffc85712;border-radius:8px;padding:10px 12px}.tutorial-activities{flex-wrap:wrap}.tutorial-activities .act{flex:95px;min-width:0;padding-inline:8px}.tutorial-mode-hint{margin:6px 0 0;font-size:12px;line-height:1.4}.first-block-setup{max-height:calc(100dvh - 120px);overflow-y:auto}.first-block-setup .welcome-actions{width:100%}.first-block-setup .welcome-actions .btn.start{white-space:normal;width:100%;max-width:340px;padding-inline:12px}.help-topics{gap:8px;margin-top:20px;display:grid}.help-topics .btn{text-align:left;justify-content:flex-start;min-height:44px}.help-pagination{margin-top:24px}.settle-next{margin:0 0 12px}.consent-actions{flex-wrap:wrap}[hidden]{display:none!important}.sheet p.muted,.sheet .account-note .muted,.ci-card p.muted,.panel-copy-lines,.sheet .toggle .muted.block{white-space:pre-line}.shop-balance{color:var(--cream,#ffe7b8);align-items:center;gap:9px;display:inline-flex}.shop-balance strong{font-family:var(--display);font-size:22px}.shop-balance .glow-dot{flex:0 0 27px;width:27px;height:27px}.rhythm-details{margin:0 0 12px}.rhythm-details summary{color:var(--muted);cursor:pointer;font-size:13px}.stash-fly{z-index:10000;pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle at 35% 25%,#3a2d24,#1c1510);border:1.5px solid #e0b47ecc;border-radius:16px;width:76px;height:76px;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 10px 26px #100a0773,0 0 16px #ffbe6e59}.stash-fly img{object-fit:contain;width:100%;height:100%}.stash-catching{animation:.95s cubic-bezier(.3,1.4,.5,1) stash-catch}@keyframes stash-catch{0%{scale:1}38%{border-color:#ffd27a;scale:1.1;box-shadow:0 0 0 2px #21180f,0 0 22px #ffbe6ebf}52%{scale:1.12 .88}66%{scale:.95 1.06}80%{scale:1.02;box-shadow:0 0 0 2px #21180f,0 0 16px #ffbe6e73}to{scale:1}}.stash-flap{transform-box:view-box}.stash-flap-l{transform-origin:7px 15px}.stash-flap-r{transform-origin:25px 15px}.stash-catching .stash-flap-l{animation:.95s ease-in-out stash-flap-l}.stash-catching .stash-flap-r{animation:.95s ease-in-out stash-flap-r}@keyframes stash-flap-l{0%{transform:rotate(0)}25%,45%{transform:rotate(-38deg)}62%{transform:rotate(8deg)}76%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes stash-flap-r{0%{transform:rotate(0)}25%,45%{transform:rotate(38deg)}62%{transform:rotate(-8deg)}76%{transform:rotate(3deg)}to{transform:rotate(0)}}.stash-heart{transform-box:view-box;transform-origin:16px 11px}.stash-catching .stash-heart{animation:.95s ease-out stash-heart}@keyframes stash-heart{0%,50%{transform:translateY(0)scale(1)}66%{transform:translateY(-2.5px)scale(1.35)}to{transform:translateY(0)scale(1)}}.stash-plus{color:#ffd27a;font:800 13px/1 var(--font-display,inherit);text-shadow:0 0 8px #ffb14ecc;pointer-events:none;background:#21180fd9;border:1px solid #ffc56b99;border-radius:999px;padding:3px 8px;animation:1.4s ease-out .35s both stash-plus;position:absolute;top:-6px;left:50%;transform:translate(-50%)}@keyframes stash-plus{0%{opacity:0;transform:translate(-50%,6px)scale(.7)}20%{opacity:1;transform:translate(-50%,-6px)scale(1.08)}70%{opacity:1;transform:translate(-50%,-16px)scale(1)}to{opacity:0;transform:translate(-50%,-26px)}}@media (prefers-reduced-motion:reduce){.stash-catching,.stash-catching .stash-flap-l,.stash-catching .stash-flap-r,.stash-catching .stash-heart{animation:none}}.jar-added{white-space:nowrap;font:800 16px/1 var(--font-display,inherit);color:#ffd27a;text-shadow:0 0 10px #ffb14ed9;background:#21180fb8;border:1px solid #ffc56b8c;border-radius:999px;padding:5px 10px;animation:3.4s ease-out forwards jar-added;box-shadow:0 0 14px #ffb14e59}@keyframes jar-added{0%{opacity:0;transform:translateY(8px)scale(.8)}12%{opacity:1;transform:translateY(0)scale(1.08)}20%{transform:translateY(-2px)scale(1)}75%{opacity:1;transform:translateY(-18px)}to{opacity:0;transform:translateY(-28px)}}@media (prefers-reduced-motion:reduce){.jar-added{animation-duration:10ms}}.marble-scrim{cursor:pointer;background:radial-gradient(circle at 50% 42%,#28160a99,#080503e0 70%)}.marble-win{text-align:center;width:min(360px,100vw - 32px);color:var(--text);outline:none;justify-items:center;gap:4px;padding:8px 20px 18px;animation:.42s cubic-bezier(.2,1.3,.4,1) marble-win-in;display:grid;position:relative}.marble-halo{pointer-events:none;background:radial-gradient(circle,#ffbe6e61,#ff8c501f 45%,#0000 70%);border-radius:50%;width:320px;height:320px;animation:2.6s ease-in-out infinite marble-halo;position:absolute;top:150px;left:50%;transform:translate(-50%,-50%)}.marble-jar{width:320px;height:330px;position:relative}.marble-jar .jar-canvas{width:100%!important;height:100%!important}.marble-win h2{color:#ffd27a;text-shadow:0 0 18px #ffb14ebf;font-variant-numeric:tabular-nums;margin:0;font-size:56px;line-height:1.1}.marble-win p{color:var(--muted);margin:2px 0 0}.marble-win .marble-hint{color:var(--faint);margin-top:10px;font-size:12px}@keyframes marble-win-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes marble-halo{0%,to{opacity:.8;transform:translate(-50%,-50%)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}@media (prefers-reduced-motion:reduce){.marble-win,.marble-halo{animation:none}}.marble-win .summary-burst,.marble-win .celebrate-ring,.marble-win .celebrate-rays{display:none}.marble-win .summary-celebrate{margin:0 0 0 -29px;position:absolute;top:110px;left:50%}.marble-count{place-items:center;min-height:64px;margin-top:2px;display:grid;position:relative}.marble-win h2.pop{animation:.38s cubic-bezier(.3,1.6,.5,1) marble-count-pop}@keyframes marble-count-pop{0%{transform:scale(1)}40%{color:#fff3cf;text-shadow:0 0 26px #ffc86e;transform:scale(1.4)}to{transform:scale(1)}}.marble-plus{z-index:1;color:#ffd27a;text-shadow:0 0 8px #ffb14ee6;pointer-events:none;background:#21180fd9;border:1px solid #ffc56bb3;border-radius:999px;padding:3px 10px;font-size:22px;font-weight:800;animation:.7s cubic-bezier(.5,0,.6,1) both marble-plus-in;position:absolute;top:50%;left:50%}@keyframes marble-plus-in{0%{opacity:0;transform:translate(-50%,-170px)scale(.8)}20%{opacity:1;transform:translate(-50%,-150px)scale(1.1)}70%{opacity:1;transform:translate(-50%,-95%)scale(.95)}to{opacity:0;transform:translate(-50%,-50%)scale(.4)}}.marble-sparks{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.marble-sparks i{width:6px;height:6px;transform:rotate(var(--a)) translateX(0);background:#ffe2a0;border-radius:50%;animation:.8s ease-out forwards marble-spark;position:absolute;top:-3px;left:-3px;box-shadow:0 0 8px #ffb14e}@keyframes marble-spark{0%{opacity:1;transform:rotate(var(--a)) translateX(10px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateX(78px) scale(.3)}}.marble-win .marble-unit{color:var(--label);margin-top:-4px;font-weight:700}@media (prefers-reduced-motion:reduce){.marble-win h2.pop,.marble-plus,.marble-sparks i{animation:none}}.dock.dock-idle,.dock.dock-collapsed{padding-top:49px}.dock.dock-idle>.goal-chip,.dock.dock-collapsed>.goal-chip{flex-direction:column;align-items:stretch;gap:9px;min-height:44px;display:flex}.dock-collapsed>.goal-chip{cursor:pointer}.dock>.goal-chip .goal-chip-main{align-items:baseline;gap:8px;min-width:0;max-width:100%;display:flex}.dock>.goal-chip .goal-chip-main svg{color:var(--glow);align-self:center}.dock.dock-idle>.goal-chip .goal-chip-name,.dock.dock-collapsed>.goal-chip .goal-chip-name{text-overflow:ellipsis;white-space:nowrap;color:#ffc56b;min-width:0;font-size:17px;font-weight:800;line-height:1.2;overflow:hidden}.goal-chip-hours{white-space:nowrap;color:var(--faint);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.goal-chip-hours b{color:var(--text);font-weight:700}.goal-segs{gap:6px;width:100%;display:flex}.goal-segs i{border:1.5px dashed #ffc56b8c;border-radius:999px;flex:1;height:10px}.goal-segs i.part{background:linear-gradient(90deg, #ffc56b var(--fill), transparent var(--fill));border:1.5px solid #ffc56b}.goal-segs i.done{background:linear-gradient(#ffd88c,#f5a94a);border:1.5px solid #0000;box-shadow:0 0 8px #ffbe6e80}.goal-segs i.sparkle{animation:1.3s ease-out goal-seg-sparkle}@keyframes goal-seg-sparkle{0%{transform:scale(1);box-shadow:0 0 #ffdc9600}25%{transform:scale(1.25,1.5);box-shadow:0 0 18px #ffdc96}60%{transform:scale(1);box-shadow:0 0 12px #ffc878cc}to{box-shadow:0 0 8px #ffbe6e80}}.goal-chip.complete .goal-segs{animation:2.4s ease-in-out infinite goal-complete}.goal-chip.complete .goal-chip-main svg{color:#ffe08a;filter:drop-shadow(0 0 6px #ffd278f2)}@keyframes goal-complete{0%,to{filter:drop-shadow(0 0 3px #ffc86e80)}50%{filter:drop-shadow(0 0 10px #ffd278f2)}}@media (prefers-reduced-motion:reduce){.goal-segs i.sparkle,.goal-chip.complete .goal-segs{animation:none}}.tap-on{cursor:pointer}.modal.summary.summary-glow{gap:10px;padding-bottom:18px}.summary-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.summary-chip{color:var(--text);background:#fff6ea0f;border:1px solid #fff6ea29;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;animation:.42s cubic-bezier(.3,1.5,.5,1) .7s both summary-chip-in;display:inline-flex}.summary-chip.gold{color:#ffd27a;background:#ffb14e1a;border-color:#ffc56b73;animation-delay:.8s}.summary-chip.pink{color:#ff9fca;background:#ff7ab814;border-color:#ff7ab866;animation-delay:.85s}.summary-chip.discovery{color:#fff1cf;background:linear-gradient(90deg,#5fe3ee1f,#c4a7ff1f);border-color:#9ff3fa73;box-shadow:0 0 12px #9ff3fa33}.summary-chip.discovery b{color:#ffd27a}@keyframes summary-chip-in{0%{opacity:0;transform:translateY(8px)scale(.7)}to{opacity:1;transform:none}}.summary-hint{color:var(--faint);text-align:center;opacity:0;margin:6px 0 0;font-size:12px;transition:opacity .6s}.summary-hint.on{opacity:1}.win-card .row-actions:empty{display:none}.next-scrim{background:radial-gradient(circle at 50% 45%,#301c0c80,#080503d6 72%);place-items:center;padding:16px;display:grid}.next-step{text-align:center;justify-items:center;gap:14px;width:min(340px,100%);animation:.38s cubic-bezier(.3,1.4,.5,1) both summary-chip-in;display:grid;position:relative}.next-halo{pointer-events:none;background:radial-gradient(circle,#ffbe6452,#ff8c4614 48%,#0000 70%);border-radius:50%;width:330px;height:330px;margin:-165px 0 0 -165px;position:absolute;top:50%;left:50%}.next-title{color:#fff1d6;text-shadow:0 0 18px #ffbe648c;margin:0 0 4px;font-size:26px;font-weight:800;line-height:1.2;position:relative}.next-goal{gap:8px;width:100%;display:grid;position:relative}.next-goal.none{justify-items:center}.next-goal-name{align-items:baseline;gap:8px;font-weight:800;display:flex}.next-goal-name svg{color:var(--glow);align-self:center}.next-goal-name .n{text-overflow:ellipsis;white-space:nowrap;color:#ffc56b;min-width:0;font-size:20px;overflow:hidden}.next-goal-name .h{color:var(--faint);flex:none;margin-left:auto;font-size:14px}.next-goal-name .h b{color:var(--text)}.goal-segs.next-segs i.ahead{background:linear-gradient(90deg, #ffc56b var(--f), #ffc56b59 var(--f) var(--g), transparent var(--g));border:1.5px solid #ffc56b;animation:1.8s ease-in-out infinite next-ahead;box-shadow:0 0 10px #ffc56b73}@keyframes next-ahead{0%,to{box-shadow:0 0 6px #ffc56b4d}50%{box-shadow:0 0 14px #ffc56bb3}}.next-goal-note{color:#ffd27a;margin:0;font-size:13px;font-weight:700}.next-trophy{color:#ffd27a;filter:drop-shadow(0 0 12px #ffc85acc)}.next-make-goal{color:var(--text);font:inherit;cursor:pointer;background:#1e140ebf;border:1.5px solid #fff6ea4d;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-weight:800;display:inline-flex}.next-safe{cursor:default;padding:16px 40px}.btn.start.next-play{justify-content:center;align-items:center;gap:8px;min-width:170px;min-height:58px;padding:0 34px;font-size:19px;display:inline-flex}.next-play:focus-visible{outline-offset:6px;outline:2px solid #fff1d6}.next-what{align-items:center;gap:8px;margin-top:-6px;font-size:17px;font-weight:800;display:inline-flex}.next-brings{justify-content:center;gap:8px;display:flex}.next-chip{color:#ffd27a;background:#1e140ebf;border:1px solid #ffc56b73;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:800;display:inline-flex}.next-chip.marbles{color:#ffb3d6;border-color:#ff7ab873}.next-marble{background:radial-gradient(circle at 35% 30%,#fff,#ff7ab8 60%);border-radius:50%;width:14px;height:14px}@media (prefers-reduced-motion:reduce){.next-step,.goal-segs.next-segs i.ahead{animation:none}}.modal.summary.summary-glow{overflow:visible}.modal-scrim.summary-scrim{background:radial-gradient(circle at 50% 42%,#301c0c8c,#080503db 72%);place-items:center;padding:16px;display:grid}.glow-medals{text-align:center;outline:none;justify-items:center;gap:14px;width:min(380px,100%);animation:.42s cubic-bezier(.3,1.4,.5,1) both summary-chip-in;display:grid;position:relative}.glow-title{letter-spacing:3px;text-transform:uppercase;color:#ffd27a;margin:0;font-size:13px;font-weight:800}.glow-ring-wrap{place-items:center;width:250px;height:250px;display:grid;position:relative}.glow-ring-halo{background:radial-gradient(circle,#ffbe6466,#ff8c461a 48%,#0000 70%);border-radius:50%;animation:2.6s ease-in-out infinite marble-halo;position:absolute;inset:-40px}.glow-ring-sparks{margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%}.glow-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.glow-ring-track{fill:none;stroke:#fff6ea1a;stroke-width:7px}.glow-ring-fill{fill:none;stroke:#ffd27a;stroke-width:7px;stroke-linecap:round;stroke-dasharray:var(--to) 1;filter:drop-shadow(0 0 6px #ffbe5ae6);animation:1.6s cubic-bezier(.3,.8,.3,1) .4s both glow-ring-fill}@keyframes glow-ring-fill{0%{stroke-dasharray:var(--from) 1}to{stroke-dasharray:var(--to) 1}}.glow-ring-inside{justify-items:center;gap:2px;display:grid;position:relative}.glow-ring-coin.glow-dot{width:58px;height:58px;box-shadow:0 0 24px #ffbe5acc}.glow-ring-num{background:linear-gradient(#fff6d8,#ffd27a 45%,#f5a23a);color:#0000;filter:drop-shadow(0 0 16px #ffb450b3);font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:900;line-height:1}.glow-ring-num.landed{animation:.38s cubic-bezier(.3,1.6,.5,1) marble-count-pop}.glow-ring-level{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.glow-medal-row{flex-wrap:wrap;justify-content:center;gap:10px 8px;display:flex}.glow-medal{--edge:#fff6ea59;--aura:#fff6ea1f;justify-items:center;gap:3px;width:92px;animation:.42s cubic-bezier(.3,1.5,.5,1) both summary-chip-in;display:grid}.glow-medal.gold{--edge:#ffc56bbf;--aura:#ffb14e59}.glow-medal.rhythm{--edge:#ff7ab8bf;--aura:#ff7ab84d}.glow-medal.discovery{--edge:#9ff3fabf;--aura:#5fe3ee4d}.glow-medal-face{width:56px;height:56px;color:var(--text);border:1.5px solid var(--edge);box-shadow:0 0 16px var(--aura);background:radial-gradient(circle at 35% 30%,#ffffff2e,#ffffff08);border-radius:50%;place-items:center;display:grid}.glow-medal b{color:#ffd27a;font-size:16px}.glow-medal>span:last-child{color:var(--muted);max-width:92px;font-size:11px;line-height:1.2}.medal-star{color:#c8f8fb;text-shadow:0 0 10px #9ff3fae6;font-size:22px}.medal-bonus{color:#ffd27a;text-shadow:0 0 10px #ffbe5af2;font-size:24px;line-height:1}.rhythm-dots{gap:4px;display:flex}.rhythm-dots i{background:#ff7ab8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #ff7ab8}@media (prefers-reduced-motion:reduce){.glow-medals,.glow-medal,.glow-ring-fill,.glow-ring-halo,.glow-ring-num.landed{animation:none}}:is(.app:has(.summary-scrim,.marble-scrim,.next-scrim) .dock,.app:has(.summary-scrim,.marble-scrim,.next-scrim) .sidenav){opacity:0;pointer-events:none;transition:opacity .2s}.wall-goals-head{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.wall-goals-head h3{margin:0}.goal-wall-list .wall-row-text{flex:1;min-width:0}.goal-wall-list strong{overflow-wrap:anywhere}.goal-memo-preview{border-radius:8px;gap:18px;margin:8px 0 16px;padding:28px 24px;display:grid;box-shadow:0 8px 24px #0003}.goal-memo-preview strong{overflow-wrap:anywhere;font-size:1.35rem}.goal-memo-preview>span{font-size:.95rem}.goal-memo-track{background:#0002;border-radius:8px;height:8px;display:block;overflow:hidden}.goal-memo-track i{border-radius:inherit;background:#bc7f39;height:100%;display:block}.legacy-goal-link{border:1px solid var(--glass-line);border-radius:16px;margin-bottom:20px;padding:16px}.starter-goals ul{margin:8px 0 0;padding:0;list-style:none}.starter-goals li{border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:14px 0;display:flex}.starter-goals .settle-tick{flex:0 0 18px;width:18px;height:18px}.starter-goal-label{flex:1;min-width:0}.starter-goals li.done .settle-tick{background:var(--glow);color:#241a10}.starter-goals li .btn{white-space:normal;flex-shrink:0;max-width:44%}@media (width<=380px){.starter-goals li{flex-wrap:wrap}.starter-goals li .btn{max-width:calc(100% - 28px);margin-left:28px}.wall-goals-head{align-items:flex-start}}.icon-btn.pace-btn,.icon-btn.pace-btn:hover,.icon-btn.pace-btn.on{box-shadow:none;background:0 0;border-color:#0000}.icon-btn.pace-btn{letter-spacing:.02em;color:#fff6ead1;text-shadow:0 1px 3px #100a07bf,0 0 1px #100a0799;font-size:17px;font-weight:800}.icon-btn.pace-btn.on{color:#ffc46b;text-shadow:0 0 8px #ffb14ed9,0 1px 3px #100a07bf}.stash-thumb .plant-state{color:#bfe8b0;background:#100a07b8;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;position:absolute;bottom:4px;left:4px}.test-glow.test-grow{color:#bfe8b0;border-color:#a0dc9699;bottom:58px}.new-sticker.infinite-sticker{color:#163a1f;background:#bfe8b0;padding:2px 8px 3px;font-size:16px;line-height:1;left:auto;right:-6px;transform:none;box-shadow:0 0 10px #96dc8c8c}.quest-dot{pointer-events:none;background:#ff5fa8;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px;box-shadow:0 0 8px #ff5fa8cc}.icon-btn,.more-item{position:relative}.goal-card>.goal-head{border-bottom:1px solid #ffb14e38;margin-bottom:10px;padding-bottom:9px}.goal-card>.goal-head strong{font-family:var(--display);letter-spacing:.01em;color:#ffc46b;text-shadow:0 0 10px #ffb14e59;align-items:center;gap:7px;font-size:20px;font-weight:600;display:inline-flex}.goal-card>.goal-head .muted{font-size:12px}.goal-chip-add,.dock-idle .goal-chip-add{color:#ffd25c;text-shadow:0 0 8px #ffc446bf,0 0 2px #ffc44680;font-weight:700}.goal-chip-add svg{filter:drop-shadow(0 0 4px #ffc446bf)}.dock.dock-idle>.goal-chip.goal-duo,.dock.dock-collapsed>.goal-chip.goal-duo{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:end;gap:0;min-height:34px;display:grid}.dock>.goal-chip.goal-duo .duo-quest,.dock>.goal-chip.goal-duo .duo-goal{flex-flow:column;justify-content:flex-end;gap:7px;min-width:0;padding:0;display:flex}.dock>.goal-chip.goal-duo .duo-quest{grid-column:1;align-items:flex-start}.dock>.goal-chip.goal-duo .duo-goal{grid-column:3;align-items:stretch}.goal-duo .duo-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--faint);letter-spacing:.02em;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:flex;overflow:hidden}.goal-duo .duo-goal .duo-label{justify-content:flex-end}.dock>.goal-chip.goal-duo .duo-label .goal-chip-name{color:#ffc56b;font-size:11.5px}.goal-duo .duo-hours{flex:none}.goal-duo .duo-quest .duo-label svg{color:#fff;opacity:.8}.quest-dots{align-items:center;gap:7px;height:10px;display:flex}.quest-dots i{border:1.5px solid #ffffff8c;border-radius:50%;width:9px;height:9px}.quest-dots i.done{background:#fff;border-color:#0000;box-shadow:0 0 6px #ffffffb3}.goal-duo .goal-segs{gap:4px}.goal-duo .goal-segs i{height:8px}.goal-duo .goal-chip-add{white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-size:13px;display:flex}.dock.dock-idle>.goal-chip.goal-duo,.dock.dock-collapsed>.goal-chip.goal-duo{pointer-events:none;margin-top:-40px}.dock>.goal-chip.goal-duo .duo-quest,.dock>.goal-chip.goal-duo .duo-goal{pointer-events:auto}.dock.dock-collapsed{min-height:0}.wall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.wall-tile{aspect-ratio:1;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 9px;display:flex;position:relative;overflow:hidden;transform:rotate(-1deg);box-shadow:0 4px 10px #00000059}.wall-grid li:nth-child(2n) .wall-tile{transform:rotate(1.2deg)}.wall-tile:active{transform:scale(.95)}.wall-tile-kind{letter-spacing:.04em;text-transform:uppercase;opacity:.6;font-size:10px;font-weight:800}.wall-tile-text{-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.wall-tile.done .wall-tile-text{opacity:.7;text-decoration:line-through}.wall-tile .goal-memo-track{width:100%;margin-top:auto}.wall-tile.wall-tile-add{box-shadow:none;color:#ffe8c8bf;background:0 0;border:2px dashed #ffe8c873;justify-content:center;align-items:center;transform:none}.wall-tile.wall-tile-add:hover{border-color:var(--glow);color:var(--glow)}.style-grid.style-grid-bare{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.style-grid-bare .style-chip{padding:6px 4px}.goal-wall-list .wall-row.on{background:var(--glow-soft);box-shadow:inset 0 0 0 1.5px var(--glow);border-radius:12px;padding-inline:12px}.goal-wall-list .wall-row[role=radio]:after{display:none}.wall-tile:has(.goal-memo-track) .wall-tile-text{-webkit-line-clamp:2}.style-grid-bare+.style-grid-bare{margin-top:8px}.style-grid-bare .style-paper.poster{border-top:0;border-radius:2px;width:32px;height:42px;box-shadow:inset 0 -10px 0 -6px}.goal-wall-list .wall-row:disabled{opacity:.5;cursor:default}.wall-goal-icon{color:#ffc56b;background:#ffc56b24;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.goal-head .goal-pen{width:34px;height:34px;color:var(--faint);margin-right:auto}.goal-form .goal-bin{color:#ff8a7a;width:40px;height:40px;margin-right:auto}.goal-bin-confirm{align-items:center}.goal-bin-confirm>span{margin-right:auto;font-weight:700}.goal-head .goal-pen,.goal-form .goal-bin{box-shadow:none;background:0 0;border:0}.dock-focus .dock-full{width:40px;height:40px;box-shadow:none;color:var(--faint);background:0 0;border:0;position:absolute;top:10px;right:10px}html.room-only .app>:not(.scene-canvas):not(.focus-dim):not(.room-only-timer):not(.pan-room-only),html.room-only body>:not(#root){display:none!important}.pan-stick.pan-room-only{right:14px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:61;width:52px;height:52px;display:grid;position:fixed}.pan-room-only .pan-knob svg{width:34px;height:34px}.room-only-timer{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:61;color:#fff4e2d9;letter-spacing:.06em;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 0 8px #ffc47859;background:#14100e59;border-radius:999px;padding:4px 12px;font-size:15px;font-weight:700;position:fixed;transform:translate(-50%)}
