/* GridUnion platform foundations, 2026-10. Additive migration over the
   existing components: no feature hooks or team identity variables replaced. */
body.gu-platform {
  --bg:#0c0e13; --panel:#14171e; --panel2:#1b1f28; --panel-2:#1b1f28;
  --text:#f2f3f7; --muted:#a6adbc; --line:#303541;
  --red:#e44d9b; --blue:#9081f7; --cyan:#86d7e5; --green:#79d9b1;
  --gu-surface:#14171e; --gu-surface-raised:#1b1f28; --gu-panel-fill:#14171e;
  --gu-surface-border:#303541; --gu-label:#c0c5d0; --gu-help:#a6adbc;
  --gu-brand-gradient:linear-gradient(110deg,#af326d,#6952c4);
  --gu-card-radius:12px; --gu-inner-radius:8px; --gu-control-radius:7px;
  --gu-control-height:42px; --gu-control-bg:#101319; --gu-control-bg-hover:#212631;
  --gu-control-border:#424957; --gu-control-border-hover:#929bad;
  --gu-control-focus:#e59ac8; --gu-control-focus-ring:#e59ac833;
  --shadow:0 8px 24px #0002; --gu-panel-shadow:none; --gu-surface-texture:none;
  background:var(--bg); color:var(--text); font:400 14px/1.55 var(--font-gridunion);
}
.gu-platform *, .gu-platform *::before,.gu-platform *::after {box-sizing:border-box}
.gu-platform [hidden] {display:none!important}
.gu-platform :is(h1,h2,h3,h4,.gu-discover strong,.home-highlight-copy h3,.event-title,.team-card h3,.track-card-body h3) {
  font-family:var(--font-gridunion);font-style:normal;text-transform:none;letter-spacing:-.025em;line-height:1.2;font-weight:650;
}
.gu-platform h1 {font-size:clamp(30px,3.4vw,46px)}
.gu-platform h2 {font-size:clamp(21px,2.2vw,28px)}
.gu-platform h3 {font-size:18px}
.gu-platform :is(p,li) {line-height:1.6}
.gu-platform small {line-height:1.5}
.gu-platform :is(.muted,.help-text,.field-help,.gu-quiet,.page-summary-description) {color:var(--muted)}
.gu-platform .eyebrow {font-size:11px;line-height:1.5;font-style:normal;letter-spacing:.08em;color:#bac1ce}
.gu-platform .shell {width:min(1200px,calc(100% - 64px));max-width:1200px;margin-inline:auto}
.gu-platform :is(.hero,.section) {padding-block:28px}
.gu-platform :is(.section-head,.ts-heading) {gap:16px;margin-bottom:18px}
.gu-platform .section-head :is(h1,h2) {margin:4px 0}
.gu-platform .section-head p {margin:0}
.gu-platform :is(.button,.small-control) {
  border-radius:7px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:600;
  letter-spacing:0;line-height:1.4;box-shadow:none;transform:none;text-transform:none;
}
.gu-platform :is(.button,.small-control):hover {transform:none;filter:brightness(1.12)}
.gu-platform .button:not(.button-ghost):not(.danger):not(.button-danger):not(.danger-button):not(.delete-button) {background:var(--gu-brand-gradient)}
.gu-platform :is(.button-ghost,.small-control) {background:#191e27;border:1px solid #424957;color:var(--text)}
.gu-platform :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid #eca7d0;outline-offset:4px}
.gu-platform :is(input,select,textarea) {font:inherit;border-radius:7px;min-height:42px;background-color:#101319;border-color:#424957;color:var(--text)}
.gu-platform input:is([type=checkbox],[type=radio]) {min-height:0;accent-color:#c65ba1}
.gu-platform :is(label,.form-label) {font-size:13px;text-transform:none;letter-spacing:0}
.gu-platform :is(.panel,.form-card,.page-summary-card,.settings-disclosure,.page-disclosure,.team-operations-drawer,
 .team-admin-panel,.team-card,.team-directory-card,.track-catalog-card,.livery-card,.rig-card,.listing-card,.event-card.visual-card,
 .team-registration-card,.start-slot-card,.race-panel,.filter-panel,.connect-filter-panel,.team-directory-filters,.match-filter-panel,
 .legal-card,.account-platform-card,.public-platform-block,.public-rank-card,.discussion-thread,.comment-thread-card,
 .overlay-access-card,.overlay-beta-code-card,.overlay-devices-card,.stint-workflow-card,.stint-review-card,
 .page-jump-nav,.page-section-nav,.gu-intro-event-facts,.team-lineup-card,.team-member-card,.team-roster-panel,
 .track-about-card,.track-panel,.circuit-platform-card,.circuit-rating-panel,.data-card,.operational-card) {
  border:1px solid var(--line);border-radius:12px;background-color:var(--panel);
  background-image:none;box-shadow:none;
}
.gu-platform :is(.team-card,.team-directory-card,.track-catalog-card,.livery-card,.rig-card,.listing-card,.event-card):hover {transform:none;box-shadow:none}
.gu-platform :is(.page-summary-card,.page-disclosure>summary) {padding:14px 18px}
.gu-platform .page-disclosure-body {padding:18px}
.gu-platform .gu-page-intro {padding-block:20px;margin-block:12px;background-image:none;box-shadow:none}
.gu-platform .gu-page-intro h1 {font-size:clamp(28px,3.2vw,40px)}
.gu-platform :is(.page-section-nav,.page-jump-nav) {padding:5px;gap:4px;flex-wrap:wrap}
.gu-platform :is(.page-section-nav,.page-jump-nav) a {min-height:40px;padding:9px 13px;border-radius:7px;font-size:13px}
.gu-platform :is(.empty-state,.source-warning,.form-error,.form-success) {border-radius:10px;padding:18px;line-height:1.6}
.gu-platform .empty-state {border:1px dashed #505868;color:var(--muted)}
.gu-platform .empty-state h3 {color:var(--text);margin:0 0 6px}
.gu-platform .empty-state a:not(.button) {display:inline-flex;min-height:40px;align-items:center;color:#d9a9e7}
.gu-platform .source-warning {border:1px solid #80683e;color:#f1d69d;background:#292318}
.gu-platform :is(.gu-settings-content,.gu-settings-layout,.ts-layout)>* {min-width:0}
.gu-platform .gu-settings-heading {padding-block:24px 16px}
.gu-platform .gu-settings-heading h1 {font-size:32px}
.gu-platform .gu-settings-content :is(.discord-integration-card,.discord-race-settings,.discord-voice-settings-card) {padding:16px}
.gu-platform .gu-settings-content .discord-permission-grid>div {padding:12px;font-size:13px}
.gu-platform .stint-slot {box-shadow:none}
.gu-platform :is(.analysis-table,.leaderboard-table,.stint-plan) {font-variant-numeric:tabular-nums}
.gu-platform img {max-width:100%}
.gu-platform .track-card-photo>img {object-fit:cover}
.gu-platform .circuit-sim-badge img {object-fit:contain}
.gu-platform :is(.sim-logo,.sim-badge img,.circuit-platform-icon img) {object-fit:contain}
.gu-platform .gu-sim-identity {display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:28px;color:#c6d0dd;font-size:11px;font-style:normal;font-weight:600;line-height:1.35}
.gu-platform .gu-sim-identity img {display:block;flex:0 0 auto;width:28px;height:28px;object-fit:contain;filter:none;opacity:1}
.gu-platform .gu-sim-identity-lmu img {width:74px}
.gu-platform .gu-sim-identity>span {min-width:0;overflow-wrap:anywhere}
.gu-platform .recruiting-card-facts .gu-sim-identity,
.gu-platform .recruiting-card-facts .gu-sim-identity>span {padding:0;border:0;background:none;white-space:normal;overflow:visible}
/* Shared navigation uses native disclosure buttons: no hover-only access. */
body.gu-ui-system.gu-platform .site-header {
  position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:10px 24px;padding:14px max(24px,calc((100vw - 1440px)/2));min-height:72px;
  background:#111319;border-bottom:1px solid #2c303b;box-shadow:none;
}
.gu-platform .brand {flex-shrink:0;gap:10px}
.gu-platform .brand img {width:36px;height:36px;object-fit:contain}
.gu-platform .brand span {font-size:15px;letter-spacing:.055em;color:#ecedf3}
body.gu-ui-system.gu-platform .main-nav {display:flex;align-items:center;gap:2px;margin:0;padding:0;border:0;flex-wrap:wrap}
.gu-platform .main-nav .nav-community {position:relative}
.gu-platform .main-nav summary {display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border-radius:7px;cursor:pointer;font-size:13px;color:#bec4cf;list-style:none}
.gu-platform .main-nav summary::-webkit-details-marker {display:none}
.gu-platform .main-nav :is(summary:hover,details[open]>summary,details[data-active]>summary) {background:#22212d;color:#f5eafa}
.gu-platform .nav-community-menu {position:absolute;top:100%;left:0;right:auto;width:258px;max-width:calc(100vw - 32px);padding:7px;border:1px solid #414454;border-radius:12px;background:#191c24;box-shadow:0 16px 40px #0006}
.gu-platform .nav-community-menu a {display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;font-size:13px;color:#d9dce5;text-decoration:none;white-space:normal}
.gu-platform .nav-community-menu a:hover {background:#2b293a;color:#fff}
.gu-platform .nav-community-menu a[aria-current] {background:#362538;color:#ffc6e6}
.gu-platform .account {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0}
.gu-platform :is(.team-chip,.user-chip,.gu-account-settings,.admin-nav-link) {min-height:40px;border-radius:8px;font-size:12px}
.gu-platform .identity-switcher {max-width:135px}
.gu-platform .identity-switcher select {min-height:32px}
.gu-platform .team-chip-name {max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.gu-ui-system.gu-platform .account .user-chip>.avatar-fallback {display:grid;place-items:center}
.gu-platform .gu-skip-link {position:absolute;top:-100px;left:16px;z-index:10000;background:#f7eef5;color:#15121b;padding:12px;border-radius:8px}
.gu-platform .gu-skip-link:focus {top:8px}
.gu-platform #main-content:focus {outline:none}
.gu-platform .gu-platform-footer {width:min(1200px,calc(100% - 64px));margin:64px auto 0;padding:36px 0 20px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px;border-top:1px solid var(--line);background:none}
.gu-platform-footer>div {display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gu-platform .gu-platform-footer h2 {font-size:13px;margin:0 0 7px;letter-spacing:0}
.gu-platform-footer a {font-size:12px;min-height:26px;color:var(--muted);text-decoration:none}
.gu-platform-footer a:hover {color:#ebc0df}
.gu-platform-footer .gu-footer-brand strong {font-size:20px;color:#fff}
.gu-platform-footer .gu-footer-brand :is(span,small) {font-size:12px;color:var(--muted);max-width:200px}
.gu-platform-footer .gu-footer-legal {grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;gap:8px 20px}
.gu-platform .platform-disclaimer {max-width:1200px;width:calc(100% - 64px);margin:0 auto;padding:12px 0 28px;font-size:11px;line-height:1.6;color:var(--muted)}
.gu-actions {display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gu-caption {font-size:12px;color:var(--muted)}
@media(max-width:1200px) {
 body.gu-ui-system.gu-platform .site-header {gap:8px 16px}
 body.gu-ui-system.gu-platform .main-nav {order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:4px}
 .gu-platform .account {margin-left:auto}
}
@media(max-width:700px) {
 .gu-platform .shell {width:calc(100% - 32px)}
 body.gu-ui-system.gu-platform .site-header {padding:10px 16px;gap:6px}
 .gu-platform .brand span {font-size:13px}
 .gu-platform .brand img {width:30px;height:30px}
 body.gu-ui-system.gu-platform .main-nav {display:grid;grid-template-columns:.75fr 1.4fr .75fr 1.1fr .7fr;align-items:stretch;gap:2px}
 .gu-platform .main-nav summary {font-size:12px;padding:8px 2px;gap:3px;justify-content:center;min-height:48px;white-space:normal;line-height:1.3}
 .gu-platform .main-nav summary svg {flex-shrink:0;width:9px}
 .gu-platform .main-nav .nav-community {position:static}
 .gu-platform .nav-community-menu {left:16px;right:16px;top:100%;width:auto;max-width:none}
 .gu-platform .account .team-chip-name,.gu-platform .account .user-chip>span:not(.avatar-fallback) {display:none}
 .gu-platform .account :is(.team-chip,.user-chip) {padding:4px;min-width:36px}
 .gu-platform .identity-switcher {max-width:112px}
 .gu-platform .account .gu-account-settings {font-size:11px;padding:8px}
 .gu-platform :is(.button,.small-control) {min-height:44px}
 .gu-platform .section-head {flex-wrap:wrap;align-items:flex-start}
 .gu-platform .gu-platform-footer {width:calc(100% - 32px);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-top:40px}
 .gu-platform-footer .gu-footer-brand {grid-column:1/-1}
 .gu-platform-footer a {min-height:32px}
 .gu-platform .platform-disclaimer {width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce) {
 .gu-platform *, .gu-platform *::before,.gu-platform *::after {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
