:root{
  --paper:#E7E3D7;
  --sheet:#F4F2EC;
  --ink:#16191C;
  --graphite:#555D65;
  --rod:#C99503;
  --rod-ink:#7E5D00;
  --rod-wash:#F6E9B8;
  --paint:#B8401A;
  --rule:rgba(22,25,28,.14);
  --rule-soft:rgba(22,25,28,.07);
  --shadow:0 1px 0 rgba(22,25,28,.06), 0 10px 28px -18px rgba(22,25,28,.55);
  --rail:318px;
}
:root[data-theme="night"]{
  --paper:#12161B;
  --sheet:#1A2028;
  --ink:#E6E2D7;
  --graphite:#929BA5;
  --rod:#F0BE2E;
  --rod-ink:#F0BE2E;
  --rod-wash:rgba(240,190,46,.15);
  --paint:#E8703F;
  --rule:rgba(230,226,215,.16);
  --rule-soft:rgba(230,226,215,.08);
  --shadow:0 1px 0 rgba(0,0,0,.4), 0 12px 30px -20px #000;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  touch-action:manipulation;
}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overscroll-behavior-y:contain;
}
button,input,select{font:inherit;color:inherit}
button,.icon-btn,.case-badge,.rail-item,.case-add,.copy-btn,.seg button,.row-add,.row-del{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
a{color:inherit}

/* ---------- structural type ---------- */
.eyebrow{
  font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);
}
.mono{font-family:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace}

/* ---------- masthead ---------- */
.masthead{
  position:sticky;top:0;z-index:40;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  display:flex;align-items:center;gap:14px;
  padding:11px 18px;
}
.brand{display:flex;align-items:baseline;gap:11px;min-width:0;color:inherit;text-decoration:none}
.brand-mark{
  height:26px;width:auto;flex-shrink:0;
  align-self:center;color:var(--ink);
  overflow:visible;
}
.brand-name{
  font-weight:800;font-size:15.5px;letter-spacing:-.015em;
  font-stretch:expanded;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
  margin:0;display:inline;line-height:inherit;
}
.skip-link{
  position:absolute;left:12px;top:-48px;z-index:100;
  background:var(--ink);color:var(--paper);padding:8px 12px;font-size:12px;font-weight:700;
  text-decoration:none;letter-spacing:.06em;text-transform:uppercase;
}
.skip-link:focus{top:12px;outline:2px solid var(--rod);outline-offset:2px}
.seo-primer{
  margin-left:var(--rail);max-width:920px;padding:18px 30px 0;
  border-top:1px solid var(--rule);
}
.seo-primer h2{font-size:15px;margin:0 0 8px;letter-spacing:-.02em}
.seo-primer p{margin:0;font-size:13.5px;color:var(--graphite);line-height:1.55;max-width:68ch}
.seo-primer a{color:var(--ink);font-weight:600}
.brand-sub{
  font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--graphite);font-weight:600;white-space:nowrap;
}
.masthead-tools{margin-left:auto;display:flex;align-items:center;gap:7px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}

/* ---------- masthead overflow menu ---------- */
.menu-wrap{position:relative}
.menu-btn[aria-expanded="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.menu-panel{
  position:absolute;right:0;top:calc(100% + 8px);z-index:70;
  min-width:248px;max-height:min(72vh,560px);overflow:auto;
  background:var(--sheet);border:1px solid var(--ink);
  box-shadow:var(--shadow);padding:6px;
}
.menu-panel[hidden]{display:none}
.menu-label{
  margin:8px 8px 4px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);
}
.menu-label:first-child{margin-top:4px}
.menu-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;text-align:left;background:transparent;border:0;
  padding:9px 8px;font-size:13.5px;font-weight:600;color:var(--ink);
  text-decoration:none;cursor:pointer;border-radius:4px;
}
.menu-item:hover{background:var(--rod-wash)}
.menu-item:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}
.menu-item[hidden]{display:none}
.menu-state{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:var(--graphite);border:1px solid var(--rule);padding:2px 6px;border-radius:2px;
}
.menu-toggle[aria-checked="true"] .menu-state{
  background:var(--rod);color:#16191C;border-color:var(--rod);
}
.menu-danger{color:var(--paint)}
.cloud-case-id{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;
  letter-spacing:.04em;color:var(--rod-ink);max-width:12ch;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;border:1px solid var(--rule);padding:5px 7px;border-radius:2px;
}
.cloud-case-id:not([hidden]){display:inline-block}

.seg{display:flex;border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.seg button{
  background:transparent;border:0;cursor:pointer;
  padding:6px 11px;font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--graphite);
}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.seg button:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}

.icon-btn{
  background:transparent;border:1px solid var(--rule);border-radius:4px;
  cursor:pointer;padding:6px 10px;font-size:11px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--graphite);
}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.icon-btn:focus-visible{outline:2px solid var(--rod);outline-offset:2px}
.rail-toggle{display:none}

/* ---------- layout ---------- */
.shell{display:flex;align-items:flex-start}

.rail{
  width:var(--rail);flex:0 0 var(--rail);
  position:sticky;top:53px;height:calc(100vh - 53px);
  overflow-y:auto;border-right:1px solid var(--rule);
  padding:16px 0 60px;
}
.rail-search{padding:0 16px 12px}
.rail-search input{
  width:100%;background:var(--sheet);border:1px solid var(--rule);
  border-radius:4px;padding:9px 11px;font-size:13px;
  font-family:'IBM Plex Mono',monospace;
}
.rail-search input::placeholder{color:var(--graphite)}
.rail-search input:focus{outline:2px solid var(--rod);outline-offset:-1px;border-color:transparent}

.rail-group{margin-bottom:3px}
.rail-group-head{
  display:flex;align-items:center;gap:9px;
  padding:0;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;
}
.rail-group-head-inner{display:flex;align-items:center;gap:9px;width:100%;padding:18px 16px 8px}
.rail-group:first-child .rail-group-head-inner{padding-top:4px}
.rail-group-head .num{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;
  color:var(--rod-ink);letter-spacing:.04em;
}
.rail-group-head .lbl{
  font-size:13px;letter-spacing:.085em;text-transform:uppercase;
  font-weight:800;color:var(--ink);line-height:1.25;flex-shrink:0;
}
.rail-group-head .fill{flex:1;height:1px;background:var(--rule-soft)}
.rail-group-head::after{content:"+";margin-right:16px;color:var(--graphite);font-family:'IBM Plex Mono',monospace}
.rail-group-head[aria-expanded="true"]::after{content:"\2212"}
.rail-group-head:hover{background:var(--rule-soft)}
.rail-group-items[hidden]{display:none}

.rail-item{
  display:block;width:100%;text-align:left;background:transparent;border:0;
  cursor:pointer;padding:6px 16px 6px 34px;font-size:13.5px;text-decoration:none;
  color:var(--ink);position:relative;line-height:1.35;
}
.rail-row{
  display:flex;align-items:stretch;width:100%;
}
.rail-row .rail-item{
  flex:1;min-width:0;padding-right:4px;
}
.rail-fav{
  flex:0 0 40px;align-self:stretch;border:0;background:transparent;cursor:pointer;
  color:var(--graphite);font-size:15px;line-height:1;padding:0;
  display:flex;align-items:center;justify-content:center;
}
.rail-fav:hover{color:var(--rod-ink);background:var(--rule-soft)}
.rail-fav.on{color:var(--rod-ink)}
.rail-fav:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}
.rail-item:hover{background:var(--rule-soft)}
.rail-item[aria-current="true"]{background:var(--rod-wash);font-weight:750;color:var(--ink)}
.rail-item[aria-current="true"]::before{
  content:"";position:absolute;left:16px;top:calc(50% - 3px);
  width:6px;height:6px;background:var(--rod);
}
.rail-item:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}
.rail-empty{padding:20px 16px;font-size:13px;color:var(--graphite)}
/* Lives on <body>, not inside .rail — the rail scrolls, which clips on both
   axes, so a tooltip anchored inside it would be cut off. */
