/* FWSI – one hand-written stylesheet. One self-hosted font (Archivo, subset). No inline styles (CSP). */
@font-face{font-family:Archivo;src:url(/static/fonts/archivo.83e6ae40a4.woff2) format("woff2");font-weight:400 800;font-stretch:62% 100%;font-display:swap}
:root{
  --canvas:#f2f4f7;--surface:#fff;--panel:#f5f7fa;--line:#e2e6ec;--line-strong:#c9d0da;
  --ink:#14213b;--text:#2a3346;--muted:#556072;--faint:#5f6a7d;--bar:#1b2a4b;--bar-ink:#fff;--track:#e8ecf2;
  --red:#de4333;--navy:#0c2657;--focus:#2b59c3;
  --b0:#d6d4ce;--b10:#bcb9af;--b20:#e0c46e;--b35:#d29d43;--b50:#bc743b;--b65:#a54c33;--b80:#812d25;--b90:#521716;
  --shadow:0 1px 2px rgba(20,33,59,.05),0 10px 28px -18px rgba(20,33,59,.16);
  --warn-bg:#fff3cd;--warn-ink:#3d2e00;--alert-bg:#f8d7d3;--alert-ink:#3b0b06;--info-bg:#dfe9f3;--info-ink:#0d2233;
  --font:Archivo,"Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gap:24px;--pad:clamp(20px,2.6vw,36px);--r-card:18px;--r-panel:14px;--r-btn:12px;--r-badge:8px;
  color-scheme:light;
}
/* night: chosen with the header switch (localStorage), else the system setting */
:root[data-theme=night]{--canvas:#0c111b;--surface:#141b28;--panel:#1a2232;--line:#252f41;--line-strong:#3a465c;--ink:#eef2f8;--text:#cfd6e2;--muted:#a0a9ba;--faint:#949eb0;--bar:#a9bce2;--bar-ink:#0c111b;--track:#273145;--navy:#eef2f8;--focus:#8fb0ff;--b0:#6b6e6a;--b10:#8e8a7d;--b20:#d9bc63;--b35:#d39844;--b50:#c97b45;--b65:#bd5f45;--b80:#ad4236;--b90:#8f2c28;--shadow:none;--warn-bg:#3a2f0c;--warn-ink:#fbe7a6;--alert-bg:#3e1512;--alert-ink:#ffd9d3;--info-bg:#15263d;--info-ink:#d6e6f7;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=day]){--canvas:#0c111b;--surface:#141b28;--panel:#1a2232;--line:#252f41;--line-strong:#3a465c;--ink:#eef2f8;--text:#cfd6e2;--muted:#a0a9ba;--faint:#949eb0;--bar:#a9bce2;--bar-ink:#0c111b;--track:#273145;--navy:#eef2f8;--focus:#8fb0ff;--b0:#6b6e6a;--b10:#8e8a7d;--b20:#d9bc63;--b35:#d39844;--b50:#c97b45;--b65:#bd5f45;--b80:#ad4236;--b90:#8f2c28;--shadow:none;--warn-bg:#3a2f0c;--warn-ink:#fbe7a6;--alert-bg:#3e1512;--alert-ink:#ffd9d3;--info-bg:#15263d;--info-ink:#d6e6f7;color-scheme:dark}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text);font:400 16px/1.58 var(--font);font-stretch:100%}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3{color:var(--ink);margin:1.5em 0 .5em;text-wrap:balance}
h1{font-size:clamp(30px,3.4vw,44px);font-weight:750;font-stretch:80%;line-height:1.05;letter-spacing:-.012em}
h2{font-size:clamp(22px,2vw,26px);font-weight:720;font-stretch:82%;line-height:1.15}
h3{font-size:18px;font-weight:680;font-stretch:88%;line-height:1.25}
p,ul,ol{margin:0 0 1em}
small,.muted{color:var(--muted)}
b,strong{color:var(--ink);font-weight:650}
.num,td.n,th.n{font-variant-numeric:tabular-nums}
.wrap{max-width:1376px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
main.wrap{padding-top:clamp(24px,4vw,48px);padding-bottom:16px}
main.wrap>*{max-width:1280px;margin-left:auto;margin-right:auto}
.narrow>*{max-width:760px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--ink);color:var(--surface);padding:10px 14px;z-index:9;border-radius:8px}
.skip:focus{top:8px}
.ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}

