/*
Theme Name: This Calculator (computation pad)
Description: Theme for this-calculator.com: engineering computation pad identity, calculator engine, no ads. thiscalc-build-2026-11-03.
Version: 1.0.3
*/
@font-face{font-family:"Schibsted Grotesk";src:url(assets/fonts/schibsted-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Schibsted Grotesk";src:url(assets/fonts/schibsted-grotesk-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Azeret Mono";src:url(assets/fonts/azeret-mono-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --bg:#edf1ea;--surface:#f9fbf7;--surface-2:#e2e8de;--ink:#16201a;--ink-2:#34423a;--muted:#4c5a52;--line:#c3cdbf;--line-2:#a9b5a6;
  --accent:#1b6449;--accent-2:#14513a;--on-accent:#f3f6f0;--signal:#a8241c;--signal-mark:#ff8a7a;--grid:rgba(27,100,73,.10);--grid-2:rgba(27,100,73,.05);
  --band:#16201a;--band-ink:#e6ece5;--band-muted:#b5c2b8;--band-accent:#8fdcb8;--focus:#1b6449;--shadow:0 1px 0 rgba(22,32,26,.06);
  --ff:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--fm:"Azeret Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --fs-xs:.8125rem;--fs-sm:.9375rem;--fs-base:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.875rem;--fs-3xl:2.625rem;--fs-ans:3rem;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--s-10:72px;
  --r:6px;--r-lg:10px;--wrap:1200px;--gut:16px;--sec:var(--s-9);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0d1310;--surface:#141c17;--surface-2:#1b251f;--ink:#e6ece5;--ink-2:#c4cec5;--muted:#9ba89f;--line:#2b3830;--line-2:#3b4b41;
  --accent:#74d1a6;--accent-2:#9fe3c2;--on-accent:#0d1310;--signal:#ff8e7f;--signal-mark:#ff8e7f;--grid:rgba(116,209,166,.08);--grid-2:rgba(116,209,166,.04);
  --band:#060a08;--band-ink:#e6ece5;--band-muted:#a9b6ad;--band-accent:#74d1a6;--focus:#74d1a6;--shadow:none;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d1310;--surface:#141c17;--surface-2:#1b251f;--ink:#e6ece5;--ink-2:#c4cec5;--muted:#9ba89f;--line:#2b3830;--line-2:#3b4b41;
  --accent:#74d1a6;--accent-2:#9fe3c2;--on-accent:#0d1310;--signal:#ff8e7f;--signal-mark:#ff8e7f;--grid:rgba(116,209,166,.08);--grid-2:rgba(116,209,166,.04);
  --band:#060a08;--band-ink:#e6ece5;--band-muted:#a9b6ad;--band-accent:#74d1a6;--focus:#74d1a6;--shadow:none;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-base)/1.6 var(--ff);overflow-wrap:break-word}
img,svg,video{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--accent-2)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4{font-weight:700;line-height:1.2;margin:0 0 var(--s-3);letter-spacing:-.01em}
h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-base)}
p{margin:0 0 var(--s-4)}
code,.mono,pre{font-family:var(--fm);font-weight:600;font-size:.92em}
small{font-size:var(--fs-xs)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--on-accent);padding:var(--s-2) var(--s-4);z-index:99}
.skip:focus{left:var(--s-2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
@media (min-width:768px){:root{--gut:24px}}
.page-pad{padding-top:var(--s-5);padding-bottom:var(--sec)}
.kicker{font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 var(--s-2)}
.kicker a{color:inherit;text-decoration:none}
.lede{font-size:var(--fs-lg);color:var(--ink-2);max-width:42rem}
.meta,.small{font-size:var(--fs-sm);color:var(--muted)}
.cta{font-weight:700;text-decoration:none;white-space:nowrap}
.cta:hover{text-decoration:underline}

/* buttons + controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r);border:1.5px solid transparent;font:700 var(--fs-base)/1 var(--ff);cursor:pointer;text-decoration:none}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-2);color:var(--on-accent)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:700;font-size:var(--fs-sm)}
.field .opt{font-weight:400;color:var(--muted)}
.ctl{position:relative;display:flex;align-items:stretch;background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r);min-height:46px}
.ctl:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--grid)}
.ctl input,.ctl select,.ctl textarea{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:600 var(--fs-base)/1.4 var(--fm);padding:10px 12px;border-radius:var(--r)}
.ctl select{font-family:var(--ff);font-weight:400;appearance:auto}
.ctl textarea{resize:vertical;font-size:var(--fs-sm)}
.ctl input:focus,.ctl select:focus,.ctl textarea:focus{outline:none}
.ctl .unit{display:flex;align-items:center;padding:0 12px;border-left:1px solid var(--line);color:var(--muted);font:600 var(--fs-sm)/1 var(--fm);white-space:nowrap;background:var(--surface-2);border-radius:0 var(--r) var(--r) 0}
.field.invalid .ctl{border-color:var(--signal)}
.err{color:var(--signal);font-size:var(--fs-sm);margin:0;font-weight:700}
.hint{color:var(--muted);font-size:var(--fs-xs);margin:0}

/* header */
.site-head{background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:20}
.head-row{display:flex;align-items:center;gap:var(--s-4);min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.wordmark{font:700 1.1875rem/1 var(--ff);letter-spacing:-.02em}
.wordmark span{color:var(--accent);margin-left:1px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:var(--s-1);list-style:none;margin:0;padding:0}
.main-nav a{display:block;padding:10px 12px;border-radius:var(--r);color:var(--ink);text-decoration:none;font-weight:700;font-size:var(--fs-sm)}
.main-nav a:hover{background:var(--surface-2)}
.main-nav a[aria-current]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);border-radius:var(--r) var(--r) 0 0}
.head-tools{display:flex;gap:var(--s-1);align-items:center}
.icon-btn{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;justify-content:center;border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:var(--r);cursor:pointer;font:700 var(--fs-sm)/1 var(--ff);padding:0 10px}
.icon-btn:hover{border-color:var(--ink-2)}
.menu-toggle{display:none}
.head-search{border-top:1px solid var(--line);background:var(--surface);padding:var(--s-3) 0;display:none}
.head-search.open{display:block}
@media (max-width:959px){
  .menu-toggle{display:inline-flex}
  .main-nav{position:absolute;left:0;right:0;top:64px;background:var(--surface);border-bottom:1px solid var(--line);display:none;margin:0}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;padding:var(--s-2) var(--gut) var(--s-4)}
  .main-nav a{padding:12px;font-size:var(--fs-base)}
  .head-tools{margin-left:auto}
}
@media (max-width:420px){.menu-toggle span{display:none}.wordmark{font-size:1.0625rem}}

