/* =========================================================
   DramTezi Poker Manager — styles.css
   ========================================================= */

:root {
  --bg:       #050608;
  --bg-el:    #10141b;
  --bg-soft:  #141924;
  --border:   rgba(148,163,184,.12);
  --border-2: rgba(148,163,184,.28);
  --accent:   #1fd17a;
  --accent-s: rgba(31,209,122,.18);
  --danger:   #ff4d6a;
  --text:     #f0f4f8;
  --muted:    #64748b;
  --muted-2:  #94a3b8;
  --shadow:   0 20px 50px rgba(0,0,0,.6);
  --r-lg:     16px;
  --r-md:     10px;
  --r-sm:     6px;
  --font:     system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:     "SF Mono",Menlo,Monaco,Consolas,monospace;
}

[data-theme="light"] {
  --bg:       #f1f5fb;
  --bg-el:    #ffffff;
  --bg-soft:  #e8edf5;
  --border:   rgba(0,0,0,.07);
  --border-2: rgba(0,0,0,.18);
  --text:     #0f172a;
  --muted:    #64748b;
  --muted-2:  #475569;
  --shadow:   0 12px 30px rgba(15,23,42,.1);
}

*,*::before,*::after { box-sizing:border-box; }
html,body { margin:0; padding:0; height:100%; }
body {
  font-family: var(--font);
  background: radial-gradient(circle at 0 0,rgba(151,71,255,.12),transparent 55%),
              radial-gradient(circle at 100% 0,rgba(31,209,122,.15),transparent 58%),
              var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

/* ── Inner pages navigation ─────────────────────────────── */
.inner-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: rgba(10, 15, 25, 0.92);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(20px);
  position: sticky;
  top: 0;
  z-index: 200;
  flex-wrap: wrap;
}

.inner-nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.inner-nav-brand:hover { color: var(--accent); }

.inner-nav-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}

.inner-nav-links a {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  color: var(--muted-2);
  text-decoration: none;
  border: 1px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.inner-nav-links a:hover {
  color: var(--text);
  background: rgba(148, 163, 184, 0.08);
  border-color: var(--border-2);
}

.inner-nav-links a.is-active {
  color: var(--accent);
  background: var(--accent-s);
  border-color: rgba(31, 209, 122, 0.35);
  font-weight: 600;
}

@media (max-width: 600px) {
  .inner-nav { padding: 10px 12px; }
  .inner-nav-links { width: 100%; }
  .inner-nav-links a { flex: 1 1 auto; justify-content: center; font-size: 12px; padding: 6px 8px; }
}

/* ── TOPBAR ──────────────────────────────────────────────── */
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: rgba(10,15,25,.88);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(20px);
  position: sticky;
  top: 0;
  z-index: 100;
}
.topbar-left { display:flex; align-items:center; gap:10px; }
.topbar-left-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}
.topbar-left-link:hover .topbar-title { color: var(--accent); }
.logo {
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 30% 20%,#f97316,#b91c1c);
  color:#fff;font-size:18px;flex-shrink:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 8px 20px rgba(220,38,38,.3);
}
.topbar-title { font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.topbar-sub { font-size:11px;color:var(--muted-2);margin-top:1px; }
.topbar-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.topbar-tools.inner-nav-links a {
  padding: 6px 12px;
}

.topbar-tools .btn {
  margin: 0;
}

.btn-menu {
  display: none;
  padding: 8px 12px;
  font-size: 18px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  color: var(--text);
  cursor: pointer;
}

@media (max-width: 900px) {
  .btn-menu { display: inline-flex; }
  .topbar { flex-wrap: wrap; }
  .topbar-tools {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    padding: 8px 0;
    border-top: 1px solid var(--border);
  }
  .topbar-tools.is-open { display: flex; }
  .topbar-tools a, .topbar-tools .btn { width: 100%; justify-content: center; }
}

/* ── MODAL ───────────────────────────────────────────────── */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  padding: 16px;
}
.modal[hidden] { display: none; }
.modal-box {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 24px;
  max-width: 400px;
  width: 100%;
}
.modal-box--qr { text-align: center; }
.modal-box h3 { margin-bottom: 8px; }
.modal-select { width: 100%; margin: 12px 0; padding: 8px; }
.modal-input { width: 100%; margin: 12px 0; padding: 8px 10px; border-radius: var(--r-sm); border: 1px solid var(--border-2); background: var(--bg-soft); color: var(--text); }
.modal-actions { display: flex; gap: 8px; margin-top: 16px; }
.qr-url { font-size: 11px; word-break: break-all; color: var(--muted); margin: 12px 0; }
#qr-canvas { display: block; margin: 0 auto; border-radius: 8px; }

