:root{--bg:#f4f6f7;--card:#fff;--ink:#15202b;--mute:#556270;--line:#dde3e7;--grid:#e2e9ed;--grid2:#cfdae0;--acc:#2647d6;--acc-ink:#fff;--acc-soft:#e8ecfd;--ok:#16794a;--err:#b42318;--radius:16px;--shadow:0 1px 2px rgba(21,32,43,.05),0 8px 24px -12px rgba(21,32,43,.12);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--serif:Cambria,"STIX Two Text",Charter,"Iowan Old Style",Georgia,serif;
--fin:#1d7a3e;--hlth:#c2185b;--day:#4f6f12;--conv:#2647d6;--chem:#0a7891;--phys:#7240c9;--math:#a5670b;--c:var(--acc);--c-soft:var(--acc-soft);color-scheme:light}
[data-theme=dark]{--bg:#0e1419;--card:#151d24;--ink:#e6edf2;--mute:#93a1ae;--line:#25313b;--grid:#18222a;--grid2:#22303a;--acc:#7d95ff;--acc-ink:#0e1419;--acc-soft:#1f2640;--ok:#4cc38a;--err:#ff7b72;--shadow:none;--fin:#5fd383;--hlth:#f06292;--day:#a9cf55;--conv:#7d95ff;--chem:#3cc8e0;--phys:#b38cff;--math:#f0b44c;color-scheme:dark}
[data-cat=finance]{--c:var(--fin)}[data-cat=health]{--c:var(--hlth)}[data-cat=everyday]{--c:var(--day)}[data-cat=conversions]{--c:var(--conv)}[data-cat=chemistry]{--c:var(--chem)}[data-cat=physics]{--c:var(--phys)}[data-cat=math]{--c:var(--math)}
[data-cat]{--c-soft:color-mix(in srgb,var(--c) 12%,var(--card))}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--acc);text-decoration-thickness:1px;text-underline-offset:2px}
img,svg{display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
header.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;height:64px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.logo svg{width:30px;height:30px}
.search{position:relative;flex:1;max-width:440px;margin-left:auto}
.search input{width:100%;height:40px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:0 16px 0 38px;font:inherit;font-size:15px}
.search svg{position:absolute;left:13px;top:12px;width:16px;height:16px;color:var(--mute)}
.search kbd{position:absolute;right:12px;top:10px;font:12px var(--mono);color:var(--mute);border:1px solid var(--line);border-radius:6px;padding:0 5px}
#q-res{position:absolute;top:46px;left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14)}
#q-res a{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none}
#q-res a:hover,#q-res a.on{background:var(--acc-soft)}
#q-res small{color:var(--mute)}
#q-res .none{padding:8px 10px;color:var(--mute)}
.langs{display:flex;gap:2px;font-size:14px}
.langs a{padding:4px 7px;border-radius:7px;color:var(--mute);text-decoration:none;font-weight:600}
.langs a[aria-current]{color:var(--ink);background:var(--card);border:1px solid var(--line)}
.btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.btn:hover{border-color:var(--acc)}
.btn.icon{width:40px;padding:0;font-size:18px;align-self:end;height:46px}
#theme{width:36px;padding:0;display:grid;place-items:center}
#theme svg{width:18px;height:18px}
main{padding:28px 0 64px}
.crumbs{font-size:14px;color:var(--mute);margin:0 0 10px}
.crumbs a{color:var(--mute)}
h1{font:600 clamp(28px,4.4vw,40px)/1.12 var(--serif);letter-spacing:-.01em;margin:0 0 10px}
h2{font:600 25px/1.25 var(--serif);margin:40px 0 12px}
h3{font-size:17px;margin:20px 0 6px}
.lead{color:var(--mute);font-size:17px;margin:0 0 22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.formula{font-family:"Cambria Math","STIX Two Math",Cambria,"Times New Roman",serif;font-size:22px;text-align:center;padding:14px 8px;margin:0 0 18px;border-radius:10px;background:var(--c-soft,var(--acc-soft));overflow-x:auto}
.formula.small{font-size:17px;padding:2px 8px;margin:0;display:inline-block;background:none}
.fr{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .15em;font-size:.92em}
.fr>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.fr>span:last-child{padding:0 .2em}
.lbl{display:block;font-size:13px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.solvefor{margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-width:44px;height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:italic 17px "Cambria Math",Cambria,serif;cursor:pointer}
.chip[aria-checked=true]{background:var(--c);border-color:var(--c);color:var(--card)}
.rows{display:grid;gap:10px}
.row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.3fr);gap:12px;align-items:center;padding:6px 8px;border-radius:10px}
.row label{font-size:15px}
.row .sym{font:italic 17px "Cambria Math",Cambria,serif;margin-right:4px}
.row.target{background:var(--c-soft,var(--acc-soft))}
.ctl{display:flex;gap:6px}
.in{width:100%;min-width:0;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:500 17px var(--mono)}
.in:focus,select:focus,.btn:focus-visible,.chip:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.in[readonly]{background:var(--card);border-color:var(--c);font-weight:700}
.in.wide{font-size:18px}
textarea.in{height:auto;padding:10px 12px;resize:vertical}
select.unit,.field select{height:46px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:15px system-ui,sans-serif;padding:0 8px;max-width:180px}
.field select{max-width:none;width:100%}
.result{margin:18px 0 0;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:2px;min-height:76px}
.rl{font-size:13px;color:var(--mute);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.rv{font:700 clamp(22px,4vw,30px)/1.25 var(--mono);word-break:break-word}
.rv .sym{font:italic 26px "Cambria Math",Cambria,serif}
.rv.eq{font-family:"Cambria Math",Cambria,serif;font-weight:500}
.ru{font-weight:500;color:var(--mute)}
.rf{color:var(--mute)}
.err{color:var(--err);font-weight:600}
.extras{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px;font-size:15px}
.extras li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.extras select{height:30px;font-size:13px}
.steps{margin:14px 0 0;font-size:15px}
.steps summary{cursor:pointer;font-weight:600;color:var(--c)}
.steps ol{margin:10px 0 0;padding-left:22px;display:grid;gap:8px}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.tools .sp{flex:1}
.tools label{font-size:13px;color:var(--mute);display:flex;align-items:center;gap:6px}
.tools select{height:34px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.conv{display:grid;grid-template-columns:1fr 1.3fr auto 1.3fr;gap:10px;align-items:end}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.field{display:block}
.in.big{font-size:20px}
.tbl{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:15px}
#calc{overflow-x:auto}
.tbl caption{text-align:left;font-weight:700;padding:0 0 6px}
.tbl th,.tbl td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}
.tbl td{font-family:var(--mono)}
.tbl tr.hl{background:var(--c-soft,var(--acc-soft))}
.prose p,.prose li{max-width:72ch}
.prose ol li{margin:0 0 4px}
.vartbl td{font-family:inherit}
.vartbl td:first-child{font:italic 17px "Cambria Math",Cambria,serif}
.ex{border-left:3px solid var(--c);padding:4px 0 4px 16px}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0}
.list{columns:3 240px;column-gap:28px;padding:0;list-style:none;margin:8px 0 0}
.list li{break-inside:avoid;padding:5px 0}
.ad-slot{min-height:280px;margin:24px 0}
footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--mute);font-size:14px}
footer nav{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 10px}
footer a{color:var(--mute)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* ---- graph paper, home, categories ---- */
.paper{background-color:var(--bg);background-image:linear-gradient(var(--grid2) 1px,transparent 1px),linear-gradient(90deg,var(--grid2) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:120px 120px,120px 120px,12px 12px,12px 12px;background-position:-1px -1px}
.calc-card{border-top:4px solid var(--c)}
.hero{position:relative;margin:-28px 0 0;padding:56px 0 44px;border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--bg));pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.05;max-width:16ch;margin:0 0 16px}
.hero .lead{font-size:18px;max-width:46ch;color:var(--ink);opacity:.82}
.big-search{display:flex;align-items:center;gap:10px;height:58px;padding:0 20px;background:var(--card);border:1.5px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);max-width:520px;cursor:text}
.big-search svg{width:20px;height:20px;color:var(--mute);flex:none}
.big-search span{color:var(--mute);font-size:17px;flex:1}
.big-search kbd{font:12px var(--mono);color:var(--mute);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:22px 0 0;font-size:14px;color:var(--mute)}
.facts li::before{content:"✓";color:var(--ok);font-weight:700;margin-right:6px}
.index-card{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);transform:rotate(-1deg);padding:6px 0;border-top:4px solid var(--ink)}
.index-card h2{font:600 15px/1 system-ui,sans-serif;color:var(--mute);margin:10px 20px 6px}
.index-card a+a{border-top:1px dashed var(--line)}
.index-card a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:10px 20px;text-decoration:none;color:var(--ink);border-left:4px solid transparent}
.index-card a:hover,.index-card a:focus-visible{border-left-color:var(--c);background:var(--c-soft)}
.index-card .f{font:19px var(--serif);font-style:italic;white-space:nowrap}
.index-card .n{font-size:14px;color:var(--mute);text-align:right}
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:40px 0 8px}
.area{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.area-art{display:block;border-bottom:1px solid var(--line);background-color:var(--c-soft);background-image:linear-gradient(color-mix(in srgb,var(--c) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c) 14%,transparent) 1px,transparent 1px);background-size:12px 12px}
.area-art .art{width:100%;height:auto;max-height:200px;margin:0 auto}
.areas>.area:first-child,.areas>.area:last-child:nth-child(even){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.areas>.area:last-child:nth-child(even) .area-art{border-bottom:0;border-right:1px solid var(--line);display:flex;align-items:center}
.frac-row{display:flex;align-items:center;gap:14px;justify-content:center;margin:4px 0}
.frac{display:flex;flex-direction:column;gap:6px;width:110px}
.frac .in{text-align:center}
.frac .in:first-child{border-bottom:2px solid var(--ink)}
.keypad{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:14px}
.key{height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:16px var(--serif);cursor:pointer}
.key:hover{border-color:var(--c)}
.key.eqk{grid-column:span 6;background:var(--c);color:var(--card);border-color:var(--c);font-weight:700}
.tools-inline{margin:8px 0 0}
.areas>.area:first-child .area-art{border-bottom:0;border-right:1px solid var(--line);display:flex;align-items:center}
.areas>.area:first-child .area-art .art{max-height:260px}
.areas>.area:first-child .area-body{padding:28px 30px;justify-content:center}
.areas>.area:first-child h2{font-size:30px}
.suffix{display:flex;align-items:center;min-width:52px;padding:0 10px;height:46px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--mute);font-size:15px}
.growth .bar{width:30%;min-width:80px}
.growth td{white-space:nowrap}
@media (max-width:560px){.growth tr>*:last-child{display:none}}
.growth .bar span{display:inline-block;height:10px;background:var(--c);opacity:.45;vertical-align:middle}
.growth .bar span.gain{opacity:1}
.area-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.area-body h2{margin:0;font-size:24px}
.area-body h2 a{color:var(--ink);text-decoration:none}
.area-body h2 a:hover{color:var(--c)}
.area-body p{margin:0;color:var(--mute);font-size:15px}
.area-body ul{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.area-body li a{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--c-soft);color:var(--ink);text-decoration:none;font-size:14px;border:1px solid transparent}
.area-body li a:hover{border-color:var(--c)}
.area-more{margin-top:auto;padding-top:10px;font-weight:600;color:var(--c)}
.all h2{display:flex;align-items:center;gap:10px}
.all h2::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--c)}
.all h2 a{color:var(--ink);text-decoration:none}
.list a{color:var(--ink);text-decoration-color:color-mix(in srgb,var(--c) 45%,transparent)}
.list a:hover{color:var(--c)}
.cat-head{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;margin:0 0 30px}
.cat-head .area-art{border:1px solid var(--line);border-radius:var(--radius)}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.calc-link{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:10px;text-decoration:none;color:var(--ink)}
.calc-link:hover{border-color:var(--c)}
.calc-link .f{font:17px var(--serif);color:var(--mute);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.calc-link b{font-weight:600}
.art .draw{stroke-dasharray:900;stroke-dashoffset:0}
@media (prefers-reduced-motion:no-preference){.home .art .draw{animation:draw 1.6s cubic-bezier(.4,0,.2,1) both}@keyframes draw{from{stroke-dashoffset:900}}}
@media (max-width:860px){.hero .wrap,.cat-head,.areas>.area:first-child,.areas>.area:last-child:nth-child(even){grid-template-columns:1fr}.areas>.area:first-child .area-art,.areas>.area:last-child:nth-child(even) .area-art{border-right:0;border-bottom:1px solid var(--line)}.index-card{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);transform:rotate(-1deg);padding:6px 0;border-top:4px solid var(--ink)}.areas{grid-template-columns:1fr}}
@media (max-width:700px){
  .hero{padding:32px 0 28px}
  .big-search{box-shadow:3px 3px 0 var(--ink)}
  .bar{gap:8px;height:auto;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
  .tbl{font-size:13.5px}
  .tbl th,.tbl td{padding:6px 5px}
  .search{order:3;max-width:none;flex-basis:100%}
  .langs{margin-left:auto}
  .search kbd{display:none}
  .row{grid-template-columns:1fr;gap:4px;padding:6px}
  .conv{grid-template-columns:1fr 1fr}
  .conv .field:first-child{grid-column:1/-1}
  .conv .btn.icon{display:none}
  .grid3{grid-template-columns:1fr 1fr 1fr}
  .card{padding:16px}
}
