:root {
  --bg:#050607;
  --panel:#11161ce8;
  --line:#5b4630;
  --gold:#d2a84a;
  --gold-soft:#efbd48;
  --red:#b71c1c;
  --red-hot:#e11922;
  --text:#f6f1e8;
  --muted:#aab3bc;
  --ok:#8ee8ae;
  --wait:#efb800;
}

* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; }
body.entry-body {
  min-height:100dvh;
  color:var(--text);
  font-family:"Segoe UI",Arial,sans-serif;
  display:grid;
  justify-items:center;
  background:
    radial-gradient(circle at 50% -8%, #4a1616 0, #1a0d0d 28%, #090b0e 58%, #050607 100%);
}
body.entry-body::before {
  content:"";
  position:fixed;
  right:-90px; bottom:-110px;
  width:420px; height:420px; border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle,
      transparent 0 16%,
      rgba(225,25,34,.16) 16% 21%,
      transparent 21% 36%,
      rgba(210,168,74,.16) 36% 41%,
      transparent 41% 58%,
      rgba(225,25,34,.1) 58% 63%,
      transparent 63%);
}

.entry-wrap {
  width:min(1080px,100%);
  margin:0 auto;
  padding:22px 16px 48px;
}
.entry-wrap.narrow { width:min(560px,100%); }

