/* OneEquals theme. Self-hosted fonts (OFL), Latin subset only. */
@font-face{font-family:"Unbounded";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/unbounded-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}

/* King Battery design system, carried over: one ground, one raised panel, hairlines, one accent,
   display font for numbers, mono for labels, "label plate" spec strip, <details> FAQ.
   Black ground so the King Battery orange carries the page: brand, active input, result, chart rule. */
:root{
  --ground:#0b0c0d;      /* near-black page */
  --panel:#16181a;       /* raised panels: KB's slate, now one step above the ground */
  --line:#2c3034;        /* hairlines */
  --chalk:#eceae4;       /* main text */
  --dust:#a7a9a6;        /* secondary text */
  --ember:#f08a24;       /* KB orange, the one accent */
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--chalk);font-family:var(--body);font-size:17px;line-height:1.6}
a{color:inherit}
:focus-visible{outline:3px solid var(--ember);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}
h1,h2{font-family:var(--display);font-weight:800;line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(26px,4.2vw,42px)}
h2{font-size:clamp(22px,2.8vw,30px)}
h3{font-size:18px;margin:0}
p{margin:0}
.eyebrow,.k{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dust)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--ember);color:#000;padding:8px 14px;border-radius:6px}

/* header: KB sticky bar, nav = unit categories instead of page anchors */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;padding-block:12px}
.brand{font-family:var(--display);font-weight:800;text-decoration:none;white-space:nowrap}
.brand span{color:var(--ember)}
.nav{display:flex;gap:18px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;color:var(--dust);white-space:nowrap}
.nav a[aria-current]{color:var(--chalk);font-weight:600}
@media (max-width:760px){.nav{overflow-x:auto;scrollbar-width:none;margin-left:0;max-width:100%}.top .wrap{flex-wrap:wrap;gap:6px 20px}}

/* page head */
.head{padding-block:24px 16px;display:grid;gap:10px}
.crumbs{font-size:14px;color:var(--dust)}
.crumbs a{color:var(--dust)}
.answer{font-size:18px;color:var(--dust);max-width:40em}
.answer b{color:var(--chalk)}

/* THE WIDGET: dominant, first thing under the H1, works without JS for crawlers (default value printed) */
.tool{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ember);border-radius:10px;padding:clamp(16px,3vw,28px);display:grid;gap:16px}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:end}
.field{display:grid;gap:6px}
.field label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dust)}
.field input{font-family:var(--display);font-weight:800;font-size:clamp(26px,4vw,38px);width:100%;min-width:0;padding:12px 14px;border:2px solid var(--line);border-radius:8px;background:var(--ground);color:var(--chalk);font-variant-numeric:tabular-nums}
.field input:focus{border-color:var(--ember);outline:none}
.swap{display:grid;place-items:center;width:48px;height:48px;margin-bottom:8px;border-radius:50%;border:1px solid var(--line);text-decoration:none;font-size:20px;background:var(--ground)}
.swap:hover{border-color:var(--ember);color:var(--ember)}
.result{font-size:16px;color:var(--dust)}
.result output{font-family:var(--mono);font-weight:600;color:var(--ember)}
.tools-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{font:600 14px var(--body);background:transparent;color:var(--chalk);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.btn:hover{border-color:var(--ember)}
.tools-row select{font:inherit;font-size:14px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--ground);color:var(--chalk)}
@media (max-width:560px){.row{grid-template-columns:1fr}.swap{justify-self:center;margin:0;transform:rotate(90deg)}}

/* KB "label plate", reused as the quick-answer strip */
.plate{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-top:16px}
.cell{padding:16px 18px;border-left:1px solid var(--line)}
.cell:first-child{border-left:0}
.cell .v{font-family:var(--display);font-weight:800;font-size:clamp(17px,2vw,22px);font-variant-numeric:tabular-nums;margin-top:2px}
@media (max-width:760px){.plate{grid-template-columns:repeat(2,minmax(0,1fr))}.cell:nth-child(3){border-left:0}.cell:nth-child(n+3){border-top:1px solid var(--line)}}

/* ad slots: fixed reserved height so nothing jumps (CLS), clearly separated from the tool */
.ad{min-height:280px;margin-block:28px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--dust);font:12px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.ad.small{min-height:100px}

