/* © 2026 Manish Kumar Panday · Algoistan · All rights reserved. */
:root,:root[data-theme=dark]{--md-primary: #6fdbc9;--md-on-primary: #00382f;--md-primary-container: #005046;--md-on-primary-container: #8ff8e5;--md-secondary-container: #2c403c;--md-on-secondary-container: #cde8e1;--md-tertiary: #ffb877;--md-on-tertiary: #4a2800;--md-tertiary-container: #6b3b00;--md-on-tertiary-container: #ffdcbf;--md-surface: #0a100f;--md-on-surface: #e2e9e6;--md-on-surface-variant: #b7c3bf;--md-outline: #7f8a87;--md-outline-variant: #34403d;--s0: #070b0b;--s1: #101716;--s2: #161f1e;--s3: #1d2726;--s4: #263130;--s5: #313d3b;--hi: rgba(255, 255, 255, .07);--hi-strong: rgba(255, 255, 255, .13);--lo: rgba(0, 0, 0, .55);--lo-soft: rgba(0, 0, 0, .35);--glow-teal: rgba(111, 219, 201, .45);--glow-amber: rgba(255, 184, 119, .5);--metal-1: #e9efe9;--metal-2: #9aa7a3;--metal-3: #56625f}:root[data-theme=light]{--md-primary: #006b5e;--md-on-primary: #ffffff;--md-primary-container: #9df2e0;--md-on-primary-container: #00201b;--md-secondary-container: #d3e8e2;--md-on-secondary-container: #06201b;--md-tertiary: #9a5800;--md-on-tertiary: #ffffff;--md-tertiary-container: #ffdcbf;--md-on-tertiary-container: #2d1600;--md-surface: #e7ecea;--md-on-surface: #172020;--md-on-surface-variant: #3f4a47;--md-outline: #6f7976;--md-outline-variant: #c3ccc9;--s0: #d4dbd8;--s1: #e2e8e5;--s2: #edf2f0;--s3: #f4f8f6;--s4: #fafcfb;--s5: #ffffff;--hi: rgba(255, 255, 255, .85);--hi-strong: rgba(255, 255, 255, 1);--lo: rgba(40, 60, 55, .28);--lo-soft: rgba(40, 60, 55, .16);--glow-teal: rgba(0, 107, 94, .3);--glow-amber: rgba(154, 88, 0, .3);--metal-1: #ffffff;--metal-2: #c2ccc8;--metal-3: #7d8985}:root{--r-xl: 28px;--r-lg: 20px;--r-md: 14px;--r-sm: 10px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--tile-h: 112px;--ease-emph: cubic-bezier(.2, 0, 0, 1);--ease-decel: cubic-bezier(.05, .7, .1, 1);--font-display: ui-rounded, "SF Pro Rounded", "Google Sans", "Nunito", system-ui, sans-serif;--font-body: "Google Sans Text", system-ui, -apple-system, "Segoe UI", sans-serif;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--raised: inset 0 1px 0 var(--hi-strong), inset 0 -1px 0 var(--lo-soft), 0 1px 0 var(--lo), 0 10px 24px -6px var(--lo), 0 2px 6px var(--lo-soft);--keycap: inset 0 1px 0 var(--hi-strong), inset 0 -3px 0 var(--lo-soft), 0 3px 0 var(--s0), 0 10px 18px -6px var(--lo);--pressed: inset 0 2px 5px var(--lo), inset 0 -1px 0 var(--hi), 0 1px 0 var(--hi);--groove: inset 0 2px 4px var(--lo), inset 0 -1px 0 var(--hi)}body.hub{background-color:var(--md-surface);color:var(--md-on-surface);font-family:var(--font-body);background-image:var(--grain),radial-gradient(1100px 600px at 80% -15%,rgba(111,219,201,.1),transparent 60%),radial-gradient(800px 500px at -10% 30%,rgba(255,184,119,.05),transparent 60%),linear-gradient(180deg,var(--s1),var(--md-surface) 420px);background-attachment:fixed}.hub main{max-width:1120px;padding:var(--sp-2) 20px 112px}@media (max-width: 600px){.hub main{padding:var(--sp-1) var(--sp-4) 120px}}.panel{position:relative;border-radius:var(--r-xl);background:var(--grain),linear-gradient(180deg,var(--s3),var(--s2));box-shadow:var(--raised)}.well{border-radius:var(--r-lg);background:linear-gradient(180deg,var(--s1),var(--s2));box-shadow:var(--pressed)}.state{position:relative;overflow:hidden}.state:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;transition:opacity .2s var(--ease-emph);pointer-events:none}.state:hover:before{opacity:.06}.state:active:before{opacity:.1}.state:focus-visible{outline:3px solid var(--md-primary);outline-offset:3px}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);border:0;cursor:pointer;text-decoration:none;border-radius:999px;padding:11px 20px 11px 16px;font:700 .92rem var(--font-display);color:var(--md-on-tertiary-container);background:linear-gradient(180deg,color-mix(in oklab,var(--md-tertiary) 55%,var(--md-tertiary-container)),var(--md-tertiary-container));box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000040,0 3px color-mix(in oklab,var(--md-tertiary-container) 55%,#000),0 10px 20px -6px var(--glow-amber);transition:transform .12s var(--ease-emph),box-shadow .12s var(--ease-emph)}.btn:active{transform:translateY(2px);box-shadow:inset 0 2px 5px #00000059,0 1px color-mix(in oklab,var(--md-tertiary-container) 55%,#000)}.btn small{display:block;font:500 .74rem var(--font-body);opacity:.85}.btn .led{width:9px;height:9px;border-radius:50%;background:#ffe2c2;box-shadow:0 0 6px 2px var(--glow-amber);flex:none}.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--sp-3);padding:10px 20px;background:linear-gradient(180deg,color-mix(in oklab,var(--s3) 92%,transparent),color-mix(in oklab,var(--s2) 92%,transparent));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 -1px 0 var(--lo),0 1px 0 var(--hi),0 6px 16px -8px var(--lo)}.brand{display:flex;align-items:center;gap:10px;font:800 1.05rem var(--font-display)}.brand .sub{color:var(--md-on-surface-variant);font:500 .85rem var(--font-body)}@media (max-width: 600px){.brand .sub{display:none}}.logo-img{border-radius:11px;box-shadow:var(--keycap)}.wordmark{font:800 1.12rem var(--font-display);letter-spacing:.01em}.wordmark span{color:var(--md-tertiary)}.logo{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--md-on-primary-container);background:linear-gradient(160deg,color-mix(in oklab,var(--md-primary) 45%,var(--md-primary-container)),var(--md-primary-container));box-shadow:var(--keycap)}.icon-btn{margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:var(--md-on-surface-variant);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap);transition:transform .12s var(--ease-emph)}.icon-btn:active{transform:translateY(2px);box-shadow:var(--pressed)}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:var(--sp-5);align-items:stretch;margin:var(--sp-6) 0 var(--sp-5)}@media (max-width: 840px){.hero{grid-template-columns:1fr;margin-top:var(--sp-5)}}.eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font:700 .74rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--md-primary);margin:0 0 var(--sp-3)}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--md-primary);box-shadow:0 0 8px 2px var(--glow-teal)}.display{font:800 clamp(2rem,5.2vw,3.3rem)/1.05 var(--font-display);letter-spacing:-.02em;margin:0 0 var(--sp-4);padding:0;border:0;text-shadow:0 1px 0 var(--hi),0 2px 12px rgba(0,0,0,.35)}.display em{font-style:normal;background:linear-gradient(100deg,var(--md-primary),var(--md-tertiary));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.supporting{color:var(--md-on-surface-variant);font-size:1.02rem;line-height:1.62;max-width:60ch;margin:0}.gauge-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2) var(--sp-5);align-items:center;padding:var(--sp-5)}.dial{width:124px;height:124px;grid-row:span 3;border-radius:50%;padding:8px;background:linear-gradient(145deg,var(--s4),var(--s1));box-shadow:var(--raised)}.dial svg{display:block;width:100%;height:100%}.dial .face{fill:url(#faceGrad)}.dial .tick{stroke:var(--md-outline);stroke-width:1.4;stroke-linecap:round}.dial .tick.on{stroke:var(--md-primary);filter:drop-shadow(0 0 2px var(--glow-teal))}.dial .arc{stroke:var(--md-primary);filter:drop-shadow(0 0 4px var(--glow-teal));transition:stroke-dashoffset 1.2s var(--ease-decel)}.dial .groove{stroke:var(--s0)}.dial text{fill:var(--md-on-surface);font:800 21px var(--font-display)}.dial .lab{fill:var(--md-on-surface-variant);font:600 8.5px var(--font-body);letter-spacing:.12em}.gc-title{font:700 1.1rem var(--font-display);margin:0}.gc-line{color:var(--md-on-surface-variant);font-size:.88rem;margin:0}.gauge-card .btn{justify-self:start;margin-top:var(--sp-2)}.chips{display:grid;grid-auto-flow:column;grid-auto-columns:184px;gap:var(--sp-3);overflow-x:auto;padding:var(--sp-2) var(--sp-1) var(--sp-4);margin:0 calc(-1 * var(--sp-1)) var(--sp-2);scroll-snap-type:x proximity;scrollbar-width:thin}.chip{scroll-snap-align:start;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--sp-2);align-items:center;height:62px;padding:0 var(--sp-3);border-radius:var(--r-md);text-decoration:none;color:var(--md-on-surface);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap);transition:transform .12s var(--ease-emph)}.chip:active{transform:translateY(2px);box-shadow:var(--pressed)}.chip .n{grid-row:span 2;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font:800 .78rem var(--font-display);background:var(--s1);box-shadow:var(--pressed);color:var(--md-on-surface-variant)}.chip .nm{font:650 .78rem/1.15 var(--font-display);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chip .fr{font:600 .7rem var(--font-body);color:var(--md-outline);font-variant-numeric:tabular-nums}.chip.full .n{background:var(--md-primary);color:var(--md-on-primary);box-shadow:0 0 8px var(--glow-teal),inset 0 1px #ffffff59}.chip.here{box-shadow:var(--keycap),0 0 0 2px var(--md-tertiary),0 0 16px -2px var(--glow-amber)}.chip.here .n{background:var(--md-tertiary);color:var(--md-on-tertiary);box-shadow:0 0 8px var(--glow-amber)}.howto{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4) var(--sp-5);color:var(--md-on-surface-variant);font-size:.92rem;margin:var(--sp-2) 0 var(--sp-4)}.howto .ic{flex:none;width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--md-tertiary);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.howto b{color:var(--md-on-surface)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);font-size:.8rem;color:var(--md-on-surface-variant);margin:0 0 var(--sp-5);padding-left:var(--sp-1)}.legend span{display:inline-flex;align-items:center;gap:var(--sp-2)}.legend .lamp{width:10px;height:10px;border-radius:50%;background:var(--s1);box-shadow:var(--pressed)}.legend .lamp.t{background:var(--md-primary);box-shadow:0 0 6px 1px var(--glow-teal)}.legend .lamp.a{background:var(--md-tertiary);box-shadow:0 0 6px 1px var(--glow-amber)}.level{padding:var(--sp-5);scroll-margin-top:84px;opacity:0;transform:translateY(14px);animation:rise .7s var(--ease-decel) forwards}@keyframes rise{to{opacity:1;transform:none}}.level:after{content:"";position:absolute;inset:7px;border-radius:calc(var(--r-xl) - 7px);border:1px dashed color-mix(in oklab,var(--md-outline-variant) 70%,transparent);pointer-events:none}.level.side{background:var(--grain),linear-gradient(180deg,color-mix(in oklab,var(--md-secondary-container) 55%,var(--s3)),var(--s2))}.lv-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-4);align-items:center;margin-bottom:var(--sp-4)}.coin{position:relative;width:60px;height:60px;grid-row:span 2;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,var(--metal-1),var(--metal-2) 45%,var(--metal-3) 100%);box-shadow:inset 0 2px 1px #fff9,inset 0 -3px 4px #00000059,0 3px 0 var(--s0),0 8px 14px -4px var(--lo)}.coin:before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px solid rgba(0,0,0,.18);box-shadow:inset 0 1px #ffffff73}.coin span{font:900 1.3rem var(--font-display);color:#2a3331;text-shadow:0 1px 0 rgba(255,255,255,.7),0 -1px 0 rgba(0,0,0,.25);position:relative}.coin small{position:absolute;top:11px;font:800 .45rem var(--font-body);letter-spacing:.14em;color:#1e2826b3}.level.complete .coin{background:radial-gradient(circle at 32% 28%,#e6fff9,var(--md-primary) 50%,#0c6b5e 100%);box-shadow:inset 0 2px 1px #fff9,inset 0 -3px 4px #00000059,0 3px 0 var(--s0),0 0 18px var(--glow-teal)}.lv-title{font:800 1.25rem/1.2 var(--font-display);margin:0;padding:0;border:0;text-shadow:0 1px 0 var(--hi)}.lv-goal{color:var(--md-on-surface-variant);font-size:.9rem;margin:0}.meter{grid-row:span 2;display:grid;justify-items:end;gap:2px}.meter b{font:800 1.15rem var(--font-display);font-variant-numeric:tabular-nums}.meter small{font:700 .66rem var(--font-body);letter-spacing:.12em;color:var(--md-on-surface-variant)}.tube{height:12px;border-radius:12px;padding:3px;margin:0 0 var(--sp-5);background:var(--s1);box-shadow:var(--groove)}.tube>div{height:100%;border-radius:8px;min-width:6px;background:linear-gradient(180deg,#b8fff2,var(--md-primary) 45%,#129c88);box-shadow:0 0 10px var(--glow-teal),inset 0 1px #ffffff80;transform-origin:left;animation:grow 1.1s var(--ease-decel) both .25s}.tube>div.zero{background:transparent;box-shadow:none}@keyframes grow{0%{transform:scaleX(0)}}@media (max-width: 600px){.lv-head{grid-template-columns:auto minmax(0,1fr)}.meter{grid-row:auto;grid-column:2;display:flex;align-items:baseline;gap:var(--sp-2)}.coin{grid-row:span 3}}.track{position:relative;display:grid;gap:var(--sp-6) 48px;padding:var(--sp-2) 0 var(--sp-1)}.track svg.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.links .chan{stroke:var(--s0);stroke-width:7;stroke-linecap:round;opacity:.9}.links .chan-hi{stroke:var(--hi);stroke-width:7;stroke-linecap:round;transform:translateY(1px)}.links .flow{stroke-width:2.5;stroke-linecap:round;fill:none}.links .todo{stroke:var(--md-outline);stroke-dasharray:1 7;opacity:.75}.links .lit{stroke:var(--md-primary);filter:drop-shadow(0 0 4px var(--glow-teal))}.links .next{stroke:var(--md-tertiary);stroke-dasharray:1 7;filter:drop-shadow(0 0 3px var(--glow-amber));animation:march 1s linear infinite}@keyframes march{to{stroke-dashoffset:-16}}.tile{position:relative;z-index:1;height:var(--tile-h);display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--sp-3);align-items:start;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);text-decoration:none;color:var(--md-on-surface);background:var(--grain),linear-gradient(180deg,var(--s5),var(--s4) 55%,var(--s3));box-shadow:var(--keycap);transition:transform .18s var(--ease-emph),box-shadow .18s var(--ease-emph)}.tile:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--hi-strong),inset 0 -3px 0 var(--lo-soft),0 5px 0 var(--s0),0 16px 24px -8px var(--lo)}.tile:active{transform:translateY(3px);box-shadow:var(--pressed)}.tile .lamp{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:800 .78rem var(--font-display);color:var(--md-on-surface-variant);background:linear-gradient(180deg,var(--s1),var(--s2));box-shadow:var(--pressed)}.tile .txt{min-width:0;display:grid;align-content:start;gap:2px}.tile .id{font:800 .64rem var(--font-body);letter-spacing:.1em;color:var(--md-outline)}.tile .t,.tile .s{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.tile .t{font:700 .95rem/1.25 var(--font-display);-webkit-line-clamp:2}.tile .s{color:var(--md-on-surface-variant);font-size:.76rem;line-height:1.35;-webkit-line-clamp:2}.tile.done{background:var(--grain),linear-gradient(180deg,color-mix(in oklab,var(--md-primary-container) 30%,var(--s2)),color-mix(in oklab,var(--md-primary-container) 18%,var(--s2)));box-shadow:var(--pressed);transform:translateY(2px)}.tile.done:hover{transform:translateY(1px);box-shadow:var(--pressed),0 0 0 1px color-mix(in oklab,var(--md-primary) 35%,transparent)}.tile.done .lamp{color:var(--md-on-primary);background:radial-gradient(circle at 35% 30%,#d6fff7,var(--md-primary) 55%,#0f8a78);box-shadow:0 0 12px var(--glow-teal),inset 0 1px #ffffff80}.tile.here{box-shadow:var(--keycap),0 0 0 2px var(--md-tertiary),0 0 26px -2px var(--glow-amber)}.tile.here .lamp{color:var(--md-on-tertiary);background:radial-gradient(circle at 35% 30%,#fff1e2,var(--md-tertiary) 55%,#b26a14);box-shadow:0 0 14px var(--glow-amber),inset 0 1px #ffffff8c;animation:breathe 2.4s var(--ease-emph) infinite}@keyframes breathe{50%{box-shadow:0 0 22px 4px var(--glow-amber),inset 0 1px #ffffff8c}}.tag{position:absolute;right:var(--sp-3);bottom:var(--sp-3);font:800 .58rem var(--font-body);letter-spacing:.12em;color:var(--md-on-tertiary);padding:3px 8px;border-radius:6px;background:linear-gradient(180deg,color-mix(in oklab,var(--md-tertiary) 80%,#fff),var(--md-tertiary));box-shadow:inset 0 1px #fff6,0 1px #00000059}@media (max-width: 600px){:root{--tile-h: 98px}.track{gap:var(--sp-5)}}.between{display:flex;justify-content:center;height:52px}.between svg{overflow:visible}.between .chan{stroke:var(--s0);stroke-width:8;stroke-linecap:round}.between .flow{stroke:var(--md-outline);stroke-width:2.5;stroke-dasharray:1 7;stroke-linecap:round}.between .flow.lit{stroke:var(--md-primary);stroke-dasharray:none;filter:drop-shadow(0 0 4px var(--glow-teal))}.between .rivet{fill:url(#rivetGrad);stroke:#0006;stroke-width:1}.branch{display:flex;align-items:center;gap:var(--sp-3);justify-content:center;color:var(--md-on-surface-variant);font-size:.82rem;margin:var(--sp-4) 0;text-align:center}.branch .plate{font:800 .66rem var(--font-body);letter-spacing:.12em;color:var(--md-on-secondary-container);padding:5px 10px;border-radius:8px;background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.fab{position:fixed;right:22px;bottom:22px;z-index:30;transform:translateY(140%);transition:transform .45s var(--ease-decel)}.fab.show{transform:none}.fab.btn{padding:15px 22px 15px 18px;border-radius:20px}@media (max-width: 600px){.fab{left:16px;right:16px;bottom:16px;justify-content:center}}footer.hubfoot{text-align:center;color:var(--md-outline);font-size:.8rem;margin-top:var(--sp-6)}@media (prefers-reduced-motion: reduce){.level,.tube>div{animation:none;opacity:1;transform:none}.tile.here .lamp,.links .next{animation:none}.tile,.fab,.btn,.chip,.dial .arc{transition:none}}.tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);margin:0 0 var(--sp-5)}@media (max-width: 960px){.tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.tools{grid-template-columns:1fr}}.tool{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto 1fr;gap:2px var(--sp-3);align-items:start;min-height:116px;padding:var(--sp-4);border-radius:var(--r-lg);text-decoration:none;color:var(--md-on-surface);transition:transform .18s var(--ease-emph)}a.tool:hover{transform:translateY(-2px)}a.tool:active{transform:translateY(2px);box-shadow:var(--pressed)}.tool .ticon{grid-row:span 2;width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.25rem;background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.tool .tt{font:800 1rem var(--font-display)}.tool .td{color:var(--md-on-surface-variant);font-size:.84rem;line-height:1.4}.tool .tbadge{position:absolute;top:var(--sp-3);right:var(--sp-3);font:800 .66rem var(--font-body);letter-spacing:.08em;color:var(--md-on-tertiary);padding:3px 8px;border-radius:7px;background:var(--md-tertiary);box-shadow:0 0 10px var(--glow-amber)}.tool input[type=search]{grid-column:2;width:100%;box-sizing:border-box;margin-top:var(--sp-2);padding:9px 12px;border:0;border-radius:var(--r-sm);font:.88rem var(--font-body);color:var(--md-on-surface);background:var(--s1);box-shadow:var(--groove)}.tool input[type=search]:focus{outline:2px solid var(--md-primary)}.backup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4) var(--sp-5);align-items:center;padding:var(--sp-5);margin-top:var(--sp-6)}@media (max-width: 720px){.backup{grid-template-columns:1fr}}.bk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.btn-ghost{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;border-radius:999px;padding:11px 18px;font:700 .92rem var(--font-display);color:var(--md-on-surface);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.btn-ghost:active{transform:translateY(2px);box-shadow:var(--pressed)}.btn-ghost:focus-within,.btn-ghost:focus-visible{outline:3px solid var(--md-primary);outline-offset:3px}.stepper{padding:var(--sp-4) var(--sp-5) var(--sp-5);margin:0 0 var(--sp-5)}.st-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--sp-3);margin-bottom:var(--sp-4)}.st-title{font:800 1.05rem var(--font-display);margin:0;padding:0;border:0}.st-sub{color:var(--md-on-surface-variant);font-size:.84rem}.steps{--n: 11;--fill: 0;position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0 4px}.steps:before,.steps:after{content:"";position:absolute;top:21px;left:calc(50% / var(--n));height:6px;border-radius:6px;pointer-events:none}.steps:before{right:calc(50% / var(--n));background:var(--s1);box-shadow:var(--groove)}.steps:after{width:calc((100% - 100% / var(--n)) * var(--fill));background:linear-gradient(90deg,#129c88,var(--md-primary));box-shadow:0 0 10px var(--glow-teal);transition:width 1s var(--ease-decel)}.st{position:relative;z-index:1}.st-link{display:grid;justify-items:center;gap:6px;padding:0 2px 4px;text-decoration:none;color:var(--md-on-surface);border-radius:var(--r-md)}.st-link:focus-visible{outline:3px solid var(--md-primary);outline-offset:2px}.st-coin{--p: 0;position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--md-primary) calc(var(--p) * 1%),var(--s1) 0);box-shadow:0 3px 0 var(--s0),0 8px 14px -6px var(--lo);transition:transform .18s var(--ease-emph)}.st-coin>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:800 .95rem var(--font-display);color:var(--md-on-surface-variant);background:linear-gradient(180deg,var(--s5),var(--s3));box-shadow:inset 0 1px 0 var(--hi-strong),inset 0 -2px 0 var(--lo-soft)}.st-link:hover .st-coin{transform:translateY(-2px)}.st-link:active .st-coin{transform:translateY(1px)}.st.full .st-coin>span{color:var(--md-on-primary);background:radial-gradient(circle at 35% 30%,#d6fff7,var(--md-primary) 55%,#0f8a78);box-shadow:0 0 12px var(--glow-teal),inset 0 1px #ffffff80}.st.here .st-coin{box-shadow:0 0 0 3px var(--md-tertiary),0 0 18px var(--glow-amber),0 3px 0 var(--s0)}.st.here .st-coin>span{color:var(--md-on-tertiary);background:radial-gradient(circle at 35% 30%,#fff1e2,var(--md-tertiary) 55%,#b26a14)}.st-name{font:650 .72rem/1.22 var(--font-display);text-align:center;color:var(--md-on-surface-variant);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:3.66em}.st.here .st-name,.st.full .st-name{color:var(--md-on-surface)}.st-frac{font:700 .68rem var(--font-body);color:var(--md-outline);font-variant-numeric:tabular-nums}.side-chip{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:6px 12px 6px 6px;border-radius:var(--r-md);text-decoration:none;color:var(--md-on-surface);font:650 .82rem var(--font-display);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.side-chip .n{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:800 .75rem var(--font-display);background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.side-chip .fr{color:var(--md-outline);font-size:.74rem}.side-chip.full .n{background:var(--md-primary);color:var(--md-on-primary)}.side-chip:active{transform:translateY(2px);box-shadow:var(--pressed)}@media (max-width: 900px){.steps{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:var(--sp-4) var(--sp-2)}.steps:before,.steps:after{display:none}}@media (prefers-reduced-motion: reduce){.steps:after,.st-coin{transition:none}}:root{--spring: cubic-bezier(.34, 1.56, .64, 1)}.st{animation:st-drop .75s var(--spring) both;animation-delay:calc(var(--i) * 70ms + .12s)}@keyframes st-drop{0%{opacity:0;transform:translateY(-26px) scale(.6)}60%{opacity:1}to{opacity:1;transform:none}}.st-coin{animation:st-wave 7s ease-in-out infinite;animation-delay:calc(var(--i) * .11s + 1.6s);will-change:transform}@keyframes st-wave{0%,9%,to{transform:translateY(0)}3%{transform:translateY(-9px)}5.5%{transform:translateY(1px) scaleY(.94)}7%{transform:translateY(-2px)}}.st.here .st-coin{animation-name:st-wave-here}@keyframes st-wave-here{0%,9%,to{transform:translateY(0)}3%{transform:translateY(-14px)}5.5%{transform:translateY(2px) scale(1.06,.9)}7%{transform:translateY(-4px)}}.st-coin>span{transition:transform .22s var(--spring)}.st-link:hover .st-coin,.st-link:focus-visible .st-coin{animation-play-state:paused;transform:none}.st-link:hover .st-coin>span,.st-link:focus-visible .st-coin>span{transform:translateY(-5px) scale(1.12)}.st-link:active .st-coin>span{transform:translateY(2px) scale(.88,.82);transition-duration:.08s}.st-link:hover .st-name{color:var(--md-on-surface)}.st-coin:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:3px solid var(--md-primary);opacity:0;pointer-events:none}.st.here .st-coin:after{border-color:var(--md-tertiary)}.st-coin.pop:after{animation:st-ripple .6s ease-out}@keyframes st-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.st-coin.pop>span{animation:st-pop .45s var(--spring)}@keyframes st-pop{0%{transform:scale(.8)}50%{transform:scale(1.18)}to{transform:scale(1)}}.level.arrive{opacity:1;animation:lv-arrive .7s var(--spring)}@keyframes lv-arrive{0%{transform:translateY(10px) scale(.985);box-shadow:var(--raised),0 0 0 3px var(--md-primary)}to{transform:none;box-shadow:var(--raised),0 0 0 0 transparent}}.side-chip{animation:st-drop .75s var(--spring) both;animation-delay:.95s}.side-chip:hover{transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.st,.side-chip,.st-coin,.st.here .st-coin,.st-coin.pop:after,.st-coin.pop>span,.level.arrive{animation:none!important}.st-coin>span{transition:none}}.level:after{display:none}.level{padding:var(--sp-5) var(--sp-5) var(--sp-5)}.level.current{box-shadow:var(--raised),0 0 0 1.5px color-mix(in oklab,var(--md-tertiary) 55%,transparent),0 0 34px -10px var(--glow-amber)}.level .lv-head{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:start;gap:var(--sp-4);margin-bottom:var(--sp-4)}.level .coin{grid-row:auto;margin-top:2px}.lv-main{min-width:0;display:grid;gap:4px}.lv-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:800 .66rem var(--font-body);letter-spacing:.12em;color:var(--md-on-surface-variant)}.pill{padding:3px 9px;border-radius:999px;letter-spacing:.08em;font-size:.62rem;background:var(--s1);box-shadow:var(--pressed);color:var(--md-on-surface-variant)}.pill.complete{background:var(--md-primary);color:var(--md-on-primary);box-shadow:0 0 10px var(--glow-teal)}.pill.in-progress{background:var(--md-tertiary);color:var(--md-on-tertiary);box-shadow:0 0 10px var(--glow-amber)}.cat{padding:2px 8px;border-radius:6px;letter-spacing:.06em;font-size:.62rem;border:1px solid currentColor}.cat.dart,.tile.cat-dart .id{color:#5cb8ff}.cat.math,.tile.cat-math .id{color:var(--md-outline)}.cat.math,.tile.cat-math .id{color:#c9a2ff}.cat.algo,.tile.cat-algo .id{color:var(--md-primary)}:root[data-theme=light] .cat.dart,:root[data-theme=light] .tile.cat-dart .id{color:#0b6fc2}:root[data-theme=light] .cat.math,:root[data-theme=light] .tile.cat-math .id{color:#7a3fd6}.level .lv-title{font-size:1.32rem}.lv-side{display:flex;align-items:center;gap:var(--sp-3)}.level .meter{grid-row:auto}.lv-toggle{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:var(--md-on-surface);font-size:1.05rem;background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap);transition:transform .3s var(--spring, cubic-bezier(.34,1.56,.64,1))}.lv-toggle span{display:block;transition:transform .35s var(--ease-emph)}.level.folded .lv-toggle span{transform:rotate(-90deg)}.lv-toggle:active{transform:translateY(2px);box-shadow:var(--pressed)}.lv-toggle:focus-visible{outline:3px solid var(--md-primary);outline-offset:3px}.segs{display:grid;grid-template-columns:repeat(var(--k),minmax(0,1fr));gap:5px;padding:4px;border-radius:10px;background:var(--s1);box-shadow:var(--groove);margin:0 0 var(--sp-4)}.segs i{height:8px;border-radius:5px;background:var(--s3);box-shadow:inset 0 1px 0 var(--hi)}.segs i.on{background:linear-gradient(180deg,#b8fff2,var(--md-primary) 50%,#129c88);box-shadow:0 0 8px var(--glow-teal)}.segs i.now{background:linear-gradient(180deg,#ffe2c2,var(--md-tertiary) 50%,#b26a14);box-shadow:0 0 8px var(--glow-amber);animation:seg-now 1.8s ease-in-out infinite}@keyframes seg-now{50%{filter:brightness(1.25)}}.lv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-5)}.stat{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.8rem;color:var(--md-on-surface-variant);background:var(--s1);box-shadow:var(--pressed)}.stat b{color:var(--md-on-surface);font:800 .84rem var(--font-display);font-variant-numeric:tabular-nums}.stat .mini{width:46px;height:5px;border-radius:4px;background:var(--s3);overflow:hidden;display:inline-block}.stat .mini i{display:block;height:100%;background:var(--md-primary)}.lv-act{margin-left:auto;padding:9px 16px 9px 14px;font-size:.86rem}.level.complete .lv-act{color:var(--md-on-surface);background:linear-gradient(180deg,var(--s4),var(--s3));box-shadow:var(--keycap)}.level.complete .lv-act .led{background:var(--md-primary);box-shadow:0 0 6px 2px var(--glow-teal)}@media (max-width: 720px){.lv-act{margin-left:0;width:100%;justify-content:center}}.level.folded .track{display:none}.level.folded .lv-bar{margin-bottom:0}:root{--tile-h: 132px}.tile{grid-template-rows:auto auto}.tile .tq{grid-column:1 / -1;align-self:end;display:flex;align-items:center;gap:8px;font:700 .66rem var(--font-body);color:var(--md-outline);font-variant-numeric:tabular-nums}.tile .tq-bar{flex:1;height:5px;border-radius:4px;background:var(--s1);box-shadow:var(--groove);overflow:hidden}.tile .tq-bar i{display:block;height:100%;background:var(--md-primary);box-shadow:0 0 6px var(--glow-teal)}.tile .open{position:absolute;right:var(--sp-3);top:var(--sp-3);font:800 .66rem var(--font-body);letter-spacing:.06em;color:var(--md-primary);opacity:0;transform:translate(-4px);transition:opacity .2s,transform .2s var(--ease-emph)}.tile:hover .open,.tile:focus-visible .open{opacity:1;transform:none}.tile.here .open{display:none}.tile .tag{bottom:auto;top:var(--sp-3)}@media (max-width: 600px){:root{--tile-h: 118px}.level .lv-head{grid-template-columns:auto minmax(0,1fr)}.lv-side{grid-column:1 / -1;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.segs i.now{animation:none}.lv-toggle,.lv-toggle span,.tile .open{transition:none}}.lv-title:before,.lv-title:after,.st-title:before,.st-title:after{content:none!important;display:none!important}.lv-title,.st-title{border:0!important;background:none!important}.lv-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ease-emph),opacity .35s var(--ease-emph)}.lv-inner{min-height:0;overflow:hidden}.level.folded .lv-body{grid-template-rows:0fr;opacity:0}.level.folded .track{display:grid}.level .lv-inner>.track{padding-top:4px}.lv-toggle.pinned{box-shadow:var(--keycap),0 0 0 2px var(--md-primary)}html,body{overflow-anchor:none}@media (prefers-reduced-motion: reduce){.lv-body{transition:none}}.lv-body{transition:grid-template-rows .62s cubic-bezier(.22,.9,.24,1),opacity .5s ease}.level.folded .lv-body{transition-duration:.46s,.3s}.level.folded .lv-inner>.track{transform:translateY(-6px)}.lv-inner>.track{transition:transform .62s cubic-bezier(.22,.9,.24,1)}.level.reveal .tile{animation:tile-in .55s cubic-bezier(.22,.9,.24,1) both;animation-delay:calc(var(--ti, 0) * 55ms + 80ms)}@keyframes tile-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.level.reveal .tile.done{animation-name:tile-in-done}@keyframes tile-in-done{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(2px)}}.level.reveal .links path.flow{stroke-dasharray:220;animation:link-draw .7s ease-out both;animation-delay:.35s}.level.reveal .links path.flow.todo,.level.reveal .links path.flow.next{animation-name:link-fade}@keyframes link-draw{0%{stroke-dashoffset:220}to{stroke-dashoffset:0}}@keyframes link-fade{0%{opacity:0}to{opacity:.8}}.level.reveal .links path.chan,.level.reveal .links path.chan-hi{animation:link-fade .5s ease-out both;animation-delay:.25s}@media (prefers-reduced-motion: reduce){.lv-body,.lv-inner>.track{transition:none}.level.reveal .tile,.level.reveal .links path{animation:none!important}}@media (max-width: 720px){.level .lv-head{cursor:pointer;-webkit-tap-highlight-color:transparent}}@media (max-width: 720px) and (orientation: portrait){.level .lv-head{grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2) var(--sp-3);align-items:center;margin-bottom:var(--sp-3)}.level .lv-main{display:contents}.level .coin{grid-column:1;grid-row:1;margin-top:0}.level .lv-eyebrow{grid-column:2;grid-row:1}.level .lv-title,.level .lv-goal{grid-column:1 / -1}.level .lv-title{margin-top:var(--sp-1)}.level .lv-side,.level .segs,.level .lv-bar .stat{display:none}.level .lv-bar{margin:var(--sp-2) 0 var(--sp-4)}.level.folded .lv-bar{margin-bottom:0}}.hubfoot .copy{display:inline-block;margin-top:6px;font-size:.74rem;opacity:.8}