/* ── TOAST ───────────────────────────────────────────────── */
.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(80px);
  background: var(--card);
  border: 1px solid var(--accent);
  color: var(--text);
  padding: 10px 20px;
  border-radius: var(--r-sm);
  font-size: 13px;
  z-index: 300;
  opacity: 0;
  transition: transform .3s, opacity .3s;
  pointer-events: none;
}
.toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

/* ── BOOM POT ────────────────────────────────────────────── */
.boom-pot {
  margin-top: 16px;
  padding: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.boom-pot h3 { font-size: 13px; margin: 0; width: 100%; }
.card-inset {
  background: rgba(0,0,0,.2);
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
}

/* ── DRAG SEATS ──────────────────────────────────────────── */
.seat.drag-over { outline: 2px dashed var(--accent); background: rgba(31,209,122,.08); }
.seat-player { cursor: grab; color: var(--accent); }
.seat-player:active { cursor: grabbing; }
.player-kills { margin-left: 6px; font-size: 12px; color: var(--muted); }

/* ── PRIZE BONUS ─────────────────────────────────────────── */
.bonus-sel { min-width: 140px; font-size: 12px; padding: 4px 6px; }

/* ── TABS ────────────────────────────────────────────────── */
.tabs {
  display: flex;
  overflow-x: auto;
  gap: 2px;
  padding: 8px 12px 0;
  background: var(--bg-el);
  border-bottom: 1px solid var(--border);
  scrollbar-width: none;
}
.tabs::-webkit-scrollbar { display:none; }
.tab {
  flex-shrink: 0;
  padding: 8px 14px;
  font-size: 13px;
  border: none;
  background: transparent;
  color: var(--muted-2);
  cursor: pointer;
  border-radius: var(--r-sm) var(--r-sm) 0 0;
  border-bottom: 2px solid transparent;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color .15s, border-color .15s;
}
.tab:hover { color:var(--text); }
.tab.active { color:var(--text);border-bottom-color:var(--accent);font-weight:600; }
.badge {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;border-radius:999px;
  background:var(--accent-s);color:var(--accent);font-size:11px;font-weight:700;padding:0 4px;
}

/* ── MAIN ────────────────────────────────────────────────── */
.main { padding: 14px 12px 32px; max-width:1400px; margin:0 auto; }
.panel { display:none; }
.panel.active { display:block; }

/* ── CARD ────────────────────────────────────────────────── */
.card {
  background: var(--bg-el);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 16px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.card::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.03),transparent 35%,transparent 65%,rgba(148,163,184,.06));
  mix-blend-mode:soft-light;
}
.card h2 { margin:0 0 10px;font-size:15px;letter-spacing:.1em;text-transform:uppercase; }
.card h3 { margin:12px 0 6px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2); }
.card-head {
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:10px;
}
.card-head.standalone {
  background:transparent;border:none;padding:0;margin-bottom:12px;box-shadow:none;
}
.hint { font-size:12px;color:var(--muted);margin:4px 0 10px; }

/* ── GRID ────────────────────────────────────────────────── */
.grid-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:900px){ .grid-2{grid-template-columns:1fr;} }