.rail-tip{
  position:fixed;z-index:90;max-width:290px;
  background:var(--ink);color:var(--paper);
  padding:9px 12px;font-size:12.5px;line-height:1.45;
  border-radius:2px;box-shadow:0 10px 28px -14px rgba(0,0,0,.7);
  pointer-events:none;
}
.rail-tip[hidden]{display:none}
@media (hover:none){ .rail-tip{display:none} }

.stage{flex:1;min-width:0;padding:26px 30px 90px;max-width:920px}

.site-foot{
  margin-left:var(--rail);
  max-width:920px;
  padding:12px 30px max(20px, env(safe-area-inset-bottom));
  border-top:1px solid var(--rule);
  font-size:12px;color:var(--graphite);line-height:1.5;
  display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap;
}
.site-foot .foot-nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none}
.site-foot .foot-nav a{font-weight:700}
/* Full-width basis forces the note onto its own line under the links, so it
   wraps across the footer instead of into a narrow column beside them. */
.site-foot .foot-note{margin:0;flex:1 1 100%;min-width:0;opacity:.85;max-width:none}
.site-foot a{
  color:var(--ink);font-weight:600;text-decoration:underline;
  text-underline-offset:2px;
}
.site-foot a:hover{color:var(--rod-ink)}
.site-foot a:focus-visible{outline:2px solid var(--rod);outline-offset:2px}

/* ---------- worksheet card ---------- */
.sheet{
  background:var(--sheet);border:1px solid var(--rule);
  box-shadow:var(--shadow);border-radius:2px;overflow:hidden;
}
/* signature: engineer's scale tick strip */
.tickrule{
  height:13px;border-bottom:1px solid var(--rule);
  background-image:
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 40px);
  background-size:100% 4px, 100% 8px;
  background-position:0 0, 0 0;
  background-repeat:repeat-x;
  opacity:.32;
}

.sheet-head{padding:18px 24px 16px;border-bottom:1px solid var(--rule)}
.sheet-cat{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.sheet-cat .num{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;color:var(--rod-ink)}
.sheet-title{
  font-size:26px;font-weight:800;letter-spacing:-.025em;line-height:1.1;
  margin:0 0 10px;text-wrap:balance;
}
.sheet-desc{font-size:14.5px;color:var(--graphite);max-width:64ch;margin:0;text-wrap:pretty}

.formula-board{
  margin:14px 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.4), transparent 42%),
    var(--paper);
  border:1px solid var(--rule);
  border-left:3px solid var(--rod);
  border-radius:2px;
  padding:14px 16px 12px;
}
:root[data-theme="night"] .formula-board{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 42%),
    var(--paper);
}
.formula-math{
  text-align:center;
  padding:6px 2px 12px;
  overflow-x:auto;
  color:var(--ink);
}
.formula-math .katex{font-size:1.28em;color:var(--ink)}
.formula-math .katex-display{margin:0.2em 0}
.formula-explain{
  border-top:1px dashed var(--rule);
  padding-top:11px;
  margin-top:2px;
}
.formula-explain > summary{
  list-style:none;cursor:pointer;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);
  padding:4px 0 6px;min-height:36px;display:flex;align-items:center;
  user-select:none;-webkit-user-select:none;
}
.formula-explain > summary::-webkit-details-marker{display:none}
.formula-explain > summary::before{
  content:"+";
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;margin-right:8px;
  border:1px solid var(--rule);border-radius:2px;
  font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;
  color:var(--rod-ink);letter-spacing:0;flex-shrink:0;
}
.formula-explain[open] > summary::before{content:"\2212"}
.formula-plain{
  font-family:'IBM Plex Mono',monospace;font-size:13.5px;font-weight:500;
  color:var(--ink);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;
}
.formula-where{
  margin-top:8px;font-size:13px;color:var(--graphite);line-height:1.45;max-width:72ch;
}

/* legacy class kept for print packs */
.formula-strip{
  margin:14px 0 0;padding:13px 15px;
  background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  font-family:'IBM Plex Mono',monospace;font-size:15.5px;font-weight:500;
  overflow-x:auto;white-space:pre;line-height:1.6;
}

.sheet-body{padding:20px 24px 24px}

.block-label{
  display:flex;align-items:center;gap:9px;margin:0 0 12px;
}
.block-label .lbl{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);
}
.block-label .fill{flex:1;height:1px;background:var(--rule)}

.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:13px;align-items:stretch}
.fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:flex;flex-direction:column;min-width:0}
.field-full{grid-column:1/-1}
.field .input-wrap{flex:0 0 auto}
.field label{display:block;font-size:13px;font-weight:650;margin-bottom:5px;flex:1 0 auto}
.field .sym{font-family:'IBM Plex Mono',monospace;color:var(--rod-ink);font-weight:600}
.field .hint{display:block;font-weight:400;font-size:11.5px;color:var(--graphite);margin-top:2px}
.input-wrap{display:flex;flex:0 0 auto;border:1px solid var(--rule);border-radius:4px;background:var(--paper);overflow:hidden}
.input-wrap:focus-within{outline:2px solid var(--rod);outline-offset:-1px}
.input-wrap input,.input-wrap select{
  flex:1;min-width:0;background:transparent;border:0;padding:9px 11px;
  font-family:'IBM Plex Mono',monospace;font-size:14.5px;
}
.input-wrap input:focus,.input-wrap select:focus{outline:none}
.input-wrap select{cursor:pointer;padding-right:6px;line-height:1.5}
.unit-chip{
  display:flex;align-items:center;padding:0 10px;
  border-left:1px solid var(--rule);
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--graphite);
  background:var(--rule-soft);white-space:nowrap;
}
.input-source{display:inline-flex;margin-left:6px;padding:1px 5px;border:1px solid var(--rule);border-radius:999px;font:600 9.5px/1.4 'IBM Plex Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);vertical-align:1px}
.field-error{display:block;margin-top:4px;color:var(--paint);font-size:12px;font-weight:650}
.field-error[hidden]{display:none}
.input-wrap.invalid{border-color:var(--paint);box-shadow:0 0 0 1px var(--paint)}
.uncertainty{margin-top:4px}.uncertainty summary{cursor:pointer;color:var(--graphite);font-size:11.5px}.uncertainty-placeholder{visibility:hidden;font-size:11.5px;line-height:1.5;pointer-events:none}.uncertainty-row{display:flex;align-items:center;gap:7px;margin-top:5px}.uncertainty-row input{width:90px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);padding:6px 8px;font-family:'IBM Plex Mono',monospace}.uncertainty-row span{font-size:11.5px;color:var(--graphite)}

/* repeatable rows */
.rows{display:flex;flex-direction:column;gap:9px}
.row-line{display:flex;gap:9px;align-items:flex-end}
.row-line .row-n{
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--graphite);
  padding-bottom:11px;width:22px;flex-shrink:0;
}
.row-line .field{flex:1;min-width:0;justify-content:flex-end}
.row-del{
  background:transparent;border:1px solid var(--rule);border-radius:2px;
  cursor:pointer;padding:9px 10px;color:var(--graphite);line-height:1;
  font-size:14px;margin-bottom:0;
}
.row-del:hover{border-color:var(--paint);color:var(--paint)}
.row-add{
  margin-top:10px;background:transparent;border:1px dashed var(--rule);
  border-radius:2px;cursor:pointer;padding:8px 14px;font-size:11.5px;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite);
}
.row-add:hover{border-color:var(--ink);color:var(--ink)}

/* results */
.result-bar{
  margin-top:22px;border:1.5px solid var(--ink);border-radius:2px;
  display:flex;flex-wrap:wrap;
}
.result-cell{
  flex:1 1 160px;padding:15px 18px;border-right:1px solid var(--rule);
}
.result-cell:last-child{border-right:0}
.result-cell .rl{
  font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);margin-bottom:5px;
}
.result-cell .rv{
  font-family:'IBM Plex Mono',monospace;font-size:29px;font-weight:600;
  line-height:1.05;letter-spacing:-.02em;
  background:linear-gradient(transparent 62%, var(--rod-wash) 62%);
  display:inline;font-variant-numeric:tabular-nums;
}
.result-cell .ru{
  font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--graphite);
  margin-left:5px;
}
.result-cell .rv-dual{
  display:block;margin-top:4px;
  font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;
  color:var(--graphite);letter-spacing:0;
}
.field .unit-alt{
  display:block;margin-top:3px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--graphite);
}
.result-cell.bad .rv{background:none;color:var(--paint);font-size:19px}
.pulse{animation:pulse .32s ease-out}
@keyframes pulse{from{background-color:var(--rod-wash)}to{background-color:transparent}}

