/* layer-2.id - Dark Mode Neon Crypto */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#09090F;color:#A0A0B0;font-family:'Inter',sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}

/* Boot screen */
#boot-screen{position:fixed;inset:0;z-index:10000;background:#09090F;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.5s ease}
#boot-screen.hidden{opacity:0;pointer-events:none;display:none}
#boot-grid-lines{position:absolute;inset:0;pointer-events:none}
.grid-line{position:absolute;background:rgba(0,255,178,0.15);opacity:0;transition:opacity 0.3s ease}
.grid-line-h{height:1px;width:100%;left:0}
.grid-line-v{width:1px;height:100%;top:0}
#boot-network{position:relative;z-index:1;margin-bottom:24px}
#network-svg{display:block}
#boot-title{position:relative;z-index:1;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:40px;letter-spacing:0.03em;margin-bottom:8px}
#boot-domain-layer{color:#EAEAF0}
#boot-domain-id{color:#6366F1}
#boot-hash{font-family:'JetBrains Mono',monospace;font-size:13px;color:#00FFB2;letter-spacing:0.02em}
.mono-text{font-family:'JetBrains Mono',monospace}

/* Hash background decoration */
.hash-background{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}

/* Neon grid */
#neon-grid{position:fixed;inset:0;pointer-events:none;z-index:0}
.neon-line{position:absolute;background:rgba(0,255,178,0.08);opacity:0;transition:opacity 0.4s ease}
.neon-line.visible{opacity:1}