/* search + suggestions */
.search{position:relative;max-width:640px}
.search-row{display:flex;gap:var(--s-2)}
.search input[type=search]{flex:1;min-width:0;min-height:46px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:400 var(--fs-base)/1.3 var(--ff);padding:0 14px}
.search input[type=search]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--grid)}
.search-big label{display:block;font-weight:700;margin-bottom:var(--s-2)}
.search-big input[type=search]{min-height:60px;font-size:var(--fs-lg);padding:0 18px;border-width:2px}
.search-big .btn{min-height:60px;padding:0 var(--s-6);font-size:var(--fs-lg)}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r);box-shadow:0 10px 28px rgba(0,0,0,.14);z-index:30;max-height:22rem;overflow:auto}
.sugg a,.sugg p{display:block;padding:10px 14px;margin:0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.sugg a:last-child{border-bottom:0}
.sugg a[aria-selected=true],.sugg a:hover{background:var(--surface-2)}
.sugg a small{display:block;color:var(--muted)}
.sugg p{color:var(--muted);font-size:var(--fs-sm)}
.sugg .s-all{font-weight:700;color:var(--accent)}
.sugg .s-load{color:var(--muted)}

/* hero: the computation sheet */
.hero{padding:var(--s-6) 0 var(--sec)}
.sheet{position:relative;background-color:var(--surface);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;border:1.5px solid var(--line-2);border-radius:var(--r-lg)}
.titleblock{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-bottom:1.5px solid var(--line-2)}
.titleblock>div{padding:var(--s-2) var(--s-4);border-right:1px solid var(--line-2);min-width:0}
.titleblock>div:last-child{border-right:0}
.titleblock dt{font:600 .6875rem/1.2 var(--fm);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.titleblock dd{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-8);padding:var(--s-8)}
.hero h1{font-size:var(--fs-3xl);max-width:16ch}
.hero .lede{margin-bottom:var(--s-6)}
.quick{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center;margin:var(--s-4) 0 0;font-size:var(--fs-sm)}
.quick span{color:var(--muted)}
.quick a{font-weight:700}
.hero-calc{background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s-5);align-self:start}
.hc-head{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline;margin:0 0 var(--s-3);font-weight:700}
.hc-k{font:600 var(--fs-xs)/1 var(--fm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.hc-foot{margin:var(--s-4) 0 0;font-size:var(--fs-sm)}
@media (max-width:899px){
  .hero{padding-top:var(--s-4)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s-6);padding:var(--s-5) var(--s-4)}
  .titleblock{grid-template-columns:repeat(3,1fr)}.tb-hide{display:none}
  .titleblock>div:nth-child(3){border-right:0}
  .hero h1{font-size:var(--fs-2xl)}
  .hero .lede{font-size:var(--fs-base);margin-bottom:var(--s-4)}
  .search-big input[type=search],.search-big .btn{min-height:54px;font-size:var(--fs-base)}
  .search-big .btn{padding:0 var(--s-4)}
}

/* calculator widget */
.calc{background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;margin:0 0 var(--s-7)}
.calc-compact{margin:0;background:var(--surface)}
.calc-display{padding:var(--s-5) var(--s-5) var(--s-4);border-bottom:1.5px dashed var(--line-2);background-image:linear-gradient(var(--grid-2) 1px,transparent 1px);background-size:100% 20px;min-height:7.5rem}
.calc-answer{display:flex;flex-direction:column;gap:var(--s-1)}
.calc-k{font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.calc-v{font:600 var(--fs-ans)/1.1 var(--fm);color:var(--signal);letter-spacing:-.02em;overflow-wrap:anywhere}
.calc-v output{border-bottom:3px double var(--signal);padding-bottom:2px}
.calc-u{font-size:var(--fs-lg);color:var(--ink-2);letter-spacing:0;margin-left:.2em}
.calc-compact .calc-v{font-size:2.5rem}
.calc-msg{margin:var(--s-2) 0 0;color:var(--signal);font-weight:700;font-size:var(--fs-sm)}
.calc.is-err .calc-v{color:var(--muted)}
.calc.is-err .calc-v output{border-bottom-color:var(--muted)}
.calc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--s-2);margin:var(--s-4) 0 0}
.tile{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-2) var(--s-3);min-width:0}
.tile dt{font-size:var(--fs-xs);color:var(--muted);font-weight:700;line-height:1.3}
.tile dd{margin:2px 0 0;font:600 var(--fs-lg)/1.25 var(--fm);color:var(--ink);overflow-wrap:anywhere}
.tile .tile-u{font-size:var(--fs-xs);color:var(--muted)}
.tile dd.tile-c{font:400 var(--fs-xs)/1.3 var(--ff);color:var(--muted)}
.tile-in dd:not(.tile-c){font-size:var(--fs-base)}
.calc-form{padding:var(--s-5)}
.calc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--s-4)}
.field-wide{grid-column:1/-1}
.calc-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5)}
.calc-compact .calc-form{padding:var(--s-4) var(--s-5) var(--s-5)}
.calc-compact .calc-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.calc-compact .calc-actions{margin-top:var(--s-4)}
.calc-compact .calc-display{min-height:0}
.calc-chart{display:none;margin:0;padding:var(--s-5);border-top:1px solid var(--line);min-height:300px}
.js .calc-chart{display:block}
.calc-chart.off{display:none}
.chart-skel{height:240px;border-radius:var(--r);background:linear-gradient(90deg,var(--surface-2),var(--bg),var(--surface-2));background-size:200% 100%;animation:sk 1.4s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.chart-skel{animation:none}}
.calc-chart figcaption{font-weight:700;margin-bottom:var(--s-2)}
.calc-chart svg{display:block;width:100%;height:auto}
.calc-chart .ax{stroke:var(--line-2);stroke-width:1}
.calc-chart .gl{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}
.calc-chart .ln{fill:none;stroke:var(--accent);stroke-width:2.5}
.calc-chart .pt{fill:var(--signal)}
.calc-chart text{fill:var(--muted);font:600 11px var(--fm)}
.calc-chart .src{font-size:var(--fs-xs);color:var(--muted);margin:var(--s-2) 0 0}
.calc-chart details{margin-top:var(--s-2);font-size:var(--fs-sm)}
.calc-off{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-6);background:var(--surface)}
.tc-blocked .calc{display:none}
.formula-used{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:var(--s-6) 0}
.formula-used summary{cursor:pointer;padding:var(--s-3) var(--s-4);font-weight:700;min-height:44px;display:flex;align-items:center}
.formula-used pre{margin:0 var(--s-4) var(--s-3);padding:var(--s-3);background:var(--bg);border-radius:var(--r);overflow:auto;font-size:var(--fs-sm);white-space:pre}
.formula-used p{margin:0 var(--s-4) var(--s-4)}
pre.tc-spec{white-space:pre;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-3)}