.extras{
  display:flex;flex-wrap:wrap;gap:0;margin-top:-1px;
  border:1px solid var(--rule);border-top:0;
}
.extras .ex{
  flex:1 1 145px;padding:10px 18px;border-right:1px solid var(--rule);
}
.extras .ex:last-child{border-right:0}
.extras .exl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--graphite)}
.extras .exv{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:500;margin-top:2px;font-variant-numeric:tabular-nums}
.result-empty{margin-top:22px;padding:20px;border:1px dashed var(--rule);border-left:3px solid var(--rod);background:var(--paper)}
.result-empty h2{margin:0 0 5px;font-size:18px;letter-spacing:-.01em;text-wrap:balance}
.result-empty p{margin:0;color:var(--graphite);font-size:14px}
.result-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:22px}
.result-actions .fill{flex:1}
.provenance-badge{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 8px;border:1px solid var(--rule);border-radius:999px;color:var(--graphite);font-size:11px;font-weight:650}

/* worked solution: the signature block */
.solution{margin-top:16px;border-top:1px solid var(--rule);padding-top:10px}
.solution>summary{cursor:pointer;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:8px 0}
.solution>summary::marker{color:var(--rod-ink)}
.solution-head{display:flex;align-items:center;gap:9px;margin-bottom:11px;flex-wrap:wrap}
.solution-head .lbl{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:var(--graphite);
}
.solution-head .fill{flex:1;height:1px;background:var(--rule)}
.copy-btn{
  background:var(--ink);color:var(--paper);border:0;border-radius:4px;
  cursor:pointer;padding:6px 12px;font-size:10.5px;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;
}
.copy-btn:hover{background:var(--rod);color:var(--ink)}
.copy-btn:focus-visible{outline:2px solid var(--rod);outline-offset:2px}
.solution-body{
  background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  padding:15px 18px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;
  line-height:1.85;white-space:pre-wrap;overflow-x:auto;
}
.solution-body .sub{color:var(--graphite)}
.solution-body .fin{font-weight:600;background:var(--rod-wash);padding:1px 4px}

/* notes */
.notes{margin-top:22px;display:flex;flex-direction:column;gap:9px}
.note{
  display:flex;gap:11px;font-size:13.5px;line-height:1.55;
  padding:11px 14px;border-left:3px solid var(--rule);background:var(--paper);
}
.note.warn{border-left-color:var(--paint)}
.note .tag{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);
  flex:0 0 auto;white-space:nowrap;padding-top:2px;
}
.note.warn .tag{color:var(--paint)}

.srcline{
  margin-top:24px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:12.5px;color:var(--graphite);
}
.srcline b{color:var(--ink);font-weight:600}

/* reference tables */
.reftable{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px}
.reftable th{
  text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--graphite);font-weight:700;padding:8px 12px 8px 0;
  border-bottom:1.5px solid var(--ink);
}
.reftable td{padding:8px 12px 8px 0;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.reftable td.n{font-family:'IBM Plex Mono',monospace;white-space:nowrap}
.reftable tbody tr:hover{background:var(--rule-soft)}
.refnote{font-size:13px;color:var(--graphite);margin:18px 0 0;max-width:68ch}

/* geocoder controls */
.geo-row{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end;margin-top:14px}
.geo-row .field{flex:0 1 210px}
.geo-note{font-size:12px;color:var(--graphite);margin-top:10px;line-height:1.5}
.sugg-host{position:relative}
.sugg{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--sheet);
  border:1px solid var(--ink);border-top:0;max-height:250px;overflow-y:auto;box-shadow:var(--shadow)}
.sugg button{display:block;width:100%;text-align:left;background:transparent;border:0;
  cursor:pointer;padding:9px 12px;font-size:13px;line-height:1.35;color:var(--ink);
  border-bottom:1px solid var(--rule-soft)}
.sugg button:last-child{border-bottom:0}
.sugg button:hover,.sugg button.on{background:var(--rod-wash)}
.sugg button:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}
.match{display:flex;flex-direction:column;gap:3px;width:100%}
.match .ml{font-size:13.5px;line-height:1.35}
.match .mt{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--graphite)}
.match .mt.coarse{color:var(--paint)}
.ident{margin-top:14px;padding:11px 14px;border-left:3px solid var(--rule);background:var(--paper);
  font-size:13px;line-height:1.5}
.ident b{font-weight:700}

