/* ==========================================================================
   Квиз-дожим v2 — фирменный стиль (BRAND.md): тёмно-синий + золото, Montserrat
   ========================================================================== */
@import url('./fonts/brand-fonts.css');

:root{
  --navy:#253745; --navy-2:#1c2b36; --ink:#0f171d;
  --gold:#F5C518; --gold-top:#FFBE1D; --gold-bot:#B8860B;
  --grey:#EBECEC; --muted:#8ea3b0; --muted-2:#6d8492; --white:#fff;
  --ok:#4ecb8f;
  --line:rgba(255,255,255,.10); --line-gold:rgba(245,197,24,.35);
  --surface:rgba(255,255,255,.05); --surface-2:rgba(255,255,255,.085);
  --mont:'Montserrat','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --logo:'Julius Sans One','Century Gothic',var(--mont);
  --r:16px; --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%;background:var(--ink);color:var(--white);font-family:var(--mont);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body{
  background:radial-gradient(120% 85% at 85% -10%, #334c5c 0%, var(--navy) 42%, var(--navy-2) 72%, var(--ink) 100%) fixed;
  padding:0 16px calc(30px + var(--safe-b));
}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:var(--gold);text-decoration:none}
.wrap{max-width:560px;margin:0 auto}
.hidden{display:none !important}

/* ---------- шапка ---------- */
.top{display:flex;align-items:center;gap:12px;padding:16px 0 8px}
.top .back{width:34px;height:34px;flex:0 0 34px;display:none;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;color:var(--grey);font-size:17px;transition:.16s}
.top .back:active{background:var(--surface-2);transform:scale(.94)}
body:not([data-step="intro"]):not([data-step="msg"]) .top .back{display:flex}
.logo{flex:1;text-align:center;user-select:none}
.logo .n{font-family:var(--logo);font-size:13.5px;letter-spacing:.30em;padding-left:.30em;
  background:linear-gradient(180deg,var(--gold-top),var(--gold-bot));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo .s{color:var(--muted);font-weight:300;font-size:7.5px;letter-spacing:.44em;padding-left:.44em;margin-top:3px}
.top .spacer{width:34px;flex:0 0 34px}

/* ---------- прогресс: 6 засечек, две уже закрыты ---------- */
.prog-wrap{display:flex;align-items:center;gap:5px;margin:4px 0 20px}
body[data-step="msg"] .prog-wrap{display:none}
.prog-wrap i{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.12);transition:.5s}
.prog-wrap i.on{background:linear-gradient(90deg,var(--gold-bot),var(--gold-top))}
.prog-wrap .pnum{font-size:11px;font-weight:700;color:var(--muted-2);margin-left:6px;white-space:nowrap}

/* ---------- общее ---------- */
.screen{animation:in .3s cubic-bezier(.2,.7,.3,1) both}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
h1{font-size:25px;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.kicker{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
.lead{color:var(--grey);font-size:15px;margin-top:12px;opacity:.85}
.hint{color:var(--muted);font-size:13.5px;margin-top:9px}
.pre{color:var(--gold);font-size:13px;font-weight:600;margin-bottom:10px}
.join{color:var(--grey);font-size:14.5px;line-height:1.5;padding:12px 14px;margin-bottom:16px;
  border-left:2px solid var(--gold);background:rgba(245,197,24,.06);border-radius:0 10px 10px 0}
.note{color:var(--muted);font-size:12.5px;margin-top:12px;line-height:1.45}
.fair{color:var(--muted);font-size:13px;line-height:1.5;margin:14px 0;padding-left:12px;border-left:1px solid var(--line)}
.gold-line{margin:14px 0;padding:13px 15px;border-radius:var(--r);border:1px solid var(--line-gold);
  background:linear-gradient(120deg,rgba(245,197,24,.12),rgba(245,197,24,.03));font-size:14.5px;line-height:1.5}
.proof{margin:14px 0;padding:13px 15px;border-radius:var(--r);background:var(--surface);
  border:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--grey);animation:in .3s both}
.reveal{animation:in .32s both;margin-top:18px}
.reveal p{font-size:15px;line-height:1.6;margin:12px 0;color:#e9eff3}
details{margin:12px 0;border-top:1px solid var(--line);padding-top:10px}
summary{color:var(--gold);font-size:13.5px;font-weight:600;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:' ↓'}
details[open] summary::after{content:' ↑'}
details p{font-size:14px;color:var(--grey);margin-top:8px}
.ico-svg{width:22px;height:22px;color:var(--gold);flex:0 0 auto}

/* ---------- интро ---------- */
.hero{position:relative;border:1px solid var(--line);border-radius:22px;padding:28px 20px 24px;margin:6px 0 18px;
  background:linear-gradient(150deg, rgba(255,255,255,.09), rgba(255,255,255,.02) 55%);overflow:hidden}
.hero::before,.hero::after{content:'';position:absolute;width:24px;height:24px;border:2px solid var(--gold);opacity:.75}
.hero::before{top:13px;left:13px;border-right:0;border-bottom:0}
.hero::after{bottom:13px;right:13px;border-left:0;border-top:0}
.ctx-line{margin-top:14px;padding:11px 13px;border-radius:12px;background:rgba(245,197,24,.10);
  border:1px solid var(--line-gold);font-size:14px;color:var(--white)}
.ctx-line span{color:var(--muted);font-size:12.5px}

/* ---------- три двери ---------- */
.doors{display:grid;gap:10px;margin:20px 0 14px;grid-template-columns:minmax(0,1fr)}
.door{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden;transition:.3s}
.door-face{display:flex;align-items:center;gap:12px;padding:18px 16px;cursor:pointer}
.door-face b{flex:1;font-size:15.5px;font-weight:600}
.door-face span{color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.06em}
.door.open{border-color:var(--line-gold);background:linear-gradient(140deg,rgba(245,197,24,.10),rgba(255,255,255,.03))}
.door.open .door-face{padding-bottom:6px}
.door.open .door-face span{display:none}
.door-back{padding:0 16px}
.door.open .door-back{padding:4px 16px 16px;animation:in .35s both}
.door-back p{font-size:14.5px;line-height:1.55;color:#e9eff3;margin:8px 0}
.dstats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.dstats span{font-size:12px;font-weight:700;color:var(--gold);border:1px solid var(--line-gold);
  border-radius:999px;padding:5px 11px}
.tex-hint{color:var(--muted);font-size:12.5px;margin:12px 0 8px}

/* ---------- текстуры ---------- */
.tex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:10px 0}
.tex{position:relative;height:66px;border-radius:12px;border:1px solid var(--line);overflow:hidden;transition:.16s}
.tex span{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:10.5px;text-align:center;
  background:rgba(15,23,29,.72);color:var(--grey)}
.tex.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,197,24,.3)}
.tex:active{transform:scale(.97)}
.tex-light-wood{background:repeating-linear-gradient(92deg,#d8c3a2 0 6px,#cdb694 6px 11px)}
.tex-oak{background:repeating-linear-gradient(92deg,#b98f5e 0 7px,#ad8352 7px 13px)}
.tex-walnut{background:repeating-linear-gradient(92deg,#5b3d2b 0 7px,#4d3324 7px 13px)}
.tex-white{background:linear-gradient(160deg,#f2f2ef,#e2e3e0)}
.tex-graphite{background:linear-gradient(160deg,#4a4f55,#33383d)}
.tex-concrete{background:linear-gradient(160deg,#9aa0a3,#7d8487)}
.tex-green{background:linear-gradient(160deg,#31584a,#224036)}
.tex-terracotta{background:linear-gradient(160deg,#b4674a,#96523a)}

/* ---------- варианты ответов ---------- */
.opts{display:grid;gap:10px;margin-top:20px;grid-template-columns:minmax(0,1fr)}
.opt{display:flex;align-items:center;gap:13px;width:100%;min-width:0;text-align:left;
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
  padding:15px 16px;font-size:15px;line-height:1.35;transition:.16s}
.opt:active{transform:scale(.985)}
.opt.tall{padding:19px 16px}
.opt .ic{flex:0 0 40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px solid var(--line)}
.opt.on{border-color:var(--gold);background:linear-gradient(120deg,rgba(245,197,24,.16),rgba(245,197,24,.05))}
.opt.correct{border-color:rgba(78,203,143,.6);background:rgba(78,203,143,.12)}
.opt.dim{opacity:.4}
.opt.answered{pointer-events:none}
.ghosts{display:grid;gap:8px;margin-top:16px}
.ghost-link{color:var(--muted);font-size:13.5px;text-align:left;padding:8px 2px;transition:.16s}
.ghost-link:active{color:var(--gold)}

/* ---------- PUR-слайдер ---------- */
.pur{margin:16px 0}
.pur-view{position:relative;height:150px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.pur-eva,.pur-pur{position:absolute;inset:0;
  background:repeating-linear-gradient(91deg,#c0a17c 0 7px,#b4936d 7px 13px)}
/* кромка — полоса по центру; шов между кромкой и плитой и есть весь вопрос */
.pur-eva::before,.pur-pur::before{content:'';position:absolute;left:0;right:0;top:38%;height:24%;
  background:linear-gradient(180deg,#8d6c4c,#7d5e41)}
/* EVA: толстый тёмный шов + отслоение слева */
.pur-eva::after{content:'';position:absolute;left:0;right:0;top:38%;height:24%;
  border-top:4px solid #1b1207;border-bottom:4px solid #1b1207;
  box-shadow:0 -3px 7px rgba(0,0,0,.55), 0 3px 7px rgba(0,0,0,.55);
  clip-path:polygon(0 -14%,100% 0,100% 100%,0 114%)}
/* PUR: волосяная линия, шва почти не видно */
.pur-pur::after{content:'';position:absolute;left:0;right:0;top:38%;height:24%;
  border-top:1px solid rgba(70,50,30,.55);border-bottom:1px solid rgba(70,50,30,.55)}
.pur-note{position:absolute;bottom:9px;font-size:10.5px;font-weight:600;letter-spacing:.02em;
  background:rgba(15,23,29,.8);padding:4px 9px;border-radius:999px}
.pur-note.l{left:12px;color:#ffb4b4}
.pur-note.r{right:12px;color:var(--gold)}
.pur-tag{position:absolute;top:10px;left:12px;font-size:11px;font-weight:700;letter-spacing:.06em;
  color:var(--grey);background:rgba(15,23,29,.7);padding:4px 9px;border-radius:999px}
.pur-tag.right{left:auto;right:12px;color:var(--gold)}
.pur-handle{position:absolute;top:0;bottom:0;width:2px;background:var(--gold);pointer-events:none}
.pur-handle::after{content:'';position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;
  border-radius:50%;border:2px solid var(--gold);background:rgba(15,23,29,.75)}
.pur input[type=range]{width:100%;margin-top:-132px;height:132px;opacity:0;position:relative;z-index:3;touch-action:pan-y}
.pur-cap{text-align:center;color:var(--muted);font-size:12px;margin-top:8px}

/* ---------- ползунки цены ---------- */
.sliders{display:grid;gap:18px;margin:20px 0}
.sl{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:15px}
.sl-top b{font-size:14.5px;font-weight:600}
.sl input[type=range]{width:100%;margin:12px 0 6px;accent-color:var(--gold);height:26px}
.sl-ends{display:flex;justify-content:space-between;color:var(--muted-2);font-size:11.5px}
.sl-note{margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--grey)}

/* ---------- чек-лист ---------- */
.checks{display:grid;gap:9px;margin:18px 0 12px}
.chk{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);padding:14px 15px;font-size:14.5px;line-height:1.4;cursor:pointer}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk .box{flex:0 0 24px;height:24px;border-radius:7px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;transition:.16s}
.chk .box .ico-svg{width:16px;height:16px;opacity:0;transition:.16s}
.chk input:checked + .box{border-color:var(--gold);background:rgba(245,197,24,.16)}
.chk input:checked + .box .ico-svg{opacity:1}
.counter{color:var(--gold);font-size:13px;font-weight:700;margin-bottom:10px}

/* ---------- чипы ---------- */
.micro{margin:18px 0}
.micro-q{font-size:15px;font-weight:600;margin-bottom:11px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:13.5px;
  background:var(--surface);transition:.16s}
.chip:active{transform:scale(.96)}
.chip.on{border-color:var(--gold);background:rgba(245,197,24,.16);color:var(--gold);font-weight:600}

/* ---------- живая дата ---------- */
.dates{margin:20px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:16px}
.date-res{margin-top:14px;font-size:16px;opacity:0;transform:translateY(6px);transition:.4s}
.date-res.on{opacity:1;transform:none}
.date-res b{font-size:20px;font-weight:700;
  background:linear-gradient(180deg,var(--gold-top),var(--gold-bot));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- сборка ---------- */
.assemble{padding:30px 0 10px;text-align:center}
.done-ring{position:relative;width:132px;height:132px;margin:0 auto 26px}
.done-ring svg{transform:rotate(-90deg)}
.done-ring .tr{stroke:rgba(255,255,255,.10)}
.done-ring .br{stroke:url(#g);stroke-linecap:round;transition:stroke-dashoffset 2.2s cubic-bezier(.3,.9,.3,1)}
.done-ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.done-ring .v b{font-size:30px;font-weight:700;line-height:1}
.done-ring .v span{font-size:8.5px;color:var(--muted);letter-spacing:.14em;margin-top:4px}
.alines{display:grid;gap:12px;text-align:left;max-width:420px;margin:0 auto}
.aline{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--grey);opacity:0;transform:translateX(-8px);transition:.45s}
.aline.on{opacity:1;transform:none}
.aline .ico-svg{width:18px;height:18px}

/* ---------- финальная карточка ---------- */
.doc{border:1px solid var(--line-gold);border-radius:20px;padding:20px 18px;margin:6px 0 18px;
  background:linear-gradient(150deg, rgba(245,197,24,.10), rgba(255,255,255,.02) 60%)}
.doc-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
.doc-t{font-family:var(--logo);font-size:15px;letter-spacing:.14em;color:var(--grey)}
.doc-no{font-family:var(--logo);font-size:17px;letter-spacing:.10em;
  background:linear-gradient(180deg,var(--gold-top),var(--gold-bot));-webkit-background-clip:text;background-clip:text;color:transparent}
.doc-gamma{display:flex;gap:6px;margin-bottom:12px}
.doc-gamma i{width:34px;height:20px;border-radius:5px;display:block}
.segment{font-style:italic;color:var(--gold);font-size:14px;line-height:1.5;margin-bottom:16px}
.incl-t{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.incl{display:grid;gap:9px}
.inc,.personal{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:#e9eff3}
.inc .ico-svg,.personal .ico-svg{width:18px;height:18px;margin-top:2px}
.personal{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);color:var(--gold);font-weight:600}
.gift{margin:16px 0;padding:14px 15px;border-radius:var(--r);border:1px dashed var(--line-gold);
  background:rgba(245,197,24,.06);font-size:14px;line-height:1.5}

/* ---------- выбор портфолио ---------- */
.pf{margin:22px 0}
.pf-t{font-size:16px;font-weight:600;line-height:1.35}
.pf-h{color:var(--muted);font-size:13px;margin:8px 0 14px}
.pf-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:15px 16px;margin-bottom:9px;transition:.16s}
.pf-btn b{display:block;font-size:15px;font-weight:600}
.pf-btn i{display:block;font-style:normal;color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.35}
.pf-btn .pf-mark{opacity:0;transition:.16s}
.pf-btn.on{border-color:var(--gold);background:linear-gradient(120deg,rgba(245,197,24,.16),rgba(245,197,24,.05))}
.pf-btn.on .pf-mark{opacity:1}
.pf-done{color:var(--ok);font-size:13.5px;margin-top:6px;animation:in .3s both}

/* ---------- кнопки ---------- */
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:17px;margin-top:18px;
  border-radius:var(--r);font-size:16px;font-weight:700;color:var(--navy);
  background:linear-gradient(180deg,var(--gold-top),var(--gold-bot));box-shadow:0 10px 26px rgba(184,134,11,.28);transition:.16s}
.btn:active{transform:scale(.98)}
.btn-ghost{display:flex;align-items:center;justify-content:center;width:100%;padding:15px;margin-top:10px;
  border-radius:var(--r);border:1px solid var(--line);color:var(--grey);font-size:14.5px;font-weight:600;transition:.16s}
.btn-ghost:active{transform:scale(.98);background:var(--surface-2)}

/* ---------- доверие ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.trust .t{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);padding:11px 8px;text-align:center}
.trust .t b{display:block;font-size:15px;font-weight:700;
  background:linear-gradient(180deg,var(--gold-top),var(--gold-bot));-webkit-background-clip:text;background-clip:text;color:transparent}
.trust .t span{display:block;color:var(--muted);font-size:10.5px;line-height:1.3;margin-top:4px}

/* ---------- прочее ---------- */
.msg{text-align:center;padding:60px 20px;color:var(--muted)}
.msg h2{color:var(--white);font-size:20px;font-weight:700;margin-bottom:10px}
.foot{text-align:center;color:var(--muted-2);font-size:11.5px;margin:26px 0 4px}
.foot .l{font-family:var(--logo);letter-spacing:.26em;padding-left:.26em;color:var(--muted);font-size:11px;display:block;margin-bottom:5px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(14px);
  padding:11px 20px;border-radius:999px;background:rgba(15,23,29,.96);border:1px solid var(--line-gold);
  color:var(--gold);font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;transition:.24s;z-index:20;
  box-shadow:0 10px 30px rgba(0,0,0,.4)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:5}

/* ---------- оффер на финале (подтверждён владельцем) ---------- */
.offer{border:1px solid var(--line-gold);border-radius:20px;padding:18px;margin:18px 0;
  background:linear-gradient(140deg, rgba(245,197,24,.13), rgba(245,197,24,.03))}
.offer-t{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:13px}
.offer .perk{display:flex;align-items:flex-start;gap:11px;margin-bottom:11px;font-size:14.5px;line-height:1.4}
.offer .perk:last-of-type{margin-bottom:0}
.offer .perk .ico-svg{width:18px;height:18px;margin-top:2px}
.offer .perk b{font-weight:600}
.offer .perk i{display:block;font-style:normal;color:var(--muted);font-size:12.5px;margin-top:2px}
.offer-n{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--grey);font-size:13px}