/* ── FORM ────────────────────────────────────────────────── */
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
}
@media(max-width:600px){ .form-grid{grid-template-columns:1fr;} }
.form-grid label {
  display:flex;flex-direction:column;gap:4px;
  font-size:11px;color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;
}
.form-grid label input {
  margin-top:2px;padding:7px 10px;border-radius:999px;
  border:1px solid var(--border-2);background:rgba(5,6,8,.6);
  color:var(--text);font-size:13px;outline:none;
}
[data-theme="light"] .form-grid label input { background:rgba(241,245,251,.9); }
.form-grid label input:focus { border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-s); }
.checkbox-label {
  display:flex!important;flex-direction:row!important;align-items:center;gap:8px;
  font-size:13px!important;letter-spacing:0!important;text-transform:none!important;
  cursor:pointer;
}
.checkbox-label input[type="checkbox"] { width:15px;height:15px;accent-color:var(--accent);cursor:pointer; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:7px 14px;border-radius:999px;border:1px solid transparent;
  font-size:13px;cursor:pointer;color:var(--text);background:rgba(10,15,25,.85);
  white-space:nowrap;transition:all .15s ease-out;text-decoration:none;
}
.btn:hover { transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.55); }
.btn:active { transform:none;box-shadow:none; }
.btn-primary { background:linear-gradient(135deg,var(--accent),#37ff9c);color:#020617;font-weight:600; }
.btn-outline { background:transparent;border-color:var(--border-2); }
.btn-ghost { background:rgba(10,15,25,.55);border-color:var(--border-2); }
.btn-danger { background:rgba(255,77,106,.12);border-color:rgba(255,77,106,.5);color:#fca5a5; }
.btn-danger:hover { background:rgba(255,77,106,.2); }
.btn-sm { padding:4px 10px;font-size:12px; }
.btn-lg { padding:10px 24px;font-size:15px; }
.btn-xl { padding:12px 32px;font-size:16px;font-weight:700; }
.btn-row { display:flex;flex-wrap:wrap;gap:6px; }
.btn-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:6px;border:1px solid var(--border-2);
  background:transparent;color:var(--muted-2);cursor:pointer;font-size:11px;
}
.btn-icon:hover { background:rgba(148,163,184,.1);color:var(--text); }
.btn-icon.danger { border-color:rgba(255,77,106,.4);color:#fca5a5; }
.btn-icon.danger:hover { background:rgba(255,77,106,.1); }

/* ── TABLE ───────────────────────────────────────────────── */
.table-wrap { overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border); }
.data-table { width:100%;border-collapse:collapse;font-size:13px; }
.data-table thead { background:rgba(5,6,8,.5); }
.data-table th { padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;text-align:left; }
.data-table td { padding:7px 10px;border-bottom:1px solid rgba(148,163,184,.06); }
.data-table tbody tr:last-child td { border-bottom:none; }
.data-table tbody tr.active-row { outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-s)!important; }
.data-table tbody tr:hover { background:rgba(148,163,184,.04); }
.lbl-blind { color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.12em; }
.lbl-break { color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.12em; }
.cell-inp {
  width:68px;padding:3px 7px;border-radius:999px;
  border:1px solid var(--border-2);background:rgba(5,6,8,.7);
  color:var(--text);font-size:12px;outline:none;
}
[data-theme="light"] .cell-inp { background:rgba(241,245,251,.9); }
.cell-inp:focus { border-color:var(--accent); }
.row-actions { display:flex;gap:3px;justify-content:flex-end; }

/* ── ADD ROW ─────────────────────────────────────────────── */
.add-row {
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin-top:10px;padding-top:10px;border-top:1px solid var(--border);
}
.add-row input,.add-row select {
  padding:6px 10px;border-radius:999px;border:1px solid var(--border-2);
  background:rgba(5,6,8,.7);color:var(--text);font-size:13px;outline:none;
  min-width:0;
}
[data-theme="light"] .add-row input,[data-theme="light"] .add-row select { background:rgba(241,245,251,.9); }
.add-row input:focus,.add-row select:focus { border-color:var(--accent); }
.add-row select { min-width:120px; }
.add-row input { width:80px; }

/* ── PRIZES ──────────────────────────────────────────────── */
.prizes-list { display:flex;flex-direction:column;gap:8px; }
.prize-row { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.prize-place { min-width:80px;font-size:14px; }
.pct-inp { width:70px;padding:5px 8px;border-radius:999px;border:1px solid var(--border-2);background:rgba(5,6,8,.7);color:var(--text);font-size:13px;outline:none; }
[data-theme="light"] .pct-inp { background:rgba(241,245,251,.9); }
.pct-label { font-size:13px;color:var(--muted-2); }
.stat-row { margin-top:10px;font-size:13px;font-weight:600; }

/* ── PLAYERS ─────────────────────────────────────────────── */
.add-player-row { display:flex;gap:8px;margin-bottom:14px; }
.add-player-row input {
  flex:1;padding:8px 14px;border-radius:999px;border:1px solid var(--border-2);
  background:rgba(5,6,8,.7);color:var(--text);font-size:14px;outline:none;
}
[data-theme="light"] .add-player-row input { background:rgba(241,245,251,.9); }
.add-player-row input:focus { border-color:var(--accent); }
.player-cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-bottom:14px; }
.player-card {
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:var(--r-md);
  background:var(--bg-soft);border:1px solid var(--border);
}
.player-card.is-out { opacity:.55; }
.p-avatar {
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:radial-gradient(circle at 30% 20%,rgba(31,209,122,.5),rgba(13,148,136,.3));
  border:1px solid var(--accent-s);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
}
.p-info { flex:1;min-width:0; }
.p-name { font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.p-meta { font-size:11px;color:var(--muted-2);margin-top:2px; }
.p-place { font-size:11px;background:var(--accent-s);color:var(--accent);border-radius:4px;padding:1px 5px;margin-left:6px; }
.p-actions { display:flex;flex-wrap:wrap;gap:4px; }
.p-kills { font-size:11px;margin-left:4px; }
.muted { opacity:.8; }

/* ── CASH ────────────────────────────────────────────────── */
.cash-cards { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px; }

/* ── TABLES GRID ─────────────────────────────────────────── */
.tables-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px; }
.table-card h3 { font-size:14px;margin-bottom:8px; }
.seat-list { display:flex;flex-direction:column;gap:3px; }
.seat { font-size:13px;padding:4px 6px;border-radius:var(--r-sm);background:rgba(5,6,8,.4); }
.seat.empty { color:var(--muted);font-style:italic; }
.empty-lbl { color:var(--muted); }

/* ── STAT CARD ───────────────────────────────────────────── */
.stat-card {
  background:var(--bg-soft);border:1px solid var(--border);
  border-radius:var(--r-md);padding:10px 14px;min-width:120px;
}
.stat-lbl { font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:4px; }
.stat-val { font-size:20px;font-weight:700; }
.hint-cell { text-align:center;padding:16px!important;color:var(--muted); }

/* ── TIMER TAB ───────────────────────────────────────────── */
.timer-layout {
  display:grid;grid-template-columns:1fr 280px;gap:12px;align-items:start;
}
@media(max-width:900px){ .timer-layout{grid-template-columns:1fr;} }
.timer-card {
  background:radial-gradient(circle at top,rgba(31,209,122,.2),transparent 60%),
             linear-gradient(145deg,rgba(15,23,42,.98),rgba(5,6,8,.95));
  border-color:rgba(34,197,94,.4);
  box-shadow:0 24px 50px rgba(22,163,74,.45);
}
.timer-top {
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:14px;letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:8px;
}
.timer-top span:last-child { color:var(--muted-2);font-size:12px; }
.timer-big {
  font-family:var(--mono);text-align:center;
  font-size:clamp(52px,9vw,72px);letter-spacing:.1em;
  text-shadow:0 0 40px rgba(31,209,122,.55);
  margin:4px 0 10px;
}
.timer-blinds-row {
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;
  font-size:14px;margin-bottom:10px;
}
.lbl { font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);display:block;margin-bottom:2px; }
.time-slider {
  width:100%;accent-color:var(--accent);margin:2px 0 10px;cursor:pointer;
  height:4px;border-radius:2px;
}
.timer-btns { display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:6px; }
.timer-btns.secondary { gap:6px; }
.timer-stats { display:flex;flex-direction:column;gap:8px; }
.prizes-preview { padding:12px 14px; }
.prizes-preview h3 { margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted); }
.prizes-preview div { font-size:13px;line-height:1.7; }
.next-level-preview { font-size:15px;font-weight:600;color:var(--accent);padding:4px 0; }

