:root{--bg:#fff;--alt:#f6f7f9;--card:#fff;--text:#1b1f27;--muted:#5d6675;--brand:#c8102e;--brand-d:#a30c25;--line:#e2e5ea;--soft:#fdecef;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand)}a:hover{color:var(--brand-d)}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.bar{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand .logo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;font-weight:700}
.back{font-size:14px;text-decoration:none;color:var(--muted)}
.cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}
.cats a{white-space:nowrap;text-decoration:none;color:var(--text);background:var(--bg);border:1px solid var(--line);padding:4px 12px;border-radius:99px;font-size:14px}
.cats a:hover{border-color:var(--brand);color:var(--brand)}
main{padding-top:20px;padding-bottom:40px}
h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.25;margin:.4em 0 .3em}
h1 .sym{color:var(--muted);font-weight:500;font-size:.7em}
h2{font-size:1.3rem;margin:1.6em 0 .6em}
h3{font-size:1.05rem;margin:1.1em 0 .2em}
.lead{font-size:1.1rem;color:var(--muted);margin:.3em 0 1em}
.muted{color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;font-size:14px;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:4px}
.crumbs a{color:var(--muted)}
.hero{padding:10px 0}
.search input{width:100%;padding:14px 16px;font-size:1.05rem;border:2px solid var(--line);border-radius:12px;background:var(--card);color:var(--text)}
.search input:focus{outline:none;border-color:var(--brand)}
.links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.links li a{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-decoration:none;color:var(--text);height:100%}
.links li a:hover{border-color:var(--brand)}
.links small{color:var(--muted)}
.group h2 a{color:var(--text);text-decoration:none}
.tool{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.tool .row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:13px;font-weight:600;color:var(--muted)}
.tool input,.tool select{width:100%;padding:12px;font-size:1.1rem;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}
.tool select{font-size:.95rem}
.tool input:focus,.tool select:focus{outline:none;border-color:var(--brand)}
.swap{border:0;background:var(--brand);color:#fff;font-size:1.3rem;width:44px;height:44px;border-radius:50%;cursor:pointer;margin-bottom:2px}
.swap:hover{background:var(--brand-d)}
.result{font-size:1.35rem;font-weight:700;margin:16px 0 8px;background:var(--soft);padding:12px 16px;border-radius:10px;overflow-wrap:anywhere}
.copy-btn{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 14px;cursor:pointer}
.copy-btn:hover{border-color:var(--brand)}
.prose p{max-width:70ch}
.formula{font-size:1.2rem;font-weight:600;background:var(--card);border-left:4px solid var(--brand);padding:10px 14px;border-radius:6px}
.note{background:var(--soft);padding:10px 14px;border-radius:8px}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
th,td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--alt);font-size:14px}
tbody tr:nth-child(even){background:var(--alt)}
.site-footer{border-top:1px solid var(--line);background:var(--card);padding:20px 0;color:var(--muted);font-size:14px}
.copy{font-size:13px}
.page{position:relative}
.ad{margin:22px auto;text-align:center;line-height:0}
.ad a{display:inline-block;max-width:100%}
.ad img{max-width:100%;height:auto;display:block}
.top-ad .ad{margin:14px auto 0}
.bottom-ad .ad{margin:0 auto 30px}
.rail{display:none}
@media (min-width:1560px){
.rail{display:block;position:absolute;top:0;bottom:0;width:250px}
.rail-l{right:calc(50% + 516px)}
.rail-r{left:calc(50% + 516px)}
.rail-in{position:sticky;top:16px;padding-top:20px}
.rail .ad{margin:0}
}
@media (max-width:640px){.tool .row{grid-template-columns:1fr}.swap{justify-self:center;transform:rotate(90deg)}}