/* header */
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-right:auto;min-height:44px;text-transform:uppercase;font-stretch:92%}
.mark{display:grid;gap:2px;flex:none}
.mark i{display:block;width:5px;height:7px;background:var(--navy)}
.mark i:first-child{background:var(--red)}
.words{display:grid;line-height:1.12}
.words b{font-size:15px;font-weight:800;letter-spacing:.01em}
.words span{font-size:11.5px;font-weight:450;letter-spacing:.035em;color:var(--text)}
.nav-d{display:flex;align-items:stretch;align-self:stretch;gap:4px;margin-right:auto}
.nav-d>a,.nav-d summary{display:flex;align-items:center;gap:6px;padding:0 12px;color:var(--text);text-decoration:none;font-size:15px;font-weight:500;font-stretch:94%;cursor:pointer;list-style:none;border-bottom:3px solid transparent;border-top:3px solid transparent;min-height:44px}
.nav-d summary::-webkit-details-marker{display:none}
.nav-d>a[aria-current],.nav-d .cur>summary{color:var(--ink);font-weight:650;border-bottom-color:var(--ink)}
.nav-d>a:hover,.nav-d summary:hover{color:var(--ink);border-bottom-color:var(--line-strong)}
.dd{position:relative;display:flex}
.dd .ico{width:14px;height:14px;transition:transform .15s}
.dd[open] .ico{transform:rotate(180deg)}
.dd ul{position:absolute;top:calc(100% + 6px);left:0;z-index:5;min-width:260px;margin:0;padding:8px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:0 12px 32px -12px rgba(20,33,59,.28)}
.dd ul a{display:block;padding:10px 12px;color:var(--text);text-decoration:none;border-radius:10px}
.dd ul a:hover,.dd ul a[aria-current]{background:var(--panel);color:var(--ink)}
.tools{display:flex;align-items:center;gap:10px}
.lang{display:flex;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-btn)}
.lang a{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:36px;padding:0 8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;border-radius:9px}
.lang a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(20,33,59,.12)}
.lang a.pref{text-decoration:underline}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--surface);color:var(--ink);cursor:pointer;list-style:none}
.iconbtn:hover{background:var(--panel)}
.iconbtn .ico{width:20px;height:20px;stroke-width:1.8}
.theme-toggle .sun{display:none}
:root[data-theme=night] .theme-toggle .sun{display:block}:root[data-theme=night] .theme-toggle .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=day]) .theme-toggle .sun{display:block}:root:not([data-theme=day]) .theme-toggle .moon{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-btn);background:var(--ink);color:var(--surface);text-decoration:none;font:inherit;font-size:15px;font-weight:650;font-stretch:94%;border:1px solid var(--ink);cursor:pointer}
.btn:hover{filter:brightness(1.18)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{background:var(--panel);filter:none}
.menu{position:relative;display:none}
.menu>summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:calc(100% + 8px);z-index:6;width:min(88vw,340px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:8px;box-shadow:0 12px 32px -12px rgba(20,33,59,.3)}
.menu nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--text);text-decoration:none;border-radius:10px}
.menu nav a.sub{padding-left:28px;font-size:15px}
.menu nav a[aria-current]{background:var(--panel);color:var(--ink);font-weight:650}
.menu .ico-x{display:none}.menu[open] .ico-x{display:block}.menu[open] .ico-m{display:none}
@media (max-width:1080px){.nav-d{display:none}.menu{display:block}.hdr{min-height:64px}}
@media (max-width:560px){.words span{display:none}.tools .login{display:none}.lang a{min-width:34px}.tools{gap:6px}}
.banner{padding:12px 0;font-weight:600;border-bottom:1px solid var(--line)}
.banner-degraded,.banner-review{background:var(--warn-bg);color:var(--warn-ink)}
.banner-force_majeure{background:var(--alert-bg);color:var(--alert-ink)}
.banner-preview{background:var(--info-bg);color:var(--info-ink)}

