:root{color-scheme:dark;--bg:#0d0d16;--panel:#171622;--line:#302b40;--ink:#f6f4fb;--muted:#b8b2c9;--accent:#c6afff;--soft:#251d39}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#fff}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:16px;top:-80px;background:var(--panel);padding:10px;z-index:2}.skip:focus{top:10px}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1500px;margin:auto;min-height:100vh}aside{padding:32px 24px;border-right:1px solid var(--line)}.brand{display:block;font-size:23px;font-weight:750;text-decoration:none;color:var(--ink);letter-spacing:-.5px}.edition{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:5px 0 24px}nav a{display:block;padding:8px 12px;margin:3px 0;border-radius:8px;text-decoration:none;color:var(--muted)}nav a[aria-current=page]{background:var(--soft);color:var(--ink)}main{min-width:0;padding:46px clamp(24px,5vw,76px) 72px;max-width:1100px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.035em;margin:10px 0 20px}h2{font-size:25px;line-height:1.3;margin:44px 0 16px;letter-spacing:-.02em}h3{font-size:18px;margin:26px 0 10px}p{margin:12px 0}.lead{font-size:19px;color:var(--muted);max-width:760px}.note,.check{padding:16px 20px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;background:var(--panel);margin:22px 0}.check{border-left-color:#cce79d}.note p:first-child,.check p:first-child{margin-top:0}.note p:last-child,.check p:last-child{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted)}.table{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:18px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:13px 16px;vertical-align:top;border-bottom:1px solid var(--line)}th{background:var(--soft);color:var(--ink)}tr:last-child td{border-bottom:0}td{min-width:130px}code{font: .9em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#e4d5ff;overflow-wrap:anywhere}pre{background:#08080f;border:1px solid var(--line);padding:18px;border-radius:10px;overflow:auto;line-height:1.55}pre code{overflow-wrap:normal;white-space:pre}li{padding-left:3px;margin:7px 0}ol,ul{padding-left:25px}.toc{padding:16px 22px;background:var(--panel);border-radius:10px;columns:2}.toc a{display:block;margin:6px 0}footer{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:48px;padding-top:20px}.tag{display:inline-block;font-size:12px;border:1px solid var(--line);padding:3px 9px;border-radius:20px;color:var(--muted)}blockquote{margin:20px 0;padding:18px 24px;border-left:3px solid var(--accent);background:var(--panel)}@media(max-width:800px){.shell{grid-template-columns:1fr}aside{padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}.edition{margin-bottom:10px}nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:6px 10px;font-size:14px}main{padding:30px 20px 50px}.grid{grid-template-columns:1fr}.toc{columns:1}h2{margin-top:32px}}@media print{body{background:#fff;color:#111;font-size:11pt}.shell{display:block}aside,.skip{display:none}main{max-width:none;padding:0}h1,h2,h3{break-after:avoid}.note,.check,.card,pre{background:#fff;border-color:#aaa;break-inside:avoid}a,code,.lead,.card p,footer{color:#333}.table{overflow:visible}th{background:#eee}th,td{border-color:#aaa}pre code{white-space:pre-wrap}.grid{display:block}.card{margin-bottom:12px}}

/* Public handbook navigation */
.brand{display:flex;align-items:center;gap:12px}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#b99aff;color:#201137;font-size:22px}.nav-group{margin:18px 0}.nav-group>span{display:block;color:#d8cde9;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:8px 12px}.navigation summary{cursor:pointer;padding:10px 0;font-weight:650}.navigation summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.demo-link{display:block;margin-top:24px}.card{display:block;text-decoration:none;color:var(--ink)}.card h2{font-size:21px;margin:14px 0 10px}.card:hover{border-color:var(--accent);background:#201b30}aside{position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}nav a{font-size:14px;line-height:1.45;min-height:40px}.table:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main{padding-top:48px}h1{max-width:820px}section{scroll-margin-top:20px}@media(max-width:800px){aside{position:static;height:auto;padding:18px 20px}.navigation{margin-top:12px}.navigation[open] nav{max-height:280px;overflow-y:auto;display:block;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nav-group{margin:12px 0}.nav-group a{min-height:44px;display:block}.demo-link{margin-top:12px}.edition{margin-bottom:0}main{padding-top:28px}.grid{gap:12px}.card{padding:18px}td{min-width:145px}.lead{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{aside{display:none}.card:hover{background:white}a{color:#333}}
/* Readable table rows on phones, with every column label retained. */
@media screen and (max-width:600px){
 .table table,.table tbody,.table tr,.table td{display:block;width:100%}
 .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .table td{min-width:0;border-bottom:0;overflow-wrap:anywhere;padding:10px 16px}
 .table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.025em;color:var(--accent);margin-bottom:5px}
 .table tr{border-bottom:1px solid var(--line);padding:6px 0}
 .table tr:last-child{border-bottom:0}
}