/* entry page */
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);list-style:none;margin:0 0 var(--s-4);padding:0;font-size:var(--fs-sm);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:var(--s-2);color:var(--line-2)}
.crumbs a{color:var(--ink-2)}
.entry-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-8);align-items:start}
.entry-head h1{font-size:var(--fs-2xl);margin-bottom:var(--s-2)}
.entry-head .meta{margin-bottom:var(--s-5)}
.entry-body{max-width:46rem}
.entry-body h2{font-size:var(--fs-xl);margin-top:var(--s-7);padding-top:var(--s-4);border-top:1.5px solid var(--line)}
.entry-body h3{margin-top:var(--s-6)}
.entry-body ul,.entry-body ol{padding-left:1.25rem}
.entry-body li{margin-bottom:var(--s-1)}
.entry-body table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}
.entry-body th,.entry-body td{border-bottom:1px solid var(--line);padding:var(--s-2);text-align:left}
.sources{font-size:var(--fs-sm);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s-4);margin-top:var(--s-6)}
.rail{position:sticky;top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4)}
.rail-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4)}
.rail-box h2{font-size:var(--fs-base);margin-bottom:var(--s-3)}
.glance{margin:0;display:grid;gap:var(--s-3)}
.glance dt{font:600 .6875rem/1.2 var(--fm);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.glance dd{margin:2px 0 0;font-size:var(--fs-sm)}
.rel{list-style:none;margin:0 0 var(--s-3);padding:0}
.rel li{display:flex;flex-direction:column;padding:var(--s-2) 0;border-bottom:1px solid var(--line)}
.rel li:last-child{border-bottom:0}
.rel a{font-weight:700;text-decoration:none}
.rel a:hover{text-decoration:underline}
.rel .mono{color:var(--ink-2);font-size:var(--fs-xs)}
.rel-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0 var(--s-6)}
.conv-promo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);border:1.5px dashed var(--line-2);border-radius:var(--r-lg);padding:var(--s-4)}
.conv-promo .mono{color:var(--accent);font-size:var(--fs-sm)}
.conv-promo span:last-child{font-size:var(--fs-sm);color:var(--muted)}
.conv-promo:hover{border-color:var(--accent);color:var(--ink)}
@media (max-width:959px){.entry-grid{grid-template-columns:1fr;gap:var(--s-6)}.rail{position:static}}
@media (max-width:599px){
  :root{--fs-3xl:2rem;--fs-2xl:1.5rem;--fs-ans:2.5rem;--sec:var(--s-8)}
  .calc-display,.calc-form,.calc-chart{padding:var(--s-4)}
  .entry-head h1{font-size:1.375rem}
  .entry-head .meta{margin-bottom:var(--s-4);font-size:var(--fs-xs)}
  .calc-fields{grid-template-columns:1fr 1fr;gap:var(--s-3)}
  .calc-tiles{grid-template-columns:1fr 1fr}
  .calc-display{min-height:0}
}
@media (max-width:359px){.calc-fields,.calc-compact .calc-fields{grid-template-columns:1fr}}