/* page head + chips */
.pagehead{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:var(--gap)}
.pagehead h1{margin:0 auto 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:14px}
.chip .ico{width:15px;height:15px;color:var(--muted)}
.chip-scan{font-variant-numeric:tabular-nums}
.chip-scan.now .ico{color:var(--ink)}
.live-note:not(:empty){font-size:14px;font-weight:600;color:var(--ink)}

/* cards */
.grid{display:flex;flex-wrap:wrap;gap:var(--gap);margin-bottom:var(--gap)}
.grid>*{min-width:0}
.c-wide{flex:2 1 560px}.c-narrow{flex:1 1 300px}.c-5{flex:5 1 380px}.c-7{flex:7 1 460px}
.stack{display:flex;flex-direction:column;gap:var(--gap)}
.stack>.card:last-child{flex:1}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--pad);box-shadow:var(--shadow)}
.card>:last-child{margin-bottom:0}
.card-full{margin-bottom:var(--gap)}
.card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:20px}
.card h2{margin:0 0 18px}
.card-top h2{margin:0}
.card h3{margin:0 0 6px}
.eyebrow{display:block;margin:0 0 8px;font-size:12.5px;font-weight:650;font-stretch:90%;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.card-top .eyebrow{margin:0}
.more{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;font-stretch:94%;color:var(--ink);min-height:44px}
.card .more:last-child{margin-top:auto;padding-top:16px;align-self:flex-start}
.foot-note{font-size:14px;color:var(--muted);margin:16px 0 0}
.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:auto;padding-top:16px}
.card-foot p{margin:0;font-size:14px;color:var(--muted)}
.card-foot .more{padding-top:0}

/* reading */
.reading{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 40px;margin-bottom:28px}
.headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 28px;margin-right:auto}
.wsi{margin:0;color:var(--ink);font-size:clamp(100px,10.5vw,148px);font-weight:720;font-stretch:70%;line-height:.8;letter-spacing:-.035em;font-variant-numeric:proportional-nums}
.wsi small{font-size:26px;font-weight:500;font-stretch:85%;letter-spacing:0;color:var(--muted);margin-left:.3em}
.band-name{margin:0;color:var(--ink);font-size:clamp(34px,3.6vw,48px);font-weight:720;font-stretch:76%;line-height:.95}
.deltas{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:6px 18px;margin:0;padding:0;list-style:none}
.deltas li{display:contents}
.deltas .k{font-size:14px;color:var(--muted)}
.deltas .arrow{display:flex;color:var(--muted)}
.deltas .arrow .ico{width:18px;height:18px;display:none}
.arrow[data-dir=up] .up,.arrow[data-dir=down] .down,.arrow[data-dir=flat] .flat{display:block!important}
.deltas .v{justify-self:end;color:var(--ink);font-size:24px;font-weight:680;font-stretch:84%;font-variant-numeric:tabular-nums}
@media (max-width:560px){.deltas{display:flex;flex-wrap:wrap;gap:12px 28px;width:100%}.deltas li{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 6px}.deltas .k{grid-column:1/-1;white-space:nowrap}.deltas .v{font-size:22px}.scale .minor{display:none}}

/* scale: plain SVG in px/percent (no viewBox), so the dot stays round at any width */
.scale{display:block;width:100%;height:92px;overflow:visible;font-family:var(--font)}
.scale rect{stroke:var(--surface);stroke-width:2}
.scale .now-seg{stroke-width:0}
.b0{fill:var(--b0)}.b10{fill:var(--b10)}.b20{fill:var(--b20)}.b35{fill:var(--b35)}.b50{fill:var(--b50)}.b65{fill:var(--b65)}.b80{fill:var(--b80)}.b90{fill:var(--b90)}
.scale .needle{stroke:var(--ink);stroke-width:4}
.scale .dot{fill:var(--ink);stroke:var(--surface);stroke-width:3}
.scale text{font-size:12.5px;fill:var(--faint);font-variant-numeric:tabular-nums}
.scale text.edge{fill:var(--ink);font-weight:650}
.scale text.end{font-size:13.5px;font-weight:600;fill:var(--ink)}

