:root{
  --bg:#07080a; --panel:#111318; --panel2:#181b22;
  --ink:#cdd2d6; --dim:#6b7178; --faint:#484d54;
  --red:#c0392b; --redglow:#ff3b2f; --amber:#e0a24b;
  --cyan:#4bd0e0; --green:#3fae6b; --line:#232830;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#000;color:var(--ink);font-family:'Inter',system-ui,sans-serif;
  overflow:hidden;position:fixed;inset:0;-webkit-tap-highlight-color:transparent;user-select:none}

/* Атмосфера */
#scanlines,#noise,#vignette{position:fixed;inset:0;pointer-events:none;z-index:9000}
#scanlines{background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.22) 3px,transparent 4px);opacity:.45;mix-blend-mode:multiply}
#vignette{box-shadow:inset 0 0 220px 40px #000;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.6))}
#noise{opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:noise .4s steps(2) infinite}
@keyframes noise{0%{transform:translate(0,0)}50%{transform:translate(-4px,3px)}100%{transform:translate(3px,-2px)}}

.home-link{position:fixed;top:10px;left:14px;z-index:9500;font-family:'VT323';font-size:16px;
  color:var(--dim);text-decoration:none;background:rgba(0,0,0,.5);padding:4px 10px;border:1px solid var(--line);border-radius:6px}
.home-link:hover{color:var(--ink);border-color:var(--faint)}

.screen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;z-index:100;animation:fadein .6s}
.screen.active{display:flex}
@keyframes fadein{from{opacity:0}to{opacity:1}}

.btn{font-family:'Special Elite',serif;font-size:16px;letter-spacing:1px;background:var(--panel2);
  color:var(--ink);border:1px solid var(--line);padding:14px 26px;cursor:pointer;transition:.2s;text-transform:uppercase;border-radius:6px}
.btn:hover{background:#232732;border-color:var(--dim);transform:translateY(-1px)}
.btn.danger{border-color:var(--red);color:#e8b6b0;box-shadow:0 0 18px rgba(192,57,43,.25)}
.btn.danger:hover{background:var(--red);color:#fff;box-shadow:0 0 30px rgba(255,59,47,.5)}

/* Предупреждение */
.warn-box{max-width:520px;text-align:center;background:var(--panel);border:1px solid var(--line);padding:40px 34px;border-radius:6px}
.warn-icon{font-size:52px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.4}}
.warn-box h1{font-family:'Special Elite';letter-spacing:5px;margin:12px 0 18px;color:#e8b6b0}
.warn-box p{color:var(--dim);line-height:1.6;margin-bottom:14px;font-size:15px}
.warn-sound{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0;color:var(--dim);font-size:14px}
.switch{position:relative;display:inline-block;width:46px;height:24px}
.switch input{display:none}
.slider{position:absolute;inset:0;background:#333;border-radius:24px;transition:.3s;cursor:pointer}
.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#888;border-radius:50%;transition:.3s}
input:checked+.slider{background:var(--red)}
input:checked+.slider:before{transform:translateX(22px);background:#fff}

/* Интро + правила */
.intro-box{max-width:600px;text-align:center}
.intro-lead{font-family:'Special Elite';line-height:1.8;color:#b8bcc0;font-size:16px;margin-bottom:22px;min-height:120px;white-space:pre-wrap}
.rules-card{background:#12140f;border:1px solid #3a3d2e;border-radius:8px;padding:22px;text-align:left;
  box-shadow:0 0 40px rgba(0,0,0,.7);position:relative}
.rules-head{font-family:'Special Elite';letter-spacing:1px;color:var(--amber);font-size:15px;text-align:center;
  margin-bottom:16px;padding-bottom:10px;border-bottom:1px dashed #3a3d2e}
.rules-list{list-style:none;counter-reset:r}
.rules-list li{position:relative;padding:9px 0 9px 34px;color:#cfcabb;font-size:14px;line-height:1.45;border-bottom:1px solid rgba(58,61,46,.4)}
.rules-list li:before{counter-increment:r;content:counter(r);position:absolute;left:0;top:8px;
  width:22px;height:22px;background:#2a2c1f;border:1px solid var(--amber);color:var(--amber);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'VT323';font-size:15px}
.rules-foot{margin-top:14px;text-align:center;color:var(--dim);font-size:13px;font-style:italic}
.intro-box .btn{margin-top:24px}

/* HUD */
.hud{position:fixed;top:0;left:0;right:0;height:42px;background:#0a0b0e;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 90px;z-index:120;font-family:'VT323';font-size:17px}
.hud-clock{color:var(--redglow);letter-spacing:1px}
.hud-station{color:var(--dim);letter-spacing:1px}
.hud-station b{color:var(--ink)}
.hud-rules{font-family:'VT323';font-size:16px;background:var(--panel2);border:1px solid var(--line);color:var(--amber);padding:5px 12px;border-radius:6px;cursor:pointer}
.hud-rules:hover{border-color:var(--amber)}

/* Игровой экран */
#game{flex-direction:column;justify-content:flex-start;padding-top:56px}
.scene{width:100%;max-width:720px;margin:0 auto}
.scene svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px;background:#05070a}
.narrative{max-width:640px;margin:18px auto 0;font-family:'Special Elite';line-height:1.75;
  color:#c4c8cc;font-size:16px;text-align:center;min-height:64px;white-space:pre-wrap}
.narrative b{color:var(--amber)}
.choices{max-width:560px;margin:16px auto 0;width:100%;display:flex;flex-direction:column;gap:10px;padding-bottom:24px}
.choice{font-family:'Inter';font-size:15px;background:var(--panel);border:1px solid var(--line);color:var(--ink);
  padding:14px 18px;border-radius:8px;cursor:pointer;transition:.18s;text-align:left}
.choice:hover{background:var(--panel2);border-color:var(--amber);transform:translateX(3px)}
.choice:disabled{opacity:.5;cursor:default;transform:none}

/* Оверлей правил */
.overlay{position:fixed;inset:0;z-index:9600;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:24px;overflow:auto}
.overlay.show{display:flex;animation:fadein .25s}
.overlay .rules-card{max-width:560px;width:100%}
.overlay .btn{margin-top:16px;width:100%}

/* Смерть / концовка через .narrative + choices */
.deadline{color:var(--redglow)!important;text-shadow:0 0 10px rgba(255,59,47,.4)}
.winline{color:var(--green)!important;text-shadow:0 0 10px rgba(63,174,107,.4)}

/* Джампскейр */
#jumpscare{position:fixed;inset:0;z-index:99999;background:#000;display:none;align-items:center;justify-content:center}
#jumpscare.show{display:flex;animation:flash .12s steps(1) 6}
@keyframes flash{50%{background:#3a0000}}
#jumpFace{font-size:min(60vw,380px);color:#fff;filter:drop-shadow(0 0 40px red);animation:zoom .5s ease}
@keyframes zoom{from{transform:scale(.2)}to{transform:scale(1.1)}}

@media(max-width:560px){
  .hud{padding-left:80px}
  .narrative{font-size:15px}
}
