:root{--bg:#f4f6fa;--card:#fff;--tx:#0f1b2d;--mu:#5d6b82;--bd:#e3e8f0;--ac:#0b8f6a;--ac2:#2f5bd8;--navbg:rgba(255,255,255,.86);--sh:0 1px 2px rgba(15,27,45,.04),0 10px 28px rgba(15,27,45,.07);--serif:ui-serif,"Iowan Old Style","Palatino Linotype",Georgia,serif}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1220;--card:#121a2b;--tx:#e9eef7;--mu:#93a1b8;--bd:#222d44;--ac:#34d3a0;--ac2:#7ea2ff;--navbg:rgba(18,26,43,.86);--sh:0 10px 28px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--bg:#0b1220;--card:#121a2b;--tx:#e9eef7;--mu:#93a1b8;--bd:#222d44;--ac:#34d3a0;--ac2:#7ea2ff;--navbg:rgba(18,26,43,.86);--sh:0 10px 28px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ac2)}
.site-nav{position:sticky;top:0;z-index:20;background:var(--navbg);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--bd)}
.nav-in{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px}
.site-nav a,.dd-btn{color:var(--tx);text-decoration:none;font-size:.93rem}
.site-nav a:hover,.dd-btn:hover{color:var(--ac2)}
.site-nav .brand{font-family:var(--serif);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;margin-right:auto}
.menu{display:flex;align-items:center;gap:18px}
.site-nav a.calc{background:var(--ac2);color:var(--bg);padding:5px 14px;border-radius:999px;font-weight:600}
.site-nav a.calc:hover{color:var(--bg);filter:brightness(1.08)}
.dd{position:relative}
.dd-btn,.nav-toggle,.site-nav a{-webkit-tap-highlight-color:transparent}
.dd-btn:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--ac2);outline-offset:2px;border-radius:8px}
.dd-btn{background:none;border:0;font:inherit;font-size:.93rem;cursor:pointer;padding:5px 2px}
.dd-list{display:none;position:absolute;right:0;top:100%;min-width:230px;background:var(--card);border:1px solid var(--bd);border-radius:12px;box-shadow:var(--sh);padding:6px;z-index:30}
.dd-list a{display:block;padding:9px 12px;border-radius:8px}
.dd-list a:hover{background:var(--bg)}
.dd:hover .dd-list,.dd.open .dd-list{display:block}
.nav-toggle{display:none;background:none;border:1px solid var(--bd);color:var(--tx);border-radius:10px;font-size:1.2rem;line-height:1;padding:6px 11px;cursor:pointer}
@media(max-width:760px){.nav-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--bd);box-shadow:var(--sh);flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px}.site-nav.open .menu{display:flex}.site-nav a.calc{text-align:center;padding:9px 14px}.dd:hover .dd-list{display:none}.dd.open .dd-list{display:block}.dd-list{position:static;border:0;box-shadow:none;padding:0 0 0 8px;min-width:0;background:none}.dd-btn{width:100%;text-align:left;padding:10px 4px}}
.wrap h2{font-family:var(--serif);font-size:1.4rem;margin:28px 0 4px;letter-spacing:-.01em}
.art,.wrap{max-width:740px;margin:0 auto;padding:30px 18px 56px}
.wrap{max-width:1040px}
.art{line-height:1.75}
.art h1,.wrap h1{font-family:var(--serif);font-size:2.1rem;line-height:1.2;letter-spacing:-.015em;margin:8px 0 10px}
.art h2{font-family:var(--serif);font-size:1.4rem;margin:34px 0 8px;letter-spacing:-.01em}
.art h3{font-size:1.05rem;margin:20px 0 4px}
.crumbs,.meta{font-size:.84rem;color:var(--mu)}
.art table{width:100%;border-collapse:collapse;font-size:.95rem;margin:14px 0;background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden}
.art th,.art td{padding:9px 12px;border-bottom:1px solid var(--bd);text-align:right}
.art th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mu);background:var(--bg)}
.art th:first-child,.art td:first-child{text-align:left}
.art tr:last-child td{border-bottom:0}
.art code{background:var(--card);border:1px solid var(--bd);border-radius:6px;padding:2px 7px}
.resp{background:var(--card);border:1px solid var(--bd);border-left:4px solid var(--ac);border-radius:12px;padding:14px 18px;margin:18px 0;box-shadow:var(--sh)}
.toc{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:14px 18px;margin:16px 0;font-size:.92rem}
.toc ol{margin:6px 0 0;padding-left:20px}
.cta{background:linear-gradient(135deg,var(--card),var(--bg));border:1px solid var(--bd);border-left:4px solid var(--ac2);border-radius:14px;padding:16px 18px;margin:30px 0;box-shadow:var(--sh)}
.rel{margin-top:32px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:12px 0 28px}
.card2{display:block;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px;text-decoration:none;color:var(--tx);box-shadow:var(--sh);transition:transform .15s,border-color .15s}
.card2:hover{border-color:var(--ac2);transform:translateY(-2px)}
.card2 b{display:block;margin-bottom:4px;line-height:1.35}
.card2 span{font-size:.88rem;color:var(--mu)}
.disc{font-size:.82rem;color:var(--mu);margin-top:34px;border-top:1px solid var(--bd);padding-top:14px}
.foot{max-width:1040px;margin:0 auto;padding:8px 18px 36px;font-size:.84rem;color:var(--mu)}
.foot nav{margin-bottom:6px}.foot a{color:var(--mu)}
