/* ==== Облако слов · общая тема vedtools: чёрный + золото ==== */
:root{
  --gold:#ffbf00;
  --gold-soft:#ffdc73;
  --gold-deep:#a67c00;
  --text:#ffffff;
  --text-2:#c8c2bb;
  --text-3:#8a837b;
  --line:rgba(255,255,255,.10);
  --line-warm:rgba(255,191,0,.22);
  --surface:#0a0908;
  --card:#111010;
  --card-2:#191716;
  --display:"Unbounded",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:
    radial-gradient(120% 60% at 50% -8%, rgba(255,191,0,.13), rgba(0,0,0,0) 62%),
    radial-gradient(80% 42% at 50% 0%, rgba(255,220,115,.07), rgba(0,0,0,0) 70%),
    #000;
  color:var(--text);
  font-family:var(--body);font-size:17px;line-height:1.55;
  min-height:100vh;-webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:#000}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.1}
button,input,textarea,select{font-family:inherit;font-size:16px}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:560px}

/* ---- Шапка ---- */
.site-head{padding:22px 0}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);
  font-weight:600;font-size:15px;letter-spacing:-.01em}
.logo b{color:var(--gold)}
.head-note{font-size:13px;color:var(--text-3)}

/* ---- Кнопки ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--card-2);color:var(--text);border:1px solid var(--line);
  border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:600;
  transition:.15s;white-space:nowrap}
.btn:hover{background:#232120;border-color:var(--line-warm)}
.btn.primary{background:var(--gold);color:#151005;border-color:transparent}
.btn.primary:hover{filter:brightness(1.07);background:var(--gold)}
.btn.danger{color:#ff8f7a}
.btn.ghost{background:transparent}
.btn.sm{padding:7px 12px;border-radius:10px;font-size:13px}
.btn.big{width:100%;font-size:18px;padding:17px;border-radius:15px}
.btn:disabled{opacity:.45;cursor:default}

/* ---- Поля ---- */
.field{width:100%;background:#0d0c0b;color:var(--text);border:1px solid var(--line);
  border-radius:12px;padding:13px 15px;outline:none;transition:.15s}
.field:focus{border-color:var(--gold)}
.field::placeholder{color:var(--text-3)}
label.lbl{display:block;font-size:13px;color:var(--text-3);margin:0 0 7px 2px}

/* ---- Карточки ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card + .card{margin-top:16px}
.h2{font-family:var(--display);font-size:19px;font-weight:600;margin-bottom:14px}
.muted{color:var(--text-3)}
.gold{color:var(--gold)}
.hidden{display:none !important}

/* ---- Переключатель ---- */
.row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.row .cap{font-size:15px}
.row .cap small{display:block;color:var(--text-3);font-size:13px}
.toggle{position:relative;width:46px;height:27px;flex:none;cursor:pointer}
.toggle input{display:none}
.toggle span{position:absolute;inset:0;background:#2a2724;border-radius:20px;transition:.2s}
.toggle span::after{content:'';position:absolute;top:3px;left:3px;width:21px;height:21px;
  border-radius:50%;background:#fff;transition:.2s}
.toggle input:checked + span{background:var(--gold)}
.toggle input:checked + span::after{transform:translateX(19px)}

.stepper{display:flex;align-items:center;gap:10px}
.stepper button{width:34px;height:34px;border-radius:10px;background:var(--card-2);
  border:1px solid var(--line);color:var(--text);cursor:pointer;font-size:18px}
.stepper b{min-width:26px;text-align:center}

/* ---- Код мероприятия ---- */
.code{font-family:var(--display);font-weight:600;letter-spacing:.14em;color:var(--gold)}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:#231f1a;color:#fff;padding:13px 20px;border-radius:12px;
  border:1px solid var(--line-warm);z-index:999;opacity:0;pointer-events:none;transition:.25s;
  max-width:calc(100vw - 40px);text-align:center}
.toast.show{opacity:1}
