    * { margin: 0; padding: 0; box-sizing: border-box; }
    html, body {
      width: 100%; height: 100%; overflow: hidden !important;
      background: #000;
      font-family: Arial, Helvetica, sans-serif;
    }
    
    /* Background gradient as a layer to avoid flash */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background: radial-gradient(circle at center, #2d1305 0%, #170903 38%, #080302 76%, #000 100%);
      z-index: 1;
    }

    canvas { 
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      display: block; 
      z-index: 10;
    }

    .flash {
      position: fixed; inset: 0; pointer-events: none; opacity: 0;
      background: radial-gradient(circle at center, rgba(255,255,248,1) 0%, rgba(255,245,210,0.98) 10%, rgba(255,220,130,0.78) 24%, rgba(255,185,70,0.38) 42%, rgba(255,150,40,0) 70%);
      mix-blend-mode: screen; transition: opacity 0.08s linear;
      z-index: 15;
    }

    /* 스킵 버튼 (옵션) */
    .skip {
      position: fixed; bottom: 30px; right: 30px;
      color: rgba(255,255,255,0.4); font-size: 12px; letter-spacing: 2px;
      cursor: pointer; text-decoration: none; border: 1px solid rgba(255,255,255,0.2);
      padding: 8px 16px; border-radius: 20px; transition: all 0.3s;
      z-index: 100; font-family: sans-serif;
    }
    .skip:hover { color: #fff; border-color: #FF6A00; background: rgba(255, 106, 0, 0.15); }

    /* Allow shared components on this page */
    .sitemap-footer, 
    footer, 
    .top-btn,
    .defs { 
      display: none !important; 
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
      position: absolute !important;
      top: -9999px !important;
    }