section{padding-block:28px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.side{position:sticky;top:76px;display:grid;gap:20px}
@media (max-width:980px){.layout{grid-template-columns:1fr}.side{position:static}}
.stack{display:grid;gap:14px}
.stack p{color:var(--dust)}
.formula{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:6px;padding:14px 16px;font-size:16px}

table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{border-bottom:2px solid var(--ember);font-size:14px}
td a{color:var(--ember);text-underline-offset:3px}

.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.links a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:var(--panel);font-weight:600;font-size:15px}
.links a:hover{border-color:var(--ember)}
.links small{display:block;font-weight:400;color:var(--dust);font-size:13px}

.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:24px var(--mono);color:var(--ember)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--dust);padding-bottom:16px}


/* about the units */
.units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.unit{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:8px;align-content:start}
.unit p:not(.k){color:var(--dust);font-size:16px}
@media (max-width:640px){.units{grid-template-columns:1fr}}
/* guides */
.guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide{display:grid;gap:6px;align-content:start;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-decoration:none}
.guide b{font-size:17px;line-height:1.35}
.guide span:last-child{color:var(--dust);font-size:15px}
.guide:hover{border-color:var(--ember)}
@media (max-width:640px){.guides{grid-template-columns:1fr}}
/* ---------- multi-unit additions ---------- */
.chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 32px 2px 2px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}
.chips::-webkit-scrollbar{display:none}
.chips>a,.chips>.chip{scroll-snap-align:start;white-space:nowrap}
@media (min-width:768px){.chips{flex-wrap:wrap;overflow:visible;padding:0;-webkit-mask-image:none;mask-image:none}}
.chips a{flex:none;font:600 13px var(--body);text-decoration:none;color:var(--dust);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--panel)}
.chips a:hover{color:var(--chalk);border-color:var(--ember)}
.chips a:focus-visible,.chip:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.chips a[aria-current]{color:#111;background:var(--ember);border-color:var(--ember)}
.field select{font:600 15px var(--body);width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--ground);color:var(--chalk)}
.field select:focus{border-color:var(--ember);outline:none}
.mixed{font-family:var(--mono);font-size:14px;color:var(--dust)}
.mixed:empty{display:none}

