:root{
  --bg:#050505; --border:#3a0000;
  --blood:#ff0a2b; --blood-deep:#c1121f; --drip:#8a0010;
  --dried:#3a1c1f; --bone:#e6e6e6; --ash:#8a9096; --ash-dim:#5a5a5a;
  --display:'Arial Narrow','Arial Black',Impact,sans-serif;
  --mono:'Courier New',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--bone);font-family:var(--display);
  overflow:hidden;position:fixed;inset:0;user-select:none;-webkit-user-select:none;touch-action:none}

.crt{position:fixed;inset:0;z-index:50;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.5) 3px,transparent 4px)}
.vignette{position:fixed;inset:0;z-index:49;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.85) 100%)}
.drips{position:fixed;top:0;left:0;right:0;height:130px;z-index:48;pointer-events:none;
  background:
    linear-gradient(var(--drip),transparent) 7% 0/3px 78px no-repeat,
    linear-gradient(var(--drip),transparent) 19% 0/2px 50px no-repeat,
    linear-gradient(var(--drip),transparent) 34% 0/3px 104px no-repeat,
    linear-gradient(var(--drip),transparent) 48% 0/2px 64px no-repeat,
    linear-gradient(var(--drip),transparent) 61% 0/3px 120px no-repeat,
    linear-gradient(var(--drip),transparent) 73% 0/2px 46px no-repeat,
    linear-gradient(var(--drip),transparent) 88% 0/3px 88px no-repeat}

.screen{position:fixed;inset:0;z-index:10;display:none;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:24px;gap:14px}
.screen.active{display:flex}

.rite-label{font-size:11px;letter-spacing:4px;color:var(--ash);text-transform:uppercase}
.game-title{font-size:clamp(34px,11vw,56px);font-weight:900;letter-spacing:2px;line-height:.92;
  text-transform:uppercase;text-shadow:0 0 10px rgba(255,20,40,.55),0 0 24px rgba(180,0,20,.4)}
.couple{font-size:16px;letter-spacing:3px;color:var(--blood-deep);text-transform:uppercase;
  text-shadow:0 0 8px rgba(193,18,31,.6)}
.couple.big{font-size:clamp(18px,6vw,26px)}
.flavor{font-family:var(--mono);font-size:13px;color:var(--ash)}

.date{font-family:var(--mono);font-weight:900;font-size:clamp(40px,13vw,56px);letter-spacing:1px;display:flex}
.date .six{color:var(--blood);text-shadow:0 0 14px var(--blood),0 0 38px var(--blood-deep),0 0 64px #6a0010}
.date .dim{color:var(--dried)}
.date.small{font-size:24px}

.ritual-btn{font-family:var(--display);background:transparent;border:1.5px solid var(--blood);
  color:#ff3a52;font-size:13px;letter-spacing:3px;text-transform:uppercase;padding:11px 24px;cursor:pointer;
  box-shadow:0 0 14px rgba(255,10,43,.5),inset 0 0 14px rgba(255,10,43,.18);text-shadow:0 0 8px rgba(255,10,43,.7)}
.ritual-btn:active{transform:translateY(1px)}
.link-btn{background:none;border:none;color:var(--ash);font-family:var(--mono);font-size:12px;
  letter-spacing:2px;text-decoration:underline;cursor:pointer}
.highscore{font-family:var(--mono);font-size:11px;letter-spacing:3px;color:var(--ash-dim)}
.verdict{font-size:clamp(26px,8vw,40px);font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--blood);
  text-shadow:0 0 14px var(--blood),0 0 40px var(--blood-deep)}
.verdict.small{font-size:clamp(20px,6vw,28px)}

.ticker{position:fixed;left:0;right:0;bottom:0;z-index:11;overflow:hidden;
  border-top:1px solid var(--border);background:rgba(0,0,0,.6);padding:7px 0}
.ticker-track{display:inline-block;white-space:nowrap;font-family:var(--mono);font-size:11px;
  letter-spacing:2px;color:var(--blood-deep);will-change:transform;animation:scroll 60s linear infinite}
@keyframes scroll{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}

.almanac-list{list-style:none;max-width:560px;max-height:60vh;overflow:auto;text-align:left;
  font-family:var(--mono);font-size:13px;line-height:1.5;color:var(--bone)}
.almanac-list li{padding:8px 0;border-bottom:1px solid var(--border)}
.almanac-list li::before{content:'⛧ ';color:var(--blood)}

#game{padding:0}
#stage{position:absolute;inset:0;width:100%;height:100%;z-index:5}
.hud{position:fixed;top:0;left:0;right:0;z-index:12;display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:13px;letter-spacing:2px;color:var(--blood-deep);padding:10px 14px}
.hud-hint{position:fixed;bottom:14px;left:0;right:0;z-index:12;text-align:center;
  font-family:var(--mono);font-size:11px;color:var(--ash-dim);letter-spacing:2px}
