/* =========================================================================
   AI Security Assessment — the cyberbenchmarker.com design system, applied.
   Tokens and component grammar mirror ../public/app.css on the main site:
   dark navy instrument register for working screens, light paper register
   for the report (body.light) and for print. IBM Plex Mono carries labels,
   numbers and headings; IBM Plex Sans carries reading text. Square edges.
   ========================================================================= */
:root{
  --ink:#0A1E2E; --ink-deep:#061520; --ink-soft:#0E2A3D;
  --line:#1E4763; --line-soft:#16384F;
  --cyan:#5FD0E8; --amber:#E8A33D; --coral:#E4644F; --good:#7BE3A8;
  --paper:#EDF1F4; --panel:#FFFFFF;
  --mute:#7FA3B8; --mute-dark:#4A6E85; --text:#EAF4F9; --text-soft:#B9D2DF;
  --bg:var(--ink); --surface:var(--ink-soft); --tint:rgba(95,208,232,.10);
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --pad:20px; --rail:270px;
}
/* Light register: same components, paper ground. Accents darken so they
   survive paper and greyscale printing, as on the main site's report. */
body.light{
  --cyan:#1B6A88; --good:#1E7A4C; --amber:#8A5E10; --coral:#A63A2A;
  --text:#0A1E2E; --text-soft:#33505F; --mute:#4A6E85; --mute-dark:#4A6E85;
  --line:#C7D6E0; --line-soft:#DCE5EB; --bg:var(--paper); --surface:var(--panel); --tint:rgba(27,106,136,.10);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15.5px;line-height:1.5;
  min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}
.hidden{display:none!important}
.tabnum{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:20;background:var(--bg);padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.topbar .row{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1180px;margin:0 auto;padding:0 var(--pad)}
.brand{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--text);white-space:nowrap}
.brand span{color:var(--cyan)}
body.light .brand span{color:var(--mute-dark)}
.topbar .tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.crumb{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mute-dark);text-transform:uppercase;text-align:right}
.reset{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mute-dark);background:none;border:0;cursor:pointer;padding:8px;margin:-8px}
.reset:hover{color:var(--cyan)}
.mode{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line);color:var(--mute)}
.save{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--mute-dark)}
.save.ok{color:var(--good)} .save.warn{color:var(--amber)} .save.bad{color:var(--coral)}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.eyebrow.cy{color:var(--cyan)}
h1.hero{font-family:var(--mono);font-weight:500;font-size:clamp(28px,6vw,46px);line-height:1.08;letter-spacing:-.025em;color:var(--text);margin-top:18px}
h1.hero .cy{color:var(--cyan)}
h2{font-family:var(--mono);font-weight:500;font-size:clamp(22px,4.6vw,27px);line-height:1.2;letter-spacing:-.01em;color:var(--text)}
h3{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:40px 0 6px}
.lede{font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--text-soft);margin:12px 0 26px;max-width:62ch}
.help{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--mute);margin-top:8px;max-width:64ch}
.note{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--mute);border-left:2px solid var(--cyan);padding:6px 14px;margin:22px 0;max-width:70ch}
.flag{color:var(--amber)} .flagbad{color:var(--coral)}
.rule{height:1px;background:var(--line-soft);margin:34px 0 22px}
ol,ul{padding-left:1.2em}
ol li,ul li{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--text-soft);margin:6px 0}

/* ---------- controls ---------- */
button{font:inherit;color:inherit;cursor:pointer;border-radius:0}
.btn,button.primary{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  background:var(--cyan);color:var(--ink-deep);border:1px solid var(--cyan);padding:14px 22px;min-height:48px;text-align:center}
.btn:active,button.primary:active{opacity:.85}
.btn[disabled],button.primary[disabled]{background:transparent;color:var(--mute-dark);border-color:var(--line);cursor:not-allowed}
.btn-outline,button:not(.btn):not(.primary):not(.quiet):not(.reset):not(.opt):not(.seg-b):not(.lnk){font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  background:transparent;color:var(--text);border:1px solid var(--line);padding:12px 18px;min-height:44px}
.btn-outline:hover,button:not(.btn):not(.primary):not(.quiet):not(.reset):not(.lnk):hover{border-color:var(--cyan)}
button.quiet{background:none;border:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:8px 10px}
button.quiet:hover{color:var(--cyan)}
button[disabled]{opacity:.5;cursor:not-allowed}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
input[type=text],input[type=date],input[type=number],input[type=file],select,textarea{width:100%;font-family:var(--sans);font-size:15px;background:transparent;
  border:1px solid var(--line);color:var(--text);padding:12px 13px;outline:none;border-radius:0;appearance:none;min-height:46px}
