/* sbom.wiki — Maximalist Luxury Documentation */
/* Colors: #4a90d9 (primary blue), #1a1a2e (deep base), #e8b84b (accent gold), #f5f0e8 (warm off-white), #6c757d (muted gray) */
/* Font: Commissioner (versatile) */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Commissioner',sans-serif;background:#1a1a2e;color:#f5f0e8;min-height:100vh;overflow-x:hidden;display:flex}

/* Bokeh Background */
.bokeh-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}
.bokeh-circle{position:absolute;border-radius:50%;filter:blur(40px);opacity:0.08;animation:bokehFloat 20s ease-in-out infinite}
.bokeh-1{width:300px;height:300px;background:#e8b84b;top:10%;left:60%;animation-delay:0s}
.bokeh-2{width:200px;height:200px;background:#4a90d9;top:50%;left:20%;animation-delay:-4s}
.bokeh-3{width:250px;height:250px;background:#e8b84b;top:70%;left:70%;animation-delay:-8s}
.bokeh-4{width:180px;height:180px;background:#4a90d9;top:20%;left:30%;animation-delay:-12s}
.bokeh-5{width:220px;height:220px;background:#e8b84b;top:40%;left:80%;animation-delay:-3s}
.bokeh-6{width:160px;height:160px;background:#4a90d9;top:80%;left:45%;animation-delay:-7s}
@keyframes bokehFloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-20px) scale(1.1)}50%{transform:translate(-20px,30px) scale(0.9)}75%{transform:translate(20px,20px) scale(1.05)}}

/* Sidebar */
.sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;background:linear-gradient(180deg,#12121f 0%,#1a1a2e 100%);border-right:1px solid rgba(232,184,75,0.15);z-index:100;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(232,184,75,0.3) transparent}
.sidebar::-webkit-scrollbar{width:4px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(232,184,75,0.3);border-radius:2px}
.sidebar-header{padding:28px 24px 16px;border-bottom:1px solid rgba(232,184,75,0.1)}
.logo-text{font-size:1.6rem;font-weight:800;color:#f5f0e8;letter-spacing:-0.5px}
.logo-dot{color:#e8b84b}
.logo-subtitle{font-size:0.7rem;color:#6c757d;margin-top:4px;text-transform:uppercase;letter-spacing:1.5px;font-weight:500}
.sidebar-search{padding:16px 24px}
.sidebar-search input{width:100%;padding:10px 14px;background:rgba(74,144,217,0.08);border:1px solid rgba(74,144,217,0.2);border-radius:6px;color:#f5f0e8;font-family:'Commissioner',sans-serif;font-size:0.82rem;outline:none;transition:all 0.3s}
.sidebar-search input:focus{border-color:#4a90d9;background:rgba(74,144,217,0.12);box-shadow:0 0 0 3px rgba(74,144,217,0.1)}
.sidebar-search input::placeholder{color:#6c757d}
.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}
.nav-section{margin-bottom:4px}
.nav-heading{display:flex;align-items:center;gap:8px;padding:10px 24px;font-size:0.78rem;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:color 0.3s;user-select:none}
.nav-heading:hover{color:#f5f0e8}
.nav-heading.active{color:#e8b84b}
.nav-chevron-span{display:inline-block;width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform 0.3s}
.nav-heading.active .nav-chevron-span{transform:rotate(90deg)}
.nav-links{list-style:none;max-height:0;overflow:hidden;transition:max-height 0.4s ease}
.nav-links.active{max-height:300px}
.nav-link{display:block;padding:7px 24px 7px 40px;font-size:0.85rem;color:#8a8a9a;text-decoration:none;transition:all 0.25s;border-left:2px solid transparent;font-weight:400}
.nav-link:hover{color:#f5f0e8;background:rgba(74,144,217,0.06);border-left-color:rgba(74,144,217,0.4)}
.nav-link.active{color:#e8b84b;border-left-color:#e8b84b;font-weight:600;background:rgba(232,184,75,0.06)}
.sidebar-footer{padding:16px 24px;border-top:1px solid rgba(232,184,75,0.1);display:flex;gap:12px;align-items:center}
.version-badge{font-size:0.7rem;padding:3px 8px;border-radius:4px;background:rgba(74,144,217,0.15);color:#4a90d9;font-weight:600}
.last-updated{font-size:0.7rem;color:#6c757d}

/* Sidebar Toggle */
.sidebar-toggle{display:none;position:fixed;top:16px;left:16px;z-index:200;width:44px;height:44px;border:1px solid rgba(232,184,75,0.3);border-radius:8px;background:rgba(26,26,46,0.95);backdrop-filter:blur(10px);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.sidebar-toggle span{display:block;width:20px;height:2px;background:#e8b84b;border-radius:1px;transition:all 0.3s}

/* Main Content */
.main-content{margin-left:280px;flex:1;min-height:100vh;position:relative;z-index:1}
.content-section{display:none;padding:48px 60px 60px;min-height:calc(100vh - 80px);animation:fadeIn 0.4s ease}
.content-section.active-section{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.section-bokeh-accent{position:absolute;top:0;right:0;width:400px;height:300px;background:radial-gradient(ellipse at top right,rgba(232,184,75,0.04) 0%,transparent 70%);pointer-events:none}

/* Content Header */
.content-header{margin-bottom:40px;position:relative}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:#6c757d;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;font-weight:500}
.bc-sep{color:rgba(232,184,75,0.4)}
.breadcrumb-current{color:#e8b84b}
.content-title{font-size:2.2rem;font-weight:800;color:#f5f0e8;letter-spacing:-0.5px;line-height:1.2}
.title-ornament{margin-top:16px;height:4px;width:120px;background:linear-gradient(90deg,#e8b84b 0%,#e8b84b 33%,transparent 33%,transparent 38%,#4a90d9 38%,#4a90d9 55%,transparent 55%,transparent 60%,rgba(232,184,75,0.4) 60%,rgba(232,184,75,0.4) 70%,transparent 70%);border-radius:2px}

/* Hover Lift */
.hover-lift{transition:transform 0.3s ease,box-shadow 0.3s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.3),0 4px 12px rgba(232,184,75,0.08)}

/* Hero Card */
.hero-card{background:linear-gradient(135deg,rgba(74,144,217,0.1) 0%,rgba(232,184,75,0.06) 100%);border:1px solid rgba(74,144,217,0.2);border-radius:16px;padding:40px;margin-bottom:40px}
.hero-card h3{font-size:1.35rem;font-weight:600;line-height:1.5;color:#f5f0e8;margin-bottom:16px}
.hero-card p{font-size:1rem;color:#8a8a9a;line-height:1.7}

/* Feature Grid */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}
.feature-card{position:relative;background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:28px;overflow:hidden}
.feature-card-accent{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#e8b84b,#4a90d9)}
.feature-card h4{font-size:1rem;font-weight:700;color:#e8b84b;margin-bottom:10px;margin-top:8px}
.feature-card p{font-size:0.88rem;color:#8a8a9a;line-height:1.6}

/* Info Callout */
.info-callout{display:flex;align-items:flex-start;gap:16px;background:rgba(232,184,75,0.06);border:1px solid rgba(232,184,75,0.15);border-radius:12px;padding:24px;margin-bottom:40px;position:relative;overflow:hidden}
.callout-stripe{position:absolute;left:0;top:0;width:4px;height:100%;background:#e8b84b;border-radius:2px 0 0 2px}
.callout-content{padding-left:12px}
.callout-content strong{display:block;color:#e8b84b;font-size:0.9rem;margin-bottom:6px}
.callout-content p{font-size:0.88rem;color:#8a8a9a;line-height:1.6}

/* Prose */
.prose-block{margin-bottom:32px}
.prose-block p{font-size:1rem;line-height:1.8;color:#c0c0d0}
.prose-block strong{color:#f5f0e8}
.prose-block em{color:#e8b84b;font-style:italic}

/* Anatomy Card */
.anatomy-card{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:16px;padding:36px;margin-bottom:32px}
.anatomy-card h3{font-size:1.3rem;font-weight:700;color:#f5f0e8;margin-bottom:28px}
.anatomy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.anatomy-item{padding:16px;border:1px solid rgba(74,144,217,0.08);border-radius:10px;background:rgba(74,144,217,0.03)}
.anatomy-number{font-size:1.8rem;font-weight:800;color:rgba(232,184,75,0.25);margin-bottom:8px;font-variant-numeric:tabular-nums}
.anatomy-item h5{font-size:0.88rem;font-weight:700;color:#4a90d9;margin-bottom:6px}
.anatomy-item p{font-size:0.8rem;color:#8a8a9a;line-height:1.5}

/* Code Block */
.code-block{background:#0d0d1a;border:1px solid rgba(74,144,217,0.15);border-radius:12px;overflow:hidden;margin-bottom:32px}
.code-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:rgba(74,144,217,0.08);border-bottom:1px solid rgba(74,144,217,0.1)}
.code-lang{font-size:0.75rem;color:#4a90d9;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.code-copy-btn{padding:4px 12px;font-size:0.72rem;background:rgba(232,184,75,0.1);border:1px solid rgba(232,184,75,0.2);border-radius:4px;color:#e8b84b;cursor:pointer;font-family:'Commissioner',sans-serif;transition:all 0.25s}
.code-copy-btn:hover{background:rgba(232,184,75,0.2)}
.code-block pre{padding:20px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(74,144,217,0.3) transparent}
.code-block code{font-family:'JetBrains Mono','Fira Code',monospace;font-size:0.82rem;color:#c0c0d0;line-height:1.7}
.inline-code-block{background:#0d0d1a;border:1px solid rgba(74,144,217,0.12);border-radius:8px;padding:12px 16px;margin-top:10px}
.inline-code-block code{font-family:'JetBrains Mono','Fira Code',monospace;font-size:0.82rem;color:#4a90d9}
code{font-family:'JetBrains Mono','Fira Code',monospace;background:rgba(74,144,217,0.1);padding:2px 6px;border-radius:3px;font-size:0.85em;color:#4a90d9}
pre code{background:none;padding:0;border-radius:0}

/* Stats Grid */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.stat-card{background:linear-gradient(135deg,rgba(74,144,217,0.08) 0%,rgba(232,184,75,0.04) 100%);border:1px solid rgba(74,144,217,0.15);border-radius:12px;padding:32px;text-align:center}
.stat-number{font-size:3rem;font-weight:800;color:#e8b84b;letter-spacing:-1px;line-height:1}
.stat-label{font-size:0.82rem;color:#8a8a9a;margin-top:12px;line-height:1.5}

/* Timeline */
.timeline-block{margin-bottom:40px}
.timeline-heading{font-size:1.2rem;font-weight:700;color:#f5f0e8;margin-bottom:24px}
.timeline{position:relative;padding-left:32px}
.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#e8b84b,#4a90d9,rgba(108,117,125,0.3))}
.timeline-item{position:relative;margin-bottom:28px;padding:20px;background:rgba(26,26,46,0.5);border:1px solid rgba(74,144,217,0.1);border-radius:10px}
.timeline-marker{position:absolute;left:-28px;top:24px;width:12px;height:12px;border-radius:50%;background:#e8b84b;border:3px solid #1a1a2e;box-shadow:0 0 0 2px rgba(232,184,75,0.3)}
.timeline-date{font-size:0.72rem;font-weight:700;color:#4a90d9;text-transform:uppercase;letter-spacing:1px}
.timeline-content h4{font-size:1rem;font-weight:700;color:#f5f0e8;margin:6px 0}
.timeline-content p{font-size:0.85rem;color:#8a8a9a;line-height:1.5}

/* Steps */
.steps-container{display:flex;flex-direction:column;gap:16px}
.step-card{display:flex;align-items:flex-start;gap:20px;background:rgba(26,26,46,0.5);border:1px solid rgba(74,144,217,0.1);border-radius:12px;padding:24px}
.step-number{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#e8b84b,#d4a03a);color:#1a1a2e;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.step-content h4{font-size:1rem;font-weight:700;color:#f5f0e8;margin-bottom:8px}
.step-content p{font-size:0.88rem;color:#8a8a9a;line-height:1.5}

/* Detail Cards */
.detail-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:32px}
.detail-card{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:28px}
.detail-card h4{font-size:1rem;font-weight:700;color:#e8b84b;margin-bottom:16px}
.detail-card p{font-size:0.88rem;color:#8a8a9a;line-height:1.6}
.styled-list{list-style:none;padding:0}
.styled-list li{padding:8px 0 8px 20px;position:relative;font-size:0.88rem;color:#c0c0d0;border-bottom:1px solid rgba(74,144,217,0.06)}
.styled-list li:last-child{border-bottom:none}
.styled-list li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:2px;background:#4a90d9;opacity:0.6}
.styled-list li strong{color:#f5f0e8}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.tag{padding:5px 12px;font-size:0.75rem;font-weight:600;border-radius:20px;background:rgba(74,144,217,0.1);color:#4a90d9;border:1px solid rgba(74,144,217,0.2);transition:all 0.25s}
.tag:hover{background:rgba(74,144,217,0.2);transform:scale(1.05)}

/* Comparison Table */
.comparison-table{margin-bottom:32px;border-radius:12px;overflow:hidden;border:1px solid rgba(74,144,217,0.15)}
.comparison-table table{width:100%;border-collapse:collapse}
.comparison-table th{padding:14px 18px;background:rgba(74,144,217,0.1);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#4a90d9;text-align:left;border-bottom:2px solid rgba(74,144,217,0.15)}
.comparison-table td{padding:12px 18px;font-size:0.85rem;color:#c0c0d0;border-bottom:1px solid rgba(74,144,217,0.06)}
.comparison-table tr:hover td{background:rgba(74,144,217,0.03)}

/* Tool Cards */
.tool-cards{display:flex;flex-direction:column;gap:16px}
.tool-card{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:24px}
.tool-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.tool-card-header h4{font-size:1.05rem;font-weight:700;color:#f5f0e8}
.tool-badge{font-size:0.7rem;padding:3px 10px;border-radius:20px;background:rgba(232,184,75,0.1);color:#e8b84b;font-weight:600;border:1px solid rgba(232,184,75,0.2)}
.tool-card p{font-size:0.88rem;color:#8a8a9a;line-height:1.5;margin-bottom:12px}

/* Validation Checklist */
.validation-checklist{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:28px}
.validation-checklist h4{font-size:1.1rem;font-weight:700;color:#f5f0e8;margin-bottom:20px}
.checklist-items{display:flex;flex-direction:column;gap:16px}
.checklist-item{display:flex;align-items:flex-start;gap:14px;padding:14px;background:rgba(74,144,217,0.04);border-radius:8px;border:1px solid rgba(74,144,217,0.08)}
.check-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#4a90d9;display:flex;align-items:center;justify-content:center}
.check-icon::after{content:'';display:block;width:6px;height:10px;border:solid #f5f0e8;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.checklist-item strong{color:#f5f0e8;font-size:0.9rem}
.checklist-item p{font-size:0.82rem;color:#8a8a9a;margin-top:4px;line-height:1.4}

/* Highlight Box */
.highlight-box{background:rgba(232,184,75,0.06);border:1px solid rgba(232,184,75,0.15);border-radius:12px;padding:28px}
.highlight-box h4{font-size:1.1rem;font-weight:700;color:#e8b84b;margin-bottom:16px}

/* NTIA Grid */
.ntia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ntia-element{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.1);border-radius:10px;padding:20px;text-align:center}
.ntia-element h5{font-size:0.88rem;font-weight:700;color:#4a90d9;margin-bottom:6px}
.ntia-element p{font-size:0.8rem;color:#8a8a9a;line-height:1.4}

/* VEX Cards */
.vex-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.vex-card{border-radius:12px;padding:24px;border:1px solid rgba(74,144,217,0.12)}
.vex-card h4{font-size:1rem;font-weight:700;margin-bottom:8px}
.vex-card p{font-size:0.85rem;color:#8a8a9a;line-height:1.5}
.vex-not-affected{background:rgba(46,125,50,0.1);border-color:rgba(46,125,50,0.3)}.vex-not-affected h4{color:#66bb6a}
.vex-affected{background:rgba(211,47,47,0.1);border-color:rgba(211,47,47,0.3)}.vex-affected h4{color:#ef5350}
.vex-fixed{background:rgba(74,144,217,0.1);border-color:rgba(74,144,217,0.3)}.vex-fixed h4{color:#4a90d9}
.vex-investigation{background:rgba(232,184,75,0.1);border-color:rgba(232,184,75,0.3)}.vex-investigation h4{color:#e8b84b}

/* Pipeline Diagram */
.pipeline-diagram{display:flex;align-items:center;justify-content:center;gap:0;padding:36px 20px;background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;margin-bottom:28px;flex-wrap:wrap}
.pipeline-stage{display:flex;flex-direction:column;align-items:center;gap:10px}
.pipeline-dot{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#3a7bc0);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(74,144,217,0.2)}
.pipeline-dot::after{content:'';width:8px;height:8px;background:#f5f0e8;border-radius:50%}
.pipeline-stage span{font-size:0.78rem;font-weight:600;color:#8a8a9a;white-space:nowrap}
.pipeline-arrow{width:40px;height:2px;background:linear-gradient(90deg,#e8b84b,rgba(232,184,75,0.3));margin:0 4px;position:relative;margin-bottom:24px}
.pipeline-arrow::after{content:'';position:absolute;right:-2px;top:-4px;width:0;height:0;border-left:6px solid #e8b84b;border-top:5px solid transparent;border-bottom:5px solid transparent}

/* Platform Grid */
.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.platform-card{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:24px}
.platform-card h4{font-size:1.05rem;font-weight:700;color:#f5f0e8;margin-bottom:10px}
.platform-card p{font-size:0.88rem;color:#8a8a9a;line-height:1.5;margin-bottom:14px}

/* Graph Visualization */
.graph-visualization{background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;padding:20px;overflow:hidden}

/* Correlation Flow */
.correlation-flow{display:flex;align-items:center;justify-content:center;gap:20px;padding:36px 24px;background:rgba(26,26,46,0.6);border:1px solid rgba(74,144,217,0.12);border-radius:12px;flex-wrap:wrap}
.correlation-step{text-align:center;flex:1;min-width:120px}
.correlation-step h5{font-size:0.9rem;font-weight:700;color:#4a90d9;margin-bottom:6px}
.correlation-step p{font-size:0.8rem;color:#8a8a9a}
.correlation-connector{font-size:1.5rem;font-weight:800;color:#e8b84b}

/* Footer */
.content-footer{padding:40px 60px;border-top:1px solid rgba(74,144,217,0.1);margin-top:40px}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.footer-brand{flex:1}
.footer-logo{font-size:1.3rem;font-weight:800;color:#f5f0e8}
.footer-brand p{font-size:0.82rem;color:#6c757d;margin-top:8px}
.footer-links{display:flex;gap:48px}
.footer-col h5{font-size:0.75rem;font-weight:700;color:#e8b84b;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.footer-col a{display:block;font-size:0.82rem;color:#8a8a9a;text-decoration:none;margin-bottom:8px;transition:color 0.25s}
.footer-col a:hover{color:#4a90d9}
.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(74,144,217,0.08)}
.footer-bottom p{font-size:0.75rem;color:#6c757d}

/* Responsive */
@media(max-width:1024px){
.sidebar{transform:translateX(-100%);transition:transform 0.35s ease}
.sidebar.open{transform:translateX(0)}
.sidebar-toggle{display:flex}
.main-content{margin-left:0}
.content-section{padding:32px 24px 40px}
.content-title{font-size:1.6rem}
.feature-grid{grid-template-columns:1fr}
.anatomy-grid{grid-template-columns:repeat(2,1fr)}
.stats-grid{grid-template-columns:1fr}
.detail-cards{grid-template-columns:1fr}
.vex-status-grid{grid-template-columns:1fr}
.content-footer{padding:32px 24px}
}
@media(max-width:600px){
.anatomy-grid{grid-template-columns:1fr}
.hero-card{padding:24px}
.content-title{font-size:1.4rem}
}