/* Квиз-воронка Кодаркана: сайт /kviz/ и оверлей в Mini App. Мобильный экран 390 — первый. */
.kv{max-width:560px;margin:0 auto}
.kv-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;margin:0 0 10px}
.kv-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--violet,var(--vio,#8b5cf6)),var(--gold));transition:width .35s ease}
.kv-step{font-size:.82rem;color:var(--muted);letter-spacing:.04em;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}
.kv-back{background:none;border:0;color:var(--muted);font:inherit;font-size:.82rem;cursor:pointer;padding:2px 6px}
.kv-back:hover{color:var(--gold2)}
.kv-q{font-family:var(--disp,'Cormorant Garamond',serif);font-size:clamp(1.5rem,5.2vw,2.1rem);line-height:1.25;margin:0 0 6px}
.kv-hint{color:var(--muted);font-size:.92rem;margin:0 0 18px}
.kv-opts{display:flex;flex-direction:column;gap:10px}
.kv-opt{display:block;width:100%;text-align:left;background:var(--card);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px;color:var(--txt);font:inherit;font-size:1.02rem;line-height:1.4;cursor:pointer;transition:.18s;-webkit-tap-highlight-color:transparent}
.kv-opt:hover,.kv-opt:focus-visible{border-color:var(--gold);background:rgba(242,193,78,.08);outline:none}
.kv-opt:active{transform:scale(.99)}
.kv-opt b{display:block;font-weight:600}
.kv-opt span{display:block;color:var(--muted);font-size:.86rem;margin-top:3px}
.kv-date{margin-top:6px}
.kv-date input{width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.32);color:var(--txt);font-size:1.08rem;font-family:inherit;color-scheme:dark}
.kv-date .btn{margin-top:14px}
.kv-err{color:#ff9a9a;font-size:.9rem;margin-top:10px;min-height:1.2em}
.kv-fade{animation:kvIn .32s ease}
@keyframes kvIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* результат */
.kv-res{animation:kvIn .4s ease}
.kv-card{background:linear-gradient(160deg,rgba(155,92,246,.16),rgba(242,193,78,.07));border:1px solid var(--line);border-radius:20px;padding:20px;margin:0 0 20px}
.kv-card .kv-date-lbl{font-size:.8rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.kv-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}
.kv-num{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 10px;text-align:center}
.kv-num .n{font-size:1.5rem;color:var(--gold2);font-weight:700;line-height:1.1}
.kv-num .nm{font-family:var(--disp,'Cormorant Garamond',serif);font-size:1.02rem;color:var(--txt)}
.kv-num .lb{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.kv-res h2{font-size:1.35rem;margin:22px 0 8px;color:var(--gold2);font-family:var(--disp,'Cormorant Garamond',serif)}
.kv-res p{color:#d9d2ea;margin-bottom:13px}
.kv-cta{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;margin:24px 0 12px;text-align:center}
.kv-cta b{font-size:1.08rem}
.kv-cta ul{list-style:none;margin:14px 0 0;padding:0;text-align:left;color:#d9d2ea;font-size:.95rem}
.kv-cta li{padding:6px 0 6px 26px;position:relative}
.kv-cta li:before{content:"✦";position:absolute;left:4px;color:var(--gold)}
.kv-cta .btn{max-width:420px;margin:16px auto 0;display:block;text-decoration:none;text-align:center}
.kv-fine{font-size:.82rem;color:var(--muted);margin-top:12px}
.kv-alt{text-align:center;margin:16px 0 0;font-size:.9rem}
/* оверлей в Mini App */
.kv-ovl{position:fixed;inset:0;z-index:70;background:#0b0820;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 16px 40px}
.kv-ovl .kv-close{position:sticky;top:0;float:right;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);color:var(--txt);border-radius:99px;width:34px;height:34px;font-size:1.1rem;cursor:pointer}

/* своя кнопка: не зависит от .btn хоста (сайт/Mini App) */
.kv-btn{display:block;width:100%;padding:15px 24px;border:none;border-radius:14px;background:linear-gradient(120deg,#b8860b,var(--gold) 45%,#ffe3a1);color:#241a05;font-weight:700;font-size:1.05rem;font-family:inherit;cursor:pointer;text-align:center;text-decoration:none;transition:.22s;box-shadow:0 8px 30px rgba(242,193,78,.3)}
.kv-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(242,193,78,.45)}
.kv-btn:disabled{opacity:.6;cursor:wait;transform:none}