input:focus,select:focus,textarea:focus{border-color:var(--cyan)}
input::placeholder,textarea::placeholder{color:var(--mute-dark)}
select option{color:#000}
textarea{min-height:76px;resize:vertical;line-height:1.5}
input[type=file]{padding:9px 13px;font-family:var(--mono);font-size:11px;color:var(--mute)}
input[type=date]{font-family:var(--mono);font-size:13px}
.field{display:block;margin:0 0 22px}
.field .l,.field label.l,label.l{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:8px;font-weight:400}
.field .e{font-family:var(--mono);font-size:11px;color:var(--coral);margin-top:8px;display:block}
.field .e:empty{display:none}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:34px}
.actions .help{margin:0;flex:1 1 220px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{font-family:var(--sans);font-size:14.5px;line-height:1.4;border:1px solid var(--line);color:var(--text-soft);padding:11px 15px;cursor:pointer;background:transparent;min-height:44px;display:flex;align-items:center;gap:8px;position:relative}
.opts label::before{content:"";width:7px;height:7px;border:1px solid var(--mute-dark);transform:rotate(45deg);flex-shrink:0}
.opts label:hover{border-color:var(--cyan)}
.opts label:has(input:checked){border-color:var(--cyan);background:var(--tint);color:var(--text)}
.opts label:has(input:checked)::before{background:var(--cyan);border-color:var(--cyan)}
.opts label:has(input:disabled){cursor:default;opacity:.7}
.opts input{position:absolute;opacity:0;width:0;height:0}
.chk{display:flex;gap:10px;align-items:center;font-family:var(--sans);font-size:13.5px;color:var(--mute);cursor:pointer}
.chk input{width:16px;height:16px;min-height:0;accent-color:var(--cyan);margin:0}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--cyan);color:var(--ink-deep);padding:10px 16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;opacity:0;transition:opacity .2s;z-index:30;pointer-events:none;max-width:90vw}
.toast.show{opacity:1}
.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line);color:var(--mute);white-space:nowrap;display:inline-block}
.tag.open{color:var(--cyan);border-color:var(--cyan)} .tag.submitted{color:var(--amber);border-color:var(--amber)} .tag.reviewed{color:var(--good);border-color:var(--good)} .tag.revoked,.tag.expired{color:var(--coral);border-color:var(--coral)}

/* ---------- login ---------- */
.login{padding:56px 0 80px}
.login .wrap{max-width:640px;margin:0 auto;padding:0 var(--pad)}
.login .or{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute-dark);margin:0 0 18px}

/* ---------- questionnaire layout ---------- */
.layout{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);max-width:1180px;margin:0 auto}
nav.rail{border-right:1px solid var(--line-soft);padding:22px 0 60px;position:sticky;top:56px;align-self:start;max-height:calc(100vh - 56px);overflow-y:auto}
nav.rail .group{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute-dark);padding:20px var(--pad) 6px}
nav.rail button{display:flex;width:100%;text-align:left;background:none;border:0;border-left:2px solid transparent;padding:10px var(--pad);gap:10px;align-items:baseline;
  font-family:var(--sans);font-size:13.5px;color:var(--text-soft);cursor:pointer}
nav.rail button:hover{color:var(--text)}
nav.rail button.active{border-left-color:var(--cyan);color:var(--text);background:var(--tint)}
nav.rail button .n{flex:1}
nav.rail button .s{font-family:var(--mono);font-size:10.5px;color:var(--mute-dark);font-variant-numeric:tabular-nums}
main{padding:36px var(--pad) 90px;max-width:860px;min-width:0}
main h3{margin-top:40px}

