:root{
  --bg: #0b0a13;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.70);
  --border: rgba(255,255,255,.14);
  --gold: #e7c66a;
  --danger: #ff5a6a;
  --ok: #35d07f;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background: radial-gradient(900px 600px at 20% 10%, rgba(231,198,106,.12), transparent 60%), radial-gradient(900px 600px at 80% 0%, rgba(125,73,255,.12), transparent 60%), var(--bg); color:var(--text); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1100px; margin:0 auto; padding:28px 16px 60px; }
.topbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand .logo{ width:34px; height:34px; border-radius:12px; background: linear-gradient(135deg, rgba(231,198,106,.9), rgba(125,73,255,.9)); box-shadow: 0 12px 26px rgba(0,0,0,.35); }
.brand h1{ margin:0; font-size:18px; letter-spacing:.02em; }
.nav{ display:flex; gap:10px; flex-wrap:wrap; }
.btn{ border:1px solid var(--border); background: rgba(255,255,255,.04); padding:10px 12px; border-radius:12px; font-weight:700; font-size:13px; cursor:pointer; }
.btn:hover{ background: rgba(255,255,255,.07); }
.btn--gold{ border-color: rgba(231,198,106,.38); background: rgba(231,198,106,.08); }
.btn--gold:hover{ background: rgba(231,198,106,.12); }

.hero{ border:1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)); border-radius:18px; padding:18px; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.hero h2{ margin:0; font-size: clamp(24px, 3.3vw, 36px); letter-spacing:-.02em; }
.hero p{ margin:10px 0 0; color: var(--muted); max-width: 80ch; line-height:1.45; }

.grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap:16px; margin-top:16px; }
@media (max-width: 980px){ .grid{ grid-template-columns: 1fr; } }

.card{ border:1px solid var(--border); background: var(--card); border-radius:18px; padding:16px; box-shadow: 0 18px 40px rgba(0,0,0,.28); }
.card h3{ margin:0 0 12px; font-size:16px; letter-spacing:.01em; }
.row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 620px){ .row{ grid-template-columns: 1fr; } }

label{ display:block; font-size:12px; color: var(--muted); margin:0 0 6px; }
input, select, textarea{
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.20);
  color: var(--text);
  outline:none;
}
textarea{ min-height:92px; resize:vertical; }
small.hint{ display:block; margin-top:6px; color: rgba(255,255,255,.62); line-height:1.35; }
.hr{ height:1px; background: rgba(255,255,255,.12); margin:14px 0; }

.priceLine{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:14px; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); }
.priceLine strong{ color: var(--gold); }
.notice{ padding:10px 12px; border-radius:14px; border:1px solid rgba(231,198,106,.35); background: rgba(231,198,106,.08); color: rgba(255,255,255,.88); line-height:1.35; }
.notice b{ color: var(--gold); }

.err{ border-color: rgba(255,90,106,.4) !important; box-shadow: 0 0 0 3px rgba(255,90,106,.12); }
.toast{ margin-top:12px; padding:10px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.18); }
.toast.ok{ border-color: rgba(53,208,127,.35); background: rgba(53,208,127,.08); }
.toast.bad{ border-color: rgba(255,90,106,.35); background: rgba(255,90,106,.08); }

.previewWrap{ display:grid; gap:12px; }
.promoPreview{
  border:1px solid rgba(231,198,106,.22);
  background: linear-gradient(180deg, rgba(231,198,106,.10), rgba(255,255,255,.04));
  border-radius:18px;
  padding:14px;
}
.promoHdr{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.promoHdr .tag{ font-size:11px; padding:6px 10px; border-radius:999px; border:1px solid rgba(231,198,106,.28); background: rgba(231,198,106,.08); color: rgba(255,255,255,.9); }
.promoGrid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:12px; margin-top:12px; align-items:start; }
@media (max-width: 520px){ .promoGrid{ grid-template-columns: 1fr; } }
.promoTitle{ font-weight:900; letter-spacing:-.01em; margin:0; font-size:16px; }
.promoBody{ color: rgba(255,255,255,.82); margin:8px 0 0; line-height:1.35; }
.promoCtaRow{ display:flex; gap:10px; align-items:center; margin-top:10px; flex-wrap:wrap; }
.pill{ font-size:11px; padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.22); color: rgba(255,255,255,.78); }
.promoBtn{ border:1px solid rgba(231,198,106,.35); background: rgba(231,198,106,.10); padding:9px 12px; border-radius:12px; font-weight:900; cursor:pointer; }
.promoBtn:hover{ background: rgba(231,198,106,.14); }
.promoImg{ width:100%; border-radius:14px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.18); min-height:120px; object-fit:cover; display:block; }

.footerNote{ margin-top:12px; color: rgba(255,255,255,.62); font-size:12px; line-height:1.45; }
.badgeRow{ display:flex; gap:8px; flex-wrap:wrap; }
.badge{ font-size:11px; padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: rgba(255,255,255,.78); }
.badge--danger{ border-color: rgba(255,90,106,.35); background: rgba(255,90,106,.08); }
.badge--ok{ border-color: rgba(53,208,127,.35); background: rgba(53,208,127,.08); }