/* ── RATING ──────────────────────────────────────────────── */
.pts-config { display:flex;flex-direction:column;gap:6px;margin-bottom:10px; }
.pts-row { display:flex;align-items:center;gap:8px;font-size:13px; }
.pts-row span:first-child { min-width:64px; }
.pts-inp { width:70px;padding:4px 8px;border-radius:999px;border:1px solid var(--border-2);background:rgba(5,6,8,.7);color:var(--text);font-size:13px;outline:none; }
[data-theme="light"] .pts-inp { background:rgba(241,245,251,.9); }
.pts-assign { display:flex;flex-direction:column;gap:6px;margin-bottom:12px; }
.pts-assign-row { display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap; }
.pts-assign-row .p-name { flex:1; }
.pts-assign-row .p-place { color:var(--muted-2); }
.pts-val { font-weight:700;color:var(--accent); }
.history-list { display:flex;flex-direction:column;gap:8px;margin-top:6px; }
.history-item { background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px; }
.hist-title { font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap; }
.hist-date { font-size:11px;color:var(--muted);font-weight:400; }
.hist-results { font-size:12px;color:var(--muted-2); }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer {
  border-top:1px solid var(--border);padding:14px 20px 24px;
  text-align:center;font-size:12px;color:var(--muted);
}
.footer a { color:var(--accent);text-decoration:none; }
.footer strong { color:var(--text); }
.footer .site-footer-links { margin-top: 14px; }
.footer .site-footer-legal { margin-top: 12px; text-align: center; }

