@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
        body { font-family: 'Inter', sans-serif; }
        code, .mono { font-family: 'JetBrains Mono', monospace; }
        .gradient-text {
            background: linear-gradient(135deg, #10b981 0%, #3b82f6 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .glass-card {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(16, 185, 129, 0.2);
        }
        .hero-gradient {
            background: linear-gradient(135deg, #064e3b 0%, #065f46 25%, #047857 50%, #1e40af 100%);
        }
        .section-gradient {
            background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
        }
        .table-header {
            background: linear-gradient(135deg, #047857 0%, #059669 100%);
        }
        .comparison-excellent { background-color: #d1fae5; color: #065f46; }
        .comparison-good { background-color: #dbeafe; color: #1e40af; }
        .comparison-moderate { background-color: #fef3c7; color: #92400e; }
        .comparison-poor { background-color: #fee2e2; color: #991b1b; }
        html, body { max-width: 100%; overflow-x: hidden; }
        main, section, .container { max-width: 100%; }
        svg, img { max-width: 100%; height: auto; }
        .overflow-x-auto { display: block; width: 100%; max-width: 100%; overflow-x: auto !important; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
        .overflow-x-auto table { min-width: 760px; max-width: none; }
        table { max-width: 100%; }

@keyframes bubble-rise { 0% { transform: translateY(0); opacity:0.5; } 100% { transform: translateY(-30px); opacity:0; } }
                                @keyframes laser-blink { 0%,100% { opacity:0.4; } 50% { opacity:1; } }
                                @keyframes shimmer-h { 0%,100% { opacity:0.1; } 50% { opacity:0.25; } }
                                @keyframes scan-line { 0% { transform: translateX(-8px); } 100% { transform: translateX(8px); } }
                                .bub { animation: bubble-rise 3s ease-in infinite; }
                                .las { animation: laser-blink 1.5s ease-in-out infinite; }
                                .shm { animation: shimmer-h 3s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .bub, .las, .shm { animation: none !important; }
  .lc-reveal { transition: none !important; opacity: 1 !important; transform: none !important; }
}
/* Accessibility: raise below-threshold small text sizes (WCAG legibility) */
.text-\[10px\] { font-size: 12px !important; }
svg text[font-size="6"], svg text[font-size="6.5"], svg text[font-size="7"] { font-size: 8.5px !important; }
svg text[font-size="8"] { font-size: 10px !important; }
svg text[font-size="9"] { font-size: 10.5px !important; }

/* ═══════════════════════════════════════════════════════════════ */
/* Grouped dropdown navigation + mobile hamburger                  */
/* ═══════════════════════════════════════════════════════════════ */
.nav-hamburger{display:none;align-items:center;justify-content:center;background:none;border:1px solid #e5e7eb;border-radius:8px;width:38px;height:38px;color:#374151;cursor:pointer;flex-shrink:0}
.nav-hamburger:hover{background:#f0fdf4;color:#059669}
.nav-groups{display:flex;flex-wrap:wrap;align-items:center;gap:2px;justify-content:flex-end}
.nav-group{position:relative}
.nav-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:#4b5563;white-space:nowrap;user-select:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:hover{background:#f0fdf4;color:#059669}
.nav-group[open]>summary{background:#f0fdf4;color:#059669}
.nav-part-dot{width:7px;height:7px;border-radius:50%;background:var(--dot);flex-shrink:0}
.nav-caret{flex-shrink:0;transition:transform .18s ease}
.nav-group[open]>summary .nav-caret{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:100%;left:0;margin-top:6px;min-width:230px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 16px 34px rgba(17,24,39,.14);padding:8px;z-index:70;display:flex;flex-direction:column}
.nav-dropdown-wide{min-width:260px;max-height:70vh;overflow-y:auto}
.nav-dropdown a{padding:9px 10px;border-radius:6px;font-size:13.5px;color:#374151;text-decoration:none}
.nav-dropdown a:hover{background:#f0fdf4;color:#047857}
@media (max-width: 940px) {
  .nav-hamburger{display:flex}
  .nav-groups{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 20px 40px rgba(17,24,39,.14);max-height:80vh;overflow-y:auto;padding:6px}
  .nav-groups.nav-mobile-open{display:flex}
  .nav-group>summary{padding:13px 10px}
  .nav-dropdown{position:static;margin-top:0;box-shadow:none;border:none;padding:0 0 6px 22px}
  .nav-dropdown-wide{max-height:none}
}

/* ═══════════════════════════════════════════════════════════════ */
/* Side table of contents (large screens) + back-to-top links      */
/* ═══════════════════════════════════════════════════════════════ */
#side-toc{position:fixed;top:120px;right:18px;width:212px;max-height:75vh;overflow-y:auto;background:rgba(255,255,255,.97);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 34px rgba(17,24,39,.10);padding:14px 6px 14px 14px;font-size:12.5px;z-index:40;display:none}
@media (min-width: 1680px) { #side-toc{display:block} body{padding-right:250px} }
.side-toc-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#9ca3af;margin:0 0 8px}
.side-toc-group{margin-bottom:10px}
.side-toc-group>span{display:block;font-weight:700;color:#374151;font-size:12px;margin-bottom:2px}
#side-toc a{display:block;padding:3px 8px;margin:1px 0;border-radius:6px;color:#6b7280;text-decoration:none;border-left:2px solid transparent;line-height:1.5}
#side-toc a:hover{color:#059669;background:#f0fdf4}
#side-toc a.side-toc-active{color:#059669;font-weight:600;border-left-color:#059669;background:#ecfdf5}
.back-to-top{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#6b7280;text-decoration:none;padding:8px 14px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;transition:color .15s,border-color .15s}
.back-to-top:hover{color:#059669;border-color:#a7f3d0;background:#f0fdf4}
.back-to-top-wrap{display:flex;justify-content:center;margin:8px 0 36px}

/* ═══════════════════════════════════════════════════════════════ */
/* Section numbering badges (1.1, 2.3, etc.) — colored by Part      */
/* ═══════════════════════════════════════════════════════════════ */
.sec-num{display:inline-flex;align-items:center;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.55em;font-weight:700;padding:2px 8px;border-radius:6px;margin-right:10px;vertical-align:middle;border:1px solid transparent;letter-spacing:.3px}
.sec-num-1{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.sec-num-2{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.sec-num-3{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}
.sec-num-4{background:#f3f4f6;color:#4b5563;border-color:#e5e7eb}

/* ═══════════════════════════════════════════════════════════════ */
/* Reliability badges — 4-tier sourcing confidence, used analysis-wide */
/* Measured (bench data) > Literature (external published data) >   */
/* Projected (calculated from a model) > Hypothesis (speculative)    */
/* ═══════════════════════════════════════════════════════════════ */
.rel-badge{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:1.5px 7px;border-radius:999px;margin-left:6px;vertical-align:middle;border:1px solid transparent;white-space:nowrap}
.rel-measured{background:#d1fae5;color:#065f46;border-color:#6ee7b7}
.rel-literature{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}
.rel-projected{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.rel-hypothesis{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.rel-legend-dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:6px;vertical-align:middle;border:1px solid rgba(0,0,0,.08)}

/* ═══════════════════════════════════════════════════════════════ */
/* Luminous Computer — merged companion architecture (128λ WDM)    */
/* All custom selectors below are prefixed "lc-" so they cannot    */
/* clash with Tailwind's generated utilities or the rules above.   */
/* ═══════════════════════════════════════════════════════════════ */
:root{
  --lc-ink:#111827; --lc-muted:#5f6b7a; --lc-soft:#f6f8fb; --lc-panel:#ffffff; --lc-line:#d9e2ef;
  --lc-navy:#07111f; --lc-blue:#0066ff; --lc-cyan:#00bcd4; --lc-green:#00aa55; --lc-amber:#ff8c00;
  --lc-pink:#ec4899; --lc-violet:#7c3aed; --lc-indigo:#263a8a; --lc-shadow:0 20px 55px rgba(7,17,31,.12);
}
.lc-grid{display:grid;gap:18px}
.lc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lc-card{background:var(--lc-panel);border:1px solid var(--lc-line);border-radius:8px;padding:22px;box-shadow:0 10px 28px rgba(17,24,39,.06)}
.lc-card .lc-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--accent);font-weight:900;margin-bottom:14px}
.lc-card p{margin:8px 0 0;color:var(--lc-muted);font-size:14px}
.lc-metric{font:800 27px/1 Cambria,Georgia,serif;color:var(--accent)}
.lc-diagram{background:#fff;border:1px solid var(--lc-line);border-radius:8px;padding:18px;box-shadow:var(--lc-shadow);overflow-x:auto}
.lc-diagram svg{display:block;min-width:720px;width:100%;height:auto}
.lc-flow-line{stroke-dasharray:10 14;animation:lc-dash 1.5s linear infinite}
@keyframes lc-dash{to{stroke-dashoffset:-96}}
@media (prefers-reduced-motion:reduce){.lc-flow-line{animation:none!important}}
.lc-table-wrap{overflow-x:auto;border:1px solid var(--lc-line);border-radius:8px;background:#fff}
.lc-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}
.lc-table-wrap th,.lc-table-wrap td{padding:12px 14px;text-align:left;border-bottom:1px solid #e8eef6;vertical-align:top}
.lc-table-wrap th{background:#f5f8fc;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.6px}
.lc-table-wrap tr:last-child td{border-bottom:none}
.lc-swatches{display:flex;gap:2px;overflow:hidden;border-radius:8px;border:1px solid var(--lc-line)}
.lc-swatches i{height:34px;min-width:10px;flex:1;background:hsl(calc(var(--n)*18),90%,55%)}
.lc-pipeline{display:grid;gap:14px}
.lc-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;background:#fff;border:1px solid var(--lc-line);border-radius:8px;padding:18px}
.lc-num{width:56px;height:56px;border-radius:8px;display:grid;place-items:center;color:#fff;font:800 20px/1 Cambria,Georgia,serif;background:linear-gradient(135deg,var(--lc-blue),var(--lc-violet))}
.lc-detail{margin-top:9px;background:#f6f8fb;border-radius:8px;padding:10px;color:#536070;font-size:13px}
.lc-serializer{display:grid;gap:18px;background:#fff;border:1px solid var(--lc-line);border-radius:8px;padding:22px}
.lc-palette{display:grid;grid-template-columns:repeat(16,minmax(38px,1fr));gap:4px;overflow-x:auto}
.lc-chip{min-width:38px;text-align:center}
.lc-chip i{display:block;height:34px;border-radius:6px;background:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c),transparent 55%)}
.lc-chip span{display:block;font-size:10px;color:#59677a;margin-top:3px}
.lc-serializer .lc-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lc-readout div{background:#f6f8fb;border-radius:8px;padding:12px}
.lc-readout b{display:block;font-size:20px}
.lc-control{border:0;background:linear-gradient(135deg,var(--lc-blue),var(--lc-violet));color:white;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer;justify-self:start}
.lc-bands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lc-band{border-top:4px solid var(--accent)}
.lc-dark-note{background:#07111f;color:#e5eef8;border-radius:8px;padding:24px}
.lc-dark-note h3{color:#fff}
.lc-dark-note li{margin:8px 0;color:#c5d0de}
.lc-version-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:20px}
.lc-version-tabs button{border:2px solid var(--lc-line);border-radius:8px;background:#fff;padding:14px;text-align:left;cursor:pointer}
.lc-version-tabs button.lc-active{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent),transparent 82%)}
.lc-version-tabs b{display:block;font:800 28px/1 Cambria,Georgia,serif;color:var(--accent)}
.lc-version-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.lc-version-summary{border-radius:8px;padding:24px;color:white;background:var(--accent)}
.lc-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lc-spec{border:1px solid var(--lc-line);border-radius:8px;padding:14px;background:#fff}
.lc-spec small{display:block;color:#768396}
.lc-bars{display:grid;gap:12px}
.lc-bar{display:grid;grid-template-columns:140px minmax(0,1fr) 64px;gap:12px;align-items:center}
.lc-track{height:16px;border-radius:999px;background:#eaf0f7;overflow:hidden}
.lc-fill{height:100%;width:var(--w);border-radius:999px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.8))}
.lc-memory-controls{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.lc-memory-list{display:grid;gap:10px}
.lc-memory-list button{border:2px solid var(--lc-line);border-radius:8px;background:#fff;padding:14px;text-align:left;cursor:pointer}
.lc-memory-list button.lc-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 94%)}
.lc-memory-viz{background:#fff;border:1px solid var(--lc-line);border-radius:8px;padding:18px}
.lc-pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lc-pill{background:color-mix(in srgb,var(--accent),transparent 90%);color:var(--accent);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}
.lc-timeline{position:relative;display:grid;gap:16px}
.lc-timeline::before{content:"";position:absolute;left:22px;top:0;bottom:0;width:3px;background:linear-gradient(var(--lc-green),var(--lc-blue),#cbd5e1)}
.lc-phase{position:relative;padding-left:58px}
.lc-phase::before{content:"";position:absolute;left:13px;top:16px;width:20px;height:20px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #fff}
.lc-phase .lc-card{box-shadow:0 8px 24px rgba(17,24,39,.05)}
.lc-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.lc-reveal.lc-visible{opacity:1;transform:none}
@media (max-width:980px){
  .lc-cols-4,.lc-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-bands{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-version-panel,.lc-memory-controls{grid-template-columns:1fr}
  .lc-palette{grid-template-columns:repeat(8,minmax(42px,1fr))}
}
@media (max-width:620px){
  .lc-cols-4,.lc-cols-3,.lc-cols-2,.lc-bands,.lc-spec-grid{grid-template-columns:1fr}
  .lc-version-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-serializer .lc-readout{grid-template-columns:1fr}
  .lc-bar{grid-template-columns:1fr}
  .lc-bar span:last-child{text-align:left}
  .lc-step{grid-template-columns:1fr}
}
