:root{--nav-w: 220px}nav.top{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:52px;background:var(--bg);border-bottom:1px solid var(--border);z-index:100}nav.top a{color:var(--muted);text-decoration:none;font-size:13px;margin-left:24px;transition:color .2s}nav.top a:hover{color:var(--text)}nav.top a.active{color:var(--text)}.spec-layout{min-height:100vh;margin-top:52px}nav.side{position:fixed;top:52px;left:0;bottom:0;width:var(--nav-w);overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border);padding:32px 0;display:flex;flex-direction:column}nav.side a{display:block;padding:6px 24px;font-size:13px;color:var(--muted);text-decoration:none;transition:color .15s}nav.side a:hover{color:var(--text)}nav.side a.active{color:var(--green)}.nav-section{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#444;padding:20px 24px 8px;font-weight:600}.spec-main{margin-left:var(--nav-w);max-width:760px;padding:60px 64px 120px}.spec-main h1{font-size:32px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;text-align:left}.spec-main h2{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:64px 0 16px;padding-top:64px;border-top:1px solid var(--border)}.spec-main h2:first-of-type{margin-top:40px}.spec-main h3{font-size:16px;font-weight:600;margin:32px 0 10px;color:var(--text)}.spec-main p{font-size:15px;color:#ccc;line-height:1.75;margin-bottom:16px;text-align:left}.spec-main p:last-child{margin-bottom:0}.spec-main .lead{font-size:17px;color:#bbb;line-height:1.7;margin-bottom:0}.concept-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:24px 0}.concept-row .concept-cell{background:var(--surface);padding:20px}.concept-row .concept-cell .label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:6px}.concept-row .concept-cell p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.spec-main pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;overflow-x:auto;margin:16px 0;font-family:var(--mono);font-size:12.5px;line-height:1.7;color:#ccc}.spec-main code{font-family:var(--mono);font-size:13px;background:var(--surface);padding:2px 6px;border-radius:4px;color:var(--green)}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500;margin-right:6px}.badge-get{background:#1a3a24;color:#4ade80}.badge-post{background:#1a2a4a;color:#60a5fa}.badge-patch{background:#2a1a3a;color:#c084fc}.endpoint{margin:20px 0}.endpoint-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.endpoint-path{font-family:var(--mono);font-size:13px;color:var(--text)}.endpoint-desc{font-size:13px;color:var(--muted);margin-bottom:12px}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin:12px 0}.tool-name{font-family:var(--mono);font-size:13px;color:var(--green);font-weight:600;margin-bottom:6px}.tool-desc{font-size:13px;color:var(--muted);margin-bottom:12px}.tool-params{font-family:var(--mono);font-size:12px;color:#888}.surface-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.surface-grid .surface-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.surface-grid .surface-card .tag{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}.surface-grid .surface-card h4{font-size:15px;font-weight:600;margin-bottom:6px}.surface-grid .surface-card p{font-size:13px;color:var(--muted);margin:0}.callout{background:var(--green-dim);border:1px solid #2a5a34;border-radius:8px;padding:16px 20px;margin:20px 0;font-size:14px;color:#ccc;line-height:1.6}.callout strong{color:var(--green)}.spec-main table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}.spec-main th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.spec-main td{padding:10px 12px;border-bottom:1px solid var(--border);color:#ccc;vertical-align:top}.spec-main td code{font-size:12px}.spec-main tr:last-child td{border-bottom:none}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0e0e0e;--surface: #161616;--border: #2a2a2a;--text: #f0f0f0;--muted: #888;--green: #4ade80;--green-dim: #1a3a24;--mono: "Courier New", monospace}html{scroll-snap-type:y mandatory;scroll-padding-top:65px}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}nav{display:flex;justify-content:space-between;align-items:center;padding:20px 48px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:100}.logo{font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase}.logo span{color:var(--green)}nav a{color:var(--muted);text-decoration:none;font-size:14px;margin-left:32px;transition:color .2s}nav a:hover{color:var(--text)}.hero{max-width:760px;margin:0 auto;padding:0 48px;text-align:center;min-height:calc(100vh - 65px);display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;position:relative}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:24px}h1{font-size:clamp(36px,6vw,64px);font-weight:700;line-height:1.1;margin-bottom:24px;letter-spacing:-.02em}.subtitle{font-size:18px;color:var(--muted);max-width:520px;margin:0 auto 48px;line-height:1.7}.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-primary{background:var(--green);color:#000;padding:12px 28px;border-radius:6px;font-weight:600;font-size:15px;text-decoration:none;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-secondary{background:transparent;color:var(--text);padding:12px 28px;border-radius:6px;font-weight:500;font-size:15px;text-decoration:none;border:1px solid var(--border);transition:border-color .2s}.btn-secondary:hover{border-color:var(--muted)}.concept{max-width:900px;margin:0 auto;padding:0 48px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.concept-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}.concept-cell{background:var(--surface);padding:32px}.concept-cell .icon{font-size:24px;margin-bottom:16px}.concept-cell h3{font-size:15px;font-weight:600;margin-bottom:8px}.concept-cell p{font-size:14px;color:var(--muted);line-height:1.6}.how{max-width:760px;margin:0 auto;padding:0 48px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.section-label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:48px}.steps{display:flex;flex-direction:column;gap:0}.step{display:grid;grid-template-columns:48px 1fr;gap:24px;padding:32px 0;border-bottom:1px solid var(--border);align-items:start}.step:last-child{border-bottom:none}.step-num{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);flex-shrink:0;margin-top:2px}.step h3{font-size:16px;font-weight:600;margin-bottom:6px}.step p{font-size:14px;color:var(--muted);line-height:1.6}.lineage-demo{max-width:900px;margin:0 auto;padding:0 48px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.lineage-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;font-family:var(--mono);font-size:13px}.lineage-row{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--muted)}.lineage-row.highlight{color:var(--text)}.lineage-row.graft-point{color:var(--green)}.sha{color:var(--green);font-size:11px;background:var(--green-dim);padding:2px 6px;border-radius:4px}.indent{margin-left:24px}.indent2{margin-left:48px}.install{max-width:760px;margin:0 auto;padding:0 48px;text-align:center;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.install h2{font-size:28px;font-weight:700;margin-bottom:16px}.install p{color:var(--muted);margin-bottom:40px;font-size:16px}.install-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.tab{padding:6px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--border);color:var(--muted);background:transparent;transition:all .2s}.tab.active{background:var(--surface);color:var(--text);border-color:var(--muted)}.code-block{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;text-align:left;font-family:var(--mono);font-size:13px;color:var(--green);position:relative}.copy-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:var(--border);border:none;color:var(--muted);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:color .2s}.copy-btn:hover{color:var(--text)}.install-note{font-size:13px;color:var(--muted);margin-top:16px}.surfaces{max-width:900px;margin:0 auto;padding:0 48px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.surfaces-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px}.surface-card .tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.surface-card h3{font-size:18px;font-weight:600;margin-bottom:8px}.surface-card p{font-size:14px;color:var(--muted);line-height:1.6}.surface-card.coming{opacity:.5}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:opacity .4s;cursor:pointer;background:none;border:none;padding:8px 16px}.scroll-indicator:hover{color:var(--text)}.scroll-indicator.hidden{opacity:0;pointer-events:none}.scroll-indicator svg{animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}footer{border-top:1px solid var(--border);padding:32px 48px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}footer a{color:inherit;text-decoration:none}footer a:hover{color:var(--text)}