/* home bands */
.band{padding:0 0 var(--sec)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-5)}
.sec-head h2{margin:0}
.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-8)}
.ranked{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ranked li{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto auto;gap:var(--s-3);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.ranked .rk{color:var(--muted);font-size:var(--fs-sm)}
.ranked a{font-weight:700;text-decoration:none;color:var(--ink)}
.ranked a:hover{color:var(--accent);text-decoration:underline}
.ranked .rk-c{font-size:var(--fs-sm);color:var(--muted)}
.ranked .rk-n{color:var(--signal);font-size:var(--fs-sm);text-align:right;min-width:6.5rem}
.newest h2{font-size:var(--fs-lg)}
.newest ul{list-style:none;margin:0 0 var(--s-5);padding:0}
.newest li{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.newest a{font-weight:700;text-decoration:none}
.newest time{color:var(--muted);white-space:nowrap;font-size:var(--fs-xs)}
@media (max-width:899px){.two-col{grid-template-columns:1fr;gap:var(--s-7)}.ranked li{grid-template-columns:2rem minmax(0,1fr) auto}.ranked .rk-c{display:none}}
.subj-group+.subj-group{margin-top:var(--s-7)}
.group-h{font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1.5px solid var(--line-2)}
.subj-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.subj-science .subj-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.subj-science .subj{grid-column:span 2}
.subj-science .subj-lead,.subj-science .subj-lead+.subj{grid-column:span 3}
.subj-science .subj-lead{background-color:var(--surface);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:20px 20px}
.subj-science .subj-lead .glyph{font-size:var(--fs-2xl)}
.subj-home .subj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.subj-home .subj{flex-direction:row;flex-wrap:wrap;column-gap:var(--s-5)}
.subj-home .subj .glyph{flex-basis:100%}
.subj-life .subj-grid{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}
.subj-life .subj{background:transparent;border-style:dashed}
.subj-life .subj .glyph{font-size:var(--fs-base)}
.subj{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);min-width:0;transition:border-color .15s}
.subj:hover,.subj:focus-within{border-color:var(--accent)}
.subj .glyph{font:600 var(--fs-lg)/1.2 var(--fm);color:var(--accent);margin:0 0 var(--s-3);overflow-wrap:anywhere}
.subj .subj-t{font-size:var(--fs-lg);margin:0 0 var(--s-1)}
.subj .subj-t a{color:var(--ink);text-decoration:none}
.subj .subj-t a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
.subj-d{color:var(--ink-2);font-size:var(--fs-sm);margin:0 0 var(--s-3)}
.subj-s{list-style:none;margin:0 0 var(--s-3);padding:0;font-size:var(--fs-sm);position:relative;z-index:1}
.subj-s li{padding:2px 0}
.subj-n{margin:auto 0 0;font-size:var(--fs-sm);color:var(--muted);display:flex;justify-content:space-between;gap:var(--s-2);position:relative;z-index:1}
.subj-n .mono{color:var(--ink)}
.subj-img{width:96px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:var(--r);float:right;margin:0 0 var(--s-2) var(--s-3)}
.subjects .subj{display:block}
.subjects .subj-n{margin-top:var(--s-3)}
@media (max-width:899px){.subj-science .subj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subj-science .subj,.subj-science .subj-lead{grid-column:span 1;grid-row:auto}.subj-science .subj-lead,.subj-science .subj-lead+.subj{grid-column:span 1}.subj-science .subj-lead{grid-column:1/-1}}
@media (max-width:599px){.subj-science .subj-grid,.subj-home .subj-grid{grid-template-columns:1fr}.subj-life .subj-grid{grid-template-columns:1fr 1fr;gap:var(--s-3)}.subj-life .subj{padding:var(--s-3)}.subj-life .subj-d{display:none}.subj-life .subj .glyph{font-size:var(--fs-sm)}}
.band-ink{background:var(--band);color:var(--band-ink);padding:var(--s-9) 0;margin-bottom:0}
.band-ink h2{color:var(--band-ink)}
.band-ink .cta{color:var(--band-accent)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6)}
.steps li{display:flex;flex-direction:column;gap:var(--s-2);border-top:1.5px solid var(--band-accent);padding-top:var(--s-3)}
.steps .mono{color:var(--band-accent)}
.steps strong{font-size:var(--fs-lg)}
.steps span:last-child{color:var(--band-muted);font-size:var(--fs-sm)}
@media (max-width:899px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:499px){.steps{grid-template-columns:1fr;gap:var(--s-4)}}

/* hub */
.hub-head{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:var(--s-8);align-items:start;padding-bottom:var(--s-6);border-bottom:1.5px solid var(--line-2);margin-bottom:var(--s-7)}
.hub-head h1{font-size:var(--fs-3xl)}
.hub-img{width:200px;border-radius:var(--r-lg);border:1px solid var(--line)}
.hub-stats{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-4) 0 0}
.hub-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-2) var(--s-4)}
.hub-stats dt{font-size:var(--fs-xs);color:var(--muted);font-weight:700}
.hub-stats dd{margin:0;font-size:var(--fs-lg);color:var(--accent)}
.glyph-s{font-size:var(--fs-base)!important}
.hub-top{margin-bottom:var(--s-8)}
.top-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-4)}
.top-card{display:flex;flex-direction:column;gap:var(--s-1);text-decoration:none;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5)}
.top-card:hover{border-color:var(--accent);color:var(--ink)}
.top-lead{background-image:linear-gradient(var(--grid-2) 1px,transparent 1px);background-size:100% 20px}
.tc-t{font-weight:700;font-size:var(--fs-lg)}
.tc-k{font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:var(--s-2)}
.tc-n{font-size:var(--fs-xl);color:var(--signal)}
.top-lead .tc-n{font-size:var(--fs-2xl)}
.tc-x{font-size:var(--fs-sm);color:var(--ink-2)}
@media (max-width:767px){.hub-head{grid-template-columns:minmax(0,1fr) 96px;gap:var(--s-4)}.hub-img{width:96px}.top-grid{grid-template-columns:1fr}}
.filter{display:flex;align-items:center;gap:var(--s-2)}
.filter label{font-weight:700;font-size:var(--fs-sm)}
.filter .ctl{min-width:14rem}
.filter input{font-family:var(--ff);font-weight:400}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
table.list,.conv-all{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
table.list th,.conv-all th{text-align:left;font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:var(--s-3) var(--s-4);border-bottom:1.5px solid var(--line-2);background:var(--surface-2)}
table.list td,.conv-all td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:baseline}
table.list tr:last-child td{border-bottom:0}
table.list td a{font-weight:700;text-decoration:none}
table.list td a:hover{text-decoration:underline}
.r{text-align:right!important}
table.list .num{font-family:var(--fm);font-weight:600;color:var(--signal);white-space:nowrap}
table.list .num small{color:var(--muted)}
@media (max-width:599px){.hide-s{display:none}table.list td,table.list th{padding:var(--s-3)}}
.empty,.empty-box{color:var(--ink-2)}
.empty-box{background:var(--surface);border:1.5px dashed var(--line-2);border-radius:var(--r-lg);padding:var(--s-5);margin-top:var(--s-6)}
.inline-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);list-style:none;padding:0;margin:0;font-weight:700}
.nav-links{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}
.nav-links .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;padding:0 var(--s-3)}
.nav-links .current{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

/* pages */
.page-h{font-size:var(--fs-3xl)}
.page-art{max-width:50rem}
.page-wide{max-width:none}
.page-art .entry-body{max-width:46rem}
.page-wide .entry-body{max-width:none}
.search-page{margin:var(--s-5) 0 var(--s-7)}
.az-letters ul{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;margin:0 0 var(--s-6);padding:0}
.az-letters a,.az-off{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);font:600 var(--fs-sm)/1 var(--fm);text-decoration:none;background:var(--surface)}
.az-off{color:var(--muted);background:transparent;border-style:dashed}
.az-letters a[aria-current]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.az-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}
.az-head h2{margin:0;font-family:var(--fm)}
.az-head small{font-family:var(--ff);color:var(--muted);font-weight:400}
.conv{background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-6)}
.conv-tabs{max-width:20rem;margin-bottom:var(--s-4)}
.conv-tabs label{display:block;font-weight:700;font-size:var(--fs-sm);margin-bottom:6px}
.conv-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto minmax(0,1.3fr);gap:var(--s-3);align-items:end}
.conv-swap{min-height:46px}
.conv-out{margin:var(--s-6) 0;padding:var(--s-4) 0;border-top:1.5px dashed var(--line-2);border-bottom:1.5px dashed var(--line-2)}
.conv-all caption{text-align:left;font-weight:700;padding:var(--s-3) var(--s-4)}
@media (max-width:767px){.conv-row{grid-template-columns:1fr 1fr}.conv-row .field:first-child{grid-column:1/-1}.conv-swap{grid-column:1/-1;order:3}.conv-row .field:last-child{order:4}}
.contact-form{display:grid;gap:var(--s-4);max-width:36rem;margin:var(--s-5) 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-weight:700;padding:var(--s-3) var(--s-4);border-radius:var(--r);background:var(--surface-2)}
.form-status.bad{color:var(--signal)}