/* ── FOCUS ───────────────────────────────────────────────── */
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible {
  outline:2px solid var(--accent);outline-offset:2px;
}

/* =========================================================
   LANDING PAGE (index.html)
   ========================================================= */

.landing-body {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
}

.landing {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 40px;
}

/* ── Header ─────────────────────────────────────────────── */
.landing-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  flex-wrap: wrap;
}

.landing-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
}

.landing-brand-name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.landing-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.landing-nav a {
  color: var(--muted-2);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.15s;
}

.landing-nav a:hover { color: var(--text); }
.landing-nav a.btn { color: #020617; }

/* ── Hero ───────────────────────────────────────────────── */
.hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  padding: 48px 0 64px;
  min-height: 0;
}

.hero-bg-suits {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.hero-bg-suits .suit {
  position: absolute;
  font-size: clamp(48px, 8vw, 90px);
  opacity: 0.06;
  user-select: none;
}
.suit-1 { top: 5%; left: 8%; color: #fff; }
.suit-2 { top: 20%; right: 12%; color: #ef4444; }
.suit-3 { bottom: 30%; left: 5%; color: #fff; }
.suit-4 { top: 50%; right: 5%; color: #3b82f6; }
.suit-5 { bottom: 10%; right: 25%; color: #fff; }
.suit-6 { top: 8%; left: 45%; color: #ef4444; }

.hero-inner {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.hero-eyebrow {
  display: inline-block;
  margin: 0 0 16px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--border-2);
  background: rgba(10, 15, 25, 0.6);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--muted-2);
  text-transform: uppercase;
}

.hero-title {
  margin: 0 0 20px;
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.hero-title-accent {
  display: block;
  margin-top: 4px;
  color: var(--accent);
  background: linear-gradient(135deg, var(--accent), #37ff9c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-lead {
  margin: 0 0 14px;
  font-size: clamp(15px, 1.8vw, 17px);
  line-height: 1.65;
  color: var(--muted-2);
  max-width: 540px;
}

.hero-lead--strong {
  font-size: clamp(16px, 2vw, 19px);
  font-weight: 600;
  color: var(--text);
  line-height: 1.5;
}

.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 16px;
}

.hero-btn-main { min-width: 220px; }

.hero-note {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}

/* ── Hero preview card ──────────────────────────────────── */
.hero-preview {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}

.preview-card {
  width: 100%;
  max-width: 360px;
  padding: 20px 22px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.98), rgba(5, 6, 8, 0.95));
  border: 1px solid rgba(34, 197, 94, 0.45);
  box-shadow: 0 28px 60px rgba(22, 163, 74, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.preview-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-2);
  margin-bottom: 8px;
}

.preview-level { color: var(--accent); }

.preview-timer {
  font-family: var(--mono);
  font-size: clamp(48px, 8vw, 64px);
  text-align: center;
  letter-spacing: 0.12em;
  margin: 8px 0 16px;
  text-shadow: 0 0 40px rgba(31, 209, 122, 0.5);
}

.preview-blinds {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}

.preview-blinds > div {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(5, 6, 8, 0.5);
  border: 1px solid var(--border);
}

.preview-lbl {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
  margin-bottom: 4px;
}

.preview-blinds strong { font-size: 18px; }

.preview-footer {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted-2);
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.preview-live { color: var(--accent); }

/* ── Sections ───────────────────────────────────────────── */
.landing-section {
  padding: 56px 0;
  text-align: center;
}

.landing-section--alt {
  background: rgba(10, 15, 25, 0.45);
  border-radius: var(--r-lg);
  padding: 48px 24px;
  margin: 0 -8px;
  border: 1px solid var(--border);
}

.section-title {
  margin: 0 0 10px;
  font-size: clamp(22px, 3.5vw, 30px);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text);
}

.section-sub {
  margin: 0 auto 36px;
  max-width: 560px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted-2);
}

/* ── Features grid ──────────────────────────────────────── */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: left;
}

.feature-card {
  padding: 22px 20px;
  border-radius: var(--r-lg);
  background: var(--bg-el);
  border: 1px solid var(--border);
  transition: border-color 0.2s, transform 0.2s;
}

.feature-card:hover {
  border-color: rgba(31, 209, 122, 0.35);
  transform: translateY(-2px);
}

.feature-icon {
  font-size: 28px;
  margin-bottom: 12px;
  line-height: 1;
}

.feature-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: 0.02em;
}

.feature-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted-2);
}

