  /* ================= THE AWAKENING OF THE DOMINION ================= */
  #awakening{
    position:fixed; inset:0; z-index:600; background:#010005;
    display:flex; align-items:center; justify-content:center;
    opacity:1; transition:opacity 1s ease;
  }
  #awakening.done{ opacity:0; pointer-events:none; }
  #awakening canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }

  .awakening-ring{
    position:relative; z-index:2; width:120px; height:120px;
    animation:awakening-ring-spin 12s linear infinite;
  }
  @keyframes awakening-ring-spin{ to{ transform:rotate(360deg); } }
  .awakening-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
  .ring-track{ fill:none; stroke:rgba(214,182,115,.18); stroke-width:1.5; }
  .ring-fill{
    fill:none; stroke:var(--gold-bright); stroke-width:1.5; stroke-linecap:round;
    stroke-dasharray:326.7; stroke-dashoffset:326.7;
    filter:drop-shadow(0 0 6px rgba(243,221,163,.7));
    transition:stroke-dashoffset .4s linear;
  }

  .awakening-status{
    position:absolute; bottom:19%; left:50%; transform:translateX(-50%); z-index:2;
    font-family:var(--font-display); font-size:11.5px; letter-spacing:.28em; text-transform:uppercase;
    color:var(--muted); opacity:0; transition:opacity .7s ease; white-space:nowrap; text-align:center; width:90vw;
  }
  .awakening-status.show{ opacity:1; }

  .awakening-quote{
    position:absolute; top:24%; left:50%; transform:translateX(-50%); z-index:2;
    max-width:560px; width:88vw; text-align:center; padding:0 20px;
    font-family:var(--font-body); font-style:italic; font-size:16.5px; line-height:1.5;
    color:var(--gold-bright); text-shadow:0 0 22px rgba(157,92,255,.6);
    opacity:0; transition:opacity 1s ease;
  }
  .awakening-quote.show{ opacity:1; }

  .awakening-flash{
    position:absolute; inset:0; z-index:3; background:#fff; opacity:0; pointer-events:none;
    transition:opacity .5s ease;
  }
  .awakening-flash.on{ opacity:1; }

  @media(max-width:600px){
    .awakening-ring{ width:92px; height:92px; }
    .awakening-status{ font-size:10px; letter-spacing:.2em; }
  }
  @media (prefers-reduced-motion: reduce){
    .awakening-ring{ animation:none; }
  }