/* summary + warning level */
.summary{font-size:16px;max-width:66ch}
.summary p{margin:0 0 .6em}
.ewl-head{display:flex;align-items:center;gap:16px;margin:0 0 14px}
.ewl-num{margin:0;color:var(--ink);font-size:64px;font-weight:720;font-stretch:70%;line-height:.85}
.ewl-name{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:22px;font-weight:680;font-stretch:84%}
.ewl-name .ico{width:20px;height:20px}
.ewl-dot{width:12px;height:12px;border-radius:50%;background:var(--b0);flex:none}
.ewl-1 .ewl-dot{background:var(--b20)}.ewl-2 .ewl-dot{background:var(--b35)}.ewl-3 .ewl-dot{background:var(--b65)}.ewl-4 .ewl-dot{background:var(--b90)}
.ewl-0 .ewl-dot{display:none}.ewl-head:not(.ewl-0) .ok{display:none}
.cadence{font-size:14px;color:var(--muted);margin:0}

/* 90-day chart */
.c90{position:relative;display:flex;gap:8px}
.c90-y{flex:none;width:26px;height:248px;overflow:visible}
.c90 svg{font-family:var(--font)}
.c90-y text,.c90-x text{font-size:12.5px;fill:var(--faint);font-variant-numeric:tabular-nums}
.c90-main{flex:1;min-width:0;position:relative}
.c90-plot{display:block;width:100%;height:248px;overflow:visible;touch-action:pan-y}
.c90-plot .z{opacity:.22}
.c90-plot .z.now{opacity:.34}
.c90-plot .edge{stroke:var(--line-strong);stroke-width:1}
.c90-plot .base{stroke:var(--line-strong);stroke-width:1}
.c90-plot .zone-label{font-size:11.5px;font-weight:650;letter-spacing:.08em;fill:var(--ink);opacity:.8;text-transform:uppercase}
.c90-plot .line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.c90-plot .end{stroke:var(--ink);stroke-width:12;stroke-linecap:round;vector-effect:non-scaling-stroke}
.c90-plot .now-tag rect{fill:var(--ink)}
.c90-plot .now-tag text{fill:var(--surface);font-size:12px;font-weight:700}
.c90-plot .cross{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3}
.c90-plot .hover{stroke:var(--ink);stroke-width:10;stroke-linecap:round;vector-effect:non-scaling-stroke}
.c90-x{display:block;width:100%;height:24px;overflow:visible}
.tip{position:absolute;top:8px;z-index:2;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;box-shadow:0 8px 24px -10px rgba(20,33,59,.35);white-space:nowrap;font-size:13px;color:var(--muted)}
.tip b{display:block;font-size:24px;font-weight:720;font-stretch:76%;line-height:1;color:var(--ink)}
.tip[hidden]{display:none}