/* ── Steps ──────────────────────────────────────────────── */
.steps-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: left;
  max-width: 960px;
  margin: 32px auto 0;
}

.landing .step-card {
  padding: 24px 20px;
  border-radius: var(--r-lg);
  background: var(--bg-el);
  border: 1px solid var(--border);
}

.landing .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent-s);
  color: var(--accent);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 14px;
}

.landing .step-card h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}

.landing .step-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted-2);
}

/* ── CTA block ──────────────────────────────────────────── */
.landing-cta {
  padding: 56px 24px;
  margin: 24px 0;
  text-align: center;
  border-radius: var(--r-lg);
  background: radial-gradient(circle at center, rgba(31, 209, 122, 0.15), transparent 70%),
              linear-gradient(145deg, rgba(15, 23, 42, 0.95), rgba(5, 6, 8, 0.98));
  border: 1px solid rgba(34, 197, 94, 0.35);
}

.cta-inner { max-width: 520px; margin: 0 auto; }

.cta-title {
  margin: 0 0 12px;
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 700;
  color: var(--text);
}

.cta-text {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted-2);
}

/* ── FAQ on landing ─────────────────────────────────────── */
.landing .faq-list {
  max-width: 640px;
  margin: 28px auto 0;
  text-align: left;
}

.landing .faq-list details {
  border-radius: var(--r-md);
  border: 1px solid var(--border);
  background: var(--bg-el);
  margin-bottom: 8px;
  overflow: hidden;
}

.landing .faq-list summary {
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
  color: var(--text);
}

.landing .faq-list summary::-webkit-details-marker { display: none; }

.landing .faq-list details p {
  margin: 0;
  padding: 0 18px 14px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted-2);
}

/* ── Landing footer ─────────────────────────────────────── */
.landing-footer {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}

.landing-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.landing-footer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text);
}

.landing-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
}

.landing-footer-nav a {
  color: var(--muted-2);
  text-decoration: none;
  font-size: 13px;
}

.landing-footer-nav a:hover { color: var(--accent); }

.landing-footer-copy {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

/* ── Site footer (all pages) ────────────────────────────── */
.site-footer {
  margin-top: 32px;
  padding: 24px 0 32px;
  border-top: 1px solid var(--border);
  text-align: center;
}

.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  margin-bottom: 16px;
}

.site-footer-links a {
  font-size: 13px;
  color: var(--muted-2);
  text-decoration: none;
}

.site-footer-links a:hover { color: var(--accent); }

.site-footer-legal {
  max-width: 720px;
  margin: 0 auto 14px;
  font-size: 12px;
  line-height: 1.65;
  color: var(--muted);
}

.site-footer-legal a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer-legal a:hover { color: var(--text); }

.site-footer-copy {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.site-footer--compact {
  margin-top: 16px;
  padding: 16px 20px 24px;
}

.landing-footer .site-footer {
  border-top: none;
  margin-top: 20px;
  padding-top: 0;
  padding-bottom: 0;
}

.landing-seo .seo-text {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}

.landing-seo .seo-text p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--muted-2);
  margin: 0 0 14px;
}

.landing-seo .seo-text a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.landing-seo .seo-text a:hover { color: var(--text); }

.page-h1 {
  margin: 0;
  padding: 10px 12px 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted-2);
  text-align: center;
}

/* ── Landing responsive ─────────────────────────────────── */
@media (max-width: 960px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 0 48px;
    text-align: center;
  }

  .hero-inner { display: flex; flex-direction: column; align-items: center; }
  .hero-lead { max-width: 100%; }
  .hero-cta { justify-content: center; }
  .hero-preview { order: -1; }
  .preview-card { max-width: 320px; }

  .features-grid { grid-template-columns: 1fr 1fr; }
  .steps-row { grid-template-columns: 1fr; max-width: 400px; }
}

@media (max-width: 600px) {
  .landing { padding: 0 14px 32px; }

  .landing-header { flex-direction: column; align-items: flex-start; }
  .landing-nav { width: 100%; }

  .hero-title { font-size: 28px; }
  .hero-cta { flex-direction: column; width: 100%; }
  .hero-cta .btn { width: 100%; justify-content: center; }

  .features-grid { grid-template-columns: 1fr; }
  .landing-section--alt { margin: 0; padding: 32px 16px; }
}
