*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--spot),var(--bg-0);background-attachment:fixed;color:var(--ink);
  min-height:100vh;min-height:100dvh;line-height:1.35;-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
h1,h2,h3{font-weight:700}

/* кнопки и чипы */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.95em 1.4em;border-radius:14px;
  font-weight:700;background:var(--accent);color:var(--accent-ink);transition:transform .1s,opacity .2s}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--card-border)}
.btn.danger{background:var(--bad);color:#1a0505}
.btn.block{display:flex;width:100%}
.chip{display:inline-block;padding:.3em .8em;border-radius:999px;background:var(--card);border:1px solid var(--card-border);
  font-size:.8rem;color:var(--ink)}

/* заглушка / фото фильма */
.photo{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#111}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo.ph{display:grid;place-items:center;color:#f5c451;background:#10142a;
  background:radial-gradient(120% 120% at 20% 10%,color-mix(in srgb,var(--c) 50%,#0b0d18) 0%,#0b0d18 72%);
  color:color-mix(in srgb,var(--c) 85%,white)}
.photo.ph svg{width:34%;max-width:72px;opacity:.9}
.photo.ph span{position:absolute;right:.5em;bottom:.1em;font-family:var(--font-display);font-size:2.4em;opacity:.3}

/* ========== страница телефона ========== */
body.phone main{max-width:520px;margin:0 auto;padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
.conn{position:fixed;left:0;right:0;top:0;z-index:30;background:var(--warn);color:#201500;text-align:center;
  font-size:.85rem;font-weight:700;padding:6px}
.conn[hidden]{display:none}
.top{display:flex;align-items:center;gap:12px;padding:6px 0 14px}
.logo{width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.logo svg{width:26px;height:26px}
.top .brand-logo{flex:none;height:44px;aspect-ratio:1000/350;background:var(--logo-gradient);
  -webkit-mask:url(/images/logo.png) center/contain no-repeat;mask:url(/images/logo.png) center/contain no-repeat}
.top h1{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.01em;line-height:1.1}
.top p{font-size:.78rem;color:var(--ink-dim)}
.who{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.timer{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-size:.9rem}
.flash{background:rgba(255,184,77,.14);border:1px solid rgba(255,184,77,.5);color:var(--warn);border-radius:14px;
  padding:12px 14px;margin-bottom:14px;font-size:.92rem}
.center-view{text-align:center;padding:30px 6px 10px}
.center-view h2{font-family:var(--font-display);font-size:1.6rem;margin-bottom:10px;line-height:1.15}
.center-view p{color:var(--ink-dim);margin-bottom:10px}
.big-icon{width:84px;height:84px;margin:0 auto 18px;color:var(--accent)}
.big-icon.ok{color:var(--ok)}
.sub{font-size:.9rem;color:var(--ink-dim);margin:6px 0 4px}
.films{display:grid;gap:12px;margin-top:12px}
.film{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;text-align:left;padding:10px;
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);width:100%;
  transition:transform .1s,border-color .2s}
.film:active{transform:scale(.985);border-color:var(--accent)}
.film .photo{aspect-ratio:4/3;font-size:.8rem}
.film h3{font-size:1.1rem}
.film p{font-size:.85rem;color:var(--ink-dim);margin-top:2px}
.mini-films{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.field{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.field input{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:16px;font-size:1.5rem;
  text-align:center;letter-spacing:.25em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace}
.cool{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:3px solid var(--accent);
  font-size:1.8rem;font-weight:800;margin:10px auto;font-variant-numeric:tabular-nums}
.count-line{margin-top:18px;color:var(--ink-dim);font-size:.95rem}
.modal{position:fixed;inset:0;background:rgba(5,6,12,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:20}
.sheet{width:100%;max-width:520px;background:var(--bg-2);border:1px solid var(--card-border);border-radius:24px;padding:22px;text-align:center}
.sheet h3{font-family:var(--font-display);font-size:1.5rem;margin:6px 0 4px}
.sheet p{color:var(--ink-dim);margin-bottom:16px}
.sheet .row{display:grid;gap:10px}
.promo{margin-top:26px;background:var(--promo-bg);border:1px solid var(--promo-border);border-radius:var(--radius);
  overflow:hidden;text-align:left;box-shadow:0 10px 40px rgba(20,40,110,.45)}
.promo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.promo-body{padding:18px 18px 20px}
.promo-kicker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--promo-snow)}
.promo h3{font-family:var(--font-display);font-size:1.45rem;line-height:1.15;margin:6px 0 6px}
.promo-date{color:var(--accent);font-weight:700;margin-bottom:12px}
.promo ul{list-style:none;display:grid;gap:6px;margin-bottom:16px;color:var(--ink-dim);font-size:.95rem}
.promo li:before{content:"\2744\FE0E";color:var(--promo-snow);margin-right:8px}
.promo .btn{text-decoration:none;text-align:center}
.promo-url{text-align:center;font-size:.8rem;color:var(--ink-faint);margin-top:10px}