/* footer */
.site-foot{background:var(--surface);border-top:1.5px solid var(--line-2);padding:var(--s-8) 0 var(--s-5);font-size:var(--fs-sm)}
.band-ink+.site-foot,main:has(> .band-ink:last-child)+.site-foot{border-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-6)}
.foot-brand p{color:var(--ink-2);margin-top:var(--s-3);max-width:22rem}
.foot-col h2{font:600 var(--fs-xs)/1.3 var(--fm);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:var(--s-3)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{padding:3px 0}
.foot-col a{color:var(--ink);text-decoration:none;display:inline-block;padding:4px 0}
.foot-col a:hover{color:var(--accent);text-decoration:underline}
.foot-base{border-top:1px solid var(--line);margin-top:var(--s-7);padding-top:var(--s-4);color:var(--muted)}
.foot-base p{margin:0}
@media (max-width:767px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media print{.site-head,.site-foot,.rail,.calc-actions,.calc-chart{display:none}}
@media (max-width:767px){.hub-head .lede,.page-art .lede{font-size:var(--fs-base)}.hub-stats>div{padding:var(--s-2) var(--s-3)}}
.calc-u{margin-left:.1em}

/* R1 critic fixes */
.hero-copy,.hero-calc{min-width:0}
@media (max-width:899px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:599px){
  .titleblock{grid-template-columns:1fr 1fr}
  .titleblock .tb-hide{display:block}
  .titleblock>div{padding:var(--s-2) var(--s-3)}
  .titleblock>div:nth-child(2n){border-right:0}
  .titleblock>div:nth-child(-n+2){border-bottom:1px solid var(--line-2)}
  .titleblock>div:nth-child(3){border-right:1px solid var(--line-2)}
  .titleblock dt{letter-spacing:.04em}
}
.quick a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:767px){
  table.list td a,.crumbs a,.foot-col a,.subj-s a,.rel a,.newest a,.ranked a,.inline-links a,.conv-promo,.cta{display:inline-block;padding-top:10px;padding-bottom:10px}
  .conv-promo{display:flex}
  .quick{gap:0 var(--s-4)}
  .ranked li{padding:var(--s-1) 0}
  .subj-s li{padding:0}
  .conv-row .field .ctl select{width:100%}
}
.conv.is-invalid .conv-out output,.conv.is-invalid .conv-all tbody{opacity:.35}
@media (max-width:767px){.cta{white-space:normal}}
@media (max-width:599px){.hero .quick{display:none}.hero .lede{margin-bottom:var(--s-3)}}
