*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#0a0e1a;color:#a4b3c7;font-family:'Source Code Pro',monospace;font-weight:400;font-size:clamp(0.9rem,1.1vw,1.05rem);line-height:1.75;overflow-x:hidden}

/* Top Bar */
.top-bar{position:fixed;top:0;left:0;right:0;height:48px;background:#0a0e1a;border-bottom:1px solid #1a2744;display:flex;align-items:center;padding:0 24px;z-index:100}
.top-bar__domain{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.85rem;color:#7fda8c}
.top-bar__cursor{width:8px;height:16px;background:#7fda8c;margin-left:8px;animation:cursorBlink 1s step-end infinite}
.top-bar__clock{margin-left:auto;font-family:'Source Code Pro',monospace;font-weight:300;font-size:0.8rem;color:#5a6a80}
@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}

/* File Index (left nav) */
.file-index{position:fixed;top:48px;left:0;width:120px;height:calc(100vh - 48px);display:flex;flex-direction:column;justify-content:center;gap:24px;padding:0 12px;z-index:90}
.file-tab{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#5a6a80;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);cursor:default;transition:color 0.3s}
.file-tab:hover{color:#7fda8c}

/* Content Shaft */
.content-shaft{margin-left:120px;margin-top:48px;position:relative;z-index:5}

/* Depth Sections */
.depth-section{position:relative;padding:clamp(3rem,8vh,6rem) clamp(24px,4vw,64px)}

/* Section Header */
.section-header{margin-bottom:2.5rem}
.classification{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#d4a843;display:block;margin-bottom:0.8rem}
.section-title{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(2rem,5.5vw,4.5rem);letter-spacing:0.06em;line-height:1.15;color:#e8eaf0}

/* AUTH Section */
.level-auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.auth-terminal{max-width:700px}
.terminal-output{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.95rem;color:#7fda8c;text-align:left;margin-bottom:2rem;min-height:3.5em}
.auth-title{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(4rem,10vw,8rem);letter-spacing:0.15em;color:#e8eaf0;opacity:0;transition:opacity 1.2s ease}
.auth-title.visible{opacity:1}
.auth-subtitle{font-family:'Source Code Pro',monospace;font-weight:300;font-size:clamp(0.9rem,1.2vw,1.1rem);color:#5a6a80;opacity:0;transition:opacity 1s ease 0.5s}
.auth-subtitle.visible{opacity:1}
.scroll-chevron{font-size:1.5rem;color:#d4a843;margin-top:3rem;opacity:0;animation:chevronPulse 2s ease-in-out infinite;transition:opacity 0.6s ease}
.scroll-chevron.visible{opacity:1}
@keyframes chevronPulse{0%,100%{transform:translateY(0);opacity:0.4}50%{transform:translateY(8px);opacity:1}}

/* Waveform Strips */
.wave-strip{width:100%;height:120px;overflow:hidden;position:relative}
.wave-svg{width:100%;height:100%}
.wave-glow{animation:waveShift 12s ease-in-out infinite alternate}
@keyframes waveShift{0%{stroke-dashoffset:0;opacity:0.15}50%{opacity:0.35}100%{stroke-dashoffset:60;opacity:0.15}}

/* Dossier Cards */
.dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1000px}
.dossier-card{background:#0d1b3e;padding:clamp(20px,3vw,32px);box-shadow:0 1px 3px rgba(0,0,0,0.4);border:1px solid #1a2744;transition:transform 0.15s ease-out;transform-style:preserve-3d;perspective:800px}
.dossier-heading{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:0.04em;color:#e8eaf0;margin-bottom:0.5rem}
.dossier-class{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:#d4a843;display:block;margin-bottom:0.8rem}
.dossier-body{color:#a4b3c7;max-width:50ch}

/* Signal Section */
.level-signal{min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.signal-field{position:relative;width:100%;min-height:80vh;display:flex;align-items:center;justify-content:center}
.signal-svg{position:absolute;top:0;left:0;width:100%;height:100%}
.sig-wave{stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset 2s ease-out}
.sig-wave.drawn{stroke-dashoffset:0}
.signal-locked{position:relative;z-index:2;background:rgba(10,14,26,0.9);padding:clamp(24px,4vw,48px);max-width:600px;border:1px solid #1a2744;box-shadow:0 1px 3px rgba(0,0,0,0.4)}
.signal-excerpt{color:#a4b3c7;max-width:50ch;margin-top:1rem}

/* Archive Docs */
.level-archive{min-height:120vh;background:#0a0e1a}
.archive-doc{display:flex;gap:clamp(16px,3vw,40px);margin-bottom:clamp(2rem,4vh,3.5rem);padding:clamp(20px,3vw,32px);background:rgba(232,234,240,0.03);border:1px solid #1a2744;box-shadow:0 1px 3px rgba(0,0,0,0.4)}
.doc-main{flex:1;max-width:65%}
.doc-heading{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(1.2rem,2.5vw,1.8rem);letter-spacing:0.04em;color:#e8eaf0;margin-bottom:0.8rem}
.doc-body{color:#a4b3c7;max-width:55ch}
.doc-margin{flex:0 0 auto;display:flex;flex-direction:column;gap:0.5rem;align-items:flex-end}
.margin-note{font-family:'Source Code Pro',monospace;font-weight:300;font-size:0.75rem;color:#5a6a80}

/* Redaction */
.redacted{position:relative;color:transparent;user-select:none}
.redacted::after{content:'';position:absolute;top:2px;left:-2px;right:-2px;bottom:2px;background:#0a0e1a;border:1px solid rgba(139,46,59,0.3);transition:opacity 0.8s ease,transform 0.8s ease}
.redacted.declassified{color:#a4b3c7}
.redacted.declassified::after{opacity:0;transform:scaleX(0)}

/* Transmit Section */
.level-transmit{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.transmit-terminal{position:relative;z-index:2;max-width:600px}
.transmit-output{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.9rem;color:#7fda8c;text-align:left;margin-bottom:2rem}
.transmit-title{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:0.1em;color:#e8eaf0;margin-bottom:0.5rem}
.transmit-tagline{font-family:'Source Code Pro',monospace;font-weight:300;font-size:0.95rem;color:#5a6a80}
.transmit-waves{position:absolute;bottom:0;left:0;width:100%;height:300px}
.tx-wave{animation:txFloat 10s ease-in-out infinite}
.tx-1{animation-delay:0s}
.tx-2{animation-delay:3s}
@keyframes txFloat{0%{transform:translateY(0)}50%{transform:translateY(-20px)}100%{transform:translateY(0)}}

/* Footer */
.site-footer{text-align:center;padding:clamp(2rem,4vh,4rem) 24px;border-top:1px solid #1a2744;margin-left:120px}
.footer-domain{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.85rem;color:#7fda8c;display:block;margin-bottom:0.3rem}
.footer-stamp{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#5a6a80}

/* Reveals */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.6s cubic-bezier(0.23,1,0.32,1),transform 0.6s cubic-bezier(0.23,1,0.32,1)}
[data-reveal].visible{opacity:1;transform:translateY(0)}
[data-reveal-stagger]{opacity:0;transform:translateX(-40px);transition:opacity 0.5s ease-out,transform 0.5s ease-out}
[data-reveal-stagger].visible{opacity:1;transform:translateX(0)}

@media(max-width:768px){
  .file-index{display:none}
  .content-shaft,.site-footer{margin-left:0}
  .dossier-grid{grid-template-columns:1fr}
  .archive-doc{flex-direction:column}
  .doc-main{max-width:100%}
  .doc-margin{flex-direction:row;align-items:flex-start;gap:1rem}
  .signal-locked{margin:0 16px}
}