.brand-row {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.brand-mark {
  width:54px; height:54px; border-radius:50%;
  background:
    radial-gradient(circle, #efbd48 0 13%, #111 13% 20%, #e11922 20% 36%, #111 36% 44%, #d2a84a 44% 56%, #090b0e 56% 100%);
  box-shadow:0 0 0 3px #3a2a12, 0 10px 24px #0008;
}
.brand-copy { line-height:1.05; }
.brand-copy small {
  display:block;
  margin-top:4px;
  color:var(--gold);
  letter-spacing:.04em;
  font-size:12px;
  font-weight:700;
}
.brand-copy strong {
  font-size:22px;
  font-style:italic;
  letter-spacing:-.03em;
}
.brand-copy strong span { color:var(--red-hot); }

.hero {
  position:relative;
  overflow:hidden;
  padding:22px 22px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#1a1210,#0d1014 70%);
  box-shadow:0 24px 50px #0007, inset 0 1px 0 rgba(210,168,74,.35);
  margin-bottom:16px;
}
.hero::before {
  content:"";
  position:absolute;
  right:-40px; top:-50px;
  width:180px; height:180px; border-radius:50%;
  border:18px solid rgba(210,168,74,.12);
  box-shadow:inset 0 0 0 18px rgba(225,25,34,.08);
}
.hero h1 {
  position:relative;
  margin:6px 0 8px;
  font-size:clamp(28px,5vw,44px);
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.kicker {
  position:relative;
  color:var(--gold);
  letter-spacing:.18em;
  font-size:11px;
  font-weight:900;
}
.meta, .lede {
  position:relative;
  color:var(--muted);
  line-height:1.45;
  margin:0 0 10px;
}
.meta { color:var(--gold-soft); font-weight:800; }
.next-step {
  color:var(--text);
  background:#1a140c;
  border:1px solid var(--gold);
  border-radius:10px;
  padding:12px 14px;
  font-size:18px;
  font-weight:800;
  line-height:1.35;
  margin:12px 0 0;
}

.capacity {
  position:relative;
  margin-top:14px;
}
.capacity-top {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:7px;
}
.bar {
  height:10px;
  border-radius:999px;
  background:#1b2229;
  overflow:hidden;
  border:1px solid #3a2a12;
}
.bar > span {
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--red),var(--gold-soft));
}

.panel {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  margin:14px 0;
  box-shadow:0 16px 36px #0005;
}
.panel h2 {
  margin:0 0 8px;
  font-size:20px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

label {
  display:block;
  margin:12px 0 6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
}
input, textarea, select {
  width:100%;
  padding:13px 12px;
  border-radius:10px;
  border:1px solid #39444f;
  background:#090d11;
  color:#fff;
  font:inherit;
}
textarea { min-height:84px; resize:vertical; }
.check { display:flex; gap:8px; align-items:center; margin-top:14px; font-weight:700; color:var(--muted); }
.check input { width:auto; }

.btn, button, a.btn {
  display:inline-block;
  border:1px solid var(--gold);
  border-radius:10px;
  padding:12px 16px;
  background:linear-gradient(#a72121,#711212);
  color:#fff;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  text-align:center;
}
button.wide, .btn.wide { width:100%; margin-top:16px; padding:15px; font-size:16px; }
button.huge, .btn.huge { width:100%; margin-top:18px; padding:22px 16px; font-size:22px; border-radius:14px; }
.enter-tap { text-align:center; }
.enter-tap h2 { font-size:clamp(26px,6vw,36px); margin:8px 0 12px; letter-spacing:-.04em; }
.not-me {
  display:inline-block;
  margin-top:16px;
  color:var(--gold);
  font-weight:800;
  text-decoration:none;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
button.good { background:linear-gradient(#1e7a43,#12532c); border-color:#8ee8ae; }
button.warn { background:linear-gradient(#8a1c24,#4d1014); }
button.ghost, a.ghost {
  background:transparent;
  border-color:#5a6672;
  color:#d7dee6;
}
.back {
  display:inline-block;
  margin-bottom:12px;
  color:var(--gold);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}

.stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:16px 0;
}
.stat {
  padding:14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#19110f,#0e1216);
}
.stat span {
  display:block;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.stat strong { display:block; margin-top:4px; font-size:28px; letter-spacing:-.04em; }

.share {
  display:grid;
  grid-template-columns:148px 1fr;
  gap:18px;
  align-items:center;
}
.share .ghost { margin-right:8px; margin-top:8px; }
.qr-frame {
  width:148px; height:148px;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(180deg,#d2a84a,#8a6a28);
  box-shadow:0 12px 24px #0006;
}
.qr-frame img { width:100%; height:100%; display:block; background:#fff; border-radius:10px; }
.linkbox {
  word-break:break-all;
  font-weight:900;
  color:#fff;
  font-size:15px;
}

.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.grid-guest { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }
#add-player { scroll-margin-top: 16px; }
.finder { position:relative; }
.matches {
  position:absolute;
  z-index:20;
  left:0;
  right:0;
  top:calc(100% + 4px);
  max-height:280px;
  overflow:auto;
  border:1px solid var(--gold);
  border-radius:10px;
  background:#12100c;
  box-shadow:0 12px 28px #000a;
}
.matches[hidden] { display:none !important; }
.matches button.match {
  display:block;
  width:100%;
  margin:0;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid #2a323c;
  border-radius:0;
  background:#12100c;
  color:#fff;
  font-weight:700;
  letter-spacing:0;
  text-align:left;
}
.matches button.match.new { color:var(--gold); }
.matches .match-note { margin:0; padding:12px 14px; color:var(--muted); }
.player-row[hidden] { display:none !important; }
.grid-draw { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }

.player-list { display:grid; gap:8px; }
.checkin-find {
  position:sticky;
  top:0;
  z-index:6;
  margin:0 0 10px;
  padding:8px 0 10px;
  background:#11161c;
}
.player-row {
  display:grid;
  grid-template-columns:42px minmax(0,1.2fr) minmax(0,.9fr) 120px auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:12px;
  background:#0c1116;
  border:1px solid #2a323c;
}
.player-row.waiting { border-left:4px solid var(--wait); }
.player-row.checked_in { border-left:4px solid var(--ok); }
.player-row.not_playing { border-left:4px solid #66707a; opacity:.72; }
.num {
  width:36px; height:36px;
  display:grid; place-items:center;
  border-radius:50%;
  background:#1b1510;
  border:1px solid var(--line);
  color:var(--gold);
  font-weight:900;
}
.pname { font-weight:900; text-transform:uppercase; }
.pcontact { color:var(--muted); font-size:13px; }
.status-chip {
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:#1b2229;
}
.waiting .status-chip { color:var(--wait); }
.checked_in .status-chip { color:var(--ok); }
.not_playing .status-chip { color:#9aa4ae; }
.actions { display:flex; flex-wrap:wrap; gap:6px; }
.actions button { padding:8px 10px; font-size:12px; }

.names { margin:0; padding:0; list-style:none; display:grid; gap:6px; }
.names li {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:10px;
  background:#0c1116;
  border:1px solid #2a323c;
  font-weight:900;
  text-transform:uppercase;
}

.entry-wrap.desk-wide { width:min(1280px,100%); }
.brand-row { justify-content:flex-start; }
.brand-links {
  margin-left:auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.brand-links a {
  color:var(--gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}
.checkin-head {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.checkin-head h2 { margin:0 0 8px; }
button.remove {
  background:#1b1510;
  border:1px solid #8a1c24;
  color:#ffb4bc;
}
.desk-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);
  gap:16px;
  align-items:start;
}
.desk-live h2 { margin-top:18px; }
.desk-live h2:first-child { margin-top:0; }
.board-stack { display:grid; gap:8px; }
.board-chip {
  display:grid;
  gap:2px;
  padding:10px 12px;
  border-radius:12px;
  background:#0c1116;
  border:1px solid #2a323c;
}
.board-chip strong {
  letter-spacing:.08em;
  font-size:12px;
  color:var(--gold);
}
.board-chip span { color:var(--muted); font-size:12px; }
.board-chip em { font-style:normal; font-weight:800; }
.board-chip.live { border-color:#1f8a4a; background:#10261a; }
.board-chip.live strong, .board-chip.live em { color:#8ee8ae; }
.board-chip.ready { border-color:var(--wait); }
.board-chip.waiting { border-color:#3a4450; }
.board-chip.next { border-left:4px solid var(--gold); }
.board-chip.result span { color:var(--ok); }
button:disabled { opacity:.45; cursor:not-allowed; }

.format-select-label {
  margin:0 0 10px;
  color:var(--gold);
  font-size:16px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.format-list {
  display:grid;
  gap:8px;
  margin:0 0 14px;
}
.format-row {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  margin:0;
  padding:10px 14px;
  border:2px solid var(--line);
  border-radius:12px;
  background:#0e1216;
  color:var(--text);
  font-size:18px;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
}
.format-row input {
  width:22px;
  height:22px;
  padding:0;
  margin:0;
  flex:0 0 auto;
  accent-color:var(--gold);
}
.format-row.is-on,
.format-row:has(input:checked) {
  border-color:var(--gold);
  background:#2a1d0d;
  color:var(--gold-soft);
}
.stage-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px;
  margin:0 0 14px;
}
.stage-card {
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0e1216;
}
.stage-card strong {
  display:block;
  margin-bottom:8px;
  color:var(--gold-soft);
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.recap-podium h2 { margin:0 0 6px; font-size:clamp(28px,6vw,42px); }
.recap-list { margin:0 0 14px; padding-left:22px; font-weight:900; }
.recap-table { width:100%; border-collapse:collapse; margin:0 0 16px; }
.recap-table th, .recap-table td { padding:7px 6px; text-align:left; border-bottom:1px solid #2c3238; font-size:14px; }
.recap-table th { color:var(--muted); font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.recap-table td:last-child, .recap-table th:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.recap-game { display:flex; justify-content:space-between; gap:12px; margin:0 0 8px; font-weight:800; }
.recap-game span { color:var(--muted); font-weight:750; white-space:nowrap; }
.recap-preview {
  display:block; width:100%; min-height:240px; margin:10px 0 14px; padding:12px;
  border-radius:12px; border:1px solid var(--line); background:#0e1216; color:#edf1f5;
  font:inherit; line-height:1.45; white-space:pre-wrap;
}
a.ghost.wide, button.ghost.wide { display:block; margin-top:10px; text-align:center; }

    .night-card {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  margin:8px 0;
  border-radius:14px;
  border:1px solid #3a2a12;
  background:linear-gradient(90deg,#19110f,#0e1216);
  color:inherit;
  text-decoration:none;
}
.night-open {
  display:flex;
  flex:1 1 auto;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.night-remove { flex:0 0 auto; margin:0; }
.night-remove button {
  min-height:44px;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid #8a3a42;
  background:#3a1618;
  color:#ffd0d4;
  font:800 14px/1 "Segoe UI",Tahoma,sans-serif;
  cursor:pointer;
}
.night-remove button:hover { background:#5a2024; }
.night-card strong { display:block; font-size:18px; }
.night-card span { color:var(--muted); }
.badge {
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}

.error { color:#ffb4bc; font-weight:800; }
.ok { color:var(--ok); font-weight:800; }
.notice { color:var(--ok); font-weight:800; }

@media (max-width:820px) {
  .stats, .share, .grid-2, .grid-3, .grid-guest, .grid-draw, .player-row, .desk-grid, .grid-rounds, .stage-grid, .checkin-head { grid-template-columns:1fr; }
  .qr-frame { width:128px; height:128px; }
  .brand-links { margin-left:0; justify-content:flex-start; }
}

body.entry-body:has(.op-shell) { display:block; }
.op-shell {
  width:100%;
  margin:0;
  min-height:100dvh;
  display:grid;
  grid-template-columns:252px minmax(0,1fr);
  align-items:start;
}
.op-main { min-width:0; }
.op-main .entry-wrap {
  width:100%;
  max-width:none;
  margin:0;
  padding:16px 22px 48px 18px;
}
.op-side {
  position:sticky;
  top:0;
  align-self:start;
  height:100dvh;
  max-height:100dvh;
  overflow:auto;
  padding:22px 16px 32px 14px;
  border-right:1px solid rgba(210,168,74,.28);
  background:linear-gradient(180deg,#121820 0%,#0b0e13 100%);
}
.op-frame { height:100dvh; min-width:0; }
.op-frame iframe { display:block; width:100%; height:100%; border:0; background:#07090a; }
.op-note {
  margin:2px 12px 14px 14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.night-card .reg { color:var(--text); font-weight:800; }
.op-kicker {
  margin:26px 12px 8px;
  color:var(--gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.op-side .op-kicker:first-child { margin-top:2px; }
.op-name {
  margin:26px 12px 8px;
  color:var(--gold-soft);
  font-size:16px;
  font-weight:800;
  line-height:1.25;
}
.op-side a, .op-side span.disabled, .op-side button.op-link {
  display:block;
  margin:0 0 2px;
  padding:11px 12px 11px 14px;
  border-radius:8px;
  text-decoration:none;
  color:#f6f1e8;
  font-weight:600;
  background:transparent;
  border:1px solid transparent;
}
.op-side a:hover, .op-side button.op-link:hover { background:rgba(255,255,255,.05); }
.op-side button.op-link { width:100%; text-align:left; cursor:pointer; font:inherit; }
.op-side button.op-link { width:100%; text-align:left; cursor:pointer; font:inherit; }
.op-side a.on {
  background:rgba(210,168,74,.12);
  color:var(--gold-soft);
  box-shadow:inset 3px 0 0 var(--gold-soft);
}
.op-side span.disabled { opacity:.45; }
.format-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  margin:14px 0 28px;
}
.more-kinds { margin: 0 0 28px; }
.more-kinds summary {
  list-style: none;
  cursor: pointer;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid #3a2a12;
  color: #d2a84a;
  font-weight: 750;
  font-size: 17px;
}
.more-kinds summary::-webkit-details-marker { display: none; }
.night-jobs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 8px 0 18px;
}
.night-jobs a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 92px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #3a2a12;
  background: #171d25;
  color: inherit;
  text-decoration: none;
}
.night-jobs strong { font-size: 20px; letter-spacing: -.02em; }
.night-jobs span { color: var(--muted); font-size: 14px; line-height: 1.35; }
@media (min-width: 860px) {
  .night-jobs { grid-template-columns: repeat(4, 1fr); }
}
.format-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:108px;
  padding:18px 18px 16px;
  border-radius:14px;
  border:1px solid #3a2a12;
  background:linear-gradient(180deg,#171d25,#10151b);
  color:inherit;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(210,168,74,.18);
}
.format-card strong {
  font-size:20px;
  letter-spacing:-.02em;
}
.format-card span {
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
}
.format-card:hover { border-color:var(--gold); }
label.format-card {
  margin:0;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  text-transform:none;
  color:inherit;
  cursor:pointer;
  position:relative;
}
label.format-card input {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  opacity:0;
}
label.format-card:has(input:checked),
label.format-card:focus-within {
  border-color:var(--gold);
  box-shadow:inset 0 0 0 2px var(--gold);
}
.score-row {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
  margin:8px 0 16px;
}
label.score-pick {
  margin:0;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  text-transform:none;
  color:inherit;
  cursor:pointer;
  position:relative;
}
label.score-pick input {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  opacity:0;
}
label.score-pick span {
  display:grid;
  place-items:center;
  min-height:64px;
  border-radius:12px;
  border:1px solid #3a2a12;
  background:#171d25;
  color:var(--text);
  font-size:22px;
  font-weight:900;
}
label.score-pick:has(input:checked) span,
label.score-pick:focus-within span {
  border-color:var(--gold);
  background:#2a2112;
  color:var(--gold-soft);
}
@media (max-width:700px) {
  .score-row { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.op-mobile-bar,
.op-side-head,
.op-side-backdrop {
  display: none;
}

@media (max-width:820px) {
  /* One full-width competition screen. Menu opens as a drawer. */
  body.entry-body:has(.op-shell) {
    display: block;
    justify-items: stretch;
  }
  body.op-menu-open {
    overflow: hidden;
  }
  .op-shell {
    display: block;
    width: 100%;
    min-height: 100dvh;
    padding-top: 58px;
  }
  .op-mobile-bar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    min-height: 58px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(210,168,74,.35);
    background: rgba(11, 14, 19, .97);
    backdrop-filter: blur(8px);
  }
  .op-mobile-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 800;
    color: #f6f1e8;
  }
  .op-menu-btn,
  .op-mobile-go,
  .op-menu-close {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid rgba(210,168,74,.45);
    background: #171d25;
    color: #efbd48;
    font: 800 13px/1 "Segoe UI", Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
  }
  .op-mobile-go {
    background: #e11922;
    border-color: #e11922;
    color: #fff;
  }
  .op-side-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 35;
    background: rgba(0, 0, 0, .55);
  }
  .op-side-backdrop[hidden] { display: none !important; }
  .op-side {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(320px, 88vw);
    height: 100dvh;
    max-height: 100dvh;
    z-index: 40;
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 12px 28px;
    border-right: 1px solid rgba(210,168,74,.35);
    border-bottom: 0;
    background: linear-gradient(180deg, #121820 0%, #0b0e13 100%);
    transform: translateX(-105%);
    transition: transform .2s ease;
    box-shadow: 12px 0 28px rgba(0,0,0,.35);
    pointer-events: none;
  }
  body.op-menu-open .op-side {
    transform: translateX(0);
    pointer-events: auto;
  }
  .op-side-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 12px;
    padding: 0 4px 10px;
    border-bottom: 1px solid rgba(210,168,74,.22);
  }
  .op-side-head strong {
    color: #efbd48;
    font-size: 14px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .op-side a, .op-side span.disabled, .op-side button.op-link {
    white-space: normal;
    margin: 0 0 4px;
    padding: 13px 14px;
    background: transparent;
    border: 0;
    font-size: 15px;
  }
  .op-main {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .op-main .entry-wrap {
    width: 100%;
    max-width: none;
    padding: 12px 14px 88px;
  }
  .op-main .back,
  .op-main .brand-row {
    display: none !important;
  }
  .op-frame {
    height: calc(100dvh - 58px);
  }
  .brand-links {
    display: none !important;
  }
  .op-note { display: none; }
  .format-grid { grid-template-columns: 1fr; }
  .desk-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .desk-live {
    order: -1;
  }
  .op-main .hero {
    padding: 16px 14px 14px;
    margin-bottom: 12px;
    border-radius: 14px;
  }
  .op-main .hero h1 {
    font-size: clamp(24px, 7vw, 34px);
    margin: 4px 0 6px;
  }
  .op-main .hero .kicker {
    letter-spacing: .12em;
  }
  .op-main .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
  }
  .op-main .stat {
    padding: 10px 12px;
  }
  .op-main .stat strong {
    font-size: 24px;
  }
  .op-main .lede {
    font-size: 14px;
  }
  .op-main .panel {
    padding: 14px;
  }
  .op-main .share {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .op-main .share .qr-frame {
    width: 112px;
    height: 112px;
  }
}
#home-screen-offer{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:100000;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  max-width:760px; margin:0 auto;
  padding:16px 18px; border-radius:14px;
  border:1px solid rgba(210,168,74,.45);
  background:#121820; color:#f6f1e8;
}
#home-screen-offer[hidden]{ display:none !important; }
#home-screen-offer strong{ display:block; font-size:18px; margin-bottom:4px; }
#home-screen-offer p{ margin:0; color:#c8c2b6; line-height:1.4; }
.home-screen-actions{ display:flex; gap:8px; flex:0 0 auto; }
#home-screen-add, #home-screen-later{
  min-height:44px; padding:0 14px; border-radius:10px; cursor:pointer; font-weight:700;
}
#home-screen-add{ border:1px solid #efbd48; background:#efbd48; color:#1a1204; }
#home-screen-later{ border:1px solid #303741; background:transparent; color:#f6f1e8; }
@media (max-width:700px){
  #home-screen-offer{ flex-direction:column; align-items:stretch; }
}
