/* Rolls.Ai — общая система.
   Направление: тёмный кинозал (ролики — главный герой), один акцент —
   холодный розово-оранжевый перелив. Шрифт — Golos Text, контраст через вес и размер. */
:root{
  --ink:#0f0d10;            /* нейтрально-холодный почти-чёрный */
  --ink-2:#18151a;
  --ink-3:#221e24;
  --line:#322c35;
  --paper:#f5f0f3;
  --muted:#a89ea8;          /* 7.6:1 на --ink */
  --dim:#766c77;
  --rose:#ff4f86;           /* холодный розовый */
  --coral:#ff6f61;
  --tangerine:#ff9a4d;      /* оранжевый конец */
  --pearl:#ffe3ec;
  --sheen:linear-gradient(100deg,var(--rose) 0%,var(--coral) 34%,var(--tangerine) 58%,var(--pearl) 70%,var(--coral) 84%,var(--rose) 100%);
  --accent-solid:#ff6a78;   /* для тонких линий и текста-акцента: 6.0:1 на --ink */
  --ok:#7fd6a4;
  --err:#ff8a8a;
  --r-s:8px;--r-m:14px;--r-l:20px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --pad:clamp(16px,4vw,48px);
  --font:"Golos Text",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);color:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
button:disabled{cursor:not-allowed}
img,video{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--pearl);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}   /* иначе display у .btn/.banner перебивает hidden */
[tabindex="-1"]:focus{outline:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- шапка ---------- */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px var(--pad);background:rgba(15,13,16,.92);border-bottom:1px solid transparent}
.top.scrolled{border-bottom-color:var(--line)}
.logo{display:flex;align-items:baseline;gap:1px;font-weight:800;font-size:21px;letter-spacing:-.03em}
.logo i{font-style:normal;font-weight:700;font-size:13px;letter-spacing:0;color:var(--accent-solid)}
.nav{display:flex;gap:4px}
.nav a,.nav span{padding:8px 12px;border-radius:999px;font-size:15px;font-weight:600;color:var(--muted);white-space:nowrap}
.nav a:hover{color:var(--paper)}
.nav a[aria-current=page]{color:var(--paper);background:var(--ink-3)}
.nav span{color:var(--dim);cursor:default}
.nav small{font-size:11px;font-weight:500;margin-left:4px}
.me{margin-left:auto;display:flex;align-items:center;gap:10px}
.balance{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:7px 8px 7px 14px;border-radius:999px;font-size:14px;font-weight:600}
.balance:hover{border-color:var(--dim)}
.balance b{font-weight:800}
.plus{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sheen);background-size:260% 100%;color:#2b0b12;font-weight:800;font-size:16px;line-height:1}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--ink-3);display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--muted)}

/* ---------- кнопки и поля ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--r-m);font-weight:700;font-size:16px;transition:transform .15s var(--ease),border-color .2s,background-color .2s}
.btn-main{color:#2b0b12;background:var(--sheen);background-size:260% 100%;animation:sheen 10s linear infinite}
.btn-main:hover{transform:translateY(-1px)}
.btn-main:active{transform:translateY(1px)}
.btn-main:disabled{background:var(--ink-3);color:var(--dim);animation:none;transform:none}
.btn-line{border:1px solid var(--line);color:var(--paper)}
.btn-line:hover{border-color:var(--dim)}
.btn-line:disabled,.btn-quiet:disabled{opacity:.45;border-color:var(--line)}
.btn-quiet{color:var(--muted);padding:0 10px}
.btn-quiet:hover{color:var(--paper)}
.field{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-l);padding:16px 18px;transition:border-color .2s}
.field:focus-within{border-color:var(--accent-solid)}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.field textarea{all:unset;display:block;width:100%;min-height:84px;font-size:18px;line-height:1.5;white-space:pre-wrap}
.field textarea::placeholder{color:var(--dim)}
.counter{font-size:12px;color:var(--dim);text-align:right;margin-top:6px}

/* ---------- лента эффектов (крутится сама) ---------- */
.reel{overflow:hidden;padding:10px 0 6px;-webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.reel-track{display:flex;gap:14px;width:max-content;will-change:transform}
.clip{position:relative;flex:0 0 clamp(190px,20vw,270px);aspect-ratio:9/16;border-radius:var(--r-m);overflow:hidden;background:var(--ink-2)}
.clip video{width:100%;height:100%;object-fit:cover}
.clip::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(10,8,11,.85))}
.clip figcaption{position:absolute;z-index:1;left:12px;right:12px;bottom:12px;font-size:14px;font-weight:600;line-height:1.3}
.clip figcaption span{display:block;font-size:12px;font-weight:500;color:var(--pearl);opacity:.8;margin-top:2px}
.clip.soon{display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid var(--line);background:var(--ink)}
.clip.soon::after{display:none}
.clip.soon strong{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:.95}
.clip.soon p{color:var(--muted);font-size:14px;line-height:1.4}
.reel-hint{padding:0 var(--pad);font-size:12px;color:var(--dim)}

/* ---------- типографика ---------- */
.h-xl{font-weight:800;font-size:clamp(40px,6.4vw,96px);line-height:.95;letter-spacing:-.04em}
.h-l{font-weight:700;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.03em}
.h-m{font-weight:700;font-size:22px;letter-spacing:-.01em}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--muted)}
.lead b{color:var(--paper);font-weight:600}
.small{font-size:14px;color:var(--muted);line-height:1.45}

/* ---------- подвал ---------- */
.foot{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:28px var(--pad);border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.foot a:hover{color:var(--paper)}

@keyframes sheen{to{background-position:260% 0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:720px){
  .top{gap:12px;flex-wrap:wrap}
  .nav{order:3;width:100%;overflow-x:auto;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .avatar{display:none}
}
