:root{--bg:#fbf9fe;--surface:#fff;--surface2:#f3eefa;--ink:#1a1325;--muted:#564c64;--faint:#8a7f96;--line:#e6def0;--accent:#6d28d9;--accent-ink:#fff;--bad:#a3313b}
@media (prefers-color-scheme:dark){:root{--bg:#0e0912;--surface:#18111d;--surface2:#221829;--ink:#f6eff8;--muted:#cdbfd4;--faint:#a898b2;--line:#33263d;--accent:#e9a6f0;--accent-ink:#1a1020;--bad:#f08a92}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;interpolate-size:allow-keywords;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;height:60px}
.bar nav{display:flex;align-items:center;gap:16px}
.bar nav a{text-decoration:none;font-weight:600;font-size:15px}
.brand{font-weight:700;font-size:20px;text-decoration:none;color:var(--ink)}
.cta{display:inline-block;background:var(--accent);color:var(--accent-ink)!important;text-decoration:none;font-weight:600;padding:9px 14px;border-radius:12px;transition:transform .15s,box-shadow .15s}
.cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 30%,transparent)}
.cta.big{padding:13px 20px;font-size:17px}
main{padding-top:24px;padding-bottom:40px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}.crumbs a{text-decoration:none}
h1{font-size:clamp(30px,6.4vw,46px);line-height:1.1;letter-spacing:-.01em;margin:0 0 10px}
h2{font-size:21px;line-height:1.3;margin:36px 0 10px;scroll-margin-top:76px}
.lead{color:var(--muted);font-size:18px;margin:0 0 22px;max-width:62ch}
.meta{color:var(--faint);font-size:14px;margin:0 0 22px}
.guide p{margin:0 0 16px;max-width:66ch}
.short{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:16px 18px;margin:0 0 22px}
.short b{display:block;font-size:14px;color:var(--accent);margin-bottom:4px}.short p{margin:0}
.src{font-size:14px;color:var(--faint)}
.weights{border-collapse:collapse;width:100%;max-width:460px;font-size:15px;margin:6px 0 18px}
.weights caption{text-align:left;font-size:14px;color:var(--muted);padding-bottom:6px}
.weights td{padding:7px 8px 7px 0;border-top:1px solid var(--line)}.weights td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.weights tr.neg td{color:var(--bad)}
.jump{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.jump::-webkit-scrollbar{display:none}
.jump a{flex:none;padding:8px 13px;border-radius:999px;background:var(--surface2);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}
.links{list-style:none;padding:0;margin:0;display:grid;gap:0}
.links li{border-bottom:1px solid var(--line)}
.links a{display:flex;justify-content:space-between;gap:12px;padding:14px 2px;text-decoration:none;color:var(--ink);font-weight:600;line-height:1.4}
.links a::after{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-right:2px solid var(--faint);border-top:2px solid var(--faint);transform:rotate(45deg);transition:transform .15s}
.links a:hover{color:var(--accent)}.links a:hover::after{transform:translateX(3px) rotate(45deg)}
.links a[aria-current]{color:var(--muted)}
@media (min-width:720px){.topic .links{grid-template-columns:1fr 1fr;column-gap:28px}}
.related{margin-top:26px}
.all{margin:26px 0 0;font-weight:600}
details{border-bottom:1px solid var(--line);scroll-margin-top:76px}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:15px 0;font-weight:600;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:8px;height:8px;margin:6px 4px 0 0;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:rotate(-135deg);margin-top:10px}
summary:hover{color:var(--accent)}
details::details-content{height:0;overflow:clip;transition:height .25s ease,content-visibility .25s allow-discrete}
details[open]::details-content{height:auto}
.a{padding:0 0 14px;max-width:66ch}.a p{margin:0 0 10px}
.end{margin:44px 0 0;padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.end h2{margin:0 0 8px}.end p{margin:0 0 16px;color:var(--muted)}
.foot{font-size:14px;color:var(--muted);padding-bottom:40px;line-height:1.7}
@media (max-width:480px){.bar nav a:not(.cta){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