/* signals */
.sig{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sig li{display:grid;grid-template-columns:76px 1fr;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
.sig .imp{display:flex;flex-direction:column;gap:2px}
.sig .imp b{font-size:28px;font-weight:720;font-stretch:76%;line-height:1;font-variant-numeric:tabular-nums}
.sig .imp span{font-size:12.5px;color:var(--muted)}
.minibar{display:block;width:100%;height:4px;margin-top:6px}
.minibar .tr{fill:var(--track)}.minibar .fg{fill:var(--bar)}
.sig .what{margin:0 0 8px;color:var(--ink);font-weight:600;line-height:1.4}
.sig .what a{text-decoration:none}.sig .what a:hover{text-decoration:underline}
.sig .src{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:14px;color:var(--muted)}
.sig .src a{display:inline-flex;align-items:center;gap:4px;color:var(--text)}
.sig .src .ico{width:13px;height:13px}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:700;font-stretch:90%}
.pil{display:inline-flex;align-items:center;gap:8px}

/* pillar table */
.comp-cap{font-size:14px;color:var(--muted);margin:-6px 0 20px}
.ptable{width:100%;border-collapse:collapse;font-size:15px}
.ptable th{padding:0 0 10px;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;background:none;border-bottom:1px solid var(--line)}
.ptable td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.ptable td+td,.ptable th+th{padding-left:16px}
.ptable .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ptable .nm{color:var(--ink);font-weight:560;font-stretch:96%;font-size:15.5px;line-height:1.3}
.ptable .barc{width:28%}
.ptable .val{font-weight:650;color:var(--ink)}
.pbar{display:block;width:100%;height:8px}
.pbar .tr{fill:var(--track)}.pbar .fg{fill:var(--bar)}
.ptable .lbl{display:none}
@media (max-width:760px){
  .ptable thead{display:none}
  .ptable tr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .ptable td{display:block;padding:0!important;border:0}
  .ptable td.nm{flex:1 1 0}
  .ptable td.barc{flex:1 0 100%;width:auto}
  .ptable td.n{display:flex;gap:5px;margin-right:12px}
  .ptable .lbl{display:inline;color:var(--muted);font-weight:400}
}

/* lists, gates, events */
.meta{font-size:14px;color:var(--muted)}
.tag{display:inline-block;font-size:12.5px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);white-space:nowrap}
.evlist,.signals{list-style:none;margin:0;padding:0}
.evlist li,.signals li{padding:14px 0;border-bottom:1px solid var(--line)}
.evlist li:first-child,.signals li:first-child{padding-top:0}
.evlist li:last-child,.signals li:last-child{border-bottom:0}
.evlist a{font-weight:600}
.gates{margin:0;padding-left:1.2em}
.gates li{margin-bottom:.5em}
.premium-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 32px}
.premium-card div{flex:1 1 320px}
.premium-card h2{margin-bottom:6px}
.premium-card p{margin:0}

/* boxes, tables and prose (content pages) */
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(16px,2vw,24px);margin:0 0 20px;box-shadow:var(--shadow)}
.box>:last-child{margin-bottom:0}
.box h2,.box h3{margin-top:0}
.notice{border-left:4px solid var(--ink)}
.card-premium{border-color:var(--ink)}
.section{padding:28px 0;border-top:1px solid var(--line)}
.section h2{margin-top:0}
.cols{display:grid;gap:0 40px}
@media (min-width:900px){.cols{grid-template-columns:1fr 1fr}}
.tablewrap{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:650;color:var(--ink);background:var(--panel)}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;white-space:nowrap}
.prose{max-width:68ch}
.prose h2{margin-top:1.6em}.prose h3{margin-top:1.4em}
.prose li{margin-bottom:.35em}
.prose blockquote{margin:0 0 1em;padding:4px 16px;border-left:3px solid var(--line-strong);color:var(--muted)}
.lead{font-size:18px;line-height:1.55;color:var(--text);max-width:62ch}
.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sw0{background:var(--b0)}.sw10{background:var(--b10)}.sw20{background:var(--b20)}.sw35{background:var(--b35)}.sw50{background:var(--b50)}.sw65{background:var(--b65)}.sw80{background:var(--b80)}.sw90{background:var(--b90)}
.cur-row td{background:var(--panel);font-weight:650;color:var(--ink)}
math{font-size:1.1em}
.formula{overflow-x:auto;padding:10px 0}
.toc{columns:2 220px;padding-left:0;list-style:none}
.toc li{margin-bottom:.35em;break-inside:avoid}
code{font:.88em var(--mono);background:var(--panel);padding:1px 5px;border-radius:5px}

