
  * { margin:0; padding:0; box-sizing:border-box; }

  body {
    background:#050810;
    overflow:hidden;
    font-family:'Courier New', monospace;
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  #screen {
    position:relative;
    width:1280px;
    height:720px;
    max-width:100vw;
    max-height:100vh;
    background:linear-gradient(180deg,#050815 0%,#0a1030 55%,#141a3d 100%);
    border:2px solid #2ee6d6;
    box-shadow:0 0 30px rgba(46,230,214,0.6), inset 0 0 60px rgba(0,255,255,0.1);
    overflow:hidden;
  }

  #screen::before {
    content:"";
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.15) 0px,
      rgba(0,0,0,0.15) 1px,
      transparent 2px,
      transparent 3px
    );
    pointer-events:none;
    z-index:50;
  }

  #screen::after {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.55) 100%);
    pointer-events:none;
    z-index:51;
    animation:flicker 6s infinite;
  }

  @keyframes flicker {
    0%,97%,100% { opacity:1; }
    98% { opacity:0.85; }
    99% { opacity:0.95; }
  }

  canvas#stars {
    position:absolute;
    inset:0;
    z-index:1;
  }

  .skyline {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:220px;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    opacity:0.85;
  }

  .bld {
    position:relative;
    background:#0b1330;
    border-top:2px solid #2ee6d6;
    box-shadow:inset 0 0 15px rgba(46,230,214,0.5);
  }

  .bld span {
    position:absolute;
    width:6px;
    height:6px;
    background:#ffb400;
    box-shadow:0 0 6px #ffb400;
  }

  .logo-wrap {
    position:absolute;
    top:16%;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    text-align:center;
    z-index:10;
  }

  .logo {
    position:relative;
    font-size:92px;
    font-weight:900;
    letter-spacing:6px;
    color:#fff;
    text-shadow:
      0 0 6px #fff,
      0 0 18px #ff2bd6,
      0 0 34px #ff2bd6,
      0 0 60px #2ee6d6;
    animation:pulse 2.4s ease-in-out infinite;
  }

  .logo .glitch1,
  .logo .glitch2 {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    overflow:hidden;
    opacity:0.7;
  }

  .logo .glitch1 {
    color:#ff2bd6;
    clip-path:inset(0 0 60% 0);
    animation:glitchTop 3.2s infinite linear;
  }

  .logo .glitch2 {
    color:#2ee6d6;
    clip-path:inset(60% 0 0 0);
    animation:glitchBot 2.6s infinite linear;
  }

  @keyframes pulse {
    0%,100% { filter:brightness(1); }
    50% { filter:brightness(1.25); }
  }

  @keyframes glitchTop {
    0%,90%,100% { transform:translate(0,0); }
    91% { transform:translate(-4px,-2px); }
    93% { transform:translate(3px,1px); }
    95% { transform:translate(-2px,0); }
  }

  @keyframes glitchBot {
    0%,92%,100% { transform:translate(0,0); }
    93% { transform:translate(4px,2px); }
    95% { transform:translate(-3px,-1px); }
    97% { transform:translate(2px,0); }
  }

  .subtitle {
    margin-top:14px;
    font-size:22px;
    letter-spacing:10px;
    color:#7dfaff;
    text-shadow:0 0 8px #2ee6d6, 0 0 18px #2ee6d6;
  }

  .acts-strip {
    margin-top:18px;
    font-size:12px;
    letter-spacing:2px;
    color:#55ffaa;
    opacity:0.75;
  }

  .press-start {
    position:absolute;
    bottom:50px;
    left:50%;
    transform:translateX(-50%);
    z-index:10;
    cursor:pointer;
    white-space:nowrap;
    color:#fff;
    font-size:16px;
    letter-spacing:3px;
    animation:blink 1.1s infinite steps(1);
  }

  @keyframes blink {
    50% { opacity:0; }
  }

  .seed-tag {
    position:absolute;
    top:16px;
    left:20px;
    z-index:10;
    color:#55ffaa;
    font-size:11px;
    letter-spacing:1px;
    opacity:0.8;
  }

  .version-tag {
    position:absolute;
    top:16px;
    right:20px;
    z-index:10;
    color:#55ffaa;
    font-size:11px;
    letter-spacing:1px;
    opacity:0.8;
  }

  .scan-sweep {
    position:absolute;
    left:0;
    width:100%;
    height:120px;
    z-index:5;
    pointer-events:none;
    background:linear-gradient(180deg, transparent, rgba(46,230,214,0.06), transparent);
    animation:sweep 5s linear infinite;
  }

  @keyframes sweep {
    0% { top:-120px; }
    100% { top:720px; }
  }

  /* Age verification modal */
  .age-gate {
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(2,5,16,0.9);
    backdrop-filter:blur(7px);
  }

  .age-gate.hidden {
    display:none;
  }

  .age-gate-panel {
    width:min(420px, 100%);
    padding:34px;
    text-align:center;
    color:#c9ffee;
    background:linear-gradient(180deg,#0a1030,#050815);
    border:2px solid #2ee6d6;
    box-shadow:
      0 0 25px rgba(46,230,214,0.7),
      0 0 45px rgba(255,43,214,0.25),
      inset 0 0 30px rgba(46,230,214,0.12);
  }

  .age-gate-panel h2 {
    margin-bottom:16px;
    color:#fff;
    font-size:27px;
    letter-spacing:3px;
    text-shadow:0 0 10px #ff2bd6, 0 0 20px #2ee6d6;
  }

  .age-gate-panel p {
    margin-bottom:20px;
    font-size:14px;
    line-height:1.5;
    letter-spacing:1px;
  }

  .age-gate-panel label {
    display:block;
    margin-bottom:8px;
    color:#55ffaa;
    font-size:12px;
    letter-spacing:2px;
  }

  .age-gate-panel input {
    width:100%;
    padding:13px;
    border:1px solid #2ee6d6;
    outline:none;
    background:#030713;
    color:#fff;
    font-family:'Courier New', monospace;
    font-size:20px;
    text-align:center;
    letter-spacing:4px;
    box-shadow:inset 0 0 12px rgba(46,230,214,0.18);
  }

  .age-gate-panel input:focus {
    border-color:#ff2bd6;
    box-shadow:0 0 12px rgba(255,43,214,0.75);
  }

  .age-gate-panel button {
    width:100%;
    margin-top:16px;
    padding:13px;
    cursor:pointer;
    border:1px solid #ff2bd6;
    background:#16071b;
    color:#fff;
    font-family:'Courier New', monospace;
    font-size:15px;
    font-weight:bold;
    letter-spacing:3px;
    transition:0.15s ease;
  }

  .age-gate-panel button:hover {
    background:#ff2bd6;
    box-shadow:0 0 18px rgba(255,43,214,0.85);
  }

  .age-message {
    min-height:22px;
    margin-top:16px !important;
    margin-bottom:0 !important;
    color:#ff6b9d;
    font-weight:bold;
  }

  #secretAudioToggle {
    position:fixed;
    top:0;
    right:0;
    z-index:9999;
    width:72px;
    height:72px;
    border:none;
    background:transparent;
    opacity:0;
  }

  #clearOverlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
  object-fit: contain;
  pointer-events: none;
  }
