  :root{
    --void:#050706;
    --void-2:#0a0f0c;
    --phosphor:#6cff72;
    --phosphor-dim:#2e7d34;
    --phosphor-bright:#c3ffc6;
    --phosphor-glow: rgba(108,255,114,0.45);
    --white-flash:#eafff0;
    --alert:#ff5d3a;
    --line: rgba(108,255,114,0.16);
    --font-display:'Share Tech Mono', monospace;
    --font-body:'IBM Plex Mono', monospace;
    --font-boot:'VT323', monospace;
    --nav-w: 220px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--void);
    color:var(--phosphor);
    font-family:var(--font-body);
    overflow-x:hidden;
    cursor:default;
  }
  ::selection{ background:var(--phosphor); color:var(--void); }

  /* ---------- CRT / SCANLINE LAYER ---------- */
  .crt-frame{
    position:fixed; inset:0; pointer-events:none; z-index:9000; mix-blend-mode:screen;
  }
  .crt-frame::before{
    content:""; position:absolute; inset:0;
    background:repeating-linear-gradient(
      to bottom,
      rgba(108,255,114,var(--crt-scanline-opacity, 0.035)) 0px,
      rgba(108,255,114,var(--crt-scanline-opacity, 0.035)) 1px,
      transparent 2px,
      transparent 3px
    );
    animation: scan-shift 9s linear infinite;
  }
  .crt-frame::after{
    content:""; position:absolute; inset:0;
    background: radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.55) 100%);
  }
  @keyframes scan-shift{ from{ transform:translateY(0);} to{ transform:translateY(3px);} }

  .crt-noise{
    position:fixed; inset:0; z-index:8999; pointer-events:none; opacity:var(--crt-noise-opacity, 0.05); mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    animation: noise-shift 0.4s steps(2) infinite;
  }
  @keyframes noise-shift{ 0%{transform:translate(0,0);} 50%{transform:translate(-1%,1%);} 100%{transform:translate(1%,-1%);} }

  /* ---------- BOOT SEQUENCE ---------- */
  #boot{
    position:fixed; inset:0; background:var(--void); z-index:10000;
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    font-family:var(--font-boot); font-size:1.7rem; letter-spacing:1px;
    transition:opacity .8s ease;
  }
  #boot.hidden{ opacity:0; pointer-events:none; }
  #boot-log{ width:min(600px,80vw); }
  #boot-log div{ opacity:0; animation:boot-line .15s forwards; text-shadow:0 0 8px var(--phosphor-glow); }
  #boot-cursor{ display:inline-block; width:10px; height:20px; background:var(--phosphor); animation:blink 1s steps(1) infinite; margin-left:4px;}
  @keyframes boot-line{ to{opacity:1;} }
  @keyframes blink{ 50%{opacity:0;} }
  #boot-skip{
    position:absolute; bottom:30px; right:30px; font-family:var(--font-display); font-size:.75rem;
    color:var(--phosphor-dim); border:1px solid var(--line); padding:8px 14px; background:transparent;
    cursor:pointer; letter-spacing:2px;
  }
  #boot-skip:hover{ color:var(--phosphor); border-color:var(--phosphor); }

  /* ---------- GLITCH OVERLAY ---------- */
  #glitch-msg{
    position:fixed; inset:0; z-index:9500; display:flex; align-items:center; justify-content:center;
    pointer-events:none; opacity:0; font-family:var(--font-display); font-size:clamp(1.4rem,4vw,3rem);
    letter-spacing:4px; color:var(--white-flash); text-align:center; padding:2rem;
    text-shadow:0 0 20px var(--phosphor), 2px 0 var(--alert), -2px 0 #3af0ff;
    mix-blend-mode:screen;
  }
  #glitch-msg.show{ animation:glitch-flash .5s steps(3) forwards; }
  @keyframes glitch-flash{
    0%{opacity:0; transform:translate(0,0) skewX(0);}
    15%{opacity:1; transform:translate(-6px,2px) skewX(3deg);}
    30%{opacity:.2; transform:translate(6px,-2px) skewX(-4deg);}
    45%{opacity:1; transform:translate(-3px,0);}
    70%{opacity:1; transform:translate(2px,1px);}
    100%{opacity:0;}
  }
  .screen-glitch{ animation: screen-jitter 0.25s steps(2) 1; }
  @keyframes screen-jitter{
    0%{ filter:none; transform:translate(0,0);}
    30%{ filter:hue-rotate(15deg) contrast(1.3); transform:translate(-2px,1px);}
    60%{ filter:hue-rotate(-10deg) contrast(1.1); transform:translate(2px,-1px);}
    100%{ filter:none; transform:translate(0,0);}
  }

  .corruption-trigger{ cursor:pointer; transition:color .2s; }
  .corruption-trigger:hover{ color:var(--alert) !important; text-shadow:0 0 8px var(--alert); }

  /* ---------- SYSTEM FAILURE EASTER EGG ---------- */
  #system-failure-overlay{
    position:fixed; inset:0; z-index:9800; display:none;
    background:#020302; overflow:hidden;
  }
  #system-failure-overlay.show{ display:block; animation: sf-flicker-in .25s steps(3); }
  .sf-vignette{
    position:absolute; inset:0;
    background:radial-gradient(ellipse at center, transparent 30%, rgba(255,60,40,.25) 100%);
    animation: sf-pulse 1.1s ease-in-out infinite;
  }
  .sf-content{
    position:relative; z-index:2; height:100%; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center; padding:2rem;
  }
  .sf-title{
    font-family:var(--font-display); font-size:clamp(1.8rem,6vw,4rem); letter-spacing:4px;
    color:var(--alert); text-shadow:0 0 20px var(--alert), 0 0 60px rgba(255,60,40,.5);
    animation: sf-title-flicker 0.6s infinite;
  }
  .sf-sub{
    font-family:var(--font-display); font-size:.85rem; letter-spacing:3px; color:var(--phosphor-bright);
    margin-top:.8rem; opacity:.85;
  }
  .sf-log{
    margin-top:2rem; font-family:var(--font-boot); font-size:1rem; color:var(--phosphor);
    text-align:left; width:min(480px,86vw); min-height:180px; line-height:1.7;
  }
  .sf-log div{ opacity:0; animation:boot-line .12s forwards; }
  .sf-log div.sf-danger{ color:var(--alert); }
  .sf-barline{ margin-top:1.6rem; width:min(480px,86vw); height:5px; background:rgba(255,60,40,.15); position:relative; overflow:hidden; }
  .sf-barline span{ position:absolute; left:0; top:0; height:100%; width:0%; background:var(--alert); box-shadow:0 0 10px var(--alert); transition:width linear; }
  @keyframes sf-pulse{ 0%,100%{opacity:.6;} 50%{opacity:1;} }
  @keyframes sf-title-flicker{ 0%,100%{opacity:1;} 42%{opacity:1;} 44%{opacity:.3;} 46%{opacity:1;} 70%{opacity:1;} 72%{opacity:.4;} 74%{opacity:1;} }
  @keyframes sf-flicker-in{ 0%{opacity:0;} 30%{opacity:1;} 45%{opacity:.2;} 60%{opacity:1;} 100%{opacity:1;} }

  /* ---------- LAYOUT ---------- */
  header, section, footer{ position:relative; }
  a{ color:inherit; text-decoration:none; }

  /* ---------- SIDE CONSOLE NAV ---------- */
  #console-nav{
    position:fixed; top:0; left:0; height:100vh; width:var(--nav-w); z-index:500;
    border-right:1px solid var(--line); background:linear-gradient(180deg, rgba(5,7,6,.97), rgba(5,7,6,.9));
    display:flex; flex-direction:column; justify-content:center; padding:0 0 0 28px;
    backdrop-filter: blur(2px);
  }
  #console-nav .nav-head{
    font-family:var(--font-display); font-size:.65rem; color:var(--phosphor-dim); letter-spacing:3px;
    position:absolute; top:28px; left:28px;
  }
  #console-nav ul{ list-style:none; }
  #console-nav li{ margin:10px 0; }
  #console-nav button{
    background:none; border:none; color:var(--phosphor-dim); font-family:var(--font-display);
    font-size:.82rem; letter-spacing:1px; cursor:pointer; display:flex; align-items:center; gap:8px;
    padding:4px 0; transition:color .2s;
  }
  #console-nav button::before{ content:"›"; color:var(--phosphor-dim); transition:color .2s;}
  #console-nav button:hover, #console-nav button.active{ color:var(--phosphor-bright); text-shadow:0 0 8px var(--phosphor-glow); }
  #console-nav button:hover::before, #console-nav button.active::before{ color:var(--phosphor); }
  #console-nav .nav-foot{
    position:absolute; bottom:26px; left:28px; font-family:var(--font-display); font-size:.6rem;
    color:var(--phosphor-dim); letter-spacing:2px; display:flex; flex-direction:column; gap:6px;
  }
  #mute-toggle{ background:none; border:1px solid var(--line); color:var(--phosphor-dim); font-family:var(--font-display);
    font-size:.6rem; padding:5px 8px; cursor:pointer; letter-spacing:1px; width:fit-content;}
  #mute-toggle:hover{ color:var(--phosphor); border-color:var(--phosphor);}
  #mobile-nav-toggle{ display:none; }

  @media (max-width:880px){
    :root{ --nav-w:0px; }
    #console-nav{ width:78vw; max-width:280px; transform:translateX(-100%); transition:transform .35s ease; }
    #console-nav.open{ transform:translateX(0); }
    #mobile-nav-toggle{
      display:flex; position:fixed; top:16px; left:16px; z-index:600; width:44px; height:44px;
      border:1px solid var(--line); background:rgba(5,7,6,.9); color:var(--phosphor);
      align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.1rem; cursor:pointer;
    }
  }

  main{ margin-left:var(--nav-w); }

  /* ---------- HEADER / HERO ---------- */
  #home{
    min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:2rem; position:relative; overflow:hidden;
  }
  .header-slider{ position:absolute; inset:0; z-index:0; }
  .header-slide{
    position:absolute; inset:0; background-size:cover; background-position:center;
    opacity:0; filter:grayscale(.4) brightness(.55) contrast(1.1);
    animation: header-slide-fade var(--slide-duration, 24s) infinite;
  }
  #home::after{
    content:""; position:absolute; inset:0; z-index:0;
    background:linear-gradient(180deg, rgba(5,7,6,.55), rgba(5,7,6,.85) 70%, var(--void) 100%);
  }
  @keyframes header-slide-fade{
    0%, 100%{ opacity:0; }
    5%, 25%{ opacity:1; }
    30%{ opacity:0; }
  }
  #home::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(circle at 50% 20%, rgba(108,255,114,0.08), transparent 60%),
      repeating-linear-gradient(90deg, rgba(108,255,114,0.025) 0 1px, transparent 1px 40px);
    animation: grid-drift 14s linear infinite;
  }
  @keyframes grid-drift{ from{background-position:0 0, 0 0;} to{background-position:0 0, 200px 0;} }
  .hud-line{ position:absolute; font-family:var(--font-display); font-size:.7rem; color:var(--phosphor-dim); letter-spacing:2px; z-index:2; }
  #hud-clock{ top:28px; right:36px; text-align:right;}
  #hud-session{ top:28px; left:calc(var(--nav-w) + 36px); text-align:left; }
  #hud-corrupt{ bottom:120px; left:50%; transform:translateX(-50%); width:min(320px,70vw); text-align:center; }
  .corrupt-bar{ height:4px; width:100%; background:rgba(108,255,114,0.1); margin-top:6px; position:relative; overflow:hidden;}
  .corrupt-bar span{ position:absolute; left:0; top:0; height:100%; background:var(--alert); box-shadow:0 0 8px var(--alert); transition:width 1s linear;}

  .logo{
    font-family:var(--font-display); font-size:clamp(2.6rem,8vw,6rem); letter-spacing:6px;
    color:var(--phosphor-bright); text-shadow:0 0 12px var(--phosphor-glow), 0 0 40px rgba(108,255,114,.25);
    position:relative; z-index:2;
  }
  .logo .v{ color:var(--alert); text-shadow:0 0 12px var(--alert); }
  .slogan{ margin-top:1rem; font-family:var(--font-boot); font-size:1.4rem; color:var(--phosphor-dim); letter-spacing:3px; z-index:2;}
  .enter-btn{
    margin-top:3rem; z-index:2; font-family:var(--font-display); letter-spacing:4px; font-size:.85rem;
    color:var(--void); background:var(--phosphor); border:none; padding:16px 38px; cursor:pointer;
    box-shadow:0 0 25px var(--phosphor-glow); position:relative; overflow:hidden;
  }
  .enter-btn:hover{ background:var(--phosphor-bright); }
  .scroll-hint{ position:absolute; bottom:40px; font-family:var(--font-display); font-size:.65rem; color:var(--phosphor-dim); letter-spacing:2px; animation:pulse 2s ease-in-out infinite; z-index:2;}
  @keyframes pulse{ 50%{ opacity:.3; } }

  /* ---------- GENERIC SECTION STYLES ---------- */
  section{ padding:110px 8vw; border-top:1px solid var(--line); }

  /* ---------- PRIORITY OVERRIDE BANNER ---------- */
  #priority-override{
    padding:36px 8vw; border-top:none; border-bottom:2px solid var(--alert);
    background:linear-gradient(160deg, rgba(255,60,40,.09), rgba(0,0,0,.4));
    position:relative;
  }
  .priority-eyebrow{
    font-family:var(--font-display); font-size:.72rem; letter-spacing:3px; color:var(--alert);
    text-shadow:0 0 8px rgba(255,60,40,.5); margin-bottom:18px; display:flex; align-items:center; gap:10px;
  }
  .priority-live-dot{
    width:8px; height:8px; border-radius:50%; background:var(--alert); box-shadow:0 0 8px var(--alert);
    animation: priority-blink 1.2s ease-in-out infinite;
  }
  @keyframes priority-blink{ 0%,100%{opacity:1;} 50%{opacity:.25;} }
  .priority-body{ display:flex; gap:2rem; align-items:center; flex-wrap:wrap; }
  .priority-image{ flex:0 0 auto; width:min(280px,100%); aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(255,60,40,.35); }
  .priority-image img{ width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.05); }
  .priority-content{ flex:1; min-width:240px; }
  .priority-title{
    font-family:var(--font-display); font-size:clamp(1.1rem,2.6vw,1.6rem); letter-spacing:1px;
    color:var(--phosphor-bright); margin-bottom:.6rem; text-shadow:0 0 10px var(--phosphor-glow);
  }
  .priority-text{ font-size:.9rem; color:var(--phosphor-bright); opacity:.9; line-height:1.7; margin-bottom:1rem; }
  .priority-countdown{
    font-family:var(--font-boot); font-size:1.3rem; color:var(--alert); text-shadow:0 0 8px rgba(255,60,40,.5);
    letter-spacing:1px; margin-bottom:1rem;
  }
  .priority-link{
    display:inline-block; border:1px solid var(--alert); color:var(--phosphor-bright); padding:10px 20px;
    font-family:var(--font-display); font-size:.72rem; letter-spacing:2px;
  }
  .priority-link:hover{ background:rgba(255,60,40,.12); }
  @media(max-width:600px){ .priority-body{ flex-direction:column; align-items:flex-start; } }
  .sec-eyebrow{ font-family:var(--font-display); font-size:.7rem; color:var(--phosphor-dim); letter-spacing:4px; margin-bottom:14px;}
  .sec-title{ font-family:var(--font-display); font-size:clamp(1.6rem,3.4vw,2.6rem); color:var(--phosphor-bright); letter-spacing:2px; margin-bottom:2rem; text-shadow:0 0 10px var(--phosphor-glow);}
  .terminal-decode{ font-family:var(--font-boot); font-size:1.1rem; color:var(--phosphor-dim); min-height:1.4em; margin-bottom:1.6rem; letter-spacing:1px;}

  /* ---------- BIO ---------- */
  #bio .bio-grid{ display:grid; grid-template-columns: 280px 1fr; gap:4rem; align-items:start; }
  .bio-photo{
    aspect-ratio:3/4; background:
      linear-gradient(160deg, rgba(108,255,114,.12), rgba(0,0,0,.4)),
      repeating-linear-gradient(45deg, rgba(108,255,114,.05) 0 2px, transparent 2px 6px);
    border:1px solid var(--line); position:relative; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); color:var(--phosphor-dim); font-size:.7rem; letter-spacing:2px; text-align:center;
  }
  .bio-photo::after{ content:"FILE_CORRUPTED\A NO SIGNAL"; white-space:pre; }
  .bio-text p{ line-height:1.85; color:var(--phosphor-bright); font-size:.95rem; margin-bottom:1.1rem; opacity:.9;}
  @media(max-width:760px){ #bio .bio-grid{ grid-template-columns:1fr; } .bio-photo{ max-width:220px; } }

  /* ---------- ALBUM ---------- */
  .album-card{ display:grid; grid-template-columns:320px 1fr; gap:3.5rem; }
  .album-cover{
    aspect-ratio:1; background:conic-gradient(from 180deg, #0a140b, #123016, #0a140b);
    border:1px solid var(--line); position:relative; overflow:hidden;
  }
  .album-cover::before{ content:""; position:absolute; inset:0; background:repeating-radial-gradient(circle at 50% 50%, transparent 0 8px, rgba(108,255,114,.08) 9px); }
  .album-cover .album-title-stamp{
    position:absolute; bottom:16px; left:16px; font-family:var(--font-display); font-size:.75rem;
    color:var(--phosphor-bright); letter-spacing:2px; text-shadow:0 0 8px var(--phosphor-glow);
  }
  .album-meta{ display:flex; gap:1.4rem; font-family:var(--font-display); font-size:.7rem; color:var(--phosphor-dim); margin-bottom:1.4rem; letter-spacing:1px;}
  .tracklist{ list-style:none; margin-bottom:1.6rem; }
  .tracklist li{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:.85rem; color:var(--phosphor-bright); }
  .tracklist li span:first-child{ color:var(--phosphor-dim); margin-right:12px; }
  .platform-links{ display:flex; flex-wrap:wrap; gap:10px; }
  .platform-links a{ border:1px solid var(--line); padding:8px 16px; font-family:var(--font-display); font-size:.68rem; letter-spacing:1px; transition:.2s; }
  .platform-links a:hover{ border-color:var(--phosphor); color:var(--phosphor-bright); background:rgba(108,255,114,.06);}
  @media(max-width:760px){ .album-card{ grid-template-columns:1fr; } }

  /* ---------- MUSIC PLAYER ---------- */
  .player{ border:1px solid var(--line); padding:2rem; display:grid; grid-template-columns:110px 1fr; gap:2rem; align-items:center; }
  .player-art{ width:110px; height:110px; background:linear-gradient(135deg, rgba(108,255,114,.15), transparent); border:1px solid var(--line); }
  .player-track{ font-family:var(--font-display); font-size:.95rem; color:var(--phosphor-bright); margin-bottom:4px; letter-spacing:1px;}
  .player-sub{ font-size:.75rem; color:var(--phosphor-dim); margin-bottom:16px; }
  .visualizer{ display:flex; align-items:flex-end; gap:3px; height:38px; margin-bottom:16px; }
  .visualizer span{ width:4px; background:var(--phosphor); opacity:.7; animation:bar 1.2s ease-in-out infinite; box-shadow:0 0 6px var(--phosphor-glow); }
  @keyframes bar{ 0%,100%{height:20%;} 50%{height:100%;} }
  .player-controls{ display:flex; align-items:center; gap:18px; }
  .player-controls button{ background:none; border:none; color:var(--phosphor); font-size:1.1rem; cursor:pointer; font-family:var(--font-display); }
  .player-controls button:hover{ color:var(--phosphor-bright); text-shadow:0 0 8px var(--phosphor-glow); }
  .progress{ flex:1; height:3px; background:rgba(108,255,114,.15); position:relative; cursor:pointer; }
  .progress span{ position:absolute; left:0; top:0; height:100%; width:32%; background:var(--phosphor); }
  .playlist{ list-style:none; margin-top:1.6rem; border-top:1px solid var(--line); }
  .playlist li{ display:flex; justify-content:space-between; padding:10px 4px; font-size:.8rem; border-bottom:1px solid var(--line); cursor:pointer; color:var(--phosphor-dim);}
  .playlist li:hover{ color:var(--phosphor-bright); background:rgba(108,255,114,.04); }
  .playlist li.active{ color:var(--phosphor-bright); background:rgba(108,255,114,.08); border-left:2px solid var(--phosphor); padding-left:8px; }

  /* ---------- VIDEO ---------- */
  .video-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.6rem; }
  .video-card{ border:1px solid var(--line); }
  .video-thumb{ aspect-ratio:16/9; background:linear-gradient(160deg, rgba(108,255,114,.1), rgba(0,0,0,.5)); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:.7rem; color:var(--phosphor-dim); letter-spacing:2px; }
  .video-info{ padding:14px 16px; font-size:.8rem; color:var(--phosphor-bright); }

  /* ---------- CONCERTS ---------- */
  .concert-list{ display:flex; flex-direction:column; }
  .concert-row{ display:grid; grid-template-columns:110px 1fr auto auto; gap:1.4rem; align-items:center; padding:18px 0; border-bottom:1px solid var(--line); font-size:.85rem; }
  .concert-date{ font-family:var(--font-display); color:var(--phosphor-bright); letter-spacing:1px; }
  .concert-loc{ color:var(--phosphor-bright); }
  .concert-loc small{ display:block; color:var(--phosphor-dim); margin-top:3px; }
  .concert-status{ font-family:var(--font-display); font-size:.68rem; letter-spacing:1px; padding:5px 10px; border:1px solid var(--line); }
  .concert-status.open{ color:var(--phosphor-bright); }
  .concert-status.soldout{ color:var(--alert); border-color:var(--alert); }
  .concert-tix{ border:1px solid var(--line); padding:8px 16px; font-family:var(--font-display); font-size:.68rem; letter-spacing:1px; }
  .concert-tix:hover{ border-color:var(--phosphor); color:var(--phosphor-bright); }
  @media(max-width:700px){ .concert-row{ grid-template-columns:1fr; gap:.4rem; } }

  /* ---------- NEWS ---------- */
  .news-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.6rem; }
  .news-card{ border:1px solid var(--line); display:flex; flex-direction:column; }
  .news-img{ aspect-ratio:16/10; background:linear-gradient(150deg, rgba(108,255,114,.1), rgba(0,0,0,.5)); }
  .news-body{ padding:16px; flex:1; display:flex; flex-direction:column; }
  .news-date{ font-family:var(--font-display); font-size:.65rem; color:var(--phosphor-dim); letter-spacing:1px; margin-bottom:8px;}
  .news-title{ font-size:.92rem; color:var(--phosphor-bright); margin-bottom:8px; }
  .news-excerpt{ font-size:.78rem; color:var(--phosphor-dim); line-height:1.6; flex:1; }
  .news-read{ margin-top:12px; font-family:var(--font-display); font-size:.68rem; letter-spacing:1px; }

  /* ---------- ARCHIVES ---------- */
  .archive-filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:2rem; }
  .archive-filters button{ background:none; border:1px solid var(--line); color:var(--phosphor-dim); font-family:var(--font-display); font-size:.68rem; letter-spacing:1px; padding:8px 14px; cursor:pointer; }
  .archive-filters button.active, .archive-filters button:hover{ color:var(--phosphor-bright); border-color:var(--phosphor); }
  .archive-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
  .archive-tile{ aspect-ratio:1; background:#0a0f0c; border:1px solid var(--line); cursor:pointer; position:relative; display:flex; align-items:flex-end; justify-content:center; font-family:var(--font-display); font-size:.62rem; color:var(--phosphor-dim); letter-spacing:1px; overflow:hidden; }
  .archive-tile:hover{ border-color:var(--phosphor); }
  .archive-tile:hover .archive-tile-label{ color:var(--phosphor-bright); }
  .archive-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:grayscale(1) sepia(1) hue-rotate(65deg) saturate(4) brightness(.7) contrast(1.15); }
  .archive-tile::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      repeating-linear-gradient(0deg, rgba(108,255,114,.5) 0 1px, transparent 1px 4px),
      linear-gradient(160deg, rgba(108,255,114,.2), rgba(0,0,0,.35));
    mix-blend-mode:overlay;
  }
  .archive-tile-label{ position:relative; z-index:2; padding:8px; width:100%; background:linear-gradient(to top, rgba(0,0,0,.75), transparent); text-align:center; }
  .archive-tile:not(:has(img)) .archive-tile-label{ background:none; padding:0; align-self:center; }
  .archive-tile:not(:has(img)){ align-items:center; }
  #archive-viewer, #session-log-viewer, #clock-viewer{
    position:fixed; inset:0; background:rgba(2,4,3,.96); z-index:9600; display:none; align-items:center; justify-content:center;
    flex-direction:column; gap:1rem;
  }
  #archive-viewer.show, #session-log-viewer.show, #clock-viewer.show{ display:flex; }
  #archive-viewer .frame, #session-log-viewer .frame{ width:min(560px,80vw); min-height:0; aspect-ratio:4/3; border:1px solid var(--phosphor); background:linear-gradient(160deg, rgba(108,255,114,.12), rgba(0,0,0,.5)); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); color:var(--phosphor-dim); font-size:.75rem; letter-spacing:2px; text-align:center; padding:2rem;}
  #archive-viewer .decode-txt, #session-log-viewer .decode-txt{ font-family:var(--font-boot); font-size:1.1rem; color:var(--phosphor); }
  #archive-close, #session-close, #clock-close{ background:none; border:1px solid var(--line); color:var(--phosphor); font-family:var(--font-display); padding:8px 18px; cursor:pointer; letter-spacing:2px; font-size:.7rem;}
  #session-log-viewer .frame{ aspect-ratio:auto; flex-direction:column; align-items:flex-start; text-align:left; }
  #session-log-viewer .frame .log-line{ font-family:var(--font-boot); font-size:1.05rem; margin-bottom:6px; color:var(--phosphor-bright); }
  #session-log-viewer .frame .log-meta{ font-family:var(--font-display); font-size:.65rem; color:var(--phosphor-dim); letter-spacing:1px; margin-top:10px; }

  /* ---------- BROKEN CLOCK + COUNTDOWN ---------- */
  .clock-frame{
    width:min(560px,86vw); border:1px solid var(--phosphor); background:linear-gradient(160deg, rgba(108,255,114,.1), rgba(0,0,0,.55));
    padding:3rem 2rem; display:flex; flex-direction:column; align-items:center; text-align:center;
  }
  .broken-clock{
    font-family:var(--font-boot); font-size:clamp(3rem,10vw,5.5rem); color:var(--phosphor-bright); letter-spacing:4px;
    text-shadow:0 0 12px var(--phosphor-glow), 2px 0 rgba(255,60,40,.5), -2px 0 rgba(58,240,255,.4);
    animation: clock-damage 3.2s infinite;
  }
  @keyframes clock-damage{
    0%,100%{ opacity:1; transform:translateX(0); }
    46%{ opacity:1; }
    47%{ opacity:.3; transform:translateX(-2px); }
    48%{ opacity:1; transform:translateX(1px); }
    49%{ opacity:.5; }
    50%{ opacity:1; transform:translateX(0); }
    88%{ opacity:1; }
    89%{ opacity:.2; }
    90%{ opacity:1; }
  }
  .countdown-block{ margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--line); width:100%; }
  .countdown-label{ font-family:var(--font-display); font-size:.72rem; letter-spacing:2px; color:var(--phosphor-dim); margin-bottom:.6rem; }
  .countdown-value{ font-family:var(--font-boot); font-size:clamp(1.4rem,4vw,2rem); color:var(--alert); text-shadow:0 0 10px var(--alert); letter-spacing:2px; }
  .time-trigger{ cursor:pointer; transition:color .2s; }
  .time-trigger:hover{ color:var(--phosphor-bright) !important; text-shadow:0 0 8px var(--phosphor-glow); }
  .session-trigger{ cursor:pointer; transition:color .2s; }
  .session-trigger:hover{ color:var(--phosphor-bright) !important; text-shadow:0 0 8px var(--phosphor-glow); }

  /* ---------- RETRO TERMINAL WINDOW ---------- */
  #retro-terminal{
    position:fixed; bottom:20px; right:20px; width:420px; max-width:calc(100vw - 24px);
    background:#0a0f0c; border:1px solid var(--phosphor-dim); z-index:9700;
    box-shadow:0 8px 40px rgba(0,0,0,.6), 0 0 0 1px rgba(108,255,114,.15);
    display:none; flex-direction:column; font-family:var(--font-body);
  }
  #retro-terminal.open{ display:flex; }
  #retro-terminal.minimized #retro-terminal-body{ display:none; }
  #retro-terminal-titlebar{
    background:linear-gradient(180deg, #1a2e1c, #0d150e); border-bottom:1px solid var(--phosphor-dim);
    padding:6px 8px; display:flex; align-items:center; justify-content:space-between; cursor:move;
    user-select:none;
  }
  #retro-terminal-title{ font-family:var(--font-display); font-size:.68rem; color:var(--phosphor-bright); letter-spacing:1px; }
  .retro-terminal-buttons{ display:flex; gap:5px; }
  .retro-terminal-buttons button{
    width:20px; height:18px; background:#0f1512; border:1px solid var(--phosphor-dim); color:var(--phosphor);
    font-family:var(--font-display); font-size:.65rem; line-height:1; cursor:pointer; padding:0;
  }
  .retro-terminal-buttons button:hover{ background:var(--phosphor-dim); color:#0a0f0c; }
  #retro-terminal-close:hover{ background:var(--alert) !important; border-color:var(--alert); color:#0a0f0c; }
  #retro-terminal-body{ display:flex; flex-direction:column; height:320px; }
  #retro-terminal-output{
    flex:1; overflow-y:auto; padding:10px 12px; font-family:var(--font-boot); font-size:1rem;
    color:var(--phosphor); line-height:1.5; white-space:pre-wrap;
  }
  #retro-terminal-output .term-cmd{ color:var(--phosphor-bright); }
  #retro-terminal-output .term-err{ color:var(--alert); }
  .term-download-prompt{ color:var(--phosphor-bright); margin:4px 0; }
  .term-download-prompt button{
    background:none; border:1px solid var(--phosphor-dim); color:var(--phosphor);
    font-family:var(--font-boot); font-size:.95rem; cursor:pointer; padding:1px 6px; margin-left:6px;
  }
  .term-download-prompt button:hover{ border-color:var(--phosphor); color:var(--phosphor-bright); }
  .term-download-prompt button:disabled{ opacity:.4; cursor:default; }
  #retro-terminal-inputline{
    display:flex; align-items:center; gap:6px; padding:8px 12px; border-top:1px solid rgba(108,255,114,.15);
  }
  .retro-prompt{ font-family:var(--font-boot); font-size:1rem; color:var(--phosphor-bright); white-space:nowrap; }
  #retro-terminal-input{
    flex:1; background:none; border:none; outline:none; color:var(--phosphor-bright);
    font-family:var(--font-boot); font-size:1rem; caret-color:var(--phosphor);
  }
  @media(max-width:480px){ #retro-terminal{ right:8px; bottom:8px; width:calc(100vw - 16px); } }

  /* ---------- CONTACT ---------- */
  .contact-grid{ display:grid; grid-template-columns:1fr 300px; gap:3rem; }
  form.term-form{ display:flex; flex-direction:column; gap:1.2rem; }
  .term-form label{ font-family:var(--font-display); font-size:.68rem; color:var(--phosphor-dim); letter-spacing:1px; margin-bottom:6px; display:block;}
  .term-form input, .term-form textarea{
    width:100%; background:rgba(108,255,114,.03); border:1px solid var(--line); color:var(--phosphor-bright);
    font-family:var(--font-body); padding:12px; font-size:.85rem;
  }
  .term-form input:focus, .term-form textarea:focus{ outline:none; border-color:var(--phosphor); }
  .term-form button{ align-self:flex-start; background:var(--phosphor); color:var(--void); border:none; padding:14px 30px; font-family:var(--font-display); letter-spacing:2px; font-size:.75rem; cursor:pointer; }
  .term-form button:hover{ background:var(--phosphor-bright); }
  .social-col{ display:flex; flex-direction:column; gap:12px; }
  .social-col a{ border:1px solid var(--line); padding:12px 16px; font-family:var(--font-display); font-size:.72rem; letter-spacing:1px; display:flex; justify-content:space-between; }
  .social-col a:hover{ border-color:var(--phosphor); color:var(--phosphor-bright); }
  #contact-status{ margin-top:1rem; font-family:var(--font-boot); font-size:1rem; color:var(--phosphor-bright); min-height:1.4em; }

  /* ---------- FOOTER ---------- */
  footer{ padding:60px 8vw; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:2rem; justify-content:space-between; font-size:.72rem; color:var(--phosphor-dim); font-family:var(--font-display); letter-spacing:1px; }
  footer a:hover{ color:var(--phosphor-bright); }

  /* utility */
  .fade-up{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
  .fade-up.in{ opacity:1; transform:translateY(0); }
