@charset "utf-8";
/* CSS Document */
* { margin: 0; padding: 0; box-sizing: border-box; }
  body {
    background: #000;
    font-family: Georgia, 'Times New Roman', serif;
    overflow: hidden;
    width: 100vw; height: 100svh;
  }

  /* ── Start Screen ── */
  #startScreen {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 100; background: #000;
  }
  #startScreen h1 {
    font-size: clamp(3rem, 8vw, 7rem);
    color: #1a0808; letter-spacing: 1.5rem;
    margin-bottom: 3rem;
    animation: titlePulse 4s ease-in-out infinite;
    text-shadow: 0 0 40px rgba(80,10,10,0.3);
    font-weight: 100;
  }
  @keyframes titlePulse {
    0%, 100% { opacity: 0.2; } 50% { opacity: 0.6; }
  }

  /* ── Icon Buttons ── */
  .icon-btn {
    background: none; border: none;
    color: rgba(180, 70, 70, 0.7);
    cursor: pointer; transition: all 0.3s;
    display: flex; align-items: center; justify-content: center;
    padding: 10px;
    border-radius: 50%;
  }
  .icon-btn:hover {
    color: rgba(240, 110, 110, 0.95);
    background: rgba(60, 10, 10, 0.5);
  }
  .icon-btn:active { transform: scale(0.9); }
  .icon-btn .material-symbols-outlined {
    font-size: 28px;
  }

  /* Start button — larger */
  #btnStart {
    width: 80px; height: 80px;
    border: 1px solid rgba(100, 30, 30, 0.5);
    border-radius: 50%;
    color: rgba(160, 50, 50, 0.6);
  }
  #btnStart .material-symbols-outlined { font-size: 60px; }
  #btnPause .material-symbols-outlined,
  #btnResume .material-symbols-outlined { font-size: 60px; }
  #btnStart:hover {
    border-color: rgba(180, 60, 60, 0.7);
    color: rgba(220, 90, 90, 0.9);
    background: rgba(40, 5, 5, 0.6);
    box-shadow: 0 0 30px rgba(100, 20, 20, 0.2);
  }

  /* ── Main View ── */
  #mainView { position: absolute; inset: 0; display: none; }
  #mainCanvas { width: 100%; height: 100%; display: block; position: fixed; inset: 0; z-index: 43; }

  /* Drawing layer — always on top of everything, clearly visible */
  #drawCanvas {
    position: fixed; inset: 0;
    pointer-events: none; z-index: 45;
    opacity: 0.35;
    mix-blend-mode: screen;
  }

  /* Back/Reset button — top left */
  #btnReset {
    position: fixed;
    top: 16px; left: 16px;
    z-index: 200;
    color: rgba(150, 60, 60, 0.5);
  }
  #btnReset:hover {
    color: rgba(220, 100, 100, 0.9);
    background: rgba(40, 5, 5, 0.6);
  }

  /* Playback controls — bottom center */
  #controls {
    position: fixed;
    bottom: 24px; left: 50%;
    transform: translateX(-50%);
    z-index: 200;
    display: flex; gap: 8px;
  }

  #overlay {
    position: fixed; inset: 0; pointer-events: none; z-index: 40;
  }
  #overlay::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at center, transparent 20%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.6) 95%);
  }
  #grainCanvas { position: fixed; inset: 0; pointer-events: none; z-index: 41; opacity: 0.07; mix-blend-mode: overlay; }
  #scanlines {
    position: fixed; inset: 0; pointer-events: none; z-index: 42;
    background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.12) 2px, rgba(0,0,0,0.12) 4px);
  }
  .status-text {
    position: fixed; top: 30px; left: 50%; transform: translateX(-50%);
    color: #2a1010; font-size: 0.65rem; letter-spacing: 0.6rem;
    z-index: 50; opacity: 0; transition: opacity 1s;
    text-transform: uppercase; pointer-events: none;
  }
  .status-text.visible { opacity: 0.4; }
  #despairFlash {
    position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
    z-index: 44; pointer-events: none; opacity: 0;
  }
  #despairFlash span {
    font-size: clamp(4rem,15vw,12rem); color: rgba(80,5,5,0.18);
    font-weight: 100; letter-spacing: 2rem; font-family: Georgia, serif;
  }
  video { display: none; }

