:root{color:#e8f0eb;font-synthesis:none;--ink:#e8f0eb;--muted:#9aaca3;--line:#29413a;--panel:#11231e;--accent:#c8f36b;--accent-2:#79d8b0;background:#091311;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 84% 4%,#1b4034 0,#0000 30rem),#091311;min-width:320px;margin:0}::selection{color:var(--ink);background:#c8f36b47}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.skip-link{z-index:100;background:var(--accent);color:#0d1b13;border-radius:8px;padding:10px 16px;font-size:.85rem;font-weight:700;text-decoration:none;transition:top .18s;position:absolute;top:-60px;left:16px}.skip-link:focus-visible{outline-color:var(--ink);top:12px}a{color:inherit}.shell{width:min(1120px,100% - 40px);margin:0 auto}.site-header{backdrop-filter:blur(16px);z-index:10;background:#091311c7;border-bottom:1px solid #79d8b026;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.brand{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#0d1b13;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}nav{gap:6px;display:flex}nav a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:9px 13px;font-size:.9rem;text-decoration:none;transition:color .16s,background .16s}nav a:hover,nav a.active{color:var(--ink);background:#173128}main{min-height:calc(100vh - 250px)}.site-footer{color:var(--muted);border-top:1px solid #79d8b026;margin-top:80px;padding:34px 0 22px;font-size:.87rem}.footer-grid{justify-content:space-between;gap:36px;display:flex}.footer-grid p{max-width:290px;line-height:1.6}.footer-links{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.footer-links a{text-decoration:none;transition:color .16s}.footer-links a:hover{color:var(--accent)}.footer-note{border-top:1px solid #79d8b01f;justify-content:space-between;gap:20px;margin-top:24px;padding-top:18px;font-family:DM Mono,monospace;font-size:.76rem;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);font:500 .74rem DM Mono,monospace}h1,h2,h3{letter-spacing:-.045em;margin:0;line-height:1.06}h1{max-width:760px;font-size:clamp(2.6rem,7vw,5.9rem)}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:1.2rem}p{line-height:1.7}.muted{color:var(--muted)}.button{background:var(--accent);color:#0d1b13;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;padding:12px 17px;font:700 .9rem inherit;text-decoration:none;transition:filter .16s,transform .16s;display:inline-flex}.button:hover{filter:brightness(1.05);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button.secondary{color:var(--ink);border:1px solid var(--line);background:#173128}.prose{max-width:780px}.prose p,.prose li{color:#c4d0ca;font-size:1.02rem}.prose strong{color:var(--ink)}.prose h2{margin:58px 0 18px}.prose h3{margin:30px 0 8px}.prose a{color:var(--accent);text-underline-offset:3px;transition:color .16s}.prose a:hover{color:var(--accent-2)}.prose ul,.prose ol{padding-left:22px;line-height:1.8}.prose table{border-collapse:collapse;width:100%;margin:22px 0;font-size:.9rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px}.prose th{color:var(--accent);font-weight:600}.article{padding:82px 0 20px}.article h1{margin:14px 0 22px;font-size:clamp(2.2rem,5.5vw,3.9rem)}.prose .lede{color:var(--ink);max-width:700px;font-size:1.2rem}@media (width<=680px){.shell{width:min(100% - 28px,1120px)}.nav-wrap{gap:14px;height:64px}nav a{padding:8px 9px;font-size:.8rem}.brand{font-size:.95rem}.footer-grid,.footer-note{flex-direction:column}.footer-grid{gap:26px}.footer-note{gap:10px}.prose table{display:block;overflow-x:auto}.article{padding:56px 0 10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