/* question block */
.q{border-top:1px solid var(--line-soft);padding:30px 0 34px}
.q .num{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.q .text{font-family:var(--sans);font-weight:500;font-size:19px;line-height:1.42;color:var(--text);margin:10px 0 10px;max-width:60ch}
.q .anchor{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--mute);margin:0 0 14px}
.q .gate .test{font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--text-soft);margin:0 0 14px;max-width:60ch}
.gate .test{font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--text-soft);margin:0 0 14px;max-width:60ch}
.gate .opts{margin-bottom:12px}
.badge{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--line);color:var(--mute);margin-left:8px;vertical-align:middle}
.badge.A{color:var(--good);border-color:var(--good)}
details.spec{margin:0 0 16px}
details.spec summary{cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);list-style:none}
details.spec summary::before{content:"+ ";color:var(--cyan)}
details[open].spec summary::before{content:"– "}
details.spec dl{margin:12px 0 0;display:grid;grid-template-columns:8rem 1fr;gap:8px 16px;padding:14px 16px;border:1px solid var(--line-soft);background:var(--surface)}
details.spec dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-dark);padding-top:3px}
details.spec dd{font-family:var(--sans);font-size:13.5px;line-height:1.55;color:var(--text-soft)}
.na{display:flex;gap:12px;align-items:center;margin:4px 0 14px;flex-wrap:wrap}
.na input[type=text]{flex:1 1 240px;width:auto}
.scorerail{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 10px}
.scorerail button{background:transparent;border:1px solid var(--line);color:var(--text-soft);padding:12px 10px;text-align:left;line-height:1.25;min-height:64px;cursor:pointer}
.scorerail button:hover{border-color:var(--cyan)}
.scorerail button b{display:block;font-family:var(--mono);font-weight:500;font-size:20px;color:var(--text)}
.scorerail button small{display:block;font-family:var(--sans);font-size:11.5px;color:var(--mute);margin-top:4px}
.scorerail button.sel{border-color:var(--cyan);background:var(--tint)}
.scorerail button.sel b{color:var(--cyan)}
.scorerail button.unreach{opacity:.42;border-style:dashed}
.scorerail button.unreach.sel{border-color:var(--amber);opacity:1;background:rgba(232,163,61,.10)}
.scorerail button.unreach.sel b{color:var(--amber)}
.standing{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;margin:10px 0 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.standing b{font-size:20px;font-weight:500;letter-spacing:0;color:var(--text);margin-left:6px}
.standing .cut{color:var(--amber);letter-spacing:.04em}
.ev{border:1px solid var(--line-soft);background:var(--surface);padding:18px 18px 16px;margin:0 0 14px}
.ev h4{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 14px}
.ev .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ev .row3{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:12px}
.ev ul{list-style:none;padding:0;margin:8px 0 0}
.ev li{display:flex;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line-soft);font-family:var(--sans);font-size:13.5px;color:var(--text-soft)}
.ev li .cls{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--cyan);min-width:3rem}
.ev li .meta{flex:1;color:var(--mute)}
.ev .cap{font-family:var(--mono);font-size:10.5px;line-height:1.6;color:var(--mute-dark);margin-top:12px}
.review{border-left:2px solid var(--amber);padding:12px 16px;margin:12px 0 0;background:rgba(232,163,61,.07)}
.review > b{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.review .row{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center}

/* ---------- data displays ---------- */
table.t,table.data{width:100%;border-collapse:collapse;margin:12px 0 4px}
table.t th,table.data th{font-family:var(--mono);font-weight:400;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-dark);text-align:left;padding:0 12px 9px 0;border-bottom:1px solid var(--line)}
table.t td,table.data td{font-family:var(--sans);font-size:13.5px;line-height:1.5;padding:11px 12px 11px 0;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--text-soft);font-variant-numeric:tabular-nums}
table.t td:first-child,table.data td.k{font-family:var(--mono);font-size:12px;color:var(--text);white-space:nowrap}
.kpis{display:grid;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin:22px 0 26px}
@media(min-width:560px){.kpis{grid-template-columns:repeat(2,1fr)}}
@media(min-width:820px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--bg);padding:18px 16px}
.kpi b{display:block;font-family:var(--mono);font-weight:500;font-size:26px;letter-spacing:-.03em;color:var(--cyan);line-height:1.1}
.kpi span{display:block;font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--text-soft);margin-top:8px}
.bars{margin:16px 0 8px}
.bar{display:grid;grid-template-columns:17rem 1fr 4.5rem;gap:14px;align-items:center;margin:0;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.bar .name{font-family:var(--sans);font-size:13.5px;color:var(--text-soft)}
.bar .name .flag{font-family:var(--mono);font-size:10px;display:block}
.bar .track{height:8px;background:var(--line-soft);position:relative;overflow:visible}
.bar .fill{height:100%;background:var(--cyan)}
.bar .capmark{position:absolute;top:-4px;width:2px;height:16px;background:var(--amber)}
.bar .v{font-family:var(--mono);font-size:14px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums}
.bar .v .flag{font-size:10.5px}
.prog{display:inline-block;width:88px;height:3px;background:var(--line-soft);vertical-align:middle;margin-right:8px}
.prog i{display:block;height:3px;background:var(--cyan)}
.pill{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border:1px solid currentColor;white-space:nowrap}
.pill.Exposed{color:var(--coral)} .pill.Building{color:var(--amber)} .pill.Managed{color:var(--cyan)} .pill.Assured{color:var(--good)}

/* ---------- responsive ---------- */
@media(max-width:820px){
  .layout{grid-template-columns:1fr}
  nav.rail{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line-soft);padding:6px var(--pad);display:flex;overflow-x:auto;gap:2px}
  nav.rail .group{display:none}
  nav.rail button{width:auto;white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:10px 12px}
  nav.rail button.active{border-bottom-color:var(--cyan);background:none}
  main{padding:22px var(--pad) 80px}
  .scorerail{gap:4px} .scorerail button{padding:10px 6px;min-height:52px} .scorerail button small{display:none}
  .ev .row,.ev .row3{grid-template-columns:1fr}
  .bar{grid-template-columns:1fr 3.5rem;grid-template-areas:"n v" "t t"}
  .bar .name{grid-area:n}.bar .track{grid-area:t}.bar .v{grid-area:v}
  details.spec dl{grid-template-columns:1fr}
  .review .row{grid-template-columns:1fr}
  .topbar .tools .save{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
  body{background:#fff!important;color:#0A1E2E}
  .topbar,nav.rail,.actions,.noprint,.toast{display:none!important}
  .layout{display:block} main{max-width:none;padding:0}
  .kpi{background:#fff} .bar .fill{background:#1B6A88} .bar .capmark{background:#8A5E10}
}

/* ---------- guided flow ---------- */
.topbar .progressbar{height:2px;background:var(--line-soft);margin-top:12px}
.topbar .progressbar i{display:block;height:2px;background:var(--cyan);transition:width .35s cubic-bezier(.16,1,.3,1)}
.topbar .prog-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.topbar .prog-label:empty{display:none}
.stephead{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}
.anchor{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--mute);margin:12px 0 0}
.choices{display:grid;gap:8px;margin-top:26px}
.choices label{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);padding:16px;cursor:pointer;font-family:var(--sans);font-size:15.5px;line-height:1.5;color:var(--text-soft);position:relative;min-height:56px;background:transparent}
.choices label::before{content:"";width:8px;height:8px;border:1px solid var(--mute-dark);transform:rotate(45deg);flex-shrink:0;margin-top:8px}
.choices label:hover{border-color:var(--cyan)}
.choices label:has(input:checked){border-color:var(--cyan);background:var(--tint);color:var(--text)}
.choices label:has(input:checked)::before{background:var(--cyan);border-color:var(--cyan)}
.choices label:has(input:disabled){cursor:default}
.choices label .k{font-family:var(--mono);font-size:11px;color:var(--mute-dark);padding-top:3px;min-width:12px}
.choices input{position:absolute;opacity:0;width:0;height:0}
.choices.dim{opacity:.4}
.na{margin:18px 0 6px}
.stepnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line-soft)}
.sub{margin:22px 0 4px}
.intro .parts{display:grid;gap:16px;margin:28px 0}
.intro .parts > div{display:flex;gap:18px;align-items:baseline}
.intro .parts b{font-family:var(--mono);font-weight:500;font-size:24px;color:var(--cyan);width:30px;flex-shrink:0}
.intro .parts span{font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--text-soft)}
.intro .parts strong{color:var(--text);font-weight:500}
.bigprog{margin:30px 0 8px;padding:18px 20px;border:1px solid var(--line-soft);background:var(--surface)}
.bigprog .lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.bigprog .mono{font-size:22px;color:var(--cyan);letter-spacing:-.02em}
.bigprog .track{height:4px;background:var(--line-soft)}
.bigprog .track i{display:block;height:4px;background:var(--cyan);transition:width .35s cubic-bezier(.16,1,.3,1)}
.bigprog .help{margin-top:10px}
.openlist{list-style:none;padding:0;display:grid;gap:6px;margin-top:12px}
.openlist li{margin:0}
.openlist button.lnk{background:none;border:1px solid var(--line-soft);padding:12px 14px;text-align:left;width:100%;color:var(--text-soft);font-family:var(--sans);font-size:14px;line-height:1.45;cursor:pointer;display:flex;flex-direction:column;gap:4px;text-transform:none;letter-spacing:0;min-height:0}
.openlist button.lnk:hover{border-color:var(--cyan)}
nav.rail button.done .s{color:var(--good)}
.ev h4 .opt,.field .l .opt{color:var(--mute-dark);margin-left:8px;letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}
.ev .row .field,.ev .row3 .field{margin:0}
.ev.resp{border-color:var(--line);margin-top:18px}
.ev.resp .meta b{color:var(--text);font-weight:500}
.ev.resp .meta i{color:var(--mute);font-style:normal;font-size:12.5px}
.adm .acts select{width:auto;min-height:44px;padding:8px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em}
details.more{margin:-8px 0 22px}
details.more summary{cursor:pointer;list-style:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
details.more summary::before{content:"+ "}
details[open].more summary::before{content:"– "}
details.more p{font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--text-soft);margin-top:12px;max-width:62ch}
details.more a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--cyan);text-decoration:none;border-bottom:1px solid var(--line)}
details.more a:hover{border-bottom-color:var(--cyan)}
details.more.why{margin:12px 0 0}
details.more.why p .mono{font-size:11px;color:var(--mute)}
