@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#0a0d0b;--panel:#101410;--ink:#eef2e9;--muted:#919a8f;--green:#b5ff39;--violet:#bea4e9;--line:#ffffff16}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% 8%,#7950b31c,transparent 26%),var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif}.guide-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:74px;padding:0 4%;border-bottom:1px solid var(--line);background:#090c0ae8;backdrop-filter:blur(16px);font-size:9px;letter-spacing:1.7px}.guide-header>a:last-child{justify-self:end;color:var(--green)}.guide-brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--ink)}.guide-brand img{border-radius:50%}a{color:inherit;text-decoration:none}.guide-layout{display:grid;grid-template-columns:255px minmax(0,850px);gap:70px;max-width:1240px;margin:auto;padding:62px 5% 120px}.guide-layout aside{position:sticky;top:112px;align-self:start}.guide-layout aside>p,.eyebrow{margin:0 0 18px;color:var(--green);font-size:9px;letter-spacing:1.8px}.guide-layout nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}.guide-layout nav a{padding:10px 0;border-bottom:1px solid #ffffff0b;color:#8e978c;font-size:11px}.guide-layout nav a:hover{color:var(--green)}.guide-layout aside small{display:block;margin-top:25px;color:#596258;font-size:8px;line-height:1.7}.guide-hero{padding:18px 0 84px}.guide-hero h1{margin:0;font:500 clamp(58px,8vw,92px)/.88 'Cormorant Garamond',Georgia,serif;letter-spacing:-3px}.guide-hero h1 em,h2 em{color:var(--green);font-weight:400}.guide-hero>p{max-width:690px;margin:34px 0 0;color:#a8b0a5;font-size:16px;line-height:1.75}.guide-actions{display:flex;gap:12px;margin-top:32px}.guide-actions a{padding:13px 18px;border:1px solid #b5ff394d;color:var(--green);font-size:10px;letter-spacing:1px;text-transform:uppercase}.guide-actions a:last-child{background:var(--green);color:#0a0d0b}main>section:not(.guide-hero){padding:76px 0;border-top:1px solid var(--line);scroll-margin-top:100px}h2{margin:0 0 24px;font:500 clamp(42px,6vw,62px)/1 'Cormorant Garamond',Georgia,serif}section>p:not(.eyebrow){max-width:760px;color:#a5ada2;font-size:14px;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:32px;background:var(--line);border:1px solid var(--line)}.feature-grid article{padding:27px;background:#0d110e}.feature-grid h3{margin:0 0 12px;font:500 26px 'Cormorant Garamond',Georgia,serif}.feature-grid p,.plain-list,.steps{color:#8d968b;font-size:12px;line-height:1.7}.steps{margin:32px 0 0;padding:0;list-style:none;counter-reset:step}.steps li{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:19px 0;border-top:1px solid var(--line);counter-increment:step}.steps li b::before{content:'0' counter(step);margin-right:15px;color:var(--violet);font-size:9px}.plain-list{padding-left:19px}.plain-list li{margin:9px 0}.note{margin-top:25px!important;padding-top:18px;border-top:1px solid #b5ff3930;color:#7f8a7d!important;font-size:11px!important}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:32px;background:var(--line)}.comparison>div{padding:26px;background:linear-gradient(145deg,#0e130f,#15101d)}.comparison span{color:var(--violet);font-size:8px;letter-spacing:1.3px}.comparison p{margin:14px 0 0;color:#929b90;font-size:11px;line-height:1.7}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:19px 0;cursor:pointer;font:500 20px 'Cormorant Garamond',Georgia,serif}details p{padding:0 0 19px;color:#90998e;font-size:12px;line-height:1.7}footer{display:flex;justify-content:space-between;padding:30px 5%;border-top:1px solid var(--line);color:#697268;font-size:9px}footer a{color:var(--green)}@media(max-width:820px){.guide-header{grid-template-columns:1fr auto}.guide-header>span{display:none}.guide-layout{grid-template-columns:1fr;padding-top:35px}.guide-layout aside{position:static}.guide-layout aside nav{display:grid;grid-template-columns:1fr 1fr}.guide-layout aside small{display:none}.guide-hero{padding-top:35px}.feature-grid,.comparison{grid-template-columns:1fr}.steps li{grid-template-columns:1fr;gap:6px}.guide-hero h1{letter-spacing:-2px}}@media(max-width:500px){.guide-header{padding:0 20px}.guide-header>a:last-child{display:none}.guide-layout{padding-inline:20px}.guide-layout aside nav{grid-template-columns:1fr}.guide-actions{flex-direction:column}.guide-actions a{text-align:center}}
main>section>h3{margin:46px 0 14px;font:500 26px 'Cormorant Garamond',Georgia,serif;color:var(--ink)}
.table-wrap{margin-top:30px;overflow-x:auto}
.alloc{width:100%;min-width:420px;border-collapse:collapse;font-size:12px;color:#8d968b}
.alloc th{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--violet);font-size:8px;font-weight:500;letter-spacing:1.3px;text-align:left}
.alloc td{padding:14px 16px;border-bottom:1px solid #ffffff0b}
.alloc th:nth-child(n+2),.alloc td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.alloc tfoot td{border-bottom:0;border-top:1px solid var(--line);color:var(--ink)}
@media(max-width:500px){.alloc{min-width:340px;font-size:11px}.alloc th,.alloc td{padding:12px 9px}}
/* ── Documentation shell: sidebar, contents, search, pager ───────────────── */
.guide-header{grid-template-columns:auto 1fr auto auto;gap:18px}
.menu-toggle,.search-open{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#0e120f;color:#9aa494;font:inherit;font-size:10px;letter-spacing:1.2px;padding:9px 14px;border-radius:4px;cursor:pointer}
.menu-toggle{display:none}
.search-open{justify-self:end;min-width:190px}
.search-open:hover{border-color:#b5ff3955;color:var(--ink)}
.search-open kbd,.search-hint kbd{margin-left:auto;padding:2px 6px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:9px;color:#6f7a6d}
.header-memory{justify-self:end;color:var(--green);font-size:9px;letter-spacing:1.7px}
.guide-layout{grid-template-columns:238px minmax(0,1fr) 190px;gap:52px;max-width:1420px}
.version-row{margin-bottom:22px}
.version-row label{display:block;margin-bottom:8px;color:var(--green);font-size:8px;letter-spacing:1.8px}
#version{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:4px;background:#0e120f;color:#b9c2b6;font:inherit;font-size:11px}
.nav-group{margin:22px 0 7px;color:#5d6a5b;font-size:8px;letter-spacing:1.8px}
.nav-group:first-child{margin-top:0}
#sidenav{display:flex;flex-direction:column;border-top:0}
.nav-link{padding:7px 12px;border:0;border-left:2px solid transparent;color:#8e978c;font-size:12px;line-height:1.45}
.nav-link:hover{color:var(--ink)}
.nav-link.active{border-left-color:var(--green);background:#b5ff390d;color:var(--green)}
.crumb{display:flex;gap:9px;margin:0 0 26px;color:#5f6a5d;font-size:9px;letter-spacing:1.6px;text-transform:uppercase}
.crumb b{color:#39423a;font-weight:400}
#main>article{padding:0 0 10px;border:0}
#main>article>section,main>section:not(.guide-hero){padding:0;border-top:0}
#main>article.is-hero .guide-hero{padding-top:0}
#toc{position:sticky;top:112px;align-self:start}
#toc>p{margin:0 0 14px;color:var(--green);font-size:8px;letter-spacing:1.8px}
#toclist{display:flex;flex-direction:column;border-left:1px solid var(--line)}
#toclist a{padding:6px 0 6px 14px;margin-left:-1px;border-left:1px solid transparent;color:#828c80;font-size:11px;line-height:1.5}
#toclist a:hover{border-left-color:var(--green);color:var(--ink)}
#toclist a.toc-sub{padding-left:26px;font-size:10px;color:#6d766b}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:64px;background:var(--line);border:1px solid var(--line)}
.pager a{display:flex;flex-direction:column;gap:7px;padding:22px;background:#0d110e}
.pager a:hover{background:#111710}
.pager small{color:#5f6a5d;font-size:8px;letter-spacing:1.6px}
.pager b{font:500 20px 'Cormorant Garamond',Georgia,serif;color:var(--ink)}
.pager-next{text-align:right}
.pager span:empty{background:#0b0e0c}
.archive-note{margin-top:34px;padding:14px 17px;border:1px solid #bea4e955;border-radius:4px;color:var(--violet);font-size:11px}
/* search */
.search-panel{position:fixed;inset:0;z-index:20;display:flex;justify-content:center;padding:11vh 20px 20px;background:#05080699;backdrop-filter:blur(7px)}
.search-box{display:flex;flex-direction:column;width:100%;max-width:640px;max-height:74vh;border:1px solid #ffffff1f;border-radius:8px;background:#0c100d;box-shadow:0 30px 90px #000000a6;overflow:hidden}
.search-field{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);color:#7b8579}
#search-input{flex:1;border:0;background:none;color:var(--ink);font:inherit;font-size:15px;outline:0}
#search-close{border:1px solid var(--line);border-radius:3px;background:none;color:#79836f;font:inherit;font-size:9px;padding:4px 8px;cursor:pointer}
.search-results{flex:1;overflow-y:auto;padding:8px}
.search-hit{display:block;padding:13px 15px;border-radius:5px;border:1px solid transparent}
.search-hit small{display:block;color:var(--violet);font-size:8px;letter-spacing:1.3px}
.search-hit b{display:block;margin:6px 0 5px;font:500 19px 'Cormorant Garamond',Georgia,serif;color:var(--ink)}
.search-hit span{display:block;color:#8d968b;font-size:11.5px;line-height:1.65}
.search-hit.on{background:#b5ff390f;border-color:#b5ff3940}
.search-hit mark{background:#b5ff3926;color:var(--green)}
.search-empty{margin:0;padding:22px 16px;color:#79836f;font-size:12px}
.search-hint{display:flex;align-items:center;gap:7px;margin:0;padding:11px 16px;border-top:1px solid var(--line);color:#5f6a5d;font-size:9px;letter-spacing:.6px}
.search-hint kbd{margin-left:0}
body.searching{overflow:hidden}
@media(max-width:1180px){.guide-layout{grid-template-columns:230px minmax(0,1fr);gap:46px}#toc{display:none}}
@media(max-width:820px){
 .guide-header{grid-template-columns:auto auto 1fr;gap:12px}
 .menu-toggle{display:flex}
 .header-memory{display:none}
 .search-open{min-width:0}.search-open-text,.search-open kbd{display:none}
 .guide-layout{grid-template-columns:1fr;padding-top:26px}
 .guide-layout aside#sidebar{position:fixed;inset:74px 0 0;z-index:15;display:none;overflow-y:auto;padding:26px 7%;background:#0a0d0bfa}
 body.menu-open aside#sidebar{display:block}
 body.menu-open{overflow:hidden}
 .guide-layout aside#sidebar nav{display:flex}
 .guide-layout aside small{display:block}
 .nav-link{padding:11px 12px;font-size:13px}
 .pager{grid-template-columns:1fr}
}
/* The hidden attribute must win over any display rule an element also carries. */
[hidden]{display:none!important}
.comparison.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1180px){.comparison.three{grid-template-columns:1fr}}

/* Status markers. A roadmap that does not separate what is live from what is being
   explored is a wish list, so the distinction is carried visually as well as in words. */
.badge{display:inline-block;padding:3px 9px;border:1px solid #ffffff24;border-radius:999px;
 font-size:10px;font-weight:600;letter-spacing:.6px;color:#8d968b;white-space:nowrap}
.badge-live{border-color:#b5ff3959;background:#b5ff3914;color:#b5ff39}
/* The one-line gloss under a capability name, so the table reads without a third column. */
.alloc .sub{display:block;margin-top:3px;font-size:12px;color:#8d968b;line-height:1.5}

/* Responsive reading sizes. Labels remain compact; explanatory copy gets more room. */
.guide-layout nav a{font-size:clamp(11.5px,.82vw,12.5px)}
.guide-layout aside small{font-size:clamp(9px,.68vw,10px)}
.guide-hero>p{font-size:clamp(16px,1.14vw,17.5px)}
section>p:not(.eyebrow){font-size:clamp(14.5px,1vw,15.5px)}
.feature-grid p,.plain-list,.steps{font-size:clamp(12.5px,.9vw,13.5px)}
@media(max-width:700px){
 .guide-hero>p{font-size:16px;line-height:1.7}
 section>p:not(.eyebrow){font-size:14.5px;line-height:1.75}
 .feature-grid p,.plain-list,.steps{font-size:13px}
}
