/*
 * DartSyS strict global design-system lock (served as a static stylesheet).
 * This file is intentionally loaded after the legacy stylesheet. New visual
 * decisions belong here or in shared components, never in route-local CSS.
 */

:root {
  color-scheme: dark;
  --background: #08090b;
  --background-secondary: #0e1013;
  --surface: #14171b;
  --surface-2: #191d22;
  --surface-hover: #1d2127;
  --surface-elevated: #191d22;
  --border: #252a31;
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-strong: rgba(255, 255, 255, 0.12);
  --text-primary: #f7f8fa;
  --text-secondary: #a4abb5;
  --text-muted: #6f7782;
  --text-disabled: #4d535b;
  --brand-red: #f04444;
  --brand-red-hover: #d9363e;
  --brand-red-active: #c92f37;
  --success: #34c77b;
  --warning: #f4b740;
  --danger: #ef4444;
  --info: #4a8cff;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2), 0 10px 28px rgba(0, 0, 0, 0.14);
  --shadow-md: 0 20px 56px rgba(0, 0, 0, 0.28);
  --focus-ring: 0 0 0 3px rgba(240, 68, 68, 0.22);
  --content-width: 1440px;
  --content-width-wide: 1520px;
  --content-gutter: 32px;
  --font-body: Geist, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: var(--font-body);

  /* Legacy aliases remain semantic and resolve to the locked palette. */
  --ink: var(--text-primary);
  --muted: var(--text-muted);
  --line: var(--border);
  --green: var(--brand-red);
  --green-dim: var(--brand-red-hover);
  --red: var(--brand-red);
  --bg: var(--background);
  --panel: var(--surface);
  --text: var(--text-primary);
  --premium-bg: var(--background);
  --premium-bg-2: var(--background-secondary);
  --premium-surface: var(--surface);
  --premium-elevated: var(--surface-elevated);
  --premium-border: var(--border);
  --premium-text: var(--text-primary);
  --premium-secondary: var(--text-secondary);
  --premium-muted: var(--text-muted);
  --premium-red: var(--brand-red);
  --premium-success: var(--success);
}

