.os{--os-mono:'Rimini Sans','DM Mono',monospace;--os-serif:'Instrument Serif',Georgia,serif;--os-ez:cubic-bezier(.16,1,.3,1);--os-ink:#1a1c1e;--os-paper:#e6ecbd;--os-caviar:#2c2f32;--os-sage:#d7e8bc;--os-s2:rgba(215,232,188,.62);--os-s3:rgba(215,232,188,.36);--os-s4:rgba(215,232,188,.2)}
.os-k{font-family:var(--os-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;line-height:1.5}
.os-head{max-width:66ch;margin:0 0 clamp(28px,4vw,44px)}
.os-lead{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.72;color:#b9c6a6;margin:18px 0 0}
.os-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}

.os-brief{border:1px solid var(--rule);border-radius:18px;background:var(--surface);padding:clamp(22px,3.4vw,38px);margin:0 0 clamp(28px,4vw,44px)}
.os-brief-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
.os-brief-t{font-family:var(--os-serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1;margin:0}
.os-stamp{font-family:var(--os-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(233,240,86,.45);border-radius:4px;padding:5px 9px;white-space:nowrap}
.os-brief-grid{display:grid;grid-template-columns:1.05fr 1fr 1.15fr;gap:clamp(22px,3.5vw,44px)}
.os-bl{font-family:var(--os-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.os-bv{font-size:.98rem;line-height:1.6;color:var(--text);margin:0 0 20px}
.os-bnums,.os-blims{display:grid;gap:0;margin:0}
.os-bnums{grid-template-columns:1fr 1fr;gap:14px}
.os-bnums dt,.os-blims dt{font-family:var(--os-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.os-bnums dd{font-family:var(--os-serif);font-size:1.7rem;margin:4px 0 0;font-variant-numeric:tabular-nums}
.os-blims div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule)}
.os-blims div:first-child{padding-top:2px}
.os-blims dd{margin:0;font-size:.98rem;text-align:right;font-variant-numeric:tabular-nums}
.os-rank{margin:0;padding:0;list-style:none;counter-reset:r}
.os-rank li{counter-increment:r;display:flex;gap:14px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--rule);font-size:.95rem;line-height:1.45}
.os-rank li::before{content:counter(r);font-family:var(--os-mono);font-size:.72rem;color:var(--accent);flex:0 0 1ch}
.os-open{margin:16px 0 0;font-size:.92rem;line-height:1.55;color:#b9c6a6}
.os-brief-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}
.os-run{min-height:48px;padding:0 24px;border-radius:60px;border:0;background:var(--accent);color:var(--os-ink);font:500 .95rem 'Inter',sans-serif;cursor:pointer;transition:transform .24s var(--os-ez),background .24s var(--os-ez)}
.os-run:hover{transform:translateY(-2px)}
.os-run:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.os-run.ran{background:none;color:var(--accent);border:1px solid rgba(233,240,86,.5)}
.os-run-note{font-size:.9rem;color:var(--muted)}
.os-brief [data-src].lit{background:rgba(233,240,86,.08);box-shadow:inset 2px 0 0 var(--accent);transition:background .4s var(--os-ez)}
.os-fly{position:fixed;left:0;top:0;z-index:60;pointer-events:none;font-family:var(--os-mono);font-size:.74rem;letter-spacing:.04em;white-space:nowrap;background:var(--accent);color:var(--os-ink);border-radius:60px;padding:6px 12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.7)}

.os-studio{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-areas:"struct struct" "words report" "ctrls report";column-gap:clamp(24px,4.5vw,60px);row-gap:clamp(28px,3.5vw,40px);align-items:start}
.os-structs{grid-area:struct}
.os-words{grid-area:words}
.os-ctrls{grid-area:ctrls;display:grid;gap:26px}
.os-report{grid-area:report;position:sticky;top:84px;border:1px solid rgba(233,240,86,.34);border-radius:18px;padding:clamp(22px,3vw,34px)}
.os-mini{display:none}

.os-fs{border:0;margin:0;padding:0;min-width:0}
.os-fs legend{padding:0}
.os-hint{font-size:.95rem;color:#b9c6a6;margin:0 0 18px;line-height:1.55}
.os-scards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.os-scard{position:relative;display:flex;flex-direction:column;gap:8px;border:1px solid var(--rule);border-radius:14px;background:var(--surface);padding:20px 20px 18px;cursor:pointer;transition:border-color .24s var(--os-ez),transform .3s var(--os-ez)}
.os-scard:hover{border-color:rgba(233,240,86,.4)}
.os-scard input{position:absolute;top:18px;right:18px;-webkit-appearance:none;appearance:none;width:20px;height:20px;margin:0;border-radius:50%;border:1px solid var(--os-s3);background:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.os-scard input:checked{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 10px var(--accent)}
.os-scard input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.os-scard.on{border-color:var(--accent)}
.os-sn{font-family:var(--os-serif);font-size:1.55rem;line-height:1;padding-right:28px}
.os-sd{font-size:.9rem;line-height:1.5;color:#b9c6a6}
.os-sm{font-family:var(--os-mono);font-size:.68rem;letter-spacing:.04em;color:var(--muted);line-height:1.7;margin-top:auto;padding-top:10px;border-top:1px solid var(--rule)}
.os-sm b{color:var(--text);font-weight:400}
.os-sadj{display:none;font-family:var(--os-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.os-scard.adj .os-sadj{display:block}

.os-say-row{display:flex;gap:10px}
.os-say input{flex:1;min-width:0;min-height:50px;background:var(--bg);border:1px solid var(--rule);border-radius:60px;color:var(--text);font:400 1rem 'Inter',sans-serif;padding:12px 20px}
.os-say input::placeholder{color:#8b9880}
.os-say input:focus{outline:none;border-color:var(--accent)}
.os-say button{min-height:50px;padding:0 22px;border-radius:60px;border:0;background:var(--accent);color:var(--os-ink);font:500 .92rem 'Inter',sans-serif;cursor:pointer}
.os-say button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.os-ex{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.os-exb{text-align:left;line-height:1.35}
.os-echo{min-height:1.6em;margin:16px 0 0;font-size:.95rem;line-height:1.55;color:var(--text)}
.os-echo b{color:var(--accent);font-weight:400}
.os-echo.miss{color:#b9c6a6}
.os-fine{font-size:.8rem;color:var(--muted);margin:8px 0 0}

.os-ctrls .im-ctrl label{margin-bottom:6px}
.os-ctrls .im-ctrl input[type=range]{height:44px}
.os-ctrls .im-ctrl.hit .v{animation:os-hit .9s var(--os-ez)}
@keyframes os-hit{0%{background:rgba(233,240,86,.28)}100%{background:transparent}}
.os-ctrls .v{border-radius:4px;padding:0 4px}
.os-seg2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:-10px}
.os-seg2 label,.os-chk{position:relative;cursor:pointer}
.os-seg2 input,.os-chk input,.os-sw input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.os-seg2 span,.os-chk span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--rule);border-radius:60px;font-size:.86rem;color:var(--muted);text-align:center;line-height:1.3;transition:border-color .2s var(--os-ez),color .2s var(--os-ez),background .2s var(--os-ez)}
.os-seg2 input:checked+span,.os-chk input:checked+span{border-color:var(--accent);color:var(--text);background:rgba(233,240,86,.07)}
.os-chk input:checked+span::before{content:'\2713';color:var(--accent);margin-right:8px;font-size:.8rem}
.os-seg2 input:focus-visible+span,.os-chk input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.os-cnote{min-height:0;margin:-12px 0 0;font-size:.86rem;line-height:1.5;color:var(--accent)}
.os-cnote:empty{display:none}
.os-cont{display:grid;gap:10px}
.os-sw{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--rule);border-radius:12px;padding:10px 16px 10px 18px;min-height:52px;cursor:pointer;background:var(--surface);transition:border-color .22s var(--os-ez)}
.os-sw:hover{border-color:rgba(233,240,86,.35)}
.os-sw .t{font-size:.96rem}
.os-sw .sw{width:44px;height:26px;border-radius:20px;background:var(--rule);position:relative;flex-shrink:0;transition:background .22s var(--os-ez)}
.os-sw .sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#8f978a;transition:left .22s var(--os-ez),background .22s var(--os-ez)}
.os-sw input:checked~.sw{background:var(--accent)}
.os-sw input:checked~.sw::after{left:21px;background:var(--os-ink)}
.os-sw input:focus-visible~.sw{outline:2px solid var(--accent);outline-offset:3px}
.os-sw:has(input:checked){border-color:rgba(233,240,86,.4)}
.os-gapctl[hidden]{display:none}
.os-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.os-assume{border-top:1px solid var(--rule);padding-top:14px}
.os-assume summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-family:var(--os-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);list-style:none}
.os-assume summary::-webkit-details-marker{display:none}
.os-assume summary::after{content:'+';margin-left:10px;color:var(--accent);font-size:1rem}
.os-assume[open] summary::after{content:'\2212'}
.os-assume summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.os-assume ul{margin:6px 0 0;padding:0 0 0 18px;display:grid;gap:7px;font-size:.88rem;line-height:1.55;color:#b9c6a6}

.os-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.os-rt{font-family:var(--os-serif);font-weight:400;font-size:clamp(1.6rem,2.3vw,2rem);line-height:1;margin:0}
.os-rsub{font-family:var(--os-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.os-lims{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.os-lim{border:1px solid var(--rule);border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:3px;min-width:0;transition:border-color .3s var(--os-ez),background .3s var(--os-ez)}
.os-ll{font-family:var(--os-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.os-lv{font-size:.92rem;font-variant-numeric:tabular-nums}
.os-ls{font-size:.76rem;line-height:1.35;color:var(--muted)}
.os-lim.bad{border-color:var(--accent);background:rgba(233,240,86,.06)}
.os-lim.bad .os-ls{color:var(--accent)}
.os-lim.land{animation:os-land .7s var(--os-ez)}
@keyframes os-land{0%{background:rgba(233,240,86,.22)}100%{background:transparent}}

.os-strength{border-top:1px solid var(--rule);padding-top:18px;margin-bottom:22px}
.os-st-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.os-st-row .os-k{margin:0}
.os-st-word{font-family:var(--os-serif);font-size:1.7rem;line-height:1;margin:0;color:var(--accent)}
.os-track{position:relative;height:6px;border-radius:6px;background:var(--rule);margin-top:14px}
.os-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:6px;background:var(--accent);transition:width .55s var(--os-ez)}
.os-pin{position:absolute;top:50%;left:0;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);transform:translate(-50%,-50%);transition:left .55s var(--os-ez)}
.os-scale{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--os-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.os-scale span.on{color:var(--accent)}
.os-st-why{margin:14px 0 0;font-size:.93rem;line-height:1.6;color:#c5d3b2}

.os-vhead{border-top:1px solid var(--rule);padding-top:18px}
.os-tabs{display:grid;grid-template-columns:repeat(4,auto);gap:4px;border:1px solid var(--rule);border-radius:60px;padding:4px;margin-bottom:22px}
.os-tab{min-height:44px;border:0;border-radius:60px;background:none;color:var(--muted);font:400 .86rem 'Inter',sans-serif;padding:0 12px;cursor:pointer;white-space:nowrap;transition:background .25s var(--os-ez),color .25s var(--os-ez)}
.os-tab:hover{color:var(--text)}
.os-tab[aria-selected=true]{background:var(--accent);color:var(--os-ink)}
.os-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.os-views{position:relative;overflow:hidden}
.os-view{transition:opacity .28s var(--os-ez),transform .28s var(--os-ez)}
.os-view:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.os-view.out{opacity:0;transform:translateY(-6px)}
.os-view.pre{opacity:0;transform:translateY(10px)}
.os-big{font-family:var(--os-serif);font-size:clamp(46px,5.6vw,72px);line-height:1;margin:0;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.os-big small{font-family:var(--os-mono);font-size:.74rem;letter-spacing:.08em;color:var(--muted);margin-left:10px;text-transform:uppercase}
.os-vs{margin:10px 0 0;font-size:.92rem;color:#b9c6a6;min-height:1.5em}
.os-vs.bad{color:var(--accent)}
.os-bar{position:relative;display:flex;height:12px;border-radius:3px;background:rgba(215,232,188,.06);margin:20px 0 6px;overflow:visible}
.os-seg{display:block;height:100%;width:0;transition:width .5s var(--os-ez)}
.os-seg:first-child{border-radius:3px 0 0 3px}
.s1{background:var(--accent)}
.s2{background:var(--os-s2)}
.s3{background:var(--os-s3)}
.s4{background:var(--os-s4)}
.s5{background:repeating-linear-gradient(135deg,var(--accent) 0 3px,transparent 3px 7px)}
.os-mark{position:absolute;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:var(--text);left:100%;transition:left .5s var(--os-ez)}
.os-rows{margin:16px 0 0;display:grid}
.os-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule)}
.os-rows dt{font-size:.92rem;color:#c5d3b2;line-height:1.4}
.os-rows dd{margin:0;font-variant-numeric:tabular-nums;font-size:.98rem;white-space:nowrap}
.os-rows .os-tot{border-bottom:0}
.os-rows .os-tot dt{color:var(--text)}
.os-rows .os-tot dd{font-family:var(--os-serif);font-size:1.4rem}
.os-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:10px;vertical-align:1px}
.os-dim{color:var(--muted);font-size:.84rem;margin-left:4px}
.os-k2{margin-top:22px}
.os-terms{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.os-terms li{font-size:.84rem;border:1px solid var(--rule);border-radius:60px;padding:6px 12px;color:#c5d3b2}
.os-terms li.ask{border-color:rgba(233,240,86,.4)}
.os-cert{margin:16px 0 0;font-size:.93rem;line-height:1.6;color:#c5d3b2}
.os-cert b{color:var(--accent);font-weight:400}

.os-page{background:var(--os-paper);color:var(--os-caviar);border-radius:8px;padding:clamp(20px,3vw,30px)}
.os-page-top{border-bottom:1px solid rgba(44,47,50,.22);padding-bottom:14px;margin-bottom:6px}
.os-page-t{font-family:var(--os-serif);font-size:clamp(1.7rem,2.4vw,2.1rem);line-height:1;margin:0}
.os-page-s{font-family:var(--os-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#4c5245;margin:8px 0 0;line-height:1.6}
.os-page-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;margin:0}
.os-page-grid div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid rgba(44,47,50,.14)}
.os-page-grid dt{font-size:.8rem;color:#4c5245}
.os-page-grid dd{margin:0;font-size:.88rem;text-align:right;font-variant-numeric:tabular-nums}
.os-page-grid .wide{grid-column:1/-1}
.os-page-grid .key dd{font-family:var(--os-serif);font-size:1.2rem}
.os-page-read{margin:14px 0 0;font-size:.9rem;line-height:1.55}
.os-page-fine{margin:10px 0 0;font-size:.74rem;color:#4c5245}
.os-print{margin-top:14px;min-height:46px;padding:0 20px;border-radius:60px;border:1px solid rgba(233,240,86,.5);background:none;color:var(--accent);font:400 .9rem 'Inter',sans-serif;cursor:pointer;transition:background .2s var(--os-ez),color .2s var(--os-ez)}
.os-print:hover{background:var(--accent);color:var(--os-ink)}
.os-print:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.os-report .os-lims,.os-report .os-strength,.os-report .os-vhead,.os-report .os-views{transition:opacity .7s var(--os-ez)}
.os-report[data-pending] .os-lims .os-lv,.os-report[data-pending] .os-strength,.os-report[data-pending] .os-vhead,.os-report[data-pending] .os-views{opacity:.16}
.os-report[data-pending] .os-lims .os-lim{border-style:dashed}
.os-pending-note{display:none}
.os-report[data-pending] .os-pending-note{display:block;position:absolute;left:0;right:0;top:46%;text-align:center;margin:0;font-family:var(--os-serif);font-size:clamp(1.5rem,2.4vw,2rem);color:var(--text);pointer-events:none}

.os-end{margin-top:clamp(44px,6vw,72px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--rule)}
.os-end-t{font-family:var(--os-serif);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;margin:0 0 20px;max-width:24ch}
.os-end-links{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.os-end-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:60px;border:1px solid rgba(233,240,86,.5);color:var(--accent);text-decoration:none;font-size:.95rem;transition:background .2s var(--os-ez),color .2s var(--os-ez)}
.os-end-links a:last-child{background:var(--accent);color:var(--os-ink);border-color:var(--accent)}
.os-end-links a:hover{background:var(--accent);color:var(--os-ink)}
.os-end-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media(max-height:860px) and (min-width:981px){.os-report{position:relative;top:auto}}
@media(max-width:1100px) and (min-width:981px){.os-lims{grid-template-columns:1fr 1fr}}
@media(max-width:980px){
  .os-brief-grid{grid-template-columns:1fr 1fr}
  .os-brief-grid .os-bcol:last-child{grid-column:1/-1}
  .os-studio{grid-template-columns:minmax(0,1fr);grid-template-areas:"report" "struct" "words" "ctrls" "mini"}
  .os-report{position:relative;top:auto}
  .os-mini{grid-area:mini;display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:0;z-index:20;margin:0 calc(-1 * clamp(1.25rem,4vw,2.5rem));padding:12px clamp(1.25rem,4vw,2.5rem) calc(12px + env(safe-area-inset-bottom));background:rgba(44,47,50,.96);border-top:1px solid rgba(233,240,86,.34);font-family:var(--os-mono);font-size:.7rem;letter-spacing:.04em;color:var(--muted);transform:translateY(110%);opacity:0;transition:transform .35s var(--os-ez),opacity .35s var(--os-ez);pointer-events:none}
  .os-mini.show{transform:none;opacity:1}
  .os-mini b{font-family:var(--os-serif);font-size:1.15rem;font-weight:400;color:var(--text);letter-spacing:0;margin-right:3px}
  .os-mini span:last-child b{color:var(--accent)}
}
@media(max-width:720px){
  .os-brief-grid{grid-template-columns:1fr}
  .os-scards{grid-template-columns:1fr}
  .os-lims{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .os-brief-top{flex-direction:column;align-items:flex-start;gap:12px}
  .os-tabs{grid-template-columns:1fr 1fr;border-radius:14px}
  .os-tab{border-radius:10px}
  .os-page-grid{grid-template-columns:1fr}
  .os-items{grid-template-columns:1fr 1fr}
  .os-say-row{flex-direction:column}
  .os-say button{align-self:flex-start}
  .os-rows dt{font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){
  .os-view,.os-view.out,.os-view.pre{transition:none;opacity:1;transform:none}
  .os-fill,.os-pin,.os-seg,.os-mark{transition:none}
}
@media print{
  html.os-printing,html.os-printing body{background:#fff!important}
  html.os-printing body>*:not(#os-print-root){display:none!important}
  #os-print-root{display:block!important}
}
#os-print-root{display:none}
#os-print-root .os-page{background:#fff;color:#111;padding:0;border-radius:0;font-family:'Inter',system-ui,sans-serif;max-width:720px;margin:0 auto}
#os-print-root .os-page-s,#os-print-root .os-page-grid dt,#os-print-root .os-page-fine{color:#444}
#os-print-root .os-page-grid div{border-bottom-color:#ddd}
#os-print-root .os-page-top{border-bottom-color:#999}

.os-steps,.os-stepnav{display:none}
.os-ctrls{gap:14px}
.os-ft{display:grid;gap:26px}
.os-ft[hidden]{display:none}
.os-ft-tog{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;margin:0;padding:0 18px;border:1px solid rgba(233,240,86,.4);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s var(--os-ez),background .2s var(--os-ez)}
.os-ft-tog::after{content:'+';font-family:'Inter',sans-serif;font-size:1.2rem;letter-spacing:0;color:var(--accent)}
.os-ft-tog[aria-expanded=true]::after{content:'\2212'}
.os-ft-tog:hover{border-color:var(--accent)}
.os-ft-tog:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.os-ft-tog.hit{animation:os-hit .9s var(--os-ez)}
@keyframes os-step-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:980px){
  .os-frame{position:relative}
  .os-frame[data-cur] .os-steps{display:grid}
  .os-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:0 0 14px;padding:8px 0;position:sticky;top:60px;z-index:15;background:var(--bg)}
  .os-steps li{min-width:0}
  .os-step{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--rule);border-radius:60px;background:none;color:var(--muted);font:400 .86rem 'Inter',sans-serif;cursor:pointer;padding:0 8px;white-space:nowrap;transition:border-color .25s var(--os-ez),color .25s var(--os-ez),background .25s var(--os-ez)}
  .os-step b{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid currentColor;font-family:var(--os-mono);font-weight:400;font-size:.72rem}
  .os-step[aria-current=step]{border-color:var(--accent);color:var(--text);background:rgba(233,240,86,.07)}
  .os-step[aria-current=step] b{background:var(--accent);border-color:var(--accent);color:var(--os-ink)}
  .os-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .os-frame[data-cur] [data-step]{display:none}
  .os-frame[data-cur=case] [data-step=case],.os-frame[data-cur=report] [data-step=report],.os-frame[data-cur=deliver] [data-step=deliver]{display:block}
  .os-frame[data-cur=deliver] .os-ctrls[data-step]{display:grid}
  .os-frame.os-swap [data-step]{animation:os-step-in .45s var(--os-ez)}
  .os-frame .os-brief{margin:0}
  .os-studio{grid-template-areas:"report" "struct" "words" "ctrls";row-gap:26px}
  .os-frame[data-cur] .os-stepnav{display:flex}
  .os-stepnav{justify-content:space-between;align-items:center;gap:10px;margin-top:18px}
  .os-sback,.os-snext{min-height:48px;padding:0 20px;border-radius:60px;border:1px solid var(--rule);background:none;color:var(--text);font:400 .92rem 'Inter',sans-serif;cursor:pointer}
  .os-sback[hidden],.os-snext[hidden]{display:none}
  .os-snext{margin-left:auto;border-color:rgba(233,240,86,.5);color:var(--accent)}
  .os-snext.pri{background:var(--accent);border-color:var(--accent);color:var(--os-ink);font-weight:500}
  .os-sback:focus-visible,.os-snext:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .os-mini{grid-area:auto;margin-top:12px}
}
@media(max-width:720px){
  .os-frame .os-brief{padding:20px 18px 22px}
  .os-frame .os-brief-top{margin-bottom:16px;padding-bottom:14px}
  .os-frame .os-brief-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px;padding:0 18px 4px;scroll-padding-inline:18px}
  .os-frame .os-brief-grid::-webkit-scrollbar{display:none}
  .os-frame .os-brief-grid .os-bcol{scroll-snap-align:start;min-width:0}
  .os-frame .os-brief-grid .os-bcol:last-child{grid-column:auto}
  .os-frame .os-brief-grid .os-bcol+.os-bcol{border-left:1px solid var(--rule);padding-left:18px}
  .os-frame .os-brief-foot{margin-top:18px;padding-top:16px}
  .os-frame .os-scards{gap:10px}
  .os-frame .os-scard{padding:14px 16px;gap:4px}
  .os-frame .os-scard input{top:14px;right:14px}
  .os-frame .os-sn{font-size:1.3rem}
  .os-frame .os-sm{padding-top:6px}
  .os-frame .os-hint{margin-bottom:12px}
  .os-frame .os-ex{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:12px -20px 0;padding:0 20px 2px;scroll-padding-inline:20px}
  .os-frame .os-ex::-webkit-scrollbar{display:none}
  .os-frame .os-exb{flex:0 0 auto;max-width:76%;scroll-snap-align:start}
  .os-steps{gap:4px}
  .os-step{gap:6px;font-size:.8rem;padding:0 6px}
}
@media(max-width:359px){.os-step span{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){.os-frame.os-swap [data-step]{animation:none}}
.os-scale{font-size:11px}
.os-lead.os-after{max-width:66ch;margin:clamp(20px,3vw,32px) 0 0}
