:root{--fpga-bg:#04060a;--fpga-bg-2:#070a12;--fpga-surface:#0a0f17;--fpga-surface-2:#111723;--fpga-elevated:#182335;--fpga-fg:#d8e3ec;--fpga-fg-2:#aab6c2;--fpga-muted:#6b7886;--fpga-dim:#404d5c;--fpga-border:#1a2330;--fpga-border-2:#243246;--fpga-rule:#0f1623;--signal-phosphor:#5eff9c;--signal-cyan:#54e0ff;--signal-amber:#ffa940;--signal-red:#ff5f5f;--signal-violet:#b389ff;--brand-cyan:#00d4ff;--status-good:#5eff9c;--status-partial:#ffa940;--status-broken:#ff5f5f;--status-unknown:#6b7886;--fpga-font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fpga-font-body:"Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--fpga-font-pixel:"Press Start 2P", monospace;--circuit-line:#5eff9c0b;--circuit-dot:#5eff9c2e;--circuit-bg:#04060a;--circuit-step:56px;--fpga-ease:cubic-bezier(.22, 1, .36, 1);--fpga-quick:.12s;--fpga-medium:.24s}html,body{background:var(--fpga-bg);color:var(--fpga-fg);font-family:var(--fpga-font-body);-webkit-font-smoothing:antialiased;letter-spacing:0;margin:0;padding:0}*{box-sizing:border-box}a{color:var(--signal-phosphor);text-decoration:none}a:hover{color:var(--signal-phosphor);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}:focus{outline:none}:focus-visible{outline:1px solid var(--signal-phosphor);outline-offset:2px;border-radius:3px}::selection{background:color-mix(in oklab, var(--signal-phosphor) 35%, transparent);color:var(--fpga-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--fpga-bg)}::-webkit-scrollbar-thumb{background:var(--fpga-border-2);border-radius:4px}.circuit-bg{background-color:var(--circuit-bg);background-image: radial-gradient(circle at 0 0, var(--circuit-dot) 1px, transparent 1.5px),  repeating-linear-gradient(0deg, var(--circuit-line) 0 1px, transparent 1px var(--circuit-step)),  repeating-linear-gradient(90deg, var(--circuit-line) 0 1px, transparent 1px var(--circuit-step));background-size:var(--circuit-step) var(--circuit-step), 100% 100%, 100% 100%;background-position:-1px -1px,0 0,0 0}.circuit-bg:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 50% 0,#0000 0%,#04060a99 100%);position:fixed;inset:0}.fp-display{font-family:var(--fpga-font-mono);letter-spacing:-.01em;color:var(--fpga-fg);font-weight:600;line-height:1.15}.fp-eyebrow{font-family:var(--fpga-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--signal-phosphor);font-size:11px;font-weight:500}.fp-eyebrow-muted{font-family:var(--fpga-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fpga-muted);font-size:11px;font-weight:500}.fp-body{font-family:var(--fpga-font-body);color:var(--fpga-fg-2);font-size:15px;line-height:1.65}.fp-mono{font-family:var(--fpga-font-mono);color:var(--fpga-fg);font-size:13px;line-height:1.55}.fp-mono-sm{font-family:var(--fpga-font-mono);color:var(--fpga-muted);font-size:11px;line-height:1.5}.fp-value{font-family:var(--fpga-font-mono);color:var(--signal-phosphor)}.fp-warn{color:var(--signal-amber)}.fp-err{color:var(--signal-red)}.fp-info{color:var(--signal-cyan)}.fp-card{background:var(--fpga-surface);border:1px solid var(--fpga-border);border-radius:6px}.fp-card-inset{background:var(--fpga-bg-2);border:1px solid var(--fpga-border);border-radius:4px}.fp-panel{background:var(--fpga-surface);border:1px solid var(--fpga-border);border-radius:6px;padding:24px}.fp-cut{padding-top:28px;position:relative}.fp-cut:before{content:attr(data-cut);font-family:var(--fpga-font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--signal-phosphor);background:var(--fpga-bg);border:1px solid var(--fpga-border-2);border-radius:3px;padding:2px 10px;font-size:10px;position:absolute;top:-10px;left:16px}.fp-chip{font-family:var(--fpga-font-mono);letter-spacing:.04em;color:var(--fpga-fg-2);background:var(--fpga-surface-2);border:1px solid var(--fpga-border);text-transform:uppercase;white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;line-height:1;display:inline-flex}.fp-chip.good{color:var(--signal-phosphor);border-color:color-mix(in oklab, var(--signal-phosphor) 30%, var(--fpga-border))}.fp-chip.partial{color:var(--signal-amber);border-color:color-mix(in oklab, var(--signal-amber) 30%, var(--fpga-border))}.fp-chip.broken{color:var(--signal-red);border-color:color-mix(in oklab, var(--signal-red) 30%, var(--fpga-border))}.fp-chip.info{color:var(--signal-cyan);border-color:color-mix(in oklab, var(--signal-cyan) 30%, var(--fpga-border))}.fp-btn{border:1px solid var(--signal-phosphor);color:var(--signal-phosphor);font-family:var(--fpga-font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color var(--fpga-quick) var(--fpga-ease), border-color var(--fpga-quick) var(--fpga-ease), color var(--fpga-quick) var(--fpga-ease);white-space:nowrap;background:0 0;border-radius:3px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;line-height:1;text-decoration:none;display:inline-flex}.fp-btn:hover{background:color-mix(in oklab, var(--signal-phosphor) 12%, transparent);text-decoration:none}.fp-btn.secondary{border-color:var(--fpga-border-2);color:var(--fpga-fg-2)}.fp-btn.secondary:hover{background:var(--fpga-surface);color:var(--fpga-fg)}.fp-spec{border-collapse:collapse;width:100%;font-family:var(--fpga-font-mono);font-size:13px}.fp-spec tr+tr td{border-top:1px dashed var(--fpga-border)}.fp-spec td{vertical-align:top;padding:10px 0}.fp-spec td.key{width:44%;color:var(--fpga-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding-right:16px;font-size:11px}.fp-spec td.val{color:var(--signal-phosphor);text-align:right}.fp-spec td.val.muted{color:var(--fpga-fg)}.fp-spec td.val.warn{color:var(--signal-amber)}.fp-spec td.val.err{color:var(--signal-red)}.fp-dot{background:var(--status-unknown);width:8px;height:8px;color:var(--status-unknown);border-radius:50%;display:inline-block;box-shadow:0 0 8px}.fp-dot.good{background:var(--status-good);color:var(--status-good)}.fp-dot.partial{background:var(--status-partial);color:var(--status-partial)}.fp-dot.broken{background:var(--status-broken);color:var(--status-broken)}@keyframes fp-blink{0%,70%,to{opacity:1}35%{opacity:.25}}.fp-blink{animation:2.4s ease-in-out infinite fp-blink}.fp-lat-row{border-top:1px dashed var(--fpga-border);grid-template-columns:220px 1fr 80px;align-items:center;gap:16px;padding:10px 0;display:grid}.fp-lat-row:first-child{border-top:0}.fp-lat-label{font-family:var(--fpga-font-mono);color:var(--fpga-fg-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.fp-lat-track{background:var(--fpga-surface-2);border-radius:1px;height:6px;position:relative;overflow:hidden}.fp-lat-fill{background:linear-gradient(90deg, var(--signal-phosphor), var(--signal-cyan));border-radius:1px;position:absolute;inset:0 auto 0 0}.fp-lat-value{font-family:var(--fpga-font-mono);color:var(--signal-phosphor);text-align:right;font-size:13px}.fp-ascii{font-family:var(--fpga-font-mono);color:var(--signal-phosphor);white-space:pre;background:var(--fpga-bg-2);border:1px solid var(--fpga-border);border-radius:4px;padding:16px 20px;font-size:12px;line-height:1.45;overflow-x:auto}.fp-code{font-family:var(--fpga-font-mono);color:var(--fpga-fg);background:var(--fpga-bg-2);border:1px solid var(--fpga-border);border-left:2px solid var(--signal-phosphor);white-space:pre;border-radius:3px;padding:12px 14px;font-size:13px;line-height:1.55;overflow-x:auto}.fp-container{z-index:1;max-width:1180px;margin:0 auto;padding:0 32px;position:relative}.fp-card-link{transition:border-color var(--fpga-quick) var(--fpga-ease), transform var(--fpga-quick) var(--fpga-ease), box-shadow var(--fpga-medium) var(--fpga-ease);will-change:transform}.fp-card-link:hover{border-color:var(--signal-phosphor);box-shadow:0 6px 24px -16px color-mix(in oklab, var(--signal-phosphor) 60%, transparent);transform:translateY(-1px)}.fp-card-link:active{transform:translateY(0)}.fp-card-link:disabled,.fp-card-link[aria-disabled=true]{box-shadow:none;transform:none}@media (width<=1024px){.fp-container{padding:0 24px}}.fp-grid-hero{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:40px;display:grid}.fp-grid-aside{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:40px;display:grid}.fp-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fp-grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@media (width<=960px){.fp-grid-hero,.fp-grid-aside{grid-template-columns:minmax(0,1fr);gap:28px}.fp-grid-3{grid-template-columns:1fr 1fr}}@media (width<=640px){.fp-container{padding:0 18px}.fp-grid-2,.fp-grid-3{grid-template-columns:minmax(0,1fr)}.fp-lat-row{grid-template-columns:140px 1fr 60px;gap:10px}}@media (width<=480px){.fp-spec td.key{white-space:normal;padding-right:8px}}.fp-header-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.fp-header-meta{white-space:nowrap;align-items:center;gap:14px;display:inline-flex}@media (width<=720px){.fp-header-meta .fp-header-pip{display:none}}@media (width<=480px){.fp-header-sub{display:none}}.fp-nav{scrollbar-width:none;gap:0;display:flex;overflow-x:auto}.fp-nav::-webkit-scrollbar{display:none}.fp-nav button{white-space:nowrap}.fp-footer-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px;display:grid}@media (width<=720px){.fp-footer-grid{grid-template-columns:1fr 1fr}}@media (width<=420px){.fp-footer-grid{grid-template-columns:1fr}}@media (width<=640px){.fp-display{font-size:.92em}}.fp-guide-notes{flex-direction:column;gap:16px;display:flex}@media (width>=1440px){.fp-container{max-width:1380px;padding:0 48px}.fp-grid-hero,.fp-grid-aside{grid-template-columns:minmax(0,1fr) 440px;gap:64px}.fp-grid-2,.fp-grid-3{gap:24px}.fp-footer-grid{gap:40px}.fp-guide-notes{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}}@media (width>=1920px){.fp-container{max-width:1720px;padding:0 80px}.fp-grid-hero{grid-template-columns:minmax(0,1fr) 560px;gap:96px}.fp-grid-aside{grid-template-columns:minmax(0,1fr) 520px;gap:80px}.fp-grid-2,.fp-grid-3{gap:32px}.fp-footer-grid{gap:56px}}@media (width>=2560px){.fp-container{max-width:2000px}}.fp-skip-link{z-index:10000;background:var(--fpga-surface);border:1px solid var(--signal-phosphor);color:var(--signal-phosphor);font-family:var(--fpga-font-mono);white-space:nowrap;border-radius:4px;padding:8px 16px;font-size:13px;text-decoration:none;position:absolute;top:-100%;left:16px}.fp-skip-link:focus{top:16px}
