:root {
  color-scheme: dark;
  --page: #06080d;
  --page-soft: #0a0d14;
  --surface: #10141f;
  --surface-2: #171c29;
  --surface-3: #202637;
  --line: #30394d;
  --line-strong: #525e79;
  --text: #f8f6f0;
  --muted: #a8b1c3;
  --subtle: #747e94;
  --cream: #f3dfa8;
  --cream-bright: #fff2c9;
  --pink: #fa73b6;
  --cyan: #5de0d4;
  --blue: #7fb8ff;
  --green: #73dfb1;
  --yellow: #f2c66d;
  --red: #ff8da5;
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --shadow: 0 28px 90px rgb(0 0 0 / 48%);
  --safe-bottom: max(12px, env(safe-area-inset-bottom));
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  background: var(--page);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 2%, rgb(243 223 168 / 10%), transparent 28rem),
    radial-gradient(circle at 88% 80%, rgb(250 115 182 / 8%), transparent 35rem),
    var(--page);
}

button,
input { font: inherit; }

button { color: inherit; }

button:focus-visible,
input:focus-visible,
summary:focus-visible,
a:focus-visible {
  outline: 3px solid rgb(127 184 255 / 72%);
  outline-offset: 3px;
}

a { color: inherit; }

.svg-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.icon {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.demo-header {
  position: sticky;
  z-index: 80;
  top: 0;
  display: grid;
  grid-template-columns: auto minmax(280px, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 72px;
  padding: 10px clamp(14px, 3vw, 32px);
  border-bottom: 1px solid rgb(82 94 121 / 45%);
  background: rgb(6 8 13 / 90%);
  backdrop-filter: blur(22px);
}

.demo-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.brand-mark,
.login-brand {
  display: grid;
  place-items: center;
  color: #14110a;
  background: linear-gradient(145deg, var(--cream-bright), #bc9953);
  font-weight: 950;
  letter-spacing: -.06em;
  box-shadow: 0 8px 24px rgb(243 223 168 / 18%);
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
}

.demo-brand strong,
.demo-brand small { display: block; }
.demo-brand strong { font-size: 14px; letter-spacing: .08em; }
.demo-brand small { margin-top: 3px; color: var(--muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.surface-switch {
  display: flex;
  justify-self: center;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgb(16 20 31 / 82%);
}

.surface-button,
.text-button,
.demo-actions .icon-button {
  border: 0;
  cursor: pointer;
}

.surface-button {
  min-height: 36px;
  padding: 7px 15px;
  border-radius: 999px;
  color: var(--muted);
  background: transparent;
  font-size: 12px;
  font-weight: 800;
  transition: color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.surface-button:hover,
.surface-button:focus-visible { color: var(--text); }

.surface-button.is-active {
  color: #19150d;
  background: var(--cream);
  box-shadow: 0 7px 20px rgb(243 223 168 / 16%);
}

.demo-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }

.text-button {
  padding: 6px 4px;
  color: var(--cream);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
}

.text-button:hover,
.text-button:focus-visible { color: var(--cream-bright); text-decoration: underline; text-underline-offset: 4px; }

.demo-boundary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  padding: 7px 14px;
  color: var(--muted);
  background: #0c1018;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 16px rgb(115 223 177 / 75%);
}

.prototype-root { min-height: calc(100vh - 104px); }

.auth-page {
  display: none;
  min-height: calc(100vh - 104px);
  place-items: center;
  padding: clamp(20px, 4vw, 56px);
}

body.auth-visible .auth-page { display: grid; }
body.auth-visible .prototype-root { display: none; }

.auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  width: min(100%, 1040px);
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-xl);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.auth-story,
.auth-card { min-width: 0; padding: clamp(28px, 5vw, 58px); }

.auth-story {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 15%, rgb(243 223 168 / 18%), transparent 15rem),
    linear-gradient(145deg, #171c28, #0b0e15 74%);
}

.auth-story::after {
  position: absolute;
  right: -80px;
  bottom: -110px;
  width: 280px;
  height: 280px;
  border: 1px solid rgb(243 223 168 / 15%);
  border-radius: 50%;
  content: "";
}

.auth-story .login-brand { width: 58px; height: 58px; margin-bottom: 34px; border-radius: 18px; font-size: 19px; }
.auth-story h1 { max-width: 9ch; margin: 8px 0 16px; font-size: clamp(38px, 5vw, 64px); letter-spacing: -.055em; line-height: .94; }
.auth-story > p:not(.eyebrow, .auth-static-note) { max-width: 46ch; color: var(--muted); font-size: 14px; line-height: 1.55; }
.auth-benefits { display: grid; gap: 10px; margin-top: 34px; }
.auth-benefits article { position: relative; z-index: 1; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgb(6 8 13 / 46%); }
.auth-benefits strong,
.auth-benefits span { display: block; }
.auth-benefits strong { font-size: 12px; }
.auth-benefits span { margin-top: 4px; color: var(--muted); font-size: 10px; }
.auth-static-note { position: relative; z-index: 1; margin: 28px 0 0; color: var(--subtle); font-size: 10px; line-height: 1.5; }

.auth-card { align-self: center; }
.auth-heading h2 { margin: 7px 0 10px; font-size: clamp(30px, 4vw, 44px); letter-spacing: -.045em; line-height: 1; }
.auth-heading > p:last-child { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.auth-step { display: grid; margin-top: 26px; }
.auth-step[hidden] { display: none; }
.auth-methods { display: grid; gap: 10px; }
.auth-method {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 72px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--text);
  background: rgb(255 255 255 / 2%);
  text-align: left;
  cursor: pointer;
}

.auth-method:hover,
.auth-method:focus-visible { border-color: var(--cream); background: rgb(243 223 168 / 7%); }
.auth-method-mark { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: #17130c; background: var(--cream); font-size: 13px; font-weight: 950; }
.auth-method strong,
.auth-method small { display: block; }
.auth-method strong { font-size: 13px; }
.auth-method small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.auth-method > .icon { width: 18px; color: var(--muted); }
.auth-disclaimer,
.auth-helper { color: var(--subtle); font-size: 10px; line-height: 1.5; }
.auth-disclaimer { margin: 16px 0 0; }
.auth-helper { margin: 8px 0 16px; }
.auth-step-heading { display: flex; align-items: center; gap: 13px; }
.auth-step-heading .icon-button { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 13px; color: var(--muted); background: var(--surface-2); cursor: pointer; }
.auth-step-heading .icon-button:hover,
.auth-step-heading .icon-button:focus-visible { border-color: var(--cream); color: var(--cream); }
.auth-step-heading h3 { margin: 3px 0 0; font-size: 22px; }
.auth-step-heading .eyebrow { margin: 0; }
.auth-step .field { margin-top: 18px; }
.auth-step .primary-button { margin-top: 0; }
.auth-code-input { font-size: 24px; font-weight: 850; letter-spacing: .28em; text-align: center; }
.auth-code-form > .text-button { margin-top: 12px; }

.auth-demo-access { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.auth-demo-access > .eyebrow { margin-bottom: 10px; }
.auth-demo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.auth-demo-grid button { min-width: 0; min-height: 42px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 800; cursor: pointer; }
.auth-demo-grid button:hover,
.auth-demo-grid button:focus-visible { border-color: var(--cream); color: var(--text); }
.auth-demo-access > .secondary-button { margin-top: 9px; }

.surface { display: none; min-height: calc(100vh - 104px); }
.surface.is-active { display: block; }

.app-frame {
  position: relative;
  width: 100%;
  min-height: calc(100vh - 104px);
  overflow: clip;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 3%), transparent 18rem),
    var(--page-soft);
}

.app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 18px 14px;
  border-bottom: 1px solid rgb(48 57 77 / 45%);
  background: rgb(10 13 20 / 88%);
  backdrop-filter: blur(16px);
}

.app-header h1 {
  max-width: 17ch;
  margin: 3px 0 0;
  font-size: clamp(20px, 6vw, 28px);
  letter-spacing: -.035em;
  line-height: 1.05;
}

.eyebrow {
  margin: 0;
  color: var(--cream);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.avatar-button,
.mini-avatar,
.profile-avatar {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #17130c;
  background: linear-gradient(145deg, var(--cream-bright), #b99651);
  font-weight: 950;
}

.avatar-button {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 0;
  cursor: pointer;
}

.offline-banner {
  padding: 10px 16px;
  color: #241c0a;
  background: var(--yellow);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.offline-banner button {
  margin-left: 8px;
  border: 0;
  color: inherit;
  background: transparent;
  font-weight: 900;
  text-decoration: underline;
  cursor: pointer;
}

.app-content {
  padding: 18px 18px 104px;
}

.player-screen,
.operator-screen { display: none; animation: reveal 180ms ease-out; }
.player-screen.is-active,
.operator-screen.is-active { display: block; }

@keyframes reveal {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-card {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgb(243 223 168 / 35%);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 85% 20%, rgb(243 223 168 / 23%), transparent 14rem),
    linear-gradient(145deg, #282536, #121722 65%);
  box-shadow: var(--shadow);
}

.hero-copy { position: relative; z-index: 2; max-width: 75%; }
.hero-copy h2 { margin: 32px 0 8px; font-size: clamp(29px, 9vw, 42px); letter-spacing: -.055em; line-height: .95; }
.hero-meta { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }

.hero-orbit {
  position: absolute;
  right: -26px;
  bottom: -28px;
  width: 178px;
  height: 178px;
  border: 1px solid rgb(243 223 168 / 24%);
  border-radius: 50%;
}

.hero-orbit::before,
.hero-orbit::after {
  position: absolute;
  inset: 27px;
  border: 1px solid rgb(243 223 168 / 14%);
  border-radius: 50%;
  content: "";
}

.hero-orbit::after { inset: 58px; }
.hero-orbit span { position: absolute; z-index: 2; display: grid; width: 58px; height: 82px; place-items: center; border: 1px solid rgb(255 255 255 / 28%); border-radius: 13px; color: var(--cream); background: rgb(19 23 34 / 88%); font-family: Georgia, serif; font-size: 29px; font-weight: 800; transform: rotate(12deg); }
.hero-orbit span:first-child { top: 27px; left: 28px; transform: rotate(-10deg); }
.hero-orbit span:last-child { top: 43px; left: 75px; }

.status-pill,
.evidence-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  white-space: nowrap;
  text-transform: uppercase;
}

.status-pill { gap: 6px; padding: 6px 9px; border: 1px solid var(--line); background: rgb(0 0 0 / 18%); }
.status-pill::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.status-live { color: var(--green); border-color: rgb(115 223 177 / 32%); }
.status-upcoming { color: var(--blue); border-color: rgb(127 184 255 / 32%); }
.status-paused { color: var(--yellow); border-color: rgb(242 198 109 / 35%); }
.status-finished { color: var(--muted); }
.evidence-label { padding: 5px 8px; border: 1px solid rgb(243 223 168 / 25%); color: var(--cream); }

.primary-button,
.secondary-button,
.danger-button,
.icon-button,
.circle-arrow,
.operator-actions button,
.accordion-stack button,
.display-demo-controls button {
  border: 1px solid var(--line-strong);
  border-radius: 13px;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.primary-button,
.secondary-button,
.danger-button {
  display: inline-flex;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
  vertical-align: middle;
}

.primary-button {
  border-color: var(--cream);
  color: #17130c;
  background: linear-gradient(180deg, var(--cream-bright), #d0ad69);
}

.primary-button:not(:disabled):hover,
.primary-button:focus-visible { color: #100d08; background: #fff7df; }
.secondary-button { color: var(--text); background: rgb(255 255 255 / 5%); }
.secondary-button:hover,
.secondary-button:focus-visible,
.icon-button:hover,
.icon-button:focus-visible,
.circle-arrow:hover,
.circle-arrow:focus-visible { border-color: var(--cream); background: rgb(243 223 168 / 10%); }
.danger-button { border-color: rgb(255 141 165 / 42%); color: var(--red); background: rgb(255 141 165 / 6%); }
.compact { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.full-width { width: 100%; }
button:disabled { cursor: not-allowed; opacity: .55; }
.primary-button:active,
.secondary-button:active,
.danger-button:active,
.icon-button:active,
.circle-arrow:active { transform: translateY(1px); }
button:disabled:active { transform: none; }

.icon-button,
.circle-arrow {
  display: inline-grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  color: var(--text);
  background: rgb(255 255 255 / 4%);
}

.icon-button.large { width: 52px; height: 52px; border-radius: 16px; }

.metric-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 14px 0 26px;
}

.metric-card {
  min-width: 0;
  padding: 13px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, rgb(255 255 255 / 4%), transparent), var(--surface);
}

.metric-card span,
.metric-card small { display: block; color: var(--muted); font-size: 10px; line-height: 1.3; }
.metric-card strong { display: block; margin: 7px 0 4px; font-size: clamp(18px, 5vw, 23px); letter-spacing: -.04em; }

.section-title-row,
.screen-heading,
.card-title-row,
.profile-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.section-title-row { margin: 25px 0 12px; }
.section-title-row h2,
.screen-heading h2 { margin: 3px 0 0; font-size: 21px; letter-spacing: -.035em; }
.screen-heading { margin: 3px 0 17px; flex-wrap: wrap; align-items: flex-end; }
.screen-heading h2 { font-size: 28px; }
.screen-heading > .secondary-button { flex: 0 0 auto; }

.current-tournament-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.current-tournament-card > div { padding: 17px; }
.current-tournament-card > div + div { border-left: 1px solid var(--line); }
.current-tournament-card span,
.current-tournament-card small { display: block; color: var(--muted); font-size: 10px; }
.current-tournament-card strong { display: block; margin: 9px 0 5px; font-size: 19px; letter-spacing: -.035em; }

.quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-card { display: grid; min-height: 120px; align-content: space-between; justify-items: start; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-md); color: var(--text); background: linear-gradient(145deg, rgb(255 255 255 / 4%), transparent), var(--surface); text-align: left; cursor: pointer; }
.quick-card:hover,
.quick-card:focus-visible { border-color: var(--cream); background-color: var(--surface-2); }
.quick-card .icon { color: var(--cream); }
.quick-card span { display: block; margin-top: 16px; font-weight: 850; }
.quick-card small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }

.segmented { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.segmented button { min-width: 0; flex: 1; min-height: 36px; padding: 7px 8px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.segmented button:hover,
.segmented button:focus-visible { color: var(--text); }
.segmented button.is-active { color: #17130c; background: var(--cream); }

.tournament-list { display: grid; gap: 11px; margin-top: 14px; }
.tournament-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.tournament-date { display: grid; width: 48px; height: 58px; place-items: center; align-content: center; border: 1px solid rgb(243 223 168 / 28%); border-radius: 14px; color: var(--cream); background: rgb(243 223 168 / 6%); }
.tournament-date strong { font-size: 20px; line-height: 1; }
.tournament-date span { margin-top: 4px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.tournament-body { min-width: 0; }
.tournament-body h3 { margin: 8px 0 4px; overflow: hidden; font-size: 16px; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.tournament-body p { margin: 0; color: var(--muted); font-size: 11px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.tag-row span { padding: 4px 7px; border-radius: 999px; color: var(--muted); background: var(--surface-3); font-size: 9px; font-weight: 750; }

.rating-summary,
.panel-card,
.operator-timer-card,
.profile-progress {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgb(255 255 255 / 4%), transparent 55%), var(--surface);
}

.rating-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; padding: 18px; }
.rating-summary > div span { display: block; color: var(--muted); font-size: 10px; }
.rating-summary > div strong { display: block; margin-top: 6px; font-size: 30px; }
.rating-summary p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; }
.rating-progress { grid-column: 1 / -1; height: 8px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.rating-progress span { display: block; width: 72%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cream), var(--pink)); }

.leaderboard { display: grid; gap: 8px; }
.leader-row { display: grid; width: 100%; grid-template-columns: 26px 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 15px; color: var(--text); background: var(--surface); font: inherit; text-align: left; cursor: pointer; }
.leader-row:hover,
.leader-row:focus-visible { border-color: var(--cream); background-color: var(--surface-2); }
.leader-row > span { color: var(--muted); font-weight: 900; text-align: center; }
.mini-avatar { width: 36px; height: 36px; font-size: 11px; }
.leader-row strong,
.leader-row small { display: block; }
.leader-row strong { font-size: 13px; }
.leader-row small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.leader-row b { color: var(--cream); font-size: 13px; }
.leader-row.podium { border-color: rgb(243 223 168 / 35%); }
.leader-row.self { border-color: rgb(250 115 182 / 40%); background: rgb(250 115 182 / 7%); }
.leader-row.podium:hover,
.leader-row.podium:focus-visible { border-color: var(--cream); }
.leader-row.self:hover,
.leader-row.self:focus-visible { border-color: var(--pink); background: rgb(250 115 182 / 12%); }

.role-boundary-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 15px; border: 1px solid rgb(127 184 255 / 28%); border-radius: var(--radius-md); background: rgb(127 184 255 / 6%); }
.role-boundary-card strong { font-size: 13px; }
.role-boundary-card p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.role-boundary-card .status-pill { flex: 0 0 auto; }
.list-state-controls,
.detail-state-controls { margin-bottom: 14px; }
.list-state-panel[hidden],
.player-detail-panel[hidden] { display: none; }
.player-list { display: grid; gap: 9px; }
.player-list-row { display: grid; width: 100%; min-width: 0; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; color: var(--text); background: var(--surface); font: inherit; text-align: left; cursor: pointer; }
.player-list-row:hover,
.player-list-row:focus-visible { border-color: var(--cream); background-color: var(--surface-2); }
.player-list-row > span:nth-child(2) { min-width: 0; }
.player-list-row strong,
.player-list-row small { display: block; }
.player-list-row strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.player-list-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.list-avatar { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgb(243 223 168 / 30%); border-radius: 12px; color: var(--cream); background: rgb(243 223 168 / 7%); font-weight: 900; }
.state-card { display: grid; min-height: 220px; place-content: center; justify-items: center; padding: 30px; }
.state-card h3 { margin: 12px 0 5px; color: var(--text); font-size: 18px; }
.state-card p { max-width: 430px; margin: 0; line-height: 1.55; }
.state-card .secondary-button { margin-top: 16px; }
.state-symbol { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid var(--line-strong); border-radius: 18px; color: var(--cream); background: var(--surface); font-size: 18px; font-weight: 900; }

.stacked-screen-heading .back-icon { transform: rotate(180deg); }
.player-detail-panel { min-width: 0; }
.player-detail-hero { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(255 255 255 / 4%), transparent 55%), var(--surface); }
.player-detail-hero > div:nth-child(2) { min-width: 0; flex: 1; }
.player-detail-hero h2 { margin: 3px 0 4px; overflow: hidden; font-size: 23px; text-overflow: ellipsis; white-space: nowrap; }
.player-detail-hero p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.player-detail-hero .status-pill { flex: 0 0 auto; }
.player-detail-metrics { margin: 12px 0; }
.player-detail-grid { display: grid; gap: 9px; }
.player-detail-grid article,
.address-grid article { padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.player-detail-grid span,
.player-detail-grid small,
.address-grid span,
.address-grid small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }
.player-detail-grid strong,
.address-grid strong { display: block; margin: 7px 0 5px; font-size: 13px; line-height: 1.35; }

.address-hero { padding: 19px; border: 1px solid rgb(243 223 168 / 30%); border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 0%, rgb(243 223 168 / 14%), transparent 15rem), var(--surface); }
.address-hero #address-content { margin-top: 16px; }
.address-hero p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.address-hero p + p { margin-top: 10px; }
.address-grid { display: grid; gap: 9px; margin-top: 12px; }
.address-actions { display: grid; gap: 8px; margin-top: 14px; }
.address-actions button { width: 100%; }
.page-disclaimer { margin: 12px 0 0; color: var(--subtle); font-size: 9px; line-height: 1.5; }

.profile-hero { justify-content: flex-start; margin-bottom: 16px; }
.profile-hero > div:nth-child(2) { min-width: 0; flex: 1; }
.profile-hero h2 { margin: 3px 0 4px; font-size: 24px; }
.profile-hero p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.profile-avatar { width: 64px; height: 64px; flex: 0 0 auto; font-size: 19px; }
.profile-progress { padding: 16px; }
.profile-progress > div:first-child { display: flex; justify-content: space-between; }
.profile-progress span { color: var(--muted); font-size: 11px; }
.profile-progress small { display: block; margin-top: 9px; color: var(--subtle); font-size: 9px; }
.progress-track { height: 8px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.progress-track span { display: block; width: 72%; height: 100%; background: linear-gradient(90deg, var(--cream), var(--pink)); }
.profile-metrics { margin-bottom: 10px; }
.achievement-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.achievement-row article { padding: 12px 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); text-align: center; }
.achievement-row span { display: grid; width: 38px; height: 48px; place-items: center; margin: 0 auto 8px; border: 1px solid rgb(243 223 168 / 30%); border-radius: 11px; color: var(--cream); font-family: Georgia, serif; font-size: 20px; }
.achievement-row strong { display: block; font-size: 9px; line-height: 1.25; }
.account-list { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.account-list > div { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 10px 14px; font-size: 12px; }
.account-list > div + div { border-top: 1px solid var(--line); }
.account-list strong { color: var(--green); font-size: 10px; text-transform: uppercase; }
.account-list + .danger-button { margin-top: 14px; }

.app-nav {
  position: fixed;
  z-index: 40;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 3px;
  padding: 8px 8px var(--safe-bottom);
  border-top: 1px solid var(--line);
  background: rgb(7 9 14 / 94%);
  box-shadow: 0 -18px 38px rgb(0 0 0 / 30%);
  backdrop-filter: blur(20px);
}

.player-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.operator-nav { grid-template-columns: repeat(5, 1fr); }
.app-nav button { display: grid; min-width: 0; min-height: 58px; place-items: center; gap: 4px; padding: 6px 3px; border: 1px solid transparent; border-radius: 12px; color: var(--muted); background: transparent; font-size: 9px; font-weight: 800; cursor: pointer; }
.app-nav button:hover,
.app-nav button:focus-visible { color: var(--text); background: rgb(255 255 255 / 4%); }
.app-nav button.is-active { border-color: rgb(243 223 168 / 22%); color: var(--cream); background: rgb(243 223 168 / 7%); }

.operator-frame { background: #090c12; }
.operator-header { position: relative; }
.panel-card { padding: 17px; }
.compact-panel { margin-bottom: 12px; }
.panel-card h3,
.operator-tournament-card h3,
.operator-player h3 { margin: 0; font-size: 17px; letter-spacing: -.025em; }
.field { display: grid; gap: 6px; margin-top: 13px; }
.field span { color: var(--muted); font-size: 10px; font-weight: 750; }
.field input,
.field select,
.field textarea,
.search-field input { width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--line-strong); border-radius: 12px; color: var(--text); background: rgb(5 7 11 / 46%); }
.field input,
.field select,
.field textarea { padding: 10px 12px; }
.field select { color-scheme: dark; }
.field textarea { min-height: 148px; resize: vertical; line-height: 1.45; }
.field input::placeholder,
.search-field input::placeholder { color: var(--subtle); }
.panel-card .full-width { margin-top: 13px; }
.content-editor { margin-top: 12px; }
.content-editor-note { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.content-editor-actions { display: grid; gap: 8px; margin-top: 13px; }

.operator-tournament-list,
.operator-player-list,
.payment-list,
.accordion-stack { display: grid; gap: 10px; }
.operator-tournament-card { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.operator-tournament-card > div { min-width: 0; }
.operator-tournament-card h3 { margin-top: 8px; }
.operator-tournament-card p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }

.operator-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.operator-metrics article { padding: 12px 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.operator-metrics span { display: block; min-height: 26px; color: var(--muted); font-size: 9px; }
.operator-metrics strong { display: block; margin-top: 5px; font-size: 18px; }
.two-column-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.switch-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--muted); font-size: 11px; }
.switch-row input { position: absolute; opacity: 0; pointer-events: none; }
.switch-row i { position: relative; width: 44px; height: 25px; flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--surface-3); cursor: pointer; }
.switch-row i::after { position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: var(--text); content: ""; transition: transform 150ms ease; }
.switch-row input:checked + i { border-color: var(--cream); background: #7d683f; }
.switch-row input:checked + i::after { transform: translateX(19px); }
.switch-row input:focus-visible + i { outline: 3px solid rgb(127 184 255 / 72%); outline-offset: 3px; }

.search-field { position: relative; display: block; margin: 12px 0; }
.search-field .icon { position: absolute; top: 11px; left: 12px; color: var(--muted); }
.search-field input { padding: 10px 12px 10px 42px; }
.operator-player { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.operator-player small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.operator-player.is-hidden { display: none; }
.operator-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.operator-actions button { min-height: 34px; padding: 7px 10px; color: var(--text); background: rgb(255 255 255 / 4%); font-size: 10px; font-weight: 800; }
.operator-actions button:hover,
.operator-actions button:focus-visible { border-color: var(--cream); }
.operator-actions button.danger-action { border-color: rgb(255 141 165 / 40%); color: var(--red); }
.empty-state { padding: 24px; border: 1px dashed var(--line-strong); border-radius: 14px; color: var(--muted); font-size: 12px; text-align: center; }

.operator-timer-card { padding: 25px 18px; text-align: center; background: radial-gradient(circle at 50% 0%, rgb(243 223 168 / 14%), transparent 19rem), var(--surface); }
.operator-timer-card > span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.operator-timer-card > strong { display: block; margin: 11px 0 5px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(52px, 17vw, 76px); letter-spacing: -.08em; line-height: 1; }
.operator-timer-card > p { margin: 0; color: var(--cream); font-size: 13px; font-weight: 850; }
.timer-buttons { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 20px; }
.blind-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.blind-editor article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.blind-editor span,
.blind-editor small { display: block; color: var(--muted); font-size: 9px; }
.blind-editor strong { display: block; margin: 7px 0 4px; font-size: 13px; }

.payment-list { margin-top: 13px; }
.payment-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.payment-list strong,
.payment-list small { display: block; }
.payment-list strong { font-size: 12px; }
.payment-list small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.payment-list b { color: var(--cream); font-size: 11px; }

.accordion-stack details { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.accordion-stack summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 12px 14px; cursor: pointer; font-size: 12px; font-weight: 850; list-style: none; }
.accordion-stack summary::-webkit-details-marker { display: none; }
.accordion-stack summary::after { color: var(--muted); content: "+"; font-size: 20px; font-weight: 500; }
.accordion-stack details[open] summary::after { content: "−"; }
.accordion-stack details > div { padding: 0 14px 14px; border-top: 1px solid var(--line); }
.accordion-stack p { color: var(--muted); font-size: 11px; line-height: 1.45; }
.accordion-stack button { min-height: 34px; padding: 7px 10px; color: var(--text); background: rgb(255 255 255 / 4%); font-size: 10px; font-weight: 800; }

.display-surface { padding: clamp(12px, 2vw, 28px); background: #04070b; }
.display-board { min-height: calc(100vh - 176px); overflow: hidden; border: 1px solid #40506b; border-radius: 24px; background: radial-gradient(circle at 50% 45%, rgb(72 118 132 / 26%), transparent 37rem), linear-gradient(145deg, #162232, #0a101a); box-shadow: var(--shadow); }
.display-header,
.display-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 22px; color: var(--muted); font-size: clamp(9px, 1vw, 12px); font-weight: 800; text-transform: uppercase; }
.display-header { border-bottom: 1px solid #40506b; }
.display-footer { border-top: 1px solid #40506b; }
.display-brand { display: flex; align-items: center; gap: 10px; }
.display-brand span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #0b1315; background: var(--cyan); font-size: 14px; font-weight: 950; }
.display-brand strong { color: var(--cyan); font-size: clamp(15px, 2vw, 24px); letter-spacing: .08em; }
.display-header > div:last-child { display: flex; align-items: center; gap: 8px; }
.display-layout { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(460px, 2fr) minmax(180px, .7fr); min-height: calc(100vh - 302px); }
.display-ranking,
.display-stats,
.display-main { padding: clamp(16px, 2.3vw, 34px); }
.display-ranking { border-right: 1px solid #40506b; }
.display-stats { display: grid; align-content: center; gap: 13px; border-left: 1px solid #40506b; }
.display-ranking h2 { margin: 5px 0 18px; font-size: clamp(20px, 2.2vw, 34px); }
.display-ranking ol { margin: 0; padding: 0; list-style: none; }
.display-ranking li { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; border-bottom: 1px solid rgb(64 80 107 / 70%); color: var(--muted); font-size: clamp(10px, 1vw, 14px); }
.display-ranking li::before { width: 20px; color: var(--cream); counter-increment: item; content: counter(item); font-weight: 900; }
.display-ranking ol { counter-reset: item; }
.display-ranking li span { flex: 1; }
.display-ranking li b { color: var(--cream); }
.display-main { display: grid; place-items: center; text-align: center; }
.display-main .eyebrow { font-size: clamp(12px, 1.4vw, 20px); }
.display-main h1 { margin: 18px 0 8px; font-size: clamp(60px, 9vw, 150px); letter-spacing: -.075em; line-height: .85; }
.display-main h1 span { color: var(--muted); font-weight: 400; }
.display-main h2 { margin: 0; color: var(--cream); font-size: clamp(18px, 2.6vw, 42px); }
.display-duration { width: fit-content; margin: 18px auto; padding: 7px 13px; border: 1px solid #40506b; border-radius: 999px; color: var(--muted); font-size: clamp(9px, 1vw, 13px); text-transform: uppercase; }
.display-clock { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(58px, 8vw, 130px); letter-spacing: -.08em; line-height: 1; }
.next-blinds { width: fit-content; margin: 18px auto 0; padding: 11px 18px; border: 1px solid rgb(243 223 168 / 40%); border-radius: 999px; color: var(--cream); font-size: clamp(11px, 1.3vw, 18px); font-weight: 850; }
.display-stats article { padding: 16px; border: 1px solid #40506b; border-radius: 14px; background: rgb(255 255 255 / 3%); }
.display-stats span,
.display-stats strong { display: block; }
.display-stats span { color: var(--muted); font-size: clamp(9px, .9vw, 12px); text-transform: uppercase; }
.display-stats strong { margin-top: 8px; font-size: clamp(17px, 2vw, 30px); letter-spacing: -.035em; }
.display-break-state,
.display-finish-state { display: none; }
.display-board[data-display-state="break"] .display-play-state,
.display-board[data-display-state="finish"] .display-play-state { display: none; }
.display-board[data-display-state="break"] .display-break-state,
.display-board[data-display-state="finish"] .display-finish-state { display: block; }
.display-break-state h1 { color: var(--cream); }
.display-break-state p:last-child,
.display-finish-state p { color: var(--muted); font-size: clamp(14px, 1.6vw, 24px); }
.display-finish-state > strong { display: block; margin-top: 26px; color: var(--cream); font-size: clamp(22px, 3vw, 52px); }
.display-demo-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 12px; }
.display-demo-controls button { display: flex; min-width: 0; min-height: 44px; align-items: center; gap: 7px; padding: 7px 12px; color: var(--muted); background: var(--surface); font-size: 10px; font-weight: 800; }
.display-demo-controls button:hover,
.display-demo-controls button:focus-visible { border-color: var(--cream); color: var(--text); }
.display-demo-controls button.is-active { border-color: var(--cream); color: #17130c; background: var(--cream); }

.app-dialog {
  width: min(calc(100% - 24px), 520px);
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line-strong);
  border-radius: 26px;
  color: var(--text);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.app-dialog::backdrop { background: rgb(0 0 0 / 72%); backdrop-filter: blur(8px); }
.dialog-sheet { position: relative; padding: 28px 22px 22px; }
.dialog-close { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: rgb(0 0 0 / 18%); cursor: pointer; }
.dialog-sheet > .status-pill { margin-bottom: 22px; }
.dialog-sheet h2 { max-width: 16ch; margin: 6px 0 7px; font-size: 32px; letter-spacing: -.045em; line-height: 1; }
.dialog-sheet > p:not(.eyebrow, .dialog-disclaimer) { color: var(--muted); font-size: 13px; }
.dialog-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px 0; }
.dialog-feature-grid article { padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgb(0 0 0 / 15%); }
.dialog-feature-grid span,
.dialog-feature-grid strong { display: block; }
.dialog-feature-grid span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.dialog-feature-grid strong { margin-top: 7px; font-size: 12px; }
.dialog-live-card { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgb(243 223 168 / 32%); border-radius: 14px; background: rgb(243 223 168 / 5%); }
.dialog-live-card > div { padding: 13px; }
.dialog-live-card > div + div { border-left: 1px solid var(--line); }
.dialog-live-card span,
.dialog-live-card strong { display: block; }
.dialog-live-card span { color: var(--muted); font-size: 9px; }
.dialog-live-card strong { margin-top: 5px; font-size: 15px; }
.dialog-section { margin: 19px 0; }
.dialog-section h3 { font-size: 14px; }
.participant-stack { display: flex; }
.participant-stack span { display: grid; width: 38px; height: 38px; place-items: center; margin-right: -7px; border: 2px solid var(--surface); border-radius: 50%; color: #17130c; background: var(--cream); font-size: 9px; font-weight: 900; }
.participant-stack span:last-child { color: var(--text); background: var(--surface-3); }
.dialog-disclaimer { margin: 10px 0 0; color: var(--subtle); font-size: 9px; text-align: center; }
.info-sheet #info-content { color: var(--muted); font-size: 13px; line-height: 1.55; }
.info-sheet #info-content h3 { margin: 20px 0 7px; color: var(--text); font-size: 15px; }
.info-sheet #info-content p { margin: 0 0 10px; }
.info-sheet #info-content ul { padding-left: 18px; }

.toast {
  position: fixed;
  z-index: 100;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  left: max(16px, env(safe-area-inset-left));
  max-width: 450px;
  margin: auto;
  padding: 13px 15px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  color: var(--text);
  background: #22293a;
  box-shadow: var(--shadow);
  font-size: 12px;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.toast.is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 700px) {
  .surface:not(.display-surface) { padding: 30px 18px; }
  .app-frame { width: min(100%, 820px); min-height: 860px; margin: 0 auto; border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow); }
  .app-header { padding: 24px; border-radius: 30px 30px 0 0; }
  .app-content { padding: 24px 24px 112px; }
  .app-nav { right: auto; left: 50%; width: min(calc(100% - 36px), 818px); transform: translateX(-50%); border-right: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 0 0 28px 28px; }
}

@media (min-width: 400px) {
  .content-editor-actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 859px) {
  .auth-layout { grid-template-columns: 1fr; }
  .auth-story h1 { max-width: 12ch; }
}

@media (min-width: 1024px) {
  .surface:not(.display-surface) { padding: clamp(28px, 4vw, 56px); }
  #tournament-dialog { width: min(calc(100% - 64px), 640px); }
  #info-dialog { width: min(calc(100% - 64px), 680px); }
  .app-frame {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    width: min(100%, 1280px);
    min-height: min(900px, calc(100vh - 160px));
    border-radius: 28px;
  }
  .app-header { grid-column: 1 / -1; grid-row: 1; padding: 24px 30px; border-radius: 28px 28px 0 0; }
  .app-header h1 { max-width: none; }
  .app-content { grid-column: 2; grid-row: 2; min-width: 0; padding: 32px; }
  .app-nav {
    position: relative;
    z-index: 1;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    align-self: stretch;
    width: auto;
    transform: none;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 7px;
    padding: 26px 14px;
    border-top: 0;
    border-right: 1px solid var(--line);
    border-left: 0;
    border-radius: 0 0 0 28px;
    background: rgb(7 9 14 / 72%);
    box-shadow: none;
  }
  .player-nav,
  .operator-nav { grid-template-columns: 1fr; }
  .app-nav button { grid-template-columns: 24px minmax(0, 1fr); place-items: center start; gap: 11px; min-height: 50px; padding: 10px 12px; font-size: 12px; text-align: left; }
  .hero-card { min-height: 320px; padding: 32px; }
  .hero-copy h2 { font-size: clamp(38px, 5vw, 58px); }
  .quick-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .player-screen[data-player-screen="rating"].is-active {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
    gap: 16px;
    align-items: start;
  }
  .player-screen[data-player-screen="rating"] .screen-heading { grid-column: 1 / -1; }
  .player-screen[data-player-screen="rating"] .segmented,
  .player-screen[data-player-screen="rating"] .rating-summary { grid-column: 1; margin: 0; }
  .player-screen[data-player-screen="rating"] .leaderboard { grid-column: 2; grid-row: 2 / span 2; }
  .player-screen[data-player-screen="profile"].is-active {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
  }
  .player-screen[data-player-screen="profile"] .profile-hero { grid-column: 1 / -1; }
  .player-screen[data-player-screen="profile"] .profile-progress { grid-column: 1; grid-row: 2; }
  .player-screen[data-player-screen="profile"] .profile-metrics { grid-column: 2; grid-row: 2; margin: 0; }
  .player-screen[data-player-screen="profile"] .profile-achievement-heading { grid-column: 1; grid-row: 3; }
  .player-screen[data-player-screen="profile"] .achievement-row { grid-column: 1; grid-row: 4; }
  .player-screen[data-player-screen="profile"] .profile-account-heading { grid-column: 2; grid-row: 3; }
  .player-screen[data-player-screen="profile"] .account-list { grid-column: 2; grid-row: 4; }
  .player-screen[data-player-screen="profile"] > .danger-button { grid-column: 2; }
  .player-screen[data-player-screen="list"].is-active {
    display: grid;
    grid-template-columns: minmax(250px, .65fr) minmax(0, 1.35fr);
    gap: 16px;
    align-items: start;
  }
  .player-screen[data-player-screen="list"] .screen-heading { grid-column: 1 / -1; }
  .player-screen[data-player-screen="list"] .role-boundary-card,
  .player-screen[data-player-screen="list"] .list-state-controls { grid-column: 1; }
  .player-screen[data-player-screen="list"] .list-state-panel { grid-column: 2; grid-row: 2 / span 2; }
  .player-screen[data-player-screen="player-detail"].is-active {
    display: grid;
    grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr);
    gap: 16px;
    align-items: start;
  }
  .player-screen[data-player-screen="player-detail"] .screen-heading { grid-column: 1 / -1; }
  .player-screen[data-player-screen="player-detail"] .detail-state-controls { grid-column: 1; display: grid; }
  .player-screen[data-player-screen="player-detail"] .player-detail-panel { grid-column: 2; grid-row: 2; }
  .player-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-screen[data-player-screen="address"].is-active {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: 16px;
    align-items: start;
  }
  .player-screen[data-player-screen="address"] .screen-heading { grid-column: 1 / -1; }
  .player-screen[data-player-screen="address"] .address-hero { grid-column: 1; grid-row: 2 / span 2; }
  .player-screen[data-player-screen="address"] .address-grid,
  .player-screen[data-player-screen="address"] .address-actions { grid-column: 2; margin-top: 0; }
  .player-screen[data-player-screen="address"] .page-disclaimer { grid-column: 1 / -1; }
  .tournament-list,
  .operator-tournament-list,
  .operator-player-list,
  .payment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operator-screen[data-operator-screen="timer"].is-active {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 16px;
    align-items: start;
  }
  .operator-screen[data-operator-screen="timer"] .screen-heading { grid-column: 1 / -1; }
  .operator-screen[data-operator-screen="timer"] .operator-timer-card { grid-column: 1; grid-row: 2 / span 3; }
  .operator-screen[data-operator-screen="timer"] .blind-editor,
  .operator-screen[data-operator-screen="timer"] .section-title-row,
  .operator-screen[data-operator-screen="timer"] .display-state-controls { grid-column: 2; margin-top: 0; }
  .operator-screen[data-operator-screen="payment"].is-active,
  .operator-screen[data-operator-screen="more"].is-active {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
  }
  .operator-screen[data-operator-screen="payment"] .screen-heading,
  .operator-screen[data-operator-screen="payment"] .operator-metrics,
  .operator-screen[data-operator-screen="more"] .screen-heading,
  .operator-screen[data-operator-screen="more"] .accordion-stack { grid-column: 1 / -1; }
  .operator-screen[data-operator-screen="payment"] .payment-list,
  .operator-screen[data-operator-screen="more"] .content-editor { margin-top: 0; }
  .operator-screen[data-operator-screen="payment"] .payment-list { grid-template-columns: 1fr; }
  .operator-screen[data-operator-screen="more"] .accordion-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
  .demo-header { grid-template-columns: 1fr auto; gap: 10px; }
  .demo-brand { display: none; }
  .surface-switch { justify-self: start; }
  .display-layout { grid-template-columns: 1fr; }
  .display-ranking,
  .display-stats { display: none; }
  .display-main { min-height: calc(100vh - 330px); }
  .display-header,
  .display-footer { padding: 12px 14px; }
}

@media (max-width: 440px) {
  .auth-page { padding: 8px; }
  .auth-layout { border-radius: 20px; }
  .auth-story,
  .auth-card { padding: 24px 18px; }
  .auth-story .login-brand { margin-bottom: 22px; }
  .auth-story h1 { font-size: 40px; }
  .auth-benefits { margin-top: 24px; }
  .auth-card { padding-top: 30px; }
  .auth-demo-grid { grid-template-columns: 1fr; }
  .auth-demo-grid button { min-height: 44px; }
  .demo-header { display: block; min-height: auto; padding: 8px; }
  .surface-switch { width: 100%; }
  .surface-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .surface-button { min-width: 0; min-height: 44px; padding: 7px 8px; line-height: 1.2; overflow-wrap: anywhere; }
  .demo-actions { display: none; }
  .demo-boundary { font-size: 8px; }
  .hero-copy { max-width: 84%; }
  .hero-orbit { right: -48px; opacity: .7; }
  .metric-row { gap: 6px; }
  .metric-card { padding: 11px 7px; }
  .detail-state-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .list-state-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .role-boundary-card { display: block; }
  .role-boundary-card .status-pill { margin-top: 10px; }
  .player-list-row { grid-template-columns: 42px minmax(0, 1fr); }
  .player-list-row > .status-pill { grid-column: 1 / -1; justify-self: start; }
  .player-detail-hero { flex-wrap: wrap; }
  .player-detail-hero .status-pill { margin-left: 77px; }
  .address-actions { grid-template-columns: 1fr; }
  .dialog-feature-grid { grid-template-columns: 1fr 1fr; }
  .display-surface { padding: 8px; }
  .display-board { min-height: calc(100vh - 205px); border-radius: 18px; }
  .display-header { gap: 8px; }
  .display-brand { gap: 6px; }
  .display-brand span { width: 32px; height: 32px; }
  .display-brand strong { font-size: 12px; }
  .display-header > div:last-child { min-width: 0; max-width: 48%; }
  .display-main { padding: 18px; }
  .display-main h1 { font-size: clamp(42px, 15vw, 64px); white-space: nowrap; }
  .display-clock { font-size: clamp(46px, 16vw, 68px); white-space: nowrap; }
  .display-footer span { min-width: 0; overflow-wrap: anywhere; }
  .display-footer span:nth-child(2) { display: none; }
  .display-demo-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .display-demo-controls button { justify-content: center; width: 100%; }
}

@media (max-width: 359px) {
  .app-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 20px; }
  .dialog-sheet { padding: 24px 16px 18px; }
  .dialog-sheet h2 { padding-right: 40px; font-size: 28px; overflow-wrap: anywhere; }
  .dialog-feature-grid { grid-template-columns: 1fr; }
  .dialog-live-card { grid-template-columns: 1fr; }
  .dialog-live-card > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .segmented button { min-height: 44px; overflow-wrap: anywhere; }
  .app-header { gap: 10px; padding: 18px 14px 12px; }
  .app-content { padding: 14px 14px 100px; }
  .current-tournament-card,
  .two-column-fields,
  .blind-editor { grid-template-columns: 1fr; }
  .current-tournament-card > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .operator-metrics { grid-template-columns: 1fr 1fr; }
  .operator-metrics article:last-child { grid-column: 1 / -1; }
  .tournament-card { grid-template-columns: auto minmax(0, 1fr); }
  .tournament-card > button:last-child { grid-column: 1 / -1; width: 100%; }
  .operator-tournament-card,
  .payment-list article,
  .card-title-row,
  .account-list > div,
  .timer-buttons { flex-wrap: wrap; }
  .player-nav button { font-size: 8px; }
  .operator-tournament-card > button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