/* converter + printable chart side by side; chart drops under the tool on narrow screens */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.hero .tool{align-content:start}
.hero-main{display:grid;gap:16px;min-width:0}
.hero-main .plate{margin-top:0}
@media (max-width:980px){.hero{grid-template-columns:1fr}}
.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:520px;min-height:0;overflow:hidden}
.chart-card header{padding:16px 18px 10px;display:grid;gap:4px;border-bottom:1px solid var(--line)}
.chart-card h2{font-size:17px}
.chart-card header p{font-size:13px;color:var(--dust)}
.chart-scroll{overflow:auto;min-height:0;max-height:250px}
.chart-scroll table th{position:sticky;top:0;background:var(--panel);padding:8px 18px}
.chart-scroll td{padding:6px 18px;font-size:15px;font-family:var(--mono)}
.chart-scroll tr.hit td{color:var(--ember);font-weight:600;background:color-mix(in srgb,var(--ember) 10%,transparent)}
.chart-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line)}
.btn.primary{background:var(--ember);color:#111;border-color:var(--ember)}
.btn.primary:hover{filter:brightness(1.08)}
.chart-actions small{flex-basis:100%;color:var(--dust);font-size:12px}
@media (max-width:980px){.chart-scroll{max-height:300px}}

.all-units{columns:2;column-gap:28px}
.all-units a{display:flex;justify-content:space-between;gap:12px;break-inside:avoid;padding:8px 2px;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px}
.all-units a span:last-child{font-family:var(--mono);color:var(--ember);text-align:right}
.all-units a:hover span:first-child{text-decoration:underline}
@media (max-width:640px){.all-units{columns:1}}
.units.one{grid-template-columns:1fr}

.rs-note{font-size:12px;color:#222;margin:4px 0 8px}
.rs-cal{display:block;margin-bottom:10px}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(31mm,1fr));gap:3mm;margin-bottom:8px}
.rs-cell{display:grid;justify-items:center;gap:1mm;border:1px solid #ddd;border-radius:2px;padding:2mm 1mm}
.rs-cell b{font-size:11px;color:#111}
.rs-cell span{font:10px var(--mono);color:#333}
.rs-strip{display:block;margin-top:4px}
[hidden]{display:none!important}
/* ---------- chart page ---------- */
.controls{display:grid;gap:12px;margin-bottom:16px}
.controls-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.controls-row label{display:flex;gap:8px;align-items:center}
.controls-row select{font:inherit;font-size:14px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--ground);color:var(--chalk)}
.chip{flex:none;font:600 13px var(--body);color:var(--dust);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--panel);cursor:pointer}
.chip:hover{color:var(--chalk);border-color:var(--ember)}
.chip[aria-pressed="true"]{color:#111;background:var(--ember);border-color:var(--ember)}
.chips:empty{display:none}
.btn.primary{background:var(--ember);color:#111;border-color:var(--ember);text-decoration:none;display:inline-block}
.bookmark{font-size:13px;color:var(--dust);margin-top:10px}

/* the paper: white sheet on the dark page */
.paper{background:#fff;color:#111;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.55);padding:clamp(18px,4vw,44px);max-width:860px;margin-inline:auto;font-family:var(--body)}
.ps-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:3px solid #111;padding-bottom:10px;margin-bottom:10px}
.ps-brand{font:800 18px var(--display)}
.ps-brand span{color:#9a4a00}
.ps-h{font:800 clamp(18px,3vw,26px)/1.15 var(--display);margin:2px 0 0;color:#111}
.ps-meta{font-size:12px;color:#444;text-align:right}
.ps-rule{font:13px var(--mono);margin:0 0 12px;color:#111}
.ps-flow{display:grid;gap:18px}
.ps-grid{display:grid;grid-template-columns:repeat(var(--gc,2),minmax(0,1fr));gap:18px 24px;align-items:start}
.ps-sec h2{font:700 14px var(--body);margin:0 0 6px;color:#111;text-transform:uppercase;letter-spacing:.06em}
.ps-cols{display:grid;grid-template-columns:repeat(var(--g),minmax(0,1fr));gap:0 16px;align-items:start}
.paper table{font-size:12.5px;font-variant-numeric:tabular-nums}
.paper th{border-bottom:2px solid #111;padding:5px 6px;font-size:11.5px;color:#111;vertical-align:bottom}
.paper td{padding:3px 6px;border-bottom:1px solid #d6d6d6;font-family:var(--mono);color:#111;white-space:nowrap}
.paper tbody tr:nth-child(even) td{background:#f3f3f3}
.ps-note{font-size:11px;color:#444;margin-top:6px}
.ps-foot{margin-top:16px;border-top:1px solid #111;padding-top:8px;font-size:11px;color:#333;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px}
@media (max-width:640px){.ps-cols{grid-template-columns:1fr}.ps-grid{grid-template-columns:1fr}.paper{padding:16px}}


/* ---------- theme additions ---------- */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mb{margin-bottom:12px}
.more{color:var(--ember);font-weight:600}
.meta{color:var(--dust);font-size:14px}
.crumbs [aria-current]{color:var(--dust)}
.ad{min-height:280px;margin-block:28px;display:grid;gap:6px;align-content:start;border:0;font:inherit;letter-spacing:normal;text-transform:none;place-items:stretch}
.ad-tall{min-height:600px;margin:0}
.ad-label{font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dust);text-align:center}
.all-units .row-plain{display:flex;justify-content:space-between;gap:12px;break-inside:avoid;padding:8px 2px;border-bottom:1px solid var(--line);font-size:15px;color:var(--dust)}
.all-units .v{font-family:var(--mono);color:var(--ember);text-align:right}
.unit h3.k{margin:0}
.answer-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ember);border-radius:10px;padding:22px 24px;display:grid;gap:6px;margin-bottom:28px}
.answer-card .big{font-family:var(--display);font-weight:800;font-size:clamp(28px,5vw,46px);line-height:1.1;color:var(--chalk)}
.answer-card .mixed{font-family:var(--mono);color:var(--dust)}
table.near{max-width:560px}
table.near td,table.near th{padding:8px 12px}
table.near tr.hit td{color:var(--ember);font-weight:600}
table.near a{color:var(--chalk)}
.chart-scroll td a{color:var(--chalk);text-decoration-color:var(--ember)}
.prose{max-width:760px;display:grid;gap:14px}
.prose p,.prose li{color:var(--chalk)}
.prose a{color:var(--ember)}
.prose h2{margin-top:18px}
.prose ul{padding-left:20px;display:grid;gap:8px}
.prose dl.legal{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.prose dt{color:var(--dust)}
.unit-list{display:flex;flex-wrap:wrap;gap:8px}
.unit-list span{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:14px;color:var(--dust)}
.home-head .chips{margin-top:8px}
.site-footer{border-top:1px solid var(--line);color:var(--dust);font-size:14px;margin-top:48px}
.site-footer .foot-grid{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:24px;padding-block:32px}
.foot-grid nav{display:grid;gap:6px;align-content:start}
.foot-grid a{color:var(--dust);text-decoration:none}
.foot-grid a:hover{color:var(--chalk)}
.foot-grid .brand{color:var(--chalk);font-size:18px}
.foot-base{padding-block:14px;border-top:1px solid var(--line)}
@media (max-width:980px){.site-footer .foot-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}}
.chart-card header p:not(.k){font-size:13px;color:var(--dust)}

/* ---------- print: converter page prints only the generated sheet ---------- */
#print-sheet{display:none}
@media print{
  @page{margin:12mm}
  body{background:#fff!important;color:#000!important}
  .oe-converter>*:not(#print-sheet),.oe-converter main>*:not(#print-sheet){display:none!important}
  .oe-converter main{display:block!important}
  .oe-converter #print-sheet{display:block;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:var(--body);color:#000}
  #print-sheet .ps-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
  #print-sheet table{font-size:11.5px}
  #print-sheet th{border-bottom:2px solid #000;padding:4px 6px;font-size:11px;color:#000}
  #print-sheet td{padding:2.5px 6px;border-bottom:1px solid #ccc;font-family:var(--mono);color:#000}
  #print-sheet tr:nth-child(even) td{background:#f2f2f2}
}
/* ---------- print: chart pages print only the visible paper ---------- */
@media print{
  .oe-chart .top,.oe-chart .head,.oe-chart .controls,.oe-chart .bookmark,.oe-chart .ad,.oe-chart .stack,.oe-chart #chart-ui>section,.oe-chart .site-footer,.oe-chart .skip,.oe-chart #wpadminbar{display:none!important}
  .oe-chart .wrap{max-width:none;padding:0}
  .oe-chart .paper{box-shadow:none;padding:0;max-width:none;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .oe-chart .ps-cols{grid-template-columns:repeat(var(--g),minmax(0,1fr))!important}
  .oe-chart .ps-grid{grid-template-columns:repeat(var(--gc,2),minmax(0,1fr))!important}
  .oe-chart .ps-grid .ps-sec{break-inside:avoid}
  .oe-chart .paper tr{break-inside:avoid}
  .oe-chart .paper table{font-size:11px;line-height:1.3}
  .oe-chart .paper td{padding:2px 6px}
  .oe-chart .paper th{padding:3px 6px;font-size:10.5px}
  .oe-chart .ps-top{padding-bottom:6px;margin-bottom:6px}
}
/* chart sheet: sections are spaced by the grid gap, not the page section padding */
.paper section{padding-block:0}
@media screen and (max-width:640px){
  .paper{overflow-x:auto}
  .rs-cal,.rs-strip{max-width:100%;height:auto}
}
/* the tall sidebar ad is for desktop only */
@media (max-width:980px){.side{display:none}}
/* ---------- calculators ---------- */
.calc{display:block}
.calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.calc-grid.one{grid-template-columns:1fr}
@media (max-width:760px){.calc-grid{grid-template-columns:1fr}}
.cblock{background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;gap:12px;align-content:start;min-width:0}
.crow{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.crow.outs{gap:16px 28px;margin-top:4px}
.crow.sq{align-items:end}
.crow.sq>.k{flex-basis:100%}
.cfield{display:grid;gap:6px;flex:1 1 130px;min-width:0}
.cfield label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dust)}
.cfield input,.cfield select,.tc input{font:600 18px var(--body);width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--chalk)}
.cfield input:focus,.cfield select:focus,.tc input:focus{border-color:var(--ember);outline:none}
.cout{display:grid;gap:2px}
.cout output{font-family:var(--mono);font-weight:600;color:var(--ember);font-size:17px}
.cout.big output{font-family:var(--display);font-weight:800;font-size:clamp(22px,3vw,30px);color:var(--chalk)}
.csub{color:var(--dust);font-size:14px}
.chk{display:flex;gap:8px;align-items:center;color:var(--dust);font-size:15px}
.tip-chips .chip{font-size:14px}
.tc-wrap{overflow-x:auto}
.tc{min-width:560px}
.tc th,.tc td{padding:6px 8px;text-align:left}
.tc input{font-size:15px;padding:8px}
.tc .tch{font-family:var(--mono);color:var(--ember);font-weight:600}
.tbl-scroll{overflow-x:auto}
table.near.wide{max-width:none}
@media print{
  .oe-calculator .top,.oe-calculator .head .crumbs,.oe-calculator .ad,.oe-calculator .layout,.oe-calculator .site-footer,.oe-calculator .skip,.oe-calculator #tcprint{display:none!important}
  .oe-calculator{background:#fff!important;color:#000!important}
  .oe-calculator h1,.oe-calculator .answer,.oe-calculator .cout output,.oe-calculator .k,.oe-calculator label,.oe-calculator th,.oe-calculator td{color:#000!important}
  .oe-calculator .tool,.oe-calculator .cblock{background:#fff!important;border-color:#999!important}
  .oe-calculator input,.oe-calculator select{background:#fff!important;color:#000!important;border-color:#999!important}
}

.tc tbody th{border-bottom:1px solid var(--line);font-weight:600}

/* save-for-later block on chart pages */
.save-chart figure{margin:0;display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:28px;align-items:center}
.save-chart img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block}
.save-chart figcaption p{margin:0 0 14px}
.save-chart .btn{text-decoration:none;display:inline-block;margin:0 8px 8px 0}
.pin-btn{text-decoration:none;display:inline-block}
@media (max-width:620px){.save-chart figure{grid-template-columns:1fr}.save-chart img{max-width:300px}}
@media print{.save-chart,.pin-btn{display:none!important}}
.btn-a{text-decoration:none;display:inline-block}
.ps-foot a{color:inherit;text-decoration:none}
@media print{.btn-a{display:none!important}}

/* ---------- holiday countdowns (v1.4.0) ---------- */
.cd-headrow{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.cd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cd-card{display:grid;gap:2px;align-content:start;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-decoration:none;min-height:44px}
.cd-card:hover{border-color:var(--ember)}
.cd-big{font:800 clamp(34px,4vw,44px)/1.1 var(--display);color:var(--ember);font-variant-numeric:tabular-nums}
.cd-unit,.cd-date{font-size:14px;color:var(--dust)}
.cd-card .cd-name{font:600 17px/1.35 var(--body);margin:6px 0 0}
.cd-any{border-style:dashed;border-color:var(--ember);align-content:center}
.cd-any .cd-name{color:var(--ember);margin:0}
.cd-any span{color:var(--dust);font-size:15px}
.cd-main{display:grid;gap:16px}
.cd-answer{font-size:clamp(18px,2.2vw,21px);max-width:none}
.cd-answer b{color:var(--ember)}
.cd-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cd-tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 8px 14px;text-align:center;display:grid;gap:8px;height:clamp(104px,14vw,128px);align-content:center}
.cd-tile.lead{border-top:3px solid var(--ember)}
.cd-v{font:800 clamp(30px,5.4vw,56px)/1 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
.cd-tile.lead .cd-v{color:var(--ember)}
@media (max-width:420px){.cd-tiles{gap:8px}.cd-tile{padding-inline:4px}.cd-tile .k{font-size:10px;letter-spacing:.08em}}
.cd-form{display:flex;flex-wrap:wrap;gap:12px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--ember);border-radius:10px;padding:16px}
.cd-form .cfield{flex:1 1 220px}
.cd-form input{min-height:48px;font:600 18px var(--body);width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--ground);color:var(--chalk)}
.cd-form input:focus{border-color:var(--ember);outline:none}
.cd-ways{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.cd-ways div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:2px}
.cd-ways b{font:600 20px/1.3 var(--body);font-variant-numeric:tabular-nums}
.cd-ways span{font-size:14px;color:var(--dust)}
.stack .cd-ways span{color:var(--dust)}
.cd-chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:14px}
