@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/785695c5b05eabf2-s.1e3rq9yqb-d7r.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ac548f9ce6284f94-s.2d0al6l6wkuj3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9728433aadc137d6-s.3v75hlz3u07l1.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:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../media/638f182e7ded7477-s.p.0mtzhm5kbqk8n.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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/cf9d54c4342bfde9-s.3h9hciz7c7ygr.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c26308a965d8ee8a-s.3k6q3yu2z6st3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d03928121523449c-s.2xutnr_n30v-3.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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1ccf8ef962b3f693-s.p.2xt4dxqx4hw9r.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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/664b8486c44baa2d-s.0vchxt0cs-r06.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c5ac7bd8b2d9fce6-s.3kfu5v_o8q8ol.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8457265da2739722-s.00okbctd204vc.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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../media/dc0c65e819e3bb6c-s.p.1alcwxkb6wbdk.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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/087f4c42b279024d-s.3lkdjsxaxw2k3.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/891a32df73aa4402-s.1njr2bfrh4k2r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9186901afaa5c996-s.0-s4mhtt1ybzm.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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../media/374a88ea0960b3d4-s.p.07nelj0w2qn6k.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:Chakra Petch Fallback;src:local(Arial);ascent-override:96.77%;descent-override:30.05%;line-gap-override:0.0%;size-adjust:102.51%}.chakra_petch_86a4565f-module__672gOW__className{font-family:Chakra Petch,Chakra Petch Fallback;font-style:normal}.chakra_petch_86a4565f-module__672gOW__variable{--font-chakra:"Chakra Petch", "Chakra Petch Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_5200a4c-module__ync41G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_5200a4c-module__ync41G__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121317;--surface:#1b1d23;--border:#2b2e36;--text:#f1eee6;--text-2:#cfcdc6;--muted:#8e929e;--nav:#0b0c0f;--sf-done:#16231b;--c1:#e5483c;--c2:#3d7be0;--c3:#f2c230;--c4:#37b05a;--c5:#2fc4b2;--c6:#d65db1;--on1:#121317;--on2:#fff;--on3:#121317;--link:var(--c3);--radius:4px;--radius-sm:3px;--tap:48px;--font-sans:var(--font-chakra), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, "SF Mono", Menlo, monospace}:root[data-palette=ember]{--bg:#14100d;--surface:#1e1914;--border:#34291f;--text:#f3e8d6;--text-2:#d8c9b2;--muted:#9a8c7c;--nav:#0d0a08;--sf-done:#231b11;--c1:#ff6a2b;--c2:#e0903a;--c3:#ffc233;--c4:#c8d04a;--c5:#4fd1c5;--c6:#e86a9b;--on1:#14100d;--on2:#14100d;--on3:#14100d}:root[data-palette=ice]{--bg:#0a1118;--surface:#111b25;--border:#1f3140;--text:#e8f1f8;--text-2:#bdd0e0;--muted:#7f93a6;--nav:#060b10;--sf-done:#0f2229;--c1:#ff5d73;--c2:#4aa8ff;--c3:#4cd9f0;--c4:#6ee7b7;--c5:#b48cff;--c6:#ff9f43;--on1:#0a1118;--on2:#0a1118;--on3:#0a1118}:root[data-palette=moss]{--bg:#0d1310;--surface:#151d18;--border:#25342b;--text:#ece9dc;--text-2:#c7c9b8;--muted:#84968a;--nav:#080c0a;--sf-done:#18281c;--c1:#e8664a;--c2:#6fa86a;--c3:#c7e052;--c4:#4fbf7a;--c5:#4fd0c8;--c6:#d96aa7;--on1:#0d1310;--on2:#0d1310;--on3:#0d1310}:root[data-palette=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e6df;--surface:#f6f4ee;--border:#cdc8bb;--text:#15151a;--text-2:#3a3a40;--muted:#6b675e;--nav:#f6f4ee;--sf-done:#dfeede;--c1:#d63a2f;--c2:#2f63c9;--c3:#e0a800;--c4:#2a9a4b;--c5:#0d8f86;--c6:#b83280;--on1:#fff;--on2:#fff;--on3:#15151a;--link:var(--c2)}:root{--surface-2:color-mix(in srgb, var(--surface) 88%, var(--text) 12%);--surface-3:color-mix(in srgb, var(--surface) 78%, var(--text) 22%);--border-strong:color-mix(in srgb, var(--border) 60%, var(--text) 40%);--accent:var(--c3);--accent-text:var(--on3);--accent-soft:color-mix(in srgb, var(--c3) 18%, transparent);--success:var(--c4);--success-bg:var(--sf-done);--danger:var(--c1);--danger-bg:color-mix(in srgb, var(--c1) 14%, transparent);--focus:var(--c3);--shadow:0 10px 30px #0000004d}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.3}h1,h2{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.02em}h1{margin:0 0 1rem;font-size:2rem;font-weight:700;line-height:1}h2{margin:0;font-size:1.15rem;font-weight:600;line-height:1.2}p{margin:0 0 1rem}a{color:var(--link);text-underline-offset:3px}.mono,.set-row .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.page{width:100%;max-width:600px;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));margin:0 auto}.auth-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;padding:1.75rem 1.4rem}.brand{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:1rem;font-size:.95rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--c1);width:1.5rem;height:1.5rem;box-shadow:inset 0 0 0 .3rem var(--bg), inset 0 0 0 .45rem var(--c1);border-radius:50%;font-size:0;display:inline-block}.topbar{z-index:30;padding:calc(.4rem + env(safe-area-inset-top)) 1rem .4rem;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.topbar .brand{margin:0}.topbar-actions{align-items:center;gap:.25rem;display:flex}.stack{gap:1rem;display:grid}.links{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.link{align-items:center;min-height:44px;display:inline-flex}.bottom-nav{z-index:40;background:var(--nav);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.bottom-nav-inner{grid-template-columns:repeat(4,1fr);max-width:600px;margin:0 auto;display:grid}.tab{min-height:56px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-content:center;justify-items:center;gap:.15rem;font-size:.68rem;font-weight:700;text-decoration:none;display:grid}.tab-on{background:var(--text);color:var(--bg)}.field{gap:.4rem;display:grid}.field label{letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:600}.field .hint{color:var(--muted);font-size:.82rem}.input{width:100%;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.65rem .9rem;font-size:1rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 1.15rem) 55%,calc(100% - .8rem) 55%;background-repeat:no-repeat;background-size:.4rem .4rem;padding-right:2.2rem}textarea.input{resize:vertical;min-height:72px}.btn{min-height:var(--tap);font:inherit;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1.2rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{color:var(--accent-text);background:var(--accent)}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--link);background:0 0}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-inline{width:auto}.btn-sm{min-height:40px;padding:.4rem .9rem;font-size:.8rem}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.btn-row .btn{flex:8rem;width:auto}.icon-btn{border-radius:var(--radius);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--surface-2)}.icon-on{color:var(--c4)}.icon-off{color:var(--muted);opacity:.6}.alert{border-radius:var(--radius);border:1px solid #0000;padding:.8rem 1rem;font-size:.95rem}.alert-error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.alert-success{background:var(--success-bg);color:var(--success);border-color:var(--success)}.panel{background:var(--surface);border:1px solid var(--border);padding:.95rem 1rem}.panel-title{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 .6rem;font-size:.72rem;font-weight:700}.kv{justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.badge{border:1px solid var(--border-strong);letter-spacing:.1em;text-transform:uppercase;align-items:center;padding:.1rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.avatar{background:var(--c1);width:3.2rem;height:3.2rem;color:var(--on1);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:inline-flex}.profile-head{align-items:center;gap:.9rem;margin-bottom:1.25rem;display:flex}.palettes{border:0;gap:.5rem;min-width:0;margin:0;padding:0;display:grid}.palette-opt{border:1px solid var(--border-strong);background:var(--surface-2);min-height:52px;color:var(--text);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;align-items:center;gap:.75rem;padding:.4rem .8rem;font-weight:700;display:flex}.palette-opt[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.swatch{display:inline-flex}.swatch i{width:1.1rem;height:1.1rem;box-shadow:0 0 0 2px var(--surface-2);border-radius:50%;margin-left:-.25rem}.swatch i:first-child{margin-left:0}.palette-opt small{letter-spacing:.04em;text-transform:none;color:var(--muted);margin-left:auto;font-weight:500}.plan{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ex{gap:.55rem;min-width:0;display:grid}.ex-open{border-color:var(--border)}.ex-started{border-color:var(--c3)}.ex-done{background:var(--sf-done)}.ex-title{letter-spacing:.03em;justify-content:space-between;align-items:baseline;gap:.6rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.ex-title .n{overflow-wrap:anywhere;min-width:0}.ex-state{letter-spacing:.16em;text-transform:uppercase;flex:none;font-size:.62rem;font-weight:700}.ex-done .ex-state{color:var(--c4)}.ex-started .ex-state{color:var(--c3)}.ex-open .ex-state{color:var(--muted)}.ex-meta{letter-spacing:.04em;color:var(--muted);flex-wrap:wrap;gap:.15rem .9rem;font-size:.8rem;display:flex}.loadrow{align-items:center;gap:.8rem;display:flex}.load{align-items:baseline;gap:.35rem;min-width:0;display:flex}.load b{font-family:var(--font-mono);letter-spacing:-.05em;font-size:2.1rem;font-weight:500;line-height:1}.load span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.pips{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin-left:auto;display:flex}.pip{border:2px solid var(--border-strong);width:1.9rem;height:1.9rem;font-family:var(--font-mono);color:var(--muted);border-radius:50%;place-items:center;font-size:.72rem;display:grid}.pip-on{color:var(--on1);border-color:#0000}.pip-on.p0{background:var(--c4)}.pip-on.p1{background:var(--c2);color:var(--on2)}.pip-on.p2{background:var(--c3)}.pip-on.p3{background:var(--c1);color:var(--on2)}.done-sets{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.set-row{width:100%;min-height:44px;color:var(--text-2);font:inherit;font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.75rem;padding:.25rem 0;font-size:.9rem;display:flex}.set-row:disabled{cursor:default}.set-no{background:var(--surface-3);min-width:2rem;color:var(--muted);text-align:center;border-radius:999px;flex:none;margin-right:.35rem;padding:.1rem .45rem;font-size:.8rem;font-weight:700}.chip{border:1px dashed var(--border-strong);padding:.25rem .7rem;font-size:.9rem;display:inline-block}.set-entry{grid-template-columns:1fr auto;align-items:start;gap:.5rem;display:grid}.set-entry .btn{width:auto}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.actions .btn{flex:1;width:auto}.check{align-items:center;gap:.5rem;min-height:44px;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.sticky-bottom{bottom:calc(4.5rem + env(safe-area-inset-bottom));z-index:10;padding:.5rem 0;position:sticky}.sticky-top{top:calc(3rem + env(safe-area-inset-top));z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:0 -1rem 1rem;position:sticky}.session-nav{align-items:center;gap:.25rem;padding:.25rem .75rem;display:flex}.nav-title{text-align:center;flex:1;min-width:0;line-height:1.2;display:grid}.nav-title strong{letter-spacing:.04em;text-transform:uppercase;font-size:1.3rem;font-weight:700}.nav-arrow{font-size:1.8rem;line-height:1}.nav-disabled{opacity:.25}.letter{min-width:1.6rem;height:1.6rem;color:var(--on1);background:var(--c1);border-radius:50%;justify-content:center;align-items:center;padding:0 .35rem;font-size:.85rem;font-weight:700;display:inline-flex}.letter-b{background:var(--c2);color:var(--on2)}.letter-c{background:var(--c3);color:var(--on3)}.letter-d{background:var(--c4);color:var(--on1)}.rest-bar{background:var(--text);color:var(--bg);gap:.55rem;padding:.75rem 1rem .85rem;display:grid}.rest-done{background:var(--c4);color:var(--on1)}.rest-top{grid-template-columns:auto 1fr;align-items:end;gap:.8rem;display:grid}.rest-time{font-family:var(--font-mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:2.9rem;font-weight:500;line-height:.9}.rest-who{text-align:right;gap:.15rem;min-width:0;padding-bottom:.1rem;display:grid}.rest-who b{letter-spacing:.16em;text-transform:uppercase;opacity:.7;font-size:.68rem}.rest-who span{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.rest-progress{background:#0000002e;height:.35rem}.rest-progress>i{background:var(--bg);height:100%;display:block}.rest-presets{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.rest-presets button{border:2px solid var(--bg);min-height:44px;color:var(--bg);font-family:var(--font-mono);cursor:pointer;background:0 0;font-size:.8rem}.rest-done .rest-presets button{border-color:var(--on1);color:var(--on1)}.rest-presets .preset-on{background:var(--bg);color:var(--text)}.rest-skip{min-height:32px;color:inherit;font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-self:end;padding:0 .6rem;font-size:.72rem;font-weight:700;text-decoration:underline}.chip-btn{border:1px solid var(--border-strong);min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;padding:0 .9rem}.chip-on{border-color:var(--accent);color:var(--accent);font-weight:700}.sheet{border:1px solid var(--border-strong);background:var(--surface);width:min(92vw,420px);color:var(--text);padding:1.25rem}.sheet::backdrop{background:#000000a6}.options{border:1px solid var(--border-strong);margin:0;padding:0;list-style:none}.option{border:0;border-bottom:1px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;gap:.75rem;padding:.5rem .85rem;display:flex}.options li:last-child .option{border-bottom:0}.cal-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.cal-head h1{margin:0;font-size:1.6rem}.cal-grid{border-left:1px solid var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.cal-dow{text-align:center;letter-spacing:.12em;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.4rem 0;font-size:.72rem;font-weight:700}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);align-content:start;gap:.25rem;min-height:4.8rem;padding:.3rem;font-size:.8rem;display:grid}.cal-cell.cal-out{opacity:.35}.cal-cell.cal-today{outline:2px solid var(--c3);outline-offset:-2px}.cal-day{font-family:var(--font-mono);color:var(--muted)}.cal-chip{min-height:1.6rem;color:var(--on1);background:var(--c1);justify-content:center;align-items:center;padding:0 .3rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.cal-chip.cal-b{background:var(--c2);color:var(--on2)}.cal-chip.cal-c{background:var(--c3)}.cal-chip.cal-d{background:var(--c4)}.cal-chip.cal-planned{box-shadow:inset 0 0 0 2px var(--c1);color:var(--c1);background:0 0}.cal-chip.cal-planned.cal-b{box-shadow:inset 0 0 0 2px var(--c2);color:var(--c2)}.cal-chip.cal-planned.cal-c{box-shadow:inset 0 0 0 2px var(--c3);color:var(--c3)}.cal-chip.cal-planned.cal-d{box-shadow:inset 0 0 0 2px var(--c4);color:var(--c4)}.cal-chip.cal-skipped{opacity:.35;text-decoration:line-through}.cal-cardio{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem}.cal-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.85rem;display:flex}.kpis{border:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:1rem;display:grid}.kpis>div{border-right:1px solid var(--border);min-width:0;padding:.7rem .6rem}.kpis>div:last-child{border-right:0}.kpis b{font-family:var(--font-mono);letter-spacing:-.05em;font-size:1.6rem;font-weight:500;line-height:1.1;display:block}.kpis span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:.66rem}.filters{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.chart-title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.ex-list{gap:.5rem;display:grid}.ex-row{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:.5rem .8rem;padding:.7rem .9rem;display:grid}.ex-row[aria-expanded=true]{border-color:var(--accent)}.ex-row .nm{letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;min-width:0;font-weight:700}.ex-row .vl{font-family:var(--font-mono);text-align:right;white-space:nowrap}.up{color:var(--c4)}.down{color:var(--c1)}.hero{gap:.8rem;display:grid}.level{align-items:baseline;gap:.6rem;display:flex}.level b{font-family:var(--font-mono);letter-spacing:-.06em;font-size:3rem;line-height:.9}.level span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.meter{background:var(--surface-3);height:.5rem}.meter>i{background:var(--c3);height:100%;display:block}.meter.ok>i{background:var(--c4)}.this-week{justify-content:space-between;align-items:center;gap:1rem;display:flex}.week-rows{gap:.3rem;display:grid}.week-row{grid-template-columns:4.2rem 1fr auto;align-items:center;gap:.6rem;font-size:.85rem;display:grid}.week-row .lbl{font-family:var(--font-mono);color:var(--muted)}.week-row .pips{flex-wrap:nowrap;justify-content:flex-start;margin:0}.week-row .pip{width:1.5rem;height:1.5rem;font-size:.65rem}.week-row .tick{font-family:var(--font-mono);text-align:right;white-space:nowrap;min-width:3.2rem;font-weight:500}.week-row.hit .tick{color:var(--c4)}.goal{gap:.35rem;display:grid}.goal .gh{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.goal .gh b{letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;min-width:0;font-weight:700}.goal .gh span{font-family:var(--font-mono);white-space:nowrap;font-size:.85rem}.medals{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.6rem;display:grid}.medal{text-align:center;letter-spacing:.04em;justify-items:center;gap:.3rem;font-size:.7rem;line-height:1.15;display:grid}.medal .disc{width:3.2rem;height:3.2rem;font-family:var(--font-mono);border:2px dashed var(--border-strong);color:var(--muted);border-radius:50%;place-items:center;font-size:.95rem;font-weight:500;display:grid}.medal.earned .disc{color:var(--on1);background:var(--c3);box-shadow:inset 0 0 0 .3rem var(--bg), inset 0 0 0 .45rem var(--c3);border:0}.medal.k1.earned .disc{background:var(--c1);color:var(--on1);box-shadow:inset 0 0 0 .3rem var(--bg), inset 0 0 0 .45rem var(--c1)}.medal.k2.earned .disc{background:var(--c2);box-shadow:inset 0 0 0 .3rem var(--bg), inset 0 0 0 .45rem var(--c2)}.medal.k4.earned .disc{background:var(--c4);box-shadow:inset 0 0 0 .3rem var(--bg), inset 0 0 0 .45rem var(--c4)}.medal.locked{color:var(--muted)}.rec{border-top:1px solid var(--border);justify-content:space-between;gap:.6rem;padding:.4rem 0;font-size:.9rem;display:flex}.rec:first-of-type{border-top:0}.rec b{font-family:var(--font-mono);font-weight:500}svg .gl{stroke:var(--border)}svg .tx{fill:var(--muted);font-family:var(--font-mono)}svg .line{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linejoin:round}svg .dot{fill:var(--c3)}svg .b0{fill:var(--border-strong)}svg .b1{fill:var(--c1)}svg .b3{fill:var(--c3)}svg .b4{fill:var(--c4)}.badge-col{flex:none;justify-items:center;gap:.1rem;display:grid}.wk-head,.wk-row{grid-template-columns:3.6rem repeat(7,1fr) 3.4rem;align-items:center;gap:.2rem;display:grid}.wk-head{letter-spacing:.1em;color:var(--muted);text-align:center;border-bottom:1px solid var(--border);padding-bottom:.3rem;font-size:.68rem;font-weight:700}.wk-row{border-bottom:1px solid var(--border);padding:.25rem 0}.wk-row .lbl{font-family:var(--font-mono);color:var(--muted);font-size:.78rem}.wk-row .cnt{font-family:var(--font-mono);text-align:right;white-space:nowrap;font-size:.85rem}.wk-row.hit .cnt{color:var(--c4)}.wk-cell{flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:2rem;display:flex}.mk{width:1.6rem;height:1.6rem;font-family:var(--font-mono);color:var(--on1);background:var(--c1);border-radius:50%;place-items:center;font-size:.72rem;font-weight:500;display:inline-grid}.mk.mk-b{background:var(--c2);color:var(--on2)}.mk.mk-c{background:var(--c3);color:var(--on3)}.mk.mk-d{background:var(--c4);color:var(--on1)}.mk.mk-x{background:var(--surface-3);color:var(--muted)}.mk.mk-m{background:0 0;border:2px dashed #0000;font-weight:700;box-shadow:inset 0 0 0 2px}.mk.mk-m.mk-a{color:var(--c1)}.mk.mk-m.mk-b{color:var(--c2)}.mk.mk-m.mk-c{color:var(--c3)}.mk.mk-m.mk-d{color:var(--c4)}.mk.mk-m.mk-x{color:var(--muted)}.mk.mk-walk{background:var(--c5);color:var(--on1)}.mk.mk-hiit{background:var(--c6);color:var(--on1)}.mk.mk-bike,.mk.mk-run{background:var(--c5);color:var(--on1);border-radius:.5rem}.mk.mk-other{background:var(--surface-3);color:var(--text-2)}.mk svg{width:.95rem;height:.95rem}.legend{color:var(--muted);flex-wrap:wrap;gap:.4rem .9rem;margin-top:.8rem;font-size:.75rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.legend .mk{width:1.2rem;height:1.2rem;font-size:.6rem}