/* Sidebar */
#sidebar{position:fixed;top:0;left:0;width:240px;height:100vh;background:#12121A;border-right:1px solid #1E1E2E;z-index:100;display:flex;flex-direction:column;padding:32px 20px;transform:translateX(-240px);transition:transform 0.5s ease-out;overflow-y:auto}
#sidebar.visible{transform:translateX(0)}
.domain-vertical{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;color:#EAEAF0;letter-spacing:0.03em;writing-mode:vertical-rl;text-orientation:mixed;display:block;margin-bottom:32px}

/* Protocol status widget */
.sidebar-widget{margin-bottom:32px}
.widget-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:#A0A0B0;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #1E1E2E}
.status-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}
.status-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:#A0A0B0;letter-spacing:0.02em}
.status-value{font-family:'JetBrains Mono',monospace;font-size:13px;color:#00FFB2;letter-spacing:0.02em;transition:text-shadow 0.3s}
.status-value.flash{text-shadow:0 0 8px rgba(0,255,178,0.6)}

/* Sidebar nav */
#sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}
.nav-link{display:flex;align-items:center;gap:10px;text-decoration:none;padding:6px 0;transition:all 0.2s}
.nav-dot{width:6px;height:6px;border-radius:50%;background:#A0A0B0;flex-shrink:0;transition:all 0.3s}
.nav-link.active .nav-dot{width:10px;height:10px;background:#00FFB2;box-shadow:0 0 8px rgba(0,255,178,0.5);animation:navPulse 1.5s ease-in-out infinite}
@keyframes navPulse{0%,100%{opacity:0.5}50%{opacity:1}}
.nav-text{font-family:'Inter',sans-serif;font-size:13px;color:#A0A0B0;transition:color 0.2s}
.nav-link.active .nav-text{color:#EAEAF0}
.nav-link:hover .nav-text{color:#EAEAF0}
.hash-decorative{font-size:11px;color:#1E1E2E;word-break:break-all}

/* Mobile top bar */
#mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:#12121A;border-bottom:1px solid #1E1E2E;z-index:100;align-items:center;justify-content:space-between;padding:0 16px}
.topbar-domain{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;color:#EAEAF0}
.menu-btn{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px}
.menu-btn span{display:block;width:20px;height:2px;background:#EAEAF0}

/* Main content */
#main-content{margin-left:240px;padding:48px 40px;min-height:100vh;position:relative;z-index:1}

/* Content sections */
.content-section{margin-bottom:80px;opacity:0;transform:translateY(30px);transition:opacity 0.4s ease,transform 0.4s cubic-bezier(0.25,1,0.5,1)}
.content-section.visible{opacity:1;transform:translateY(0)}

/* Hero */
.hero-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:44px;color:#EAEAF0;letter-spacing:0.03em;margin-bottom:12px;line-height:1.2}
.hero-subtitle{font-size:16px;color:#A0A0B0;margin-bottom:16px;max-width:560px}
.hero-hash{font-size:13px;color:#00FFB2;letter-spacing:0.02em;margin-bottom:32px}

/* Network container */
.network-container{margin:32px 0;padding:24px;background:#12121A;border:1px solid #1E1E2E;position:relative}
#hero-network-svg{width:100%;height:300px;display:block}

/* Section titles */
.section-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:24px;color:#EAEAF0;letter-spacing:0.03em;margin-bottom:24px}

/* Card grid */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:32px}
.card-grid-wide{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}
.card{background:#12121A;border:1px solid #1E1E2E;padding:24px;position:relative;transition:border-color 0.2s,box-shadow 0.2s;opacity:0;transform:translateY(20px);transition:opacity 0.4s ease,transform 0.4s ease,border-color 0.2s,box-shadow 0.2s}
.card.visible{opacity:1;transform:translateY(0)}
.card:hover{border-color:rgba(0,255,178,0.4);box-shadow:0 0 20px rgba(0,255,178,0.05)}

/* Card accent line */
.card-accent{position:absolute;top:0;left:0;height:2px;width:0;transition:width 0.3s ease 0.2s}
.card.visible .card-accent{width:100%}
.card-green .card-accent{background:#00FFB2}
.card-indigo .card-accent{background:#6366F1}
.card-red .card-accent{background:#FF3366}

.card-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;color:#EAEAF0;letter-spacing:0.03em;margin-bottom:12px}
.card-metric{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}
.metric-value{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:28px;color:#EAEAF0}
.metric-unit{font-family:'Inter',sans-serif;font-size:14px;color:#A0A0B0}
.card-desc{font-size:13px;color:#A0A0B0;margin-bottom:12px}
.card-data{font-size:13px;color:#6366F1;word-break:break-all;margin-bottom:12px}

/* Hash expandable */
.hash-expandable{font-size:11px;color:#1E1E2E;cursor:pointer;transition:color 0.2s,max-width 0.3s;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hash-expandable:hover{color:#A0A0B0;max-width:600px}

/* Node grid */
.node-grid{display:flex;flex-direction:column;gap:8px}
.node-item{display:flex;align-items:center;gap:10px;padding:4px 0}
.node-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.node-status.active{background:#00FFB2;box-shadow:0 0 6px rgba(0,255,178,0.5)}
.node-status.syncing{background:#6366F1;animation:syncPulse 1s ease-in-out infinite}
.node-status.inactive{background:#FF3366}
@keyframes syncPulse{0%,100%{opacity:0.5}50%{opacity:1}}
.node-item .mono-text{font-size:12px;color:#A0A0B0}

/* Block visualization */
.block-vis{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0}
.block-stack{display:flex;flex-direction:column;gap:2px}
.block-square{width:12px;height:12px;border:1px solid #1E1E2E;transition:background 0.3s ease;background:transparent}
.block-square.filled{background:#6366F1;border-color:#6366F1}

/* Layer diagram */
.layer-vis-container{margin:32px 0;padding:32px;background:#12121A;border:1px solid #1E1E2E}
.layer-diagram{display:flex;flex-direction:column;align-items:center;gap:24px}
.layer-plane{width:80%;max-width:500px;height:40px;border:1px solid;border-radius:4px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative}
.layer-2-plane{border-color:#00FFB2;background:rgba(0,255,178,0.05)}
.layer-1-plane{border-color:#6366F1;background:rgba(99,102,241,0.05)}
.layer-label{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:12px;letter-spacing:0.05em;text-transform:uppercase}
.layer-2-plane .layer-label{color:#00FFB2}
.layer-1-plane .layer-label{color:#6366F1}
.layer-data-points{display:flex;gap:16px}
.data-point{width:6px;height:6px;border-radius:50%;background:currentColor;animation:dataFlow 2s ease-in-out infinite}
.layer-2-plane .data-point{color:#00FFB2}
.layer-1-plane .data-point{color:#6366F1}
.data-point:nth-child(2){animation-delay:0.3s}
.data-point:nth-child(3){animation-delay:0.6s}
.data-point:nth-child(4){animation-delay:0.9s}
.data-point:nth-child(5){animation-delay:1.2s}
@keyframes dataFlow{0%,100%{opacity:0.3;transform:scale(0.8)}50%{opacity:1;transform:scale(1.2)}}
.layer-connections{display:flex;gap:40px;padding:0 60px}
.layer-line{width:1px;height:24px;background:linear-gradient(to bottom,#00FFB2,#6366F1);opacity:0.4}

/* Wide cards */
.card-wide{grid-column:span 1}

/* Footer */
#site-footer{border-top:1px solid #1E1E2E;padding:24px 0;margin-top:48px}
.footer-hashes{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:#1E1E2E}
.footer-hashes span{white-space:nowrap}

/* Responsive */
@media(max-width:900px){
#sidebar{display:none}
#mobile-topbar{display:flex}
#main-content{margin-left:0;padding:72px 16px 40px}
.hero-title{font-size:28px}
.card-grid{grid-template-columns:1fr}
.card-grid-wide{grid-template-columns:1fr}
.layer-plane{width:100%}
}
