:root,[data-theme=dark]{--ink-900:#0b1822;--ink-800:#102230;--ink-700:#142b3d;--ink-600:#1a3548;--paper:#c9d2db;--paper-2:#8896a4;--paper-3:#5c6b79;--line:#c9d2db1a;--line-2:#c9d2db29;--line-3:#c9d2db38;--phe-cyan:#009fe3;--phe-marine:#1a3f66;--phe-green:#76b82a;--phe-orange:#f07355;--st-ok:#76b82a;--st-watch:#c77e1e;--st-danger:#c8392e;--st-down:#5c6b79;--st-info:#009fe3;--st-ok-wash:#76b82a24;--st-ok-edge:#76b82a6b;--st-watch-wash:#c77e1e29;--st-watch-edge:#c77e1e73;--st-danger-wash:#c8392e29;--st-danger-edge:#c8392e80;--st-info-wash:#009fe324;--st-info-edge:#009fe36b;--st-down-wash:#5c6b7933;--st-down-edge:#5c6b7966;--st-orange-wash:#f0735529;--st-orange-edge:#f0735573;--bg:var(--ink-900);--surface:var(--ink-800);--surface-2:var(--ink-700);--raised:var(--ink-600);--text:var(--paper);--text-secondary:var(--paper-2);--text-muted:var(--paper-3);--border:var(--line);--border-strong:var(--line-2);--border-strong-2:var(--line-3);--r-1:3px;--r-2:6px;--r-3:10px;--r-4:16px;--sh-1:0 1px 0 0 #0006, 0 0 0 1px var(--border);--sh-2:0 6px 18px -10px #0000008c, 0 0 0 1px var(--border);--sh-3:0 22px 48px -22px #000000a6, 0 0 0 1px var(--border-strong);--font-display:"Bricolage Grotesque", "Söhne", system-ui, sans-serif;--font-body:"IBM Plex Sans", "Söhne", "Inter Tight", system-ui, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--font-brand:"Quicksand", "VAG Rounded", "M PLUS Rounded 1c", system-ui, sans-serif;--focus-ring:0 0 0 3px #009fe359;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px}[data-theme=light]{--bg:#ede6d6;--surface:#f5efe2;--surface-2:#faf5ea;--raised:#fff;--text:#1b2733;--text-secondary:#4b5867;--text-muted:#7a8896;--border:#1b27331a;--border-strong:#1b27332e;--border-strong-2:#1b273347;--paper:#1b2733;--paper-2:#4b5867;--paper-3:#7a8896;--st-watch:#b86b12;--st-danger:#b0322a;--st-info:#007bb3;--st-ok:#5c9a1a;--st-ok-wash:#5c9a1a1a;--st-ok-edge:#5c9a1a4d;--st-watch-wash:#b86b121a;--st-watch-edge:#b86b124d;--st-danger-wash:#b0322a14;--st-danger-edge:#b0322a4d;--st-info-wash:#007bb314;--st-info-edge:#007bb34d;--st-down-wash:#7a88961a;--st-down-edge:#7a88964d;--st-orange-wash:#f073551a;--st-orange-edge:#f0735559;--sh-1:0 1px 0 #1b27330a, 0 0 0 1px var(--border);--sh-2:0 8px 24px -16px #1b273338, 0 0 0 1px var(--border);--sh-3:0 22px 48px -24px #1b27334d, 0 0 0 1px var(--border-strong)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-feature-settings:"ss01" 1, "ss02" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-size:15px;line-height:1.55;transition:background-color .2s,color .2s}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.1}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font-family:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}.tabular,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1}::selection{background:var(--phe-cyan);color:var(--ink-900)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:none;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:0 0}.ds-page{max-width:1280px;padding:var(--s-7) clamp(20px, 4vw, 56px) var(--s-8);margin:0 auto}.ds-cover{padding:var(--s-7) 0 var(--s-7);border-bottom:1px solid var(--border);margin-bottom:var(--s-7);position:relative;overflow:hidden}.ds-cover-mark{opacity:.4;pointer-events:none;object-fit:contain;width:clamp(380px,48vw,640px);height:auto;position:absolute;top:4%;right:-4%}[data-theme=light] .ds-cover-mark{opacity:.28}.ds-cover-eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s-5);align-items:center;gap:10px;font-size:11px;display:inline-flex}.ds-cover-eyebrow:before{content:"";background:currentColor;width:24px;height:1px;display:inline-block}.ds-cover-title{letter-spacing:-.025em;max-width:13ch;font-size:clamp(48px,7vw,92px);font-weight:600;line-height:.96}.ds-cover-title em{color:var(--text-secondary);font-style:italic;font-weight:400}.ds-cover-lead{margin-top:var(--s-5);max-width:60ch;color:var(--text-secondary);font-size:17px;line-height:1.55}.ds-cover-meta{margin-top:var(--s-6);gap:var(--s-6);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;font-size:11px;display:flex}.ds-cover-meta div{flex-direction:column;gap:4px;display:flex}.ds-cover-meta span{color:var(--text);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:14px}.theme-bar{z-index:50;background:var(--surface);border:1px solid var(--border-strong);font-family:var(--font-mono);letter-spacing:.06em;box-shadow:var(--sh-1);border-radius:999px;align-items:center;padding:4px;font-size:11px;display:inline-flex;position:fixed;top:20px;right:24px}.theme-bar button{color:var(--text-secondary);border-radius:999px;padding:6px 14px;transition:background .12s,color .12s}.theme-bar button.is-on{background:var(--text);color:var(--bg)}.ds-sec{padding:var(--s-7) 0;border-top:1px solid var(--border)}.ds-sec:first-of-type{border-top:none}.ds-sec-head{gap:var(--s-5);margin-bottom:var(--s-6);grid-template-columns:100px 1fr;align-items:baseline;display:grid}.ds-sec-num{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.ds-sec-num:before{content:"";background:var(--phe-cyan);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ds-sec-title{max-width:22ch;font-size:clamp(26px,3vw,36px);font-weight:600}.ds-sec-lead{color:var(--text-secondary);max-width:60ch;margin-top:var(--s-3);grid-column:2;font-size:15px}@media (width<=720px){.ds-sec-head{grid-template-columns:1fr}.ds-sec-lead{grid-column:1}}.ds-field{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5) var(--s-5);position:relative}.ds-field>.corner{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);border-bottom-right-radius:var(--r-2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 10px;font-size:10px;position:absolute;top:-1px;left:-1px}.ds-field-grid{gap:var(--s-4);margin-top:var(--s-3);display:grid}.ds-row{align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px dashed var(--border);flex-wrap:wrap;display:flex}.ds-row:first-child{border-top:none;padding-top:0}.ds-row>.label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex:0 0 130px;font-size:11px}.type-spec{gap:var(--s-5);padding:var(--s-5) 0;border-top:1px solid var(--border);grid-template-columns:1fr 220px;align-items:baseline;display:grid}.type-spec:first-child{border-top:none}.type-spec .sample{color:var(--text);line-height:1.05}.type-spec .meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);border-left:1px solid var(--border-strong);padding-left:var(--s-4);flex-direction:column;gap:4px;font-size:11px;display:flex}.type-spec .meta b{color:var(--text);font-weight:500}@media (width<=700px){.type-spec{grid-template-columns:1fr}.type-spec .meta{border-left:none;padding-left:0}}.t-display{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(56px,7vw,96px);font-weight:600}.t-h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(40px,5vw,60px);font-weight:600}.t-h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(28px,3.4vw,40px);font-weight:600}.t-h3{font-family:var(--font-display);font-size:22px;font-weight:600}.t-eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.t-body-lg{font-size:17px;line-height:1.55}.t-body{font-size:15px;line-height:1.55}.t-body-sm{color:var(--text-secondary);font-size:13px;line-height:1.55}.t-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.t-numeral{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--text);font-size:clamp(48px,6vw,84px);font-weight:500;line-height:.92}.t-numeral .unit{font-family:var(--font-body);color:var(--text-muted);letter-spacing:0;margin-left:.4em;font-size:.3em;font-weight:400}.swatch-row{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.swatch{border-radius:var(--r-2);border:1px solid var(--border);background:var(--surface);overflow:hidden}.swatch .chip{height:88px}.swatch .info{padding:var(--s-3) var(--s-4);flex-direction:column;gap:2px;display:flex}.swatch .name{font-size:13px;font-weight:500}.swatch .hex{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;font-size:11px}.swatch .role{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:2px;font-size:10px}.btn{font-family:var(--font-body);border-radius:var(--r-2);color:var(--text);white-space:nowrap;letter-spacing:0;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;line-height:1.2;transition:background .14s,border-color .14s,color .14s,transform 60ms;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn svg{flex-shrink:0;width:16px;height:16px}.btn-sm{padding:7px 14px;font-size:13px}.btn-sm svg{width:14px;height:14px}.btn-xs{gap:5px;padding:4px 10px;font-size:12px}.btn-xs svg{width:12px;height:12px}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--phe-cyan);color:var(--ink-900);border-color:var(--phe-cyan)}[data-theme=light] .btn-primary:hover{color:#fff}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--raised);border-color:var(--border-strong-2)}.btn-outline{border:1px solid var(--border-strong);color:var(--text)}.btn-outline:hover{background:var(--surface);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface);color:var(--text)}.btn-destructive{background:var(--st-danger);color:#fff;border-color:var(--st-danger)}.btn-destructive:hover{background:color-mix(in srgb, var(--st-danger) 86%, #000 14%);border-color:#0000}.btn-icon{padding:8px}.btn-icon.btn-sm{padding:6px}.btn-icon.btn-xs{padding:4px}.btn-flush{color:var(--text-secondary);border-bottom:1px solid var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;background:0 0;border-radius:0;gap:8px;padding:6px 0;font-size:12px}.btn-flush:hover{color:var(--text);border-bottom-color:var(--text)}.badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.badge .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge-ok{background:var(--st-ok-wash);border-color:var(--st-ok-edge);color:var(--st-ok)}.badge-ok .dot{background:var(--st-ok)}.badge-watch{background:var(--st-watch-wash);border-color:var(--st-watch-edge);color:var(--st-watch)}.badge-watch .dot{background:var(--st-watch)}.badge-danger{background:var(--st-danger-wash);border-color:var(--st-danger-edge);color:var(--st-danger)}.badge-danger .dot{background:var(--st-danger)}.badge-info{background:var(--st-info-wash);border-color:var(--st-info-edge);color:var(--st-info)}.badge-info .dot{background:var(--st-info)}.badge-down{background:var(--st-down-wash);border-color:var(--st-down-edge);color:var(--text-secondary)}.badge-down .dot{background:var(--text-muted)}.badge-orange{background:var(--st-orange-wash);border-color:var(--st-orange-edge);color:var(--phe-orange)}.badge-orange .dot{background:var(--phe-orange)}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border-left:2px solid var(--text-muted);align-items:center;gap:8px;padding:2px 0 2px 10px;font-size:11px;display:inline-flex}.tag.is-ok{border-color:var(--st-ok);color:var(--st-ok)}.tag.is-watch{border-color:var(--st-watch);color:var(--st-watch)}.tag.is-danger{border-color:var(--st-danger);color:var(--st-danger)}.tag.is-info{border-color:var(--st-info);color:var(--st-info)}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border-strong);width:100%;color:var(--text);border-radius:var(--r-2);padding:10px 14px;font-size:14px;transition:border-color .12s,box-shadow .12s;display:block}.input:focus,.select:focus,.textarea:focus{border-color:var(--phe-cyan);box-shadow:var(--focus-ring);outline:none}.input::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:90px;line-height:1.5}.field-group{flex-direction:column;gap:6px;display:flex}.field-group>label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.input-num{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;width:130px;padding:4px 4px 4px 12px;font-size:14px;display:inline-flex}.input-num input{min-width:0;font:inherit;color:inherit;text-align:right;background:0 0;border:none;outline:none;flex:1;padding:4px 0}.input-num .u{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-left:1px solid var(--border-strong);margin-left:6px;padding-left:8px;font-size:11px}.input-search{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-2);align-items:center;padding:0 12px;display:flex}.input-search svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.input-search input{min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:10px 12px}.switch{background:var(--surface-2);border:1px solid var(--border-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:22px;transition:background .18s,border-color .18s;position:relative}.switch:after{content:"";background:var(--text-secondary);border-radius:50%;width:16px;height:16px;transition:transform .22s cubic-bezier(.22,1,.36,1),background .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch.is-on{background:var(--st-info-wash);border-color:var(--st-info-edge)}.switch.is-on:after{background:var(--st-info);transform:translate(20px)}.switch.is-on.is-orange{background:var(--st-orange-wash);border-color:var(--st-orange-edge)}.switch.is-on.is-orange:after{background:var(--phe-orange)}.switch.is-on.is-ok{background:var(--st-ok-wash);border-color:var(--st-ok-edge)}.switch.is-on.is-ok:after{background:var(--st-ok)}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.check input{display:none}.check .box{border-radius:var(--r-1);border:1px solid var(--border-strong-2);background:var(--bg);flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .12s,background .12s;display:inline-flex}.check .box:after{content:"";background:var(--phe-cyan);border-radius:1px;width:8px;height:8px;transition:transform .14s;transform:scale(0)}.check input:checked+.box{border-color:var(--phe-cyan)}.check input:checked+.box:after{transform:scale(1)}.tabs{gap:var(--s-5);border-bottom:1px solid var(--border-strong);display:flex}.tabs button{color:var(--text-secondary);letter-spacing:0;border-radius:0;align-items:center;gap:8px;padding:12px 2px;font-size:14px;font-weight:500;transition:color .14s;display:inline-flex;position:relative}.tabs button:hover{color:var(--text)}.tabs button svg{width:14px;height:14px}.tabs button.is-active{color:var(--text)}.tabs button.is-active:after{content:"";background:var(--phe-cyan);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs button .count{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;padding:1px 7px;font-size:11px}.tabs button.is-active .count{color:var(--text);background:var(--st-info-wash);border-color:var(--st-info-edge)}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--r-1);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--text-muted)}.chip.is-active{background:var(--text);color:var(--bg);border-color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex;position:relative;overflow:hidden}.card-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.card-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.card-foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-4);border-top:1px dashed var(--border);font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;font-size:11px;display:flex}.card .gauge-tick{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);opacity:.7;font-size:9px;position:absolute}.card .gauge-tick.tl{top:var(--s-3);left:var(--s-3)}.card .gauge-tick.tr{top:var(--s-3);right:var(--s-3)}.card .gauge-tick.bl{bottom:var(--s-3);left:var(--s-3)}.card .gauge-tick.br{bottom:var(--s-3);right:var(--s-3)}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5);gap:var(--s-2);grid-template-rows:auto 1fr auto;min-height:200px;display:grid;position:relative;overflow:hidden}.metric-card .label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.metric-card .label:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.metric-card .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.035em;align-self:end;font-size:clamp(44px,5vw,64px);font-weight:500;line-height:.95}.metric-card .value .u{font-family:var(--font-body);color:var(--text-muted);letter-spacing:0;margin-left:.4em;font-size:.32em;font-weight:400}.metric-card .delta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;align-items:center;gap:6px;font-size:12px;display:inline-flex}.metric-card .delta svg{width:12px;height:12px}.metric-card .delta.up{color:var(--st-ok)}.metric-card .delta.down{color:var(--st-danger)}.metric-card .delta.flat{color:var(--text-muted)}.metric-card .delta:before{content:"";opacity:.4;background:currentColor;width:16px;height:1px}.metric-card.has-index{padding-left:calc(var(--s-5) + 28px)}.metric-card.has-index:before{content:"";left:18px;top:var(--s-4);bottom:var(--s-4);background:var(--border-strong);width:1px;position:absolute}.metric-card.has-index:after{content:"";background:var(--st-info);width:9px;height:9px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.metric-card[data-st=ok]:after{background:var(--st-ok)}.metric-card[data-st=watch]:after{background:var(--st-watch)}.metric-card[data-st=danger]:after{background:var(--st-danger)}.metric-card[data-st=down]:after{background:var(--text-muted)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex;position:relative}.chart-card .axes{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:11px;display:flex}.chart-wrap{height:280px;position:relative}.gauge{aspect-ratio:2/1.15;width:100%;max-width:380px;margin:0 auto;position:relative}.gauge svg{width:100%;height:100%;display:block}.gauge .track{fill:none;stroke:var(--border-strong);stroke-width:6px;stroke-linecap:butt}.gauge .fill{fill:none;stroke:var(--phe-cyan);stroke-width:6px;stroke-linecap:butt;transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)}.gauge .tick line{stroke:var(--text-muted);stroke-width:1px}.gauge .tick.major line{stroke-width:1.5px;stroke:var(--text-secondary)}.gauge .tick text{font-family:var(--font-mono);fill:var(--text-muted);letter-spacing:.08em;font-size:9px}.gauge .needle line{stroke:var(--text);stroke-width:2px;stroke-linecap:round}.gauge .needle circle{fill:var(--text)}.gauge .center-text{text-align:center;position:absolute;bottom:0;left:0;right:0}.gauge .center-text .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(38px,4vw,52px);font-weight:500;line-height:1}.gauge .center-text .v .u{font-family:var(--font-body);color:var(--text-muted);letter-spacing:0;margin-left:6px;font-size:.32em}.gauge .center-text .l{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:10px}.spark{vertical-align:middle;width:110px;height:36px;display:inline-block}.spark .line{fill:none;stroke:var(--phe-cyan);stroke-width:1.5px}.spark .area{fill:var(--phe-cyan);opacity:.14}.spark .baseline{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:2 2}.spark .dot{fill:var(--phe-cyan)}.spark .label{font-family:var(--font-mono);fill:var(--text-muted);letter-spacing:.08em;font-size:8px}.spark.is-ok .line,.spark.is-ok .dot{stroke:var(--st-ok);fill:var(--st-ok)}.spark.is-ok .area{fill:var(--st-ok)}.spark.is-watch .line,.spark.is-watch .dot{stroke:var(--st-watch);fill:var(--st-watch)}.spark.is-watch .area{fill:var(--st-watch)}.spark.is-danger .line,.spark.is-danger .dot{stroke:var(--st-danger);fill:var(--st-danger)}.spark.is-danger .area{fill:var(--st-danger)}.tooltip-ex{background:var(--raised);border:1px solid var(--border-strong-2);border-radius:var(--r-2);box-shadow:var(--sh-2);max-width:240px;padding:10px 12px;font-size:12px;display:inline-block;position:relative}.tooltip-ex:after{content:"";background:var(--raised);border-right:1px solid var(--border-strong-2);border-bottom:1px solid var(--border-strong-2);width:8px;height:8px;position:absolute;bottom:-5px;left:22px;transform:rotate(45deg)}.tooltip-ex .ttp-head{font-family:var(--font-body);margin-bottom:2px;font-size:12px;font-weight:600}.tooltip-ex .ttp-time{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:6px;font-size:11px}.tooltip-ex .ttp-row{font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:2px 0;font-size:12px;display:flex}.tooltip-ex .ttp-row .d{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tooltip-ex .ttp-row .l{color:var(--text-secondary);font-family:var(--font-body);margin-right:auto;font-size:12px}.tooltip-ex .ttp-row .v{color:var(--text);font-weight:500}.toast{background:var(--raised);border:1px solid var(--border-strong);border-left:3px solid var(--phe-cyan);border-radius:var(--r-2);box-shadow:var(--sh-2);grid-template-columns:26px 1fr auto;align-items:start;gap:12px;min-width:320px;max-width:420px;padding:14px 16px;display:grid}.toast.is-success{border-left-color:var(--st-ok)}.toast.is-success .toast-ico{color:var(--st-ok)}.toast.is-warning{border-left-color:var(--st-watch)}.toast.is-warning .toast-ico{color:var(--st-watch)}.toast.is-danger{border-left-color:var(--st-danger)}.toast.is-danger .toast-ico{color:var(--st-danger)}.toast-ico{width:22px;height:22px;color:var(--st-info);margin-top:1px}.toast-body{flex-direction:column;gap:2px;display:flex}.toast-title{font-size:14px;font-weight:500}.toast-desc{color:var(--text-secondary);font-size:12px}.toast-close{width:24px;height:24px;color:var(--text-muted);border-radius:var(--r-1);justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{color:var(--text);background:var(--surface-2)}.toast-close svg{width:14px;height:14px}.modal-mock{background:var(--raised);border:1px solid var(--border-strong);border-radius:var(--r-3);width:100%;max-width:480px;box-shadow:var(--sh-3);overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);display:flex}.modal-head .t{font-family:var(--font-display);font-size:17px;font-weight:600}.modal-head .eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:10px}.modal-body{padding:var(--s-5);gap:var(--s-3);color:var(--text-secondary);flex-direction:column;font-size:14px;display:flex}.modal-foot{padding:var(--s-4) var(--s-5);justify-content:flex-end;gap:var(--s-2);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 50%, transparent);display:flex}.contour-bg{background-image:radial-gradient(ellipse 120% 50% at 30% 40%, color-mix(in srgb, var(--phe-cyan) 4%, transparent) 0%, transparent 50%), radial-gradient(ellipse 100% 60% at 80% 70%, color-mix(in srgb, var(--phe-marine) 6%, transparent) 0%, transparent 50%)}.contour-svg{pointer-events:none;opacity:.55;position:absolute;inset:0}[data-theme=light] .contour-svg{opacity:.32}.brand-mark{font-family:var(--font-brand);letter-spacing:-.04em;align-items:baseline;font-weight:700;line-height:1;display:inline-flex}.brand-mark .bp{color:#76b82a}.brand-mark .bh{color:#009fe3}.brand-mark .be{color:#f07355}.brand-mark.is-mono .bp,.brand-mark.is-mono .bh,.brand-mark.is-mono .be{color:currentColor}.brand-mark-lg{font-size:56px}.brand-mark-md{font-size:32px}.brand-mark-sm{font-size:20px}.brand-mark-xs{font-size:16px}.brand-lockup{align-items:center;gap:12px;display:inline-flex}.brand-lockup .tag-stack{font-family:var(--font-brand);color:var(--text);border-left:1px solid var(--border-strong);flex-direction:column;padding-left:12px;font-size:.22em;font-weight:500;line-height:1.05;display:flex}.brand-lockup .tag-stack span{display:block}.ds-sidebar-demo{background:var(--surface-2);border-right:1px solid var(--border-strong);height:100%;min-height:580px;padding:var(--s-5) var(--s-3);flex-direction:column;gap:2px;display:flex}.sb-brand{padding:0 12px var(--s-5);margin-bottom:var(--s-3);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex}.sb-mark{justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.sb-name{font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1}.sb-sub{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-top:3px;font-size:10px}.sb-section-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);padding:var(--s-4) 12px var(--s-2);font-size:10px}.sb-item{color:var(--text-secondary);border-radius:var(--r-2);text-align:left;align-items:center;gap:12px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.sb-item:hover{background:var(--surface);color:var(--text)}.sb-item svg{color:currentColor;flex-shrink:0;width:17px;height:17px}.sb-item.is-active{color:var(--text);background:var(--surface)}.sb-item.is-active:before{content:"";background:var(--phe-cyan);border-radius:0 1px 1px 0;width:2px;position:absolute;top:8px;bottom:8px;left:-1px}.sb-count{font-family:var(--font-mono);background:var(--st-danger-wash);color:var(--st-danger);border:1px solid var(--st-danger-edge);letter-spacing:.04em;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px}.sb-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);margin-left:auto;font-size:10px}.sb-spacer{flex:1}.sb-foot{border-top:1px solid var(--border);padding-top:var(--s-3);margin-top:var(--s-3);flex-direction:column;gap:2px;display:flex}.ds-bottombar-demo{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-3);width:375px;max-width:100%;box-shadow:var(--sh-2);justify-content:space-around;padding:6px 4px 10px;display:flex}.bb-i{color:var(--text-muted);letter-spacing:.04em;border-radius:var(--r-2);flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-size:10px;font-weight:500;transition:color .12s;display:flex;position:relative}.bb-i svg{stroke-width:1.6px;width:21px;height:21px}.bb-i.is-active{color:var(--phe-cyan)}.bb-i.is-active:before{content:"";background:var(--phe-cyan);border-radius:0 0 2px 2px;width:22px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bb-count{background:var(--st-danger);color:#fff;font-family:var(--font-mono);border-radius:999px;padding:0 5px;font-size:9px;line-height:1.5;position:absolute;top:4px;right:calc(50% - 20px)}.row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.row>.grow{flex:1;min-width:0}.stack{gap:var(--s-3);flex-direction:column;display:flex}.grid-2{gap:var(--s-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--s-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--s-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (width<=600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.callout{background:color-mix(in srgb, var(--surface) 80%, var(--phe-cyan) 4%);border:1px solid var(--border);border-left:3px solid var(--phe-cyan);border-radius:var(--r-2);padding:var(--s-4);color:var(--text-secondary);gap:var(--s-3);align-items:flex-start;font-size:14px;display:flex}.callout svg{width:18px;height:18px;color:var(--phe-cyan);flex-shrink:0;margin-top:1px}.callout strong{color:var(--text);font-weight:500}.token-table{border-collapse:collapse;width:100%;font-size:13px}.token-table th,.token-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.token-table th{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500}.token-table td.k{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.token-table td .swatchlet{vertical-align:middle;border:1px solid var(--border-strong);border-radius:3px;width:16px;height:16px;margin-right:8px;display:inline-block}@keyframes phe-spin{to{transform:rotate(360deg)}}.app{min-height:100vh;display:flex}.app-sidebar{background:var(--surface-2);border-right:1px solid var(--border-strong);width:240px;height:100vh;padding:var(--s-5) var(--s-3);flex-direction:column;flex-shrink:0;gap:2px;display:flex;position:sticky;top:0;overflow-y:auto}.sb-mark{flex-shrink:0;align-items:center;display:inline-flex}.sb-brand{align-items:center}.sb-item .sb-meta{margin-left:auto}.app-main{flex:1;min-width:0}.app-main-inner{max-width:1500px;padding:var(--s-6) clamp(16px, 3vw, 40px) var(--s-8);margin:0 auto}.app-main-inner.is-stale{opacity:.55;filter:grayscale(.4);transition:opacity .25s,filter .25s}.page-loader{padding:var(--s-8) 0;text-align:center;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);font-size:13px}.theme-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-2);margin-bottom:var(--s-2);gap:4px;padding:4px;display:flex}.tt-btn{border-radius:var(--r-1);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.03em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px 4px;font-size:10px;transition:background .12s,color .12s;display:inline-flex}.tt-btn svg{width:14px;height:14px}.tt-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tt-btn.is-on{background:var(--surface-2);color:var(--text)}.sb-user{cursor:default}.sb-logout{color:var(--text-muted);border-radius:var(--r-1);justify-content:center;align-items:center;margin-left:auto;padding:4px;display:inline-flex}.sb-logout:hover{color:var(--st-danger);background:var(--surface)}.sb-logout svg{width:15px;height:15px}.sb-user .sb-meta{margin-left:auto}.sb-user .sb-logout{margin-left:8px}.sb-item.is-gated,.bb-i.is-gated{color:var(--text-muted);position:relative}.sb-item.is-gated:hover{color:var(--text-secondary);background:var(--surface)}.gate-lock{opacity:.55;margin-left:auto;width:12px!important;height:12px!important}.bb-lock{opacity:.5;position:absolute;top:4px;right:12px;width:9px!important;height:9px!important}.auth-overlay{z-index:400;padding:var(--s-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050c129e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--raised);border:1px solid var(--border-strong);border-radius:var(--r-3);width:100%;max-width:380px;box-shadow:var(--sh-3);padding:var(--s-6);gap:var(--s-3);flex-direction:column;display:flex;position:relative}.auth-close{top:var(--s-3);right:var(--s-3);color:var(--text-muted);border-radius:var(--r-1);padding:4px;display:inline-flex;position:absolute}.auth-close:hover{color:var(--text);background:var(--surface)}.auth-close svg{width:16px;height:16px}.auth-brand{font-family:var(--font-display);align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.auth-title{font-family:var(--font-display);margin-top:var(--s-2);font-size:24px;font-weight:600}.auth-sub{color:var(--text-secondary);margin-bottom:var(--s-2);font-size:13px}.auth-error{color:var(--st-danger);background:var(--st-danger-wash);border:1px solid var(--st-danger-edge);border-radius:var(--r-2);padding:8px 12px;font-size:13px}.auth-ok{color:var(--st-ok);background:var(--st-ok-wash);border:1px solid var(--st-ok-edge);border-radius:var(--r-2);padding:8px 12px;font-size:13px}.auth-card .btn-primary{margin-top:var(--s-2);justify-content:center}.mobile-topbar,.mobile-account,.app-bottombar{display:none}@media (width<=1023px){.app-sidebar{display:none}.mobile-topbar{z-index:80;padding:10px 16px calc(10px + env(safe-area-inset-top,0px));padding-top:calc(10px + env(safe-area-inset-top,0px));background:var(--surface-2);border-bottom:1px solid var(--border-strong);color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex;position:sticky;top:0}.mobile-topbar .mtb-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:15px;font-weight:600}.mobile-topbar:active{background:var(--surface)}.mobile-account{right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:90;background:var(--surface-2);border:1px solid var(--border-strong);width:44px;height:44px;color:var(--text-secondary);box-shadow:var(--sh-2);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:fixed}.mobile-account svg{width:19px;height:19px}.app-main-inner{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.app-bottombar{z-index:100;background:var(--surface-2);border-top:1px solid var(--border-strong);padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px));will-change:transform;backface-visibility:hidden;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}.btn,.auth-close,.tv-exit,.sb-logout{min-height:44px}.btn.btn-icon,.auth-close,.tv-exit,.sb-logout{min-width:44px}.chip{min-height:36px;padding-top:8px;padding-bottom:8px}.app:has(.duty-action-bar) .mobile-account{display:none}.app.is-bottom-hidden .app-bottombar,.app.is-bottom-hidden .mobile-account{display:none}}.notif-banner{z-index:60;background:linear-gradient(var(--st-info-wash), var(--st-info-wash)), var(--bg);border-bottom:1px solid var(--st-info-edge);color:var(--text);align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.notif-banner .nb-icon{color:var(--st-info);flex-shrink:0;margin-top:1px}.notif-banner .nb-body{flex:1;min-width:0}.notif-banner .nb-title{font-size:14px;font-weight:600;line-height:1.3}.notif-banner .nb-sub{color:var(--text-secondary);margin-top:2px;font-size:12.5px;line-height:1.4}.notif-banner .nb-steps{color:var(--text-secondary);margin:6px 0 0;padding-left:18px;font-size:12.5px;line-height:1.5}.notif-banner .nb-steps li{margin-bottom:2px}.notif-banner .nb-steps b{color:var(--text)}.notif-banner .nb-err{color:var(--st-danger);margin-top:4px;font-size:12px}.notif-banner .nb-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}@media (width<=560px){.notif-banner{flex-wrap:wrap}.notif-banner .nb-actions{justify-content:flex-end;width:100%}}
