:root {
  --bg: #05070b;
  --panel: #0b151f;
  --line: #203746;
  --line-bright: #2f5c6b;
  --text: #f3f6f5;
  --muted: #91a2ad;
  --cyan: #24d7ed;
  --lime: #d3ff25;
  --danger: #ff5d67;
  --page: min(1280px, calc(100vw - 48px));
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* v2.3 — private multi-provider member access */
.member-login-page {
  width: min(1120px, calc(100vw - 40px));
  min-height: 680px;
  margin: 48px auto 96px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  border: 1px solid var(--line);
  background: #071019;
  overflow: hidden;
}
.member-login-art { position: relative; min-height: 100%; background: #05090f; overflow: hidden; }
.member-login-art > img { width: 100%; height: 100%; object-fit: cover; opacity: .48; }
.member-login-art::after { content: "MEMBER // ACCESS"; position: absolute; left: 34px; bottom: 32px; color: rgba(255,255,255,.72); font: 700 13px/1 var(--mono); letter-spacing: .2em; }
.member-login-panel { padding: clamp(34px, 5vw, 72px); align-self: center; }
.member-login-panel h1 { max-width: 640px; margin: 20px 0; font: 800 clamp(44px, 6vw, 76px)/.9 var(--display); text-transform: uppercase; }
.member-login-intro { margin: 0 0 34px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.login-provider-stack { display: grid; gap: 12px; }
.login-provider-button { min-height: 64px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 14px; padding: 10px 18px; border: 1px solid var(--line); color: var(--text); font: 700 13px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; transition: border-color .2s, background .2s, transform .2s; }
.login-provider-button:hover { border-color: var(--cyan); background: rgba(36,215,237,.06); transform: translateY(-1px); }
.login-provider-button.discord { border-color: rgba(88,101,242,.7); }
.provider-mark { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid var(--cyan); background: rgba(36,215,237,.08); color: var(--cyan); font: 800 16px/1 var(--mono); }
.login-provider-button.discord .provider-mark { border-color: #7d87ff; color: #aeb4ff; background: rgba(88,101,242,.15); }
.login-divider { display: flex; align-items: center; gap: 16px; margin: 28px 0; color: var(--muted); font: 700 11px/1 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.login-divider::before, .login-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.magic-login-form { display: grid; gap: 14px; }
.magic-login-form .button { width: 100%; justify-content: center; }
.magic-login-form > small { color: var(--muted); line-height: 1.5; }
.magic-verify-form .button { width: 100%; justify-content: center; }
.member-verify-page .member-login-panel > .notice { margin-top: 18px; }
.login-privacy-note, .login-sent-state { display: grid; grid-template-columns: 38px 1fr; gap: 14px; margin-top: 30px; padding: 18px; border: 1px solid rgba(211,255,37,.28); background: rgba(211,255,37,.04); }
.login-privacy-note > i, .login-sent-state > i { color: var(--lime); font-style: normal; font: 800 22px/1 var(--mono); }
.login-privacy-note strong, .login-sent-state strong { display: block; margin-bottom: 7px; }
.login-privacy-note p, .login-sent-state p { margin: 0; color: var(--muted); line-height: 1.55; }
.login-back-link { display: inline-block; margin-top: 24px; }
.member-signin-methods { margin: 28px 0; padding: 26px; border: 1px solid var(--line); background: #08121b; }
.member-signin-methods > p { max-width: 760px; color: var(--muted); }
.signin-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.signin-method-card { min-height: 88px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); background: #050b11; }
.signin-method-card.connected { border-color: rgba(211,255,37,.35); }
.signin-method-card strong, .signin-method-card small { display: block; }
.signin-method-card small { margin-top: 5px; color: var(--muted); font: 600 10px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.signin-method-card .plain-action { color: #ff7d8a; }
.signin-method-required { color: var(--lime); font: 700 9px/1.35 var(--mono); letter-spacing: .1em; text-align: right; text-transform: uppercase; }
.connect-email-method { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 14px; margin-top: 14px; padding-top: 18px; border-top: 1px solid var(--line); }
.connect-email-method .field { margin: 0; }

@media (max-width: 760px), (max-device-width: 760px) {
  .member-login-page { width: calc(100vw - 24px); min-height: 0; margin: 20px auto 76px; grid-template-columns: 1fr; }
  .member-login-art { min-height: 180px; }
  .member-login-art::after { left: 20px; bottom: 18px; }
  .member-login-panel { padding: 28px 20px 32px; }
  .member-login-panel h1 { font-size: clamp(42px, 14vw, 62px); }
  .login-provider-button { min-height: 58px; padding: 8px 12px; }
  .member-signin-methods { padding: 18px 14px; }
  .signin-method-grid { grid-template-columns: 1fr; }
  .connect-email-method { grid-template-columns: 1fr; align-items: stretch; }
  .connect-email-method .button { width: 100%; justify-content: center; }
}

/* v2.2 — community return, weekly roundups, installable site and focused admin */
.article-update-timeline { max-width: 1040px; margin: 22px auto 0; border: 1px solid rgba(36, 215, 237, .22); background: rgba(7, 17, 25, .8); }
.article-update-timeline summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 17px 20px; cursor: pointer; list-style: none; }
.article-update-timeline summary::-webkit-details-marker { display: none; }
.article-update-timeline summary span { color: var(--lime); font-family: var(--mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.article-update-timeline summary strong { font-size: 15px; }
.article-update-timeline summary b { min-width: 30px; padding: 5px 8px; border: 1px solid rgba(36, 215, 237, .25); color: var(--cyan); text-align: center; }
.article-update-timeline ol { margin: 0; padding: 0 20px 18px 48px; }
.article-update-timeline li { padding: 11px 0 11px 6px; border-top: 1px solid rgba(36, 215, 237, .12); }
.article-update-timeline time { color: var(--cyan); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.article-update-timeline p { margin: 4px 0 0; color: var(--muted); }
.question-sort-tabs { display: flex; gap: 8px; margin: 0 0 10px; }
.question-sort-tabs a { padding: 11px 15px; border: 1px solid rgba(36, 215, 237, .22); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.question-sort-tabs a[aria-current="page"] { border-color: var(--lime); color: var(--lime); }
.question-vote-hint { margin: 0 0 20px; color: var(--muted); font-size: 13px; }
.answer-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; }
.answer-card-actions form { margin: 0; }
.question-vote-button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 9px 12px; border: 1px solid rgba(36, 215, 237, .28); background: transparent; color: var(--cyan); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; cursor: pointer; }
.question-vote-button.active { border-color: var(--lime); background: rgba(211, 255, 37, .08); color: var(--lime); }
.question-detail-vote { display: flex; justify-content: space-between; align-items: center; gap: 30px; max-width: 920px; margin: 20px auto; padding: 24px; border: 1px solid rgba(36, 215, 237, .22); background: rgba(8, 20, 29, .72); }
.question-detail-vote h2 { margin: 6px 0 0; font-size: 18px; }
.member-install-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px; margin: 18px 0 28px; padding: 24px; border: 1px solid rgba(36, 215, 237, .24); background: linear-gradient(110deg, rgba(10, 25, 34, .95), rgba(8, 15, 23, .95)); }
.member-install-card h2 { margin: 6px 0; font-size: 24px; }
.member-install-card p { margin: 0; color: var(--muted); }
.member-install-card .pwa-ios-instructions { grid-column: 1 / -1; padding: 12px; border-left: 2px solid var(--lime); }
.roundup-masthead { min-height: 400px; }
.roundup-archive { display: grid; gap: 18px; }
.roundup-archive-card { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 30px; padding: 28px; border: 1px solid rgba(36, 215, 237, .24); background: rgba(7, 17, 25, .86); }
.roundup-archive-card h2 { margin: 8px 0; font-family: var(--display); font-size: clamp(30px, 4vw, 52px); line-height: .95; text-transform: uppercase; }
.roundup-archive-card p { color: var(--muted); }
.roundup-archive-card aside { display: flex; flex-direction: column; justify-content: center; gap: 10px; border-left: 1px solid rgba(36, 215, 237, .15); padding-left: 24px; }
.roundup-archive-card aside > strong { color: var(--lime); font-size: 38px; }
.roundup-archive-card aside > span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.roundup-page .article-header { margin-bottom: 42px; }
.roundup-section { max-width: 1040px; margin: 44px auto; }
.roundup-section > header h2 { margin: 8px 0 18px; font-family: var(--display); font-size: clamp(34px, 5vw, 58px); line-height: .92; text-transform: uppercase; }
.roundup-item-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.roundup-item-list a { display: block; padding: 20px; border: 1px solid rgba(36, 215, 237, .2); background: rgba(7, 17, 25, .82); }
.roundup-item-list span, .roundup-item-list b { color: var(--cyan); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.roundup-item-list strong { display: block; margin: 8px 0; font-size: 18px; }
.roundup-item-list p { color: var(--muted); font-size: 13px; }
.roundup-giveaway { display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 1040px; margin: 44px auto; padding: 28px; border: 1px solid rgba(211, 255, 37, .35); background: rgba(22, 31, 12, .62); }
.roundup-giveaway h2 { margin: 8px 0; font-size: 28px; }
.offline-page { min-height: 68vh; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 760px; margin: 0 auto; padding: 70px 24px; text-align: center; }
.offline-page h1 { margin: 12px 0; font-family: var(--display); font-size: clamp(54px, 10vw, 100px); line-height: .86; text-transform: uppercase; }
.offline-page > p { max-width: 600px; color: var(--muted); }
.offline-actions { display: flex; gap: 12px; margin-top: 24px; }
.offline-signal { display: flex; align-items: end; gap: 6px; height: 44px; }
.offline-signal i { display: block; width: 8px; background: var(--cyan); }
.offline-signal i:nth-child(1) { height: 14px; }.offline-signal i:nth-child(2) { height: 28px; }.offline-signal i:nth-child(3) { height: 42px; background: var(--lime); }
.roundup-admin-list { display: grid; gap: 14px; }.roundup-admin-list > article { padding: 22px; border: 1px solid rgba(36, 215, 237, .22); background: rgba(7, 17, 25, .78); }.roundup-admin-list article > div, .roundup-admin-list footer { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }.roundup-admin-list h2 { margin: 12px 0 6px; }.roundup-admin-list p { color: var(--muted); }.roundup-admin-list footer { margin-top: 16px; }.roundup-admin-list footer > span { margin-right: auto; color: var(--cyan); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.roundup-admin-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 18px; }.roundup-selection-preview details { border-top: 1px solid rgba(36, 215, 237, .14); }.roundup-selection-preview summary { padding: 14px 0; cursor: pointer; }.roundup-selection-preview summary b { color: var(--lime); }.roundup-selection-preview details div { display: grid; gap: 8px; padding: 0 0 16px; }.roundup-selection-preview a { color: var(--cyan); font-size: 12px; }

@media (max-width: 760px), (max-device-width: 760px) {
  .roundup-archive-card, .member-install-card, .roundup-admin-grid { grid-template-columns: 1fr; }
  .roundup-archive-card aside { border-left: 0; border-top: 1px solid rgba(36, 215, 237, .15); padding: 18px 0 0; }
  .roundup-item-list { grid-template-columns: 1fr; }
  .roundup-giveaway, .question-detail-vote { align-items: stretch; flex-direction: column; }
  .answer-card-actions { align-items: flex-start; flex-direction: column; }
  .question-sort-tabs { overflow-x: auto; }.question-sort-tabs a { white-space: nowrap; }
}

* { box-sizing: border-box; }
html {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  scroll-behavior: smooth;
  background: var(--bg);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  margin: 0;
  background:
    radial-gradient(circle at 82% 14%, rgba(23, 129, 148, .11), transparent 26rem),
    var(--bg);
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, video { display: block; max-width: 100%; }
::selection { background: var(--lime); color: #091015; }

.site-shell { width: 100%; max-width: 100%; min-height: 100vh; overflow-x: hidden; overflow-x: clip; }
.site-header {
  position: relative;
  z-index: 50;
  height: 72px;
  border-bottom: 1px solid rgba(74, 115, 133, .32);
  background: rgba(5, 7, 11, .9);
  backdrop-filter: blur(18px);
}
.header-inner {
  width: var(--page);
  min-width: 0;
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  font-family: var(--display);
  font-size: 22px;
  letter-spacing: .19em;
  line-height: 1;
  white-space: nowrap;
}
.wordmark-slash { color: var(--lime); letter-spacing: -.15em; transform: skew(-9deg); }
.main-nav { display: flex; min-width: 0; align-items: center; gap: 42px; height: 100%; }
.main-nav a {
  position: relative;
  display: grid;
  place-items: center;
  height: 100%;
  color: #cbd4d7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color 160ms ease;
}
.main-nav a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: -1px;
  left: 50%;
  height: 2px;
  background: var(--lime);
  transition: inset 160ms ease;
}
.main-nav a:hover { color: var(--lime); }
.main-nav a:hover::after { right: 0; left: 0; }
.status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 10px rgba(211, 255, 37, .7);
}

.hero-section {
  position: relative;
  width: calc(100% - 24px);
  min-height: 720px;
  margin: 0 12px;
  overflow: hidden;
  border-right: 1px solid rgba(64, 107, 124, .28);
  border-bottom: 1px solid rgba(64, 107, 124, .45);
  border-left: 1px solid rgba(64, 107, 124, .28);
  isolation: isolate;
}
.hero-art { position: absolute; inset: 0; z-index: -5; width: 100%; height: 100%; object-fit: cover; object-position: 54% center; animation: heroReveal 900ms ease both; }
.hero-shade {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(2, 5, 8, .99) 0%, rgba(2, 6, 9, .96) 26%, rgba(3, 8, 12, .55) 57%, rgba(3, 7, 10, .12) 78%),
    linear-gradient(0deg, rgba(4, 7, 10, .93), transparent 48%);
}
.hero-grid-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(38, 97, 117, .16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 97, 117, .16) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(90deg, #000, transparent 69%);
}
.hero-section::before,
.hero-section::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 64px;
  height: 64px;
  pointer-events: none;
}
.hero-section::before { top: 28px; left: 28px; border-top: 1px solid var(--cyan); border-left: 1px solid var(--cyan); }
.hero-section::after { right: 28px; bottom: 28px; border-right: 1px solid var(--lime); border-bottom: 1px solid var(--lime); }
.hero-copy {
  position: relative;
  z-index: 3;
  width: min(760px, 64vw);
  padding-top: 112px;
  margin-left: max(6vw, calc((100vw - 1280px) / 2));
  animation: copyRise 600ms 120ms ease both;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 18px;
  color: var(--lime);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eyebrow > span { width: 24px; height: 1px; background: var(--cyan); }
.hero-copy h1,
.page-masthead h1,
.article-header h1 {
  max-width: 690px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(72px, 8vw, 122px);
  font-weight: 900;
  line-height: .84;
  letter-spacing: .025em;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 3px 20px rgba(0, 0, 0, .35);
}
.hero-summary { max-width: 590px; margin: 29px 0 0; color: #c0cbce; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; }
.hero-actions { display: flex; align-items: center; gap: 16px; margin-top: 32px; }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform 170ms ease, background 170ms ease, border-color 170ms ease, color 170ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--lime); color: #071016; clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 11px, 100% 100%, 11px 100%, 0 calc(100% - 11px)); }
.button-primary:hover { background: #e2ff6b; }
.button-primary span { transition: transform 170ms ease; }
.button-primary:hover span { transform: translateX(4px); }
.button-ghost { border-color: #2a6b7b; background: rgba(5, 13, 18, .65); color: var(--cyan); }
.button-ghost:hover { border-color: var(--cyan); background: rgba(16, 44, 52, .72); }
.hero-index { position: absolute; bottom: 54px; left: 28px; display: flex; align-items: center; gap: 10px; color: #778993; font-family: var(--mono); font-size: 9px; writing-mode: vertical-rl; }
.hero-index i { width: 1px; height: 44px; background: var(--line-bright); }
.home-giveaway-art .state-badge { position: absolute; top: 18px; left: 18px; display: flex; align-items: center; gap: 8px; border-color: rgba(211, 255, 37, .4); background: rgba(3, 8, 12, .9); color: var(--lime); }

.section { width: var(--page); margin: 0 auto; padding: 104px 0; }
.news-section { padding-bottom: 116px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
.section-heading h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 900;
  letter-spacing: .03em;
  line-height: .92;
  text-transform: uppercase;
}
.section-heading .eyebrow { margin-bottom: 12px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--lime); font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { transition: transform 160ms ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.news-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; align-items: start; }
.content-card { grid-column: span 5; min-width: 0; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(12, 25, 36, .9), rgba(7, 13, 20, .96)); transition: transform 180ms ease, border-color 180ms ease; }
.content-card:hover { transform: translateY(-5px); border-color: var(--line-bright); }
.content-card-wide { grid-column: span 7; grid-row: span 2; }
.card-image-wrap { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #09131d; }
.content-card-wide .card-image-wrap { aspect-ratio: 16 / 9; }
.card-image { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.content-card:hover .card-image { transform: scale(1.035); }
.card-image-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2, 7, 11, .62), transparent 48%); }
.card-corner { position: absolute; top: 12px; left: 12px; z-index: 2; width: 26px; height: 26px; border-top: 1px solid var(--lime); border-left: 1px solid var(--lime); }
.play-disc { position: absolute; top: 50%; left: 50%; z-index: 3; display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid var(--cyan); border-radius: 50%; background: rgba(3, 9, 13, .72); color: var(--cyan); transform: translate(-50%, -50%); }
.card-body { padding: 24px; }
.card-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--cyan); font-family: var(--mono); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.card-meta time { color: #70838d; }
.card-body h3 { max-width: 95%; margin: 16px 0 12px; font-family: var(--display); font-size: clamp(28px, 2.5vw, 42px); font-weight: 800; letter-spacing: .025em; line-height: 1; text-transform: uppercase; }
.card-body h3 a:hover { color: var(--lime); }
.card-body p { margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.65; }

.tiktok-profile-shell { width: 100%; min-height: 500px; padding: 28px; overflow-x: auto; border: 1px solid var(--line); background: #fff; }
.tiktok-profile-shell .tiktok-embed { max-width: 920px !important; min-width: 288px !important; margin: 0 auto !important; }

.site-footer { width: var(--page); margin: 0 auto; padding: 76px 0 36px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr auto; gap: 80px; padding-bottom: 52px; }
.footer-wordmark { margin-bottom: 18px; }
.footer-copy { max-width: 460px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.footer-links { display: flex; flex-direction: column; justify-self: end; gap: 12px; color: #b8c3c8; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.footer-links a:hover { color: var(--lime); }
.legal-copy { margin: 0; padding-top: 22px; border-top: 1px solid var(--line); color: #536773; font-size: 10px; }

.page-masthead {
  position: relative;
  width: calc(100% - 24px);
  min-height: 390px;
  margin: 0 12px;
  padding: 100px max(6vw, calc((100vw - 1280px) / 2)) 70px;
  overflow: hidden;
  border: 1px solid rgba(57, 102, 120, .38);
  border-top: 0;
  background: #05090d;
  isolation: isolate;
}
.masthead-art { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.masthead-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5, 7, 11, .98), rgba(5, 10, 14, .78)); }
.masthead-watermark { position: absolute; right: 4vw; bottom: -32px; color: rgba(80, 126, 143, .11); font-family: var(--display); font-size: 180px; line-height: 1; }
.page-masthead h1 { position: relative; z-index: 1; font-size: clamp(70px, 9vw, 132px); }
.page-masthead > p:not(.eyebrow) { position: relative; z-index: 1; max-width: 620px; margin: 25px 0 0; color: #b6c1c5; font-size: 18px; }
.page-masthead .eyebrow { position: relative; z-index: 1; }
.clips-masthead .masthead-art { object-position: 75% 28%; }
.clips-masthead .masthead-shade { background: linear-gradient(90deg, rgba(5, 7, 11, .99), rgba(5, 10, 14, .48)); }
.archive-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid var(--line); color: #718690; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.archive-grid .content-card { grid-column: auto; }
.compact-heading { margin-top: 18px; }
.compact-heading h2 { font-size: clamp(38px, 4vw, 62px); }
.manual-clips-heading { margin-top: 92px; }
.clip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.clip-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.clip-card-media { position: relative; aspect-ratio: 9 / 14; overflow: hidden; background: #020407; }
.youtube-clip-card { grid-column: span 2; }
.youtube-card-media { aspect-ratio: 16 / 9; }
.clip-card-media video, .clip-card-media img { width: 100%; height: 100%; object-fit: cover; }
.clip-card-copy { padding: 22px; }
.clip-card-copy .eyebrow { margin-bottom: 11px; }
.clip-card-copy h3 { margin: 0 0 12px; font-family: var(--display); font-size: 34px; letter-spacing: .03em; line-height: 1; text-transform: uppercase; }
.clip-card-copy p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.empty-state { padding: 36px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }

.article-page { width: min(1100px, calc(100vw - 48px)); margin: 0 auto; padding: 72px 0 120px; }
.back-link { display: inline-block; margin-bottom: 68px; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.back-link:hover { color: var(--lime); }
.article-header { max-width: 900px; }
.article-header h1 { font-size: clamp(64px, 8.5vw, 116px); }
.article-deck { max-width: 800px; margin: 30px 0; color: #b7c4c8; font-size: clamp(18px, 2vw, 24px); line-height: 1.55; }
.article-meta { display: flex; gap: 26px; color: #718590; font-family: var(--mono); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.article-hero { position: relative; aspect-ratio: 16 / 8; margin: 58px 0 70px; overflow: hidden; border: 1px solid var(--line); }
.article-hero img { width: 100%; height: 100%; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: 170px minmax(0, 700px); gap: 70px; justify-content: center; }
.article-layout aside { display: flex; flex-direction: column; gap: 8px; font-family: var(--mono); }
.article-layout aside .eyebrow { margin: 0; color: #68808b; }
.article-layout aside strong { color: var(--cyan); font-size: 20px; }
.article-layout aside i { width: 44px; height: 1px; margin-top: 8px; background: var(--lime); }
.article-body p { margin: 0 0 26px; color: #c7d0d3; font-size: 18px; line-height: 1.85; }
.article-body p:first-child::first-letter { float: left; margin: 8px 12px 0 0; color: var(--lime); font-family: var(--display); font-size: 74px; line-height: .7; }

/* Publisher studio */
 .state-badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.field { display: flex; flex-direction: column; gap: 8px; color: #aebcc2; font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.field span small { color: #627681; }
.field input, .field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 0;
  outline: 0;
  background: #050a0f;
  color: var(--text);
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.field input { height: 48px; padding: 0 14px; }
.field textarea { min-height: 90px; padding: 13px 14px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(36, 215, 237, .09); }
.quiet-button { border: 0; background: transparent; color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.editor-form { display: flex; flex-direction: column; gap: 18px; }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.media-editor { display: grid; grid-template-columns: 170px 1fr; gap: 18px; padding: 18px; border: 1px solid var(--line); background: rgba(4, 9, 13, .7); }
.media-preview { display: grid; aspect-ratio: 16 / 10; place-items: center; overflow: hidden; border: 1px dashed var(--line-bright); color: #657985; font-family: var(--mono); font-size: 9px; text-align: center; text-transform: uppercase; }
.media-preview img { width: 100%; height: 100%; object-fit: cover; }
.media-preview b { display: block; color: var(--cyan); font-size: 24px; }
.media-controls { display: flex; flex-direction: column; gap: 9px; }
.upload-button { display: inline-grid; width: max-content; min-height: 36px; place-items: center; padding: 0 14px; border: 1px solid var(--line-bright); color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.upload-button input { display: none; }
.media-controls small { color: #60737d; font-size: 10px; }
.check-field { display: flex; gap: 11px; padding: 14px; border: 1px solid var(--line); cursor: pointer; }
.check-field input { width: 16px; height: 16px; accent-color: var(--lime); }
.check-field span { display: flex; flex-direction: column; }
.check-field b { font-size: 12px; }
.check-field small { color: var(--muted); font-size: 10px; }
.form-actions { display: flex; align-items: center; gap: 16px; padding-top: 6px; }
.state-badge { padding: 3px 6px; }
.state-badge.live { border-color: rgba(211, 255, 37, .3); color: var(--lime); }
.state-badge.draft { color: #84949c; }
.studio-auth-page { display: grid; min-height: calc(100vh - 72px); place-items: center; padding: 24px; background: radial-gradient(circle at center, rgba(25, 85, 101, .16), transparent 28rem); }
.studio-auth-card { display: flex; width: min(520px, 100%); flex-direction: column; align-items: center; padding: 54px; border: 1px solid var(--line-bright); background: var(--panel); text-align: center; }
.studio-auth-card > .status-dot { margin-bottom: 22px; }
.studio-auth-card .eyebrow { justify-content: center; }
.studio-auth-card h1 { margin: 0; font-family: var(--display); font-size: 56px; line-height: 1; text-transform: uppercase; }
.studio-auth-card > p:not(.eyebrow) { margin: 20px 0 28px; color: var(--muted); }
.studio-auth-card .text-link { margin-top: 24px; }

@keyframes heroReveal { from { opacity: 0; transform: scale(1.02); } to { opacity: 1; transform: scale(1); } }
@keyframes copyRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1100px), (max-device-width: 1100px) {
  .hero-copy { width: min(760px, 78vw); margin-left: 6vw; }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
  .clip-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px), (max-device-width: 820px) {
  :root { --page: calc(100vw - 32px); }
  .site-header { height: auto; min-height: 64px; }
  .header-inner { grid-template-columns: 1fr auto; min-height: 64px; }
  .wordmark { font-size: 18px; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 42px; justify-content: flex-start; gap: 34px; padding: 0 4px; overflow-x: auto; overflow-y: hidden; border-top: 1px solid rgba(48, 79, 91, .3); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav a { flex: 0 0 auto; }
  .hero-section { min-height: 690px; }
  .hero-art { object-position: 62% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(2, 5, 8, .97), rgba(3, 7, 10, .62)), linear-gradient(0deg, rgba(3, 7, 10, .98) 4%, rgba(3, 7, 10, .3) 62%); }
  .hero-copy { width: auto; padding: 80px 26px 0; margin: 0; }
  .hero-copy h1 { max-width: 580px; font-size: clamp(62px, 14vw, 92px); }
  .hero-summary { max-width: 560px; }
  .hero-index { display: none; }
  .content-card, .content-card-wide { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-links { justify-self: start; }
  .article-layout { grid-template-columns: 1fr; gap: 34px; }
  .article-layout aside { flex-direction: row; align-items: center; }
}

@media (max-width: 600px), (max-device-width: 600px) {
  :root { --page: calc(100vw - 24px); }
  .header-inner { width: calc(100vw - 24px); }
  .wordmark { gap: 5px; font-size: 15px; letter-spacing: .13em; }
  .main-nav { gap: 28px; }
  .main-nav a { font-size: 10px; }
  .hero-section { width: calc(100% - 12px); min-height: 620px; margin: 0 6px; }
  .hero-section::before, .hero-section::after { width: 34px; height: 34px; }
  .hero-copy { padding: 62px 18px 0; }
  .hero-copy h1 { font-size: 59px; line-height: .88; }
  .hero-summary { margin-top: 20px; font-size: 15px; }
  .hero-actions { align-items: stretch; flex-direction: column; width: min(340px, 100%); margin-top: 24px; }
  .button { min-height: 48px; }
  .section { padding: 72px 0; }
  .section-heading { align-items: start; flex-direction: column; }
  .section-heading h2 { font-size: 49px; }
  .card-body { padding: 19px; }
  .footer-grid, .archive-grid, .clip-grid { grid-template-columns: 1fr; }
  .page-masthead { width: calc(100% - 12px); min-height: 360px; margin: 0 6px; padding: 80px 22px 55px; }
  .page-masthead h1 { font-size: 64px; }
  .masthead-watermark { font-size: 100px; }
  .article-page { width: calc(100vw - 28px); padding: 46px 0 80px; }
  .back-link { margin-bottom: 42px; }
  .article-header h1 { font-size: 55px; }
  .article-deck { font-size: 17px; }
  .article-hero { aspect-ratio: 4 / 3; margin: 40px 0 48px; }
  .article-body p { font-size: 16px; }
   .two-fields { grid-template-columns: 1fr; }
  .media-editor { grid-template-columns: 1fr; }
  .media-preview { max-width: 240px; }
  .studio-auth-card { padding: 36px 22px; }
  .studio-auth-card h1 { font-size: 48px; }
}

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

/* v1.5.1 — touch-first iPhone article editor */
.rich-body figure[data-width="40"] { width: 40%; max-width: 40%; }
.rich-body figure[data-width="50"] { width: 50%; max-width: 50%; }
.rich-body figure[data-width="60"] { width: 60%; max-width: 60%; }
.rich-body figure[data-width="70"] { width: 70%; max-width: 70%; }
.rich-body figure[data-width="80"] { width: 80%; max-width: 80%; }
.rich-body figure[data-width="90"] { width: 90%; max-width: 90%; }
.rich-body figure[data-width="100"] { width: 100%; max-width: 100%; }
.rich-body figure[data-align="center"] { float: none; margin-right: auto; margin-left: auto; }
.rich-body figure[data-align="left"] { margin-left: 0; }
.rich-body figure[data-align="right"] { margin-right: 0; margin-left: auto; }

/* v1.6 giveaways */
.giveaway-admin-intro { margin-bottom: 18px; }
.giveaway-admin-intro > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.giveaway-admin-list { display: grid; gap: 12px; }
.giveaway-admin-list > article { display: grid; grid-template-columns: 120px minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.giveaway-admin-image { display: grid; width: 120px; height: 82px; place-items: center; overflow: hidden; background: #03090e; color: var(--lime); font-family: var(--display); font-size: 34px; }
.giveaway-admin-image img { width: 100%; height: 100%; object-fit: cover; }
.giveaway-admin-copy { min-width: 0; }
.giveaway-admin-copy > div { display: flex; align-items: center; gap: 10px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.giveaway-admin-copy h2 { overflow: hidden; margin: 10px 0 5px; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.giveaway-admin-copy p { margin: 0; color: var(--muted); font-size: 10px; }
.giveaway-admin-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.giveaway-admin-actions .button { min-height: 38px; padding: 0 13px; font-size: 8px; }
.giveaway-admin-form { display: grid; gap: 14px; }
.giveaway-admin-form > .studio-panel { padding: 0; }
.giveaway-admin-form > .editor-details > summary { padding: 18px 20px; }
.giveaway-admin-form > .editor-details > .details-fields { padding: 0 20px 20px; }

.draw-verification code { overflow-wrap: anywhere; color: var(--cyan); font-size: 10px; }
.giveaway-stat-grid .admin-stat-card strong { font-size: clamp(28px,3.4vw,46px); }
.winner-admin-list { display: grid; gap: 12px; }
.winner-admin-list > article { display: grid; gap: 16px; padding: 18px; border: 1px solid var(--line); background: #050b10; }
.winner-admin-list h3 { margin: 10px 0 4px; font-size: 15px; }
.winner-admin-list p { margin: 0; color: var(--muted); font-size: 10px; }
.winner-private-uid { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--lime); background: rgba(211,255,37,.04); }
.winner-private-uid span { color: #b8c78e; font-size: 10px; }
.winner-private-uid code { color: var(--lime); font-size: 18px; overflow-wrap: anywhere; }
.giveaway-entry-table { display: grid; overflow-x: auto; }
.giveaway-entry-row { display: grid; min-width: 720px; grid-template-columns: 190px minmax(150px,1fr) 80px 100px 120px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); color: #b6c2c6; font-size: 10px; }
.giveaway-entry-row code { color: var(--cyan); }
.giveaway-entry-head { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.draw-verification { min-width: 0; }
.draw-verification > summary { cursor: pointer; color: var(--cyan); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.draw-verification > p { color: var(--muted); font-size: 11px; line-height: 1.7; }
.draw-verification > span { display: block; margin-top: 12px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.verification-table { display: grid; max-height: 420px; margin-top: 14px; overflow: auto; border: 1px solid var(--line); }
.verification-table > div { display: grid; min-width: 640px; grid-template-columns: 50px 190px 1fr; gap: 12px; padding: 9px 12px; border-bottom: 1px solid var(--line); }
.verification-table b { color: var(--lime); font-family: var(--mono); font-size: 9px; }

.giveaway-masthead .masthead-art { opacity: .5; }
.giveaway-archive { width: var(--page); margin: 0 auto; }
.giveaway-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.giveaway-card { overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.giveaway-card-image { position: relative; display: grid; min-height: 280px; place-items: center; overflow: hidden; background: #061018; color: var(--lime); font-family: var(--display); font-size: 80px; }
.giveaway-card-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.giveaway-card:hover .giveaway-card-image img { transform: scale(1.025); }
.giveaway-card-image .state-badge { position: absolute; top: 16px; left: 16px; z-index: 2; background: rgba(3,8,12,.9); }
.giveaway-card-copy { padding: 24px; }
.giveaway-card-copy h2 { margin: 14px 0 12px; font-family: var(--display); font-size: clamp(34px,4vw,50px); letter-spacing: .025em; line-height: .94; text-transform: uppercase; }
.giveaway-card-copy > p:not(.eyebrow) { min-height: 48px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.giveaway-card-copy footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--cyan); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.giveaway-page { width: min(1320px,calc(100vw - 24px)); margin: 0 auto; padding-bottom: 110px; }
.giveaway-hero { position: relative; min-height: 600px; display: flex; align-items: end; overflow: hidden; border: 1px solid var(--line); }
.giveaway-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.giveaway-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(2,5,8,.97) 5%,rgba(2,5,8,.68) 58%,rgba(2,5,8,.25)),linear-gradient(0deg,rgba(2,5,8,.98),transparent 60%); }
.giveaway-hero-copy { position: relative; z-index: 2; width: min(760px,100%); padding: 62px; }
.giveaway-hero-copy .back-link { display: inline-block; margin-bottom: 36px; }
.giveaway-hero-copy .state-badge { display: table; margin-bottom: 22px; }
.giveaway-hero-copy h1 { margin: 18px 0 22px; font-family: var(--display); font-size: clamp(66px,8vw,116px); letter-spacing: .025em; line-height: .82; text-transform: uppercase; }
.giveaway-hero-copy > p:last-child { max-width: 650px; margin: 0; color: #c6d0d3; font-size: 17px; line-height: 1.65; }
.giveaway-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 56px; width: min(1120px,calc(100% - 48px)); margin: 70px auto 0; align-items: start; }
.giveaway-layout > main { min-width: 0; }
.giveaway-description { padding-bottom: 46px; border-bottom: 1px solid var(--line); }
.giveaway-entry-panel,.giveaway-results,.giveaway-rules { margin-top: 46px; padding: 30px; border: 1px solid var(--line); background: var(--panel); }
.giveaway-entry-panel h2,.giveaway-results h2,.giveaway-rules h2 { margin: 12px 0 26px; font-family: var(--display); font-size: clamp(42px,5vw,62px); letter-spacing: .025em; line-height: .9; text-transform: uppercase; }
.giveaway-entry-form { display: grid; gap: 12px; }
.giveaway-entry-form .button { margin-top: 6px; }
.confirmed-ticket { display: grid; gap: 10px; padding: 22px; border: 1px solid rgba(211,255,37,.4); background: rgba(211,255,37,.035); }
.confirmed-ticket > span { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.confirmed-ticket > code { color: var(--lime); font-size: 22px; overflow-wrap: anywhere; }
.confirmed-ticket p { margin: 0; color: #aebbc0; font-size: 11px; }
.giveaway-facts { position: sticky; top: 92px; display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.giveaway-facts > div { display: grid; gap: 8px; padding: 18px; background: #061017; }
.giveaway-facts span { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.giveaway-facts strong { font-size: 13px; line-height: 1.5; }
.giveaway-facts .button { margin: 13px; }
.winner-public-list { display: grid; gap: 10px; }
.winner-public-list article { display: grid; gap: 5px; padding: 16px; border: 1px solid var(--line); background: #040a0f; }
.winner-public-list span,.winner-public-list small { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.winner-public-list strong { color: var(--lime); font-size: 15px; }
.giveaway-results .draw-verification { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.giveaway-rules dl { display: grid; margin: 0; }
.giveaway-rules dl > div { display: grid; grid-template-columns: 155px minmax(0,1fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.giveaway-rules dt { color: var(--cyan); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.giveaway-rules dd { margin: 0; color: #c4ced1; font-size: 12px; line-height: 1.7; }
.giveaway-rules dd code { overflow-wrap: anywhere; color: var(--cyan); }
.giveaway-extra-rules { margin-top: 28px; }
.giveaway-privacy-note { margin-top: 28px; padding: 18px; border-left: 2px solid var(--lime); background: rgba(211,255,37,.035); }
.giveaway-privacy-note strong { color: var(--lime); }
.giveaway-privacy-note p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.state-badge.active,.state-badge.drawn,.state-badge.fulfilled { border-color: rgba(211,255,37,.4); color: var(--lime); }
.state-badge.upcoming,.state-badge.selected,.state-badge.claimed,.state-badge.reserve { border-color: rgba(36,215,237,.4); color: var(--cyan); }
.state-badge.closed,.state-badge.withdrawn { color: #99a7ad; }
.state-badge.cancelled,.state-badge.invalid { color: var(--danger); }

.member-giveaway-page { width: var(--page); margin: 0 auto; }
.member-giveaway-list { display: grid; gap: 16px; }
.member-giveaway-list > article { padding: 24px; border: 1px solid var(--line); background: var(--panel); }
.member-giveaway-list > article > header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.member-giveaway-list h2 { margin: 12px 0 4px; font-family: var(--display); font-size: 36px; text-transform: uppercase; }
.member-giveaway-list header p { margin: 0; color: var(--muted); font-size: 11px; }
.member-giveaway-list header > code { color: var(--cyan); font-size: 11px; overflow-wrap: anywhere; }
.prize-claim-form { display: grid; gap: 14px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }

@media (max-width: 1000px), (max-device-width: 1000px) {
  .giveaway-layout { grid-template-columns: 1fr; }
  .giveaway-facts { position: static; grid-template-columns: repeat(2,1fr); }
  .giveaway-facts .button { grid-column: 1 / -1; }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .giveaway-admin-list > article { grid-template-columns: 74px minmax(0,1fr); gap: 12px; padding: 12px; }
  .giveaway-admin-image { width: 74px; height: 62px; }
  .giveaway-admin-actions { grid-column: 1 / -1; justify-content: stretch; }
  .giveaway-admin-actions .button { flex: 1; }
  .giveaway-stat-grid { grid-template-columns: 1fr; }
  .giveaway-grid { grid-template-columns: 1fr; }
  .giveaway-card-image { min-height: 220px; }
  .giveaway-page { width: calc(100vw - 12px); }
  .giveaway-hero { min-height: 570px; }
  .giveaway-hero-copy { padding: 28px 20px 38px; }
  .giveaway-hero-copy h1 { font-size: clamp(58px,18vw,82px); }
  .giveaway-hero-copy > p:last-child { font-size: 15px; }
  .giveaway-layout { width: calc(100% - 24px); gap: 28px; margin-top: 34px; }
  .giveaway-entry-panel,.giveaway-results,.giveaway-rules { padding: 20px; }
  .giveaway-rules dl > div { grid-template-columns: 1fr; gap: 7px; }
  .giveaway-facts { grid-template-columns: 1fr 1fr; }
  .member-giveaway-list > article { padding: 18px; }
  .member-giveaway-list > article > header { flex-direction: column; }
  .verification-table { max-width: 100%; }
}

/* v1.5.2 — compact single-document iPhone composer */
.mobile-document-composer,
.mobile-image-sheet { display: none; }

@media (max-width: 1000px) and (pointer: coarse), (max-device-width: 1000px) and (pointer: coarse) {
  .rich-editor-field > .rich-editor-toolbar,
  .rich-editor-field > .editor-image-inspector,
  .rich-editor-field > .editor-hint { display: none !important; }
  .rich-editor-field .mobile-document-composer { display: block; }
}

.rich-editor-field.mobile-composer-enabled > .rich-editor-toolbar,
.rich-editor-field.mobile-composer-enabled > .editor-image-inspector,
.rich-editor-field.mobile-composer-enabled > .editor-hint { display: none !important; }

.rich-editor-field.mobile-composer-enabled .mobile-document-composer { display: block; min-width: 0; }
.mobile-compose-toolbar { position: sticky; top: 70px; z-index: 32; display: flex; width: 100%; min-width: 0; align-items: stretch; gap: 4px; padding: 6px; overflow-x: auto; border: 1px solid var(--line-bright); background: rgba(5,12,17,.98); box-shadow: 0 12px 28px rgba(0,0,0,.34); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.mobile-compose-toolbar::-webkit-scrollbar { display: none; }
.mobile-compose-toolbar button,
.mobile-compose-toolbar summary,
.mobile-compose-images { min-width: 48px; min-height: 44px; display: inline-grid; flex: 0 0 auto; place-items: center; padding: 0 10px; border: 1px solid #1c3a48; background: #040a0f; color: #dbe3e5; cursor: pointer; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .02em; list-style: none; text-align: center; text-transform: uppercase; -webkit-tap-highlight-color: transparent; }
.mobile-compose-toolbar button:active,
.mobile-compose-toolbar summary:active,
.mobile-compose-images:active { border-color: var(--lime); color: var(--lime); }
.mobile-compose-images { position: relative; min-width: 67px; border-color: rgba(36,215,237,.52); color: var(--cyan); }
.mobile-compose-images input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mobile-compose-more { position: relative; flex: 0 0 auto; }
.mobile-compose-more summary::-webkit-details-marker { display: none; }
.mobile-compose-more[open] > summary { border-color: var(--cyan); color: var(--cyan); }
.mobile-compose-more > div { position: fixed; top: 126px; right: 12px; left: 12px; z-index: 40; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; padding: 8px; border: 1px solid var(--line-bright); background: #071119; box-shadow: 0 18px 48px rgba(0,0,0,.65); }
.mobile-compose-more > div button { min-width: 0; }
.mobile-compose-more [data-mobile-remove-section] { grid-column: 1 / -1; border-color: rgba(235,91,102,.42); color: #e88990; }
.mobile-compose-status { min-height: 30px; padding: 8px 10px; border-right: 1px solid var(--line); border-left: 1px solid var(--line); background: #03090d; color: #71858e; font-size: 10px; line-height: 1.4; }
.mobile-compose-status[data-tone="changed"] { color: var(--lime); }
.mobile-compose-status[data-tone="error"] { color: #ef8990; }
.mobile-compose-uploads { display: grid; gap: 4px; padding: 7px; border: 1px solid var(--line); background: #03080c; }
.mobile-compose-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 9px; align-items: center; padding: 8px 9px; border-left: 2px solid var(--cyan); background: #08131a; }
.mobile-compose-upload span { overflow: hidden; color: #aab8bd; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-compose-upload strong { max-width: 150px; color: var(--cyan); font-family: var(--mono); font-size: 8px; line-height: 1.35; text-align: right; }
.mobile-compose-upload button { min-height: 34px; grid-column: 1 / -1; border: 1px solid rgba(235,91,102,.42); background: transparent; color: #ef8990; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-compose-upload.is-complete { border-left-color: var(--lime); }
.mobile-compose-upload.is-complete strong { color: var(--lime); }
.mobile-compose-upload.has-error { border-left-color: #eb5b66; }
.mobile-compose-upload.has-error strong { color: #ef8990; white-space: normal; }

.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas { min-height: 62vh; padding: 20px 17px 160px; border-top: 0; background: #02070b; caret-color: var(--lime); color: #eef2f3; font-size: 17px; line-height: 1.68; -webkit-user-select: text; user-select: text; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas:focus { border-color: var(--cyan); box-shadow: inset 0 0 0 1px rgba(36,215,237,.11); }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas > * { max-width: 100%; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas p { margin: 0 0 20px; font-size: 17px; line-height: 1.68; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas h2 { margin: 34px 0 15px; font-size: 37px; line-height: .92; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas h3 { margin: 28px 0 12px; font-size: 27px; line-height: 1; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas figure { position: relative; clear: both; margin-top: 30px; margin-bottom: 30px; outline: 0; transition: width .08s linear, outline-color .14s ease; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas figure.is-selected { outline: 2px solid var(--lime); outline-offset: 5px; }
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas figure.is-pinching,
.rich-editor-field.mobile-composer-enabled > .rich-editor-canvas figure.is-mobile-dragging { z-index: 5; outline-color: var(--cyan); opacity: .82; }
.mobile-image-drag-grip { position: absolute; top: 8px; right: 8px; z-index: 8; min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--lime); background: rgba(4,11,15,.94); color: var(--lime); cursor: grab; font-family: var(--mono); font-size: 8px; font-weight: 800; text-transform: uppercase; touch-action: none; -webkit-user-select: none; user-select: none; }
.mobile-image-drag-grip span { color: var(--cyan); font-size: 15px; }

.mobile-composer-enabled .mobile-image-sheet:not([hidden]) { position: fixed; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); left: 10px; z-index: 90; display: grid; max-height: min(62vh,520px); gap: 10px; padding: 12px; overflow-y: auto; border: 1px solid var(--line-bright); background: rgba(5,13,18,.985); box-shadow: 0 22px 70px rgba(0,0,0,.78); }
.mobile-image-sheet > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.mobile-image-sheet > header > div { display: grid; gap: 3px; }
.mobile-image-sheet > header strong { color: var(--lime); font-size: 14px; }
.mobile-image-sheet > header span { color: #84969e; font-size: 10px; }
.mobile-image-sheet > header button { width: 40px; height: 40px; border: 1px solid var(--line); background: transparent; color: #b6c2c6; font-size: 20px; }
.mobile-image-width { display: grid; gap: 5px; color: #9cadb4; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-width > span { display: flex; justify-content: space-between; }
.mobile-image-width output { color: var(--lime); }
.mobile-image-width input { width: 100%; min-height: 34px; accent-color: var(--lime); }
.mobile-image-sheet-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.mobile-image-sheet-actions button { min-height: 40px; border: 1px solid var(--line); background: #03090d; color: #a1b0b6; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-sheet-actions button.is-active { border-color: var(--cyan); color: var(--cyan); }
.mobile-image-sheet-actions [data-mobile-image-up],
.mobile-image-sheet-actions [data-mobile-image-down] { grid-column: span 1; }
.mobile-image-sheet details { border: 1px solid var(--line); }
.mobile-image-sheet details summary { padding: 11px; color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-sheet details > div { display: grid; gap: 10px; padding: 0 11px 11px; }
.mobile-image-sheet details label { display: grid; gap: 5px; color: #84969e; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-sheet details input { width: 100%; min-width: 0; height: 42px; padding: 0 10px; border: 1px solid var(--line); background: #02070b; color: var(--text); font-size: 15px; }
.mobile-image-delete { min-height: 40px; border: 1px solid rgba(235,91,102,.42); background: transparent; color: #ef8990; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-tools-open .admin-content { padding-bottom: 360px; }

@media (max-width: 430px), (max-device-width: 430px) {
  .mobile-compose-toolbar { top: 64px; }
  .mobile-compose-more > div { top: 120px; }
  .rich-editor-field.mobile-composer-enabled > .rich-editor-canvas { padding-right: 15px; padding-left: 15px; }
  .mobile-image-sheet-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* v1.9 publishing, operations and privacy controls */
.state-badge.scheduled { border-color: rgba(36,215,237,.5); color: var(--cyan); }
.article-workflow-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.roundup-automation-card { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 24px; margin-bottom: 18px; padding: 22px; border: 1px solid var(--line-bright); background: linear-gradient(145deg,#08141d,#04090e); }
.roundup-automation-card.is-enabled { border-color: rgba(211,255,37,.34); }
.roundup-automation-copy h2 { margin: 8px 0; font-family: var(--display); font-size: clamp(34px,4vw,54px); line-height: .9; text-transform: uppercase; }
.roundup-automation-copy > p:last-of-type { max-width: 700px; color: var(--muted); }
.roundup-automation-copy dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 18px 0 0; }
.roundup-automation-copy dl > div { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--line); }
.roundup-automation-copy dt { color: var(--cyan); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.roundup-automation-copy dd { margin: 0; font-size: 9px; overflow-wrap: anywhere; }
.roundup-automation-copy dd.is-good { color: var(--lime); }
.roundup-automation-copy dd.is-warning { color: #f2a0a6; }
.roundup-automation-form { display: grid; align-content: start; gap: 12px; padding: 14px; border: 1px solid var(--line); background: #050b10; }
.member-email-alerts { margin-top: 24px; padding: 24px; border: 1px solid var(--line-bright); background: linear-gradient(145deg,#07121a,#050a0f); }
.member-email-alerts > p { color: var(--muted); }
.email-preference-form { display: grid; gap: 10px; margin: 18px 0; }
.private-preview-banner { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 22px; padding: 12px 14px; border: 1px solid var(--lime); background: rgba(211,255,37,.08); color: var(--lime); }
.private-preview-banner span { color: #b5c28f; }
.maintenance-body { min-height: 100vh; background: #03070b; }
.maintenance-screen { width: min(760px,calc(100vw - 32px)); min-height: 100vh; display: grid; align-content: center; gap: 28px; margin: auto; padding: 48px 0; }
.maintenance-card { position: relative; padding: clamp(28px,6vw,64px); overflow: hidden; border: 1px solid var(--line-bright); background: linear-gradient(145deg,#09141d,#03080c); }
.maintenance-card::after { position: absolute; right: -70px; bottom: -100px; color: rgba(36,215,237,.035); content: 'OFFLINE'; font-family: var(--display); font-size: 180px; transform: rotate(-8deg); }
.maintenance-card h1 { max-width: 650px; margin: 18px 0; font-family: var(--display); font-size: clamp(54px,10vw,96px); line-height: .85; text-transform: uppercase; }
.maintenance-card > p { max-width: 600px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.maintenance-countdown { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 26px 0; padding: 15px; border: 1px solid var(--line); }
.maintenance-countdown span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.maintenance-countdown strong { color: var(--lime); }

@media (max-width: 900px), (max-device-width: 900px) {
   .article-workflow-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .private-preview-banner { flex-direction: column; }
  .maintenance-countdown { align-items: flex-start; flex-direction: column; }
}

.mobile-block-editor { display: none; }
.rich-editor-field.mobile-editor-enabled > .rich-editor-toolbar,
.rich-editor-field.mobile-editor-enabled > .rich-editor-canvas,
.rich-editor-field.mobile-editor-enabled > .editor-image-inspector,
.rich-editor-field.mobile-editor-enabled > .editor-hint { display: none !important; }
.rich-editor-field.mobile-editor-enabled .mobile-block-editor { display: block; width: 100%; min-width: 0; color: var(--text); font-family: var(--sans); letter-spacing: normal; text-transform: none; }
.mobile-editor-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 10px; padding: 15px; border: 1px solid rgba(211,255,37,.28); background: rgba(211,255,37,.045); }
.mobile-editor-intro > div { display: grid; min-width: 0; gap: 5px; }
.mobile-editor-intro strong { color: var(--lime); font-size: 14px; }
.mobile-editor-intro span:not(.mobile-save-state) { color: #91a2aa; font-size: 11px; line-height: 1.55; }
.mobile-save-state { flex: none; padding: 6px 8px; border: 1px solid var(--line); color: #7f919a; font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.mobile-save-state.has-changes { border-color: rgba(36,215,237,.45); color: var(--cyan); }
.mobile-block-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-bottom: 12px; }
.mobile-block-actions button,
.mobile-image-picker,
.mobile-add-text { min-height: 46px; display: grid; place-items: center; padding: 0 7px; border: 1px solid var(--line-bright); background: #050b10; color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; -webkit-tap-highlight-color: transparent; }
.mobile-block-actions button:active,
.mobile-image-picker:active,
.mobile-add-text:active { border-color: var(--lime); color: var(--lime); }
.mobile-image-picker { position: relative; overflow: hidden; }
.mobile-image-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mobile-upload-queue { display: grid; gap: 6px; margin: 0 0 12px; padding: 10px; border: 1px solid var(--line); background: #03080d; }
.mobile-upload-item { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: 4px 10px; align-items: center; padding: 9px; border-left: 2px solid var(--cyan); background: #071017; }
.mobile-upload-item span { overflow: hidden; color: #b4c0c4; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-upload-item strong { max-width: 160px; color: var(--cyan); font-size: 8px; line-height: 1.35; text-align: right; }
.mobile-upload-item button { min-height: 36px; grid-column: 1 / -1; border: 1px solid rgba(255,93,103,.45); background: transparent; color: #ee8990; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-upload-item.is-complete { border-left-color: var(--lime); }
.mobile-upload-item.is-complete strong { color: var(--lime); }
.mobile-upload-item.has-error { border-left-color: var(--danger); }
.mobile-upload-item.has-error strong { color: #ef8990; white-space: normal; }
.mobile-block-list { display: grid; gap: 12px; }
.mobile-content-block { min-width: 0; overflow: hidden; border: 1px solid var(--line); background: #04090e; transition: border-color .15s ease, opacity .15s ease; }
.mobile-content-block.is-active { border-color: var(--cyan); box-shadow: 0 0 0 1px rgba(36,215,237,.13); }
.mobile-content-block.is-being-moved { z-index: 20; border-color: var(--lime); opacity: .74; box-shadow: 0 18px 50px rgba(0,0,0,.6); }
.mobile-block-header { display: grid; min-height: 48px; grid-template-columns: auto minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 5px 6px; border-bottom: 1px solid var(--line); background: #0a151d; }
.mobile-block-header strong { overflow: hidden; color: #a8b6bc; font-family: var(--mono); font-size: 8px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.mobile-block-header > div { display: flex; gap: 3px; }
.mobile-block-header button { min-width: 38px; min-height: 38px; border: 1px solid transparent; background: transparent; color: #7f939c; font-family: var(--mono); font-size: 14px; -webkit-tap-highlight-color: transparent; }
.mobile-block-header button:active { border-color: var(--cyan); color: var(--cyan); }
.mobile-block-header [data-block-delete] { color: #d8767e; }
.mobile-drag-handle { display: inline-flex; min-width: 70px !important; align-items: center; justify-content: center; gap: 6px; border-color: var(--line-bright) !important; color: var(--cyan) !important; cursor: grab; font-size: 12px !important; touch-action: none; user-select: none; -webkit-user-select: none; }
.mobile-drag-handle span { font-size: 7px; text-transform: uppercase; }
.mobile-block-body { min-width: 0; padding: 13px; overflow-x: auto; }
.mobile-editable { min-height: 78px; margin: 0 !important; padding: 14px; overflow-wrap: anywhere; border: 1px solid #18303c; background: #02070b; color: #eef2f3; caret-color: var(--lime); font-family: var(--sans) !important; font-size: 17px !important; font-weight: 400; letter-spacing: normal !important; line-height: 1.62 !important; text-transform: none !important; outline: 0; -webkit-user-select: text; user-select: text; }
.mobile-editable:focus { border-color: var(--lime); box-shadow: inset 0 0 0 1px rgba(211,255,37,.12); }
h2.mobile-editable, h3.mobile-editable, h4.mobile-editable { min-height: 66px; font-family: var(--display) !important; font-size: 31px !important; font-weight: 700; line-height: .95 !important; text-transform: uppercase !important; }
blockquote.mobile-editable { border-left: 3px solid var(--cyan); color: #b9c5c8; font-style: italic; }
ul.mobile-editable, ol.mobile-editable { padding-left: 38px; }
.mobile-block-body > hr { margin: 18px 0; border: 0; border-top: 1px solid var(--line-bright); }
.mobile-image-stage { position: relative; display: grid; min-height: 150px; place-items: center; padding: 12px; overflow: hidden; border: 1px solid var(--line-bright); background: repeating-conic-gradient(#071017 0 25%,#050b10 0 50%) 50% / 18px 18px; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.mobile-content-block.is-active .mobile-image-stage { border-color: var(--lime); }
.mobile-image-stage.is-pinching { border-color: var(--cyan); box-shadow: inset 0 0 0 2px rgba(36,215,237,.18); touch-action: none; }
.mobile-image-stage figure { max-width: 100%; margin-top: 0 !important; margin-bottom: 0 !important; transition: width .08s linear; }
.mobile-image-stage figure[data-align="left"] { justify-self: start; }
.mobile-image-stage figure[data-align="center"] { justify-self: center; }
.mobile-image-stage figure[data-align="right"] { justify-self: end; }
.mobile-image-stage img { display: block; width: 100%; height: auto; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.mobile-image-stage figcaption { padding: 8px 4px 0; color: #81949d; font-size: 9px; line-height: 1.45; text-align: center; }
.mobile-image-tools { display: grid; gap: 12px; margin-top: 9px; padding: 13px; border: 1px solid rgba(36,215,237,.42); background: #08141c; }
.mobile-image-tools label { display: grid; gap: 6px; color: #9aacb3; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-image-tools input[type="text"] { width: 100%; min-width: 0; height: 44px; padding: 0 11px; border: 1px solid var(--line); background: #02070b; color: var(--text); font-size: 15px; }
.mobile-image-tools input[type="range"] { width: 100%; min-height: 36px; accent-color: var(--lime); }
.mobile-image-size label { display: flex; align-items: center; justify-content: space-between; }
.mobile-image-size output { color: var(--lime); }
.mobile-align-buttons { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.mobile-align-buttons button { min-height: 42px; border: 1px solid var(--line); background: #03090e; color: #92a4ac; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.mobile-align-buttons button.is-active { border-color: var(--cyan); color: var(--cyan); }
.mobile-image-tools > p { margin: 0; color: #758992; font-size: 10px; line-height: 1.5; }
.mobile-editor-footer { display: grid; gap: 10px; margin-top: 12px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
.mobile-add-text { width: 100%; }
.mobile-editor-footer p { margin: 0; color: #71858e; font-size: 10px; line-height: 1.55; }
.mobile-block-moving { cursor: grabbing; }

@media (max-width: 430px), (max-device-width: 430px) {
  .mobile-block-header { grid-template-columns: auto minmax(0,1fr) auto; }
  .mobile-block-header strong { display: none; }
  .mobile-block-header > div { justify-self: end; }
  .mobile-block-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mobile-editor-intro { flex-direction: column; }
  .mobile-save-state { align-self: flex-start; }
}

/* v1.5 — calmer reading, focused publishing and grouped administration */
.article-page { padding-top: 48px; }
.article-page .back-link { margin-bottom: 44px; }
.article-header h1 { max-width: 1000px; font-size: clamp(58px, 7.4vw, 102px); overflow-wrap: anywhere; }
.article-header h1 .headline-line { display: block; }
.article-header h1 mark { padding: 0; background: transparent; color: var(--lime); }
.article-page.headline-style-compact .article-header h1 { max-width: 860px; font-size: clamp(48px, 6.1vw, 82px); }
.article-page.headline-style-cinematic .article-header h1 { max-width: 1050px; font-size: clamp(70px, 9vw, 126px); line-height: .82; }
.article-meta { flex-wrap: wrap; align-items: center; row-gap: 10px; }
.article-comment-jump { margin-left: auto; color: var(--cyan); }
.article-comment-jump:hover { color: var(--lime); }
.article-hero { margin: 44px 0 58px; }
.article-action-bar { position: relative; max-width: 700px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 38px auto 0; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-action-bar .article-reaction-actions { justify-content: flex-start; }
.article-action-bar form { margin: 0; }
.action-pill { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; border: 1px solid var(--line); background: #060d12; color: #9fb0b7; cursor: pointer; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.action-pill:hover, .action-pill.is-active, .share-menu[open] > summary { border-color: var(--cyan); color: var(--cyan); }
.action-pill.is-active { border-color: rgba(211,255,37,.5); color: var(--lime); }
.share-menu { position: relative; }
.share-menu > summary { list-style: none; }
.share-menu > summary::-webkit-details-marker { display: none; }
.share-menu-popover { position: absolute; right: 0; bottom: calc(100% + 9px); z-index: 20; width: 210px; display: grid; padding: 7px; border: 1px solid var(--line-bright); background: #071017; box-shadow: 0 18px 50px rgba(0,0,0,.55); }
.share-menu-popover a, .share-menu-popover button { min-height: 38px; padding: 0 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: #aebdc3; cursor: pointer; font-family: var(--mono); font-size: 9px; text-align: left; text-transform: uppercase; }
.share-menu-popover :last-child { border-bottom: 0; }
.share-menu-popover a:hover, .share-menu-popover button:hover { background: rgba(36,215,237,.07); color: var(--cyan); }
.comments-section { margin-top: 50px; padding-top: 44px; }
.related-articles { margin-top: 86px; padding-top: 36px; border-top: 1px solid var(--line); }
.related-articles .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rich-body::after { display: block; clear: both; content: ''; }
.rich-body figure[data-layout="wide"] { width: min(900px, calc(100vw - 48px)); max-width: none; margin-right: 50%; margin-left: 50%; transform: translateX(-50%); }
.rich-body figure[data-layout="left"], .rich-body figure[data-layout="right"] { width: min(44%, 340px); margin-top: 8px; }
.rich-body figure[data-layout="left"] { float: left; margin-right: 26px; }
.rich-body figure[data-layout="right"] { float: right; margin-left: 26px; }
.article-builder-bar { position: sticky; top: 70px; z-index: 25; display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 16px; border: 1px solid var(--line-bright); background: rgba(5,11,16,.97); box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.article-builder-bar > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.article-builder-bar .eyebrow { margin: 0; }
.article-builder-bar strong { font-size: 13px; }
.article-builder-actions { display: flex; align-items: center; gap: 8px; }
.article-editor-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 460px); gap: 20px; align-items: start; margin-top: 20px; }
.article-editor-fields { display: grid; gap: 16px; min-width: 0; }
 .editor-details summary small { color: var(--muted); font-weight: 400; }
.rich-editor-canvas.is-dragging { border-color: var(--lime); background: rgba(211,255,37,.04); }
.rich-editor-canvas figure { position: relative; cursor: pointer; }
.rich-editor-canvas figure.is-selected { outline: 2px solid var(--cyan); outline-offset: 4px; }
.editor-image-inspector { display: grid; grid-template-columns: minmax(150px,1fr) minmax(130px,1fr) 130px auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid var(--cyan); border-top: 0; background: #08141c; }
.editor-image-inspector > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.editor-image-inspector strong { font-size: 11px; }
.editor-image-inspector > div span { color: var(--muted); font-size: 9px; line-height: 1.4; }
.editor-image-inspector label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.editor-image-inspector input, .editor-image-inspector select { width: 100%; height: 38px; padding: 0 9px; border: 1px solid var(--line); background: #03090e; color: var(--text); }
.article-live-preview { position: sticky; top: 156px; min-width: 0; max-height: calc(100vh - 175px); padding: 8px; overflow: auto; border: 1px solid var(--line-bright); background: #02060a; box-shadow: 0 25px 70px rgba(0,0,0,.42); }
.article-live-preview.is-mobile { width: 360px; justify-self: end; }
.editor-recovery-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; padding: 14px 16px; border: 1px solid var(--lime); background: rgba(211,255,37,.08); }
.editor-recovery-banner > div { display: flex; flex-direction: column; gap: 3px; }
.editor-recovery-banner strong { color: var(--lime); font-size: 12px; }
.editor-recovery-banner span { color: #a9b7bc; font-size: 10px; }
.editor-recovery-banner > div:last-child { flex-direction: row; }
.editor-recovery-banner button { min-height: 36px; padding: 0 13px; border: 1px solid var(--line-bright); background: #040a0f; color: var(--cyan); cursor: pointer; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.editor-form [aria-invalid="true"] { border-color: #ff5d67 !important; box-shadow: 0 0 0 1px rgba(255,93,103,.35); }
.editor-form button[aria-busy="true"] { cursor: wait; opacity: .72; }
.preview-article.headline-style-compact h1 { font-size: 37px; }
.preview-article.headline-style-cinematic h1 { font-size: 56px; line-height: .8; }

@media (max-width: 1000px), (max-device-width: 1000px) {
  .article-editor-workspace { grid-template-columns: 1fr; }
  .article-live-preview { position: fixed; top: 148px; right: 12px; bottom: 12px; left: 12px; z-index: 80; width: auto !important; max-height: none; justify-self: stretch; }
  .article-preview-open { overflow: hidden; }
  .article-live-preview .preview-device-chrome { position: sticky; top: -8px; z-index: 4; min-height: 52px; padding: 8px 7px; border-bottom: 1px solid var(--line); background: rgba(2,6,10,.98); }
  .article-live-preview .preview-device-chrome i:last-of-type { display: none; }
  .article-builder-bar { top: 70px; }
  .editor-image-inspector { grid-template-columns: 1fr 1fr; }
  .editor-image-inspector > div { grid-column: 1 / -1; }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .article-page { width: calc(100vw - 28px); padding: 34px 0 74px; }
  .article-page .back-link { margin-bottom: 30px; }
  .article-header h1, .article-page.headline-style-cinematic .article-header h1 { font-size: clamp(46px, 15vw, 72px); line-height: .88; }
  .article-page.headline-style-compact .article-header h1 { font-size: clamp(40px, 12vw, 58px); }
  .article-deck { margin: 22px 0; font-size: 17px; }
  .article-meta { gap: 9px 16px; }
  .article-comment-jump { width: 100%; margin-left: 0; }
  .article-hero { margin: 32px 0 38px; }
  .article-layout { display: block; }
  .article-layout aside { display: none; }
  .article-body p { font-size: 16px; line-height: 1.78; }
  .rich-body figure[data-layout] { width: auto; max-width: 100%; float: none; margin: 28px 0; transform: none; }
  .article-action-bar { margin-top: 28px; }
  .share-menu-popover { position: fixed; right: 14px; bottom: 14px; left: 14px; width: auto; }
  .comments-section { margin-top: 36px; padding-top: 34px; }
  .comments-heading h2 { font-size: 42px; }
  .related-articles { margin-top: 58px; }
  .related-articles .archive-grid { grid-template-columns: 1fr; }
  .article-builder-bar { align-items: stretch; flex-direction: column; padding: 10px; }
  .article-builder-bar > div:first-child { display: none; }
  .article-builder-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .article-builder-actions .builder-save-state { grid-column: 1; grid-row: 2; align-self: center; padding-left: 2px; }
  .article-builder-actions .builder-save { grid-column: 2; grid-row: 1 / span 2; }
  .editor-recovery-banner { align-items: stretch; flex-direction: column; }
  .editor-recovery-banner > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .article-live-preview { top: 126px; }
  .rich-editor-toolbar { gap: 3px; padding: 6px; overflow-x: auto; flex-wrap: nowrap; }
  .rich-editor-toolbar button, .rich-editor-upload { min-width: 39px; padding: 0 8px; white-space: nowrap; }
  .rich-editor-canvas { min-height: 380px; padding: 16px; }
  .editor-image-inspector { grid-template-columns: 1fr; }
  .editor-image-inspector > div { grid-column: auto; }
}

@media (max-width: 430px), (max-device-width: 430px) {
  .article-action-bar { align-items: stretch; flex-direction: column; }
  .article-action-bar .article-reaction-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-action-bar .action-pill, .article-action-bar form .action-pill { width: 100%; }
  .share-menu > summary { width: 100%; }
}

/* Standalone cPanel CMS additions */
[hidden] { display: none !important; }
.main-nav a[aria-current="page"] { color: var(--lime); }
.main-nav a[aria-current="page"]::after { right: 0; left: 0; }
.article-body h2 { margin: 46px 0 18px; font-family: var(--display); font-size: 38px; line-height: 1; letter-spacing: .03em; text-transform: uppercase; }
.article-body ul { margin: 0 0 30px; padding-left: 22px; color: #c7d0d3; font-size: 18px; line-height: 1.75; }
.article-body li + li { margin-top: 9px; }
.article-body blockquote { margin: 38px 0; padding: 8px 0 8px 24px; border-left: 2px solid var(--lime); color: #d7e0e2; font-size: 21px; line-height: 1.7; }
.notice-stack { display: grid; gap: 10px; margin-bottom: 22px; }
.notice { width: 100%; padding: 13px 16px; border: 1px solid var(--line-bright); background: rgba(36, 215, 237, .07); color: #c9f8ff; font-size: 12px; line-height: 1.5; }
.notice-success { border-color: rgba(211, 255, 37, .36); background: rgba(211, 255, 37, .07); color: #e8ff91; }
.notice-error { border-color: rgba(255, 93, 103, .45); background: rgba(255, 93, 103, .08); color: #ffc2c6; }
.studio-auth-card .notice { margin-bottom: 16px; }
.plain-action { padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.plain-action:hover { color: var(--lime); }
.editor-hint { margin: 2px 0 0; color: #60737d; font-size: 10px; line-height: 1.6; }
.editor-hint code { color: var(--cyan); }
.studio-auth-card h1 { text-wrap: balance; }

/* Community pages */
.public-notices { position: relative; z-index: 10; width: var(--page); margin: 18px auto 0; }
.comments-section { max-width: 940px; margin: 100px auto 0; padding-top: 58px; border-top: 1px solid var(--line); }
.comments-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.comments-heading h2, .question-form-panel h2 { margin: 0; font-family: var(--display); font-size: clamp(42px, 5vw, 68px); letter-spacing: .03em; line-height: .95; text-transform: uppercase; }
.comments-heading > span { color: #718590; font-family: var(--mono); font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.comments-intro { max-width: 650px; margin: 18px 0 30px; color: var(--muted); line-height: 1.7; }
.comment-list { display: grid; gap: 12px; }
.comment-card { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--line); background: rgba(10, 20, 29, .72); }
.comment-avatar { display: grid; width: 46px; height: 46px; flex: none; place-items: center; border: 1px solid var(--line-bright); background: #071017; color: var(--lime); font-family: var(--mono); font-size: 11px; font-weight: 800; }
.comment-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.comment-meta strong { font-size: 13px; }
.comment-meta time { color: #657984; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.comment-card p { margin: 10px 0 0; color: #c5ced1; font-size: 14px; line-height: 1.75; }
.community-empty { margin-bottom: 0; }
.comment-composer { margin-top: 24px; padding: 24px; border: 1px solid var(--line-bright); background: linear-gradient(145deg, rgba(13, 29, 39, .92), rgba(6, 13, 19, .96)); }
.member-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.member-bar strong { color: var(--text); }
.member-bar form { display: inline-flex; }
.community-form { display: flex; flex-direction: column; gap: 16px; }
.community-form .button { width: max-content; }
.integration-pending { padding: 18px; border: 1px dashed var(--line-bright); color: var(--muted); }
.integration-pending strong { color: var(--text); }
.integration-pending p { margin: 7px 0 0; font-size: 12px; line-height: 1.7; }
.questions-masthead .masthead-art, .privacy-masthead .masthead-art { opacity: .5; }
.questions-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 54px; align-items: start; }
.question-form-panel { position: sticky; top: 30px; padding: 30px; border: 1px solid var(--line-bright); background: var(--panel); }
.question-form-panel h2 { margin-bottom: 28px; font-size: 48px; }
.member-identity { display: flex; flex-direction: column; padding: 14px; border: 1px solid var(--line); background: #050a0f; }
.member-identity strong { font-size: 13px; }
.member-identity span { color: var(--muted); font-size: 11px; }
.form-privacy-note { margin: -3px 0 0; color: #637680; font-size: 10px; line-height: 1.6; }
.answers-panel { min-width: 0; }
.answer-list { display: grid; gap: 18px; }
.answer-card { position: relative; padding: 30px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(12, 25, 36, .9), rgba(7, 13, 20, .96)); }
.answer-number { position: absolute; top: 18px; right: 18px; color: rgba(36, 215, 237, .28); font-family: var(--display); font-size: 38px; }
.answer-author { margin: 0 0 13px; color: var(--cyan); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.answer-card h3 { max-width: 85%; margin: 0 0 23px; font-family: var(--display); font-size: clamp(30px, 3.2vw, 46px); letter-spacing: .025em; line-height: 1; text-transform: uppercase; }
.answer-copy { padding-top: 20px; border-top: 1px solid var(--line); }
.answer-copy p { margin: 0 0 18px; color: #c5ced1; line-height: 1.75; }
.answer-copy h2 { margin: 28px 0 12px; font-family: var(--display); font-size: 28px; text-transform: uppercase; }
.answer-copy ul { color: #c5ced1; line-height: 1.7; }
.answer-copy blockquote { margin: 20px 0; padding-left: 18px; border-left: 2px solid var(--lime); color: #dce5e7; }
.legal-page { width: min(760px, calc(100vw - 40px)); margin: 0 auto; padding: 80px 0 120px; }

/* Multi-page admin */
.admin-toolbar { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; color: var(--muted); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.state-badge.featured { color: var(--cyan); }
.field select { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: #050a0f; color: var(--text); font-family: var(--sans); font-size: 14px; text-transform: none; color-scheme: dark; }
 .question-admin-list { display: grid; gap: 12px; }
 .question-admin-card { padding: 22px; border: 1px solid var(--line); background: var(--panel); }
.state-badge.pending { color: var(--cyan); }
.state-badge.approved { border-color: rgba(211, 255, 37, .3); color: var(--lime); }
.state-badge.rejected { color: #d58c91; }
.quiet-button.approve { color: var(--lime); }
.quiet-button.danger { color: var(--danger); }
.question-admin-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.question-admin-card { display: flex; flex-direction: column; align-items: flex-start; }
.question-admin-meta { display: flex; width: 100%; align-items: center; justify-content: space-between; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.question-admin-card h2 { margin: 22px 0 10px; font-family: var(--display); font-size: 32px; letter-spacing: .025em; line-height: 1; text-transform: uppercase; }
.question-admin-card > p { margin: 0 0 18px; color: var(--muted); font-size: 11px; }
.question-admin-card .button { min-height: 40px; margin-top: auto; padding: 0 16px; font-size: 9px; }

@media (max-width: 1000px), (max-device-width: 1000px) {
  .questions-layout { grid-template-columns: 1fr; }
  .question-form-panel { position: static; }
  .question-admin-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .main-nav { max-width: 100%; justify-content: flex-start; gap: 24px; overflow-x: auto; }
  .comments-heading { align-items: flex-start; flex-direction: column; }
  .comment-card { grid-template-columns: 38px 1fr; padding: 15px; }
  .comment-avatar { width: 38px; height: 38px; }
  .comment-meta { align-items: flex-start; flex-direction: column; gap: 2px; }
  .comment-composer { padding: 16px; }
  .community-form .button { width: 100%; }
  .questions-layout { gap: 34px; }
  .question-form-panel, .answer-card { padding: 20px; }
  .admin-toolbar { align-items: stretch; flex-direction: column; }
  .admin-toolbar .button { width: 100%; }
  .moderation-card > header .state-badge { grid-column: 2; width: max-content; }
}

@media (max-width: 480px), (max-device-width: 480px) {
   .question-admin-card { padding: 17px; }
}

/* v1.3 discovery, accounts and lightweight embeds */
.header-account { position: relative; display: flex; align-items: center; justify-self: end; gap: 10px; }
.header-sign-in,
.member-menu > summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid var(--line-bright);
  color: var(--cyan);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  list-style: none;
  text-transform: uppercase;
}
.member-menu > summary::-webkit-details-marker { display: none; }
.header-sign-in:hover, .member-menu > summary:hover { border-color: var(--lime); color: var(--lime); }
.member-menu-avatar { display: grid; width: 24px; height: 24px; place-items: center; background: var(--lime); color: #071016; font-size: 9px; }
.member-menu-popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; width: 250px; padding: 17px; border: 1px solid var(--line-bright); background: #071017; box-shadow: 0 24px 50px rgba(0,0,0,.45); }
.member-menu-popover strong, .member-menu-popover > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-menu-popover strong { font-size: 13px; }
.member-menu-popover > span { margin: 3px 0 14px; color: var(--muted); font-size: 10px; }
.member-menu-popover a, .member-menu-popover form { display: flex; min-height: 38px; align-items: center; border-top: 1px solid var(--line); }
.member-menu-popover a { color: var(--cyan); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.member-menu-popover .plain-action { color: var(--muted); }

.article-content-label { display: inline-flex; margin: 0 0 20px; padding: 7px 10px; border: 1px solid var(--line-bright); color: var(--cyan); font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-content-label.label-rumour { border-color: rgba(255, 183, 77, .5); background: rgba(255, 183, 77, .08); color: #ffd185; }
.article-source { margin-top: 42px !important; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px !important; }
.article-source a { color: var(--cyan); }
.article-actions { max-width: 940px; display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 80px auto 0; padding: 26px; border: 1px solid var(--line); background: rgba(8, 17, 25, .78); }
.article-actions .eyebrow { margin-bottom: 14px; }
.share-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.share-chip { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; border: 1px solid var(--line-bright); background: #071017; color: #aebcc2; cursor: pointer; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.share-chip:hover { border-color: var(--cyan); color: var(--cyan); }
.related-articles { max-width: 1100px; margin: 90px auto 0; }
.related-articles .archive-grid .content-card { grid-column: auto; }
.comment-login-prompt { padding: 19px; border: 1px dashed var(--line-bright); color: var(--muted); }
.comment-login-prompt strong { color: var(--text); }
.comment-login-prompt p { margin: 6px 0 0; font-size: 12px; }
.comment-login-prompt a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }
.tiktok-profile-shell { min-height: 0; overflow: visible; padding: 0; border-color: var(--line); background: transparent; }
.tiktok-consent-card { display: grid; min-height: 230px; grid-template-columns: 70px 1fr auto; align-items: center; gap: 24px; padding: 34px; background: radial-gradient(circle at 12% 20%, rgba(36,215,237,.11), transparent 18rem), var(--panel); }
.tiktok-consent-card .play-disc { position: static; transform: none; }
.tiktok-consent-card strong { display: block; font-family: var(--display); font-size: 32px; letter-spacing: .03em; text-transform: uppercase; }
.tiktok-consent-card p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }

.custom-page-body { width: min(900px, calc(100vw - 40px)); }
.custom-page-body .archive-grid { margin-top: 30px; }
.custom-page-body .archive-grid .content-card { grid-column: auto; }
.season-hero { position: relative; min-height: 680px; margin: 0 12px; overflow: hidden; border: 1px solid var(--line); isolation: isolate; }
.season-hero-art { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.season-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,6,10,.98), rgba(3,8,12,.78) 52%, rgba(3,7,10,.32)), linear-gradient(0deg, rgba(3,7,10,.9), transparent 60%); }
.season-hero-copy { width: min(720px, 80vw); padding: 120px 0 100px; margin-left: max(6vw, calc((100vw - 1280px) / 2)); }
.season-status { display: inline-flex; margin: 0 0 20px; padding: 8px 12px; border: 1px solid var(--lime); color: var(--lime); font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.season-hero h1 { max-width: 760px; margin: 0; font-family: var(--display); font-size: clamp(90px, 15vw, 210px); line-height: .75; text-transform: uppercase; }
.season-hero h1.hub-title-long { font-size: clamp(74px, 12vw, 170px); overflow-wrap: anywhere; }
.season-hero-copy > p:not(.eyebrow) { max-width: 640px; margin: 38px 0; color: #c2cdd0; font-size: 20px; line-height: 1.65; }
.season-watermark { position: absolute; right: 3vw; bottom: -50px; z-index: -1; color: rgba(36,215,237,.11); font-family: var(--display); font-size: 300px; line-height: 1; }
.season-content { padding-top: 78px; }
.season-intro-panel { max-width: 850px; padding: 34px; border-left: 2px solid var(--lime); background: rgba(10,20,29,.65); }
.season-intro-panel .article-body p { font-size: 16px; }
.season-articles-heading { margin-top: 90px; }
.archive-count { color: var(--muted); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.season-empty { padding: 54px; border: 1px dashed var(--line-bright); text-align: center; }
.season-empty strong { display: block; color: var(--lime); font-family: var(--display); font-size: 46px; text-transform: uppercase; }
.season-empty p { color: var(--muted); }
.question-answer-panel { max-width: 760px; margin: 70px auto 0; padding: 36px; border: 1px solid var(--line); background: var(--panel); }
.topic-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.topic-chips a { display: inline-flex; min-height: 36px; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.topic-chips a:hover { border-color: var(--cyan); color: var(--cyan); }
.topic-chips span { color: var(--lime); }
.question-share { max-width: 760px; margin: 20px auto 0; }
.answer-permalink { margin-top: 22px; }
.answer-card h3 a:hover { color: var(--lime); }

.member-dashboard { padding-top: 58px; }
.member-profile-card { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 18px; padding: 24px; border: 1px solid var(--line); background: var(--panel); }
.member-profile-card .comment-avatar { width: 58px; height: 58px; }
.member-profile-card strong, .member-profile-card span { display: block; }
.member-profile-card strong { font-size: 18px; }
.member-profile-card span { color: var(--muted); font-size: 11px; }
.member-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 12px; margin: 18px 0 70px; }
.member-stat-grid > div { padding: 20px; border: 1px solid var(--line); background: #08111a; }
.member-stat-grid strong { display: block; color: var(--cyan); font-family: var(--display); font-size: 46px; line-height: 1; }
.member-stat-grid span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.member-dashboard-section { margin-top: 70px; }
.member-activity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.member-activity-list { display: grid; gap: 10px; }
.member-activity-list article { display: grid; gap: 9px; padding: 18px; border: 1px solid var(--line); background: var(--panel); }
.member-activity-list strong { font-size: 13px; }
.member-activity-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }

.editor-details { border: 1px solid var(--line); background: rgba(4,9,13,.58); }
.editor-details summary { padding: 16px 18px; color: var(--lime); cursor: pointer; font-family: var(--mono); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.editor-details[open] summary { border-bottom: 1px solid var(--line); }
.details-fields { display: flex; flex-direction: column; gap: 16px; padding: 20px; }

.rich-editor-field { display: grid; gap: 0; }
.rich-editor-field > span { margin-bottom: 9px; }
.rich-editor-toolbar { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 5px; padding: 9px; border: 1px solid var(--line-bright); border-bottom: 0; background: #071018; box-shadow: 0 8px 24px rgba(0,0,0,.22); }
.rich-editor-toolbar button, .rich-editor-upload { display: inline-grid; min-width: 38px; min-height: 36px; place-items: center; padding: 0 10px; border: 1px solid var(--line); background: #04090e; color: var(--text); cursor: pointer; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.rich-editor-toolbar button:hover, .rich-editor-toolbar button:focus-visible, .rich-editor-upload:hover { border-color: var(--cyan); color: var(--cyan); }
.rich-editor-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.editor-toolbar-divider { width: 1px; margin: 3px 2px; background: var(--line); }
.rich-editor-canvas { min-height: 430px; padding: 28px; overflow-wrap: anywhere; border: 1px solid var(--line-bright); background: #03080d; color: var(--text); font-family: var(--sans); font-size: 16px; letter-spacing: normal; text-transform: none; outline: none; }
.rich-editor-canvas:focus { border-color: var(--cyan); box-shadow: inset 0 0 0 1px rgba(36,215,237,.16); }
.rich-editor-canvas:empty::before { color: var(--muted); content: 'Start writing here…'; pointer-events: none; }
.rich-editor-canvas p:first-child::first-letter { float: none; margin: 0; color: inherit; font: inherit; }
.rich-editor-input { display: none; }
.rich-body figure { max-width: 100%; margin: 34px 0; padding: 0; }
.rich-body figure img, .rich-body > img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; border: 1px solid var(--line); }
.rich-body figcaption { padding: 10px 0 0; color: var(--muted); font-family: var(--mono); font-size: 9px; line-height: 1.5; text-align: center; text-transform: uppercase; }
.rich-body table { display: block; width: 100%; margin: 28px 0; overflow-x: auto; border-collapse: collapse; }
.rich-body th, .rich-body td { min-width: 120px; padding: 12px; border: 1px solid var(--line); text-align: left; }
.rich-body th { color: var(--lime); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.rich-body pre { max-width: 100%; padding: 18px; overflow-x: auto; border: 1px solid var(--line); background: #02070a; color: #cce6ea; }
.rich-body a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }

.article-reaction-actions { display: flex; align-items: stretch; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.article-reaction-actions form { margin: 0; }
.reaction-count { display: inline-flex; min-height: 46px; align-items: center; padding: 0 18px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 10px; }

.guide-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.guides-hub { padding-top: 58px; }
.guide-category-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.guide-category-nav a, .guide-sortbar nav a { display: inline-flex; min-height: 38px; align-items: center; padding: 0 13px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.guide-category-nav a:hover, .guide-category-nav a[aria-current="page"], .guide-sortbar nav a:hover, .guide-sortbar nav a[aria-current="page"] { border-color: var(--lime); color: var(--lime); }
.guide-sortbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.guide-sortbar > span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.guide-sortbar nav { display: flex; flex-wrap: wrap; gap: 7px; }
.guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.guide-card { display: grid; min-width: 0; grid-template-columns: 210px minmax(0,1fr); border: 1px solid var(--line); background: var(--panel); transition: border-color .2s ease, transform .2s ease; }
.guide-card:hover { border-color: var(--cyan); transform: translateY(-2px); }
.guide-card-image { position: relative; min-height: 250px; overflow: hidden; background: #050a0f; }
.guide-card-image img { width: 100%; height: 100%; object-fit: cover; }
.guide-score { position: absolute; right: 10px; bottom: 10px; padding: 7px 9px; background: rgba(3,8,12,.9); color: var(--lime); font-family: var(--mono); font-size: 9px; }
.guide-card-copy { display: flex; min-width: 0; flex-direction: column; padding: 24px; }
.guide-card-copy .eyebrow { margin: 0 0 12px; }
.guide-card-copy h2 { margin: 0; font-family: var(--display); font-size: 36px; line-height: .98; text-transform: uppercase; overflow-wrap: anywhere; }
.guide-card-copy h2 a:hover { color: var(--lime); }
.guide-card-copy > p:not(.eyebrow) { display: -webkit-box; margin: 16px 0; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.guide-card-copy footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.guide-card-copy footer time { text-align: right; }
.guide-author-line { display: flex; align-items: center; gap: 13px; margin-top: 24px; }
.guide-author-line strong, .guide-author-line span { display: block; }
.guide-author-line strong { font-size: 13px; }
.guide-author-line span { margin-top: 3px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.guide-preview-notice { max-width: 1100px; margin: 24px auto 0; }
.guide-control-copy { margin: 7px 0 0; color: var(--muted); font-size: 11px; }
.guide-vote-panel { display: flex; align-items: stretch; gap: 8px; }
.guide-vote-panel form { margin: 0; }
.vote-button { display: grid; min-width: 104px; min-height: 72px; grid-template-columns: auto auto; align-items: center; justify-content: center; gap: 1px 8px; border: 1px solid var(--line); background: #050b10; color: var(--muted); cursor: pointer; font-family: var(--mono); }
.vote-button strong { color: var(--text); font-size: 18px; }
.vote-button span { grid-column: 1 / -1; font-size: 8px; text-transform: uppercase; }
.vote-button.up:hover, .vote-button.up.active { border-color: var(--lime); color: var(--lime); }
.vote-button.down:hover, .vote-button.down.active { border-color: #ef858d; color: #ef858d; }
.guide-share { max-width: 1100px; margin: 18px auto 0; padding: 22px; border: 1px solid var(--line); background: var(--panel); }

.compact-member-masthead { min-height: 360px; }
.guide-editor-section { max-width: 1180px; padding-top: 48px; }
.guide-editor-form { padding: 30px; border: 1px solid var(--line); background: var(--panel); }
.guide-submission-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 22px; border: 1px solid rgba(211,255,37,.28); background: rgba(211,255,37,.04); }
.guide-submission-controls form { margin: 0; }
.submission-hint { margin-top: 15px; }
.moderation-note { padding: 15px 18px; border: 1px solid rgba(255,183,77,.38); background: rgba(130,77,10,.1); }
.moderation-note strong { color: #ffd185; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.moderation-note p { margin: 7px 0 0; color: #ddd0b9; font-size: 11px; line-height: 1.6; }
.moderation-note.prominent { margin: 18px 0; }
.member-guide-list { padding-top: 58px; }
.member-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.member-guide-card { display: flex; min-width: 0; min-height: 310px; flex-direction: column; padding: 26px; border: 1px solid var(--line); background: var(--panel); }
.member-guide-card .eyebrow { margin: 18px 0 9px; }
.member-guide-card h2 { margin: 0; font-family: var(--display); font-size: 46px; line-height: .95; text-transform: uppercase; overflow-wrap: anywhere; }
.member-guide-card > div > p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.65; }
.member-guide-card footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.member-guide-card footer > div { display: flex; flex-wrap: wrap; gap: 7px; }

.guide-admin-toolbar { align-items: center; }
 .guide-category-admin { padding: 26px; }
.guide-review-header { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 30px; }
.guide-review-header h2 { margin: 12px 0; font-family: var(--display); font-size: clamp(48px,6vw,84px); line-height: .9; text-transform: uppercase; overflow-wrap: anywhere; }
.guide-review-header > div > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.guide-review-header dl { display: grid; gap: 7px; margin: 0; }
.guide-review-header dl div { padding: 12px; border: 1px solid var(--line); }
.guide-review-header dt, .guide-review-header dd { margin: 0; }
.guide-review-header dt { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.guide-review-header dd { margin-top: 5px; font-size: 11px; }
.guide-review-cover { display: block; width: 100%; max-height: 520px; margin: 28px 0; object-fit: cover; border: 1px solid var(--line); }
.guide-review-content { max-width: 820px; margin: 40px auto; padding: 30px; border: 1px solid var(--line); background: #03080d; }
.guide-moderation-form { display: grid; gap: 18px; margin-top: 32px; padding: 24px; border: 1px solid var(--line-bright); background: #050b10; }
.guide-moderation-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.guide-category-admin-list { display: grid; gap: 12px; margin-top: 22px; }
.guide-category-admin-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; padding: 20px; border: 1px solid var(--line); background: #050b10; }
.guide-category-admin-row > form:first-child { display: grid; gap: 14px; }
.member-menu-avatar, .comment-avatar, .profile-avatar { overflow: hidden; }
.member-menu-avatar img, .comment-avatar img, .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-menu-popover .member-setup-link { color: var(--lime); }
.comment-login-prompt .button { display: inline-flex; margin-top: 15px; color: #071016; text-decoration: none; }

.youtube-player-shell { position: relative; width: 100%; height: 100%; overflow: hidden; background: #020407; }
.youtube-player-shell > img, .youtube-player-shell > iframe { width: 100%; height: 100%; border: 0; object-fit: cover; }
.youtube-player-shell::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,4,7,.72), transparent 58%); content: ''; pointer-events: none; }
.youtube-player-shell[data-loaded="1"]::after { display: none; }
.youtube-play-button { position: absolute; left: 50%; bottom: 26px; z-index: 2; display: inline-flex; min-height: 50px; align-items: center; gap: 12px; padding: 0 20px; transform: translateX(-50%); border: 1px solid var(--lime); background: rgba(5,10,15,.92); color: var(--lime); cursor: pointer; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.youtube-play-button span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; }
.youtube-play-button:hover { background: var(--lime); color: #071016; }

.profile-avatar { display: grid; width: 68px; height: 68px; flex: none; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; background: linear-gradient(135deg, rgba(36,215,237,.16), rgba(211,255,37,.1)), #071017; color: var(--lime); font-family: var(--mono); font-size: 13px; font-weight: 800; }
.profile-avatar-large { width: 86px; height: 86px; font-size: 18px; }
.member-profile-copy .eyebrow { margin: 0 0 8px; }
.member-profile-copy > strong { font-family: var(--display); font-size: 34px; letter-spacing: .02em; text-transform: uppercase; }
.profile-privacy-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.profile-privacy-chips span { padding: 5px 8px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.member-profile-actions { display: flex; max-width: 270px; align-items: stretch; flex-direction: column; gap: 8px; }
.member-profile-actions .button { justify-content: center; }
.member-profile-actions form { text-align: right; }

.profile-editor-section { max-width: 1120px; }
.profile-security-note { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; padding: 20px 24px; border: 1px solid rgba(211,255,37,.25); background: rgba(211,255,37,.045); }
.profile-security-note strong { color: var(--lime); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.profile-security-note span { overflow: hidden; color: var(--text); font-size: 12px; text-align: right; text-overflow: ellipsis; }
.profile-security-note p { grid-column: 1 / -1; margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.profile-editor-form { margin-top: 18px; padding: 32px; border: 1px solid var(--line); background: var(--panel); }
.profile-form-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 34px; }
.profile-form-main { display: flex; min-width: 0; flex-direction: column; gap: 22px; }
.privacy-fieldset { display: grid; gap: 12px; min-width: 0; margin: 2px 0 0; padding: 20px; border: 1px solid var(--line); }
.privacy-fieldset legend { padding: 0 8px; color: var(--lime); font-family: var(--mono); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.avatar-editor { display: flex; align-items: center; flex-direction: column; gap: 15px; padding: 24px; border: 1px solid var(--line); background: #050b11; text-align: center; }
.avatar-editor .eyebrow { align-self: stretch; }
.profile-avatar-editor { width: 150px; height: 150px; font-size: 32px; }
.avatar-upload-button { width: 100%; justify-content: center; }
.avatar-editor > small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.compact-check { width: 100%; margin-top: 5px; text-align: left; }
.profile-form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }

.server-filter { display: flex; align-items: end; gap: 12px; margin-bottom: 60px; padding: 22px; border: 1px solid var(--line); background: var(--panel); }
.server-filter .field { width: min(400px,100%); }
.server-filter .text-link { margin-bottom: 13px; }
.player-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.player-card { display: grid; grid-template-columns: 68px minmax(0,1fr) auto; align-items: center; gap: 16px; min-height: 124px; padding: 22px; border: 1px solid var(--line); background: var(--panel); color: var(--text); }
.player-card:hover { border-color: var(--cyan); transform: translateY(-2px); }
.player-card-copy { min-width: 0; }
.player-card-copy strong, .player-card-copy span, .player-card-copy small { display: block; }
.player-card-copy strong { overflow: hidden; font-family: var(--display); font-size: 25px; letter-spacing: .02em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.player-card-copy span { margin-top: 2px; color: var(--cyan); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.player-card-copy small { display: -webkit-box; margin-top: 8px; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.public-player-identity { position: relative; z-index: 2; display: flex; align-items: center; gap: 28px; }
.profile-avatar-hero { width: 140px; height: 140px; border-width: 2px; font-size: 34px; }
.public-player-identity h1 { margin-top: 7px; }
.public-profile-grid { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 24px; }
.public-profile-panel, .public-profile-stats { padding: 34px; border: 1px solid var(--line); background: var(--panel); }
.public-profile-panel h2 { margin: 10px 0 20px; font-family: var(--display); font-size: 48px; text-transform: uppercase; }
.public-profile-panel > p:not(.eyebrow) { color: #bcc8cc; line-height: 1.75; }
.public-profile-stats { display: grid; gap: 12px; }
.public-profile-stats div { padding: 16px; border: 1px solid var(--line); }
.public-profile-stats strong, .public-profile-stats span { display: block; }
.public-profile-stats strong { color: var(--cyan); font-family: var(--display); font-size: 36px; text-transform: uppercase; }
.public-profile-stats span { color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.public-profile-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.member-admin-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.member-search-form { display: flex; align-items: end; gap: 9px; }
.member-search-form .field { width: min(330px,42vw); }
.member-search-form .field span { font-size: 8px; }
.state-badge.blocked { border-color: rgba(255,183,77,.35); color: #ffd185; }
.state-badge.deleted { border-color: rgba(213,140,145,.35); color: #d58c91; }
.member-delete-x { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(213,84,94,.55); background: rgba(116,24,31,.12); color: #ef858d; cursor: pointer; font-size: 22px; line-height: 1; }
.member-delete-x:hover { background: #b82f3a; color: #fff; }
.profile-setup-masthead h1 { font-size: clamp(48px, 7vw, 96px); overflow-wrap: anywhere; }
.compact-heading h2 { overflow-wrap: anywhere; }

.notification-count { display: inline-grid; min-width: 20px; height: 20px; place-items: center; margin-left: 5px; border-radius: 50%; background: var(--lime); color: #061016; font: 800 9px var(--mono); }
.header-search-link { display: inline-flex; width: 40px; height: 40px; flex: none; align-items: center; justify-content: center; margin: 0; border: 1px solid var(--line-bright); color: var(--cyan); line-height: 1; }
.header-search-link svg { width: 19px; height: 19px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; vector-effect: non-scaling-stroke; }
.header-account > .header-sign-in { height: 40px; min-height: 40px; }
.maintenance-owner-banner { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 11px 20px; padding: 9px 18px; border-bottom: 1px solid rgba(211,255,37,.32); background: #141b0b; color: #bdc7c2; font-size: 10px; line-height: 1.4; }
.maintenance-owner-banner strong { color: var(--lime); }
.maintenance-owner-banner a { color: var(--cyan); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.reputation-panel { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); gap: 28px; margin-top: 24px; padding: 28px; border: 1px solid var(--line-bright); background: linear-gradient(135deg,rgba(36,215,237,.06),rgba(211,255,37,.03)),var(--panel); }
.reputation-panel h2 { margin: 6px 0; font: 52px/.95 var(--display); text-transform: uppercase; }
.reputation-panel p { color: var(--muted); }
.reputation-panel p strong { color: var(--lime); }
.reputation-track { height: 12px; margin-top: 18px; overflow: hidden; border: 1px solid var(--line); background: #02070a; }
.reputation-track i { display: block; height: 100%; background: linear-gradient(90deg,var(--cyan),var(--lime)); }
.badge-grid { display: flex; align-content: flex-start; flex-wrap: wrap; gap: 9px; }
.member-badge { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 7px 11px; border: 1px solid var(--line); background: #050b10; color: var(--muted); font: 800 9px var(--mono); text-transform: uppercase; }
.member-badge b { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--lime); color: var(--lime); }
.guide-status-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.guide-version,.guide-freshness { padding: 7px 10px; border: 1px solid var(--line); color: var(--muted); font: 800 8px var(--mono); text-transform: uppercase; }
.guide-freshness { border-color: rgba(211,255,37,.35); color: var(--lime); }
.guide-freshness.stale { border-color: rgba(255,183,77,.45); color: #ffd185; }
.guide-changelog,.guide-community-tools { max-width: 1100px; margin: 18px auto 0; padding: 24px; border: 1px solid var(--line); background: var(--panel); }
.guide-community-tools { display: grid; gap: 20px; }
.guide-community-tools h2 { margin: 6px 0 0; font: 42px/1 var(--display); text-transform: uppercase; }
.guide-follow-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.community-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.community-tool-grid details { border: 1px solid var(--line); background: #03080d; }
.community-tool-grid summary { padding: 16px; color: var(--cyan); cursor: pointer; font: 800 9px var(--mono); text-transform: uppercase; }
.community-tool-grid form { display: grid; gap: 12px; padding: 0 16px 16px; }
.site-search-form { display: grid; grid-template-columns: minmax(0,1fr) 220px auto; align-items: end; gap: 12px; padding: 24px; border: 1px solid var(--line-bright); background: var(--panel); }
.search-result-list { display: grid; gap: 12px; }
.search-result-list article { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 22px; padding: 18px; border: 1px solid var(--line); background: var(--panel); }
.search-result-list img { width: 170px; height: 130px; object-fit: cover; }
.search-result-list h3 { margin: 10px 0 5px; font: 34px/1 var(--display); text-transform: uppercase; }
.search-result-list p,.search-result-list small { color: var(--muted); }
.discovery-section { display: grid; gap: 42px; }
.contributor-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.contributor-grid > a { display: grid; justify-items: center; gap: 10px; min-width: 0; padding: 22px 14px; border: 1px solid var(--line); background: var(--panel); text-align: center; }
.contributor-grid > a:hover { border-color: var(--cyan); }
.contributor-grid strong { overflow: hidden; max-width: 100%; font: 24px var(--display); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.contributor-grid small { color: var(--muted); font: 8px var(--mono); text-transform: uppercase; }
.server-chip-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.server-chip-grid a { display: grid; gap: 5px; padding: 20px; border: 1px solid var(--line); background: var(--panel); }
.server-chip-grid a:hover { border-color: var(--lime); }
.server-chip-grid strong { color: var(--text); font: 26px var(--display); text-transform: uppercase; }
.server-chip-grid span { color: var(--muted); font: 8px var(--mono); text-transform: uppercase; }
.notification-centre { max-width: 980px; }
.notification-list { display: grid; gap: 8px; }
.notification-card { margin: 0; }
.notification-card button { display: grid; width: 100%; grid-template-columns: 22px minmax(0,1fr) auto; gap: 14px; padding: 20px; border: 1px solid var(--line); background: var(--panel); color: var(--text); cursor: pointer; text-align: left; }
.notification-card.unread button { border-color: rgba(211,255,37,.35); background: rgba(211,255,37,.035); }
.notification-symbol { color: var(--lime); }
.notification-card strong,.notification-card small,.notification-card time { display: block; }
.notification-card small { margin-top: 5px; color: var(--muted); }
.notification-card time { margin-top: 8px; color: var(--cyan); font: 8px var(--mono); text-transform: uppercase; }
.guide-feature-form { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding: 18px; border: 1px solid var(--line); }

@media (max-width: 1100px), (max-device-width: 1100px) {
  .header-inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; }
  .main-nav { gap: 22px; overflow-x: auto; scrollbar-width: thin; }
  .main-nav a { white-space: nowrap; }
  .player-card-grid { grid-template-columns: 1fr 1fr; }
  .youtube-clip-card { grid-column: auto; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { grid-template-columns: 240px minmax(0,1fr); }
  .contributor-grid,.server-chip-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px), (max-device-width: 760px) {
  .site-header { height: 122px; }
  .header-inner { width: calc(100vw - 28px); grid-template-columns: 1fr auto; grid-template-rows: 62px 60px; gap: 0 12px; }
  .header-inner .wordmark { font-size: 16px; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; gap: 24px; border-top: 1px solid rgba(74,115,133,.25); }
  .main-nav a { height: 59px; font-size: 10px; }
  .header-account { grid-column: 2; grid-row: 1; }
  .member-menu > summary > span:last-child { display: none; }
  .header-sign-in { min-height: 34px; padding: 0 10px; font-size: 9px; }
  .header-account > .header-sign-in { height: 36px; min-height: 36px; }
  .header-search-link { width: 36px; height: 36px; }
  .maintenance-owner-banner { align-items: flex-start; flex-direction: column; gap: 3px; }
  .article-actions { align-items: stretch; flex-direction: column; padding: 20px; }
   .tiktok-consent-card { display: flex; align-items: flex-start; flex-direction: column; padding: 24px; }
  .tiktok-consent-card .button { width: 100%; }
  .season-hero { min-height: 620px; }
  .season-hero-copy { width: auto; padding: 90px 24px 80px; margin: 0; }
  .season-hero h1 { font-size: clamp(84px, 30vw, 140px); }
  .season-hero h1.hub-title-long { font-size: clamp(58px, 18vw, 76px); }
  .profile-setup-masthead h1 { font-size: 44px; }
  .season-watermark { font-size: 190px; }
  .member-profile-card { grid-template-columns: 48px 1fr; }
  .member-profile-card form { grid-column: 1 / -1; }
  .member-profile-card .button { width: 100%; }
  .member-stat-grid { grid-template-columns: 1fr 1fr; }
  .member-activity-grid { grid-template-columns: 1fr; gap: 0; }
  .member-profile-actions { grid-column: 1 / -1; width: 100%; max-width: none; }
  .profile-form-grid, .public-profile-grid { grid-template-columns: 1fr; }
  .avatar-editor { grid-row: 1; }
  .profile-avatar-editor { width: 120px; height: 120px; }
  .player-card-grid { grid-template-columns: 1fr; }
  .public-player-identity { align-items: flex-start; flex-direction: column; gap: 18px; }
  .profile-avatar-hero { width: 104px; height: 104px; }
  .member-admin-toolbar, .member-search-form { align-items: stretch; flex-direction: column; }
  .member-search-form .field { width: 100%; }
  .guide-sortbar, .member-guide-card footer, .guide-review-header { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .guide-card { grid-template-columns: 150px minmax(0,1fr); }
  .guide-card-image { min-height: 230px; }
  .guide-card-copy { padding: 18px; }
  .guide-card-copy h2 { font-size: 30px; }
  .member-guide-grid { grid-template-columns: 1fr; }
  .guide-editor-form { padding: 20px; }
  .rich-editor-toolbar { position: static; }
  .rich-editor-canvas { min-height: 360px; padding: 20px; }
  .guide-submission-controls { align-items: stretch; flex-direction: column; }
  .guide-vote-panel { width: 100%; }
  .guide-vote-panel form, .vote-button { flex: 1; }
  .reputation-panel,.community-tool-grid { grid-template-columns: 1fr; }
  .site-search-form { grid-template-columns: 1fr; }
  .search-result-list article { grid-template-columns: 1fr; }
  .search-result-list img { width: 100%; height: 190px; }
  .guide-feature-form { align-items: stretch; flex-direction: column; }
}

@media (max-width: 520px), (max-device-width: 520px) {
  .share-chip { flex: 1 1 calc(50% - 8px); justify-content: center; }
  .season-hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .season-intro-panel { padding: 22px; }
  .member-stat-grid { gap: 8px; }
  .member-stat-grid > div { padding: 15px; }
  .profile-editor-form { padding: 20px; }
  .profile-security-note { grid-template-columns: 1fr; }
  .profile-security-note span { text-align: left; }
  .server-filter { align-items: stretch; flex-direction: column; }
  .server-filter .button { width: 100%; }
  .admin-member-card > header .state-badge { grid-column: 2; width: max-content; }
  .guide-card { grid-template-columns: 1fr; }
  .guide-card-image { min-height: 210px; }
  .guide-card-copy footer { align-items: flex-start; flex-direction: column; }
  .guide-sortbar nav, .guide-sortbar nav a { width: 100%; }
  .guide-sortbar nav a { justify-content: center; }
  .guide-hero-actions .button, .guide-submission-controls .button { width: 100%; }
  .article-reaction-actions { width: 100%; justify-content: stretch; }
  .article-reaction-actions form, .article-reaction-actions .button { flex: 1; }
  .guide-category-admin-row { grid-template-columns: 1fr; }
  .guide-category-admin-row > form:last-child { text-align: right; }
  .contributor-grid,.server-chip-grid { grid-template-columns: 1fr; }
  .reputation-panel { padding: 20px; }
  .reputation-panel h2 { font-size: 40px; }
  .guide-follow-actions,.guide-follow-actions form,.guide-follow-actions .button { width: 100%; }
}

/* v1.5 final responsive safeguards */
.article-editor-fields > *,
.article-editor-fields .field,
.article-editor-fields .two-fields,
.article-editor-fields .rich-editor,
.article-editor-fields .rich-editor-field,
.article-editor-fields .rich-editor-toolbar,
.article-editor-fields .rich-editor-canvas {
  min-width: 0;
  max-width: 100%;
}

.article-editor-fields .rich-editor-toolbar {
  overflow-x: auto;
}

.article-editor-fields .rich-editor-canvas figure[data-layout="wide"] {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  transform: none;
}

.article-editor-fields input,
.article-editor-fields textarea,
.article-editor-fields select {
  min-width: 0;
  max-width: 100%;
}

.article-header h1 .headline-line {
  overflow-wrap: normal;
  word-break: normal;
}

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

/* Keep touch-resized figures responsive after the legacy layout rules above. */
.rich-body figure[data-width="40"] { width: 40%; max-width: 40%; }
.rich-body figure[data-width="50"] { width: 50%; max-width: 50%; }
.rich-body figure[data-width="60"] { width: 60%; max-width: 60%; }
.rich-body figure[data-width="70"] { width: 70%; max-width: 70%; }
.rich-body figure[data-width="80"] { width: 80%; max-width: 80%; }
.rich-body figure[data-width="90"] { width: 90%; max-width: 90%; }
.rich-body figure[data-width="100"] { width: 100%; max-width: 100%; }
.rich-body figure[data-align="center"] { float: none; margin-right: auto; margin-left: auto; }
.rich-body figure[data-align="left"] { margin-left: 0; }
.rich-body figure[data-align="right"] { margin-right: 0; margin-left: auto; }

/* v1.6 final cascade guard — must remain the final admin rules in this file. */

/* v1.7 Community Pulse, member command centre and poll management. */
.community-pulse-section { padding-top: 38px; }
.community-pulse-panel {
  overflow: hidden;
  border: 1px solid var(--line-bright);
  background:
    linear-gradient(120deg, rgba(20, 215, 237, .06), transparent 42%),
    #071019;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .24);
}
.community-pulse-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  padding: 26px 30px;
  border-bottom: 1px solid var(--line);
}
.community-pulse-heading .eyebrow { margin: 0 0 8px; }
.community-pulse-heading h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(36px, 5vw, 60px);
  letter-spacing: .02em;
  line-height: .9;
  text-transform: uppercase;
}
.community-pulse-heading time { display: grid; justify-items: end; gap: 3px; }
.community-pulse-heading time span,
.community-pulse-heading time strong {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.community-pulse-heading time span { color: var(--muted); }
.community-pulse-heading time strong { color: var(--lime); font-size: 11px; }
.community-pulse-body { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.community-pulse-question { min-width: 0; padding: 34px 30px; border-right: 1px solid var(--line); }
.pulse-signal {
  display: grid;
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  place-items: center;
  border: 1px solid var(--cyan);
  color: var(--cyan);
  font-family: var(--mono);
  font-size: 18px;
}
.community-pulse-question h3 {
  max-width: 660px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: .01em;
  line-height: .96;
  text-transform: uppercase;
}
.community-pulse-question > p:not(.eyebrow) { max-width: 620px; margin: 18px 0 0; color: #b7c5ca; line-height: 1.7; }
.community-pulse-question > small { display: block; margin-top: 24px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.community-pulse-vote { display: grid; min-width: 0; align-content: center; padding: 30px; }
.community-pulse-vote form { display: grid; gap: 18px; }
.poll-choice-list { display: grid; gap: 9px; }
.poll-choice { position: relative; display: block; cursor: pointer; }
.poll-choice input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.poll-choice > span {
  position: relative;
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  overflow: hidden;
  padding: 14px 16px;
  border: 1px solid var(--line);
  background: rgba(2, 8, 12, .72);
  transition: border-color .16s ease, background .16s ease;
}
.poll-choice:hover > span,
.poll-choice input:focus-visible + span { border-color: var(--cyan); }
.poll-choice.selected > span,
.poll-choice input:checked + span { border-color: var(--lime); background: rgba(211, 255, 37, .07); }
.poll-choice b,
.poll-choice small { position: relative; z-index: 1; }
.poll-choice b { font-size: 14px; font-weight: 700; }
.poll-choice small { color: var(--lime); font-family: var(--mono); font-size: 10px; }
.poll-choice i { position: absolute; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--lime)); }
.community-pulse-vote .button { justify-self: start; }
.pulse-sign-in { display: grid; gap: 20px; }
.pulse-sign-in p { max-width: 520px; margin: 0; color: #b7c5ca; line-height: 1.7; }
.pulse-sign-in .button { justify-self: start; }

.member-command-page { width: var(--page); margin: 0 auto; padding: 54px 0 100px; }
.member-command-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px solid var(--line-bright);
  background: linear-gradient(120deg, rgba(36, 215, 237, .07), transparent 45%), #071019;
}
.member-command-identity { min-width: 0; }
.member-command-identity .eyebrow { margin: 0 0 6px; }
.member-command-identity h1 { margin: 0; font-family: var(--display); font-size: clamp(40px, 5vw, 66px); letter-spacing: .02em; line-height: .9; text-transform: uppercase; }
.member-command-identity > p:not(.eyebrow) { margin: 11px 0 0; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.member-command-actions { display: grid; gap: 8px; justify-items: stretch; }
.member-command-actions .button { min-width: 156px; }
.member-command-actions form { text-align: center; }
.member-command-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; margin-top: 22px; align-items: start; }
.member-command-layout > main { display: grid; min-width: 0; gap: 22px; }
.command-panel,
.command-reputation-card,
.command-notification-card,
.member-library-hub { border: 1px solid var(--line); background: rgba(7, 15, 23, .88); }
.command-panel { min-width: 0; }
.command-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.command-panel-heading .eyebrow { margin: 0 0 6px; }
.command-panel-heading h2 { margin: 0; font-family: var(--display); font-size: 36px; line-height: .9; text-transform: uppercase; }
.command-panel-heading > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line-bright); color: var(--lime); font-family: var(--mono); font-size: 11px; }
.command-panel-heading > p { margin: 0; color: var(--muted); font-size: 12px; }
.next-action-list { display: grid; }
.next-action {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  transition: background .16s ease, border-color .16s ease;
}
.next-action:last-child { border-bottom: 0; }
.next-action:hover { background: rgba(36, 215, 237, .05); }
.next-action.priority { border-left: 3px solid var(--lime); }
.next-action.complete { border-left: 3px solid var(--cyan); }
.next-action > i { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line-bright); color: var(--cyan); font-style: normal; }
.next-action > span { display: grid; min-width: 0; gap: 2px; }
.next-action strong { font-size: 13px; }
.next-action small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.next-action > b { color: var(--lime); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.dashboard-feed-list { display: grid; }
.dashboard-feed-list article { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 17px; min-width: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.dashboard-feed-list article:last-child { border-bottom: 0; }
.dashboard-feed-image { height: 92px; overflow: hidden; border: 1px solid var(--line); background: #02070a; }
.dashboard-feed-image img { width: 100%; height: 100%; object-fit: cover; }
.dashboard-feed-list article > div { min-width: 0; }
.dashboard-feed-list article > div > span { color: var(--cyan); font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.dashboard-feed-list h3 { margin: 6px 0; font-size: 17px; line-height: 1.25; }
.dashboard-feed-list h3 a:hover { color: var(--lime); }
.dashboard-feed-list p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.member-command-sidebar { display: grid; min-width: 0; gap: 16px; }
.command-reputation-card { padding: 22px; }
.command-reputation-card .eyebrow { margin: 0 0 8px; }
.command-reputation-card h2 { margin: 0; font-family: var(--display); font-size: 40px; line-height: 1; text-transform: uppercase; }
.command-reputation-card > strong { display: block; margin-top: 7px; color: var(--lime); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.command-reputation-card > small { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; }
.compact-badge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 18px; }
.compact-badge-grid > span { display: grid; min-width: 0; gap: 4px; padding: 9px; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.compact-badge-grid b { color: var(--cyan); font-size: 15px; }
.compact-badge-grid > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 10px; }
.command-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); background: rgba(7, 15, 23, .88); }
.command-stat-grid a { display: grid; gap: 2px; padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.command-stat-grid a:nth-child(2n) { border-right: 0; }
.command-stat-grid a:nth-last-child(-n+2) { border-bottom: 0; }
.command-stat-grid strong { font-family: var(--display); font-size: 27px; line-height: 1; }
.command-stat-grid span { color: var(--muted); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.command-stat-grid a:hover strong { color: var(--lime); }
.command-notification-card { padding: 18px; }
.command-notification-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.command-notification-card h2 { margin: 0; font-size: 14px; }
.command-notification-card header a { color: var(--cyan); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.command-notification-card > a { display: grid; grid-template-columns: 7px minmax(0, 1fr); gap: 9px; padding: 9px 0; border-top: 1px solid var(--line); }
.command-notification-card > a > i { width: 6px; height: 6px; margin-top: 5px; border-radius: 50%; background: var(--line-bright); }
.command-notification-card > a > i.unread { background: var(--lime); box-shadow: 0 0 9px rgba(211, 255, 37, .55); }
.command-notification-card > a span { display: grid; min-width: 0; }
.command-notification-card > a strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.command-notification-card > a small { color: var(--muted); font-size: 7px; }
.command-notification-card > p { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.member-library-hub { margin-top: 22px; }
.member-library-hub > details { border-bottom: 1px solid var(--line); }
.member-library-hub > details:last-child { border-bottom: 0; }
.member-library-hub summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 24px; cursor: pointer; list-style: none; }
.member-library-hub summary::-webkit-details-marker { display: none; }
.member-library-hub summary span { font-size: 13px; font-weight: 700; }
.member-library-hub summary span::before { content: "+"; display: inline-block; width: 24px; color: var(--cyan); font-family: var(--mono); }
.member-library-hub details[open] summary span::before { content: "−"; color: var(--lime); }
.member-library-hub summary b { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; }
.dashboard-compact-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 0 24px 22px 48px; }
.dashboard-compact-links > a:not(.dashboard-create-link) { display: grid; min-width: 0; gap: 4px; padding: 12px; border: 1px solid var(--line); }
.dashboard-compact-links > a:hover { border-color: var(--cyan); }
.dashboard-compact-links span,
.dashboard-compact-links .dashboard-create-link { color: var(--cyan); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.dashboard-compact-links strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-create-link { grid-column: 1 / -1; padding: 8px 0; }
.dashboard-compact-links .empty-state { grid-column: 1 / -1; }
.dashboard-follow-groups,
.dashboard-activity-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 24px 22px 48px; }
.dashboard-follow-groups > div,
.dashboard-activity-columns > div { display: grid; min-width: 0; align-content: start; gap: 7px; padding: 13px; border: 1px solid var(--line); }
.dashboard-follow-groups h3,
.dashboard-activity-columns h3 { margin: 0 0 4px; color: var(--lime); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.dashboard-follow-groups a,
.dashboard-activity-columns a,
.dashboard-activity-columns > div > span { display: grid; min-width: 0; gap: 2px; padding-top: 7px; border-top: 1px solid rgba(32, 55, 70, .65); font-size: 9px; }
.dashboard-follow-groups p,
.dashboard-activity-columns p { margin: 0; color: var(--muted); font-size: 9px; }
.dashboard-activity-columns small { color: var(--cyan); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.dashboard-activity-columns strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 960px), (max-device-width: 960px) {
  .community-pulse-body { grid-template-columns: 1fr; }
  .community-pulse-question { border-right: 0; border-bottom: 1px solid var(--line); }
  .member-command-header { grid-template-columns: auto minmax(0, 1fr); }
  .member-command-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .member-command-layout { grid-template-columns: 1fr; }
  .member-command-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .command-notification-card { grid-column: 1 / -1; }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .community-pulse-section { padding-top: 18px; }
  .community-pulse-heading { align-items: start; flex-direction: column; gap: 15px; padding: 21px 18px; }
  .community-pulse-heading h2 { font-size: 38px; }
  .community-pulse-heading time { justify-items: start; }
  .community-pulse-question,
  .community-pulse-vote { padding: 23px 18px; }
  .pulse-signal { width: 39px; height: 39px; margin-bottom: 19px; }
  .community-pulse-question h3 { font-size: 34px; }
  .community-pulse-vote .button,
  .pulse-sign-in .button { width: 100%; }
  .poll-choice > span { min-height: 50px; padding: 12px; }
  .member-command-page { width: calc(100vw - 24px); padding: 24px 0 76px; }
  .member-command-header { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 17px; }
  .member-command-header .profile-avatar-large { width: 62px; height: 62px; }
  .member-command-identity h1 { font-size: 38px; }
  .member-command-identity > p:not(.eyebrow) { font-size: 7px; }
  .member-command-identity .profile-privacy-chips { grid-column: 1 / -1; }
  .member-command-actions { grid-template-columns: 1fr 1fr; }
  .member-command-actions .button { min-width: 0; padding-right: 11px; padding-left: 11px; font-size: 8px; }
  .member-command-actions form { grid-column: 1 / -1; }
  .member-command-layout { gap: 14px; margin-top: 14px; }
  .member-command-layout > main { gap: 14px; }
  .command-panel-heading { align-items: center; padding: 17px; }
  .command-panel-heading h2 { font-size: 30px; }
  .command-panel-heading > p { display: none; }
  .next-action { grid-template-columns: 37px minmax(0, 1fr); gap: 11px; padding: 14px; }
  .next-action > i { width: 36px; height: 36px; }
  .next-action > b { grid-column: 2; }
  .dashboard-feed-list article { grid-template-columns: 94px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .dashboard-feed-image { height: 74px; }
  .dashboard-feed-list h3 { font-size: 14px; }
  .dashboard-feed-list p { display: none; }
  .member-command-sidebar { grid-template-columns: 1fr; gap: 14px; }
  .command-notification-card { grid-column: auto; }
  .member-library-hub { margin-top: 14px; }
  .member-library-hub summary { padding: 16px; }
  .dashboard-compact-links,
  .dashboard-follow-groups,
  .dashboard-activity-columns { grid-template-columns: 1fr; padding: 0 16px 18px 40px; }
}

/* Compact homepage giveaway hotfix. */

/* v1.8 — reputation, return visits and owner controls. */
.profile-accent-cyan { --profile-accent: var(--cyan); }
.profile-accent-lime { --profile-accent: var(--lime); }
.profile-accent-amber { --profile-accent: #ffbc55; }
.profile-accent-violet { --profile-accent: #9d82ff; }
.profile-accent-rose { --profile-accent: #ff6f91; }
.member-command-header,
.player-profile-masthead { border-color: color-mix(in srgb, var(--profile-accent, var(--cyan)) 45%, var(--line)); }
.profile-tagline { color: var(--profile-accent, var(--cyan)) !important; font-family: var(--mono); letter-spacing: .05em; }
.featured-profile-badge { display: inline-flex; margin-top: 10px; padding: 7px 10px; border: 1px solid var(--profile-accent, var(--cyan)); color: var(--profile-accent, var(--cyan)); font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.profile-customisation-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: 18px; }
.profile-accent-picker { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 15px; border: 1px solid var(--line); }
.profile-accent-picker legend { padding: 0 5px; color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.profile-accent-option { display: grid; gap: 7px; justify-items: center; color: var(--muted); cursor: pointer; font-family: var(--mono); font-size: 6px; text-align: center; text-transform: uppercase; }
.profile-accent-option input { position: absolute; opacity: 0; pointer-events: none; }
.profile-accent-option span { width: 30px; height: 30px; border: 6px solid #071019; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px var(--line-bright); }
.profile-accent-option input:checked + span { box-shadow: 0 0 0 2px #fff, 0 0 18px var(--swatch); }
.profile-accent-option.accent-cyan { --swatch: #24d7ed; }.profile-accent-option.accent-lime { --swatch: #d3ff25; }.profile-accent-option.accent-amber { --swatch: #ffbc55; }.profile-accent-option.accent-violet { --swatch: #9d82ff; }.profile-accent-option.accent-rose { --swatch: #ff6f91; }

.reputation-explainer-link { display: block; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--cyan); font-family: var(--mono); font-size: 8px; line-height: 1.5; text-transform: uppercase; }
.member-return-strip,
.member-challenge-hub { margin-top: 22px; border: 1px solid var(--line); background: rgba(7, 15, 23, .88); }
.continue-reading-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.continue-reading-grid > a { display: grid; min-width: 0; gap: 6px; padding: 14px; background: #071019; }
.continue-reading-art { position: relative; display: block; height: 92px; overflow: hidden; background: #02070a; }
.continue-reading-art img { width: 100%; height: 100%; object-fit: cover; }
.continue-reading-art i { position: absolute; inset: auto auto 0 0; height: 3px; background: var(--lime); }
.continue-reading-grid small { color: var(--cyan); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.continue-reading-grid strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.member-challenge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.member-challenge-card { padding: 18px; border: 1px solid var(--line-bright); background: linear-gradient(145deg, rgba(36,215,237,.06), transparent 55%); }
.member-challenge-card.complete { border-color: rgba(211,255,37,.5); background: rgba(211,255,37,.05); }
.member-challenge-card header { display: flex; justify-content: space-between; gap: 12px; color: var(--lime); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.member-challenge-card h3 { margin: 13px 0 7px; font-size: 17px; }
.member-challenge-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.challenge-progress { height: 5px; margin-top: 18px; overflow: hidden; background: #02070a; }
.challenge-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--lime)); }
.member-challenge-card > small { display: block; margin-top: 7px; color: var(--muted); font-family: var(--mono); font-size: 7px; }

.member-reputation-masthead { min-height: 430px; padding-bottom: 70px; }
.member-reputation-masthead h1 { max-width: 720px; }
.member-reputation-masthead .back-link { display: inline-block; margin-top: 25px; }
.reputation-programme-page { display: grid; gap: 70px; }
.current-reputation-summary { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 42px; align-items: center; padding: 30px; border: 1px solid var(--line-bright); background: #071019; }
.current-reputation-summary span { color: var(--cyan); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.current-reputation-summary h2 { margin: 8px 0 4px; font-family: var(--display); font-size: 48px; line-height: .9; text-transform: uppercase; }
.current-reputation-summary strong { color: var(--lime); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.current-reputation-summary p { margin: 9px 0 0; color: var(--muted); font-size: 10px; }
.public-reputation-levels,
.public-reputation-actions,
.public-reputation-badges { display: grid; gap: 10px; }
.public-reputation-levels { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.public-reputation-levels article,
.public-reputation-actions article,
.public-reputation-badges article { border: 1px solid var(--line); background: #071019; }
.public-reputation-levels article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 17px; opacity: .65; }
.public-reputation-levels article.reached { border-color: var(--lime); opacity: 1; }
.public-reputation-levels b,
.public-reputation-badges b { color: var(--cyan); font-size: 27px; }
.public-reputation-levels span,
.public-reputation-badges span { color: var(--lime); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.public-reputation-levels h3,
.public-reputation-actions h3,
.public-reputation-badges h3 { margin: 5px 0; font-size: 14px; }
.public-reputation-levels p,
.public-reputation-actions p,
.public-reputation-badges p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.public-reputation-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-reputation-actions article { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px; }
.public-reputation-actions article > strong { color: var(--lime); font-family: var(--display); font-size: 31px; }
.public-reputation-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-reputation-badges article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 16px; }
.public-reputation-badges article.locked { opacity: .45; }
.public-reputation-badges article.earned { border-color: var(--cyan); }
.public-reputation-badges small { color: var(--muted); font-family: var(--mono); font-size: 6px; text-transform: uppercase; }

@media (max-width: 900px), (max-device-width: 900px) {
  .public-reputation-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px), (max-device-width: 700px) {
  .profile-customisation-grid { grid-template-columns: 1fr; }
  .profile-accent-picker { grid-template-columns: repeat(5, minmax(44px, 1fr)); overflow-x: auto; }
  .member-return-strip,
  .member-challenge-hub { margin-top: 14px; }
  .continue-reading-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .continue-reading-grid > a { min-width: 72vw; scroll-snap-align: start; }
  .member-challenge-grid { grid-template-columns: 1fr; padding: 14px; }
  .current-reputation-summary { grid-template-columns: 1fr; gap: 22px; padding: 21px; }
  .public-reputation-actions,
  .public-reputation-badges { grid-template-columns: 1fr; }
  .reputation-programme-page { gap: 48px; }
}

/* Final v1.9 Command Deck layout refinements. */

/* v1.9.1 — community activity is part of the hero, not a detached module. */
.hero-community-card.member-only .hero-member-card { border-top: 0; padding: 20px; }
.hero-community-card.roundup-only { width: clamp(300px,28vw,400px); }

/* v2.0 — a smaller mobile Command Deck and one focused moderation workflow. */

.member-mobile-nav { display: flex; gap: 6px; margin-top: 14px; padding: 7px; overflow-x: auto; border: 1px solid var(--line); background: rgba(5,11,16,.94); scrollbar-width: none; }.member-mobile-nav::-webkit-scrollbar { display: none; }.member-mobile-nav a { flex: none; padding: 10px 13px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }.member-mobile-nav a:hover { color: var(--lime); }
.member-since-panel { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(0,1.8fr); gap: 20px; margin-top: 14px; padding: 20px; border: 1px solid var(--line-bright); background: linear-gradient(145deg,rgba(9,24,33,.92),rgba(5,10,15,.98)); }
.member-since-heading .eyebrow { margin: 0 0 8px; }.member-since-heading h2 { margin: 0; font-family: var(--display); font-size: 31px; line-height: .9; text-transform: uppercase; }.member-since-heading small { display: block; margin-top: 11px; color: var(--muted); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.member-since-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--line); }.member-since-stats a { display: grid; min-width: 0; align-content: center; gap: 7px; padding: 14px; background: #061018; }.member-since-stats strong { color: var(--cyan); font-family: var(--display); font-size: 30px; line-height: .8; }.member-since-stats span { color: var(--muted); font-family: var(--mono); font-size: 7px; line-height: 1.45; text-transform: uppercase; }.member-since-stats a:hover strong { color: var(--lime); }
body.article-editor-focus .admin-sidebar,
body.article-editor-focus .admin-topbar > :not(.admin-brand),
body.article-editor-focus .admin-page-heading,
body.article-editor-focus .admin-toolbar,
body.article-editor-focus .template-shortcut,
body.article-editor-focus .admin-mobile-dock,
body.article-editor-focus .article-workflow-grid { display: none !important; }
body.article-editor-focus .admin-shell,
body.article-editor-focus .admin-content { display: block; width: 100%; max-width: none; }
body.article-editor-focus .admin-topbar { min-height: 52px; padding: 8px max(18px,calc((100vw - 1500px) / 2)); }
body.article-editor-focus .admin-main { width: min(1500px,calc(100% - 32px)); margin: 0 auto; padding-top: 12px; }
body.article-editor-focus .editor-panel { border-top-color: var(--lime); }

@supports (content-visibility: auto) {
  .news-section,.community-pulse-section { content-visibility: auto; contain-intrinsic-size: auto 720px; }
}

@media (max-width: 1000px), (max-device-width: 1000px) {
  .member-since-panel { grid-template-columns: 1fr; }.member-since-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 620px), (max-device-width: 620px) {
  body.article-editor-focus .admin-topbar { display: none; }
  body.article-editor-focus .admin-main { width: 100%; padding: 0 0 calc(90px + env(safe-area-inset-bottom)); }
  body.article-editor-focus .article-builder-bar { position: sticky; top: 0; z-index: 70; padding-top: max(10px,env(safe-area-inset-top)); background: rgba(3,8,13,.97); }
  body.article-editor-focus .article-editor-fields { padding-inline: 10px; }
  .member-mobile-nav { position: sticky; top: 0; z-index: 25; margin-right: -12px; margin-left: -12px; border-right: 0; border-left: 0; }.member-since-panel { padding: 16px; }.member-since-heading h2 { font-size: 27px; }.member-since-stats { grid-template-columns: 1fr 1fr; }.member-since-stats a { min-height: 84px; }
}

/* v2.1 — conversations, recovery, search growth and transparent draws */
.comment-replies { display: grid; gap: 10px; margin-top: 14px; padding-left: 22px; border-left: 1px solid var(--line-bright); }
.comment-card.is-reply { padding: 15px; border: 1px solid var(--line); background: rgba(7,16,23,.78); }
.comment-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.comment-tools .plain-action { color: var(--cyan); }
.pinned-comment-label { color: var(--lime); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.comment-reply-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; padding: 10px 12px; border: 1px solid var(--line-bright); background: rgba(36,215,237,.06); color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.comment-reply-context strong { color: var(--lime); }

.article-performance-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.article-performance-heading h2 { margin: 8px 0; font-size: clamp(25px,4vw,46px); }.article-performance-heading p { max-width: 760px; color: var(--muted); }
.article-performance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.article-performance-grid article { min-width: 0; padding: 19px; border: 1px solid var(--line); background: var(--panel); }
.article-performance-grid span { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.article-performance-grid strong { display: block; margin: 15px 0 8px; color: var(--cyan); font-family: var(--display); font-size: 42px; line-height: .85; }
.article-performance-grid small { color: var(--muted); font-size: 8px; }

.winner-history-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.winner-history-grid article { padding: 18px; border: 1px solid var(--line); background: var(--panel); }.winner-history-grid article > div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-family: var(--mono); font-size: 7px; text-transform: uppercase; }.winner-history-grid strong { display: block; margin: 17px 0 8px; }.winner-history-grid p { color: var(--muted); font-size: 9px; }.winner-history-grid a { color: var(--cyan); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.giveaway-audit-timeline { margin-top: 18px; padding: 24px; border: 1px solid var(--line); background: var(--panel); }.giveaway-audit-timeline h2 { margin: 8px 0 20px; }.giveaway-audit-timeline ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.giveaway-audit-timeline li { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 12px; padding-bottom: 17px; }.giveaway-audit-timeline li i { position: relative; width: 9px; height: 9px; margin-top: 4px; border: 2px solid var(--cyan); border-radius: 50%; }.giveaway-audit-timeline li:not(:last-child) i::after { position: absolute; top: 11px; bottom: -25px; left: 2px; width: 1px; background: var(--line-bright); content: ''; }.giveaway-audit-timeline strong,.giveaway-audit-timeline time { display: block; }.giveaway-audit-timeline time { margin-top: 5px; color: var(--muted); font-family: var(--mono); font-size: 7px; }
html,body { max-width: 100%; overflow-x: clip; }

@media (max-width: 760px), (max-device-width: 760px) {
  .comment-replies { padding-left: 12px; }.comment-card.is-reply { padding: 12px; }
  .article-performance-heading { align-items: flex-start; flex-direction: column; }.article-performance-grid { grid-template-columns: 1fr 1fr; }.winner-history-grid { grid-template-columns: 1fr; }
  .roundup-automation-card { grid-template-columns: 1fr; gap: 15px; padding: 16px; }
  .roundup-automation-copy dl { grid-template-columns: 1fr; }
}

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