/* scene map */
.smap{border:1px solid var(--rule);border-radius:2px;overflow:hidden;background:var(--paper)}
.smap-bar{display:flex;align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid var(--rule);background:var(--sheet)}
.smap-seg{display:flex;border:1px solid var(--rule);border-radius:2px;overflow:hidden}
.smap-seg button{background:transparent;border:0;cursor:pointer;padding:5px 11px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite);font-family:'Archivo',sans-serif}
.smap-seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.smap-seg button:hover{color:var(--ink)}
.smap-seg button[aria-pressed="true"]:hover{color:var(--paper)}
.smap-seg button:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}
.smap-z{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--graphite)}
.smap-view{position:relative;height:360px;overflow:hidden;cursor:crosshair;touch-action:none;background:#20262e}
.smap-view.dragging{cursor:grabbing}
.smap-canvas{position:absolute;inset:0}
.smap-tile{position:absolute;top:0;left:0;width:256px;height:256px;user-select:none;-webkit-user-drag:none}
.smap-marker{position:absolute;top:0;left:0;margin:-37px 0 0 -13px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.smap-scale{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.85);padding:3px 8px;border-radius:2px;pointer-events:none}
.smap-scale-bar{display:block;height:7px;border:1.5px solid #16191C;border-top:0;min-width:20px}
.smap-scale-lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#16191C;white-space:nowrap}
.smap-attr{position:absolute;right:0;bottom:0;background:rgba(255,255,255,.85);color:#16191C;font-size:10px;padding:2px 7px;pointer-events:none;max-width:70%;text-align:right}
.smap-meas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.smap-acc{position:absolute;top:0;left:0;border-radius:50%;background:rgba(184,64,26,.16);border:1.5px solid rgba(184,64,26,.55);pointer-events:none;box-sizing:border-box}
.loc-btns{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px;align-items:center}
.loc-btns .icon-btn[disabled]{opacity:.5;cursor:progress}
.smap-hint{padding:9px 11px;font-size:12.5px;color:var(--graphite);border-top:1px solid var(--rule);background:var(--sheet)}
@media (max-width:900px){ .smap-view{height:290px} .smap-bar{flex-wrap:wrap} .smap-z{margin-left:0} }

.vizbox{margin-top:22px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);padding:12px 10px}
.vizbox svg{display:block}
/* case file document */
.print-doc{margin-top:34px;border-top:2px solid var(--ink);padding-top:22px}
.pd-head{margin-bottom:6px}
.pd-brand{font-size:11px;color:var(--graphite);letter-spacing:.06em;margin:-8px 0 12px}
.pd-title{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:14px}
.pd-meta{border-collapse:collapse;font-size:13px;margin-bottom:8px}
.pd-meta th{text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);font-weight:700;padding:3px 16px 3px 0;white-space:nowrap;vertical-align:top}
.pd-meta td{padding:3px 0;font-family:'IBM Plex Mono',monospace}
.pd-notes{margin:16px 0}
.pd-entry{margin-top:26px;padding-top:18px;border-top:1px solid var(--rule)}
.pd-entry h2{font-size:16.5px;font-weight:800;margin:0 0 3px;letter-spacing:-.015em}
.pd-num{font-family:'IBM Plex Mono',monospace;color:var(--rod-ink);margin-right:9px;font-size:13px}
.pd-sub{font-size:11.5px;color:var(--graphite);margin-bottom:11px}
.print-doc h3{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--graphite);font-weight:700;margin:15px 0 6px}
.pd-formula{font-family:'IBM Plex Mono',monospace;font-size:13px;background:var(--paper);border:1px solid var(--rule);padding:9px 12px;margin:0;white-space:pre-wrap;border-radius:2px}
.pd-tbl{border-collapse:collapse;width:100%;font-size:13px}
.pd-tbl th{text-align:left;font-weight:500;color:var(--graphite);padding:4px 14px 4px 0;width:44%;vertical-align:top}
.pd-tbl td{padding:4px 0;font-family:'IBM Plex Mono',monospace;vertical-align:top}
.pd-tbl em{color:var(--rod-ink);font-style:normal;font-family:'IBM Plex Mono',monospace}
.pd-result td b{font-weight:600}
.pd-work{font-family:'IBM Plex Mono',monospace;font-size:12.5px;line-height:1.75;background:var(--paper);border:1px solid var(--rule);padding:11px 13px;margin:0;white-space:pre-wrap;overflow-x:auto;border-radius:2px}
.pd-notes-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55}
.pd-notes-list li{margin-bottom:5px}
.pd-notes-list li.warn{color:var(--paint)}
.pd-foot{margin-top:28px;padding-top:16px;border-top:2px solid var(--ink);font-size:12.5px;color:var(--graphite)}
.case-add{display:inline-flex;align-items:center;gap:7px;background:var(--rod);border:1.5px solid var(--rod);border-radius:2px;cursor:pointer;padding:8px 15px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#16191C;box-shadow:0 1px 0 rgba(22,25,28,.22)}
.case-add::before{content:"+";font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:600;line-height:1;margin-top:-1px}
.case-add:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.case-add:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
:root[data-theme="night"] .case-add:hover{color:var(--ink);background:#fff;border-color:#fff}
.toolbar-row{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:18px;
}
.mode-note{flex:1;min-width:0;margin:0}
.action-menu{position:relative}
.action-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--rule);border-radius:4px;padding:7px 10px;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.action-menu>summary::-webkit-details-marker{display:none}
.action-menu>summary::after{content:" ▾"}
.action-menu[open]>summary{border-color:var(--ink);color:var(--ink)}
.action-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:12;display:grid;gap:3px;min-width:210px;padding:6px;background:var(--sheet);border:1px solid var(--ink);box-shadow:var(--shadow)}
.action-menu-panel button{width:100%;text-align:left;border:0;background:transparent;border-radius:4px;padding:9px 10px;cursor:pointer;font-size:13px;font-weight:650;color:var(--ink)}
.action-menu-panel button:hover{background:var(--rod-wash)}
.case-status{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:13px 15px;border:1px solid var(--rule);background:var(--paper)}
.case-status>div{display:grid;gap:1px}.case-status strong{font-size:17px}.case-status span{font-size:12.5px;color:var(--graphite)}
.case-hero{margin:-20px -24px 0;padding:28px 24px 0;background:var(--ink);color:var(--paper)}
.case-hero .eyebrow{color:var(--rod)}
.case-hero-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding-bottom:25px}
.case-hero h2{font-size:29px;line-height:1.05;letter-spacing:-.035em;margin:8px 0 8px;overflow-wrap:anywhere}
.case-hero-copy>p{font-size:12.5px;line-height:1.5;color:rgba(244,242,236,.66);margin:0;max-width:58ch}
.case-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.case-hero-action{min-height:43px;border:1px solid rgba(255,255,255,.32);border-radius:2px;background:transparent;color:var(--paper);padding:9px 14px;cursor:pointer;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.075em}.case-hero-action.primary{background:var(--rod);border-color:var(--rod);color:#16191C}.case-hero-action:hover{border-color:var(--rod);color:var(--rod)}.case-hero-action.primary:hover{background:#E8B746;color:#16191C}.case-hero-action:focus-visible{outline:2px solid var(--rod);outline-offset:3px}
.case-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.24);border-left:1px solid rgba(255,255,255,.24)}.case-hero-metrics>div{padding:14px 16px;border-right:1px solid rgba(255,255,255,.24)}.case-hero-metrics strong,.case-hero-metrics span{display:block}.case-hero-metrics strong{font:650 16px 'IBM Plex Mono',monospace;color:var(--paper);overflow-wrap:anywhere}.case-hero-metrics span{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:rgba(244,242,236,.52);margin-top:4px}
.case-hero-notice{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-top:1px solid rgba(255,255,255,.24);font-size:11.5px;line-height:1.5;color:rgba(244,242,236,.68)}.case-hero-notice .tag{flex:0 0 auto;color:var(--rod)}
.case-action-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 -24px;padding:14px 24px;border-bottom:1px solid var(--rule);background:var(--paper)}.case-action-bar-copy strong,.case-action-bar-copy span{display:block}.case-action-bar-copy strong{font-size:12.5px}.case-action-bar-copy span{font-size:10.5px;color:var(--graphite);margin-top:2px}.case-action-menus{display:flex;gap:7px;align-items:center}.case-action-menus .action-menu>summary{min-height:39px;display:flex;align-items:center}.case-action-menus .action-menu-panel{min-width:230px}
.case-action-feedback:empty{display:none}.case-action-feedback:not(:empty){margin:14px 0}
.case-details-panel,.case-worksheets-section{padding:38px 0 5px}.case-details-panel{margin:0 -24px;padding:38px 24px;background:var(--paper);border-bottom:1px solid var(--rule)}
.case-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;margin-bottom:20px}.case-section-head h2,.case-preview-head h2{font-size:24px;line-height:1.08;letter-spacing:-.03em;margin:7px 0 0}.case-section-copy{display:grid;gap:3px;max-width:310px}.case-section-copy strong{font-size:12.5px}.case-section-copy span{font-size:11px;line-height:1.45;color:var(--graphite)}.case-notes-field{margin-top:13px}.case-section-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.case-section-actions .copy-btn{min-height:42px}
.case-entry-list{display:grid;gap:10px}.case-empty{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;padding:23px;border:1px dashed var(--rule);background:var(--paper)}.case-empty-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--rod);color:var(--rod-ink);font:400 25px 'IBM Plex Mono',monospace}.case-empty strong{display:block;font-size:14px}.case-empty p{font-size:12.5px;line-height:1.5;color:var(--graphite);margin:4px 0 0;max-width:70ch}.case-empty .copy-btn{min-height:42px}
.case-entry-card{padding:16px 17px;border:1px solid var(--rule);border-left:4px solid var(--ink);background:var(--paper)}.case-entry-head{display:grid;grid-template-columns:36px minmax(180px,1fr) auto auto;gap:11px;align-items:center}.case-entry-num{font:650 11px 'IBM Plex Mono',monospace;color:var(--rod-ink)}.case-entry-head h3{font-size:14.5px;line-height:1.3;margin:0}.case-entry-result{font:600 12.5px 'IBM Plex Mono',monospace;padding:4px 8px;background:var(--rod-wash);white-space:nowrap}.case-entry-controls{display:flex;gap:4px}.case-entry-meta{font-size:10.5px;color:var(--graphite);margin:7px 0 0 47px}.case-entry-warning{font-size:11px;color:var(--paint);margin:5px 0 0 47px;font-weight:700}
.case-preview-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:40px;padding-top:30px;border-top:1px solid var(--rule)}.case-preview-head .copy-btn{min-height:42px}.case-report-preview{position:relative;transition:max-height .2s ease}.case-report-preview.is-collapsed{max-height:430px;overflow:hidden}.case-report-preview.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to bottom,rgba(244,242,236,0),var(--sheet));pointer-events:none}
.workbench-guide{margin:-20px -24px 0;padding:28px 24px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:34px;align-items:end}
.workbench-guide .eyebrow,.workbench-resources .eyebrow{color:var(--rod)}
.workbench-guide h2{font-size:25px;line-height:1.08;letter-spacing:-.03em;margin:8px 0 0;max-width:390px}
.workbench-guide-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.workbench-guide-steps li{border-top:1px solid rgba(255,255,255,.28);padding-top:11px;min-width:0}
.workbench-guide-steps .workbench-step-num{display:block;color:var(--rod);font:600 10px 'IBM Plex Mono',monospace;margin-bottom:18px}
.workbench-guide-steps strong,.workbench-guide-steps li>span:last-child{display:block}
.workbench-guide-steps strong{font-size:13px}.workbench-guide-steps li>span:last-child{color:rgba(244,242,236,.65);font-size:11.5px;line-height:1.45;margin-top:5px}
.workbench-case-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:22px;margin:24px 0 42px;padding:24px;border:1px solid var(--rule);border-left:4px solid var(--rod);background:var(--paper)}
.workbench-case-identity h2{font-size:23px;line-height:1.1;letter-spacing:-.025em;margin:7px 0}.workbench-case-identity p{font-size:13px;color:var(--graphite);margin:0;max-width:48ch}
.workbench-case-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule)}
.workbench-case-metrics div{padding:12px;border-right:1px solid var(--rule);min-width:0}.workbench-case-metrics div:last-child{border-right:0}.workbench-case-metrics strong,.workbench-case-metrics span{display:block}.workbench-case-metrics strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}.workbench-case-metrics span{font-size:10.5px;line-height:1.35;color:var(--graphite);margin-top:4px}
.workbench-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1;margin-top:-4px}.workbench-actions button{min-height:44px}
.workbench-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.6fr);gap:30px;align-items:end;margin-bottom:18px}.workbench-section-head h2{font-size:25px;line-height:1.1;letter-spacing:-.03em;margin:7px 0 0}.workbench-section-head>p{color:var(--graphite);font-size:13px;margin:0}
.workbench-search-row{display:flex;align-items:center;gap:12px;margin-bottom:15px}.workbench-search{width:100%;min-height:50px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);padding:12px 15px;font-family:'IBM Plex Mono',monospace}.workbench-search:focus{outline:2px solid var(--rod);outline-offset:-1px;border-color:transparent}.workbench-result-count{flex:0 0 auto;font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--graphite)}
.workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:34px}.workbench-card{position:relative;display:flex;flex-direction:column;min-height:226px;text-align:left;text-decoration:none;border:1px solid var(--rule);border-top:4px solid var(--ink);border-radius:2px;padding:18px;background:var(--paper);cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s}.workbench-card:hover{border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-2px)}.workbench-card:focus-visible{outline:3px solid var(--rod);outline-offset:2px}.workbench-card-top{display:flex!important;align-items:start;justify-content:space-between;gap:12px;margin-bottom:24px}.workbench-card-kicker,.workbench-card-rank{font:600 9.5px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.09em}.workbench-card-kicker{color:var(--graphite)}.workbench-card-rank{color:var(--rod-ink)}.workbench-card strong{display:block;font-size:17px;line-height:1.2;margin-bottom:8px}.workbench-card-desc{display:block;color:var(--graphite);font-size:12.5px;line-height:1.5}.workbench-card-action{display:block;color:var(--ink);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:auto;padding-top:18px}.workbench-card:hover .workbench-card-action{color:var(--rod-ink)}
.workbench-empty{grid-column:1/-1;border:1px dashed var(--rule);padding:24px}.workbench-empty strong,.workbench-empty span{display:block}.workbench-empty span{color:var(--graphite);font-size:13px;margin-top:4px}
.workbench-saved{margin-top:8px}.workbench-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.workbench-card-compact{min-height:140px;padding:16px}.workbench-card-compact .workbench-card-kicker{margin-bottom:18px}.workbench-card-compact strong{font-size:14px}.workbench-card-compact .workbench-card-action{padding-top:12px}
.workbench-resources{margin:12px -24px -24px;padding:25px 24px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:32px;align-items:end}.workbench-resources h2{font-size:22px;line-height:1.1;letter-spacing:-.025em;margin:7px 0 0}.workbench-resource-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.24)}.workbench-resource-links a{padding:13px;color:var(--paper);font-size:11.5px;font-weight:700;text-decoration:none;border-right:1px solid rgba(255,255,255,.24)}.workbench-resource-links a:last-child{border-right:0}.workbench-resource-links a:hover{background:var(--rod);color:#16191C}.workbench-resource-links a:focus-visible{outline:2px solid var(--rod);outline-offset:-3px}
.help-hero{margin:-20px -24px 0;padding:30px 24px 26px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:38px;align-items:end}
.help-hero .eyebrow,.help-resources .eyebrow{color:var(--rod)}
.help-hero h2{font-size:29px;line-height:1.05;letter-spacing:-.035em;margin:8px 0 10px;max-width:490px}
.help-hero-copy>p{color:rgba(244,242,236,.68);font-size:13px;line-height:1.55;max-width:57ch;margin:0}
.help-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.help-hero-action{min-height:42px;border:1px solid rgba(255,255,255,.32);border-radius:2px;background:transparent;color:var(--paper);padding:9px 13px;cursor:pointer;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.help-hero-action.primary{background:var(--rod);border-color:var(--rod);color:#16191C}.help-hero-action:hover{border-color:var(--rod);color:var(--rod)}.help-hero-action.primary:hover{background:#E8B746;color:#16191C}.help-hero-action:focus-visible{outline:2px solid var(--rod);outline-offset:3px}
.help-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.help-flow li{border-top:1px solid rgba(255,255,255,.26);padding-top:10px;min-width:0}.help-flow-num{display:block;color:var(--rod);font:600 9.5px 'IBM Plex Mono',monospace;margin-bottom:12px}.help-flow strong,.help-flow li>span:last-child{display:block}.help-flow strong{font-size:12.5px}.help-flow li>span:last-child{font-size:11px;line-height:1.45;color:rgba(244,242,236,.62);margin-top:4px}
.help-jump-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 -24px;padding:12px 24px;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:95px;z-index:4}
.help-jump-label{font:700 9.5px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--graphite);margin-right:4px}.help-jump{border:0;background:transparent;color:var(--ink);padding:7px 9px;cursor:pointer;font-size:11px;font-weight:750}.help-jump:hover{background:var(--rod-wash);color:var(--rod-ink)}.help-jump:focus-visible{outline:2px solid var(--rod);outline-offset:1px}
.help-section{scroll-margin-top:160px;padding:42px 0 8px}.help-section-tint{margin:26px -24px 0;padding:38px 24px;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.help-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);gap:30px;align-items:end;margin-bottom:20px}.help-section-head h2{font-size:25px;line-height:1.08;letter-spacing:-.03em;margin:7px 0 0}.help-section-head>p{color:var(--graphite);font-size:12.5px;line-height:1.5;margin:0}
.help-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.help-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:17px;padding:16px 0;border-bottom:1px solid var(--rule)}.help-step-num{font:600 11px 'IBM Plex Mono',monospace;color:var(--rod-ink);padding-top:2px}.help-steps strong{display:block;font-size:14px}.help-steps p{font-size:12.5px;line-height:1.5;color:var(--graphite);margin:4px 0 0;max-width:72ch}
.help-storage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.help-storage-card{display:flex;flex-direction:column;min-height:220px;padding:18px;border:1px solid var(--rule);border-top:4px solid var(--ink);background:var(--sheet)}.help-card-kicker,.help-card-meta{font:650 9.5px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.help-card-kicker{color:var(--graphite)}.help-storage-card h3{font-size:16px;line-height:1.2;margin:20px 0 7px}.help-storage-card p{font-size:12px;line-height:1.55;color:var(--graphite);margin:0}.help-card-meta{color:var(--rod-ink);margin-top:auto;padding-top:18px}
.help-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.help-inline-actions .copy-btn{min-height:42px}
.help-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.help-export-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:17px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}.help-export-format{font:700 10px 'IBM Plex Mono',monospace;letter-spacing:.07em;color:var(--rod-ink)}.help-export-card strong{display:block;font-size:13.5px}.help-export-card p{font-size:11.5px;line-height:1.5;color:var(--graphite);margin:4px 0 0}
.help-alert,.help-field-note{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;line-height:1.5}.help-alert{margin-top:14px;padding:14px 15px;border-left:4px solid var(--rod);background:var(--rod-wash)}.help-alert .tag,.help-field-note .tag{flex:0 0 auto}
.help-quality{margin:34px -24px 0;padding:38px 24px;background:var(--ink);color:var(--paper)}.help-quality .eyebrow{color:var(--rod)}.help-quality .help-section-head>p{color:rgba(244,242,236,.65)}.help-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}.help-quality-card{min-height:172px;padding:16px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.help-quality-num{display:block;color:var(--rod);font:600 9.5px 'IBM Plex Mono',monospace;margin-bottom:25px}.help-quality-card strong{display:block;font-size:13.5px}.help-quality-card p{font-size:11.5px;line-height:1.5;color:rgba(244,242,236,.64);margin:5px 0 0}.help-quality .copy-btn{border-color:rgba(255,255,255,.34);color:var(--paper);background:transparent}.help-quality .copy-btn:hover{border-color:var(--rod);color:var(--rod)}
.help-tools-section{padding-bottom:30px}.help-tool-search-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.help-tool-search{width:100%;min-height:50px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);padding:12px 15px;font:13px 'IBM Plex Mono',monospace}.help-tool-search:focus{outline:2px solid var(--rod);outline-offset:-1px;border-color:transparent}.help-tool-count{flex:0 0 auto;font:600 9.5px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--graphite)}
.help-tool-groups{display:grid;gap:8px}.help-tool-group{border:1px solid var(--rule);background:var(--paper)}.help-tool-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:12px 15px;cursor:pointer}.help-tool-group>summary::-webkit-details-marker{display:none}.help-tool-group>summary>span:first-child{display:flex;align-items:center;gap:12px}.help-tool-group>summary::after{content:"+";font:500 20px 'IBM Plex Mono',monospace;color:var(--rod-ink);margin-left:4px}.help-tool-group[open]>summary::after{content:"−"}.help-tool-group>summary:hover{background:var(--rod-wash)}.help-tool-group>summary:focus-visible{outline:2px solid var(--rod);outline-offset:-2px}.help-tool-cat-num{font:650 10px 'IBM Plex Mono',monospace;color:var(--rod-ink)}.help-tool-group>summary strong{font-size:12.5px}.help-tool-cat-count{margin-left:auto;font:600 9.5px 'IBM Plex Mono',monospace;color:var(--graphite);text-transform:uppercase;letter-spacing:.06em}
.help-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 8px 8px;gap:1px;background:var(--rule);border-top:1px solid var(--rule)}.help-tool-link{display:flex;flex-direction:column;align-items:flex-start;min-height:92px;border:0;background:var(--sheet);color:var(--ink);padding:14px;text-align:left;cursor:pointer}.help-tool-link strong{font-size:12.5px;line-height:1.35}.help-tool-link span{font-size:10.5px;line-height:1.45;color:var(--graphite);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.help-tool-link:hover{background:var(--rod-wash)}.help-tool-link:focus-visible{position:relative;z-index:1;outline:2px solid var(--rod);outline-offset:-2px}.help-tool-empty{padding:24px;border:1px dashed var(--rule);background:var(--paper)}.help-tool-empty strong,.help-tool-empty span{display:block}.help-tool-empty span{font-size:12.5px;color:var(--graphite);margin-top:4px}
.help-resources{margin:10px -24px 0;padding:25px 24px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:32px;align-items:end}.help-resources h2{font-size:22px;line-height:1.1;letter-spacing:-.025em;margin:7px 0 0}.help-resource-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.24)}.help-resource-links a{padding:13px;color:var(--paper);font-size:11.5px;font-weight:700;text-decoration:none;border-right:1px solid rgba(255,255,255,.24)}.help-resource-links a:last-child{border-right:0}.help-resource-links a:hover{background:var(--rod);color:#16191C}.help-resource-links a:focus-visible{outline:2px solid var(--rod);outline-offset:-3px}.help-field-note{margin:0 -24px -24px;padding:18px 24px;border-top:1px solid rgba(255,255,255,.2);background:var(--ink);color:rgba(244,242,236,.72)}
.case-badge{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--rule);border-radius:2px;cursor:pointer;padding:6px 11px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite)}
.case-badge:hover{border-color:var(--ink);color:var(--ink)}
.case-badge:focus-visible{outline:2px solid var(--rod);outline-offset:2px}
.case-badge .cb-n{font-family:'IBM Plex Mono',monospace;font-weight:600;background:var(--rod);color:#16191C;padding:1px 6px;border-radius:2px;font-size:11px;letter-spacing:0}
.case-badge.empty .cb-n{background:var(--rule);color:var(--graphite)}
.case-badge[aria-current="true"],
.icon-btn[aria-current="true"]{
  border-color:var(--ink);color:var(--ink);background:var(--rod-wash);
}
@media print{
  .print-doc{border-top:0;margin-top:0;padding-top:0}
  .case-hero,.case-action-bar,.case-details-panel,.case-worksheets-section,.case-preview-head{display:none!important}
  .case-report-preview{max-height:none!important;overflow:visible!important}
  .case-report-preview::after{display:none!important}
  .pd-entry{page-break-inside:avoid;break-inside:avoid}
  .pd-work,.pd-formula{background:#fff;border:1px solid #999}
  .sheet-head,.sheet-body>.block-label,.sheet-body>.fields,.sheet-body>.field,.sheet-body>.note,.sheet-body>div>button,.print-doc~*{display:none!important}
  .sheet-body>div:not(.print-doc){display:none!important}
  .print-doc{display:block!important}
  .print-doc.court-pack{counter-reset:pg}
  .print-doc.court-pack .pd-entry,
  .print-doc.court-pack .pd-cover,
  .print-doc.court-pack .pd-coc{page-break-after:always;break-after:page}
  .print-doc.court-pack .pd-pagefoot{
    display:block!important;position:running(pagefoot);
    font-size:10px;color:#444;margin-top:18px;border-top:1px solid #999;padding-top:6px;
  }
  .print-doc.court-pack .pd-pagefoot:after{counter-increment:pg; content:"Page " counter(pg);}
}
.note a.cite-link{color:var(--ink);font-weight:600;margin-left:6px;font-size:11.5px}
.pd-coc{margin:22px 0;padding:16px;border:1.5px solid var(--ink)}
.pd-coc h3{margin:0 0 10px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.pd-coc .signline{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12.5px}
.pd-coc .signline div{border-top:1px solid var(--rule);padding-top:6px;min-height:48px}

.vtable td{vertical-align:top}
.vsrc{display:block;font-size:11.5px;color:var(--graphite);margin-top:2px;max-width:46ch}
.vmark{font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.vpass .vmark{color:#2E7D5B}
.vfail{background:rgba(184,64,26,.08)}
.vfail .vmark{color:var(--paint)}
:root[data-theme="night"] .vpass .vmark{color:#6FD3A0}


/* ---------- field / office upgrades ---------- */
.restore-banner{
  position:sticky;top:48px;z-index:35;
  display:none;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--rod-wash);border-bottom:1px solid var(--rule);
  padding:10px 18px;font-size:13.5px;
}
.restore-banner.on{display:flex}
.restore-banner .rb-msg{flex:1;min-width:200px}
.restore-banner .rb-msg b{font-weight:700}
.save-dot{
  width:8px;height:8px;border-radius:50%;background:var(--graphite);
  display:inline-block;margin-right:6px;vertical-align:middle;
}
.save-dot.ok{background:#2E7D5B}
.save-dot.pending{background:var(--rod)}
.blank-on .field input:placeholder-shown{border-color:var(--paint)}
.field.missing input,.field.missing select{border-color:var(--paint)!important;box-shadow:0 0 0 1px var(--paint)}
.case-add[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.case-add[disabled]:hover{background:var(--rod);border-color:var(--rod);color:#16191C}
.corr-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px}
.corr-table th,.corr-table td{border-bottom:1px solid var(--rule);padding:9px 10px;text-align:left;vertical-align:top}
.corr-table th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.corr-table .spread{font-family:'IBM Plex Mono',monospace;font-weight:600}
.corr-table .spread.wide{color:var(--paint)}
.sens-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}
.sens-table th,.sens-table td{border-bottom:1px solid var(--rule);padding:8px 10px;text-align:left}
.sens-table th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.sens-table .mono{font-family:'IBM Plex Mono',monospace}
.pd-cover{page-break-after:always;break-after:page;padding:12px 0 28px;margin-bottom:18px;border-bottom:2px solid var(--ink)}
.pd-cover .agency{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);font-weight:700;margin-bottom:18px}
/* Stored agency letterhead, above the cover's own agency line. */
.pd-letterhead{display:flex;align-items:center;gap:16px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--rule)}
.pd-badge{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.pd-letterhead-text{min-width:0}
.pd-agency-name{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.pd-agency-meta{font-size:12px;color:var(--graphite);line-height:1.5;margin-top:3px}
.pd-cover h1{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:0 0 8px}
.pd-cover .sub{font-size:14px;color:var(--graphite);margin-bottom:22px}
.pd-toc{margin:18px 0 8px}
.pd-toc li{margin:4px 0;font-size:13.5px}
.pd-stamp{margin-top:16px;padding:12px 14px;border:1px solid var(--rule);background:var(--paper);font-size:12.5px}
.pd-stamp b{letter-spacing:.08em;text-transform:uppercase;font-size:10px;color:var(--graphite)}
@media print{
  .restore-banner,.menu-wrap,.save-ind,.rail-toggle,.case-cloud-btn,.cloud-case-id{display:none!important}
  .pd-cover,.pd-entry{page-break-inside:avoid}
  .pd-cover{page-break-after:always}
  .formula-board{break-inside:avoid}
  @page{margin:0.6in}
}

/* toast */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(14px);
  background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:2px;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:90;
}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

.scrim{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:35;
}
.scrim.on{display:block}

/* ---------- responsive / field phone ---------- */
@media (max-width:900px){
  .rail-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:64px}

  .masthead{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
      "toggle brand"
      "tools tools";
    align-items:center;
    gap:8px 10px;
    padding:8px 12px;
    padding-top:max(8px, env(safe-area-inset-top));
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .rail-toggle{grid-area:toggle}
  .brand{grid-area:brand;min-width:0}
  .brand-sub{display:none}
  .brand-name{font-size:14.5px}
  .masthead-tools{
    grid-area:tools;
    margin-left:0;
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:6px;
  }
  .masthead-tools .icon-btn,
  .masthead-tools .case-badge,
  .masthead-tools .seg button{
    min-height:44px;
    padding:8px 11px;
  }

  .restore-banner{
    top:auto;
    position:relative;
    padding:10px 12px;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .restore-banner .rb-msg{min-width:0;flex:1 1 100%}
  .restore-banner .copy-btn,
  .restore-banner .icon-btn{min-height:44px;flex:1 1 auto}

  .rail{
    position:fixed;top:0;left:0;height:100%;height:100dvh;z-index:45;
    width:min(340px,90vw);flex-basis:auto;
    background:var(--paper);
    padding-top:max(16px, env(safe-area-inset-top));
    padding-bottom:max(28px, env(safe-area-inset-bottom));
    padding-left:env(safe-area-inset-left);
    transform:translateX(-105%);transition:transform .22s ease;
    box-shadow:var(--shadow);
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .rail.open{transform:translateX(0)}
  .rail-item{
    min-height:48px;padding:12px 16px 12px 34px;font-size:15px;
  }
  .rail-fav{flex-basis:48px;min-height:48px;font-size:18px}
  .rail-group-head-inner{padding:18px 16px 6px}
  .rail-search{padding:0 14px 14px;position:sticky;top:0;background:var(--paper);z-index:1}

  .stage{
    padding:12px 12px 110px;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
    padding-bottom:max(110px, calc(28px + env(safe-area-inset-bottom)));
    max-width:100%;
  }
  .site-foot{
    margin-left:0;max-width:100%;
    padding:0 max(12px, env(safe-area-inset-left)) max(28px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
  }
  .seo-primer{
    margin-left:0;max-width:100%;
    padding:16px max(12px, env(safe-area-inset-left)) 0 max(12px, env(safe-area-inset-right));
  }

  .fields,
  .fields-2{grid-template-columns:1fr}

  .sheet-head{padding:14px 14px 12px}
  .sheet-body{padding:14px 14px 18px}
  .sheet-title{font-size:21px;letter-spacing:-.02em}
  .sheet-desc{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .workbench-guide{margin:-14px -14px 0;padding:24px 18px;grid-template-columns:1fr;gap:24px}
  .workbench-guide h2{font-size:22px}
  .workbench-case-panel{grid-template-columns:1fr;margin:18px 0 34px;padding:18px;gap:18px}
  .workbench-section-head{grid-template-columns:1fr;gap:8px}
  .workbench-grid{grid-template-columns:1fr}
  .workbench-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workbench-card{min-height:0}
  .workbench-resources{margin:10px -14px -18px;padding:22px 18px;grid-template-columns:1fr;gap:20px}
  .help-hero{margin:-14px -14px 0;padding:25px 18px;grid-template-columns:1fr;gap:26px}
  .help-hero h2{font-size:25px}
  .help-jump-nav{position:relative;top:auto;margin:0 -14px;padding:11px 14px}
  .help-section{scroll-margin-top:16px;padding-top:34px}
  .help-section-tint{margin:20px -14px 0;padding:32px 14px}
  .help-section-head{grid-template-columns:1fr;gap:8px}.help-section-head h2{font-size:23px}
  .help-storage-grid{grid-template-columns:1fr}.help-storage-card{min-height:0}
  .help-export-grid{grid-template-columns:1fr}
  .help-quality{margin:28px -14px 0;padding:32px 14px}.help-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .help-tool-grid{grid-template-columns:1fr}
  .help-resources{margin:10px -14px 0;padding:23px 18px;grid-template-columns:1fr;gap:20px}
  .help-field-note{margin:0 -14px -18px;padding:17px 18px}
  .case-hero{margin:-14px -14px 0;padding:24px 18px 0}.case-hero-main{grid-template-columns:1fr;gap:20px}.case-hero-actions{justify-content:flex-start}
  .case-action-bar{margin:0 -14px;padding:13px 14px}.case-details-panel{margin:0 -14px;padding:32px 14px}.case-worksheets-section{padding-top:32px}
  .case-section-head{grid-template-columns:1fr;gap:12px}.case-section-actions{justify-content:flex-start}
  .case-empty{grid-template-columns:48px minmax(0,1fr)}.case-empty .copy-btn{grid-column:1/-1}
  .case-entry-head{grid-template-columns:32px minmax(0,1fr) auto}.case-entry-result{grid-column:2}.case-entry-controls{grid-column:3;grid-row:1/3}.case-entry-meta,.case-entry-warning{margin-left:43px}
  .formula-board{padding:12px 12px 10px}
  .formula-math{padding:4px 0 10px}
  .formula-math .katex{font-size:1.05em}
  .formula-plain{font-size:13px}
  .formula-strip{font-size:13.5px;padding:11px 12px;white-space:pre-wrap;overflow-wrap:anywhere}

  /* iOS: >=16px inputs avoid focus zoom; larger tap targets */
  .input-wrap input,
  .input-wrap select,
  .rail-search input,
  textarea{
    font-size:16px;
    min-height:48px;
    padding:12px 12px;
  }
  .unit-chip{padding:0 12px;font-size:13px}
  .row-line{flex-wrap:wrap;align-items:stretch}
  .row-line .row-n{padding-bottom:0;padding-top:8px}
  .row-line .field{flex:1 1 calc(50% - 12px);min-width:120px}
  .row-del{min-height:48px;min-width:48px}

  .result-bar{flex-direction:column}
  .result-cell{
    flex:1 1 auto;
    border-right:0;
    border-bottom:1px solid var(--rule);
    padding:14px 14px;
  }
  .result-cell:last-child{border-bottom:0}
  .result-cell .rv{font-size:28px}
  .extras{flex-direction:column}
  .extras .ex{border-right:0;border-bottom:1px solid var(--rule);flex:1 1 auto}
  .extras .ex:last-child{border-bottom:0}

  .case-add{
    width:100%;justify-content:center;min-height:52px;font-size:14px;
    position:sticky;bottom:max(10px, env(safe-area-inset-bottom));z-index:5;
    box-shadow:0 8px 24px -10px rgba(22,25,28,.45);
  }
  .result-actions{position:sticky;bottom:max(8px, env(safe-area-inset-bottom));z-index:5;background:var(--sheet);padding:8px 0;box-shadow:0 -10px 18px -18px rgba(22,25,28,.8)}
  .copy-btn{min-height:44px}
  .toolbar-row{
    display:flex;gap:8px;flex-wrap:wrap;align-items:center;
    margin-bottom:16px;
  }
  .toolbar-row .note{flex:1 1 100%;min-width:0!important;margin:0}
  .toolbar-row .icon-btn,
  .toolbar-row .copy-btn{min-height:44px}

  .reftable,.corr-table,.sens-table,.vtable,.pd-work{
    display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
  .note{font-size:13px}
  .solution{margin-top:20px}
  .solution-body{overflow-x:auto;-webkit-overflow-scrolling:touch}

  .smap-view{height:240px;touch-action:none}
  .smap-bar{flex-wrap:wrap;gap:8px}
  .smap-z{margin-left:0}
  .smap-bar button{min-height:44px}

  .toast{
    bottom:max(18px, env(safe-area-inset-bottom));
    left:12px;right:12px;width:auto;transform:translateY(14px);
    text-align:center;
  }
  .toast.on{transform:translateY(0)}
}

@media (max-width:560px){
  .brand-mark{height:21px}
  .brand-name{font-size:13.5px}
  .masthead-tools .save-ind,
  .masthead-tools .case-cloud-btn,
  .masthead-tools .cloud-case-id{display:none}

  .seg button{padding:8px 9px;font-size:10.5px;letter-spacing:.06em}
  .case-badge{letter-spacing:.06em;font-size:10.5px}
  .case-label-rest{display:none}
  .toolbar-row>.icon-btn{flex:1 1 30%;min-width:0;padding-left:5px;padding-right:5px;font-size:10px;letter-spacing:.05em}

  .sheet-title{font-size:19px}
  .sheet-desc{-webkit-line-clamp:3}
  .workbench-guide-steps{grid-template-columns:1fr;gap:16px}
  .workbench-guide-steps .workbench-step-num{margin-bottom:7px}
  .workbench-case-metrics{grid-template-columns:1fr}
  .workbench-case-metrics div{border-right:0;border-bottom:1px solid var(--rule)}
  .workbench-case-metrics div:last-child{border-bottom:0}
  .workbench-actions button{flex:1 1 100%}
  .workbench-search-row{align-items:stretch;flex-direction:column;gap:6px}
  .workbench-result-count{align-self:flex-end}
  .workbench-grid-compact{grid-template-columns:1fr}
  .workbench-resource-links{grid-template-columns:1fr}
  .workbench-resource-links a{border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}
  .workbench-resource-links a:last-child{border-bottom:0}
  .help-flow{grid-template-columns:1fr}.help-flow-num{margin-bottom:6px}
  .help-hero-actions{display:grid}.help-hero-action{width:100%}
  .help-jump-nav{align-items:stretch}.help-jump-label{flex:1 1 100%;padding:0 5px}.help-jump{flex:1 1 calc(50% - 6px);text-align:left;background:var(--sheet);border:1px solid var(--rule)}
  .help-steps li{grid-template-columns:40px minmax(0,1fr)}
  .help-inline-actions{display:grid}.help-inline-actions .copy-btn{width:100%}
  .help-export-card{grid-template-columns:58px minmax(0,1fr);padding:14px}
  .help-quality-grid{grid-template-columns:1fr}.help-quality-card{min-height:0}.help-quality-num{margin-bottom:14px}
  .help-tool-search-row{align-items:stretch;flex-direction:column;gap:6px}.help-tool-count{align-self:flex-end}
  .help-tool-group>summary{align-items:flex-start}.help-tool-cat-count{display:none}
  .help-resource-links{grid-template-columns:1fr}.help-resource-links a{border-right:0;border-bottom:1px solid rgba(255,255,255,.24)}.help-resource-links a:last-child{border-bottom:0}
  .help-alert,.help-field-note{flex-direction:column;gap:8px}
  .case-hero h2{font-size:25px}.case-hero-actions{display:grid;width:100%;justify-content:stretch}.case-hero-action{width:100%}.case-hero-metrics{grid-template-columns:1fr}.case-hero-metrics>div{border-bottom:1px solid rgba(255,255,255,.24)}.case-hero-metrics>div:last-child{border-bottom:0}
  .case-hero-notice{flex-direction:column;gap:7px}.case-action-bar{align-items:stretch;flex-direction:column}.case-action-menus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.case-action-menu{width:100%}.case-action-menus .action-menu>summary{justify-content:center}.case-action-menus .action-menu-panel{position:fixed;left:12px;right:12px;top:auto;bottom:max(18px,env(safe-area-inset-bottom));min-width:0}
  .case-section-head h2,.case-preview-head h2{font-size:22px}.case-section-actions{display:grid}.case-section-actions .copy-btn{width:100%}.case-empty{grid-template-columns:1fr}.case-empty-mark{width:44px;height:44px}.case-entry-card{padding:14px}.case-entry-head{grid-template-columns:28px minmax(0,1fr)}.case-entry-result{grid-column:2;justify-self:start;white-space:normal}.case-entry-controls{grid-column:1/-1;grid-row:auto;margin-top:4px}.case-entry-controls .row-del{flex:1;min-height:44px}.case-entry-meta,.case-entry-warning{margin-left:39px}.case-preview-head{align-items:flex-start;flex-direction:column}.case-preview-head .copy-btn{width:100%}
  .result-cell .rv{font-size:26px}
  .row-line .field{flex:1 1 100%}
  .formula-math .katex{font-size:0.98em}

}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

.source-panel{margin-top:18px;border:1px solid var(--rule);background:color-mix(in srgb,var(--sheet) 90%,var(--rod) 10%)}
.source-panel>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:14px 16px;font-weight:800;list-style:none}.source-panel>summary::-webkit-details-marker{display:none}.source-panel>summary:before{content:"+";color:var(--rod);margin-right:4px}.source-panel[open]>summary:before{content:"−"}.source-status{margin-left:auto;color:var(--graphite);font:600 10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.07em}.source-panel-body{padding:0 16px 16px;border-top:1px solid var(--rule)}.source-limit{margin:14px 0}.source-list{padding-left:19px;margin:12px 0}.source-list li{margin:8px 0;color:var(--graphite);font-size:13px}.source-list a,.source-library-link{font-weight:800;color:inherit;text-decoration-color:var(--rod);text-underline-offset:3px}.source-warning{border-left:3px solid var(--rod);padding-left:12px;color:var(--graphite)}.source-library-link{display:inline-block;margin-top:4px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guide-card{border-top:4px solid var(--ink);padding:22px;background:var(--sheet)}.guide-card h2{font-size:22px;margin-top:0}.guide-card li{margin:8px 0;color:var(--graphite)}
@media(max-width:700px){.source-panel>summary{display:grid;grid-template-columns:auto 1fr}.source-status{grid-column:2;margin:0}.guide-grid{grid-template-columns:1fr}}
@media print{
  .masthead,.rail,.copy-btn,.scrim,.toast,.tickrule,.site-foot,.seo-primer,.skip-link{display:none!important}
  body{background:#fff}
  .stage{padding:0;max-width:100%}
  .sheet{border:0;box-shadow:none}
}
