:root{--ink:#0D1B45;--flux:#1558FF;--violet:#6A2FD5;--haze:#EDF2FF;--paper:#FAFAFC;
--line:#D6E0F5;--mute:#5B6787;--white:#fff;--grad:linear-gradient(135deg,#1558FF,#6A2FD5);
--ff-d:'Space Grotesk',system-ui,sans-serif;--ff-b:'Instrument Sans',system-ui,sans-serif;
--ff-m:'JetBrains Mono',ui-monospace,monospace;--gutter:1.5rem}
@media(min-width:1024px){:root{--gutter:3rem}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ff-b);
font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
a{color:var(--flux);text-decoration:none}a:hover{color:var(--violet);text-decoration:underline}
:where(a,button):focus-visible{outline:2px solid var(--flux);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:.75rem 1.25rem;
background:var(--flux);color:#fff;border-radius:0 0 8px 0;font-weight:500}
.skip:focus{left:0;text-decoration:none}
/* nav */
.lnav{position:sticky;top:0;z-index:50;background:rgba(250,250,252,.94);
backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-block:.85rem}
.lnav__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.lnav__logo{display:flex;align-items:center;gap:.6rem;color:var(--ink)}
.lnav__logo:hover{text-decoration:none;color:var(--ink)}
.lnav__mark{width:26px;height:26px;border-radius:7px;background:var(--grad);flex:none}
.lnav__name{font-family:var(--ff-d);font-weight:700;font-size:1rem;letter-spacing:-.03em}
.lnav__links{display:flex;gap:.15rem;flex-wrap:wrap}
.lnav__links a{padding:.45rem .8rem;border-radius:999px;font-size:.85rem;font-weight:500;
color:var(--ink);transition:background .2s,color .2s}
.lnav__links a:hover{background:var(--haze);color:var(--flux);text-decoration:none}
.lnav__links a.is-on{background:var(--haze);color:var(--flux)}
/* doc */
.doc{max-width:56rem;padding-block:clamp(2.5rem,5vw,4rem) clamp(4rem,8vw,6rem)}
.crumbs{font-family:var(--ff-m);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
color:var(--mute);margin-bottom:1.5rem}
.crumbs span[aria-current]{color:var(--ink)}
h1{font-family:var(--ff-d);font-size:clamp(2.1rem,4.5vw,3.25rem);font-weight:700;
letter-spacing:-.035em;line-height:1.05;margin:0 0 1rem}
.eff{font-family:var(--ff-m);font-size:.72rem;letter-spacing:.06em;color:var(--mute);margin:0 0 2rem}
.meta{text-transform:uppercase;letter-spacing:.12em;color:var(--flux)}
.lede{font-size:1.15rem;line-height:1.65;color:var(--mute);
padding:1.5rem;background:var(--haze);border-radius:16px;margin:0 0 2.5rem;max-width:none}
.toc{margin:0 0 3rem;padding:1.5rem 1.75rem;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.toc p{margin:0 0 .75rem;font-family:var(--ff-m);font-size:.7rem}
.toc ol{margin:0;padding-left:1.2rem;columns:2;column-gap:2rem}
@media(max-width:640px){.toc ol{columns:1}}
.toc li{margin-bottom:.4rem;font-size:.92rem}
.doc section{margin-bottom:2.75rem;scroll-margin-top:5rem}
h2{font-family:var(--ff-d);font-size:1.55rem;font-weight:700;letter-spacing:-.02em;
line-height:1.25;margin:0 0 1rem;padding-top:1.25rem;border-top:1px solid var(--line)}
h3{font-family:var(--ff-d);font-size:1.1rem;font-weight:500;letter-spacing:-.01em;margin:1.75rem 0 .6rem}
.doc p{margin:0 0 1rem}
.doc ul,.doc ol{margin:0 0 1rem;padding-left:1.3rem}
.doc li{margin-bottom:.5rem}
.doc strong{font-weight:600}
code{font-family:var(--ff-m);font-size:.85em;background:var(--haze);padding:.15em .4em;border-radius:4px}
.legal-caps{font-size:.92rem;line-height:1.65;padding:1rem 1.25rem;background:var(--haze);
border-left:3px solid var(--flux);border-radius:0 8px 8px 0}
.rule{height:1px;background:var(--line);border:0;margin:3rem 0 1.5rem}
.fine{font-size:.85rem;color:var(--mute)}
/* hub cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin-top:2rem}
.lcard{display:block;padding:1.6rem;border:1px solid var(--line);border-radius:20px;
background:var(--white);color:var(--ink);transition:border-color .25s,transform .25s}
.lcard:hover{border-color:var(--flux);transform:translateY(-3px);text-decoration:none;color:var(--ink)}
.lcard h2{font-size:1.15rem;border:0;padding:0;margin:0 0 .5rem}
.lcard p{font-size:.92rem;color:var(--mute);margin:0}
/* footer */
.lfoot{background:var(--ink);color:var(--paper);padding-block:2rem;margin-top:3rem}
.lfoot__in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
font-family:var(--ff-m);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,250,252,.6)}
.lfoot nav{display:flex;gap:1.25rem;flex-wrap:wrap}
.lfoot a{color:rgba(250,250,252,.85)}.lfoot a:hover{color:var(--flux)}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
@media print{.lnav,.lfoot,.skip,.toc{display:none}body{background:#fff}
.doc{max-width:none}a{color:#000;text-decoration:underline}}
