:root{--ink:#12131A;--ink-soft:#4A5068;--paper:#FAFCFE;--paper-raised:#EEF4F8;--paper-line:#D7E2E9;--accent:#00AEEB;--accent-text:#0077A8;--accent-ink:#001824;--accent-deep:#281D87;color-scheme:light dark;}
@media (prefers-color-scheme:dark){:root{--ink:#E9EEF6;--ink-soft:#A9B1D0;--paper:#0B0E1C;--paper-raised:#151A30;--paper-line:#2A3155;--accent:#2FC4FF;--accent-text:#2FC4FF;}}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;padding:0 20px;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:760px;margin:0 auto;}
h1,h2,h3{font-family:'Big Shoulders Display',system-ui,sans-serif;text-wrap:balance;margin:0;letter-spacing:.01em;line-height:1.05;}
a{color:var(--accent-text);}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.skip{position:absolute;left:-9999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;z-index:100;}
.skip:focus{left:8px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-weight:600;}
header.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--paper-line);flex-wrap:wrap;}
.logo img{height:44px;width:auto;}
nav.top-links{display:flex;gap:22px;font-size:.85rem;align-items:center;}
nav.top-links a{text-decoration:none;color:var(--ink-soft);}
nav.top-links a:hover{color:var(--accent-text);}
nav.top-links .nav-cta{color:var(--accent-ink);background:var(--accent);padding:9px 14px;font-family:'IBM Plex Mono',monospace;font-size:.74rem;font-weight:600;text-transform:uppercase;}
.crumbs{font-size:.8rem;color:var(--ink-soft);margin:22px 0 0;font-family:'IBM Plex Mono',monospace;}
.crumbs a{text-decoration:none;}
.art-head{padding:26px 0 8px;}
.art-head h1{font-size:clamp(2rem,5vw,3rem);margin-top:10px;}
.art-head .sub{color:var(--ink-soft);font-size:1.08rem;}
.meta{font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--ink-soft);margin:14px 0 0;}
.answer{margin:22px 0;padding:20px 22px;border-left:3px solid var(--accent);background:var(--paper-raised);}
.answer p{margin:8px 0 0;font-size:1.08rem;}
.prose h2{font-size:1.8rem;margin:2.2rem 0 .6rem;}
.prose h3{font-size:1.3rem;margin:1.6rem 0 .4rem;}
.prose p,.prose li{font-size:1.04rem;}
.prose ul,.prose ol{padding-left:1.3rem;}
.prose blockquote{margin:1.2rem 0;padding:12px 18px;border-left:3px solid var(--paper-line);color:var(--ink-soft);}
.tbl{overflow-x:auto;margin:1.2rem 0;}
table{border-collapse:collapse;width:100%;min-width:520px;}
th,td{border:1px solid var(--paper-line);padding:10px 14px;text-align:left;font-size:.92rem;vertical-align:top;}
thead th{background:var(--paper-raised);font-family:'IBM Plex Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}
tbody th{font-weight:600;}
.author{margin-top:2.4rem;padding-top:1rem;border-top:1px solid var(--paper-line);}
.author h2{font-size:1.1rem;}
.author p{font-size:.92rem;color:var(--ink-soft);}
.cta-box{margin:40px 0;padding:32px 28px;background:var(--accent-deep);color:#F2EFFF;}
.cta-box h2{font-size:1.8rem;color:#F2EFFF;}
.cta-box p{color:#D8D2FF;}
.btn{font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:600;text-transform:uppercase;padding:13px 20px;border:1px solid #fff;color:#fff;text-decoration:none;display:inline-block;margin:6px 8px 0 0;}
.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);}
.art-list{list-style:none;padding:0;margin:24px 0;}
.art-list li{border-top:1px solid var(--paper-line);}
.art-list a{display:block;padding:22px 0;text-decoration:none;color:inherit;}
.art-list h2{font-size:1.6rem;margin:6px 0;}
.art-list a:hover h2{color:var(--accent-text);}
.art-list p{margin:0;color:var(--ink-soft);}
footer{padding:30px 0 50px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:var(--ink-soft);font-size:.8rem;font-family:'IBM Plex Mono',monospace;border-top:1px solid var(--paper-line);}
footer a{color:inherit;text-decoration:none;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
