.gate{background:var(--surface);border-block:1px solid var(--line)}
.gate-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.gate h2{margin:10px 0 12px}
.gate p{color:var(--muted);font-size:18px;max-width:34em;margin:0 0 14px}
.gate-pts{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:var(--ink);font-size:17px}
.gate-pts li{padding-left:26px;position:relative}
.gate-pts li:before{content:"";position:absolute;left:0;top:.35em;width:14px;height:14px;border:2px solid var(--accent)}
.gate-card{background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--signal);padding:24px}
.gform{display:grid;gap:12px}
.gform .r{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gform label{display:block;font:500 13px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.gform input[type=text],.gform input[type=email]{width:100%;font:400 17px var(--f-body);padding:13px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:0}
.gform input:focus{outline:3px solid var(--signal);outline-offset:1px}
.gform .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.gbtn{font:700 18px var(--f-display);background:var(--accent);color:var(--accent-ink);border:0;padding:16px 26px;cursor:pointer;justify-self:start}
.gbtn:hover{filter:brightness(1.1)}.gbtn:disabled{opacity:.6;cursor:wait}
.gfine{font-size:14px;color:var(--muted);margin:0}
.gmsg{display:none;border-left:4px solid #B4412B;padding:10px 14px;background:var(--surface);font-size:16px;color:var(--muted)}
.gmsg.show{display:block}
.gok{display:none}.gok.show{display:block}
.gok h3{font-size:22px;margin:0 0 8px}.gok p{font-size:16px;margin:0 0 16px}
.gate.done .gform{display:none}
@media (max-width:820px){.gate-grid{grid-template-columns:1fr;gap:28px}}
@media (max-width:520px){.gform .r{grid-template-columns:1fr}}
pre.code{display:block;padding:12px 16px;max-width:46em;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0 0 16px;font:500 15px var(--f-mono);background:var(--surface);border:1px solid var(--line)}
.note{font-size:15px;color:var(--muted);max-width:46em;margin:12px 0 0}
.prose code{font:500 15px var(--f-mono);background:var(--surface);border:1px solid var(--line);padding:2px 6px}
.toc{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding:0;list-style:none;font:500 14px var(--f-mono)}
.toc a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.toc a:hover{color:var(--ink)}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.hubcard{border-top:4px solid var(--signal);background:var(--surface);border-inline:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px}
.hubcard h3{margin:0 0 8px;font-size:22px}.hubcard h3 a{color:var(--ink)}
.hubcard p{color:var(--muted);font-size:16px;margin:0 0 12px}
.hubcard .more{font-weight:700}
.gsvg{display:block;width:100%;height:auto}
.gsvg .gs{fill:var(--surface)}.gsvg .gb{fill:var(--bg)}.gsvg .gl{stroke:var(--line)}
.gsvg .ga{fill:var(--accent)}.gsvg .ga2{stroke:var(--accent)}
.gsvg .gg{fill:var(--signal)}.gsvg .gg[fill=none]{fill:none;stroke:var(--signal)}
.gsvg .gi{fill:var(--ink)}.gsvg .gm{fill:var(--muted)}
.gsvg .gm2{fill:var(--line)}.gsvg .gm2[fill=none]{fill:none;stroke:var(--muted)}
.gsvg .gbar{fill:var(--line)}
.gsvg .gw{fill:#fff}.gsvg .gk{fill:#0F1C2B}.gsvg .gw2{stroke:#fff;fill:none}
.gsvg .gt{font-family:var(--f-mono),monospace}
.phero.gh{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)!important;gap:48px;align-items:center}
.gart{min-width:0}
.hart{display:block;margin:-22px -22px 16px}
.hart .gsvg{border-bottom:1px solid var(--line)}
.hart .gsvg>rect:first-child{stroke:none}
@media (max-width:900px){.phero.gh{grid-template-columns:1fr!important;gap:24px}.gart{max-width:420px}}
