*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#0a0a0f;color:#e8e4ef;font-family:'Share Tech Mono',monospace;font-weight:400;font-size:clamp(0.95rem,1.8vw,1.15rem);line-height:1.75;overflow-x:hidden;letter-spacing:0.02em}

/* Progress Bar */
.progress-bar{position:fixed;top:0;left:0;height:2px;background:#2aff6e;z-index:100;width:0;transition:width 0.1s linear;box-shadow:0 0 8px rgba(42,255,110,0.4)}

/* Fixed Prompt */
.fixed-prompt{position:fixed;bottom:24px;left:24px;font-family:'Share Tech Mono',monospace;font-size:1rem;color:#2aff6e;z-index:50;animation:promptFlicker 3s ease-in-out infinite}
@keyframes promptFlicker{0%,100%{opacity:0.8}50%{opacity:0.3}}

/* Sections */
.section{min-height:100vh;padding:clamp(3rem,8vh,8rem) clamp(16px,5vw,64px);position:relative;display:flex;align-items:center;justify-content:center}

/* Boot */
.section--boot{flex-direction:column;text-align:center}
.boot-container{position:relative;z-index:2}
.boot-text{font-family:'Share Tech Mono',monospace;font-size:0.95rem;color:#2aff6e;text-align:left;max-width:500px;margin:0 auto 2rem;min-height:2.5em}
.boot-title{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(3rem,8vw,7rem);letter-spacing:0.08em;text-transform:uppercase;color:#e8e4ef;opacity:0;transition:opacity 1s ease;text-shadow:1px 0 #ff2d78,-1px 0 #00f0ff}
.boot-title.visible{opacity:1}
.boot-status{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:clamp(0.7rem,1.2vw,0.85rem);letter-spacing:0.2em;text-transform:uppercase;color:#2aff6e;opacity:0;transition:opacity 0.5s ease}
.boot-status.visible{opacity:1}

/* Mesh Heartbeat */
.mesh-heartbeat{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 30% 40%,#ff2d78,transparent 50%),radial-gradient(ellipse at 70% 60%,#00f0ff,transparent 50%),radial-gradient(ellipse at 50% 50%,#8b5cf6,transparent 60%);filter:blur(80px);transition:opacity 0.4s ease;z-index:1;pointer-events:none}
.mesh-heartbeat.pulse{opacity:0.7;animation:meshFade 0.7s ease-out forwards}
@keyframes meshFade{to{opacity:0}}

/* Log Blocks */
.log-block{background:#12121a;border:1px solid rgba(42,255,110,0.3);padding:clamp(1.5rem,3vw,2.5rem);max-width:60vw;position:relative;overflow:hidden}
.log-block--left{margin-right:auto;margin-left:15%}
.log-block--right{margin-left:auto;margin-right:15%}
.log-label{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:clamp(0.7rem,1.2vw,0.85rem);letter-spacing:0.15em;text-transform:uppercase;color:#2aff6e;display:block;margin-bottom:1rem}
.log-text{color:#e8e4ef;max-width:55ch;margin-bottom:1em}
.log-command{font-family:'Orbitron',sans-serif;font-weight:700;font-size:clamp(1.5rem,3.5vw,2.8rem);letter-spacing:0.12em;color:#ff2d78;margin-bottom:1rem}

/* Log Table */
.log-table{width:100%;max-width:400px;margin-bottom:1.5rem;border-collapse:collapse}
.log-table tr{border-bottom:1px solid rgba(42,255,110,0.1)}
.td-label{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:0.75rem;letter-spacing:0.15em;color:#3a3a4f;padding:0.5rem 1rem 0.5rem 0;text-transform:uppercase}
.td-value{font-family:'Share Tech Mono',monospace;color:#2aff6e;padding:0.5rem 0;text-align:right}

/* Leak Meshes */
.leak-mesh{position:absolute;width:350px;height:350px;border-radius:50%;filter:blur(80px);opacity:0.2;mix-blend-mode:screen;pointer-events:none;animation:leakDrift 25s ease-in-out infinite alternate}
.mesh--magenta{background:radial-gradient(circle,#ff2d78,#8b5cf6,transparent);top:-100px;right:-80px}
.mesh--cyan{background:radial-gradient(circle,#00f0ff,#2aff6e,transparent);top:-50px;left:-100px}
.mesh--violet{background:radial-gradient(circle,#8b5cf6,#ff2d78,transparent);bottom:-80px;right:-60px}
.mesh--green{background:radial-gradient(circle,#2aff6e,#00f0ff,transparent);bottom:-80px;left:-80px}
@keyframes leakDrift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(20px,-15px) scale(1.1)}}

/* Interlude */
.section--interlude{min-height:100vh}
.interlude-mesh{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 35%,rgba(255,45,120,0.2),transparent 50%),radial-gradient(ellipse at 75% 65%,rgba(0,240,255,0.15),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(139,92,246,0.15),transparent 60%),radial-gradient(ellipse at 60% 30%,rgba(42,255,110,0.1),transparent 40%);filter:blur(60px);animation:meshMorph 30s ease-in-out infinite alternate}
@keyframes meshMorph{0%{opacity:0.6;transform:scale(1)}50%{opacity:0.9;transform:scale(1.05)}100%{opacity:0.6;transform:scale(0.95)}}

/* Loop */
.section--loop{flex-direction:column;text-align:center}
.loop-terminal{width:clamp(300px,70vw,700px);height:clamp(200px,40vh,400px);border:1px solid rgba(42,255,110,0.3);background:#0a0a0f;display:flex;align-items:flex-start;justify-content:flex-start;padding:1.5rem;margin-bottom:2rem;overflow:hidden}
.loop-text{font-family:'Share Tech Mono',monospace;font-size:0.85rem;color:#2aff6e;white-space:pre-wrap}
.loop-title{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(2rem,6vw,5rem);letter-spacing:0.08em;color:#e8e4ef;text-shadow:2px 0 #ff2d78,-2px 0 #00f0ff;animation:rgbShift 4s ease-in-out infinite}
@keyframes rgbShift{0%{text-shadow:1px 0 #ff2d78,-1px 0 #00f0ff}33%{text-shadow:2px 0 #ff2d78,-2px 0 #00f0ff}66%{text-shadow:3px 0 #ff2d78,-3px 0 #00f0ff}100%{text-shadow:1px 0 #ff2d78,-1px 0 #00f0ff}}

/* Reveals */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease-out,transform 0.6s ease-out}
[data-reveal].visible{opacity:1;transform:translateY(0)}

@media(max-width:768px){
  .log-block{max-width:90vw}
  .log-block--left,.log-block--right{margin-left:5%;margin-right:5%}
  .loop-terminal{width:90vw;height:250px}
}
