:root{--bg:#f7f3ee;--bg-2:#f0eae3;--card:#fff;--card-2:#f8f4ef;--card-3:#efe8e0;--line:#e8e0d8;--line-2:#ddd3c9;--ink:#1f1916;--ink-2:#6b5f57;--ink-3:#9c8f85;--accent:#ff6a3d;--accent-2:#ff8a5c;--accent-ink:#fff;--accent-text:#d8471c;--accent-soft:#ff6a3d1f;--accent-line:#ff6a3d66;--good:#2f8f5b;--good-soft:#2f8f5b1f;--bad:#c9373c;--bad-soft:#c9373c1f;--side:#17110e;--side-line:#2a211c;--side-ink:#c8bbb0;--side-ink-2:#7d6f66;--side-dim:#7d6f66;--side-active:#2c221c;--heat-0:#e6ded5;--heat-1:#f2b79d;--heat-2:#ee8a63;--heat-3:#e0522f;--heat-4:#c43a1a;--body-fill:#ebe4dc;--body-line:#1f191624;--shadow:0 1px 2px #28190f0d, 0 8px 24px -12px #28190f24;--shadow-lg:0 24px 64px -16px #1e140c59;--r:16px;--r-sm:10px;--r-md:12px;--r-lg:16px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15110f;--bg-2:#110e0c;--card:#1e1815;--card-2:#191411;--card-3:#2a231f;--line:#2e2621;--line-2:#3a312b;--ink:#f1eae3;--ink-2:#a79b91;--ink-3:#6f645c;--accent-text:#ff8a5c;--accent-soft:#ff6a3d29;--good:#6fbf8a;--good-soft:#6fbf8a24;--bad:#e5484d;--bad-soft:#e5484d24;--side:#0f0b09;--side-line:#221b17;--side-ink:#c4b8ae;--side-ink-2:#6e625a;--side-dim:#6e625a;--side-active:#241c17;--heat-0:#3a332e;--heat-1:#6b3a2a;--heat-2:#a8452b;--heat-3:#e0522f;--heat-4:#ff7a45;--body-fill:#2a2521;--body-line:#f4eee61f;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--shadow-lg:0 24px 64px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#15110f;--bg-2:#110e0c;--card:#1e1815;--card-2:#191411;--card-3:#2a231f;--line:#2e2621;--line-2:#3a312b;--ink:#f1eae3;--ink-2:#a79b91;--ink-3:#6f645c;--accent-text:#ff8a5c;--accent-soft:#ff6a3d29;--good:#6fbf8a;--good-soft:#6fbf8a24;--bad:#e5484d;--bad-soft:#e5484d24;--side:#0f0b09;--side-line:#221b17;--side-ink:#c4b8ae;--side-ink-2:#6e625a;--side-dim:#6e625a;--side-active:#241c17;--heat-0:#3a332e;--heat-1:#6b3a2a;--heat-2:#a8452b;--heat-3:#e0522f;--heat-4:#ff7a45;--body-fill:#2a2521;--body-line:#f4eee61f;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--shadow-lg:0 24px 64px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--side);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14.5px;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}svg{display:block}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.small{font-size:13px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{gap:16px;display:grid}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-icon{border-radius:22.5%;flex-shrink:0;display:block}.app{background:var(--side);height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--side);width:242px;color:var(--side-ink);flex-direction:column;flex-shrink:0;height:100dvh;transition:width .18s;display:flex}.logo{align-items:center;gap:10px;padding:18px 16px 14px;display:flex}.logo-name{color:#fff;letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:700}.logo-sub{color:var(--side-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.nav{flex:1;padding:6px 10px;overflow-y:auto}.nav-group{margin-top:14px}.nav-label{letter-spacing:.12em;text-transform:uppercase;color:var(--side-dim);padding:0 10px 6px;font-size:10px;font-weight:700}.nav-item{width:100%;color:var(--side-ink);white-space:nowrap;border-radius:10px;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:#ffffff0d}.nav-item.active{background:var(--side-active);color:#fff}.nav-item.active svg{color:var(--accent)}.nav-item svg{width:18px;height:18px;color:var(--side-dim);flex-shrink:0}.side-bottom{border-top:1px solid var(--side-line);padding:12px 10px}.user-row{border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.user-row:hover{background:#ffffff0d}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12.5px;font-weight:700;display:grid}.avatar.sm{width:28px;height:28px;font-size:11.5px}.avatar.lg{width:56px;height:56px;font-size:20px}.user-meta{text-align:left;line-height:1.25;overflow:hidden}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-plan{color:var(--side-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.side-card{text-align:left;border:1px solid var(--side-line);width:calc(100% - 8px);color:var(--side-ink);background:#ffffff0a;border-radius:12px;margin:0 4px 10px;padding:11px 12px;display:block}.side-card.pro{cursor:pointer;background:linear-gradient(160deg,#ff6a3d3d,#ff6a3d0f);border-color:#ff6a3d52}.side-card.pro:hover{border-color:#ff6a3d99}.side-card-t{color:#fff;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.side-card-t svg{width:14px;height:14px;color:var(--accent);flex:none}.side-card-sub{color:var(--side-dim);margin:3px 0 9px;font-size:11px;line-height:1.4}.side-card-cta{color:#fff;background:var(--accent);border-radius:8px;padding:5px 11px;font-size:11.5px;font-weight:700;display:inline-block}.side-card.pro:hover .side-card-cta{background:var(--accent-2)}.side-card-link{color:var(--accent);font-size:11.5px;font-weight:700;display:inline-block}.store-btns{gap:6px;display:flex}.store-btn{border:1px solid var(--side-line);color:var(--side-ink);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 4px;font-size:10.5px;font-weight:600;display:flex}.store-btn svg{flex:none;width:12px;height:12px}.store-btn:hover{color:#fff;background:#ffffff12}.store-btn.soon{opacity:.55;cursor:default}.store-btn.soon:hover{color:var(--side-ink);background:0 0}.store-btn.soon em{letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--side-dim);border-radius:99px;margin-left:2px;padding:1px 5px;font-size:8.5px;font-style:normal;font-weight:700}.rail-pro{color:var(--accent);border-color:var(--side-line);margin:0 auto 8px;display:flex}.rail-pro:hover{border-color:var(--side-line);box-shadow:none;background:#ffffff0f}.app.rail .sidebar{width:66px}.app.rail .logo-name,.app.rail .logo-sub,.app.rail .nav-label,.app.rail .user-meta{display:none}.app.rail .nav-item,.app.rail .user-row{justify-content:center;padding:10px 0}.app.rail .logo{justify-content:center;padding:18px 0 14px}.app.rail .rail-flip svg{transform:rotate(180deg)}.app.rail .nav{overflow:visible}.app.rail .nav-item{position:relative}.app.rail .nav-item .nav-txt{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);white-space:nowrap;opacity:0;pointer-events:none;z-index:120;border-radius:11px;padding:8px 13px;font-size:12.5px;font-weight:600;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.app.rail .nav-item:hover .nav-txt,.app.rail .nav-item:focus-visible .nav-txt{opacity:1}.app.rail .side-card{display:none}.main{min-width:0;color:var(--ink);background:var(--bg);border-top-left-radius:22px;flex-direction:column;flex:1;margin-top:12px;display:flex;overflow-y:auto}.topbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--line);border-top-left-radius:22px;align-items:center;gap:12px;padding:14px 26px;display:flex;position:sticky;top:0}.icon-btn{width:34px;height:34px;color:var(--ink-2);border:1px solid #0000;border-radius:9px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}.icon-btn svg{width:18px;height:18px}.page-title{letter-spacing:-.01em;font-size:19px;font-weight:700}.proto-pill{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--line-2);white-space:nowrap;border-radius:99px;margin-left:2px;padding:3px 9px;font-size:10.5px;font-weight:700}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.mob-logo{align-items:center;display:flex}.live{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;margin-left:2px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.live i{background:var(--ink-3);border-radius:50%;flex-shrink:0;width:7px;height:7px}.live.on{color:var(--good);border-color:var(--good-soft);background:var(--good-soft)}.live.on i{background:var(--good);animation:2.4s ease-in-out infinite live-beat}.live.err i{background:var(--bad)}@keyframes live-beat{0%,to{box-shadow:0 0 0 0 var(--good-soft)}50%{box-shadow:0 0 0 4px var(--good-soft)}}.content{gap:18px;width:100%;max-width:1160px;margin:0 auto;padding:22px 26px 90px;animation:.18s fade;display:grid}.content>*,.grid-ov>*,.grid-2>*,.grid-3>*,.grid-4>*,.stack>*{min-width:0}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pop{background:var(--card);border:1px solid var(--line);width:250px;box-shadow:var(--shadow-lg);z-index:60;border-radius:14px;position:absolute;top:46px;right:0;overflow:hidden}.pop-h{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:1px;padding:13px 15px;font-size:13.5px;font-weight:700;display:flex}.pop-h span{color:var(--ink-3);font-size:12px;font-weight:500}.pop-item{width:100%;color:var(--ink);text-align:left;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.pop-item:hover{background:var(--card-2)}.pop-item svg{width:16px;height:16px;color:var(--ink-2);flex-shrink:0}.pop-sep{background:var(--line);height:1px}.imp-banner{color:#1a1715;background:#f0b429;justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.imp-banner button{color:#fff;background:#1a1715;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700}.tabbar,.sheet-wrap,.mob-only{display:none}@media (max-width:900px){.sidebar{display:none}.main{border-top-left-radius:0;margin-top:0}.topbar{border-top-left-radius:0;padding:12px 16px}.content{gap:14px;padding:16px 16px 96px}.mob-only{display:flex}.desk-only{display:none!important}.tabbar{z-index:70;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(8px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-3);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;font-size:10px;font-weight:600;display:flex}.tab svg{width:21px;height:21px}.tab.on{color:var(--accent-text)}.sheet-wrap{z-index:90;display:block;position:fixed;inset:0}.sheet-wrap .bg{background:#08050373;position:absolute;inset:0}.sheet{background:var(--card);box-shadow:var(--shadow-lg);padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;position:absolute;bottom:0;left:0;right:0}.sheet .grab{background:var(--line);border-radius:99px;width:36px;height:4px;margin:4px auto 12px}.sheet-item{text-align:left;width:100%;color:var(--ink);border-radius:12px;align-items:center;gap:12px;padding:13px 8px;font-size:14.5px;font-weight:600;display:flex}.sheet-item:hover{background:var(--card-2)}.sheet-item svg{width:20px;height:20px;color:var(--ink-2)}.modal-wrap{align-items:end;padding:0}.modal{border-radius:18px 18px 0 0;max-width:none;max-height:92dvh}}@media (max-width:520px){.page-title{font-size:17px}.proto-pill{display:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;position:relative}.card.tight{padding:16px}.card h2{letter-spacing:-.005em;font-size:15px;font-weight:700}.card .h{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card .h .sub{color:var(--ink-2);margin-top:2px;font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-weight:700}.big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.05}.big .unit{color:var(--ink-2);letter-spacing:0;margin-left:4px;font-size:15px;font-weight:600}.hero-h{letter-spacing:-.025em;font-size:26px;font-weight:800;line-height:1.15}.hero-p{color:var(--ink-2);overflow-wrap:anywhere;margin-top:4px;font-size:15px}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.grid-ov{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (max-width:1040px){.grid-ov{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.card{border-radius:var(--r-md);padding:16px}.big{font-size:26px}.hero-h{font-size:22px}}.stat{border-radius:var(--r-md);background:var(--card-2);border:1px solid var(--line);gap:6px;padding:14px 16px;display:grid}.stat .lbl{color:var(--ink-2);font-size:12.5px;font-weight:600}.stat .val{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.stat .val .unit{color:var(--ink-2);letter-spacing:0;margin-left:3px;font-size:13px;font-weight:600}.pill{background:var(--card-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.pill.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.pill.good{background:var(--good-soft);color:var(--good);border-color:#0000}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.pill svg{width:14px;height:14px}.btn{background:var(--card-2);border:1px solid var(--line-2);color:var(--ink);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;transition:transform 80ms,background .12s;display:inline-flex}.btn:hover{background:var(--card-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{color:#fff;background:linear-gradient(135deg,#ff6a3d,#f04e1f);border-color:#0000;box-shadow:0 6px 18px -6px #ff6a3d73}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--card-2);color:var(--ink)}.btn.danger{background:var(--bad-soft);color:var(--bad);border-color:#0000}.btn.sm{border-radius:10px;padding:7px 12px;font-size:13px}.btn.block{width:100%}.btn svg{width:16px;height:16px}.seg{background:var(--card-2);border:1px solid var(--line);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0003}.seg button:disabled{opacity:.55;cursor:default}.seg.sm button{padding:4px 9px;font-size:12px}.field{gap:6px;display:grid}.field label{color:var(--ink-2);font-size:12.5px;font-weight:600}.input{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--ink);border-radius:11px;padding:10px 12px;font-size:14px}.input:focus{border-color:var(--accent);outline:none}textarea.input{resize:vertical;min-height:84px;line-height:1.45}.list{display:grid}.list>*+*{border-top:1px solid var(--line)}.item-row{align-items:center;gap:14px;padding:12px 0;display:flex}.item-row .t{font-size:14.5px;font-weight:600}.item-row .s{color:var(--ink-2);margin-top:1px;font-size:12.5px}.item-row .r{text-align:right;font-variant-numeric:tabular-nums}.item-row .r b{font-size:15px;display:block}.item-row .r span{color:var(--ink-2);font-size:12px}a.item-row:hover .t{color:var(--accent-text)}.empty{text-align:center;color:var(--ink-2);padding:28px 16px;font-size:14px}.empty b{color:var(--ink);margin-bottom:4px;display:block}.notice{background:var(--card-2);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;padding:12px 14px;font-size:13.5px}.notice.ok{background:var(--good-soft);color:var(--good);border-color:#0000}.notice.err{background:var(--bad-soft);color:var(--bad);border-color:#0000}.kv{grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11.5px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}.table tr:last-child td{border-bottom:0}.table td.r,.table th.r{text-align:right;font-variant-numeric:tabular-nums}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--card-2)}.table-wrap{overflow-x:auto}.lock{color:var(--ink-2);background:var(--card-2);border:1px dashed var(--line-2);text-align:left;border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:6px 10px 6px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.lock span{min-width:0}.lock:hover{color:var(--ink);border-color:var(--accent-line)}.lock svg{width:14px;height:14px;color:var(--accent)}.lock.block{justify-content:center;padding:14px;display:flex}.lock-over{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--card) 80%, transparent) 30%, var(--card) 70%);border-radius:inherit;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.lock-over .lock{background:var(--card);box-shadow:var(--shadow)}.mmap{grid-template-columns:1fr;gap:14px;display:grid}.mmap .figure{justify-content:center;align-items:center;min-height:340px;display:flex}.mmap svg.body{width:auto;max-width:100%;height:400px}.mmap.sm svg.body{height:220px}.mmap .body .outline{fill:var(--body-fill);stroke:var(--body-line);stroke-width:2px}.mmap .body path.m{stroke:var(--bg);stroke-width:1.2px;transition:fill .35s,opacity .2s}.mmap .body path.m.hit{cursor:pointer}.mmap .body path.m.hit:hover{filter:brightness(1.15)}.mmap .body path.m.faded{opacity:.25}.mmap .body path.m.sel{stroke:var(--ink);stroke-width:2px}.mmap .ctl{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.days{gap:4px;display:flex}.days button{width:34px;height:30px;color:var(--ink-3);background:var(--card-2);border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:700}.days button.on{color:var(--accent-ink);background:var(--accent);border-color:#0000}.days button.past{color:var(--ink-2)}.mmap .iso{background:var(--card-2);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.mmap .iso b{color:var(--ink)}.mmap .iso button{color:var(--accent-text);font-size:13px;font-weight:700}@media (max-width:640px){.mmap svg.body{width:100%;height:auto;max-height:340px}.mmap .figure{min-height:0}}.chart{width:100%;height:auto;overflow:visible}.chart text{font-family:var(--font);fill:var(--ink-3);font-size:11px}.chart .grid line{stroke:var(--line)}.chart .area{fill:url(#gradEmber)}.chart .line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.chart .dot{fill:var(--accent);stroke:var(--card);stroke-width:2px}.chart .bar{fill:var(--accent)}.chart .bar.low{fill:var(--heat-1)}.chart .bar.planned,.chart .bar.locked{fill:var(--card-3)}.chart .bw-line{fill:none;stroke:var(--ink-2);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart .bw-dot{fill:var(--ink);stroke:var(--card);stroke-width:2px}.chart-wrap{position:relative}.chart-tip{pointer-events:none;background:var(--ink);color:var(--bg);white-space:nowrap;box-shadow:var(--shadow-lg);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-110%)}.cgrid{--cell:clamp(14px, 2.6vw, 30px);gap:clamp(4px,.6vw,8px);display:flex}.cgrid .wk{gap:clamp(3px,.4vw,6px);display:grid}.cgrid .d{width:var(--cell);height:var(--cell);background:var(--heat-0);border-radius:5px}.cgrid .d.on{background:var(--accent)}.cgrid .d.rest{background:var(--card-2)}.cgrid .d.today{outline:1.5px solid var(--ink-2);outline-offset:1px}.cgrid .d.future{border:1px dashed var(--line);background:0 0}.streak{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:800;display:inline-flex}.streak svg{width:16px;height:16px}.streak span{color:var(--ink-2);font-size:13px;font-weight:600}.ex-block{padding:14px 0}.ex-block+.ex-block{border-top:1px solid var(--line)}.sets{font-variant-numeric:tabular-nums;grid-template-columns:36px 1fr 1fr auto;gap:4px 12px;margin-top:10px;font-size:14px;display:grid}.sets .hd{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-size:11px;font-weight:700}.sets .n{color:var(--ink-3)}.sets .w{font-weight:600}.sets .warm{color:var(--ink-3);font-style:italic}.sets .pr{color:var(--accent-text);font-size:11px;font-weight:800}.helps{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.helps span{background:var(--card-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:3px 8px;font-size:11.5px}.ex-btn{text-align:left;min-width:0;color:inherit;border-radius:10px;align-items:center;gap:12px;display:flex}.ex-btn.static{cursor:default}.ex-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ex-btn .ex-txt{min-width:0;display:grid}.ex-btn .ex-t{overflow-wrap:anywhere;font-size:14.5px;font-weight:600}.ex-btn .ex-s{color:var(--ink-2);margin-top:1px;font-size:12.5px}button.ex-btn:hover .ex-t{color:var(--accent-text)}.ex-thumb{border:1px solid var(--line);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.ex-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ex-thumb.ph{background:var(--card-2);color:var(--ink-3)}.ex-thumb.ph svg{width:55%;height:55%}.ex-block .ex-btn .ex-t{font-size:15px;font-weight:700}.plan-day li .ex-btn .ex-t,.table .ex-btn .ex-t{font-size:14px}.ex-modal{max-width:560px}.ex-modal:focus{outline:none}.ex-hero{align-items:flex-start;gap:18px;padding-right:36px;display:flex}.ex-anim-col{flex:none;justify-items:center;gap:6px;display:grid}.ex-anim{border:1px solid var(--line);background:#fff;border-radius:14px;place-items:center;width:150px;height:150px;display:grid;position:relative;overflow:hidden}.ex-anim img{object-fit:contain;width:100%;height:100%;display:block}.ex-anim.ph{background:var(--card-2)}.ex-anim .ex-noanim{color:var(--ink-3);text-align:center;justify-items:center;gap:6px;padding:12px;font-size:12px;display:grid}.ex-anim .ex-noanim svg{width:28px;height:28px}.ex-play{color:#fff;background:#1f1916c7;border-radius:999px;align-items:center;gap:4px;padding:5px 10px 5px 8px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.ex-play svg{width:14px;height:14px}.ex-play.on{padding:6px;left:auto;right:8px;transform:none}.ex-credit{color:var(--ink-3);margin:0;font-size:11.5px}.ex-credit a{color:var(--ink-2);text-decoration:underline}.ex-meta{flex:1;min-width:0}.ex-meta h3{margin-top:2px}.ex-facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 0;font-size:13.5px;display:grid}.ex-facts dt{color:var(--ink-2)}.ex-facts dd{margin:0;font-weight:600}.ex-h4{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin:20px 0 8px;font-size:11.5px;font-weight:700}.ex-steps{color:var(--ink-2);gap:8px;margin:0;padding-left:22px;font-size:14px;line-height:1.5;display:grid}.ex-steps li::marker{color:var(--accent-text);font-weight:700}@media (max-width:480px){.ex-hero{text-align:center;flex-direction:column;align-items:center;padding-right:0}.ex-facts{text-align:left}}.month-h{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:18px 0 8px;font-size:12px;font-weight:700}.month-h:first-child{padding-top:0}.plan-day{padding:14px 0}.plan-day+.plan-day{border-top:1px solid var(--line)}.plan-day .dn{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.plan-day .dn .pill{padding:3px 8px;font-size:11px}.plan-day ol{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.plan-day li{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.plan-day li>span:last-child{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.modal-wrap{z-index:60;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-wrap .bg{-webkit-backdrop-filter:blur(4px);background:#0009;position:absolute;inset:0}.modal{background:var(--card);border:1px solid var(--line);width:100%;max-width:480px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);border-radius:18px;padding:22px;position:relative;overflow:auto}.modal .x{position:absolute;top:12px;right:12px}.modal h3{letter-spacing:-.02em;font-size:20px;font-weight:800}.modal .lead{color:var(--ink-2);margin-top:4px;font-size:14px}.perks{gap:8px;margin:16px 0;padding:0;font-size:14px;list-style:none;display:grid}.perks li{align-items:flex-start;gap:10px;display:flex}.perks svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}.plans{gap:8px;display:grid}.plan-opt{text-align:left;border:1px solid var(--line-2);background:var(--card-2);border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.plan-opt.on{border-color:var(--accent);background:var(--accent-soft)}.plan-opt .radio{border:2px solid var(--line-2);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.plan-opt.on .radio{border-color:var(--accent)}.plan-opt.on .radio:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.plan-opt .pn{align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.plan-opt .pd{color:var(--ink-2);font-size:12.5px}.plan-opt .pp{text-align:right;font-variant-numeric:tabular-nums;margin-left:auto}.plan-opt .pp b{font-size:16px;display:block}.plan-opt .pp span{color:var(--ink-2);font-size:11.5px}.tag{text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:800}.pay-box{border:1px solid var(--line);background:var(--bg);border-radius:14px;min-height:120px;margin-top:14px;padding:14px}.modal .fine{color:var(--ink-3);margin-top:12px;font-size:12px;line-height:1.5}.modal .fine a{color:var(--ink-2);text-decoration:underline}.plan-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.plan{text-align:left;border:1.5px solid var(--line);background:var(--card-2);cursor:pointer;border-radius:14px;padding:13px 14px;transition:border-color .12s,box-shadow .12s;position:relative}.plan:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow)}.plan:disabled{opacity:.6;cursor:default}.plan.hot{border-color:var(--accent)}.plan .p-name{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.plan .p-price{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:20px;font-weight:800}.plan .p-price small{color:var(--ink-3);font-size:12px;font-weight:600}.plan .p-sub{color:var(--ink-3);margin-top:3px;font-size:11.5px;line-height:1.4}.plan .p-save{color:var(--accent-text);margin-top:8px;font-size:11px;font-weight:700;display:inline-block}.plan .p-badge{position:absolute;top:-9px;right:10px}@media (max-width:640px){.plan-grid{grid-template-columns:1fr}}.pro-card{background:linear-gradient(150deg, #ff6a3d2e, #ff6a3d0a 60%), var(--card);border-color:#ff6a3d59}.login{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.login .art{background:var(--side);color:var(--side-ink);flex-direction:column;justify-content:space-between;padding:36px;display:flex;position:relative;overflow:hidden}.login .art .glow{pointer-events:none;background:radial-gradient(closest-side,#ff6a3d59,#0000);border-radius:50%;width:640px;height:640px;position:absolute;bottom:-200px;left:-160px}.login .art .brand{color:#fff;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.login .art .figure{flex:1;place-items:center;padding:24px 0;display:grid;position:relative}.login .art .tag-line{letter-spacing:-.025em;max-width:420px;font-size:28px;font-weight:800;line-height:1.15;position:relative}.login .art .tag-line+p{color:var(--side-ink-2);max-width:420px;margin-top:8px;position:relative}.login .pane{background:var(--bg);color:var(--ink);place-items:center;padding:36px 24px;display:grid}.login .box{gap:14px;width:100%;max-width:380px;display:grid}.login .box h1{letter-spacing:-.02em;font-size:24px;font-weight:800}.login .box p{color:var(--ink-2)}.login .sso{border:1px solid var(--line-2);background:var(--card);width:100%;box-shadow:var(--shadow);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:700;display:flex}.login .sso:hover{background:var(--card-2)}.login .sso.apple{color:#fff;background:#000;border-color:#000}.login .sso.apple:hover{background:#111}.login .sso svg{width:18px;height:18px}.login .foot{color:var(--ink-3);font-size:12.5px;line-height:1.5}.login .foot a{color:var(--ink-2);text-decoration:underline}@media (max-width:860px){.login{grid-template-columns:1fr}.login .art{min-height:300px;padding:24px}.login .art .figure{display:none}.login .art .tag-line{margin-top:24px;font-size:22px}}.sk{background:linear-gradient(90deg, var(--card-2), var(--card-3), var(--card-2));background-size:200% 100%;border-radius:10px;animation:1.2s linear infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.toast{z-index:180;background:var(--ink);max-width:min(92vw,520px);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:99px;padding:10px 18px;font-size:13px;font-weight:600;animation:.25s ease-out toast-in;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
