:root {
  --bg: #090b12;
  --bg-elevated: #0d111b;
  --surface: #111722;
  --surface-2: #171e2c;
  --text: #edf0f8;
  --text-secondary: #b6becd;
  --text-muted: #838da0;
  --accent: #a18cff;
  --accent-soft: rgba(161, 140, 255, .12);
  --node: #72b8ff;
  --relay: #b493ff;
  --protocol: #55d3c4;
  --font-display: "Space Grotesk", "Segoe UI", sans-serif;
  --font-body: "IBM Plex Sans", "Segoe UI", sans-serif;
}
body { background: #090b12; }
.portal-home { font-family: var(--font-body); }
.portal-header { background: rgba(9, 11, 18, .92); border-color: rgba(255,255,255,.07); }
.header-inner { min-height: 64px; }
.header-docs { color: var(--text-secondary); font-size: .84rem; margin-left: 1.2rem; }
.header-docs:hover, .footer-links a:hover { color: var(--text); }
.header-docs span { color: var(--accent); }
.hero-grid { padding: clamp(3.4rem, 8vw, 7rem) 0 3.7rem; }
.hero-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero-copy { max-width: 40rem; }
.hero-kicker { display:flex; align-items:center; gap:.6rem; color:#b8adff; font-size:.72rem; font-weight:600; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
.status-light,.mesh-live i { display:inline-block; width:7px;height:7px;border-radius:50%;background:#69d2b1; }
.hero-brand { font-size:clamp(3.5rem,8.2vw,6.2rem); margin:.65rem 0 .55rem; }
.hero-sub { font-family:var(--font-display); color:#ded9ff; font-size:clamp(1.35rem,2.6vw,1.85rem); font-weight:600; margin-bottom:1.05rem; }
.hero-lead { max-width:40rem; color:#d2d8e3; font-size:clamp(1rem,1.45vw,1.16rem); line-height:1.68; margin:0 0 1rem; }
.hero-caveat { max-width:38rem; padding-left:.9rem; border-left:2px solid rgba(161,140,255,.6); color:var(--text-muted); font-size:.88rem; line-height:1.6; margin:0 0 1.45rem; }
.hero-actions { align-items:center; gap:.8rem; }
.hero-actions .btn { min-height:46px; }
.text-link { color:#c0b4ff; font-weight:600; font-size:.9rem; padding:.55rem .2rem; text-underline-offset:.25em; }
.text-link:hover { color:white; }
.hero-meta { margin-top:1.65rem; }
.hero-meta span { font-size:.62rem; border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.025); }
.hero-meta span::before { background:var(--accent); }
.mesh-board { min-width:0; padding:1rem 1.1rem .85rem; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:#0d121b; box-shadow:inset 0 1px rgba(255,255,255,.025); }
.mesh-board-head { display:flex; justify-content:space-between; gap:1rem; align-items:center; color:#8894a8; font:600 .62rem/1.4 var(--font-body); letter-spacing:.1em; }
.mesh-live { display:flex;align-items:center;gap:.45rem;color:#8fceb9;font-size:.58rem; }
.mesh-live i { width:6px;height:6px; }
.mesh-visual { width:100%; height:auto; overflow:visible; margin:.2rem auto 0; }
.mesh-link,.relay-link,.control-link { fill:none; stroke-width:1.7; vector-effect:non-scaling-stroke; }
.mesh-link { stroke-dasharray:7 8; animation: mesh-flow 7s linear infinite; }
.mesh-link--blue { stroke:rgba(114,184,255,.66); }
.mesh-link--teal { stroke:rgba(85,211,196,.63); animation-delay:-2s; }
.mesh-link--violet { stroke:rgba(161,140,255,.6); animation-delay:-4s; }
.mesh-link--relay { stroke:rgba(180,147,255,.38); animation-delay:-1s; }
.control-link { stroke:rgba(161,140,255,.3); stroke-dasharray:2 6; }
.relay-link { stroke:rgba(180,147,255,.75); stroke-dasharray:5 5; animation: mesh-flow 9s linear infinite reverse; }
@keyframes mesh-flow { to { stroke-dashoffset:-90; } }
.control-node rect { fill:#141a27; stroke:rgba(161,140,255,.35); }
.control-node circle { fill:var(--accent); }
.control-node text { fill:#ded9ff; font:600 9px var(--font-body); letter-spacing:.08em; }
.control-node text.small { fill:#8690a2; font-size:7px; font-weight:400; letter-spacing:0; }
.mesh-node > circle:first-child { fill:#101926; stroke-width:1.5; }
.mesh-node--a > circle:first-child { stroke:var(--node); }
.mesh-node--b > circle:first-child { stroke:var(--protocol); }
.mesh-node--c > circle:first-child { stroke:#a18cff; }
.mesh-node--d > circle:first-child { stroke:#96a9bd; }
.mesh-node .node-core { fill:currentColor; }
.mesh-node--a { color:var(--node); }
.mesh-node--b { color:var(--protocol); }
.mesh-node--c { color:var(--accent); }
.mesh-node--d { color:#a9bbce; }
.node-name,.relay-node text { fill:#e7ebf3; font:600 9px var(--font-body); letter-spacing:.08em; }
.node-ip { fill:#828da1; font:7px var(--font-body); letter-spacing:.05em; }
.relay-node path { fill:#191526; stroke:var(--relay); stroke-width:1.2; vector-effect:non-scaling-stroke; }
.relay-node text { fill:#c8b5ff; font-size:8px; }
.mesh-board figcaption { color:#7f8a9c; font-size:.72rem; line-height:1.5; padding:.4rem .15rem .2rem; }
.mesh-legend { display:flex;flex-wrap:wrap;gap:.65rem 1rem;border-top:1px solid rgba(255,255,255,.07);padding:.7rem .15rem 0;color:#9aa4b4;font-size:.68rem; }
.mesh-legend span { display:flex;align-items:center;gap:.4rem; }
.mesh-legend i { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--node); }
.mesh-legend .legend-control { background:var(--accent); }
.mesh-legend .legend-relay { background:var(--relay); }
.portal-strip { border-block:1px solid rgba(255,255,255,.07); background:#0e131d; }
.strip-inner { display:grid;grid-template-columns:auto 1fr;gap:1rem 2rem;align-items:center;padding:1rem 0; }
.strip-label { color:#a9a1da;font-size:.65rem;font-weight:700;letter-spacing:.12em; }
.strip-inner p { color:#b5becd;font-size:.88rem; }
.strip-inner a { color:#d0c5ff;text-decoration:underline;text-underline-offset:.2em; }
.portal-section { padding-top:6rem; padding-bottom:6rem; }
.section-heading-row { display:grid;grid-template-columns:minmax(0,.85fr) minmax(250px,.65fr);gap:2rem;align-items:end;margin-bottom:2.4rem; }
.section-heading-row h2,.security-layout h2,.terminal-layout h2,.start-panel h2 { max-width:14ch;font:600 clamp(2rem,4vw,3rem)/1.08 var(--font-display);letter-spacing:-.045em; }
.section-desc { color:#aeb8c8; max-width:58ch; font-size:.98rem;line-height:1.7; }
.plane-grid { display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:1rem;margin-bottom:1.15rem; }
.plane-card { min-height:190px;padding:1.45rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0e141f; }
.plane-card--control { border-top:2px solid var(--accent); }
.plane-card--data { border-top:2px solid var(--protocol); }
.plane-index { font-size:.64rem;font-weight:700;letter-spacing:.12em;color:var(--accent); }
.plane-card--data .plane-index { color:var(--protocol); }
.plane-card h3 { margin:.75rem 0 .55rem;font:600 1.2rem var(--font-display); }
.plane-card p,.component-card p { color:#aab4c4;font-size:.88rem;line-height:1.65; }
.plane-card>span { display:inline-block;margin-top:.9rem;color:#828da0;font-size:.72rem; }
.plane-bridge { display:flex;align-items:center;justify-content:center;gap:6px; }
.plane-bridge span { width:6px;height:6px;border-radius:50%;background:#778399; }
.plane-bridge span:nth-child(2) { background:var(--accent); }
.component-row { display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem; }
.component-card { min-height:150px;padding:1.05rem 1.1rem;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#0c1119; }
.component-code { display:block;margin-bottom:.8rem;color:var(--node);font-size:.65rem;font-weight:700;letter-spacing:.12em; }
.component-card--mesh .component-code { color:var(--relay); }
.component-card--proto .component-code { color:var(--protocol); }
.component-card h3 { margin-bottom:.35rem;font:600 1.05rem var(--font-display); }
.section-footnote { color:#778398;font-size:.78rem;margin-top:1rem; }
.how-section { background:#0d121a;border-block:1px solid rgba(255,255,255,.055); }
.flow-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;counter-reset:steps;list-style:none;margin:0;padding:0; }
.flow-steps li { min-height:170px;padding:1.2rem 1.25rem;border-top:1px solid rgba(161,140,255,.38);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent); }
.flow-steps li>span { color:#a99bff;font:600 .7rem var(--font-body);letter-spacing:.1em; }
.flow-steps h3 { margin:.8rem 0 .45rem;color:#e8ebf2;font:600 1.05rem var(--font-display); }
.flow-steps p { color:#a5afbf;font-size:.84rem;line-height:1.6; }
.security-section { padding-block:6rem; }
.security-layout,.terminal-layout { display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start; }
.security-layout h2,.terminal-layout h2 { margin-bottom:1rem; }
.security-layout .text-link,.terminal-layout .text-link { display:inline-block;margin-top:1.1rem; }
.crypto-list { border-top:1px solid rgba(255,255,255,.1); }
.crypto-list>div { display:grid;grid-template-columns:135px 1fr;gap:1rem;padding:1rem .2rem;border-bottom:1px solid rgba(255,255,255,.075); }
.crypto-tag { color:#9990ce;font-size:.61rem;font-weight:700;letter-spacing:.1em;padding-top:.2rem; }
.crypto-list p { color:#aeb8c8;font-size:.85rem;line-height:1.5; }
.crypto-list strong { color:#edf0f7;font-size:.96rem;font-weight:600; }
.security-caveat { display:block;margin-top:1rem;padding:1rem 1.1rem;border-left:2px solid #c89e65;background:rgba(200,158,101,.07);color:#c3b6a5;font-size:.81rem;line-height:1.65; }
.security-caveat strong { color:#e7c89f; }
.terminal-section { background:#0e131d;border-block:1px solid rgba(255,255,255,.055); }
.terminal { min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#080b11; }
.terminal__bar { display:flex;align-items:center;gap:6px;padding:.75rem .9rem;border-bottom:1px solid rgba(255,255,255,.08); }
.terminal__bar>span:not(.terminal__title) { width:7px;height:7px;border-radius:50%;background:#586174; }
.terminal__title { margin-left:auto;color:#7e899b;font:500 .68rem var(--font-body); }
.terminal__body { position:relative;display:block;overflow-x:auto;padding:1.2rem 1.15rem 3.2rem;color:#d8deea;font:500 .79rem/1.95 ui-monospace,SFMono-Regular,Consolas,monospace; }
.t-prompt { color:var(--protocol); }
.copy-terminal { position:absolute;right:.85rem;bottom:.75rem;padding:.38rem .65rem;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#aeb8c8;font-size:.7rem; }
.copy-terminal:hover { color:white;border-color:var(--accent); }
.start-section { padding-block:5rem; }
.start-panel { display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,2.7rem);border:1px solid rgba(161,140,255,.2);border-radius:14px;background:#101522; }
.start-panel h2 { max-width:17ch;margin-bottom:.8rem;font-size:clamp(1.8rem,3.5vw,2.5rem); }
.start-panel p:not(.eyebrow) { max-width:62ch;color:#aeb8c8;font-size:.9rem;line-height:1.65; }
.start-actions { display:flex;flex-wrap:wrap;gap:.7rem;flex-shrink:0; }
.portal-footer { border-top:1px solid rgba(255,255,255,.07); }
.portal-footer .footer-inner { display:flex;align-items:center;gap:2rem; }
.footer-links { display:flex;flex-wrap:wrap;gap:1rem;color:#a6b0c0;font-size:.78rem;margin-left:auto; }
.footer-attribution { color:#758094;font-size:.69rem;line-height:1.55;text-align:right; }
.footer-attribution p { margin:0; }
@media (max-width:1000px) {
  .hero-layout { grid-template-columns:1fr; }
  .hero-copy { max-width:55rem; }
  .mesh-board { max-width:760px; }
  .header-docs { display:none; }
  .section-heading-row { grid-template-columns:1fr;gap:.8rem; }
}
@media (max-width:720px) {
  .hero-grid { padding-top:3rem; }
  .hero-layout { gap:2rem; }
  .mesh-board { padding:.75rem; }
  .mesh-board-head { font-size:.55rem; }
  .mesh-visual { min-height:180px; }
  .strip-inner { grid-template-columns:1fr;gap:.4rem; }
  .plane-grid { grid-template-columns:1fr;gap:.75rem; }
  .plane-card { min-height:0; }
  .plane-bridge { height:20px;transform:rotate(90deg); }
  .component-row { grid-template-columns:1fr; }
  .component-card { min-height:0; }
  .flow-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .security-layout,.terminal-layout { grid-template-columns:1fr;gap:2rem; }
  .crypto-list>div { grid-template-columns:105px 1fr; }
  .start-panel { align-items:flex-start;flex-direction:column; }
  .portal-footer .footer-inner { align-items:flex-start;flex-wrap:wrap; }
  .footer-links { order:3;width:100%;margin-left:0; }
  .footer-attribution { margin-left:auto; }
}
@media (max-width:460px) {
  .hero-actions { align-items:stretch; }
  .hero-actions .btn { flex:1 1 100%; }
  .hero-actions .text-link { align-self:flex-start; }
  .flow-steps { grid-template-columns:1fr; }
  .flow-steps li { min-height:0; }
  .crypto-list>div { grid-template-columns:1fr;gap:.35rem; }
  .mesh-legend { gap:.55rem .8rem;font-size:.62rem; }
  .mesh-board figcaption { font-size:.67rem; }
  .portal-footer .footer-inner { gap:1rem; }
  .footer-attribution { width:100%;margin-left:0;text-align:left; }
  .footer-links { gap:.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}

.simple-page { min-height:70vh;padding:1.4rem 0 5rem; }
.simple-head { max-width:800px;padding:clamp(1.5rem,5vw,3rem) 0 2rem; }
.simple-head h1 { margin:.4rem 0 .8rem;font:600 clamp(2.5rem,6vw,4.4rem)/1.05 var(--font-display);letter-spacing:-.05em; }
.simple-head>p:last-child { max-width:65ch;color:#adb8c9;font-size:1.05rem;line-height:1.7; }
.release-state { display:flex;gap:1.1rem;align-items:flex-start;padding:1.4rem 1.5rem;margin:1rem 0 1.2rem;border:1px solid rgba(161,140,255,.2);border-radius:12px;background:#101621; }
.state-mark { flex:0 0 9px;height:9px;margin-top:.38rem;border-radius:50%;background:#d4ad72; }
.state-mark--quiet { background:#8792a4; }
.release-label { color:#b0a1e9;font-size:.65rem;font-weight:700;letter-spacing:.12em; }
.release-state h2 { margin:.3rem 0 .4rem;font:600 1.3rem var(--font-display); }
.release-state p:last-child { max-width:78ch;color:#aeb8c8;font-size:.9rem;line-height:1.6; }
.simple-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 2.4rem; }
.simple-card { position:relative;min-height:190px;padding:1.3rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0e141e; }
.simple-card h2 { margin:.5rem 0;font:600 1.25rem var(--font-display); }
.simple-card p:not(.eyebrow) { max-width:55ch;color:#aab4c3;font-size:.87rem;line-height:1.6; }
.status-tag { display:inline-block;margin-top:1rem;padding:.28rem .5rem;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8e99aa;font-size:.6rem;font-weight:700;letter-spacing:.1em; }
.simple-section { max-width:900px;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.08); }
.simple-section h2 { margin-bottom:.6rem;font:600 1.35rem var(--font-display); }
.simple-section p,.simple-section li { color:#aeb8c8;font-size:.91rem;line-height:1.7; }
.simple-section p+p { margin-top:.6rem; }
.simple-section ol { padding-left:1.25rem; }
.simple-section li::marker { color:var(--accent); }
.simple-section a { color:#c3b7ff;text-decoration:underline;text-underline-offset:.2em; }
@media(max-width:600px) { .simple-grid { grid-template-columns:1fr; }.release-state { padding:1.1rem; }.simple-card { min-height:0; } }
.simple-page .docs-breadcrumbs { display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:1rem;color:#8490a1;font-size:.8rem; }
.simple-page .docs-breadcrumbs a { color:#b5bfce; }
.simple-page .docs-breadcrumbs a:hover { color:white; }