/* Targeted UX hardening: public match, player home, teams, calendar and match list. */
.public-match-page { min-height: 100dvh; background: #08090b !important; color: var(--text-primary); }
.public-match-page .public-match-header { background: rgba(8,9,11,.94) !important; border-bottom: 1px solid var(--border); box-shadow: none !important; }
.public-match-page :is(.public-stream,.public-score-wrap,.public-history,.public-leg-history,.public-player,.public-scoreboard) { background: var(--surface) !important; border-color: var(--border); }
.public-match-page .public-stream { overflow: hidden; }
.public-match-page .stream-placeholder { min-height: 520px; align-items: center; text-align: center; background: radial-gradient(circle at 50% 42%,rgba(240,68,68,.09),transparent 28%),linear-gradient(145deg,#101216,#090a0d) !important; }
.stream-empty-icon { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(240,68,68,.28); border-radius: 18px; background: rgba(240,68,68,.07); color: var(--brand-red); }
.stream-empty-icon svg { width: 28px; height: 28px; }
.public-match-page .stream-placeholder small { color: var(--brand-red); }
.public-match-page .stream-placeholder strong { font-size: clamp(25px,3vw,42px); line-height: 1.05; letter-spacing: -.035em; }
.public-match-page .stream-placeholder p { margin-inline: auto; }
.public-match-page .stream-placeholder a { border-color: var(--brand-red); border-radius: 9px; color: var(--text-primary); }
.public-player-name .avatar { flex: 0 0 auto; }

.player-feature-event { min-height: 204px; padding: 21px 24px; transition: border-color .18s ease,background-color .18s ease,transform .18s ease; }
.player-feature-event:hover { background-color: var(--surface-hover); transform: translateY(-1px); }
.player-feature-matchup .avatar { flex: 0 0 auto; }
.player-feature-event > footer { width: max-content; margin-top: 4px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 8px; background: transparent !important; }
.player-match-overview .player-match-donut { width: 116px; padding: 0 8px; }
.player-match-overview .player-match-donut strong { max-width: 88px; font-size: clamp(22px,1.55vw,27px); letter-spacing: -.045em; }

.team-profile-card { min-width: 0; overflow: hidden; }
.team-profile-card > header { grid-template-columns: auto minmax(0,1fr) auto; }
.team-profile-card > header > div { min-width: 0; }
.team-profile-card > header .muted { color: var(--text-muted); }
.team-captain-summary { padding: 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--border); }
.team-captain-summary > span { color: var(--text-muted); font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.team-captain-summary > div { display: flex; align-items: center; gap: 9px; }
.roster-list.compact > div { padding-block: 11px; }
.team-view-actions,.team-edit-actions { padding-top: 16px; display: flex; justify-content: flex-end; gap: 10px; }
.team-edit-panel { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.team-edit-panel .workspace-form { margin-bottom: 16px; }

.match-filter-tabs { width: max-content; max-width: 100%; margin: 0 0 22px; padding: 4px; display: flex; gap: 3px; overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.match-filter-tabs button { min-height: 38px; padding: 0 15px; border: 0; border-radius: 7px; background: transparent; color: var(--text-secondary); font-size: 11px; font-weight: 720; white-space: nowrap; }
.match-filter-tabs button:hover { color: var(--text-primary); background: var(--surface-hover); }
.match-filter-tabs button.active { background: var(--brand-red); color: #fff; }
.match-admin-list > article { min-width: 0; }
.match-admin-list .match-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.match-admin-list .match-meta span { min-width: 0; padding: 0; border: 0; background: transparent; color: var(--text-muted); }
.match-admin-list .match-meta span + span::before { content: "·"; margin-right: 7px; color: var(--border-strong); }

.calendar-title-row,.calendar-toolbar,.calendar-week,.calendar-week > article,.calendar-week > article > div,.calendar-entry { min-width: 0; max-width: 100%; box-sizing: border-box; }
.calendar-week { width: 100%; grid-template-columns: repeat(7,minmax(0,1fr)); overflow: hidden; }
.calendar-week > article { min-height: 390px; overflow: hidden; }
.calendar-entry { overflow: hidden; }
.calendar-entry :is(strong,span,small) { min-width: 0; overflow-wrap: anywhere; }
.calendar-entry footer { min-width: 0; flex-wrap: wrap; }
.calendar-entry details,.calendar-entry details form { min-width: 0; max-width: 100%; }
.calendar-entry details :is(input,select,button) { max-width: 100%; }
.calendar-more { width: 100%; min-height: 36px; border: 1px dashed var(--border); border-radius: 8px; background: transparent; color: var(--text-secondary); font-size: 10px; font-weight: 720; }
.calendar-more:hover { border-color: var(--brand-red); color: var(--text-primary); }

@media (min-width:761px) and (max-width:1100px) {
  .calendar-week { grid-template-columns: repeat(7,minmax(250px,1fr)); overflow-x: auto; overscroll-behavior-inline: contain; }
  .calendar-week > article { min-height: 360px; }
}
@media (max-width:760px) {
  .public-match-page .stream-placeholder,.public-match-page .public-stream { min-height: 270px; }
  .calendar-week { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; overflow: visible; }
  .calendar-week > article { min-height: 0; }
  .calendar-week > article > header { min-height: 58px; }
  .match-filter-tabs { width: 100%; }
  .team-profile-card > header { grid-template-columns: auto minmax(0,1fr); }
  .team-profile-card > header > .status-badge { grid-column: 2; justify-self: start; }
}

html { color-scheme: dark; background: var(--background); }
body {
  background: var(--background);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
}

::selection { background: rgba(240, 68, 68, 0.28); color: var(--text-primary); }
hr { border: 0; border-top: 1px solid var(--border); }

h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
}
h1 { font-size: clamp(32px, 3vw, 48px); line-height: 1.05; }
h2 { font-size: clamp(24px, 2.2vw, 36px); line-height: 1.1; }
h3 { font-size: 22px; line-height: 1.2; }
h4 { font-size: 18px; line-height: 1.25; }
p { color: var(--text-secondary); }
small, time, figcaption { color: var(--text-muted); }

.page-container {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  padding-inline: var(--content-gutter);
}

/* Shared brand and navigation */
.site-header {
  --dart-x: 0px;
  --dart-y: 7px;
  --dart-angle: -7deg;
  --dart-impact: 0;
  width: 100%;
  max-width: none;
  height: 64px;
  padding-inline: max(var(--content-gutter), calc((100vw - var(--content-width)) / 2 + var(--content-gutter)));
  gap: clamp(14px, 2vw, 28px);
  border-color: var(--border);
  background: rgba(8, 9, 11, 0.9);
  color: var(--text-primary);
  box-shadow: 0 1px 0 rgba(255,255,255,.015);
  transition: height 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.site-header.is-scrolled {
  border-color: rgba(240, 68, 68, .2);
  background: rgba(8, 9, 11, .96);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .28);
}
.site-header > .brand,
.site-header > .brand .brand-mark {
  transition: transform 220ms ease;
}
.site-header.is-scrolled > .brand { transform: translateY(-1px); }
.site-header.is-scrolled > .brand .brand-mark { transform: scale(.9); }
.site-header .main-nav { flex: 1 1 auto; justify-content: center; }
.site-header .main-nav a { position: relative; }
.site-header .main-nav a::after {
  content: "";
  width: 14px;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: -9px;
  border-radius: 999px;
  background: var(--brand-red);
  opacity: 0;
  transform: translateX(-50%) scaleX(.35);
  transition: opacity 180ms ease, transform 180ms ease;
}
.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus-visible::after { opacity: 1; transform: translateX(-50%) scaleX(1); }

.header-dart-animation {
  width: 132px;
  height: 38px;
  flex: 0 0 132px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(20, 23, 27, .25), rgba(20, 23, 27, .88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  pointer-events: none;
}
.header-dart-animation::after {
  content: "";
  position: absolute;
  inset: 4px 4px 4px auto;
  width: 28px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,68,68,.14), transparent 68%);
}
.header-dart-trail {
  height: 1px;
  position: absolute;
  z-index: 0;
  left: 14px;
  right: 26px;
  top: 18px;
  background: linear-gradient(90deg, transparent, rgba(240,68,68,.12), rgba(240,68,68,.5));
  transform: scaleX(var(--dart-impact));
  transform-origin: left center;
  opacity: .75;
}
.header-dart {
  width: 58px;
  height: 24px;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 6px;
  overflow: visible;
  color: var(--brand-red);
  filter: drop-shadow(0 5px 7px rgba(0,0,0,.45));
  transform: translate3d(var(--dart-x), var(--dart-y), 0) rotate(var(--dart-angle));
  transform-origin: 75% 50%;
  will-change: transform;
}
.header-dart-flight { fill: #e8ebef; }
.header-dart-barrel { fill: var(--brand-red); }
.header-dart-point { fill: #aeb5be; }
.header-bullseye {
  width: 32px;
  height: 32px;
  position: absolute;
  z-index: 1;
  right: 1px;
  top: 2px;
  display: grid;
  place-items: center;
  border: 1px solid #343a43;
  border-radius: 50%;
  background: radial-gradient(circle, #f04444 0 10%, #f7f8fa 11% 20%, #c7353b 21% 34%, #111419 35% 54%, #e7eaee 55% 61%, #171a1f 62%);
  box-shadow: 0 0 0 3px rgba(0,0,0,.28);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.header-bullseye i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 10px rgba(240,68,68,.9);
}
.site-header.is-aimed .header-bullseye {
  transform: scale(1.08);
  box-shadow: 0 0 0 3px rgba(0,0,0,.3), 0 0 22px rgba(240,68,68,.3);
}
.site-header.is-aimed .header-dart { filter: drop-shadow(0 0 7px rgba(240,68,68,.36)); }

/* `hidden` creates a scroll container and breaks the sticky public header. */
.premium-home { overflow: clip; }

.hero-image-banner {
  width: 100%;
  aspect-ratio: 1672 / 941;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #050608;
}
.hero-image-banner picture,
.hero-image-banner picture img {
  width: 100%;
  height: 100%;
  display: block;
}
.hero-image-banner picture {
  position: absolute;
  inset: 0;
}
.hero-image-banner picture img {
  object-fit: contain;
  object-position: center top;
  user-select: none;
}
.hero-image-action {
  position: absolute;
  z-index: 2;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.hero-image-action:hover {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.035);
  box-shadow: 0 0 28px rgba(240,68,68,.18);
}
.hero-image-action:focus-visible {
  outline: 3px solid rgba(240,68,68,.72);
  outline-offset: 4px;
  box-shadow: 0 0 0 7px rgba(240,68,68,.18);
}
.hero-image-register { left: 4.6%; top: 71.1%; width: 15%; height: 7%; }
.hero-image-live { left: 21.05%; top: 71.1%; width: 13.2%; height: 7%; }

.hero-live-cta {
  min-height: 88px;
  padding: 18px var(--content-gutter);
  display: grid;
  place-items: center;
  border-block: 1px solid var(--border);
  background: linear-gradient(180deg, #0c0f12 0%, #090b0e 100%);
}
.hero-live-cta .button {
  min-width: 220px;
  justify-content: center;
}

@media (max-width: 767px) {
  .hero-image-banner { aspect-ratio: 941 / 1672; }
  .hero-image-register { left: 22.4%; top: 43.5%; width: 54.8%; height: 4.8%; }
  .hero-image-live { left: 22.4%; top: 49.35%; width: 54.8%; height: 4.75%; }
  .hero-live-cta { min-height: 76px; padding: 14px 16px; }
  .hero-live-cta .button { width: min(100%, 280px); }
}

@media (min-width: 901px) {
  .site-header.is-scrolled { height: 56px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .header-dart-animation { display: none; }
}
@media (max-width: 760px) {
  .site-header { gap: 12px; }
  .header-dart-animation { margin-left: auto; }
  .header-actions { gap: 10px; }
  .header-actions > .live-go-link { display: none; }
}
@media (max-width: 620px) {
  .site-header { height: 64px; padding-inline: 14px; gap: 8px; }
  .site-header > .brand { font-size: 18px; gap: 7px; }
  .site-header > .brand .brand-mark { width: 30px; height: 30px; flex-basis: 30px; }
  .header-dart-animation { width: 92px; height: 34px; flex-basis: 92px; }
  .header-dart { width: 44px; height: 20px; top: 6px; }
  .header-bullseye { width: 28px; height: 28px; top: 2px; }
  .site-header .profile-link b { display: none; }
  .site-header .profile-link { gap: 0; }
}
@media (max-width: 360px) {
  .site-header > .brand > span:last-child { display: none; }
}
.brand > span:last-child {
  background: linear-gradient(90deg, var(--text-primary) 0 54%, var(--brand-red) 54% 72%, var(--text-primary) 72%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.main-nav, .login-link, .header-logout { color: var(--text-secondary); }
.main-nav a:hover, .login-link:hover, .header-logout:hover { color: var(--text-primary); }
.profile-link { color: var(--text-primary); }
.profile-link span, .account-avatar {
  border-color: rgba(240, 68, 68, 0.3);
  background: rgba(240, 68, 68, 0.12);
  color: var(--brand-red);
}
.menu-button {
  border-color: var(--border);
  background: var(--surface);
}
.menu-button span { background: var(--text-primary); }
.mobile-navigation {
  inset-block-start: 64px;
  max-height: calc(100dvh - 64px);
  border-color: var(--border);
  background: rgba(14, 16, 19, 0.98);
  color: var(--text-primary);
}
.mobile-navigation nav a { border-color: var(--border); }
.header-logout, .mobile-logout {
  min-height: 40px;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header > .brand,
  .site-header > .brand .brand-mark,
  .site-header .main-nav a::after,
  .header-bullseye { transition: none; }
  .header-dart { will-change: auto; }
}

.community-composer{display:grid;gap:12px;padding:18px;margin-bottom:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.community-composer textarea{min-height:90px;resize:vertical}.community-composer .button{justify-self:end}.feed-post-content{font-size:16px;line-height:1.6;white-space:pre-wrap}.feed-post>.feed-social-actions button,.feed-post>.feed-social-actions span{border:0;background:transparent;color:var(--text-secondary);font:inherit}.feed-post>.feed-social-actions button{cursor:pointer}.feed-post>.feed-social-actions .liked{color:var(--brand-red)}
.player-social-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0}.player-social-actions>span{color:var(--text-secondary)}.player-social-actions>span strong{color:var(--text-primary)}
.conversation-list{display:grid}.conversation-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.conversation-list>a:hover{background:var(--surface-hover)}.conversation-list p{margin:4px 0;color:var(--text-secondary)}.conversation-list i{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:var(--brand-red);color:white;font-style:normal;font-size:12px}
.chat-screen{display:grid;grid-template-rows:minmax(380px,60vh) auto;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.chat-messages{overflow:auto;padding:20px;display:flex;flex-direction:column;gap:10px}.chat-messages article{max-width:min(75%,620px);padding:12px 14px;border-radius:14px;background:var(--surface-hover)}.chat-messages article p{margin:0 0 5px;white-space:pre-wrap}.chat-messages small{color:var(--text-muted)}.chat-screen form{display:flex;gap:10px;padding:14px;border-top:1px solid var(--border)}.chat-screen form label{flex:1}.chat-screen textarea{width:100%;min-height:48px;max-height:140px;resize:vertical}
.app-club-chat-access{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:0 0 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.app-club-chat-access span{color:var(--brand-red);font-size:12px;font-weight:800;letter-spacing:.16em}.app-club-chat-access h2{margin:5px 0}.app-club-chat-access p{margin:0;color:var(--text-secondary)}
.moderation-filters{display:flex;gap:8px}.moderation-filters select{min-width:150px}.moderation-review{max-width:1180px}.reported-content,.moderation-user{padding:18px;border:1px solid var(--border);background:var(--surface-hover)}.reported-content p{white-space:pre-wrap}.moderation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.moderation-actions button{min-height:44px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer}.moderation-actions button:hover{border-color:var(--brand-red)}.moderation-actions .danger{background:var(--brand-red);color:#fff}
@media(max-width:700px){.app-club-chat-access{align-items:flex-start;flex-direction:column}.app-club-chat-button{width:100%}.chat-screen form{align-items:stretch;flex-direction:column}.chat-screen form .button{width:100%}.moderation-actions{grid-template-columns:1fr}.moderation-filters{width:100%;flex-direction:column}.moderation-filters select{width:100%}.player-social-actions .button{flex:1}}

/* Shared buttons */
.button,
:is(.approve-button, .community-primary, .auth-submit, .cockpit-actions button:first-child, .scratch-actions button:last-child) {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--brand-red);
  border-radius: var(--radius-sm);
  background: var(--brand-red);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.button:hover,
:is(.approve-button, .community-primary, .auth-submit):hover {
  border-color: var(--brand-red-hover);
  background: var(--brand-red-hover);
  box-shadow: none;
  transform: translateY(-1px);
}
.button:active { border-color: var(--brand-red-active); background: var(--brand-red-active); transform: none; }
.button-small { min-height: 32px; padding-inline: 12px; font-size: 12px; }
.button-medium, .button-default { min-height: 40px; }
.button-large { min-height: 48px; padding-inline: 20px; }
.button-primary, .button-solid { border-color: var(--brand-red); background: var(--brand-red); color: #fff; }
.button-secondary, .button-outline {
  border-color: var(--border-strong);
  background: var(--surface-elevated);
  color: var(--text-primary);
}
.button-secondary:hover, .button-outline:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.button-ghost { border-color: transparent; background: transparent; color: var(--text-secondary); }
.button-danger, .button-destructive, .danger { border-color: var(--danger); background: transparent; color: #ff7b7b; }
.button:disabled, button:disabled { opacity: 0.48; cursor: not-allowed; transform: none; }

/* Shared badges and statuses */
.badge, [class^="status-"], [class*=" status-"] {
  width: max-content;
  min-height: 24px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  background: var(--surface-elevated);
  color: var(--text-secondary);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.badge-brand, .badge-default { border-color: rgba(240, 68, 68, 0.3); background: rgba(240, 68, 68, 0.1); color: #ff7474; }
.badge-live, .status-live { border-color: rgba(240, 68, 68, 0.35); background: rgba(240, 68, 68, 0.12); color: #ff7777; }
.badge-success, .status-active, .status-approved, .status-ready { border-color: rgba(52, 199, 123, 0.28); background: rgba(52, 199, 123, 0.1); color: var(--success); }
.badge-warning, .status-pending, .status-suspended { border-color: rgba(244, 183, 64, 0.3); background: rgba(244, 183, 64, 0.1); color: var(--warning); }
.badge-danger, .status-banned, .status-rejected, .status-ended { border-color: rgba(239, 68, 68, 0.3); background: rgba(239, 68, 68, 0.1); color: #ff7777; }
.badge-info { border-color: rgba(74, 140, 255, 0.3); background: rgba(74, 140, 255, 0.1); color: #79a8ff; }

/* Shared card primitives */
.card,
.card-default,
.card-stat,
.card-match,
.card-player,
.card-club,
.card-tournament,
.card-ranking,
.card-feed,
.card-calendar,
.card-chart,
.card-chat,
.card-activity {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.card-large { padding: 24px; border-radius: var(--radius-lg); }
.card:hover { border-color: var(--border-strong); background: var(--surface-elevated); transform: translateY(-1px); }

/* Shared avatars and club badges */
.avatar, .club-badge {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--border-strong);
  background: var(--surface-elevated);
  color: var(--brand-red);
  font-weight: 800;
}
.avatar { border-radius: 50%; }
.club-badge { border-radius: var(--radius-sm); }
.avatar img, .club-badge img { width: 100%; height: 100%; object-fit: cover; }
.avatar-xs { width: 24px; height: 24px; font-size: 8px; }
.avatar-sm, .club-badge-sm { width: 32px; height: 32px; font-size: 9px; }
.avatar-md, .club-badge-md { width: 40px; height: 40px; font-size: 10px; }
.avatar-lg, .club-badge-lg { width: 56px; height: 56px; font-size: 13px; }
.avatar-xl, .club-badge-xl { width: 80px; height: 80px; font-size: 18px; }
.avatar-xxl, .club-badge-xxl { width: 112px; height: 112px; font-size: 24px; }
.player-avatar,
.account-avatar,
.person-avatar,
.profile-avatar-large {
  border-color: var(--border-strong);
  background: var(--surface-elevated);
  color: var(--brand-red);
}

/* Shared inputs */
input, select, textarea,
.field input,
.auth-card input,
.workspace-form :is(input, select, textarea),
.profile-form :is(input, select, textarea) {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--background-secondary);
  color: var(--text-primary);
  accent-color: var(--brand-red);
}
input::placeholder, textarea::placeholder { color: var(--text-muted); opacity: 1; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: 0 0 0 1000px var(--background-secondary) inset;
  caret-color: var(--text-primary);
}
select { color-scheme: dark; }
option { background: var(--surface-elevated); color: var(--text-primary); }
:is(.tenant-app, .account-page, .application-page, .platform-admin-page, .admin-app, .community-cockpit, .auth-page, .live-wizard, .control-center) :is(input, select, textarea, option, optgroup) {
  color-scheme: dark;
  border-color: var(--border);
  background-color: var(--background-secondary) !important;
  color: var(--text-primary) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--brand-red);
  outline: 0;
  box-shadow: var(--focus-ring);
}
label, .field, .workspace-form label { color: var(--text-secondary); }
.field-control button { background: var(--surface-hover); color: var(--text-secondary); }

/* Shared feedback states */
.empty-state, .error-state, .loading-state, .control-empty, .team-public-empty {
  min-height: 150px;
  padding: 24px;
  border-color: var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
}
.empty-state-mark {
  border-color: rgba(240, 68, 68, 0.22);
  background: var(--brand-red);
  box-shadow: inset 0 0 0 7px var(--surface), 0 0 0 1px rgba(240, 68, 68, 0.25);
}
.skeleton { background: linear-gradient(90deg, var(--surface-elevated) 20%, var(--surface-hover) 40%, var(--surface-elevated) 60%); background-size: 220% 100%; }
.error-state, .form-message.error { border-color: rgba(239, 68, 68, 0.35); background: rgba(239, 68, 68, 0.08); color: #ff9292; }
.form-message:not(.error), .workspace-message, .player-message { border-color: rgba(52, 199, 123, 0.25); background: rgba(52, 199, 123, 0.08); color: var(--success); }

/* Shared data tables */
.ds-data-table,
.data-table,
.control-table,
.applications-table,
.rankings-table,
.public-league-table,
.team-public-table,
.role-matrix,
.tournament-roster,
.scratch-admin > div {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
}
:is(.data-row, .control-table > article, .applications-row, .rankings-row, .public-league-row, .team-table-row, .statistics-row, .scratch-admin > div > article) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  transition: background-color 180ms ease;
}
:is(.data-row, .control-table > article, .applications-row, .rankings-row, .public-league-row, .team-table-row, .statistics-row, .scratch-admin > div > article):hover {
  background: var(--surface-hover);
}
:is(.data-head, .table-header, .rankings-row.head, .public-league-row.head) {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-elevated);
  color: var(--text-muted);
}

/* One application-shell language for every authenticated context */
:is(.tenant-app, .admin-app, .control-center) {
  min-height: 100dvh;
  background: var(--background);
  color: var(--text-primary);
}
:is(.tenant-sidebar, .admin-sidebar, .control-center > aside) {
  width: 252px;
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-secondary);
}
:is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button) {
  min-height: 42px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-secondary);
}
:is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button):hover { background: var(--surface-hover); color: var(--text-primary); }
:is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button).active {
  background: rgba(240, 68, 68, 0.12);
  color: var(--text-primary);
  box-shadow: inset 3px 0 var(--brand-red);
}
:is(.tenant-topbar, .admin-topbar, .control-center > section > header) {
  height: 64px;
  border-color: var(--border);
  background: rgba(14, 16, 19, 0.9);
  backdrop-filter: blur(16px);
}
:is(.tenant-content, .admin-content, .control-content) {
  width: min(100%, var(--content-width));
  margin-inline: auto;
  padding: 32px var(--content-gutter) 64px;
}
:is(.tenant-hero, .workspace-section, .permission-panel, .control-card, .applications-card, .control-kpis article, .admin-kpis article) {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.tenant-hero { min-height: 240px; padding: 32px; }
.tenant-hero h1, .admin-heading h1, .control-center h1 { font-size: clamp(30px, 3vw, 42px); }
.workspace-section, .control-card, .applications-card { padding: 24px; }
.workspace-kpis, .admin-kpis, .control-kpis { gap: 16px; }
:is(.workspace-kpis, .admin-kpis, .control-kpis) article { min-height: 112px; padding: 20px; }
:is(.workspace-kpis, .admin-kpis, .control-kpis) article strong { color: var(--text-primary); font-size: 32px; }

/* Public, account and transactional page foundations */
:is(
  .auth-page, .account-page, .application-page, .player-shell, .directory-shell, .rankings-public,
  .public-club-page, .public-team-page, .public-league-page, .public-tournament-page,
  .public-match-page, .live-player-page, .live-manager, .live-wizard,
  .community-page, .community-wizard, .community-cockpit, .scoring-page
) {
  background: var(--background);
  color: var(--text-primary);
}
.auth-header, .account-header {
  height: 64px;
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-secondary);
}
.auth-grid { min-height: calc(100dvh - 64px); padding-block: 48px; }
.auth-card {
  padding: 32px;
  border-color: var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-md);
}
.auth-pitch p, .auth-points, .auth-card-head p, .field small { color: var(--text-secondary); }
.auth-pitch h1 { font-size: clamp(42px, 5vw, 64px); }
.auth-visual { border: 1px solid var(--border); box-shadow: var(--shadow-md); filter: none; }
.demo-access { border: 1px solid rgba(240, 68, 68, 0.22); background: rgba(240, 68, 68, 0.08); }

.application-header {
  height: 64px;
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-secondary);
}
.application-intro { max-width: 1280px; padding-block: 48px 72px; }
.application-intro > div:first-child { top: 80px; padding-top: 24px; }
.application-intro h1 { font-size: clamp(40px, 5vw, 64px); line-height: 0.98; }
.application-steps { border-color: var(--border); background: var(--border); }
.application-steps > div { background: var(--surface); }
.application-form {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-md);
}
.application-form .field :is(input, select, textarea) {
  border-color: var(--border);
  background: var(--background-secondary) !important;
  color: var(--text-primary) !important;
}

.account-shell, .player-shell, .directory-shell {
  width: min(100%, 1280px);
  padding: 48px var(--content-gutter) 72px;
}
:is(.tenant-picker, .notification-card, .session-card, .player-hero, .public-player-hero, .player-panel, .player-code-card) {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: var(--shadow-sm);
}
.tenant-picker-grid > a, .notification-list button {
  border-color: var(--border);
  background: var(--surface-elevated);
  color: var(--text-primary);
}
.tenant-picker-grid > a:hover, .notification-list button:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.player-code-card { background: var(--surface-elevated); }
.player-code-card p { color: var(--text-secondary); }

/* Public sports-data surfaces */
:is(
  .club-public-section, .team-public-section, .league-public-section, .tournament-public-section,
  .public-history, .public-leg-history, .public-stream, .public-score-wrap,
  .league-card, .live-stream-card, .live-info-card, .live-chat, .manager-controls,
  .profile-stat-hero, .profile-detail-stats, .profile-match-history, .profile-achievements
) {
  border-color: var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
:is(.club-public-header, .team-public-header, .tournament-public-header, .public-match-header) {
  border-color: var(--border);
  background: var(--background-secondary);
}
:is(.public-club-page, .public-team-page, .public-tournament-page, .public-league-page, .public-match-page) > :is(.club-public-header, .team-public-header, .tournament-public-header, .league-public-header, .public-match-header) {
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-primary);
  box-shadow: none;
}
:is(.rankings-public, .player-profile-public) > header {
  min-height: 64px;
  height: 64px;
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-primary);
  box-shadow: none;
}
:is(.club-public-hero, .team-public-hero, .tournament-hero, .rankings-hero) {
  min-height: auto;
  padding-top: 48px;
  padding-bottom: 48px;
  background: var(--background);
}
.rankings-hero { min-height: auto; padding: 48px max(var(--content-gutter), calc((100vw - var(--content-width)) / 2 + var(--content-gutter))) 36px; }
.rankings-hero h1 { font-size: clamp(42px, 6vw, 64px); line-height: 0.9; }
.rankings-table { width: min(calc(100% - (var(--content-gutter) * 2)), var(--content-width)); margin: 0 auto 72px; }
:is(.club-public-hero, .team-public-hero, .tournament-hero, .rankings-hero) h1 { font-size: clamp(36px, 5vw, 64px); }
.rankings-table { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.ranking-player i { border-color: var(--border-strong); background: var(--surface-elevated); color: var(--brand-red); }
.live-hub-hero { padding-block: 64px 48px; }
.live-hub-hero h1 { font-size: clamp(40px, 6vw, 64px); }
.live-hub-section { padding-bottom: 72px; }
.live-tabs button.active, .live-categories button.active { background: rgba(240, 68, 68, 0.12); color: var(--text-primary); }
.live-categories button, .live-stream-card, .live-card-body { border-color: var(--border); background: var(--surface); color: var(--text-primary); }
.live-wizard > footer { background: var(--background); }

/* Public club, team, player, league, tournament and match detail surfaces. */
:is(.public-club-page, .public-team-page, .player-profile-public, .public-league-page, .public-tournament-page, .public-match-page) {
  background: var(--background);
  color: var(--text-primary);
}
.player-profile-hero {
  border-color: var(--border);
  background: var(--background);
  color: var(--text-primary);
}
.player-profile-hero aside {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.player-profile-hero > div:nth-child(2) > div b {
  border-color: var(--border);
  background: var(--surface-elevated);
  color: var(--text-secondary);
}
:is(.club-player-section, .team-table-section) { background: var(--background-secondary); }
:is(
  .club-team-grid > article,
  .club-player-grid > a,
  .club-match-list,
  .club-competition-grid > a,
  .club-public-hero > aside,
  .team-public-hero > aside,
  .team-roster-grid > a,
  .team-fixture-list,
  .team-public-table,
  .profile-detail-stats,
  .profile-achievements,
  .profile-match-history,
  .league-public-hero aside,
  .public-league-table,
  .public-matchday-list details,
  .league-rules,
  .tournament-hero > aside,
  .public-entrant-grid article,
  .public-bracket article,
  .public-scoreboard,
  .public-player
) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
:is(.club-team-grid > article, .club-player-grid > a, .club-competition-grid > a, .team-roster-grid > a):hover {
  border-color: var(--border-strong);
  background: var(--surface-hover);
}
.club-team-roster > a { background: var(--background-secondary); }
:is(.club-match-list, .team-fixture-list, .profile-match-history, .public-league-table, .public-matchday-list details) > :is(a, article, div) {
  border-color: var(--border);
}
.profile-detail-stats > div > div { border-color: var(--border); }
.profile-achievements > div > div { border-color: var(--border); }
.tournament-hero > aside > div { border-color: var(--border); }
.public-entrant-grid { background: transparent; border: 0; }
.public-scoreboard { overflow: hidden; border-radius: var(--radius-md); }
.public-player.active {
  background: linear-gradient(180deg, rgba(240, 68, 68, 0.1), var(--surface) 58%);
  box-shadow: inset 0 3px var(--brand-red);
}
.public-player.winner { background: rgba(240, 68, 68, 0.08); }
.public-player dl { background: var(--border); }
.public-player dl div { background: var(--background-secondary); }
.public-versus { border-color: var(--border); background: var(--background-secondary); }
.public-remaining, .public-player-name strong, .public-leg-count strong { color: var(--text-primary); }
.public-stream, .public-score-wrap, .public-history, .public-leg-history {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
}

/* Marketing pages use the same components with controlled density. */
.section, .platform-section {
  width: min(100%, var(--content-width));
  padding: 72px var(--content-gutter);
  background: var(--background);
  color: var(--text-primary);
}
.platform-section { width: 100%; max-width: none; padding-inline: max(var(--content-gutter), calc((100vw - var(--content-width)) / 2 + var(--content-gutter))); background: var(--background-secondary); }
.section-heading { margin-bottom: 32px; }
.section-heading h2, .platform-intro h2, .cta-section h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.02; }
.feature-grid { gap: 16px; border: 0; background: transparent; }
.feature-card { min-height: 240px; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.feature-icon { margin-bottom: 40px; border-radius: var(--radius-sm); background: rgba(240, 68, 68, 0.08); }
.ticker { border-color: var(--border); background: var(--background-secondary); }
.ticker > div { border-color: var(--border); color: var(--text-secondary); }
.cta-section, .home-community-section {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}

/* Community, tournaments and scoring */
:is(.community-landing, .community-created, .community-cockpit, .community-live, .community-resume, .scratch-admin, .cockpit-games) {
  border-color: var(--border);
  background: var(--background);
  color: var(--text-primary);
}
.community-section {
  padding-block: 72px;
  background: var(--background-secondary);
  color: var(--text-primary);
}
.community-section > header { margin-bottom: 32px; }
.community-section > header h2 { font-size: clamp(36px, 5vw, 56px); line-height: 0.98; }
.community-section > header p { color: var(--text-secondary); }
.community-preset-grid > a {
  min-height: 230px;
  border-color: var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.community-preset-grid > a:hover { border-color: var(--border-strong); background: var(--surface-hover); box-shadow: none; transform: translateY(-1px); }
.community-preset-grid p { color: var(--text-secondary); }
.community-live-section { padding-block: 72px; background: var(--background); }
.community-live-section h2 { font-size: clamp(32px, 4vw, 48px); }
.community-final-cta { min-height: 360px; padding-block: 72px; background: var(--background-secondary); }
.community-final-cta h2 { font-size: clamp(40px, 5vw, 64px); }
:is(.community-form, .community-card, .wizard-shell, .wizard-summary, .community-cockpit-login section, .scratch-late-entry, .scratch-bounty-note) {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
}
:is(.scratch-late-entry, .scratch-bounty-note) { margin-inline: var(--content-gutter); }
.scratch-admin > div > article.eliminated { background: var(--background-secondary); color: var(--text-muted); }
.scratch-admin > div > article.winner { background: rgba(240, 68, 68, 0.08); box-shadow: inset 3px 0 var(--brand-red); }
.scratch-actions button {
  border-color: var(--border);
  border-radius: var(--radius-sm);
  background: var(--surface-elevated);
  color: var(--text-secondary);
}
.cockpit-games > div > article { border-color: var(--border); background: var(--surface); }
.cockpit-games article input { border-color: var(--border); background: var(--background-secondary); color: var(--text-primary); }
.scoring-workspace, .score-entry, .visit-history, .score-controls { border-color: var(--border); background: var(--surface); color: var(--text-primary); }
.quick-scores button, .score-options button { border-color: var(--border); background: var(--surface-elevated); color: var(--text-primary); }

/* Remaining legacy dashboard panels are normalized to the shared surface system. */
:is(.player-stat-grid article, .workspace-heading, .workspace-kpis article, .team-preview article) {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
:is(.player-stat-grid article, .workspace-kpis article, .team-preview article):hover {
  border-color: var(--border-strong);
  background: var(--surface-hover);
}
.workspace-heading { min-height: 240px; }
.workspace-heading h1 { font-size: clamp(32px, 3vw, 48px); line-height: 1; }
:is(.workspace-heading, .workspace-kpis, .team-preview) p,
.team-preview article span { color: var(--text-secondary); }
:is(.workspace-kpis, .team-preview) strong,
.tenant-picker-grid strong { color: var(--text-primary); }
.tenant-picker-grid small { color: var(--text-muted); }
.player-directory-grid article {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.player-directory-grid article:hover { border-color: var(--border-strong); background: var(--surface-hover); }

/* Tenant modules: cards, filters and lists share one dark surface vocabulary. */
:is(
  .create-panel,
  .team-card,
  .venue-card,
  .calendar-toolbar,
  .calendar-week,
  .match-admin-list > article,
  .member-admin-list > article,
  .tournament-card,
  .league-card,
  .statistics-ranking,
  .role-matrix,
  .tenant-audit,
  .tenant-settings-form,
  .media-library,
  .media-upload-panel
) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.create-panel summary { color: var(--brand-red); }
.create-panel[open] summary { border-color: var(--border); }
.team-card > header,
.venue-card > header {
  border-color: var(--border);
  background: var(--surface-elevated);
}
:is(.team-card, .venue-card) :is(h2, strong) { color: var(--text-primary); }
:is(.team-card, .venue-card) :is(p, small, .venue-notes) { color: var(--text-secondary); }
.calendar-week > article { border-color: var(--border); background: var(--background-secondary); }
.calendar-week > article.today { background: rgba(240, 68, 68, 0.06); box-shadow: inset 0 3px var(--brand-red); }
.calendar-week > article > header { border-color: var(--border); }
.calendar-week > article > header :is(span, small),
.calendar-week > article > div > p { color: var(--text-muted); }
.calendar-week > article > header strong { color: var(--text-primary); }
.calendar-toolbar :is(label, .calendar-legend) { color: var(--text-secondary); }
.calendar-toolbar :is(select, input),
.board-list :is(select, a),
.venue-card > footer button {
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-primary);
}
.match-admin-list > article:hover,
.member-admin-list > article:hover,
.team-card:hover,
.venue-card:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.match-meta span { background: var(--background-secondary); color: var(--text-muted); }
.member-admin-list > article { border-bottom-color: var(--border); }

/* Platform administration and dialogs */
.platform-admin-page,
.platform-admin-page .admin-app {
  --ink: var(--text-primary);
  --muted: var(--text-muted);
  --line: var(--border);
  --surface: #14171b;
  background: var(--background);
  color: var(--text-primary);
}
.platform-admin-page .admin-main {
  min-height: 100vh;
  background: var(--background);
  color: var(--text-primary);
}
.admin-app .admin-main {
  min-height: 100vh;
  background: var(--background);
  color: var(--text-primary);
}
.platform-admin-page :is(.admin-sidebar, .admin-topbar) { border-color: var(--border); background: var(--background-secondary); }
.platform-admin-page :is(.admin-kpis article, .applications-card, .admin-security) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.admin-app :is(.admin-kpis article, .applications-card, .admin-security) {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
  box-shadow: none;
}
.platform-admin-page .admin-kpis article.attention { background: linear-gradient(145deg, rgba(240, 68, 68, 0.09), var(--surface)); }
.platform-admin-page :is(.admin-heading p, .admin-kpis span, .admin-kpis small) { color: var(--text-secondary); }
.platform-admin-page :is(input, select, textarea),
:is(.tenant-app, .account-page, .application-page, .platform-admin-page, .admin-app) :is(select, option, optgroup) {
  color-scheme: dark;
  border-color: var(--border);
  background-color: var(--background-secondary) !important;
  color: var(--text-primary) !important;
}
.review-overlay { background: rgba(0, 0, 0, 0.76); }
.review-panel { border: 1px solid var(--border); background: var(--background-secondary); color: var(--text-primary); }
.review-panel > header, .review-panel > footer { border-color: var(--border); background: var(--background-secondary); }
.review-body { background: var(--background-secondary); color: var(--text-primary); }
.review-body :is(h2, h3, h4, label) { color: var(--text-primary); }
.review-body dl, .review-description, .review-document, .review-body aside textarea {
  border-color: var(--border);
  background: var(--surface);
  color: var(--text-primary);
}
.review-body dl > div { border-color: var(--border); background: var(--surface); }
.review-checks { color: var(--text-secondary); }
.review-edit-form :is(input, textarea, select), .admin-create :is(input, select), .control-search input {
  border-color: var(--border);
  background: var(--background-secondary);
  color: var(--text-primary);
}

.community-footer { border-color: var(--border); background: var(--background); color: var(--text-secondary); }

/* Authenticated DartSyS App mode */
.dartsys-app-shell {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 240px minmax(0, 680px) minmax(280px, 320px);
  justify-content: center;
  gap: 40px;
  background: var(--background);
  color: var(--text-primary);
}
@media (min-width: 1280px) {
  .dartsys-app-shell { width: min(calc(100% - 48px), 1600px); margin-inline: auto; grid-template-columns: 250px minmax(0,1fr); justify-content: stretch; gap: 28px; }
  .dartsys-app-shell.has-context { grid-template-columns: 250px minmax(0,1fr) minmax(280px,320px); }
  .dartsys-app-shell.app-shell-community { grid-template-columns: 250px minmax(620px,720px) minmax(280px,320px); justify-content: center; }
  .dartsys-app-shell .app-side-nav { width: 250px; }
  .dartsys-app-shell.no-context .app-feed-column { width: 100%; }
  .app-shell-club .app-club-content .tenant-content { padding: 32px 36px 90px; }
  .app-shell-club .workspace-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .app-shell-club .workspace-heading { min-height: 260px; }
  .app-shell-profile .app-feed-column,.app-shell-live .app-feed-column,.app-shell-search .app-feed-column { max-width: none; }
}
@media (min-width: 1600px) {
  .dartsys-app-shell { width: min(calc(100% - 64px), 1680px); gap: 36px; }
  .dartsys-app-shell.has-context { grid-template-columns: 260px minmax(0,1fr) 330px; }
  .dartsys-app-shell.app-shell-community { grid-template-columns: 260px 720px 330px; }
}
.app-side-nav {
  width: 240px;
  height: 100dvh;
  padding: 28px 18px 20px;
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border);
}
.app-side-nav > .brand { margin: 0 12px 34px; }
.app-side-nav nav { display: grid; gap: 6px; }
.app-nav-section-label { min-height: 24px; padding: 0 12px; display: flex; align-items: center; color: var(--text-muted); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.app-nav-section-spaced { margin-top: 14px; }
.app-side-nav nav a,
.app-club-link a,
.app-side-footer > a {
  min-height: 48px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-radius: 10px;
  color: var(--text-secondary);
  font-size: 15px;
  font-weight: 650;
  text-decoration: none;
  transition: color 160ms ease, background 160ms ease;
}
.app-side-nav nav a:hover,
.app-side-nav nav a.active,
.app-club-link a:hover,
.app-club-link a.active,
.app-side-footer > a:hover,
.app-side-footer > a.active { color: var(--text-primary); background: var(--surface-hover); }
.app-side-nav nav a.active { box-shadow: inset 3px 0 var(--brand-red); }
.app-side-nav nav svg { flex: 0 0 auto; }
.app-club-link { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.app-club-link > span { padding: 0 12px 8px; display: block; color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.app-club-link b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-club-link a { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 2px 14px; }
.app-club-link a > svg { grid-row: 1 / 3; align-self: center; }
.app-club-link a > small { color: var(--text-muted); font-size: 9px; font-weight: 650; }
.app-side-footer { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--border); }
.app-side-footer > a { padding-inline: 8px; }
.app-side-footer > a span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-side-footer button {
  width: 100%; min-height: 40px; margin-top: 6px; padding: 0 12px;
  border: 0; background: transparent; color: var(--text-muted); text-align: left; cursor: pointer;
}
.app-side-footer button:hover { color: var(--brand-red); }
.app-feed-column { min-width: 0; padding: 0 0 80px; border-inline: 1px solid var(--border); }
.app-feed-header {
  min-height: 70px;
  padding: 0 22px;
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
  background: rgba(8, 9, 11, .88);
  backdrop-filter: blur(18px);
}
.app-feed-header > div { height: 70px; display: flex; gap: 24px; }
.app-feed-header button { position: relative; border: 0; background: transparent; color: var(--text-muted); font: inherit; font-weight: 720; cursor: pointer; }
.app-feed-header button.active { color: var(--text-primary); }
.app-feed-header button.active::after { content: ""; height: 2px; position: absolute; inset: auto 0 0; background: var(--brand-red); }
.app-feed-header button:disabled { cursor: default; opacity: .48; }
.app-feed-header > a { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: var(--text-secondary); }
.app-feed-header > a:hover { background: var(--surface-hover); color: var(--text-primary); }
.club-quick-access {
  min-height: 104px;
  margin: 18px;
  padding: 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(240, 68, 68, .1), var(--surface) 55%);
  color: var(--text-primary);
  text-decoration: none;
}
.club-quick-access:hover { border-color: var(--border-strong); background: linear-gradient(135deg, rgba(240, 68, 68, .15), var(--surface-hover) 55%); }
.club-quick-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: rgba(240, 68, 68, .12); color: var(--brand-red); }
.club-quick-access small, .club-quick-access strong, .club-quick-access em { display: block; }
.club-quick-access small { margin-bottom: 3px; color: var(--brand-red); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.club-quick-access strong { font-size: 17px; }
.club-quick-access em { margin-top: 4px; color: var(--text-secondary); font-size: 13px; font-style: normal; }
.community-composer-teaser { min-height: 82px; padding: 16px 20px; display: flex; align-items: center; gap: 12px; border-block: 1px solid var(--border); }
.community-composer-teaser > div { min-width: 0; flex: 1; }
.community-composer-teaser strong, .community-composer-teaser p { display: block; margin: 0; }
.community-composer-teaser p { margin-top: 3px; color: var(--text-muted); font-size: 13px; }
.community-composer-teaser > a { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 9px; color: var(--text-primary); font-size: 13px; font-weight: 720; text-decoration: none; }
.community-feed { display: grid; }
.feed-post { padding: 22px 20px; border-bottom: 1px solid var(--border); background: var(--background); }
.feed-post-official { background: linear-gradient(180deg, rgba(240,68,68,.025), transparent 45%), var(--background); }
.feed-post > header { display: flex; align-items: center; gap: 11px; }
.feed-post > header > div { display: grid; gap: 2px; }
.feed-post > header > div { min-width: 0; flex: 1; }
.feed-post > header strong { font-size: 14px; }
.feed-post > header span { color: var(--text-muted); font-size: 12px; }
.feed-post-kicker { margin-top: 24px; color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.feed-post h2 { margin: 8px 0 16px; color: var(--text-primary); font-size: clamp(20px, 4vw, 27px); line-height: 1.12; }
.feed-post > p { color: var(--text-secondary); }
.feed-match-result { min-height: 76px; padding: 16px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.feed-match-result span { color: var(--text-secondary); font-size: 13px; }
.feed-match-result strong { color: var(--success); font-size: 12px; letter-spacing: .08em; }
.feed-post > .feed-social-actions { margin-top: 14px; }
.feed-sport-card { margin-top: 16px; padding: 18px; position: relative; display: block; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: linear-gradient(140deg, rgba(240,68,68,.09), var(--surface) 48%); color: var(--text-primary); text-decoration: none; }
.feed-sport-card::after { content: ""; width: 130px; height: 130px; position: absolute; right: -54px; bottom: -72px; border: 22px solid rgba(240,68,68,.055); border-radius: 50%; pointer-events: none; }
a.feed-sport-card:hover { border-color: rgba(240,68,68,.42); transform: translateY(-1px); }
.feed-sport-kicker { display: flex; align-items: center; gap: 8px; color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.feed-sport-kicker i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--brand-red); }
.feed-sport-card h2 { margin: 12px 0 14px; font-size: clamp(20px, 4vw, 27px); letter-spacing: -.025em; line-height: 1.08; }
.feed-sport-details { display: grid; gap: 5px; }
.feed-sport-details span { color: var(--text-secondary); font-size: 13px; line-height: 1.45; }
.feed-sport-cta { margin-top: 18px; display: inline-flex; align-items: center; gap: 7px; color: var(--text-primary) !important; font-size: 12px !important; font-weight: 760; }
.feed-sport-cta svg { width: 16px; height: 16px; color: var(--brand-red); }
.feed-social-actions { min-height: 44px; padding: 0; display:flex; align-items:center; justify-content:space-between; gap:12px; border:0; border-top: 1px solid var(--border); background:transparent; box-shadow:none; }
.feed-social-actions button { min-width: 44px; min-height: 44px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.feed-social-actions button:hover { background:transparent; color: var(--text-primary); }
.feed-social-actions svg { width: 19px; height: 19px; }
.feed-social-actions .liked svg { fill: currentColor; }
.post-menu { position: relative; margin-left: auto; }
.post-menu summary { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--text-muted); cursor: pointer; list-style: none; letter-spacing: .08em; }
.post-menu summary::-webkit-details-marker { display: none; }.post-menu summary:hover { background: var(--surface-hover); color: var(--text-primary); }
.post-menu > div { min-width: 180px; padding: 7px; position: absolute; z-index: 12; top: 44px; right: 0; display: grid; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-elevated); box-shadow: var(--shadow-md); }
.post-menu button { min-height: 40px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--text-secondary); text-align: left; cursor: pointer; }.post-menu button:hover { background: var(--surface-hover); color: var(--text-primary); }.post-menu button.danger { color: var(--brand-red); }
.feed-action-message { margin: 12px 0 0 !important; color: var(--brand-red) !important; font-size: 12px; }
.comment-backdrop { padding: 24px; position: fixed; inset: 0; z-index: 110; display: grid; place-items: center; background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.comment-sheet { width: min(100%,680px); height: min(82vh,760px); display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 18px; background: var(--surface-elevated); box-shadow: var(--shadow-lg); }
.comment-sheet > header { min-height: 62px; padding: 0 18px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; border-bottom: 1px solid var(--border); }.comment-sheet > header h2 { margin: 0; text-align: center; font-size: 17px; }.comment-sheet > header button { width: 42px; height: 42px; border: 0; background: transparent; color: var(--text-secondary); font-size: 26px; cursor: pointer; }
.comment-list { padding: 8px 20px 24px; overflow-y: auto; }.comment-list > article { padding: 15px 0; display: flex; align-items: flex-start; gap: 11px; border-bottom: 1px solid var(--border); }.comment-list > article.reply { margin-left: 48px; }.comment-list > article > div { min-width: 0; flex: 1; }.comment-list article header { display: flex; align-items: baseline; gap: 8px; }.comment-list article time { color: var(--text-muted); font-size: 10px; }.comment-list article p { margin: 6px 0 2px; color: var(--text-secondary); font-size: 14px; line-height: 1.5; white-space: pre-wrap; }.comment-actions { min-height: 0; height: auto; margin: 0; padding: 0; display: flex; align-items: center; gap: 14px; border: 0; background: transparent; }.comment-actions button { min-height: 0; height: auto; padding: 6px 0; border: 0; background: transparent; color: var(--text-muted); font-size: 11px; font-weight: 700; cursor: pointer; }.comment-actions button:hover { color: var(--text-primary); }
.comment-avatar,.comment-input-avatar { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--brand-red); font-size: 10px; font-weight: 800; }.comment-avatar img { width: 100%; height: 100%; object-fit: cover; }
.comment-empty { padding: 90px 20px; text-align: center; }.comment-empty h3 { margin: 0; }.comment-empty p { color: var(--text-muted); }
.comment-sheet > footer { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: var(--surface-elevated); }.comment-sheet > footer > div:last-child { display: flex; align-items: flex-end; gap: 10px; }.comment-sheet textarea { min-height: 42px; max-height: 110px; padding: 10px 12px; flex: 1; resize: vertical; border: 1px solid var(--border) !important; border-radius: 18px; background: var(--surface) !important; color: var(--text-primary) !important; font: inherit; }.comment-sheet > footer > div:last-child > button { min-height: 42px; padding: 0 12px; border: 0; background: transparent; color: var(--brand-red); font-weight: 800; cursor: pointer; }.comment-sheet button:disabled { opacity: .45; }
.reply-context { min-height: 30px; margin-bottom: 6px; display: flex; justify-content: space-between; color: var(--text-muted); font-size: 11px; }.reply-context button { border: 0; background: transparent; color: var(--text-muted); cursor: pointer; }
.comment-skeleton { padding: 16px 0; display: flex; gap: 12px; }.comment-skeleton i { width: 38px; height: 38px; border-radius: 50%; background: var(--surface); animation: app-skeleton 1.3s ease-in-out infinite; }.comment-skeleton span { flex: 1; display: grid; gap: 8px; }.comment-skeleton b { width: 40%; height: 10px; border-radius: 5px; background: var(--surface); animation: app-skeleton 1.3s ease-in-out infinite; }.comment-skeleton b:last-child { width: 72%; }
.feed-post footer a, .app-context-card a { display: inline-flex; align-items: center; gap: 8px; color: var(--text-primary); font-size: 13px; font-weight: 720; text-decoration: none; }
.feed-post footer a:hover, .app-context-card a:hover { color: var(--brand-red); }
.feed-system-avatar { width: 38px; height: 38px; display: grid !important; place-items: center; border-radius: 50%; background: rgba(240,68,68,.12); color: var(--brand-red) !important; }
.app-avatar { flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface-elevated); color: var(--text-primary); font-size: 11px; font-weight: 800; }
.app-avatar img { width: 100%; height: 100%; object-fit: cover; }
.app-avatar-small { width: 38px; height: 38px; }
.app-avatar-medium { width: 44px; height: 44px; }
.app-avatar-large { width: 72px; height: 72px; }
.app-feed-empty { padding: 72px 28px; text-align: center; }
.app-feed-empty > span { width: 64px; height: 64px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; background: var(--surface); color: var(--brand-red); }
.app-feed-empty h2 { margin: 0; font-size: 26px; }
.app-feed-empty p { max-width: 390px; margin: 10px auto 24px; color: var(--text-secondary); }
.app-context-panel { width: 320px; height: max-content; padding-top: 88px; position: sticky; top: 0; display: grid; gap: 14px; }
.app-context-card { padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.app-context-card > span { color: var(--brand-red); font-size: 10px; font-weight: 820; letter-spacing: .13em; }
.app-context-card h2 { margin: 8px 0 14px; font-size: 20px; }
.app-context-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
.app-context-card p strong { color: var(--text-primary); }
.app-player-code { margin: 12px 0 18px; display: block; font-size: 25px; letter-spacing: .05em; }
.app-mobile-header, .app-bottom-nav { display: none; }
.app-nav-badge { min-width: 19px; height: 19px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 10px; background: var(--brand-red); color: #fff; font-size: 10px; line-height: 1; }
.app-mobile-header .app-nav-badge { position: absolute; transform: translate(13px,-12px); }
.app-mobile-header > div a { position: relative; }
.app-live-content .live-hub-hero { min-height: 250px; padding: 44px 24px 32px; border-bottom: 1px solid var(--border); }
.app-live-content .live-hub-hero h1 { font-size: clamp(36px,6vw,56px); }
.app-live-content .live-hub-hero p { max-width: 520px; }
.app-live-content .live-hub-section { padding: 24px 20px 60px; }
.app-live-content .live-card-grid { grid-template-columns: 1fr; }
.app-live-detail { padding-top: 10px; }
.app-live-detail .live-player-page { padding: 8px 20px 60px; }
.app-live-detail .live-player-grid { grid-template-columns: 1fr; }
.app-list-screen > header { min-height: 88px; padding: 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); }
.app-list-screen > header span { color: var(--brand-red); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.app-list-screen > header h1 { margin: 4px 0 0; font-size: 25px; }
.app-list-screen > header button { border: 0; background: transparent; color: var(--brand-red); font-size: 12px; font-weight: 700; cursor: pointer; }
.app-list-empty { min-height: 480px; padding: 64px 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.app-list-empty > svg { width: 44px; height: 44px; margin-bottom: 18px; color: var(--text-muted); }
.app-list-empty h2 { margin: 0; font-size: 24px; }
.app-list-empty p { max-width: 400px; color: var(--text-secondary); }
.notification-list > button { width: 100%; min-height: 96px; padding: 16px 20px; position: relative; display: flex; align-items: center; gap: 13px; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: var(--text-primary); text-align: left; cursor: pointer; }
.notification-list > button:hover { background: var(--surface-hover); }
.notification-list > button.unread { background: rgba(240,68,68,.045); }
.notification-list > button > span:nth-child(2) { min-width: 0; flex: 1; }
.notification-list :is(strong,p,small) { display: block; margin: 0; }
.notification-list p { margin-top: 3px; color: var(--text-secondary); font-size: 13px; }
.notification-list small { margin-top: 5px; color: var(--text-muted); font-size: 11px; }
.notification-list > button > i { width: 7px; height: 7px; border-radius: 50%; background: var(--brand-red); }
.notification-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--surface-elevated); color: var(--brand-red); }
.app-own-profile .player-shell { padding: 24px 20px 60px; }
.app-own-profile .player-hero { margin-top: 0; }
.app-club-content .tenant-app { min-height: auto; display: block; }
.app-club-content .tenant-sidebar { display: none; }
.app-club-content .tenant-main { margin: 0; }
.app-club-content .tenant-content { padding: 24px 20px 70px; }
.app-club-content .tenant-topbar { position: static; }

/* App discovery and authenticated player profiles */
.app-search-screen > header { padding: 26px 20px 14px; position: sticky; top: 0; z-index: 18; border-bottom: 1px solid var(--border); background: rgba(8,9,11,.94); backdrop-filter: blur(18px); }
.app-search-screen h1 { margin: 0 0 18px; font-size: 25px; }
.app-search-heading > span { display: block; margin-bottom: 4px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.app-search-screen > header > label { min-height: 52px; padding: 0 14px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text-muted); }
.app-search-screen input { min-width: 0; flex: 1; border: 0 !important; outline: 0; background: transparent !important; color: var(--text-primary) !important; font: inherit; }
.app-search-screen input::placeholder { color: var(--text-muted); }
.app-search-screen label button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: var(--text-secondary); font-size: 25px; cursor: pointer; }
.app-search-screen nav { margin-top: 14px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.app-search-screen nav button { min-height: 44px; padding: 0 16px; flex: 0 0 auto; border: 1px solid var(--border); border-radius: 999px; background: transparent; color: var(--text-secondary); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.app-search-screen nav button.active { border-color: rgba(240,68,68,.5); background: rgba(240,68,68,.12); color: var(--text-primary); }
.app-discovery-results { padding-bottom: 40px; }
.discovery-section { padding: 24px 20px 8px; }
.discovery-section > h2 { margin: 0 0 10px; color: var(--text-muted); font-size: 10px; letter-spacing: .14em; }
.discovery-section > div { border-top: 1px solid var(--border); }
.discovery-row { min-height: 78px; padding: 12px 4px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }
.discovery-row:hover { background: linear-gradient(90deg, transparent, rgba(255,255,255,.025), transparent); }
.discovery-row > span:nth-child(2) { min-width: 0; flex: 1; }
.discovery-row :is(strong,small,em) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discovery-row strong { font-size: 14px; }
.discovery-row small { margin-top: 3px; color: var(--text-secondary); font-size: 12px; }
.discovery-row em { margin-top: 3px; color: var(--text-muted); font-size: 11px; font-style: normal; }
.discovery-row > svg { color: var(--text-muted); }
.discovery-badge { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--surface-elevated); color: var(--brand-red); }
.app-search-state { min-height: 440px; padding: 80px 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.app-search-state > svg { width: 42px; height: 42px; margin-bottom: 18px; color: var(--text-muted); }
.app-search-state h2 { margin: 0; font-size: 23px; }
.app-search-state p { max-width: 360px; color: var(--text-secondary); }
.search-skeleton { padding: 20px; display: grid; gap: 8px; }
.search-skeleton > div { min-height: 70px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); }
.search-skeleton i { width: 44px; height: 44px; border-radius: 50%; background: var(--surface-elevated); animation: app-skeleton 1.3s ease-in-out infinite; }
.search-skeleton span { flex: 1; display: grid; gap: 8px; }
.search-skeleton b { width: 42%; height: 10px; border-radius: 5px; background: var(--surface-elevated); animation: app-skeleton 1.3s ease-in-out infinite; }
.search-skeleton b:last-child { width: 65%; opacity: .7; }
@keyframes app-skeleton { 50% { opacity: .45; } }
.app-player-profile { padding-top: 12px; }
.app-profile-back { min-height: 44px; margin: 0 20px; display: inline-flex; align-items: center; color: var(--text-secondary); font-size: 13px; font-weight: 700; text-decoration: none; }
.app-player-profile .player-shell { padding: 8px 20px 60px; }
.app-player-profile .public-player-hero { margin: 0; border-color: var(--border); background: var(--surface); }
.app-player-profile .player-dashboard-grid { grid-template-columns: 1fr; }
.community-conversion { min-height: calc(100vh - 80px); padding: 120px max(24px, calc((100vw - 1120px)/2)); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: radial-gradient(circle at 75% 35%, rgba(240,68,68,.12), transparent 34%), var(--background); color: var(--text-primary); }
.community-conversion > span { color: var(--brand-red); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.community-conversion h1 { max-width: 720px; margin: 18px 0; font-size: clamp(44px,7vw,88px); line-height: .94; }
.community-conversion p { max-width: 580px; color: var(--text-secondary); font-size: 18px; }
.community-conversion > div { margin-top: 24px; display: flex; gap: 12px; }

@media (max-width: 1180px) {
  .dartsys-app-shell { grid-template-columns: 82px minmax(0, 680px) minmax(260px, 300px); gap: 24px; }
  .app-side-nav { width: 82px; padding-inline: 12px; }
  .app-side-nav > .brand { margin-inline: auto; }
  .app-side-nav > .brand span:last-child,
  .app-side-nav nav span,
  .app-nav-section-label,
  .app-club-link > span,
  .app-club-link b,
  .app-side-footer > a span:last-child,
  .app-side-footer button { display: none; }
  .app-side-nav nav a, .app-club-link a, .app-side-footer > a { justify-content: center; padding-inline: 0; }
  .app-context-panel { width: 300px; }
}

@media (max-width: 760px) {
  .dartsys-app-shell { width: 100%; max-width: 100%; overflow-x: clip; display: block; padding: calc(60px + env(safe-area-inset-top)) 0 calc(68px + env(safe-area-inset-bottom)); }
  .app-side-nav, .app-context-panel { display: none; }
  .app-mobile-header {
    height: calc(60px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 16px 0;
    position: fixed; inset: 0 0 auto; z-index: 40;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--border); background: rgba(8,9,11,.94); backdrop-filter: blur(18px);
  }
  .app-mobile-header > .brand { justify-self: start; }
  .app-mobile-header > .brand .brand-mark { width: 29px; height: 29px; }
  .app-mobile-header > .brand > span:last-child { display: inline; font-size: 18px; }
  .app-mobile-header > div { justify-self: end; display: flex; }
  .app-mobile-header > div a { width: 44px; height: 44px; display: grid; place-items: center; color: var(--text-primary); }
  .app-feed-column { width: min(100%, 680px); min-height: 100vh; margin: 0 auto; padding-bottom: 24px; }
  .app-feed-header { min-height: 56px; top: calc(60px + env(safe-area-inset-top)); display: flex; padding-inline: 16px; }
  .app-feed-header > div { height: 56px; }
  .app-bottom-nav {
    min-height: calc(68px + env(safe-area-inset-bottom));
    padding: 6px 10px env(safe-area-inset-bottom);
    position: fixed; inset: auto 0 0; z-index: 40;
    display: grid; grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--border); background: rgba(8,9,11,.96); backdrop-filter: blur(18px);
  }
  .app-bottom-nav a { min-width: 0; min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 9px; color: var(--text-muted); font-size: 10px; font-weight: 680; text-decoration: none; }
  .app-bottom-nav a.active { color: var(--brand-red); }
  .app-bottom-nav .app-create-nav { width: 48px; height: 48px; min-height: 48px; margin: 0 auto; align-self: center; border-radius: 50%; background: var(--brand-red); color: #fff; box-shadow: 0 8px 24px rgba(240,68,68,.25); }
  .app-bottom-nav .app-create-nav span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .app-search-screen > header { top: calc(60px + env(safe-area-inset-top)); padding-top: 18px; }
  .app-live-content .live-hub-hero { padding-top: 32px; }
  .app-live-content .live-hub-signal { display: none; }
}

@media (max-width: 540px) {
  .app-feed-column { width:100%;max-width:100%;overflow-x:clip;border: 0; }
  .club-quick-access { margin: 12px; padding: 14px; }
  .community-composer-teaser { padding-inline: 14px; }
  .feed-post { padding: 20px 14px; }
  .discovery-section { padding-inline: 14px; }
  .app-player-profile .player-shell { padding-inline: 12px; }
  .community-conversion { padding: 88px 20px; }
  .community-conversion > div { width: 100%; flex-direction: column; }
  .comment-backdrop { padding: 0; align-items: end; }.comment-sheet { width: 100%; max-width:100vw; height: min(88dvh,820px); border-radius: 18px 18px 0 0; }.comment-list { padding-inline: 14px; }.comment-list > article.reply { margin-left: 34px; }
  .feed-post > .feed-social-actions { justify-content:space-between;gap:8px; }.feed-post > .feed-social-actions button { min-height:44px;padding:0 6px; }
  .app-mobile-header > div a,.app-bottom-nav a { min-width:44px;min-height:44px; }
}

@media (min-width: 1600px) {
  :root { --content-width: 1520px; }
}

@media (max-width: 1024px) {
  :root { --content-gutter: 24px; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) { width: 72px; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) :is(.brand > span:last-child, nav span, footer, .tenant-identity > span) { display: none; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button) { justify-content: center; }
  .player-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .auth-grid { grid-template-columns: minmax(0, 1fr); }
  .auth-card { width: 100%; max-width: 520px; margin-inline: auto; }
}

@media (max-width: 720px) {
  :root { --content-gutter: 16px; }
  .site-header { height: 64px; padding-inline: 16px; }
  .section, .platform-section { padding-block: 48px; }
  .section-heading { align-items: flex-start; gap: 16px; }
  .section-heading h2, .platform-intro h2, .cta-section h2 { font-size: 30px; }
  .auth-grid, .account-shell, .player-shell, .directory-shell { padding: 32px 16px 72px; }
  .auth-pitch { display: none; }
  .auth-card { padding: 24px 20px; }
  .account-welcome, .player-hero, .public-player-hero { grid-template-columns: auto 1fr; gap: 16px; }
  .account-welcome > :is(button, a), .player-hero > :is(button, a), .public-player-hero > :is(button, a) { grid-column: 1 / -1; width: 100%; }
  :is(.tenant-app, .admin-app, .control-center) { padding-bottom: 68px; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) {
    width: auto;
    height: 68px;
    min-height: 0;
    padding: 8px 12px;
    position: fixed;
    inset: auto 0 0;
    z-index: 30;
    border: 0;
    border-top: 1px solid var(--border);
    background: rgba(14, 16, 19, 0.96);
  }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) > :not(nav) { display: none; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    overflow: hidden;
  }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button) { min-height: 50px; padding: 0 6px; }
  :is(.tenant-sidebar, .admin-sidebar, .control-center > aside) nav :is(a, button):nth-child(n + 6) { display: none; }
  .tenant-sidebar { padding-inline: 8px; }
  .tenant-sidebar nav { display: flex; grid-template-columns: none; gap: 4px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-inline: contain; }
  .tenant-sidebar nav::-webkit-scrollbar { display: none; }
  .tenant-sidebar nav :is(a, button), .tenant-sidebar nav :is(a, button):nth-child(n + 6) { min-width: 74px; width: 74px; min-height: 50px; padding: 4px; flex: 0 0 74px; display: grid; grid-template-rows: 23px 15px; justify-items: center; font-size: 10px; }
  .tenant-sidebar nav :is(a, button) span { max-width: 70px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tenant-sidebar nav :is(a, button).active { box-shadow: inset 0 2px var(--brand-red); }
  :is(.tenant-content, .admin-content, .control-content) { padding: 24px 16px 84px; }
  :is(.tenant-topbar, .admin-topbar, .control-center > section > header) { height: 60px; padding-inline: 16px; }
  .workspace-form, .profile-form, .admin-create { grid-template-columns: 1fr; }
  .workspace-form .wide, .profile-form .wide { grid-column: auto; }
  .data-table, .applications-table, .control-table, .rankings-table { border-radius: var(--radius-sm); }
  .live-player-page, .live-manager, .live-wizard, .live-hub-hero, .live-hub-section { padding-inline: 16px; }
  .live-wizard > footer { background: rgba(8, 9, 11, 0.94); }
}

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

/* Personal home hub */
.personal-home { padding: 38px 20px 80px; }
.personal-home > header { padding: 10px 0 30px; }
.personal-home > header span { color: var(--brand-red); font-size: 11px; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; }
.personal-home > header h1 { margin: 8px 0 6px; font-size: clamp(34px,5vw,48px); line-height: 1; }
.personal-home > header p { margin: 0; color: var(--text-secondary); }
.personal-home-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.personal-home-card { min-height: 142px; padding: 20px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text-primary); text-decoration: none; }
.personal-home-card:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.personal-home-card > svg:first-child { width: 24px; height: 24px; color: var(--brand-red); }
.personal-home-card > svg:last-child { width: 17px; color: var(--text-muted); }
.personal-home-card > span { min-width: 0; display: grid; gap: 5px; }
.personal-home-card small { color: var(--brand-red); font-size: 9px; font-weight: 820; letter-spacing: .13em; }
.personal-home-card strong { font-size: 17px; }
.personal-home-card em { color: var(--text-muted); font-size: 12px; font-style: normal; line-height: 1.45; }
.personal-home-card.club { background: linear-gradient(135deg,rgba(240,68,68,.1),var(--surface) 55%); }
.home-community-preview { margin-top: 38px; border-top: 1px solid var(--border); }
.home-community-preview > header { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.home-community-preview > header span { color: var(--brand-red); font-size: 9px; font-weight: 820; letter-spacing: .13em; }
.home-community-preview > header h2 { margin: 6px 0 0; font-size: 22px; }
.home-community-preview > header a,.home-inline-empty a { color: var(--text-primary); font-size: 12px; font-weight: 720; text-decoration: none; }
.home-community-preview .feed-post { padding-inline: 0; }
.home-inline-empty { padding: 24px 0; color: var(--text-muted); }
.home-inline-empty p { margin-top: 0; }

/* Premium athlete, club channel and social composer */
.athlete-profile { width: min(100%, 980px); margin: 0 auto; padding: 42px 24px 80px; color: var(--text-primary); }
.athlete-header { min-height: 180px; padding: 28px 0; display: grid; grid-template-columns: 116px minmax(0,1fr) auto; align-items: center; gap: 26px; border-bottom: 1px solid var(--border); }
.athlete-photo { width: 116px; height: 116px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 50%; background: linear-gradient(145deg,var(--surface-elevated),var(--surface)); color: var(--brand-red); font-size: 30px; font-weight: 850; }
.athlete-photo img { width: 100%; height: 100%; object-fit: cover; }
.athlete-identity > small,.athlete-section-title span,.club-channel-title span,.club-channel-identity > small { color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.athlete-identity h1 { margin: 7px 0 3px; font-size: clamp(30px,4vw,42px); line-height: 1; }
.athlete-handle,.athlete-bio { margin: 0; color: var(--text-secondary); }
.athlete-handle { font-size: 13px; }.athlete-handle span { color: var(--border-strong); }
.athlete-bio { max-width: 520px; margin-top: 12px; line-height: 1.55; }
.athlete-meta { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px 14px; }
.athlete-meta :is(a,span) { color: var(--text-muted); font-size: 12px; text-decoration: none; }.athlete-meta a { color: var(--text-primary); }
.player-social-actions { max-width: 320px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.player-social-actions > span { padding: 0 4px; display: grid; text-align: center; color: var(--text-muted); font-size: 10px; }.player-social-actions > span strong { color: var(--text-primary); font-size: 17px; }
.player-social-actions .button { min-height: 44px; padding-inline: 14px; }
.profile-more { position: relative; }
.profile-more summary { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 9px; color: var(--text-secondary); cursor: pointer; list-style: none; letter-spacing: .08em; }
.profile-more summary::-webkit-details-marker { display: none; }
.profile-more > button { min-width: 170px; min-height: 42px; padding: 0 12px; position: absolute; z-index: 10; top: 48px; right: 0; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-elevated); color: var(--brand-red); font: inherit; font-size: 12px; font-weight: 700; box-shadow: var(--shadow-md); cursor: pointer; }
.profile-action-error { width: 100%; margin: 4px 0 0; color: var(--brand-red); font-size: 11px; text-align: right; }
.athlete-stats,.athlete-analytics { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--border); }
.athlete-stats > div,.athlete-analytics > div { min-height: 104px; padding: 24px; display: grid; align-content: center; gap: 6px; border-right: 1px solid var(--border); }
.athlete-stats > div:last-child,.athlete-analytics > div:last-child { border-right: 0; }
.athlete-stats span,.athlete-analytics span { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.athlete-stats strong,.athlete-analytics strong { font-size: 28px; line-height: 1; }
.athlete-tabs,.club-channel-tabs { display: flex; gap: 28px; overflow-x: auto; border-bottom: 1px solid var(--border); scrollbar-width: none; }
.athlete-tabs button,.club-channel-tabs button { min-height: 58px; padding: 0; position: relative; flex: 0 0 auto; border: 0; background: transparent; color: var(--text-muted); font: inherit; font-size: 13px; font-weight: 720; cursor: pointer; }
.athlete-tabs button.active,.club-channel-tabs button.active { color: var(--text-primary); }.athlete-tabs button.active::after,.club-channel-tabs button.active::after { content:""; height: 2px; position: absolute; inset: auto 0 -1px; background: var(--brand-red); }
.athlete-content { min-height: 300px; padding-top: 30px; }
.athlete-overview { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.8fr); gap: 36px; }
.athlete-section-title h2,.club-channel-title h2 { margin: 6px 0 18px; font-size: 21px; }
.athlete-performance { min-height: 300px; padding-right: 28px; border-right: 1px solid var(--border); }
.inline-empty { margin: 0; padding: 18px 0; color: var(--text-muted); font-size: 13px; line-height: 1.5; }
.athlete-stats > .inline-empty { grid-column: 1/-1; min-height: 104px; padding: 24px; display: flex; align-items: center; }
.athlete-matches { display: grid; }.athlete-matches > a { min-height: 66px; padding: 12px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }
.athlete-matches span { min-width: 0; display: grid; gap: 4px; }.athlete-matches strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }.athlete-matches small { color: var(--text-muted); font-size: 11px; }.athlete-matches b { color: var(--brand-red); font-size: 10px; letter-spacing: .08em; }
.athlete-club { min-height: 74px; margin-top: 22px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text-primary); text-decoration: none; }.athlete-club span { display: grid; gap: 4px; }.athlete-club small { color: var(--brand-red); font-size: 9px; letter-spacing: .13em; }.athlete-club b { color: var(--text-secondary); font-size: 11px; }
.athlete-analytics { grid-template-columns: repeat(5,1fr); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.athlete-skeleton header { display: flex; gap: 24px; }.athlete-skeleton i { width: 116px; height: 116px; border-radius: 50%; background: var(--surface-elevated); }.athlete-skeleton header div { flex: 1; display: grid; align-content: center; gap: 12px; }.athlete-skeleton b { width: 45%; height: 15px; border-radius: 6px; background: var(--surface-elevated); }.athlete-skeleton b:nth-child(2) { width: 70%; height: 30px; }.athlete-skeleton > div { height: 100px; margin-top: 20px; background: var(--surface); }.athlete-skeleton :is(i,b,div) { animation: app-skeleton 1.3s ease-in-out infinite; }

.feed-quick-composer { width: calc(100% - 36px); min-height: 76px; margin: 18px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text-muted); text-align: left; cursor: pointer; }.feed-quick-composer:hover { border-color: var(--border-strong); background: var(--surface-hover); }.feed-quick-composer > span:nth-child(2) { min-width: 0; flex: 1; }.feed-quick-composer > b { color: var(--brand-red); font-size: 12px; }
.composer-avatar,.feed-author-avatar { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface-elevated); color: var(--text-primary); font-size: 11px; font-weight: 800; }.composer-avatar img,.feed-author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.composer-backdrop { padding: 24px; position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.post-composer-sheet { width: min(100%,620px); max-height: min(760px,calc(100vh - 48px)); overflow: auto; border: 1px solid var(--border-strong); border-radius: 18px; background: var(--surface-elevated); box-shadow: var(--shadow-lg); }
.post-composer-sheet > header { min-height: 62px; padding: 0 18px; display: flex; align-items: center; border-bottom: 1px solid var(--border); }.post-composer-sheet > header h2 { margin: 0; flex: 1; font-size: 17px; }.post-composer-sheet > header button { border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; }.post-composer-sheet > header > button:first-child,.composer-publish-mobile { display: none; }.composer-close { font-size: 26px; }
.composer-author { padding: 18px 20px 0; display: flex; align-items: center; gap: 11px; }.composer-author > span:last-child { display: grid; gap: 3px; }.composer-author small { color: var(--text-muted); }
.post-composer-sheet textarea { width: 100%; min-height: 180px; padding: 22px 20px; resize: none; border: 0 !important; outline: 0; background: transparent !important; color: var(--text-primary) !important; font: inherit; font-size: 19px; line-height: 1.55; }.post-composer-sheet textarea::placeholder { color: var(--text-muted); }
.composer-preview { margin: 0 20px 18px; position: relative; overflow: hidden; border-radius: 14px; background: var(--background); }.composer-preview > button { width: 38px; height: 38px; position: absolute; z-index: 2; top: 10px; right: 10px; border: 0; border-radius: 50%; background: rgba(0,0,0,.75); color: #fff; font-size: 22px; cursor: pointer; }
.post-composer-sheet > footer { min-height: 76px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border); }.post-composer-sheet > footer > div { display: flex; }.post-composer-sheet > footer > div button { min-height: 42px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--text-secondary); cursor: pointer; }.post-composer-sheet > footer > div button:hover:not(:disabled) { background: var(--surface-hover); color: var(--brand-red); }.post-composer-sheet > footer > div button:disabled { opacity: .4; }.post-composer-sheet .form-error { margin: 0 20px 14px; }
.feed-author-avatar { width: 42px; height: 42px; }.feed-post > .feed-social-actions { display: flex; align-items: center; gap: 22px; }.feed-post > .feed-social-actions span { font-size: 13px; }

.club-channel { min-height: 100vh; background: var(--background); color: var(--text-primary); }
.club-channel-nav { height: 72px; padding: 0 max(24px,calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); }.club-channel-nav > a:last-child { color: var(--text-secondary); font-size: 13px; text-decoration: none; }
.club-channel-header,.club-channel-stats,.club-channel-tabs,.club-channel-content { width: min(calc(100% - 48px),1120px); margin-inline: auto; }
.club-channel-header { min-height: 250px; padding: 52px 0 34px; position: relative; display: grid; grid-template-columns: 124px minmax(0,1fr) auto; align-items: end; gap: 28px; overflow: hidden; border-bottom: 1px solid var(--border); }.club-channel-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .12; filter: saturate(.7); }.club-channel-header::after { content:""; position:absolute;inset:0;background:linear-gradient(90deg,var(--background) 10%,transparent 70%,var(--background));pointer-events:none; }.club-channel-header > :not(.club-channel-cover) { position: relative; z-index: 1; }
.club-channel-logo { width: 124px; height: 124px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 24px; background: var(--surface-elevated); color: var(--brand-red); font-size: 32px; font-weight: 900; }.club-channel-logo img { width: 100%; height: 100%; object-fit: contain; }
.club-channel-identity h1 { margin: 8px 0 5px; font-size: clamp(32px,5vw,48px); line-height: 1; }.club-channel-identity p,.club-channel-identity div { margin: 0; color: var(--text-secondary); }.club-channel-identity div { max-width: 600px; margin-top: 14px; font-size: 14px; line-height: 1.55; }.club-channel-actions { display: flex; gap: 8px; }
.club-channel-stats { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--border); }.club-channel-stats > div { min-height: 104px; padding: 24px; display: grid; gap: 6px; align-content: center; border-right: 1px solid var(--border); }.club-channel-stats > div:last-child { border-right: 0; }.club-channel-stats span { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.club-channel-stats strong { font-size: 29px; }
.club-channel-content { padding: 34px 0 100px; }.club-channel-overview { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 46px; }.club-channel-title:not(:first-child) { margin-top: 34px; }
.club-channel-match { min-height: 82px; padding: 14px 0; display: grid; grid-template-columns: 110px minmax(0,1fr) auto; align-items: center; gap: 18px; border-bottom: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }.club-channel-match time { color: var(--text-muted); font-size: 11px; }.club-channel-match > div { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; }.club-channel-match > div span:last-child { text-align: right; }.club-channel-match > b { color: var(--brand-red); font-size: 9px; letter-spacing: .1em; }
.club-channel-players { display: grid; }.club-channel-players > a { min-height: 74px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }.club-channel-players > a > span { width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--surface-elevated); color: var(--brand-red); font-size: 11px; font-weight: 800; }.club-channel-players img { width: 100%; height: 100%; object-fit: cover; }.club-channel-players div { min-width: 0; flex: 1; display: grid; gap: 3px; }.club-channel-players small { color: var(--text-muted); }.club-channel-players b { color: var(--text-muted); }
.club-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.club-sport-card { min-height: 180px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text-primary); text-decoration: none; }.club-sport-card small { color: var(--brand-red); font-weight: 800; letter-spacing: .11em; }.club-sport-card h2 { margin: 10px 0 4px; }.club-sport-card p { color: var(--text-secondary); }.club-sport-card :is(a,b) { margin-top: auto; color: var(--text-primary); text-decoration: none; }

@media (max-width: 760px) {
  .personal-home { padding: 24px 14px 70px; }.personal-home > header { padding-top: 4px; }.personal-home-grid { grid-template-columns: 1fr; }.personal-home-card { min-height: 112px; padding: 17px; }.home-community-preview > header { align-items: flex-end; }.home-community-preview > header h2 { font-size: 20px; }
  .athlete-profile { padding: 16px 16px 70px; }.athlete-header { min-height: 0; grid-template-columns: 82px minmax(0,1fr); gap: 16px; }.athlete-photo { width: 82px; height: 82px; }.athlete-identity h1 { font-size: 29px; }.athlete-header .player-social-actions { grid-column: 1/-1; max-width: none; justify-content: flex-start; }.player-social-actions > span { order: -1; }.player-social-actions .button { flex: 1; }.profile-action-error { text-align: left; }.athlete-stats { grid-template-columns: repeat(2,1fr); }.athlete-stats > div { min-height: 86px; padding: 18px; border-bottom: 1px solid var(--border); }.athlete-stats > div:nth-child(2) { border-right: 0; }.athlete-tabs { gap: 24px; }.athlete-overview { grid-template-columns: 1fr; }.athlete-performance { min-height: 170px; padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--border); }.athlete-analytics { grid-template-columns: repeat(2,1fr); }.athlete-analytics > div { border-bottom: 1px solid var(--border); }
  .composer-backdrop { padding: 0; align-items: end; }.post-composer-sheet { width: 100%; max-height: calc(100dvh - env(safe-area-inset-top)); border-radius: 18px 18px 0 0; }.post-composer-sheet > header { padding-inline: 14px; }.post-composer-sheet > header h2 { text-align: center; }.post-composer-sheet > header > button:first-child,.composer-publish-mobile { display: block; }.composer-publish-mobile { color: var(--brand-red) !important; font-weight: 800; }.composer-close,.composer-publish { display: none !important; }.post-composer-sheet textarea { min-height: 220px; font-size: 18px; }.post-composer-sheet > footer { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }.post-composer-sheet > footer > div { width: 100%; justify-content: space-around; }.post-composer-sheet > footer > div button span { display: none; }
  .club-channel-nav { padding-inline: 16px; }.club-channel-header,.club-channel-stats,.club-channel-tabs,.club-channel-content { width: calc(100% - 32px); }.club-channel-header { padding-top: 32px; grid-template-columns: 88px minmax(0,1fr); gap: 16px; }.club-channel-logo { width: 88px; height: 88px; border-radius: 18px; }.club-channel-identity h1 { font-size: 29px; }.club-channel-actions { grid-column: 1/-1; }.club-channel-actions .button { flex: 1; }.club-channel-stats { grid-template-columns: repeat(2,1fr); }.club-channel-stats > div { min-height: 84px; padding: 16px; border-bottom: 1px solid var(--border); }.club-channel-stats > div:nth-child(2) { border-right: 0; }.club-channel-tabs { gap: 24px; }.club-channel-overview,.club-channel-grid { grid-template-columns: 1fr; }.club-channel-match { grid-template-columns: 1fr auto; }.club-channel-match time { grid-column: 1/-1; }.club-channel-match > div { grid-template-columns: 1fr auto 1fr; }
}

/* Universal league rulesets */
.league-ruleset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.league-ruleset-card { min-width:0; padding:22px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); box-shadow:var(--shadow-sm); }
.league-ruleset-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.league-ruleset-card h2 { margin:6px 0 0; font-size:20px; }
.league-ruleset-card small { color:var(--brand-red); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.league-ruleset-card > header > span { min-width:58px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface-elevated); color:var(--text-primary); font-size:20px; font-weight:800; text-align:center; }
.league-ruleset-card dl { margin:22px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.league-ruleset-card dl div { min-width:0; display:grid; gap:4px; }
.league-ruleset-card dt { color:var(--text-muted); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.league-ruleset-card dd { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.4; }
.league-ruleset-card footer { margin-top:20px; padding-top:14px; display:flex; gap:8px; border-top:1px solid var(--border); }
.league-ruleset-card footer button { min-height:40px; padding:0 13px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text-primary); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.league-ruleset-card footer button:hover:not(:disabled) { border-color:var(--border-strong); background:var(--surface-hover); }
.league-ruleset-card footer button.danger { margin-left:auto; color:var(--brand-red); }
.league-ruleset-card footer button:disabled { opacity:.4; cursor:not-allowed; }
.league-global-rules { margin-top:28px; }
.league-ruleset-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; }
.league-ruleset-dialog fieldset { margin:22px 0 0; padding:18px; border:1px solid var(--border); border-radius:12px; }
.league-ruleset-dialog legend { padding:0 8px; color:var(--text-primary); font-size:13px; font-weight:800; }
.league-ruleset-dialog fieldset > p { margin:0 0 16px; color:var(--text-muted); font-size:12px; }
@media (max-width:760px) {
  .league-ruleset-grid { grid-template-columns:1fr; }
  .league-ruleset-card { padding:18px; }
  .league-ruleset-card dl { grid-template-columns:1fr; gap:12px; }
  .league-ruleset-dialog { width:100%; max-height:calc(100dvh - 12px); margin-top:auto; border-radius:18px 18px 0 0; }
  .league-ruleset-dialog fieldset { padding:14px; }
}

/* Final system-wide enforcement: calendar, scoring and media identity */
.discovery-badge.club-logo { overflow: hidden; padding: 4px; }
.discovery-badge.club-logo img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 50%; }

.calendar-title-row { align-items: center; margin-bottom: 22px; }
.calendar-title-row .page-title { margin: 0; }
.calendar-title-row .page-title h1 { margin: 6px 0; font-size: clamp(28px, 3vw, 38px); }
.calendar-title-row .page-title p { max-width: 720px; margin: 0; color: var(--text-secondary); }
.calendar-nav { margin: 0; }
.calendar-nav > button {
  width: 42px; height: 42px; border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface-elevated); color: var(--text-primary);
}
.calendar-nav > button:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.calendar-nav strong { color: var(--text-primary); }
.calendar-nav small { color: var(--text-muted); }
.calendar-toolbar { border-color: var(--border); background: var(--surface); }
.calendar-toolbar label, .calendar-legend span { color: var(--text-secondary); }
.calendar-toolbar select,
.calendar-entry > footer details input,
.calendar-entry > footer details select {
  border-color: var(--border); background: var(--background-secondary); color: var(--text-primary);
}
.calendar-toolbar button { min-height: 42px; border: 1px solid var(--border); background: var(--surface-elevated); color: var(--text-primary); }
.calendar-toolbar button:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.calendar-week { border-color: var(--border); background: var(--background-secondary); box-shadow: none; }
.calendar-week > article { min-height: 470px; border-color: var(--border); background: var(--background-secondary); }
.calendar-week > article.today { background: rgba(240,68,68,.055); box-shadow: inset 0 3px var(--brand-red); }
.calendar-week > article > header { min-height: 74px; border-color: var(--border); }
.calendar-week > article > header span,
.calendar-week > article > header small { color: var(--text-muted); }
.calendar-week > article > header strong { color: var(--text-primary); }
.calendar-entry {
  border-color: var(--border); border-left-color: var(--text-muted); background: var(--surface); color: var(--text-primary); box-shadow: none;
}
.calendar-entry.match { border-left-color: var(--brand-red); }
.calendar-entry.event { border-left-color: var(--success); }
.calendar-entry.tournament { border-left-color: var(--warning); }
.calendar-entry.league { border-left-color: var(--info); }
.calendar-entry > header b,
.calendar-entry > span,
.calendar-entry > small { color: var(--text-secondary); }
.calendar-entry > footer details form { padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--background-secondary); }
.calendar-decision-actions button { border-color: var(--border) !important; background: var(--surface-elevated) !important; color: var(--text-primary) !important; }

.scoring-page { background: radial-gradient(circle at 50% 0,rgba(240,68,68,.08),transparent 30%),var(--background); color: var(--text-primary); }
.scoring-header { border-color: var(--border); background: rgba(8,9,11,.92); color: var(--text-primary); box-shadow: none; }
.scoreboard { border-color: var(--border); background: var(--border); }
.player-score { background: var(--surface); color: var(--text-primary); }
.player-score.active { background: linear-gradient(135deg,rgba(240,68,68,.11),var(--surface) 48%); box-shadow: inset 0 3px var(--brand-red); }
.player-score.winner { background: linear-gradient(135deg,rgba(52,199,123,.1),var(--surface)); }
.scoreboard-center,
.live-stats > span,
.score-entry,
.visit-history { border-color: var(--border); background: var(--surface); color: var(--text-primary); }
.score-input input,
.score-options select {
  border-color: var(--border); background: var(--background-secondary); color: var(--text-primary);
}
.score-input input::placeholder { color: var(--text-muted); opacity: 1; }
.quick-scores button { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-elevated); color: var(--text-primary); }
.quick-scores button:hover { border-color: var(--brand-red); background: var(--surface-hover); color: var(--text-primary); }
.submit-score { border-radius: var(--radius-sm); background: var(--brand-red); color: #fff; }
.score-controls button { border-color: var(--border); border-radius: var(--radius-sm); background: var(--surface-elevated); color: var(--text-secondary); }
.checkout-toggle { border-color: var(--border); background: var(--background-secondary); color: var(--text-primary) !important; }

@media (max-width: 900px) {
  .calendar-title-row { gap: 16px; }
  .calendar-nav { margin: 0; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .community-wizard { grid-template-columns: 220px minmax(0,1fr); }
  .community-wizard > aside { padding-inline: 24px; }
  .community-wizard-main { padding: 46px 32px 30px; }
  .wizard-preset-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .calendar-title-row .page-title h1 { font-size: 28px; }
  .calendar-title-row .page-title p { font-size: 13px; }
  .calendar-nav { width: 100%; justify-content: space-between; }
  .calendar-week { grid-template-columns: repeat(7,minmax(250px,82vw)); scroll-snap-type: x mandatory; }
  .calendar-week > article { min-height: 360px; scroll-snap-align: start; }
  .calendar-toolbar { padding: 12px; }
  .score-options { grid-template-columns: 1fr 1fr; }
  .checkout-toggle { grid-column: 1/-1; }
}

/* Premium player app: desktop and tablet workspace */
.app-desktop-topbar { display: none; }
.player-command-center { width: 100%; padding: 32px clamp(20px,3vw,42px) 80px; }
.player-command-header { min-height: 96px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.player-command-header span,.player-focus-card > header span,.player-performance-card header span,.player-activity-card header span { color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.player-command-header h1 { margin: 7px 0 5px; font-size: clamp(30px,3vw,42px); letter-spacing: -.04em; line-height: 1; }
.player-command-header p { margin: 0; color: var(--text-secondary); font-size: 14px; }
.player-command-header time { padding-top: 6px; color: var(--text-muted); font-size: 12px; text-transform: capitalize; }
.player-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.player-kpi { min-height: 132px; padding: 18px; position: relative; display: flex; align-items: flex-start; gap: 14px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: linear-gradient(145deg,rgba(255,255,255,.02),transparent),var(--surface); box-shadow: 0 16px 38px rgba(0,0,0,.12); }
.player-kpi > span { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(240,68,68,.16); border-radius: 10px; background: rgba(240,68,68,.08); color: var(--brand-red); }
.player-kpi > div { min-width: 0; display: grid; gap: 5px; }
.player-kpi small { color: var(--text-muted); font-size: 10px; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.player-kpi strong { font-size: clamp(25px,2.2vw,34px); letter-spacing: -.04em; line-height: 1; }
.player-kpi em { color: var(--text-muted); font-size: 11px; font-style: normal; }
.player-kpi-donut { width: 40px; height: 40px; margin-left: auto; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--brand-red) var(--metric-angle),var(--surface-hover) 0); -webkit-mask: radial-gradient(circle,transparent 52%,#000 54%); mask: radial-gradient(circle,transparent 52%,#000 54%); }
.player-dashboard-grid { margin-top: 14px; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(380px,1.28fr); gap: 14px; }
.player-focus-card,.player-performance-card,.player-activity-card { min-width: 0; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); box-shadow: 0 18px 44px rgba(0,0,0,.13); }
.player-focus-card { min-height: 440px; padding: 22px; display: flex; flex-direction: column; text-align: center; }
.player-focus-card > header { display: flex; justify-content: space-between; text-align: left; }
.player-focus-card > header b { color: var(--brand-red); font-size: 10px; text-transform: uppercase; }
.player-match-visual { margin: 38px auto 22px; display: flex; align-items: center; justify-content: center; gap: 22px; }
.player-match-visual i { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--border-strong); border-radius: 16px; background: var(--surface-elevated); color: var(--text-secondary); }
.player-match-visual strong { color: var(--text-muted); font-size: 12px; }
.player-focus-card h2 { margin: 0; font-size: 20px; }
.player-focus-card > p { margin: 7px 0 20px; color: var(--text-muted); font-size: 12px; }
.player-focus-card > .button { width: 100%; margin-top: auto; }
.player-performance-card { min-height: 440px; padding: 24px; }
.player-performance-card > header,.player-activity-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.player-performance-card h2,.player-activity-card h2 { margin: 6px 0 0; font-size: 20px; }
.player-performance-card header a,.player-activity-card header a { display: inline-flex; align-items: center; gap: 7px; color: var(--text-secondary); font-size: 11px; font-weight: 700; text-decoration: none; }
.player-performance-card header a:hover,.player-activity-card header a:hover { color: var(--brand-red); }
.player-average-trend { height: 128px; margin-top: 22px; }.player-average-trend svg { width: 100%; height: 100px; display: block; overflow: visible; }.player-average-trend > span { display: flex; align-items: center; justify-content: space-between; color: var(--text-muted); font-size: 9px; }.player-average-trend > span b { font-size: 8px; letter-spacing: .1em; }
.player-average-trend-empty { height: 128px; position: relative; overflow: hidden; }
.player-average-trend-empty svg { opacity: .34; }
.player-average-trend-empty svg path { fill: none; stroke: var(--border-strong); stroke-width: .7; vector-effect: non-scaling-stroke; }
.player-average-trend-empty p { max-width: 390px; margin: 0; padding: 8px 12px; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); border-radius: 8px; background: rgba(8,9,11,.82); color: var(--text-secondary); font-size: 10px; line-height: 1.45; text-align: center; }
.player-trend-empty { min-height: 104px; margin: 20px 0 0; display: grid; place-items: center; border-block: 1px solid var(--border); color: var(--text-muted); font-size: 11px; text-align: center; }
.player-performance-bars { margin-top: 14px; display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.player-performance-bars > div > span { display: flex; justify-content: space-between; color: var(--text-secondary); font-size: 12px; }
.player-performance-bars > div > i { height: 7px; margin-top: 9px; display: block; overflow: hidden; border-radius: 8px; background: var(--surface-hover); }
.player-performance-bars > div > i b { height: 100%; display: block; border-radius: inherit; background: var(--brand-red); }
.player-performance-bars > div > i b.loss { background: #4d535d; }
.player-performance-card dl { margin: 22px 0 0; padding-top: 20px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--border); }
.player-performance-card dl div { min-width: 0; padding: 0 14px; border-right: 1px solid var(--border); }
.player-performance-card dl div:first-child { padding-left: 0; }.player-performance-card dl div:last-child { padding-right: 0; border: 0; }
.player-performance-card dt { color: var(--text-muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.player-performance-card dd { margin: 7px 0 0; font-size: 21px; font-weight: 780; }
.player-card-empty { margin: auto; display: grid; justify-items: center; text-align: center; }
.player-card-empty > svg { width: 36px; height: 36px; margin-bottom: 12px; color: var(--text-muted); }
.player-card-empty h2 { margin: 0; font-size: 18px; }.player-card-empty p { max-width: 300px; margin: 7px 0 14px; color: var(--text-muted); font-size: 12px; line-height: 1.5; }.player-card-empty a { color: var(--brand-red); font-size: 12px; font-weight: 750; text-decoration: none; }
.player-card-empty.compact { min-height: 220px; align-content: center; }
.player-activity-card { margin-top: 14px; padding: 24px; }
.player-activity-list { margin-top: 18px; display: grid; }
.player-activity-list > a { min-height: 66px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto 20px; align-items: center; gap: 13px; border-top: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }
.player-activity-list > a > i,.app-form-dots i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.06); color: var(--text-muted); font-size: 10px; font-style: normal; font-weight: 850; }
.player-activity-list > a > i.win,.app-form-dots i.win { background: rgba(52,199,123,.12); color: var(--success); }.player-activity-list > a > i.loss,.app-form-dots i.loss { background: rgba(240,68,68,.11); color: var(--brand-red); }
.player-activity-list span { min-width: 0; display: grid; gap: 3px; }.player-activity-list strong { font-size: 13px; }.player-activity-list small,.player-activity-list time { color: var(--text-muted); font-size: 11px; }.player-activity-list svg { color: var(--text-muted); }
.player-quick-actions { margin-top: 14px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.player-quick-actions > a { min-height: 82px; padding: 16px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); color: var(--text-primary); text-decoration: none; }
.player-quick-actions > a:hover { border-color: rgba(240,68,68,.4); background: var(--surface-hover); transform: translateY(-1px); }
.player-quick-actions > a > svg { color: var(--brand-red); }.player-quick-actions span { min-width: 0; display: grid; gap: 3px; }.player-quick-actions strong { font-size: 13px; }.player-quick-actions small { overflow: hidden; color: var(--text-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.player-command-center .home-community-preview { margin-top: 34px; }
.app-player-summary { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 14px; }
.app-player-summary > div > span { color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .13em; }.app-player-summary h2 { margin: 6px 0 3px; }.app-player-summary p { margin: 0; }.app-player-summary > a { grid-column: 1/-1; padding-top: 14px; border-top: 1px solid var(--border); }
.app-form-dots { margin: 18px 0 12px; display: flex; gap: 7px; }
.personal-home-mobile-legacy { display: none; }
.app-notice-preview > div:not(.context-mini-skeleton) { margin: 14px 0; display: grid; }
.app-notice-preview > div > a { min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; border-bottom: 1px solid var(--border); }
.app-notice-preview > div > a > i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--surface-elevated); color: var(--text-muted); }.app-notice-preview > div > a > i.unread { background: rgba(240,68,68,.1); color: var(--brand-red); }
.app-notice-preview > div > a span { min-width: 0; display: grid; gap: 3px; }.app-notice-preview > div > a strong { overflow: hidden; color: var(--text-primary); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.app-notice-preview > div > a small { color: var(--text-muted); font-size: 9px; }
.app-notice-preview .context-all-link { padding-top: 4px; font-size: 11px; }.context-mini-skeleton { margin: 16px 0; display: grid; gap: 8px; }.context-mini-skeleton i { height: 42px; border-radius: 8px; background: var(--surface-elevated); animation: app-skeleton 1.3s ease-in-out infinite; }

@media (min-width: 761px) {
  .dartsys-app-shell { min-height: 100dvh; grid-template-rows: 72px minmax(calc(100dvh - 72px),auto); align-items: start; }
  .dartsys-app-shell .app-side-nav { grid-column: 1; grid-row: 1 / 3; }
  .app-desktop-topbar { height: 72px; padding: 0 4px 0 0; position: sticky; top: 0; z-index: 30; grid-column: 2 / -1; grid-row: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--border); background: rgba(8,9,11,.88); backdrop-filter: blur(18px); }
  .app-global-search { width: min(440px,48%); min-height: 42px; padding: 0 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text-muted); font-size: 12px; text-decoration: none; }
  .app-global-search span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.app-global-search kbd { padding: 3px 6px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-muted); font: inherit; font-size: 9px; }
  .app-topbar-actions { display: flex; align-items: center; gap: 5px; }.app-topbar-actions > a { min-width: 42px; min-height: 42px; position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 9px; color: var(--text-secondary); font-size: 11px; font-weight: 750; text-decoration: none; }.app-topbar-actions > a:hover { background: var(--surface-hover); color: var(--text-primary); }
  .app-topbar-live i { width: 6px; height: 6px; border-radius: 50%; background: var(--brand-red); box-shadow: 0 0 0 4px rgba(240,68,68,.12); }.app-topbar-profile { padding: 0 8px !important; }.app-topbar-profile span { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .dartsys-app-shell .app-feed-column { grid-column: 2; grid-row: 2; width: 100%; min-height: calc(100dvh - 72px); border: 0; }
  .dartsys-app-shell .app-context-panel { grid-column: 3; grid-row: 2; padding-top: 20px; }
  .app-shell-community .app-feed-column { border-inline: 1px solid var(--border); }
  .app-shell-community .app-feed-header { top: 72px; }
  .app-shell-search .app-search-screen > header { top: 72px; }
  .app-shell-search .app-search-screen > header { padding: 32px clamp(24px,3.4vw,48px) 20px; }.app-shell-search .app-search-screen h1 { font-size: 34px; }.app-shell-search .app-search-screen > header > label { max-width: 780px; min-height: 58px; }.app-shell-search .app-discovery-results { padding: 8px clamp(24px,3.4vw,48px) 70px; }.app-shell-search .discovery-section { padding: 28px 0 6px; }.app-shell-search .discovery-row { min-height: 84px; padding-inline: 12px; }.app-shell-search .discovery-row:hover { background: var(--surface); }
  .app-shell-live .app-live-content .live-hub-hero { min-height: 210px; padding: 34px clamp(22px,3vw,38px); border: 1px solid var(--border); border-radius: 15px; background: radial-gradient(circle at 78% 28%,rgba(240,68,68,.16),transparent 30%),var(--surface); }
  .app-shell-live .app-live-content .live-hub-hero h1 { margin: 12px 0; font-size: clamp(34px,4vw,50px); }.app-shell-live .app-live-content .live-hub-hero p { margin-bottom: 0; }
  .app-shell-live .app-live-content { padding: 30px clamp(18px,3vw,38px) 80px; }.app-shell-live .app-live-content .live-hub-section { padding: 22px 0 0; }.app-shell-live .app-live-content .live-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .dartsys-app-shell,.dartsys-app-shell.has-context,.dartsys-app-shell.app-shell-community { width: 100%; grid-template-columns: 82px minmax(0,1fr); gap: 0; justify-content: stretch; }
  .dartsys-app-shell .app-context-panel { display: none; }
  .dartsys-app-shell .app-side-nav { width: 82px; }
  .app-desktop-topbar { padding-inline: 22px; }
  .player-command-center { padding-inline: 24px; }.player-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.player-dashboard-grid { grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); }
  .app-shell-community .app-feed-column { width: min(100%,760px); margin-inline: auto; }
}

@media (min-width: 1181px) and (max-width: 1380px) {
  .player-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 1280px) {
  .app-shell-search .app-discovery-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 0 34px; }
  .app-shell-search .search-skeleton,.app-shell-search .app-search-state { grid-column: 1 / -1; }
  .app-own-profile .player-shell { padding: 34px clamp(24px,3vw,42px) 80px; }
  .app-own-profile .player-hero { min-height: 170px; padding: 26px 30px; border-radius: 15px; background: radial-gradient(circle at 88% 10%,rgba(240,68,68,.12),transparent 34%),var(--surface); }
  .app-own-profile .player-stat-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .app-own-profile .player-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
}

@media (max-width: 760px) {
  .player-command-center { display: none; }
  .personal-home-mobile-legacy { display: block; }
  .player-command-header { min-height: 104px; }.player-command-header time { display: none; }.player-command-header h1 { font-size: 31px; }
  .player-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.player-kpi { min-height: 118px; padding: 14px; }.player-kpi > span { width: 34px; height: 34px; }.player-kpi-donut { display: none; }.player-kpi strong { font-size: 25px; }
  .player-dashboard-grid { grid-template-columns: 1fr; }.player-focus-card,.player-performance-card { min-height: 330px; }.player-performance-card dl { grid-template-columns: 1fr 1fr; row-gap: 18px; }.player-performance-card dl div:nth-child(2) { border: 0; }.player-performance-card dl div:last-child { padding-left: 0; }
  .player-activity-card { padding: 18px 16px; }.player-activity-list > a { grid-template-columns: 32px minmax(0,1fr) 18px; }.player-activity-list time { display: none; }
  .player-quick-actions { grid-template-columns: 1fr; }.player-quick-actions > a { min-height: 72px; }
}

/* Player Home shell lock: wide main column first, context rail only when it fits. */
.player-overview-grid { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.player-overview-card { min-width: 0; min-height: 112px; padding: 16px; display: grid; grid-template-columns: 38px minmax(0,1fr) 18px; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text-primary); text-decoration: none; box-shadow: 0 14px 34px rgba(0,0,0,.1); }
.player-overview-card:hover { border-color: rgba(240,68,68,.38); background: var(--surface-hover); transform: translateY(-1px); }
.player-overview-card > i { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(240,68,68,.18); border-radius: 10px; background: rgba(240,68,68,.08); color: var(--brand-red); }
.player-overview-card > i svg,.player-kpi > span svg { width: 20px; height: 20px; }
.player-overview-card > span { min-width: 0; display: grid; gap: 5px; }
.player-overview-card small { display: flex; align-items: center; gap: 7px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.player-overview-card small b { width: 6px; height: 6px; border-radius: 50%; background: var(--brand-red); box-shadow: 0 0 0 4px rgba(240,68,68,.12); animation: live-pulse 1.8s ease-in-out infinite; }
.player-overview-card strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.player-overview-card em { overflow: hidden; color: var(--text-muted); font-size: 10px; font-style: normal; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.player-overview-card > svg { width: 18px; height: 18px; color: var(--text-muted); }
.player-kpi-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.player-kpi { min-height: 116px; }
.player-dashboard-grid { grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); }
.player-performance-card,.player-match-overview { min-height: 390px; }
.player-performance-card h2 { white-space: nowrap; }
.player-match-overview { min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); box-shadow: 0 18px 44px rgba(0,0,0,.13); }
.player-match-overview > header span { color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.player-match-overview > header h2 { margin: 6px 0 0; font-size: 20px; }
.player-match-overview-body { min-height: 280px; display: grid; grid-template-columns: minmax(148px,1fr) minmax(120px,.7fr); align-items: center; gap: 24px; }
.player-match-donut { width: min(100%,190px); aspect-ratio: 1; margin-inline: auto; position: relative; display: grid; place-content: center; border-radius: 50%; background: conic-gradient(var(--brand-red) var(--metric-angle),var(--surface-hover) 0); text-align: center; }
.player-match-donut::after { content: ""; position: absolute; inset: 18px; border-radius: 50%; background: var(--surface); }
.player-match-donut strong,.player-match-donut small { position: relative; z-index: 1; }
.player-match-donut strong { font-size: clamp(28px,3vw,42px); line-height: 1; }
.player-match-donut small { margin-top: 7px; color: var(--text-muted); font-size: 10px; }
.player-match-overview dl { margin: 0; display: grid; }
.player-match-overview dl div { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--border); }
.player-match-overview dt { color: var(--text-muted); font-size: 11px; }
.player-match-overview dd { margin: 0; font-size: 20px; font-weight: 800; }
.player-activity-labels { min-height: 32px; display: grid; grid-template-columns: 34px minmax(0,1fr) 80px 112px 20px; align-items: center; gap: 13px; color: var(--text-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.player-activity-labels span:first-child { grid-column: 1; }
.player-activity-labels span:nth-child(2) { grid-column: 2; }
.player-activity-labels span:nth-child(3) { grid-column: 3; text-align: center; }
.player-activity-labels span:nth-child(4) { grid-column: 4; text-align: right; }
.player-activity-list > a { grid-template-columns: 34px minmax(0,1fr) 80px 112px 20px; }
.player-activity-list > a > b { text-align: center; font-size: 15px; }
.player-activity-list > a > time { text-align: right; }
.app-context-live { background: radial-gradient(circle at 88% 12%,rgba(240,68,68,.12),transparent 32%),var(--surface); }

@media (min-width: 761px) and (max-width: 1279px) {
  .dartsys-app-shell.app-shell-home { width: 100%; max-width: 100%; grid-template-columns: 82px minmax(0,1fr); gap: 0; justify-content: stretch; }
  .dartsys-app-shell.app-shell-home .app-side-nav { width: 82px; }
  .dartsys-app-shell.app-shell-home .app-context-panel { display: none; }
  .dartsys-app-shell.app-shell-home .app-feed-column { grid-column: 2; width: 100%; max-width: none; }
  .dartsys-app-shell.app-shell-home .app-desktop-topbar { grid-column: 2; }
  .player-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .player-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .player-dashboard-grid { grid-template-columns: minmax(0,1.2fr) minmax(270px,.8fr); }
  .player-command-center { padding-inline: clamp(22px,3vw,36px); }
}

@media (min-width: 761px) and (max-width: 900px) {
  .player-dashboard-grid { grid-template-columns: minmax(0,1fr); }
  .player-match-overview-body { grid-template-columns: minmax(160px,1fr) minmax(140px,.7fr); }
}

@media (min-width: 1280px) and (max-width: 1439px) {
  .dartsys-app-shell.app-shell-home { width: min(calc(100% - 32px),1560px); max-width: none; grid-template-columns: 240px minmax(0,1fr); gap: 24px; justify-content: stretch; }
  .dartsys-app-shell.app-shell-home .app-side-nav { width: 240px; }
  .dartsys-app-shell.app-shell-home .app-context-panel { display: none; }
  .dartsys-app-shell.app-shell-home .app-feed-column { grid-column: 2; width: 100%; max-width: none; }
  .dartsys-app-shell.app-shell-home .app-desktop-topbar { grid-column: 2; }
  .player-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .player-kpi-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}

@media (min-width: 1440px) {
  .dartsys-app-shell.app-shell-home { width: min(calc(100% - 40px),1600px); max-width: none; grid-template-columns: 240px minmax(0,1fr) 300px; gap: 24px; justify-content: stretch; }
  .dartsys-app-shell.app-shell-home .app-side-nav { width: 240px; }
  .dartsys-app-shell.app-shell-home .app-feed-column { grid-column: 2; width: 100%; max-width: none; }
  .dartsys-app-shell.app-shell-home .app-context-panel { width: auto; grid-column: 3; display: block; }
  .dartsys-app-shell.app-shell-home .app-desktop-topbar { grid-column: 2 / 4; }
}

@media (min-width: 1440px) and (max-width: 1599px) {
  .player-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .player-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .player-overview-card small b { animation: none; }
}

/* Mobile Player Home — isolated from desktop and tablet. */
@media (max-width: 760px) {
  .app-shell-home { background: #08090b; }
  .app-shell-home .app-mobile-header { height: calc(64px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 14px 0; background: rgba(8,9,11,.96); }
  .app-shell-home .app-mobile-header > .brand .brand-mark { width: 31px; height: 31px; }
  .app-shell-home .app-mobile-header > .brand > span:last-child { font-size: 19px; font-weight: 800; }
  .app-shell-home .app-mobile-header > div a { color: #d9dde4; }
  .app-shell-home .app-feed-column { min-height: 100dvh; background: radial-gradient(circle at 92% 3%,rgba(240,68,68,.07),transparent 24%),#08090b; }
  .mobile-player-home { width: 100%; max-width: none; padding: 20px 14px calc(84px + env(safe-area-inset-bottom)); color: #f7f8fa; }
  .mobile-player-greeting { padding: 3px 1px 15px; }
  .mobile-player-greeting h1 { margin: 0; font-size: clamp(28px,8vw,34px); font-weight: 780; letter-spacing: -.045em; line-height: 1.04; }
  .mobile-player-greeting h1 strong { color: #f04444; }
  .mobile-player-greeting p { margin: 7px 0 0; color: #8e96a1; font-size: 13px; }
  .mobile-next-match,.mobile-live-match,.mobile-average-card,.mobile-checkout-card,.mobile-community-highlight { border: 1px solid #252a31; border-radius: 14px; background: linear-gradient(145deg,rgba(255,255,255,.018),transparent 45%),#14171b; box-shadow: 0 12px 34px rgba(0,0,0,.16); }
  .mobile-next-match,.mobile-live-match { display: block; color: #f7f8fa; text-decoration: none; }
  .mobile-next-match { min-height: 124px; padding: 13px 14px 12px; }
  .mobile-next-match > header,.mobile-live-match > header,.mobile-community-highlight > header { display: flex; align-items: center; justify-content: space-between; }
  .mobile-next-match > header span,.mobile-live-match > header > span,.mobile-average-card header span,.mobile-checkout-card header span,.mobile-community-highlight > header span { color: #f04444; font-size: 8px; font-weight: 850; letter-spacing: .15em; }
  .mobile-next-match > header svg,.mobile-community-highlight > header svg { width: 15px; height: 15px; color: #6f7782; }
  .mobile-next-match > div:not(.mobile-compact-empty) { margin-top: 10px; display: grid; grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr); align-items: center; gap: 7px; }
  .mobile-next-match > div > section { min-width: 0; display: flex; align-items: center; gap: 8px; }
  .mobile-next-match > div > section:last-child { justify-content: flex-end; text-align: right; }
  .mobile-next-match .mobile-match-avatar { width: 34px; height: 34px; flex: 0 0 auto; border-color: #303641; background: #191d22; color: #f04444; font-size: 9px; }
  .mobile-next-match .mobile-match-avatar img,.mobile-live-match .mobile-live-avatar img { width: 100%; height: 100%; object-fit: cover; }
  .mobile-next-match > div > section strong { overflow: hidden; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-next-match > div > b { color: #a4abb5; font-size: 11px; text-align: center; }
  .mobile-next-match > .mobile-match-meta { margin-top: 10px; padding-top: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #252a31; color: #818995; font-size: 9px; }
  .mobile-next-match > .mobile-match-meta span,.mobile-next-match > .mobile-match-meta time { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-next-match > .mobile-match-meta time { text-align: right; }
  .mobile-live-match { min-height: 144px; margin-top: 11px; padding: 12px 14px 13px; }
  .mobile-live-match > header > span { display: flex; align-items: center; gap: 7px; }
  .mobile-live-match > header > span i { width: 6px; height: 6px; border-radius: 50%; background: #f04444; box-shadow: 0 0 0 4px rgba(240,68,68,.12); animation: live-pulse 1.8s ease-in-out infinite; }
  .mobile-live-match > header > div { display: flex; align-items: center; gap: 8px; }
  .mobile-live-match > header b { padding: 3px 5px; border-radius: 4px; background: #f04444; color: #fff; font-size: 8px; }
  .mobile-live-match > header small { color: #7b8490; font-size: 8px; }
  .mobile-live-match > div:not(.mobile-compact-empty) { margin-top: 13px; display: grid; grid-template-columns: minmax(0,1fr) 92px minmax(0,1fr); align-items: center; gap: 8px; }
  .mobile-live-match > div > section { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 3px 8px; }
  .mobile-live-match > div > section:last-child { grid-template-columns: minmax(0,1fr) 38px; text-align: right; }
  .mobile-live-match > div > section:last-child .mobile-live-avatar { grid-column: 2; grid-row: 1/3; }
  .mobile-live-match > div > section:last-child span,.mobile-live-match > div > section:last-child strong { grid-column: 1; }
  .mobile-live-match .mobile-live-avatar { width: 38px; height: 38px; grid-row: 1/3; border: 1px solid #343a44; border-radius: 50%; background: #0e1013; color: #f04444; font-size: 9px; }
  .mobile-live-match > div > section span { overflow: hidden; color: #bdc2ca; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-live-match > div > section strong { font-size: 28px; line-height: 1; }
  .mobile-live-match > div > p { margin: 0; display: grid; justify-items: center; gap: 5px; text-align: center; }
  .mobile-live-match > div > p small { color: #8b939e; font-size: 7px; letter-spacing: .06em; }
  .mobile-live-match > div > p b { font-size: 9px; }
  .mobile-live-match > div > p em { color: #f04444; font-size: 9px; font-style: normal; }
  .mobile-compact-empty { min-height: 74px; margin-top: 9px; display: flex; align-items: center; gap: 12px; }
  .mobile-compact-empty > svg { width: 27px; height: 27px; color: #f04444; }
  .mobile-compact-empty > span { min-width: 0; flex: 1; display: grid; gap: 4px; }
  .mobile-compact-empty strong { font-size: 12px; }.mobile-compact-empty small { color: #7c8490; font-size: 10px; }
  .mobile-live-empty { min-height: 116px; }
  .mobile-live-network { margin-top: 14px; min-height: 91px; }
  .mobile-live-network > header { min-height: 24px; padding-inline: 1px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .mobile-live-network > header h2 { margin: 0; display: flex; align-items: center; gap: 8px; color: #f3f4f6; font-size: 11px; font-weight: 820; letter-spacing: .075em; text-transform: uppercase; }
  .mobile-live-network > header h2 i { width: 7px; height: 7px; border-radius: 50%; background: #f04444; box-shadow: 0 0 0 4px rgba(240,68,68,.12); animation: live-pulse 1.8s ease-in-out infinite; }
  .mobile-live-network > header a { min-height: 32px; display: inline-flex; align-items: center; gap: 4px; color: #8c949f; font-size: 9px; font-weight: 720; text-decoration: none; }
  .mobile-live-network > header a svg { width: 13px; height: 13px; }
  .mobile-live-network-scroll { margin: 5px -14px 0; padding: 3px 14px 5px; display: flex; gap: 13px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
  .mobile-live-network-scroll::-webkit-scrollbar { display: none; }
  .mobile-live-network-scroll > div { flex: 0 0 70px; scroll-snap-align: start; }
  .mobile-live-entity { width: 70px; min-width: 70px; padding: 0; display: grid; justify-items: center; gap: 5px; border: 0; background: transparent; color: #f7f8fa; font: inherit; text-align: center; text-decoration: none; cursor: pointer; }
  .mobile-live-entity:active { transform: scale(.96); transition: transform 100ms ease; }
  .mobile-live-ring { width: 68px; height: 68px; padding: 4px; position: relative; display: grid; place-items: center; border: 3px solid #f04444; border-radius: 50%; background: #08090b; box-shadow: 0 0 0 1px #272c34,0 8px 24px rgba(240,68,68,.12); }
  .mobile-live-network-avatar { width: 54px; height: 54px; border: 2px solid #08090b; border-radius: 50%; background: #1b1f25; color: #f04444; font-size: 12px; font-weight: 850; }
  .mobile-live-network-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
  .mobile-live-ring > b { min-width: 28px; height: 14px; padding: 0 4px; position: absolute; left: 50%; bottom: -4px; display: grid; place-items: center; transform: translateX(-50%); border: 2px solid #08090b; border-radius: 4px; background: #f04444; color: white; font-size: 6px; font-weight: 900; letter-spacing: .08em; line-height: 1; }
  .mobile-live-ring > i { width: 17px; height: 17px; position: absolute; right: -2px; bottom: 1px; display: grid; place-items: center; border: 2px solid #08090b; border-radius: 50%; background: #242932; color: #d9dde3; }
  .mobile-live-ring > i svg { width: 9px; height: 9px; }
  .mobile-live-entity > strong { width: 100%; overflow: hidden; color: #cdd1d8; font-size: 9px; font-weight: 720; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-live-entity > small { margin-top: -3px; color: #747d88; font-size: 7px; }
  .mobile-live-network-empty { min-height: 65px; margin-top: 5px; padding: 11px 12px; display: flex; align-items: center; gap: 12px; border: 1px solid #252a31; border-radius: 12px; background: #111419; }
  .mobile-live-network-empty > span { min-width: 0; flex: 1; display: grid; gap: 4px; }
  .mobile-live-network-empty strong { font-size: 11px; }.mobile-live-network-empty small { color: #7c8490; font-size: 9px; line-height: 1.35; }
  .mobile-live-network-empty > a { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #2b3038; border-radius: 50%; color: #f04444; }
  .mobile-live-network-empty > a svg { width: 15px; height: 15px; }
  .mobile-live-sheet { position: fixed; z-index: 120; inset: 0; display: flex; align-items: flex-end; background: rgba(3,4,6,.72); backdrop-filter: blur(6px); }
  .mobile-live-sheet > section { width: 100%; max-height: min(72dvh,620px); padding: 10px 14px calc(14px + env(safe-area-inset-bottom)); overflow-y: auto; border: 1px solid #2b3038; border-width: 1px 0 0; border-radius: 20px 20px 0 0; background: #111419; box-shadow: 0 -20px 60px rgba(0,0,0,.48); animation: mobile-sheet-in 180ms ease-out; }
  .mobile-live-sheet > section::before { content: ""; width: 36px; height: 4px; margin: 0 auto 12px; display: block; border-radius: 4px; background: #3a4049; }
  .mobile-live-sheet > section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .mobile-live-sheet > section > header span { color: #f04444; font-size: 8px; font-weight: 850; letter-spacing: .14em; }
  .mobile-live-sheet > section > header h2 { margin: 5px 0 0; font-size: 20px; }.mobile-live-sheet > section > header p { margin: 4px 0 0; color: #7f8792; font-size: 10px; }
  .mobile-live-sheet > section > header button { width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; color: #aab1bb; }
  .mobile-live-sheet > section > header button svg { width: 19px; height: 19px; }
  .mobile-live-sheet > section > div { margin-top: 13px; display: grid; gap: 7px; }
  .mobile-live-sheet > section > div a { min-height: 60px; padding: 11px 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #282d35; border-radius: 11px; background: #171a1f; color: #f5f6f8; text-decoration: none; }
  .mobile-live-sheet > section > div a span { min-width: 0; flex: 1; display: grid; gap: 4px; }.mobile-live-sheet > section > div a strong,.mobile-live-sheet > section > div a small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-live-sheet > section > div a strong { font-size: 12px; }.mobile-live-sheet > section > div a small { color: #7f8792; font-size: 9px; }
  .mobile-live-sheet > section > div a svg,.mobile-live-sheet-all svg { width: 15px; height: 15px; color: #f04444; }
  .mobile-live-sheet-all { min-height: 44px; margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 5px; color: #aeb5bf; font-size: 10px; font-weight: 750; text-decoration: none; }
  @keyframes mobile-sheet-in { from { transform: translateY(18px); opacity: .7; } to { transform: none; opacity: 1; } }
  .mobile-player-kpis { margin-top: 11px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
  .mobile-kpi { min-width: 0; min-height: 76px; padding: 10px 9px 8px; position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #252a31; border-radius: 11px; background: #14171b; color: #f7f8fa; text-decoration: none; }
  .mobile-kpi small { overflow: hidden; color: #8e96a1; font-size: 7px; font-weight: 800; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
  .mobile-kpi strong { margin-top: 8px; font-size: clamp(17px,5vw,22px); letter-spacing: -.03em; line-height: 1; }
  .mobile-kpi svg { width: calc(100% - 16px); height: 14px; position: absolute; inset: auto 8px 6px; overflow: visible; }
  .mobile-kpi svg polyline { fill: none; stroke: #f04444; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
  .mobile-kpi-donut i,.mobile-kpi-ring i { width: 29px; height: 29px; position: absolute; right: 7px; bottom: 8px; border-radius: 50%; background: conic-gradient(#f04444 var(--mobile-angle),#313740 0); -webkit-mask: radial-gradient(circle,transparent 53%,#000 55%); mask: radial-gradient(circle,transparent 53%,#000 55%); }
  .mobile-kpi-ring i { background: conic-gradient(#6f7782 var(--mobile-angle),#2b3038 0); }
  .mobile-performance-grid { margin-top: 11px; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 9px; }
  .mobile-average-card,.mobile-checkout-card { min-width: 0; min-height: 204px; padding: 13px 12px 10px; }
  .mobile-average-card header,.mobile-checkout-card header { display: grid; gap: 4px; }
  .mobile-average-card header small,.mobile-checkout-card header small { color: #757e89; font-size: 8px; }
  .mobile-average-card > strong { margin-top: 13px; display: block; font-size: 25px; line-height: 1; }
  .mobile-average-card > em { margin-top: 4px; display: block; color: #8a929d; font-size: 9px; font-style: normal; }
  .mobile-average-chart,.mobile-chart-empty { height: 91px; margin-top: 7px; }
  .mobile-average-chart svg,.mobile-chart-empty svg { width: 100%; height: 73px; display: block; }
  .mobile-average-chart .grid,.mobile-chart-empty path { fill: none; stroke: #2a3038; stroke-width: .65; vector-effect: non-scaling-stroke; }
  .mobile-average-chart polyline { fill: none; stroke: #f04444; stroke-width: 1.8; vector-effect: non-scaling-stroke; }
  .mobile-average-chart circle { fill: #14171b; stroke: #f04444; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
  .mobile-average-chart footer { display: flex; justify-content: space-between; color: #656e7a; font-size: 7px; }
  .mobile-chart-empty { position: relative; }.mobile-chart-empty svg { opacity: .55; }.mobile-chart-empty span { position: absolute; inset: 50% 5px auto; transform: translateY(-50%); color: #8b939e; font-size: 8px; line-height: 1.35; text-align: center; }
  .mobile-checkout-donut { width: 96px; height: 96px; margin: 17px auto 9px; position: relative; display: grid; place-content: center; border-radius: 50%; background: conic-gradient(#f04444 var(--mobile-angle),#303640 0); text-align: center; }
  .mobile-checkout-donut::after { content: ""; position: absolute; inset: 13px; border-radius: 50%; background: #14171b; }
  .mobile-checkout-donut strong,.mobile-checkout-donut small { position: relative; z-index: 1; }.mobile-checkout-donut strong { font-size: 21px; line-height: 1; }.mobile-checkout-donut small { margin-top: 4px; color: #8f97a2; font-size: 8px; }
  .mobile-checkout-card > footer { min-height: 20px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 9px; color: #7e8792; font-size: 7px; text-align: center; }
  .mobile-checkout-card > footer span { display: flex; align-items: center; gap: 4px; }.mobile-checkout-card > footer i { width: 5px; height: 5px; border-radius: 2px; background: #f04444; }.mobile-checkout-card > footer span:last-child i { background: #454c56; }
  .mobile-community-highlight { margin-top: 11px; padding: 12px 13px 0; overflow: hidden; }
  .mobile-community-highlight > header a { width: 32px; height: 32px; display: grid; place-items: center; color: #7c8590; text-decoration: none; }
  .mobile-community-highlight .feed-post { padding: 9px 0 0; border: 0; background: transparent; }
  .mobile-community-highlight .feed-post > header { min-height: 42px; }.mobile-community-highlight .feed-author-avatar { width: 34px; height: 34px; }.mobile-community-highlight .feed-post > header strong { font-size: 11px; }.mobile-community-highlight .feed-post > header span { font-size: 8px; }
  .mobile-community-highlight .feed-post-content { margin: 10px 0; color: #d8dbe1; font-size: 11px; line-height: 1.48; }
  .mobile-community-highlight .feed-sport-card { margin-top: 8px; padding: 12px; border-radius: 10px; }.mobile-community-highlight .feed-sport-card h2 { margin: 7px 0; font-size: 15px; }.mobile-community-highlight .feed-sport-details { max-height: 38px; overflow: hidden; }.mobile-community-highlight .feed-sport-cta { margin-top: 9px; }
  .mobile-community-highlight .feed-social-actions { min-height: 44px; margin-top: 6px; padding: 0; gap: 12px; }.mobile-community-highlight .feed-social-actions button { min-width: 44px; min-height: 44px; padding-inline: 5px; }.mobile-community-highlight .feed-social-actions svg { width: 17px; height: 17px; }
  .mobile-highlight-skeleton { min-height: 148px; padding: 14px 0; display: grid; grid-template-columns: 34px 1fr; gap: 8px 10px; }.mobile-highlight-skeleton :is(i,b,span) { border-radius: 7px; background: #1d2127; animation: app-skeleton 1.3s ease-in-out infinite; }.mobile-highlight-skeleton i { width: 34px; height: 34px; grid-row: 1/3; border-radius: 50%; }.mobile-highlight-skeleton b { height: 10px; }.mobile-highlight-skeleton b:nth-child(3) { width: 60%; }.mobile-highlight-skeleton span { height: 70px; grid-column: 1/-1; }
  .mobile-highlight-empty { min-height: 122px; padding: 20px 0; display: grid; align-content: center; gap: 6px; }.mobile-highlight-empty strong { font-size: 13px; }.mobile-highlight-empty p { margin: 0; color: #7f8792; font-size: 10px; line-height: 1.45; }.mobile-highlight-empty a { margin-top: 4px; color: #f04444; font-size: 10px; font-weight: 750; text-decoration: none; }
  .app-shell-home .app-bottom-nav { background: rgba(10,12,15,.97); }
  .app-shell-home .app-bottom-nav .app-create-nav { width: 46px; height: 46px; min-height: 46px; border: 1px solid #f04444; border-radius: 11px; background: #111419; color: #f7f8fa; box-shadow: none; }
  .app-shell-home .app-bottom-nav a:active,.mobile-next-match:active,.mobile-kpi:active { transform: scale(.98); transition: transform 160ms ease; }
}

@media (max-width: 380px) {
  .mobile-player-home { padding-inline: 12px; }
  .mobile-kpi { min-height: 70px; }
  .mobile-performance-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-live-network > header h2 i,.mobile-highlight-skeleton :is(i,b,span) { animation: none; }
  .mobile-live-sheet > section { animation: none; }
}

/* Full product presentation pass: one operational language across app and portals. */
:root {
  --app-page-title: clamp(28px, 2.35vw, 36px);
  --app-section-title: clamp(18px, 1.55vw, 22px);
  --app-row-height: 68px;
}

button, input, select, textarea { font-family: var(--font-body); }
button, a, summary { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 3px; }
select, option, optgroup { color-scheme: dark; background-color: var(--surface-elevated) !important; color: var(--text-primary) !important; }

:is(.dartsys-app-shell,.tenant-app,.league-management-page,.scoring-page,.live-player-page) h1 {
  font-size: var(--app-page-title);
  line-height: 1.08;
  letter-spacing: -.035em;
}
:is(.dartsys-app-shell,.tenant-app,.league-management-page,.scoring-page,.live-player-page) h2 { font-size: var(--app-section-title); }
.app-shell-live .app-live-content .live-hub-hero h1 { max-width: 520px; font-size: var(--app-page-title); line-height: 1.04; }
.app-shell-live .app-live-content .live-hub-hero { min-height: 176px; }
.app-own-profile .player-hero h1 { font-size: var(--app-page-title); }
.app-own-profile .player-hero { min-height: 148px; }
.app-own-profile .player-avatar { width: 72px; height: 72px; }

.app-list-empty,.app-search-state { min-height: 220px; padding: 40px 24px; }
.app-list-empty > svg,.app-search-state > svg { width: 34px; height: 34px; margin-bottom: 14px; }
.app-list-empty h2,.app-search-state h2,.app-feed-empty h2 { font-size: 20px; }
.app-feed-empty { padding: 48px 24px; }
.comment-empty { padding: 48px 20px; }

.app-context-panel { width: auto; min-width: 0; gap: 10px; }
.app-context-card { padding: 16px; border-radius: 12px; }
.app-context-card h2 { margin: 7px 0 9px; font-size: 17px; }
.app-context-card p { margin-block: 7px 12px; font-size: 12px; }
.app-context-card + .app-context-card { margin-top: 0; }

.conversation-list > a,.notification-list > button { min-height: var(--app-row-height); padding: 12px 18px; }
.notification-list p,.conversation-list p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notification-icon { width: 38px; height: 38px; border-radius: 10px; }
.notification-icon svg { width: 19px; height: 19px; }

.feed-quick-composer { min-height: 66px; }
.feed-quick-composer > svg { width: 20px; height: 20px; color: var(--brand-red); }
.composer-close { width: 42px; height: 42px; display: grid; place-items: center; }
.composer-close svg,.comment-sheet > header button svg { width: 20px; height: 20px; }
.composer-format { display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12px; }
.composer-format svg { width: 18px; height: 18px; color: var(--brand-red); }
.comment-sheet > footer > div:last-child > button { display: inline-flex; align-items: center; gap: 7px; }
.comment-sheet > footer > div:last-child > button svg { width: 19px; height: 19px; }

/* Notification, messaging and privacy system */
.app-nav-badge{white-space:nowrap}.notification-list>button{min-height:76px}.notification-list>button>span:nth-child(2){min-width:0;flex:1}.notification-list em{display:block;margin:0 0 2px;color:var(--brand-red);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.04em}.notification-avatar,.conversation-avatar{width:42px;height:42px;flex:0 0 42px;object-fit:cover;border:1px solid var(--border);border-radius:50%;background:var(--surface)}.notification-list>button.priority-critical{box-shadow:inset 3px 0 var(--brand-red)}.conversation-list>a.unread{background:rgba(240,68,68,.045)}
.app-urgent-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:end;padding:24px;pointer-events:none}.app-urgent-backdrop.priority-critical{place-items:center;background:rgba(3,4,6,.72);backdrop-filter:blur(8px);pointer-events:auto}.app-urgent-notice{width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid var(--border-strong);border-left:3px solid var(--brand-red);border-radius:14px;background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-lg);pointer-events:auto;animation:app-notice-in .24s ease-out}.app-urgent-backdrop.priority-critical .app-urgent-notice{width:min(520px,calc(100vw - 32px));padding:32px}.app-urgent-notice>span{color:var(--brand-red);font-size:9px;font-weight:900;letter-spacing:.16em}.app-urgent-notice h2{margin:12px 0 8px;font-size:24px}.app-urgent-notice p{margin:0;color:var(--text-secondary);line-height:1.6}.app-urgent-notice footer{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}@keyframes app-notice-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.chat-screen{grid-template-rows:auto auto minmax(380px,60vh) auto}.chat-peer-header{min-height:58px;padding:9px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.chat-peer-header>strong{flex:1}.chat-peer-header details{position:relative}.chat-peer-header summary{padding:10px;list-style:none;cursor:pointer}.chat-peer-header details button{width:max-content;position:absolute;right:0;z-index:4;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--brand-red);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.chat-messages{gap:3px}.chat-messages article{padding:0;display:flex;align-items:flex-end;gap:8px;background:transparent}.chat-messages article.own{align-self:flex-end;justify-content:flex-end}.chat-messages article.received{align-self:flex-start}.chat-messages article.grouped{margin-top:1px}.chat-messages article>div{max-width:100%;padding:10px 13px;border-radius:14px 14px 14px 4px;background:var(--surface-hover)}.chat-messages article.own>div{border-radius:14px 14px 4px 14px;background:color-mix(in srgb,var(--brand-red) 18%,var(--surface-elevated))}.chat-messages article strong{display:block;margin-bottom:4px;color:var(--brand-red);font-size:10px}.chat-messages article p{margin:0}.chat-messages article small{margin-top:5px;display:flex;justify-content:flex-end;align-items:center;gap:6px;font-size:9px}.chat-avatar{width:30px;height:30px;flex:0 0 30px;object-fit:cover;border-radius:50%;background:var(--surface-hover)}.chat-avatar.fallback{display:grid;place-items:center;color:var(--brand-red);font-size:10px;font-weight:800}.message-receipt{font-size:11px;letter-spacing:-.14em}.message-receipt.read{color:var(--brand-red)}
.settings-screen{display:grid;gap:20px}.settings-screen>header{padding:8px 0 14px}.settings-screen>header>span,.settings-card>div:first-child>span{color:var(--brand-red);font-size:9px;font-weight:900;letter-spacing:.16em}.settings-screen h1{margin:10px 0 5px;font-size:clamp(34px,4vw,54px)}.settings-screen>header p,.settings-card>div:first-child p{color:var(--text-secondary)}.settings-card{padding:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface-elevated)}.settings-card h2{margin:8px 0 18px;font-size:24px}.settings-toggles{border-top:1px solid var(--border)}.settings-toggles label{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);cursor:pointer}.settings-toggles label>span{display:grid;gap:4px}.settings-toggles small,.settings-devices small,.blocked-list small{color:var(--text-muted)}.settings-toggles input{width:42px;height:23px;accent-color:var(--brand-red)}.settings-warning{padding:14px;border:1px solid color-mix(in srgb,var(--brand-red) 35%,var(--border));border-radius:10px;color:var(--text-secondary)}.settings-devices{margin-top:18px;display:grid;gap:8px}.settings-devices article{padding:12px 0;display:grid;border-top:1px solid var(--border)}.blocked-list{display:grid}.blocked-list article{min-height:70px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;border-top:1px solid var(--border)}.blocked-list img,.blocked-list i{width:42px;height:42px;display:grid;place-items:center;object-fit:cover;border-radius:50%;background:var(--surface);color:var(--brand-red);font-style:normal}.blocked-list span{display:grid;gap:3px}.blocked-list a{color:inherit;font-weight:750;text-decoration:none}.settings-empty{color:var(--text-secondary)}
.system-notification-create{grid-template-columns:repeat(2,minmax(0,1fr))}.system-notification-create .admin-wide{grid-column:1/-1}.system-notification-create textarea{width:100%;padding:12px;border:1px solid #d9dbe0;border-radius:8px;background:#fff;color:#17191f;resize:vertical}.system-notification-create .admin-checkbox{display:flex;align-items:center;gap:10px}.system-notification-create .admin-checkbox input{width:18px;height:18px;min-height:18px}
.comment-list article header a{color:inherit;text-decoration:none}.comment-list article header a:hover{text-decoration:underline}
@media(max-width:700px){.app-urgent-backdrop{padding:12px;place-items:end}.app-urgent-backdrop.priority-critical{place-items:end}.app-urgent-notice,.app-urgent-backdrop.priority-critical .app-urgent-notice{width:100%;padding:22px;border-radius:16px}.app-urgent-notice footer{align-items:stretch;flex-direction:column}.settings-card{padding:20px}.blocked-list article{grid-template-columns:42px minmax(0,1fr)}.blocked-list article .button{grid-column:1/-1;width:100%}.system-notification-create{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.app-urgent-notice{animation:none}}
.ds-dialog > header > button svg { width: 20px; height: 20px; }
.profile-achievements > div > div > i svg { width: 22px; height: 22px; }
.app-search-screen > header > label > button svg { width: 18px; height: 18px; }

.player-panel > .empty-state { min-height: 130px; padding: 20px; box-shadow: none; }
.player-panel { box-shadow: none; }
.player-code-card { border: 1px solid var(--border); background: linear-gradient(120deg,rgba(240,68,68,.08),transparent 38%),var(--surface); }
.player-stat-grid article { box-shadow: none; }

@media (min-width: 1181px) and (max-width: 1399px) {
  .dartsys-app-shell,.dartsys-app-shell.has-context,.dartsys-app-shell.app-shell-community {
    width: calc(100% - 64px);
    grid-template-columns: 230px minmax(0,1fr) minmax(260px,280px);
    justify-content: stretch;
    gap: 20px;
  }
  .dartsys-app-shell.no-context { grid-template-columns: 230px minmax(0,1fr); }
  .dartsys-app-shell .app-side-nav { width: 230px; }
  .app-shell-community .app-feed-column { width: 100%; max-width: 700px; justify-self: end; }
}

@media (max-width: 760px) {
  :root { --app-page-title: clamp(28px,8vw,34px); --app-section-title: 19px; --app-row-height: 72px; }
  .app-shell-live .app-live-content .live-hub-hero { min-height: 148px; padding: 26px 16px 22px; }
  .app-live-content .live-hub-section { padding-inline: 14px; }
  .app-list-empty,.app-search-state { min-height: 180px; padding: 32px 20px; }
  .post-composer-sheet > footer { min-height: 62px; }
  .composer-format { width: 100%; justify-content: center; }
  .comment-sheet > footer > div:last-child > button span { display: none; }
  .app-own-profile .player-hero { min-height: 0; }
  .app-own-profile .player-avatar { width: 64px; height: 64px; }
}

/* Final premium repair: information hierarchy before card symmetry. */
.player-command-center { padding-bottom: 64px; }
.player-command-header { min-height: 82px; }
.player-command-header h1 { margin-top: 0; }

.player-sports-summary {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  overflow: hidden;
  border-radius: 15px;
  background: var(--surface);
  box-shadow: 0 18px 42px rgba(0,0,0,.12);
}
.player-sports-summary .player-overview-card {
  min-height: 102px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.055);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.player-sports-summary .player-overview-card:last-child { border-right: 0; }
.player-sports-summary .player-overview-card:hover { background: var(--surface-hover); transform: none; }
.player-sports-summary .player-overview-card > i { border: 0; background: var(--surface-elevated); color: var(--text-secondary); }
.player-sports-summary .player-overview-card small { color: var(--text-muted); letter-spacing: .08em; }
.player-sports-summary .player-overview-card small:has(b) { color: var(--brand-red); }

.player-metric-strip {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 13px;
  background: var(--background-secondary);
}
.player-metric-item { min-width: 0; min-height: 96px; padding: 16px 18px; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: start; gap: 10px; border-right: 1px solid rgba(255,255,255,.055); }
.player-metric-item:last-child { border-right: 0; }
.player-metric-item > svg { width: 18px; height: 18px; margin-top: 2px; color: var(--text-muted); }
.player-metric-item > span { min-width: 0; display: grid; gap: 4px; }
.player-metric-item small { color: var(--text-muted); font-size: 9px; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }
.player-metric-item strong { font-size: clamp(23px,2vw,31px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1; }
.player-metric-item em { overflow: hidden; color: var(--text-muted); font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }

.player-dashboard-grid { align-items: start; }
.player-performance-card,.player-match-overview { min-height: 0; box-shadow: 0 16px 38px rgba(0,0,0,.1); }
.player-performance-card { padding: 22px 24px; }
.player-performance-card > header span,.player-match-overview > header span,.player-activity-card > header span { color: var(--text-muted); font-size: 10px; font-weight: 720; letter-spacing: .04em; text-transform: none; }
.player-performance-value { margin-top: 22px; display: flex; align-items: baseline; gap: 10px; }
.player-performance-value strong { font-size: clamp(31px,3vw,43px); font-variant-numeric: tabular-nums; letter-spacing: -.045em; line-height: 1; }
.player-performance-value span { color: var(--text-muted); font-size: 11px; }
.player-performance-card.state-loaded .player-average-trend { height: 150px; margin-top: 16px; }
.player-performance-card.state-partial { min-height: 0; }
.player-performance-card.state-partial .player-performance-bars { margin-top: 20px; }
.player-performance-card.state-empty,.player-match-overview.state-empty { min-height: 180px; }
.player-performance-card dl { margin-top: 18px; padding-top: 16px; }
.player-performance-card dl div { border-right-color: rgba(255,255,255,.05); }
.player-performance-bars > div > i { height: 4px; background: rgba(255,255,255,.055); }

.compact-data-state,.partial-data-state { display: flex; align-items: flex-start; gap: 12px; color: var(--text-secondary); }
.compact-data-state { margin-top: 24px; }
.partial-data-state { margin-top: 18px; padding: 14px 0 2px; }
.compact-data-state > svg,.partial-data-state > svg { width: 22px; height: 22px; flex: 0 0 auto; color: var(--text-muted); }
.compact-data-state > span,.partial-data-state > span { min-width: 0; display: grid; gap: 4px; }
.compact-data-state strong,.partial-data-state strong { color: var(--text-primary); font-size: 13px; }
.compact-data-state small,.partial-data-state small { max-width: 440px; color: var(--text-muted); font-size: 11px; line-height: 1.5; }

.player-match-overview { padding: 22px 24px; }
.player-match-overview-body { min-height: 212px; grid-template-columns: minmax(116px,.8fr) minmax(118px,1fr); gap: 20px; }
.player-match-donut { width: min(100%,132px); }
.player-match-donut::after { inset: 12px; }
.player-match-donut strong { font-size: clamp(27px,2.6vw,36px); font-variant-numeric: tabular-nums; }
.player-match-overview dl div { min-height: 48px; border-bottom-color: rgba(255,255,255,.05); }
.player-match-overview dl div:last-child { border-bottom: 0; }
.player-match-overview dd { font-size: 17px; font-variant-numeric: tabular-nums; }
.player-activity-card { box-shadow: 0 16px 38px rgba(0,0,0,.1); }

.app-home-context { overflow: hidden; border-radius: 14px; background: var(--surface); box-shadow: 0 18px 42px rgba(0,0,0,.12); }
.app-home-context .context-section { padding: 18px; border-bottom: 1px solid rgba(255,255,255,.055); }
.app-home-context .context-section:last-child { border-bottom: 0; }
.app-home-context .context-section > span { color: var(--text-muted); font-size: 10px; font-weight: 720; letter-spacing: .04em; }
.app-home-context .context-section-live > span { color: var(--brand-red); }
.app-home-context .context-section h2 { margin: 7px 0 8px; font-size: 16px; }
.app-home-context .context-section p { margin: 0 0 12px; color: var(--text-muted); font-size: 11px; line-height: 1.5; }
.app-home-context .context-section a { display: inline-flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: 11px; font-weight: 720; text-decoration: none; }
.app-home-context .context-section a:hover { color: var(--brand-red); }
.app-home-context .context-section a svg { width: 14px; height: 14px; }

@media (min-width: 761px) and (max-width: 1439px) {
  .player-sports-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .player-sports-summary .player-overview-card:nth-child(2) { border-right: 0; }
  .player-sports-summary .player-overview-card:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.055); }
  .player-metric-strip { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .player-metric-item { padding-inline: 14px; grid-template-columns: 1fr; }
  .player-metric-item > svg { display: none; }
}

@media (max-width: 900px) and (min-width: 761px) {
  .player-metric-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .player-metric-item:nth-child(3) { border-right: 0; }
  .player-metric-item:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.055); }
  .player-metric-item:nth-child(4),.player-metric-item:nth-child(5) { grid-template-columns: 24px minmax(0,1fr); }
  .player-metric-item:nth-child(4) > svg,.player-metric-item:nth-child(5) > svg { display: block; }
}

@media (max-width: 760px) {
  .mobile-player-home { padding-top: 14px; padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .mobile-player-greeting { padding-bottom: 13px; }
  .mobile-player-greeting h1 { font-size: clamp(27px,7.6vw,32px); }

  .mobile-player-kpis {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: 0 12px 32px rgba(0,0,0,.14);
  }
  .mobile-kpi { min-height: 88px; padding: 13px 14px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; border: 0; border-right: 1px solid rgba(255,255,255,.055); border-bottom: 1px solid rgba(255,255,255,.055); border-radius: 0; background: transparent; box-shadow: none; }
  .mobile-kpi:nth-child(2n) { border-right: 0; }
  .mobile-kpi:nth-child(n+3) { border-bottom: 0; }
  .mobile-kpi > span { min-width: 0; display: grid; gap: 5px; }
  .mobile-kpi small { color: var(--text-muted); font-size: 8px; font-weight: 720; letter-spacing: .04em; }
  .mobile-kpi strong { margin: 0; font-size: clamp(21px,6.2vw,27px); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
  .mobile-kpi em { color: var(--text-muted); font-size: 7px; font-style: normal; }
  .mobile-kpi > svg:not(.mobile-kpi-trend) { width: 20px; height: 20px; position: static; flex: 0 0 auto; color: var(--text-muted); }
  .mobile-kpi-trend { width: 54px; height: 20px; position: static; flex: 0 0 auto; }
  .mobile-kpi-trend polyline { fill: none; stroke: var(--brand-red); stroke-width: 1.35; vector-effect: non-scaling-stroke; }
  .mobile-kpi-ring { width: 31px; height: 31px; position: static; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--brand-red) var(--mobile-angle),#30353d 0); -webkit-mask: radial-gradient(circle,transparent 61%,#000 63%); mask: radial-gradient(circle,transparent 61%,#000 63%); }

  .mobile-insight-stack { margin-top: 11px; display: grid; gap: 9px; }
  .mobile-average-card,.mobile-checkout-card { min-height: 0; padding: 15px; }
  .mobile-average-card > header,.mobile-checkout-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
  .mobile-average-card > header > div,.mobile-checkout-card > header > div { display: grid; gap: 4px; }
  .mobile-average-card > header span,.mobile-checkout-card > header span { color: var(--text-secondary); font-size: 10px; font-weight: 760; letter-spacing: 0; text-transform: none; }
  .mobile-average-card > header small,.mobile-checkout-card > header small { color: var(--text-muted); font-size: 8px; }
  .mobile-average-card > header strong,.mobile-checkout-card > header strong { font-size: 25px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
  .mobile-average-card.state-partial,.mobile-average-card.state-empty { min-height: 132px; }
  .mobile-checkout-card.state-empty { min-height: 112px; }
  .mobile-average-card .partial-data-state,.mobile-average-card .compact-data-state,.mobile-checkout-card .compact-data-state { margin-top: 17px; padding: 0; }
  .mobile-average-card .partial-data-state > svg,.mobile-average-card .compact-data-state > svg,.mobile-checkout-card .compact-data-state > svg { width: 20px; height: 20px; }
  .mobile-average-card .partial-data-state strong,.mobile-average-card .compact-data-state strong,.mobile-checkout-card .compact-data-state strong { font-size: 11px; }
  .mobile-average-card .partial-data-state small,.mobile-average-card .compact-data-state small,.mobile-checkout-card .compact-data-state small { font-size: 9px; line-height: 1.4; }
  .mobile-average-chart { height: 112px; margin-top: 12px; }
  .mobile-average-chart svg { height: 90px; }
  .mobile-average-chart polyline { stroke-width: 1.5; }
  .mobile-checkout-summary { margin-top: 15px; display: flex; align-items: center; gap: 14px; }
  .mobile-checkout-summary > i { width: 54px; height: 54px; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--brand-red) var(--mobile-angle),#30353d 0); -webkit-mask: radial-gradient(circle,transparent 63%,#000 65%); mask: radial-gradient(circle,transparent 63%,#000 65%); }
  .mobile-checkout-summary > span { display: grid; gap: 3px; color: var(--text-secondary); font-size: 10px; }
  .mobile-checkout-summary b { color: var(--text-primary); font-size: 17px; font-variant-numeric: tabular-nums; }
  .mobile-checkout-summary small { color: var(--text-muted); font-size: 9px; }

  .mobile-community-highlight { padding: 14px 14px 0; border-color: rgba(255,255,255,.055); box-shadow: 0 12px 32px rgba(0,0,0,.14); }
  .mobile-community-highlight > header span { color: var(--text-secondary); font-size: 10px; font-weight: 760; letter-spacing: 0; text-transform: none; }
  .mobile-community-highlight .feed-post { padding-top: 6px; }
  .mobile-community-highlight .feed-sport-card { margin-top: 8px; padding: 11px 0; border: 0; border-top: 1px solid rgba(255,255,255,.055); border-radius: 0; background: transparent; }
  .mobile-community-highlight .feed-sport-card::after { display: none; }
  .mobile-community-highlight .feed-social-actions { min-height: 46px; margin-top: 4px; border-top-color: rgba(255,255,255,.055); }
  .mobile-community-highlight .feed-social-actions button { min-height: 44px; border-radius: 0; }
  .mobile-highlight-empty { min-height: 94px; padding-block: 14px; }

  .app-shell-home .app-bottom-nav { padding-top: 4px; }
  .app-shell-home .app-bottom-nav .app-create-nav { width: 46px; height: 46px; min-height: 46px; border-color: rgba(240,68,68,.65); border-radius: 50%; background: var(--surface-elevated); box-shadow: 0 8px 22px rgba(0,0,0,.3); }
}

/* Athlete profile and Social Sports home: distinct experiences per device. */
.app-player-profile { min-width: 0; overflow: clip; }
.athlete-profile { width: min(100%,1120px); padding: 24px 28px 86px; }
.athlete-header { min-height: 196px; grid-template-columns: 120px minmax(0,1fr) minmax(250px,320px); gap: 30px; border-bottom-color: rgba(255,255,255,.07); }
.athlete-photo { width: 120px; height: 120px; border-color: rgba(255,255,255,.12); box-shadow: 0 18px 44px rgba(0,0,0,.2); }
.athlete-identity { min-width: 0; }
.athlete-identity > small { color: var(--text-muted); font-size: 10px; font-weight: 720; letter-spacing: .04em; text-transform: none; }
.athlete-identity h1 { margin-top: 8px; font-size: clamp(34px,3.4vw,48px); letter-spacing: -.045em; }
.athlete-handle { font-size: 12px; }
.athlete-meta { margin-top: 11px; }
.athlete-meta :is(a,span) { display: inline-flex; align-items: center; gap: 6px; }
.athlete-meta svg { width: 15px; height: 15px; color: var(--text-muted); }
.athlete-bio { max-width: 620px; margin-top: 14px; font-size: 13px; }
.athlete-header .player-social-actions { align-content: center; }
.athlete-stats { grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border: 0; border-radius: 13px; background: var(--background-secondary); }
.athlete-stats > div { min-width: 0; min-height: 92px; padding: 20px 22px; border-right-color: rgba(255,255,255,.055); }
.athlete-stats span,.athlete-analytics span { font-size: 9px; letter-spacing: .045em; }
.athlete-stats strong,.athlete-analytics strong { font-size: clamp(24px,2.2vw,31px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.athlete-tabs { gap: 34px; border-bottom-color: rgba(255,255,255,.07); }
.athlete-tabs button { min-height: 56px; color: var(--text-muted); font-size: 12px; }
.athlete-content { min-height: 0; padding-top: 32px; }
.athlete-overview { grid-template-columns: minmax(0,1.45fr) minmax(290px,.72fr); gap: 44px; }
.athlete-section-title h2 { margin: 0 0 20px; font-size: 21px; letter-spacing: -.025em; }
.athlete-performance { min-height: 0; padding-right: 38px; border-right-color: rgba(255,255,255,.07); }
.athlete-performance-value { display: flex; align-items: baseline; gap: 11px; }
.athlete-performance-value strong { font-size: clamp(42px,5vw,64px); font-variant-numeric: tabular-nums; letter-spacing: -.055em; line-height: 1; }
.athlete-performance-value span { color: var(--text-muted); font-size: 12px; }
.athlete-partial-note { max-width: 520px; margin: 24px 0; padding: 15px 0; display: flex; align-items: center; gap: 11px; border-block: 1px solid rgba(255,255,255,.06); color: var(--text-secondary); font-size: 12px; line-height: 1.45; }
.athlete-partial-note svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--text-muted); }
.athlete-performance dl { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.athlete-performance dl div { padding-right: 18px; display: grid; gap: 5px; border-right: 1px solid rgba(255,255,255,.06); }
.athlete-performance dl div:not(:first-child) { padding-left: 18px; }
.athlete-performance dl div:last-child { border-right: 0; }
.athlete-performance dt { color: var(--text-muted); font-size: 9px; }
.athlete-performance dd { margin: 0; font-size: 23px; font-weight: 780; font-variant-numeric: tabular-nums; }
.athlete-matches > a { min-height: 70px; display: grid; grid-template-columns: 56px minmax(0,1fr) auto 16px; gap: 14px; border-bottom-color: rgba(255,255,255,.06); }
.athlete-matches > a > time { color: var(--text-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.athlete-matches > a > b { min-width: 60px; color: var(--text-secondary); text-align: right; }
.athlete-matches > a > b.live { color: var(--brand-red); }
.athlete-matches > a > svg { width: 14px; height: 14px; color: var(--text-muted); }
.athlete-club { min-height: 72px; margin-top: 22px; padding: 13px 0; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; border: 0; border-top: 1px solid rgba(255,255,255,.07); border-radius: 0; background: transparent; }
.athlete-club > svg { width: 21px; height: 21px; color: var(--text-muted); }
.athlete-club small { color: var(--text-muted); letter-spacing: .04em; text-transform: none; }
.athlete-analytics { grid-template-columns: repeat(5,minmax(0,1fr)); border-color: rgba(255,255,255,.06); background: var(--background-secondary); }

.player-sports-stage { margin-bottom: 14px; display: grid; grid-template-columns: minmax(0,1.6fr) minmax(235px,.64fr); overflow: hidden; border-radius: 16px; background: var(--surface); box-shadow: 0 18px 44px rgba(0,0,0,.14); }
.player-feature-event { min-height: 232px; padding: 24px 28px; display: flex; flex-direction: column; color: var(--text-primary); text-decoration: none; background: radial-gradient(circle at 78% 35%,rgba(240,68,68,.1),transparent 36%); }
.player-feature-event > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.player-feature-event > header span { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 11px; font-weight: 760; }
.player-sports-stage.is-live .player-feature-event > header span { color: var(--brand-red); }
.player-feature-event > header span i { width: 7px; height: 7px; border-radius: 50%; background: var(--brand-red); box-shadow: 0 0 0 5px rgba(240,68,68,.11); }
.player-feature-event > header :is(time,small) { color: var(--text-muted); font-size: 10px; }
.player-feature-matchup { margin: auto 0; display: grid; grid-template-columns: minmax(0,1fr) 130px minmax(0,1fr); align-items: center; gap: 16px; }
.player-feature-matchup > section { min-width: 0; display: flex; align-items: center; gap: 12px; }
.player-feature-matchup > section:last-child { flex-direction: row-reverse; text-align: right; }
.player-feature-matchup > section i { width: 52px; height: 52px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: var(--surface-elevated); color: var(--text-secondary); font-size: 12px; font-style: normal; font-weight: 820; }
.player-feature-matchup > section strong { overflow: hidden; font-size: clamp(15px,1.45vw,21px); text-overflow: ellipsis; white-space: nowrap; }
.player-feature-matchup > p { margin: 0; display: grid; justify-items: center; gap: 7px; text-align: center; }
.player-feature-matchup > p b { font-size: clamp(28px,3vw,42px); font-variant-numeric: tabular-nums; letter-spacing: -.045em; line-height: 1; }
.player-feature-matchup > p span { color: var(--text-muted); font-size: 10px; }
.player-feature-event > footer { display: flex; align-items: center; gap: 7px; color: var(--text-secondary); font-size: 11px; font-weight: 730; }
.player-feature-event > footer svg { width: 14px; height: 14px; }
.player-feature-empty { justify-content: center; }
.player-feature-empty > div { margin-top: 28px; display: flex; align-items: center; gap: 14px; }
.player-feature-empty > div > svg { width: 32px; height: 32px; color: var(--text-muted); }
.player-feature-empty > div span { display: grid; gap: 5px; }
.player-feature-empty small { color: var(--text-muted); }
.player-sports-links { display: grid; border-left: 1px solid rgba(255,255,255,.055); }
.player-sports-links > :is(a,div) { min-width: 0; padding: 17px 18px; display: grid; grid-template-columns: 20px minmax(0,1fr) 14px; align-items: center; gap: 11px; border-bottom: 1px solid rgba(255,255,255,.055); color: var(--text-primary); text-decoration: none; }
.player-sports-links > :last-child { border-bottom: 0; }
.player-sports-links > :is(a,div) > svg { width: 18px; height: 18px; color: var(--text-muted); }
.player-sports-links > :is(a,div) > svg:last-child { width: 13px; height: 13px; }
.player-sports-links span { min-width: 0; display: grid; gap: 4px; }
.player-sports-links small { color: var(--text-muted); font-size: 9px; }
.player-sports-links strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.player-sports-links a:hover { background: var(--surface-hover); }
.player-dashboard-grid { grid-template-columns: minmax(0,1.5fr) minmax(220px,.58fr); }
.player-match-overview { min-width: 0; overflow: hidden; }
.player-match-overview-body { min-width: 0; min-height: 0; grid-template-columns: minmax(0,1fr); justify-items: stretch; gap: 16px; }
.player-match-overview .player-match-donut { width: 108px; justify-self: center; }
.player-match-overview .player-match-donut strong { max-width: 78px; overflow: hidden; font-size: clamp(24px,1.75vw,28px); letter-spacing: -.055em; text-overflow: clip; white-space: nowrap; }
.player-match-overview .player-match-donut small { font-size: 9px; }
.player-match-overview dl { width: 100%; min-width: 0; }
.player-match-overview dl div { min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.player-match-overview :is(dt,dd) { min-width: 0; }
.player-match-overview dd { overflow-wrap: anywhere; text-align: right; }

@media (min-width: 761px) and (max-width: 1099px) {
  .athlete-profile { padding-inline: 24px; }
  .athlete-header { grid-template-columns: 96px minmax(0,1fr); gap: 22px; }
  .athlete-photo { width: 96px; height: 96px; }
  .athlete-header .player-social-actions { max-width: none; grid-column: 1/-1; justify-content: flex-start; }
  .athlete-overview { grid-template-columns: 1fr; gap: 30px; }
  .athlete-performance { padding: 0 0 30px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
  .player-sports-stage { grid-template-columns: 1fr; }
  .player-feature-event { min-height: 210px; }
  .player-sports-links { grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.055); border-left: 0; }
  .player-sports-links > :is(a,div) { border-right: 1px solid rgba(255,255,255,.055); border-bottom: 0; }
  .player-sports-links > :last-child { border-right: 0; }
}

@media (max-width: 760px) {
  .app-player-profile { padding-top: 0; }
  .app-profile-back { min-height: 42px; margin: 0 14px; font-size: 12px; }
  .athlete-profile { width: 100%; max-width: 100%; margin: 0; padding: 4px 14px calc(82px + env(safe-area-inset-bottom)); overflow: hidden; }
  .athlete-header { min-height: 0; padding: 12px 0 20px; display: grid; grid-template-columns: 86px minmax(0,1fr); align-items: start; gap: 14px; }
  .athlete-photo { width: 86px; height: 86px; font-size: 22px; }
  .athlete-identity > small { display: none; }
  .athlete-identity h1 { margin: 5px 0 4px; overflow-wrap: anywhere; font-size: clamp(25px,7.5vw,31px); line-height: 1.02; }
  .athlete-handle { overflow: hidden; color: var(--text-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
  .athlete-meta { margin-top: 8px; gap: 5px 10px; }
  .athlete-meta :is(a,span) { max-width: 100%; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .athlete-meta svg { width: 13px; height: 13px; }
  .athlete-bio { margin-top: 11px; font-size: 12px; line-height: 1.45; }
  .athlete-header .player-social-actions { width: 100%; max-width: none; grid-column: 1/-1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) 44px; justify-content: stretch; gap: 8px; }
  .player-social-actions > span { min-height: 38px; padding: 0 8px; display: flex; align-items: baseline; justify-content: center; gap: 5px; border-bottom: 1px solid rgba(255,255,255,.06); }
  .player-social-actions .button { min-width: 0; width: 100%; padding-inline: 10px; }
  .athlete-header .player-social-actions > a.button { grid-column: 1/-1; }
  .athlete-header .player-social-actions > button.button { grid-row: 2; }
  .athlete-header .player-social-actions > button.button:first-of-type { grid-column: 1; }
  .athlete-header .player-social-actions > button.button:nth-of-type(2) { grid-column: 2; }
  .athlete-header .player-social-actions > .profile-more { grid-column: 3; grid-row: 2; }
  .profile-action-error { grid-column: 1/-1; }
  .athlete-stats { width: 100%; display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; border-block: 1px solid rgba(255,255,255,.06); border-radius: 0; background: transparent; scrollbar-width: none; }
  .athlete-stats::-webkit-scrollbar,.athlete-tabs::-webkit-scrollbar,.athlete-analytics::-webkit-scrollbar { display: none; }
  .athlete-stats > div { min-width: 94px; min-height: 76px; padding: 14px 13px; flex: 1 0 94px; scroll-snap-align: start; border-right: 1px solid rgba(255,255,255,.055); border-bottom: 0; }
  .athlete-stats > div:last-child { border-right: 0; }
  .athlete-stats span { font-size: 8px; white-space: nowrap; }
  .athlete-stats strong { font-size: 22px; }
  .athlete-stats > .inline-empty { min-width: 100%; min-height: 72px; padding: 16px 0; }
  .athlete-tabs { width: 100%; gap: 24px; overflow-x: auto; overscroll-behavior-inline: contain; }
  .athlete-tabs button { min-height: 52px; font-size: 12px; }
  .athlete-content { min-height: 0; padding-top: 22px; }
  .athlete-overview { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .athlete-performance { min-height: 0; padding: 0 0 24px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
  .athlete-section-title h2 { margin-bottom: 16px; font-size: 19px; }
  .athlete-performance-value strong { font-size: 42px; }
  .athlete-performance-value span { font-size: 10px; }
  .athlete-partial-note { margin: 18px 0; padding: 13px 0; font-size: 11px; }
  .athlete-performance dl div { padding-right: 10px; }
  .athlete-performance dl div:not(:first-child) { padding-left: 10px; }
  .athlete-performance dt { font-size: 8px; }
  .athlete-performance dd { font-size: 20px; }
  .athlete-matches > a { min-height: 72px; grid-template-columns: 48px minmax(0,1fr) auto 13px; gap: 10px; }
  .athlete-matches > a > time { font-size: 9px; }
  .athlete-matches > a > b { min-width: 0; font-size: 8px; }
  .athlete-matches strong { font-size: 12px; }
  .athlete-matches small { font-size: 9px; }
  .athlete-club { grid-template-columns: 28px minmax(0,1fr) auto; }
  .athlete-analytics { width: 100%; display: flex; overflow-x: auto; border-radius: 0; background: transparent; scrollbar-width: none; }
  .athlete-analytics > div { min-width: 110px; min-height: 82px; padding: 16px 14px; flex: 0 0 110px; border-bottom: 0; }
}

/* Own player profile: athlete-first presentation with a separate editor. */
.app-own-profile,
.app-own-profile .player-shell,
.own-athlete-profile,
.own-athlete-profile > * { min-width: 0; }
.app-own-profile .player-shell.own-athlete-profile { width: 100%; max-width: 1040px; margin: 0 auto; padding: 34px clamp(24px,3vw,42px) 88px; }
.own-profile-identity { min-width: 0; display: grid; grid-template-columns: 112px minmax(0,1fr) minmax(250px,auto); align-items: center; gap: 26px; padding: 28px 0 30px; border-bottom: 1px solid var(--border); }
.own-profile-avatar { width: 112px; height: 112px; display: grid; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid var(--border-strong); border-radius: 50%; background: var(--surface-elevated); color: var(--brand-red); font-size: 25px; font-weight: 850; }
.own-profile-avatar :is(img,span) { width: 100%; height: 100%; }
.own-profile-avatar img { object-fit: cover; }
.own-profile-avatar span { display: grid; place-items: center; }
.own-profile-copy { min-width: 0; }
.own-profile-copy > span,.own-profile-section > header > span,.own-profile-invitations > header span { color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.own-profile-copy h1 { max-width: 100%; margin: 7px 0 5px; overflow-wrap: anywhere; font-size: clamp(31px,3vw,44px); letter-spacing: -.045em; line-height: 1; }
.own-profile-copy > strong { display: block; overflow: hidden; color: var(--text-muted); font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-copy > a { max-width: 100%; margin-top: 12px; display: inline-block; overflow: hidden; color: var(--text-primary); font-size: 12px; font-weight: 750; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-copy > p { max-width: 610px; margin: 12px 0 0; overflow-wrap: anywhere; color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
.own-profile-identity .player-social-actions { width: 100%; max-width: 330px; justify-self: end; }
.own-profile-identity .player-social-actions > .profile-share-action { display: inline-flex; align-items: center; gap: 7px; }
.profile-share-action svg,.profile-more summary svg { width: 18px; height: 18px; }
.profile-more > a { min-width: 190px; min-height: 42px; padding: 0 13px; position: absolute; z-index: 10; top: 48px; right: 0; display: flex; align-items: center; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-elevated); color: var(--text-primary); font-size: 12px; font-weight: 700; text-decoration: none; box-shadow: var(--shadow-md); }
.own-profile-message { margin: 16px 0 0; }
.own-profile-invitations { margin-top: 18px; overflow: hidden; border: 1px solid rgba(240,68,68,.28); border-radius: 12px; background: rgba(240,68,68,.045); }
.own-profile-invitations > header { min-height: 44px; padding: 0 16px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgba(240,68,68,.16); }
.own-profile-invitations > header b { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--brand-red); color: #fff; font-size: 10px; }
.own-profile-invitations > article { min-width: 0; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.own-profile-invitations article > div:first-child { min-width: 0; }
.own-profile-invitations article strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-invitations article p { margin: 3px 0; color: var(--text-secondary); font-size: 11px; }
.own-profile-invitations article small { color: var(--text-muted); font-size: 9px; }
.own-profile-invitations article > div:last-child { display: flex; gap: 7px; }
.own-profile-invitations .button { min-height: 38px; padding-inline: 12px; }
.own-profile-stat-strip { width: 100%; margin-top: 22px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--border); }
.own-profile-stat-strip > div { min-width: 0; min-height: 88px; padding: 18px 20px; display: grid; align-content: center; gap: 7px; border-right: 1px solid var(--border); }
.own-profile-stat-strip > div:last-child { border-right: 0; }
.own-profile-stat-strip span,.own-profile-stats span { overflow: hidden; color: var(--text-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-stat-strip strong { overflow: hidden; font-size: clamp(22px,2.2vw,29px); letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-tabs { width: 100%; min-width: 0; height: 58px; display: flex; align-items: stretch; gap: 30px; overflow-x: auto; border-bottom: 1px solid var(--border); scrollbar-width: none; }
.own-profile-tabs::-webkit-scrollbar { display: none; }
.own-profile-tabs button { min-width: max-content; padding: 0; position: relative; border: 0; background: transparent; color: var(--text-muted); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.own-profile-tabs button::after { content: ""; height: 2px; position: absolute; inset: auto 0 -1px; background: var(--brand-red); transform: scaleX(0); transition: transform 180ms ease; }
.own-profile-tabs button.active { color: var(--text-primary); }
.own-profile-tabs button.active::after { transform: scaleX(1); }
.own-profile-content { min-width: 0; }
.own-profile-section { min-width: 0; padding: 24px 0; border-bottom: 1px solid var(--border); }
.own-profile-section > header { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.own-profile-section > header :is(button,b) { border: 0; background: transparent; color: var(--text-secondary); font: inherit; font-size: 10px; font-weight: 750; }
.own-profile-section > header button { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.own-profile-section > header svg { width: 13px; height: 13px; }
.own-profile-rows { min-width: 0; }
.own-profile-rows > a { min-width: 0; min-height: 68px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto 14px; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }
.own-profile-rows > a:last-child { border-bottom: 0; }
.own-profile-rows > a > i { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--surface-elevated); color: var(--brand-red); font-size: 11px; font-style: normal; font-weight: 800; }
.own-profile-rows > a > i svg { width: 15px; height: 15px; }
.own-profile-rows > a > span { min-width: 0; display: grid; gap: 4px; }
.own-profile-rows strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-rows small { overflow: hidden; color: var(--text-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-rows time { color: var(--text-secondary); font-size: 9px; white-space: nowrap; }
.own-profile-rows > a > svg { width: 14px; height: 14px; color: var(--text-muted); }
.own-profile-inline-empty { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--text-secondary); font-size: 12px; }
.own-profile-inline-empty a { display: inline-flex; align-items: center; gap: 5px; color: var(--text-primary); font-size: 10px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.own-profile-inline-empty svg { width: 13px; height: 13px; }
.own-profile-club > a { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--text-primary); text-decoration: none; }
.own-profile-club > a div { min-width: 0; display: grid; gap: 5px; }
.own-profile-club > a strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.own-profile-club > a small { color: var(--text-muted); font-size: 9px; }
.own-profile-club > a svg { width: 15px; height: 15px; color: var(--text-muted); }
.own-profile-stats > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.own-profile-stats > div > div { min-width: 0; min-height: 88px; padding: 16px 0; display: grid; align-content: center; gap: 7px; border-bottom: 1px solid var(--border); }
.own-profile-stats strong { overflow: hidden; font-size: 24px; text-overflow: ellipsis; white-space: nowrap; }
.profile-editor-backdrop { padding: 24px; position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; overflow-y: auto; background: rgba(0,0,0,.72); backdrop-filter: blur(10px); }
.profile-editor-sheet { width: min(680px,100%); max-height: min(820px,calc(100dvh - 48px)); overflow-y: auto; border: 1px solid var(--border-strong); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-lg); }
.profile-editor-sheet > header { min-height: 78px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); }
.profile-editor-sheet > header span { color: var(--brand-red); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.profile-editor-sheet > header h2 { margin: 5px 0 0; font-size: 22px; }
.profile-editor-sheet > header > button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 9px; background: transparent; color: var(--text-secondary); cursor: pointer; }
.profile-editor-sheet > header svg { width: 18px; height: 18px; }
.profile-editor-avatar { padding: 20px 22px 0; display: flex; align-items: center; gap: 18px; }
.profile-editor-avatar .own-profile-avatar { width: 80px; height: 80px; }
.profile-editor-avatar > div:last-child { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.profile-editor-avatar label { cursor: pointer; }
.profile-editor-avatar input { width: 1px; height: 1px; position: absolute; opacity: 0; pointer-events: none; }
.profile-editor-avatar small { flex-basis: 100%; color: var(--text-muted); font-size: 9px; }
.profile-editor-sheet .profile-form { margin: 20px 22px 0; padding: 20px 0 22px; }
.profile-editor-sheet .profile-form footer { display: flex; justify-content: flex-end; gap: 8px; }

@media (min-width: 761px) and (max-width: 1279px) {
  .app-own-profile .player-shell.own-athlete-profile { max-width: 860px; padding: 28px 28px 80px; }
  .own-profile-identity { grid-template-columns: 96px minmax(0,1fr); gap: 22px; }
  .own-profile-avatar { width: 96px; height: 96px; }
  .own-profile-identity .player-social-actions { max-width: none; grid-column: 1/-1; justify-self: start; justify-content: flex-start; }
}

@media (max-width: 760px) {
  .app-own-profile { width: 100%; overflow-x: clip; background: radial-gradient(circle at 90% 1%,rgba(240,68,68,.06),transparent 23%),var(--background); }
  .app-own-profile .player-shell.own-athlete-profile { width: 100%; max-width: 100%; margin: 0; padding: 10px 16px calc(88px + env(safe-area-inset-bottom)); overflow: hidden; }
  .own-profile-identity { width: 100%; padding: 12px 0 20px; display: flex; flex-direction: column; align-items: center; gap: 0; border-bottom: 0; text-align: center; }
  .own-profile-avatar { width: 96px; height: 96px; font-size: 23px; }
  .own-profile-copy { width: 100%; margin-top: 14px; }
  .own-profile-copy > span { display: none; }
  .own-profile-copy h1 { margin: 0 0 5px; font-size: clamp(28px,8vw,34px); overflow-wrap: normal; word-break: normal; }
  .own-profile-copy > strong { font-size: 10px; }
  .own-profile-copy > a { margin-top: 10px; font-size: 11px; }
  .own-profile-copy > p { margin: 12px auto 0; font-size: 12px; line-height: 1.52; }
  .own-profile-identity .player-social-actions { width: 100%; max-width: none; margin-top: 15px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) 44px; justify-self: stretch; justify-content: stretch; gap: 8px; text-align: left; }
  .own-profile-identity .player-social-actions > span { min-height: 30px; padding: 0; justify-content: center; border: 0; font-size: 10px; }
  .own-profile-identity .player-social-actions > span strong { font-size: 15px; }
  .own-profile-identity .player-social-actions > button.button:first-of-type { grid-column: 1; grid-row: 2; }
  .own-profile-identity .player-social-actions > button.button:nth-of-type(2) { grid-column: 2; grid-row: 2; }
  .own-profile-identity .player-social-actions > .profile-more { grid-column: 3; grid-row: 2; }
  .own-profile-identity .player-social-actions .button { min-height: 44px; padding-inline: 8px; font-size: 10px; }
  .own-profile-identity .profile-share-action span { display: inline; min-height: 0; padding: 0; border: 0; }
  .profile-more > a { position: fixed; top: auto; right: 16px; bottom: calc(78px + env(safe-area-inset-bottom)); }
  .own-profile-message { margin-top: 0; padding: 10px 12px; font-size: 10px; }
  .own-profile-invitations { margin-top: 8px; }
  .own-profile-invitations > article { align-items: stretch; flex-direction: column; gap: 10px; }
  .own-profile-invitations article > div:last-child { width: 100%; }
  .own-profile-invitations .button { min-width: 0; flex: 1; }
  .own-profile-stat-strip { margin-top: 12px; display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .own-profile-stat-strip::-webkit-scrollbar { display: none; }
  .own-profile-stat-strip > div { min-width: 88px; min-height: 74px; padding: 13px 12px; flex: 1 0 88px; }
  .own-profile-stat-strip span { font-size: 7px; }
  .own-profile-stat-strip strong { font-size: clamp(19px,5.5vw,24px); }
  .own-profile-tabs { height: 52px; gap: 25px; }
  .own-profile-tabs button { font-size: 11px; }
  .own-profile-section { padding: 20px 0; }
  .own-profile-rows > a { min-height: 68px; grid-template-columns: 32px minmax(0,1fr) auto 12px; gap: 9px; }
  .own-profile-rows > a > i { width: 29px; height: 29px; }
  .own-profile-rows strong { font-size: 11px; }
  .own-profile-rows time { max-width: 70px; font-size: 8px; text-align: right; white-space: normal; }
  .own-profile-inline-empty { min-height: 54px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; font-size: 11px; }
  .own-profile-stats > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .own-profile-stats > div > div { min-height: 78px; }
  .own-profile-stats strong { font-size: 22px; }
  .profile-editor-backdrop { padding: 0; place-items: end center; }
  .profile-editor-sheet { width: 100%; max-height: calc(92dvh - env(safe-area-inset-top)); padding-bottom: env(safe-area-inset-bottom); border-inline: 0; border-bottom: 0; border-radius: 18px 18px 0 0; }
  .profile-editor-sheet > header { position: sticky; z-index: 2; top: 0; background: var(--surface); }
  .profile-editor-avatar { align-items: flex-start; }
  .profile-editor-avatar .own-profile-avatar { width: 72px; height: 72px; }
  .profile-editor-avatar > div:last-child .button { min-height: 40px; padding-inline: 10px; }
  .profile-editor-sheet .profile-form > div { grid-template-columns: minmax(0,1fr); }
  .profile-editor-sheet .profile-form footer { position: sticky; bottom: 0; padding-top: 12px; background: var(--surface); }
  .profile-editor-sheet .profile-form footer .button { min-width: 0; flex: 1; }
  .mobile-player-home { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .mobile-community-highlight .feed-social-actions { min-height: 46px; margin-top: 2px; border-top-color: rgba(255,255,255,.055); background: transparent; }
  .mobile-community-highlight .feed-social-actions button { min-height: 44px; }
}

/* Final cascade lock for the targeted five-view repair. */
.public-match-page { min-height:100dvh; background:#08090b !important; color:var(--text-primary); }
.public-match-page .public-match-header { background:rgba(8,9,11,.94) !important; border-bottom:1px solid var(--border); box-shadow:none !important; }
.public-match-page :is(.public-stream,.public-score-wrap,.public-history,.public-leg-history,.public-player,.public-scoreboard) { background:var(--surface) !important; border-color:var(--border); }
.public-match-page .public-stream { overflow:hidden; }
.public-match-page .stream-placeholder { min-height:520px; align-items:center; text-align:center; background:radial-gradient(circle at 50% 42%,rgba(240,68,68,.09),transparent 28%),linear-gradient(145deg,#101216,#090a0d) !important; }
.stream-empty-icon { width:64px; height:64px; display:grid; place-items:center; border:1px solid rgba(240,68,68,.28); border-radius:18px; background:rgba(240,68,68,.07); color:var(--brand-red); }
.stream-empty-icon svg { width:28px; height:28px; }
.public-match-page .stream-placeholder small { color:var(--brand-red); }
.public-match-page .stream-placeholder strong { font-size:clamp(25px,3vw,42px); line-height:1.05; letter-spacing:-.035em; }
.public-match-page .stream-placeholder p { margin-inline:auto; }
.public-match-page .stream-placeholder a { border-color:var(--brand-red); border-radius:9px; color:var(--text-primary); }
.public-player-name .avatar { flex:0 0 auto; }
.player-feature-event { min-height:204px; padding:21px 24px; transition:border-color .18s ease,background-color .18s ease,transform .18s ease; }
.player-feature-event:hover { background-color:var(--surface-hover); transform:translateY(-1px); }
.player-feature-matchup .avatar { flex:0 0 auto; }
.player-feature-matchup > section > .avatar + strong { min-width:0; }
.player-feature-event > footer { width:max-content; margin-top:4px; padding:7px 10px; border:1px solid var(--border); border-radius:8px; background:transparent !important; }
.player-match-overview .player-match-donut { width:116px; padding:0 8px; }
.player-match-overview .player-match-donut strong { max-width:88px; font-size:clamp(22px,1.55vw,27px); letter-spacing:-.045em; }
.team-profile-card { min-width:0; overflow:hidden; }
.team-profile-card > header { grid-template-columns:auto minmax(0,1fr) auto; }
.team-profile-card > header > div { min-width:0; }
.team-profile-card > header .muted { color:var(--text-muted); }
.team-captain-summary { padding:16px 0; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--border); }
.team-captain-summary > span { color:var(--text-muted); font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.team-captain-summary > div { display:flex; align-items:center; gap:9px; }
.roster-list.compact > div { padding-block:11px; }
.roster-list.compact > div > span > .avatar { margin-right:0; }
.team-view-actions,.team-edit-actions { padding-top:16px; display:flex; justify-content:flex-end; gap:10px; }
.team-edit-panel { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.team-edit-panel .workspace-form { margin-bottom:16px; }
.match-filter-tabs { width:max-content; max-width:100%; margin:0 0 22px; padding:4px; display:flex; gap:3px; overflow-x:auto; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.match-filter-tabs button { min-height:38px; padding:0 15px; border:0; border-radius:7px; background:transparent; color:var(--text-secondary); font-size:11px; font-weight:720; white-space:nowrap; }
.match-filter-tabs button:hover { color:var(--text-primary); background:var(--surface-hover); }
.match-filter-tabs button.active { background:var(--brand-red); color:#fff; }
.match-admin-list > article { min-width:0; }
.match-admin-list .match-meta { display:flex; flex-wrap:wrap; gap:7px; }
.match-admin-list .match-meta span { min-width:0; padding:0; border:0; background:transparent; color:var(--text-muted); }
.match-admin-list .match-meta span + span::before { content:"·"; margin-right:7px; color:var(--border-strong); }
.calendar-title-row,.calendar-toolbar,.calendar-week,.calendar-week > article,.calendar-week > article > div,.calendar-entry { min-width:0; max-width:100%; box-sizing:border-box; }
.calendar-week { width:100%; grid-template-columns:repeat(7,minmax(0,1fr)); overflow:hidden; }
.calendar-week > article { min-height:390px; overflow:hidden; }
.calendar-entry { overflow:hidden; }
.calendar-entry :is(strong,span,small) { min-width:0; overflow-wrap:anywhere; }
.calendar-entry footer { min-width:0; flex-wrap:wrap; }
.calendar-entry details,.calendar-entry details form { min-width:0; max-width:100%; }
.calendar-entry details :is(input,select,button) { max-width:100%; }
.calendar-more { width:100%; min-height:36px; border:1px dashed var(--border); border-radius:8px; background:transparent; color:var(--text-secondary); font-size:10px; font-weight:720; }
.calendar-more:hover { border-color:var(--brand-red); color:var(--text-primary); }
@media (min-width:761px) and (max-width:1100px) { .calendar-week { grid-template-columns:repeat(7,minmax(250px,1fr)); overflow-x:auto; overscroll-behavior-inline:contain; } .calendar-week > article { min-height:360px; } }
@media (max-width:760px) { .public-match-page .stream-placeholder,.public-match-page .public-stream { min-height:270px; } .calendar-week { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; overflow:visible; } .calendar-week > article { min-height:0; } .calendar-week > article > header { min-height:58px; } .match-filter-tabs { width:100%; } .team-profile-card > header { grid-template-columns:auto minmax(0,1fr); } .team-profile-card > header > .ds-status { grid-column:2; justify-self:start; } }

/* Social replies and persistent community media */
.feed-post-media{margin:14px 0 2px}
.feed-media{width:100%;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.feed-media-open{width:100%;padding:0;display:block;border:0;background:transparent;color:inherit;cursor:zoom-in}
.feed-media-viewport{width:100%;position:relative;display:block;overflow:hidden;aspect-ratio:var(--feed-media-ratio,4/5);background:var(--surface-elevated)}
.feed-media-viewport img{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover}
.feed-media-viewport.is-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.055) 48%,transparent 61%);animation:feed-media-loading 1.25s linear infinite}
.feed-media-error{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--text-muted);font-size:12px}.feed-media-error svg{width:24px;height:24px}
.feed-media-viewer-backdrop{padding:24px;position:fixed;z-index:1800;inset:0;display:grid;place-items:center;background:rgba(3,4,6,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.feed-media-viewer{width:100%;height:100%;position:relative;display:grid;place-items:center}.feed-media-viewer>img{max-width:100%;max-height:100%;object-fit:contain}.feed-media-viewer>button{width:46px;height:46px;position:absolute;z-index:2;top:0;right:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(8,9,11,.72);color:#fff;cursor:pointer}.feed-media-viewer>button svg{width:20px;height:20px}
.composer-media{border:0;border-radius:0}
@keyframes feed-media-loading{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.composer-upload-state{padding:8px 12px;position:absolute;right:10px;bottom:10px;border-radius:8px;background:rgba(8,9,11,.84);color:#fff;font-size:11px;font-weight:750}
.composer-upload-error{margin:0 20px 14px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(240,68,68,.35);border-radius:10px;background:rgba(240,68,68,.07);color:#ff929b;font-size:13px}
.composer-upload-error button{border:0;background:transparent;color:var(--brand-red);font-weight:800;white-space:nowrap;cursor:pointer}
.comment-sheet{height:min(82vh,760px);background:var(--surface-elevated)}
.comment-origin{margin-bottom:3px;border-bottom:1px solid var(--border-strong)!important}
.comment-list>article{position:relative;background:transparent!important}
.comment-list>article.reply{position:relative;margin-left:49px}
.comment-list>article.reply::before{content:"";width:1px;position:absolute;top:-16px;bottom:20px;left:-29px;background:var(--border)}
.comment-list article header{min-width:0;position:relative;padding-right:38px}
.comment-list article header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-menu{position:absolute;top:-10px;right:-8px;z-index:4}
.comment-menu summary{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--text-muted);cursor:pointer;list-style:none}
.comment-menu summary::-webkit-details-marker{display:none}.comment-menu summary:hover{background:var(--surface-hover);color:var(--text-primary)}
.comment-menu>div{min-width:178px;padding:6px;position:absolute;top:34px;right:0;display:grid;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-elevated);box-shadow:var(--shadow-md)}
.comment-menu button{min-height:40px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.comment-menu button:hover{background:var(--surface-hover)}.comment-menu button.danger{color:#ff727d}
.comment-actions span{color:var(--text-muted);font-size:11px}
.comment-input-avatar img{width:100%;height:100%;object-fit:cover}
.comment-composer-row{display:flex;align-items:flex-end;gap:11px}
.comment-composer-row textarea{min-height:72px;max-height:160px;padding:13px 15px;border-radius:14px!important;resize:none;overflow-y:auto}
.comment-composer-row>button{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:var(--brand-red)!important;color:#fff!important;font-weight:800;cursor:pointer}.comment-composer-row>button:disabled{opacity:.42}
.reply-composer-sheet{height:auto;max-height:min(84vh,700px);grid-template-rows:auto minmax(0,1fr)}
.reply-composer-sheet>header{grid-template-columns:auto 1fr auto}.reply-composer-sheet>header h2{text-align:center}
.reply-cancel,.reply-submit-mobile{width:auto!important;padding:0!important;font-size:13px!important}.reply-submit-mobile{display:none;color:var(--brand-red)!important;font-weight:800}
.reply-composer-body{padding:18px 20px 22px;overflow-y:auto}
.reply-source{display:flex;align-items:flex-start;gap:11px}.reply-source>div{min-width:0;flex:1}.reply-source header{display:flex;align-items:baseline;gap:8px}.reply-source time{color:var(--text-muted);font-size:11px}.reply-source p{margin:6px 0;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}
.reply-source>.comment-avatar,.reply-source>a{position:relative}.reply-source>.comment-avatar::after,.reply-source>a::after{content:"";width:1px;height:38px;position:absolute;top:43px;left:19px;background:var(--border)}
.reply-target{margin:12px 0 16px 49px;color:var(--brand-red);font-size:12px}.reply-composer-body>.comment-composer-row{padding-top:4px}
@media(max-width:760px){.comment-sheet{height:92dvh;max-height:92dvh;border-radius:18px 18px 0 0}.reply-composer-sheet{height:100dvh;max-height:100dvh;border-radius:0}.reply-composer-sheet>header{padding-top:env(safe-area-inset-top)}.reply-submit-mobile{display:block}.reply-composer-body{padding:16px 14px calc(20px + env(safe-area-inset-bottom))}.comment-sheet>footer{padding-inline:14px}.comment-composer-row>button span{display:none}.comment-composer-row>button{width:44px;padding:0;justify-content:center}.comment-list>article.reply{margin-left:34px}.comment-list>article.reply::before{left:-20px}.feed-post-media{margin-inline:-2px}.composer-upload-error{margin-inline:14px;align-items:flex-start;flex-direction:column}.composer-upload-error button{min-height:36px}.feed-media-viewer-backdrop{padding:0}.feed-media-viewer>button{top:max(14px,env(safe-area-inset-top));right:14px}}