/* history charts */
.chart{display:block;width:100%;height:auto;font-family:var(--font)}
.chart .bg{opacity:.22}
.chart .tick,.chart .band-label{fill:var(--faint)}
.chart .axis{stroke:var(--line-strong);stroke-dasharray:2 3}
.chart .band-edge{stroke:var(--muted);stroke-dasharray:4 4;opacity:.5}
.chart .ci{fill:var(--bar);opacity:.18}
.chart .line-rt{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}
.chart .line-revised{fill:none;stroke:var(--focus);stroke-width:1.3;stroke-dasharray:3 3}
.chart .ewl0{fill:var(--b0)}.chart .ewl1{fill:var(--b20)}.chart .ewl2{fill:var(--b35)}.chart .ewl3{fill:var(--b65)}.chart .ewl4{fill:var(--b90)}
.chart .anno{fill:var(--surface);stroke:var(--ink);stroke-width:1.2}
.chart .anno-num{fill:var(--ink);font-weight:700}
.chart .anno-line{stroke:var(--ink);stroke-width:.8}
.chart .cursor{stroke:var(--ink);stroke-width:1}
line.grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.chart-wide{display:none}
@media (min-width:700px){.chart-wide{display:block}.chart-narrow{display:none}}
.chartbox{position:relative;margin:0 0 14px}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:0 0 12px;font-size:14px;color:var(--muted)}
.lg{display:inline-block;width:22px;height:0;border-top:2px solid var(--ink);vertical-align:middle;margin-right:6px}
.lg-rv{border-top:2px dashed var(--focus)}
.lg-ci{height:10px;border:0;background:var(--bar);opacity:.25}
.annos{padding-left:1.4em}
.bar{display:block;width:100%;height:8px}
.bar-bg{fill:var(--track)}.bar-fg{fill:var(--bar)}

/* forms */
.filters{display:flex;flex-wrap:wrap;gap:12px 16px;margin:0 0 16px;align-items:end}
label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;min-height:44px;max-width:100%}
input[type=checkbox]{width:20px;height:20px;min-height:0;vertical-align:-4px;margin-right:8px;accent-color:var(--ink)}
.check{font-weight:400;display:flex;align-items:center;color:var(--text)}
.field{margin-bottom:14px}
.field input:not([type=checkbox]),.field textarea{width:100%}
.form-msg:not(:empty){margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--panel)}
.inline{display:inline}
.plan-actions{display:flex;flex-wrap:wrap;gap:8px}
.hidden{display:none!important}
.plans th[scope=col]{min-width:120px}
.plans td,.plans thead th{text-align:center}.plans td:first-child,.plans th:first-child{text-align:left}
.price{font-size:24px;font-weight:720;font-stretch:84%;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}
.sample{white-space:pre-wrap;font:14px/1.5 var(--mono);background:var(--panel);padding:14px 16px;border-radius:10px;margin:0 0 1em;overflow-x:auto}

/* model pages */
.h3{font-size:18px}
.flow{list-style:none;padding:0;margin:0 0 1.5em;counter-reset:step}
.flow-step{position:relative;padding:14px 18px 14px 58px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);margin-bottom:22px;counter-increment:step}
.flow-step::before{content:counter(step);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--surface);font-weight:700;text-align:center;line-height:28px}
.flow-step:not(:last-child)::after{content:"";position:absolute;left:30px;bottom:-23px;height:22px;border-left:2px solid var(--line-strong)}
.flow-step h3{margin:0 0 4px;font-size:16px}
.flow-step p{margin:0}
fieldset{border:0;padding:0;margin:0 0 12px}
legend{font-size:14px;font-weight:600;margin-bottom:6px}
details.box>summary{cursor:pointer;font-weight:600;color:var(--ink)}
details.box[open]>summary{margin-bottom:10px}

/* footer */
.site-footer{margin-top:clamp(24px,4vw,48px);border-top:1px solid var(--line);background:var(--surface);padding:32px 0 40px;font-size:14px}
.site-footer .wrap>*{max-width:1280px;margin-left:auto;margin-right:auto}
.ftop{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px 40px;margin-bottom:20px}
.ftop .brand{margin:0}
.ftop .words b{font-size:13px}.ftop .words span{font-size:10.5px}
.fnotice{max-width:62ch;margin:0;color:var(--muted)}
.flinks{display:flex;flex-wrap:wrap;gap:4px 20px;list-style:none;padding:16px 0;margin:0 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flinks a{display:inline-flex;align-items:center;min-height:36px;color:var(--text);text-decoration:none}
.flinks a:hover{text-decoration:underline;color:var(--ink)}
.colophon{color:var(--muted);margin:0}
@media print{.site-header .tools,.site-header .nav-d,.menu{display:none}.card,.box{box-shadow:none}}
