:root{
  color-scheme: dark;
  --bg: #090714;
  --panel: rgba(21, 17, 36, .94);
  --panel-light: rgba(37, 26, 56, .88);
  --ink: #fbf7ff;
  --muted: #b9adc8;
  --purple: #c15dff;
  --pink: #ff48bd;
  --cyan: #5af1ff;
  --line: rgba(195, 105, 255, .36);
  --glow: 0 0 24px rgba(176, 62, 245, .19);
  --font: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  --display: "Trebuchet MS", "Arial Narrow", sans-serif;
  --home-art: url("app-home-art.svg");
}
*{ box-sizing: border-box; }
.visually-hidden{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
html, body{ width: 100%; height: 100%; margin: 0; background: var(--bg); color: var(--ink); }
body{ min-height: 100dvh; overflow: hidden; font-family: var(--font); -webkit-tap-highlight-color: transparent; }
button, a{ font: inherit; }
button{ color: inherit; }
#app{ height: 100dvh; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; background: radial-gradient(ellipse at 50% -20%, rgba(142, 52, 199, .24), transparent 58%), linear-gradient(180deg, #100b1c, #090714 54%, #0c0915); }
.boot-screen{ flex: 1; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--cyan); letter-spacing: .18em; }
.boot-mark{ width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--cyan); border-radius: 18px; background: linear-gradient(145deg, #a635dc, #20132f); box-shadow: 0 0 25px #a635dc66; }
.boot-mark svg{ width: 100%; height: 100%; display: block; }
.boot-screen strong{ color: white; font: 800 15px var(--display); }
.boot-screen small{ color: var(--muted); font-size: 10px; }
.app-header{ height: 62px; flex: 0 0 62px; display: flex; align-items: center; gap: 11px; padding: 0 16px; background: rgba(11, 8, 20, .96); border-bottom: 1px solid var(--line); box-shadow: 0 4px 22px #9b3de022; z-index: 3; }
.brand-mark{ width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--cyan); border-radius: 13px 16px 11px 16px; background: linear-gradient(145deg, #bb43ec, #29173d); box-shadow: 0 0 15px #57edff39, inset 0 0 14px #de8aff36; }
.brand-mark svg{ width: 100%; height: 100%; display: block; }
.brand-copy{ min-width: 0; flex: 1; font: 900 14px/1 var(--display); letter-spacing: .1em; }
.brand-copy small{ display: block; margin-top: 5px; color: var(--cyan); font: 700 9px var(--font); letter-spacing: .17em; }
.button-primary, .button-secondary{ min-height: 42px; border: 1px solid rgba(199, 111, 255, .7); border-radius: 10px; padding: 0 13px; background: linear-gradient(115deg, #9334d1, #c044c5 58%, #e93ca5); color: white; font: 800 10px var(--display); letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 0 18px #bc44e14a, inset 0 0 12px #ffffff1a; }
.button-secondary{ background: rgba(26, 19, 41, .9); box-shadow: none; border-color: var(--line); color: #f4e9ff; }
.app-main{ flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: none; padding: 0 15px calc(22px + env(safe-area-inset-bottom)); }
.app-main::-webkit-scrollbar{ display: none; }
.page{ max-width: 520px; margin: 0 auto; padding: 17px 0 24px; }
.home-hero{ position: relative; isolation: isolate; min-height: 250px; margin: -0px -15px 17px; padding: 17px 20px 16px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border-bottom: 1px solid #c35cff9c; background-image: linear-gradient(180deg, #08071112 0%, #09071436 36%, #090714f5 100%), var(--home-art); background-size: cover; background-position: center 54%; box-shadow: inset 0 -17px 35px #080711ad; }
.home-hero:after{ content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(108deg, #ae3be52b, transparent 55%, #50cfff17); }
.eyebrow{ display: flex; align-items: center; gap: 8px; color: var(--cyan); font: 800 10px var(--display); letter-spacing: .17em; text-transform: uppercase; }
.eyebrow:before{ content: ""; width: 18px; height: 1px; background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }
.hero-title{ margin: 6px 0 5px; color: white; font: 1000 clamp(36px, 11vw, 51px)/.92 var(--display); letter-spacing: -.025em; text-transform: uppercase; text-shadow: 0 0 22px #d65bff96, 0 3px 14px #07050c; }
.hero-title em, .page-title em{ color: #ee8aff; font-style: normal; }
.hero-copy{ max-width: 340px; margin: 0; color: #f0e6f7; font-size: 15px; line-height: 1.3; text-shadow: 0 2px 9px #05040b; }
.hero-actions{ display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.section-label{ margin: 8px 0 10px; color: var(--cyan); font: 800 10px var(--display); letter-spacing: .16em; text-transform: uppercase; }
.panel{ position: relative; margin: 13px 0; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, var(--panel-light), var(--panel)); box-shadow: var(--glow), inset 0 0 22px #b94ce80d; }
.panel-heading{ display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; font: 900 13px var(--display); letter-spacing: .09em; text-transform: uppercase; }
.panel-heading small{ color: var(--cyan); font: 700 9px var(--font); letter-spacing: .07em; }
.quick-leagues{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.quick-league{ min-height: 56px; display: grid; align-content: center; gap: 3px; padding: 9px 10px; border: 1px solid #c46aff34; border-radius: 10px; background: #ffffff08; text-align: left; }
.quick-league b{ font: 800 11px var(--display); }
.quick-league small{ color: var(--cyan); font: 700 9px var(--font); }
.socials{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.social-link{ min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid #bf5cff75; border-radius: 10px; background: linear-gradient(130deg, #9d42d036, #1c142ce6); color: white; font: 800 10px var(--display); text-decoration: none; }
.social-link i{ color: var(--cyan); font-style: normal; }
.page-head{ margin: 4px 0 14px; }
.page-title{ margin: 7px 0 5px; color: white; font: 1000 clamp(29px, 9vw, 38px)/1 var(--display); letter-spacing: .02em; text-transform: uppercase; }
.page-intro{ margin: 0; color: var(--muted); font-size: 14px; line-height: 1.4; }
.league-list{ display: grid; gap: 9px; margin-top: 13px; }
.league-card{ overflow: hidden; border: 1px solid #bd67ff55; border-radius: 13px; background: linear-gradient(145deg, #211632, #100e1b); box-shadow: 0 0 15px #a444d417; }
.league-card summary{ min-height: 70px; display: grid; grid-template-columns: 51px minmax(0,1fr) 20px; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; list-style: none; }
.league-card summary::-webkit-details-marker{ display: none; }
.league-card summary:after{ content: "＋"; justify-self: end; color: var(--cyan); font: 800 16px var(--display); }
.league-code{ width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #bd67ff8f; border-radius: 50%; background: radial-gradient(circle at 30% 20%, #bb52e9, #3a1c5b 72%, #14101d); color: white; font: 900 11px var(--display); box-shadow: 0 0 14px #bb40f22b; }
.league-name{ display: block; color: white; font: 900 14px/1.15 var(--display); }
.league-time{ display: block; margin-top: 5px; color: var(--cyan); font: 700 11px var(--font); }
.detail-body{ padding: 0 12px 14px; border-top: 1px solid #bf66ff30; }
.detail-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 11px; }
.detail-stat{ min-height: 49px; padding: 8px; border: 1px solid #b47ad52e; border-radius: 8px; background: #09091472; }
.detail-stat small, .detail-stat b{ display: block; }
.detail-stat small{ color: var(--muted); font: 800 8px var(--display); letter-spacing: .1em; }
.detail-stat b{ margin-top: 4px; color: white; font: 800 12px/1.25 var(--font); }
.detail-label{ margin: 13px 0 6px; color: var(--cyan); font: 900 9px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.zone-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.zone{ padding: 7px; border-left: 2px solid var(--cyan); border-radius: 3px 7px 7px 3px; background: #268b9f1b; }
.zone small, .zone b{ display: block; }
.zone small{ color: var(--muted); font-size: 9px; }
.zone b{ margin-top: 3px; color: white; font: 800 10px var(--display); }
.app-nav{ height: calc(66px + env(safe-area-inset-bottom)); flex: 0 0 calc(66px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 5px 7px max(7px, env(safe-area-inset-bottom)); border-top: 1px solid #c15dff65; background: #090713f7; box-shadow: 0 -8px 23px #0007; }
.nav-button{ display: grid; align-content: center; justify-items: center; gap: 3px; border: 0; border-radius: 9px; background: transparent; color: #a99cb5; font: 800 8px var(--display); letter-spacing: .06em; }
.nav-icon{ font-size: 18px; line-height: 1; }
.nav-button.active{ color: white; background: linear-gradient(180deg,#b54be735,#b54be708); }
.nav-button.active .nav-icon{ color: var(--cyan); text-shadow: 0 0 10px var(--cyan); }
.empty-note{ padding: 15px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); font-size: 13px; }
@media (min-width: 600px){
 #app{ border-left: 1px solid #c15dff25; border-right: 1px solid #c15dff25; } .home-hero{ margin-left: 0; margin-right: 0; border: 1px solid var(--line); border-radius: 0 0 17px 17px; } .app-main{ padding-left: 20px; padding-right: 20px; } 
}

/* Subtle F1-anime accents: pit-lane red, sharp type and manga speed slashes. */
:root{ --race-red: #ff405d; --race-white: #fff5f8; --race-violet: #a843ef; }
#app{ background-image: radial-gradient(ellipse at 50% -20%, rgba(142,52,199,.24), transparent 58%), repeating-linear-gradient(132deg, transparent 0 74px, rgba(255,64,93,.018) 75px 76px, transparent 77px 146px), linear-gradient(180deg,#100b1c,#090714 54%,#0c0915); }
.app-header{ position: relative; border-bottom-color: rgba(255,64,93,.42); }
.app-header:after{ position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; content: ""; background: linear-gradient(90deg,var(--race-red),var(--pink) 38%,var(--purple) 72%,var(--cyan)); opacity: .9; }
.brand-mark{ border-color: var(--race-red); border-radius: 9px 13px 9px 13px; transform: skewX(-5deg); box-shadow: 0 0 15px #ff405d38,0 0 17px #57edff24,inset 0 0 14px #de8aff36; }
.brand-copy small{ color: #ff91a2; }
.button-primary{ position: relative; overflow: hidden; border-color: #ff7890; border-radius: 7px 12px 7px 12px; background: linear-gradient(108deg,#7436c4 0%,#bf318b 57%,#f33d59 100%); box-shadow: 0 0 18px #d3327940,inset 0 0 12px #ffffff1a; }
.button-primary:after{ position: absolute; top: 0; right: 0; bottom: 0; width: 7px; content: ""; background: repeating-linear-gradient(180deg,#fff5f8 0 5px,transparent 5px 9px); opacity: .72; pointer-events: none; }
.button-secondary{ border-color: rgba(255,64,93,.54); border-radius: 7px 11px 7px 11px; background: linear-gradient(110deg,rgba(255,64,93,.12),rgba(26,19,41,.94) 54%); }
.eyebrow:before{ background: var(--race-red); box-shadow: 0 0 9px var(--race-red); }
.eyebrow:after{ width: 5px; height: 9px; content: ""; background: var(--cyan); transform: skewX(-20deg); box-shadow: 0 0 8px #5af1ff80; }
.home-hero{ position: relative; isolation: isolate; overflow: hidden; border-bottom-color: rgba(255,64,93,.68); background-repeat: repeat,no-repeat,no-repeat; background-size: auto,cover,cover; }
.home-hero{ border-left: 2px solid rgba(255,64,93,.7); background-image: repeating-linear-gradient(132deg,transparent 0 32px,rgba(255,255,255,.025) 33px 34px,transparent 35px 68px),linear-gradient(180deg,#08071112 0%,#09071436 36%,#090714f5 100%),var(--home-art); background-position: 0 0,center 54%,center 54%; }
.home-hero:before{ position: absolute; z-index: 1; top: 12px; right: 16px; width: 56px; height: 6px; content: ""; background: repeating-linear-gradient(90deg,#fff5f8 0 7px,#24102a 7px 14px); box-shadow: 0 0 12px #ff405d5c; pointer-events: none; }
.hero-title, .page-title{ font-style: italic; letter-spacing: -.045em; }
.hero-title em, .page-title em{ color: transparent; background: linear-gradient(90deg,#fff4fa 0%,#ff718f 44%,#ee8aff 100%); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 0 9px #ed58a54f); }
.panel{ border-left: 2px solid rgba(255,64,93,.62); border-radius: 10px 15px 10px 15px; background: linear-gradient(125deg,rgba(255,64,93,.055),transparent 31%),linear-gradient(145deg,var(--panel-light),var(--panel)); }
.panel-heading:before{ margin-right: 7px; color: var(--race-red); content: "//"; font: 900 11px var(--display); }
.social-link{ border-color: rgba(255,64,93,.42); border-radius: 7px 11px 7px 11px; background: linear-gradient(110deg,rgba(159,56,211,.28),rgba(26,20,43,.94) 72%); }
.league-card{ border-color: rgba(255,64,93,.4); border-radius: 8px 13px 8px 13px; background: linear-gradient(135deg,rgba(255,64,93,.07),transparent 36%),linear-gradient(145deg,#211632,#100e1b); }
.league-code{ border-color: rgba(255,64,93,.8); border-radius: 8px 13px 8px 13px; background: linear-gradient(145deg,#d43970,#642bd1 70%,#14101d); transform: skewX(-5deg); }
.detail-stat, .zone{ border-radius: 6px 9px 6px 9px; }
.zone{ border-left-color: var(--race-red); background: linear-gradient(90deg,#ff405d1a,#268b9f1b); }
.app-nav{ border-top-color: rgba(255,64,93,.56); }
.nav-button.active{ background: linear-gradient(145deg,#ff405d21,#b54be708); }
.nav-button.active:before{ width: 19px; height: 2px; content: ""; background: linear-gradient(90deg,var(--race-red),var(--cyan)); box-shadow: 0 0 8px #ff405d90; }

/* Weekly time attack, earned liveries{ min-height: 82px; border-color: rgba(255,94,128,.58); background: linear-gradient(105deg,rgba(255,64,93,.14),rgba(112,44,171,.12) 52%,rgba(11,13,26,.92)); }
.medal-gold{ color: #ffd66b !important; }
.medal-silver{ color: #e1e9ff !important; }
.medal-bronze{ color: #ffad81 !important; }
.medal-none{ color: var(--cyan) !important; }
.result-medal{ color: var(--cyan); font: 1000 12px var(--display); letter-spacing: .13em; text-shadow: 0 0 12px currentColor; }
.result-actions{ width: min(100%,330px); display: grid; gap: 6px; margin-top: 3px; }
.result-actions > *{ width: 100%; min-height: 36px; }
@media (max-height: 700px){

  .result-actions > *{ min-height: 32px; }

}
@keyframes picker-fade-in{ from { opacity: 0; } to { opacity: 1; } }

/* Racing frames: layered neon edges and cut corner accents across the app. */
.app-header{ border-bottom-color: #ff607f9c; background: linear-gradient(100deg,#120c1c,#0a0915 50%,#140a1a); box-shadow: 0 4px 20px #ff405d19,0 1px 0 #5af1ff36; }
.brand-mark{ border-color: #ff7892; box-shadow: 0 0 0 2px #b934cd44,0 0 18px #ff405d45,0 0 20px #5af1ff22,inset 0 0 13px #de8aff36; transform: skewX(-4deg); }
.brand-copy small{ color: #73edff; font-size: 8px; letter-spacing: .12em; }
.home-hero{ border: 1px solid #ff627fa8; border-radius: 8px 16px 8px 16px; box-shadow: inset 0 0 0 3px #ff516d22,inset 0 0 0 5px #5af1ff0b,0 0 0 1px #b53fd044,0 0 21px #ff405d1f; }
.panel{ border-color: #ff678b80; box-shadow: 0 0 0 1px #5af1ff20,0 0 20px #d02c6b17,inset 0 0 0 1px #fff4ff12,inset 0 0 24px #b94ce811; }
.panel:before, .panel:after{ position: absolute; z-index: 1; width: 10px; height: 9px; content: ""; pointer-events: none; }
.panel:before{ top: 5px; right: 6px; border-top: 2px solid var(--cyan); border-right: 2px solid var(--cyan); filter: drop-shadow(0 0 4px var(--cyan)); }
.panel:after{ bottom: 5px; left: 6px; border-bottom: 2px solid var(--race-red); border-left: 2px solid var(--race-red); filter: drop-shadow(0 0 4px var(--race-red)); }
.league-card{ border-color: #ff668777; box-shadow: 0 0 0 2px #58e9ff13,0 0 17px #d02c6b20,inset 0 0 0 1px #fff5ff12; }
.league-card summary{ background: linear-gradient(100deg,#ff405d0b,transparent 45%,#5af1ff08); }
.detail-stat, .zone{ border: 1px solid #dc79a34f; box-shadow: inset 0 0 0 1px #fff5ff09,0 0 10px #6b2e9020; }
.zone{ border-left: 2px solid var(--race-red); }
.app-nav{ border-top-color: #ff648799; box-shadow: 0 -8px 25px #ff405d14,0 -1px 0 #58e9ff25; }
.nav-button.active{ border: 1px solid #ff6b8b72; box-shadow: inset 0 0 13px #ff405d16,0 0 12px #ff405d16; }
.nav-button.active .nav-icon{ filter: drop-shadow(0 0 4px var(--cyan)); }
.nav-button[data-tab="links"] .nav-icon{ color: #ff91a5; }
.link-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.link-card{ min-width: 0; min-height: 80px; display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #ff6d8980; border-radius: 8px 14px 8px 14px; background: linear-gradient(125deg,#ff405d18,#a53ed312 52%,#11101d); color: var(--ink); text-decoration: none; box-shadow: 0 0 0 2px #5af1ff12,inset 0 0 0 1px #fff5ff12,0 0 16px #d5327920; }
.link-card:nth-child(even){ border-color: #8f69da94; background: linear-gradient(125deg,#a443dc20,#25203b 58%,#11101d); }
.link-card:active{ transform: translateY(1px); box-shadow: inset 0 0 18px #ff405d21,0 0 16px #5af1ff25; }
.link-card-icon{ width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid #5af1ff88; border-radius: 7px 11px 7px 11px; background: linear-gradient(145deg,#a43cda,#21152f); color: white; font: 900 16px var(--display); box-shadow: 0 0 12px #b844e139,inset 0 0 8px #fff2ff1c; }
.link-card:nth-child(even) .link-card-icon{ border-color: #ff779299; background: linear-gradient(145deg,#e13e7e,#361634); }
.link-card-copy{ min-width: 0; flex: 1; }
.link-card-copy b, .link-card-copy small{ display: block; overflow: hidden; text-overflow: ellipsis; }
.link-card-copy b{ color: white; font: 900 9px var(--display); letter-spacing: .08em; }
.link-card-copy small{ margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.25; }
.link-card > i{ color: var(--cyan); font: 900 14px var(--display); font-style: normal; }
.links-welcome{ min-height: 113px; overflow: hidden; background: linear-gradient(115deg,#241337e8,#0f1420ed 66%),var(--home-art) center 45%/cover; }
.links-welcome .eyebrow{ font-size: 8px; }
.links-welcome > p{ margin: 11px 0 8px; color: white; font: 800 14px var(--display); }
.links-flags{ height: 5px; display: flex; gap: 4px; margin-top: 14px; transform: skewX(-25deg); }
.links-flags i{ width: 17px; height: 5px; background: var(--race-red); box-shadow: 0 0 8px #ff405d66; }
.links-flags i:nth-child(even){ background: var(--cyan); box-shadow: 0 0 8px #5af1ff66; }
.links-page .page-head{ margin-bottom: 14px; }
.reward-meter{ height: 4px; margin-top: 8px; overflow: hidden; border-radius: 6px; background: #ffffff16; }
.reward-meter i{ display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c15dff,#ff64a8,#5af1ff); box-shadow: 0 0 8px #d354ff; transition: width .35s ease; }
.league-finder{ padding: 0; overflow: hidden; }
.league-finder > summary{ min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px 13px; cursor: pointer; list-style: none; background: linear-gradient(110deg,#b33cc119,transparent 65%); }
.league-finder > summary::-webkit-details-marker{ display: none; }
.league-finder > summary b, .league-finder > summary small{ display: block; }
.league-finder > summary b{ color: white; font: 900 10px var(--display); letter-spacing: .1em; }
.league-finder > summary small{ margin-top: 4px; color: var(--muted); font-size: 9px; }
.league-finder > summary i{ color: var(--cyan); font: 900 19px var(--display); font-style: normal; }
.league-finder[open] > summary{ border-bottom: 1px solid #ff668844; }
.league-finder[open] > summary i{ transform: rotate(45deg); }
.finder-body{ display: grid; gap: 10px; padding: 11px 12px 10px; }
.finder-filter > b{ display: block; margin-bottom: 6px; color: #ffb4c1; font: 800 7px var(--display); letter-spacing: .13em; }
.finder-chips{ display: flex; flex-wrap: wrap; gap: 5px; }
.finder-chip{ min-height: 29px; padding: 4px 8px; border: 1px solid #b56cca5e; border-radius: 6px 9px 6px 9px; background: #13101e; color: #d2c8dd; font: 800 8px var(--display); letter-spacing: .035em; }
.finder-chip.selected{ border-color: #5af1ffad; background: linear-gradient(120deg,#a638c53a,#0e202b); color: white; box-shadow: 0 0 9px #5af1ff28; }
.finder-results{ margin: 0; color: var(--cyan); font: 800 8px var(--display); letter-spacing: .08em; }
.league-card[hidden]{ display: none !important; }
.reminder-control{ display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 9px; border: 1px solid #a650b84f; border-radius: 7px 10px 7px 10px; background: linear-gradient(110deg,#a638c51a,#10101d); }
.reminder-control > span{ min-width: 0; }
.reminder-control b, .reminder-control small{ display: block; }
.reminder-control b{ color: #f3e5ff; font: 900 8px var(--display); letter-spacing: .09em; }
.reminder-control small{ margin-top: 4px; color: var(--muted); font: 700 7px var(--display); letter-spacing: .06em; }
.reminder-control button{ min-height: 34px; flex: 0 0 auto; padding: 5px 8px; border: 1px solid #5af1ff70; border-radius: 6px 9px 6px 9px; background: #10212b; color: #c8fbff; font: 900 7px var(--display); letter-spacing: .06em; }
.reminder-control button:disabled{ opacity: .7; }
.reminder-note{ margin: 6px 2px 0; color: var(--muted); font-size: 9px; line-height: 1.35; }
@media (max-width: 370px){

  .reminder-control{ align-items: flex-start; flex-direction: column; }
  .reminder-control button{ width: 100%; }

}


/* Active app screen carries its own F1 team inspired neon palette. */
#app[data-screen="home"]{
  --team-primary: #00d2be;
  --team-secondary: #e7f6f3;
  --team-mid: #0b4b49;
  --team-deep: #061517;
  --team-rgb: 0,210,190;
  --team-secondary-rgb: 231,246,243;
}
#app[data-screen="leagues"]{
  --team-primary: #ff3348;
  --team-secondary: #ffd84f;
  --team-mid: #771720;
  --team-deep: #20080d;
  --team-rgb: 255,51,72;
  --team-secondary-rgb: 255,216,79;
}
#app[data-screen="links"]{
  --team-primary: #ff8735;
  --team-secondary: #35caff;
  --team-mid: #7b3a10;
  --team-deep: #211208;
  --team-rgb: 255,135,53;
  --team-secondary-rgb: 53,202,255;
}
#app[data-screen]{
  --cyan: var(--team-primary);
  --pink: var(--team-secondary);
  --purple: var(--team-primary);
  --race-red: var(--team-primary);
  --line: rgba(var(--team-rgb),.38);
  --glow: 0 0 22px rgba(var(--team-rgb),.2);
  --panel: rgba(12,13,20,.95);
  --panel-light: rgba(var(--team-rgb),.1);
  background-image: radial-gradient(ellipse at 50% -20%,rgba(var(--team-rgb),.22),transparent 58%),repeating-linear-gradient(132deg,transparent 0 74px,rgba(var(--team-rgb),.02) 75px 76px,transparent 77px 146px),linear-gradient(180deg,#100b1c,#090714 54%,#0c0915);
}
#app[data-screen] .app-header{
  border-bottom-color: rgba(var(--team-rgb),.55);
  background: linear-gradient(100deg,var(--team-deep),#0a0915 50%,var(--team-deep));
  box-shadow: 0 4px 20px rgba(var(--team-rgb),.12);
}
#app[data-screen] .app-header:after{ background: linear-gradient(90deg,var(--team-primary),var(--team-secondary)); }
#app[data-screen] .brand-mark{
  border-color: var(--team-primary);
  background: linear-gradient(145deg,var(--team-mid),var(--team-deep));
  box-shadow: 0 0 0 2px rgba(var(--team-rgb),.24),0 0 17px rgba(var(--team-rgb),.28),inset 0 0 12px rgba(var(--team-secondary-rgb),.12);
}
#app[data-screen] .button-primary, #app[data-screen] .button-secondary{
  border-color: var(--team-primary);
  background: linear-gradient(115deg,var(--team-mid),var(--team-deep));
  box-shadow: 0 0 15px rgba(var(--team-rgb),.22),inset 3px 0 var(--team-primary),inset 0 0 10px rgba(var(--team-secondary-rgb),.08);
}
#app[data-screen] .home-hero{
  border-color: rgba(var(--team-rgb),.76);
  box-shadow: inset 0 0 0 3px rgba(var(--team-rgb),.15),0 0 0 1px rgba(var(--team-secondary-rgb),.12),0 0 20px rgba(var(--team-rgb),.2);
}
#app[data-screen] .home-hero:after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(108deg,rgba(var(--team-rgb),.22),transparent 55%,rgba(var(--team-secondary-rgb),.1));
}
#app[data-screen] .panel{
  border-color: rgba(var(--team-rgb),.55);
  box-shadow: 0 0 0 1px rgba(var(--team-secondary-rgb),.12),0 0 17px rgba(var(--team-rgb),.14),inset 0 0 22px rgba(var(--team-rgb),.045);
}
#app[data-screen] .panel:before{ border-color: var(--team-secondary) var(--team-secondary) transparent transparent; }
#app[data-screen] .panel:after{ border-color: transparent transparent var(--team-primary) var(--team-primary); }
#app[data-screen] .league-card, #app[data-screen] .detail-stat, #app[data-screen] .zone{
  border-color: rgba(var(--team-rgb),.52);
}
#app[data-screen] .zone{ border-left-color: var(--team-primary); }
#app[data-screen] .league-card summary{ background: linear-gradient(100deg,rgba(var(--team-rgb),.09),transparent 56%,rgba(var(--team-secondary-rgb),.045)); }
#app[data-screen] .app-nav{ border-top-color: rgba(var(--team-rgb),.65); box-shadow: 0 -8px 25px rgba(var(--team-rgb),.1); }
#app[data-screen] .nav-button.active{ border-color: rgba(var(--team-rgb),.6); box-shadow: inset 0 0 13px rgba(var(--team-rgb),.14),0 0 12px rgba(var(--team-rgb),.14); }
#app[data-screen] .nav-button.active .nav-icon, #app[data-screen] .nav-button[data-tab="links"] .nav-icon{ color: var(--team-primary); filter: drop-shadow(0 0 4px var(--team-primary)); }
#app[data-screen="links"] .link-card{
  border-color: rgba(var(--team-rgb),.72);
  background: linear-gradient(125deg,rgba(var(--team-rgb),.14),#15111b 62%,#11101d);
  box-shadow: 0 0 0 2px rgba(var(--team-secondary-rgb),.08),inset 0 0 0 1px rgba(var(--team-secondary-rgb),.09),0 0 16px rgba(var(--team-rgb),.16);
}
#app[data-screen="links"] .link-card:nth-child(even){ border-color: rgba(var(--team-secondary-rgb),.55); }
#app[data-screen] .link-card-icon{ border-color: var(--team-primary); background: linear-gradient(145deg,var(--team-mid),var(--team-deep)); }


#app[data-screen] .panel{
  background: linear-gradient(125deg,rgba(var(--team-rgb),.075),transparent 36%),linear-gradient(145deg,var(--panel-light),var(--panel));
}
#app[data-screen] .finder-chip.selected{ border-color: var(--team-primary); background: linear-gradient(120deg,rgba(var(--team-rgb),.2),var(--team-deep)); }

/* Full-height game panel; keep the app tabs available around the live race. */
.app-main.race-main { display: flex; overflow: hidden; padding: 0; background: #0d1419; }
.race-embed { display: block; width: 100%; min-height: 0; flex: 1; border: 0; background: #0d1419; }
.app-nav { grid-template-columns: repeat(4,minmax(0,1fr)); }


/* Home dashboard: a more useful race-week landing screen. */
.home-page { padding-top: 12px; }
.home-hero { min-height: 300px; justify-content: space-between; margin: 0 -15px 13px; padding: 17px 18px 16px; border-radius: 0 0 19px 19px; background-color: #071319; background-image: radial-gradient(ellipse at 78% 28%,rgba(84,243,223,.19),transparent 40%),linear-gradient(130deg,#07141b 0%,#101722 55%,#23141d 100%); }
.home-hero:after { background: linear-gradient(112deg,rgba(84,243,223,.12),transparent 48%,rgba(255,64,93,.13)); }
.home-hero-meta { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.home-hero-meta .eyebrow { max-width: 225px; color: #d8fcf8; font-size: 8px; letter-spacing: .12em; }
.home-season-tag { flex: 0 0 auto; padding: 5px 7px; border: 1px solid rgba(var(--team-rgb),.58); border-radius: 5px; background: rgba(var(--team-rgb),.12); color: var(--team-primary); font: 900 7px var(--display); letter-spacing: .1em; }
.home-track-art { position: absolute; z-index: -1; top: 35px; right: -44px; width: 220px; height: 210px; opacity: .72; filter: drop-shadow(0 0 15px rgba(var(--team-rgb),.28)); }
.home-hero-copy { position: relative; z-index: 1; max-width: 300px; margin-top: auto; padding-top: 25px; }
.home-live-label { display: flex; align-items: center; gap: 7px; color: #d7e3ea; font: 900 8px var(--display); letter-spacing: .13em; }
.home-live-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--team-primary); box-shadow: 0 0 9px var(--team-primary); }
.home-hero .hero-title { margin: 9px 0 6px; font-size: clamp(40px,12vw,54px); line-height: .86; letter-spacing: -.05em; }
.home-hero .hero-title em { background-image: linear-gradient(90deg,#fff 0%,var(--team-primary) 70%,var(--team-secondary)); }
.home-hero .hero-copy { max-width: 260px; color: #d7e3ea; font-size: 12px; line-height: 1.45; }
.home-hero .hero-actions { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 1fr; gap: 8px; margin-top: 17px; }
.home-hero .hero-actions button { min-width: 0; min-height: 43px; padding: 0 9px; font-size: 8px; letter-spacing: .07em; }
.home-hero .button-primary { color: #041315; background: linear-gradient(115deg,var(--team-primary),var(--team-secondary)); }
.home-hero .button-primary:after { background: repeating-linear-gradient(180deg,#071319 0 5px,transparent 5px 9px); }
.home-hero .button-secondary { color: #edfffd; background: rgba(8,17,23,.78); }
.home-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 0 0 15px; }
.home-stats > div { min-height: 58px; display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid rgba(var(--team-rgb),.36); border-radius: 8px 12px 8px 12px; background: linear-gradient(140deg,rgba(var(--team-rgb),.1),rgba(10,13,20,.88)); }
.home-stats b { color: var(--team-primary); font: 1000 21px/.9 var(--display); letter-spacing: -.04em; }
.home-stats span { color: #b7c8d0; font: 800 6px/1.25 var(--display); letter-spacing: .07em; }
.home-next { overflow: hidden; margin: 0 0 17px; padding: 14px; border-radius: 10px 16px 10px 16px; background: linear-gradient(125deg,rgba(var(--team-rgb),.12),transparent 55%),linear-gradient(145deg,#15212a,#0d1019 70%); }
.home-section-top,.home-week-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.home-section-top .section-label,.home-week-heading .section-label { margin: 0 0 5px; color: var(--team-primary); font-size: 8px; }
.home-section-top h2,.home-week-heading h2 { margin: 0; color: #fff; font: 900 16px/1.1 var(--display); }
.home-next-flag { padding: 5px 7px; border: 1px solid rgba(var(--team-rgb),.45); border-radius: 5px; color: var(--team-primary); font: 900 7px var(--display); letter-spacing: .11em; }
.home-next-info { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10px; margin-top: 13px; padding: 11px 0; border-top: 1px solid rgba(var(--team-rgb),.22); border-bottom: 1px solid rgba(var(--team-rgb),.22); }
.home-next-date { display: flex; flex-direction: column; justify-content: center; padding-left: 9px; border-left: 2px solid var(--team-primary); }
.home-next-date b { color: white; font: 1000 17px var(--display); text-transform: uppercase; }
.home-next-date span { margin-top: 4px; color: #aebfc9; font: 800 8px var(--display); letter-spacing: .06em; }
.home-next-details { display: grid; gap: 6px; }
.home-next-details span { display: flex; justify-content: space-between; gap: 5px; color: #8fa0ac; font: 800 6px var(--display); letter-spacing: .08em; }
.home-next-details b { color: #eef9fb; font-size: 8px; text-align: right; }
.home-next-link,.home-all-link { display: flex; align-items: center; justify-content: space-between; border: 0; background: none; color: var(--team-primary); font: 900 8px var(--display); letter-spacing: .1em; }
.home-next-link { width: 100%; padding: 11px 0 0; }
.home-next-link span { font-size: 14px; }
.home-week { margin: 0 0 15px; }
.home-week-heading { margin: 0 1px 9px; }
.home-week-heading h2 { font-size: 15px; }
.home-all-link { padding: 7px 0 7px 8px; white-space: nowrap; }
.home-week-list { overflow: hidden; border: 1px solid rgba(var(--team-rgb),.32); border-radius: 10px 14px 10px 14px; background: linear-gradient(145deg,rgba(var(--team-rgb),.07),rgba(12,13,20,.92)); }
.home-week-row { width: 100%; min-height: 59px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto 14px; align-items: center; gap: 8px; padding: 7px 10px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07); background: transparent; color: var(--ink); text-align: left; }
.home-week-row:last-child { border-bottom: 0; }
.home-week-row:active { background: rgba(var(--team-rgb),.14); }
.home-week-day { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(var(--team-rgb),.45); border-radius: 7px; background: rgba(var(--team-rgb),.1); color: var(--team-primary); font: 900 8px var(--display); }
.home-week-copy { min-width: 0; }
.home-week-copy b,.home-week-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-week-copy b { color: #f4fbfc; font: 900 10px var(--display); }
.home-week-copy small { margin-top: 4px; color: #92a3af; font: 700 7px var(--display); letter-spacing: .04em; }
.home-week-time { color: #d8e7eb; font: 800 8px var(--display); white-space: nowrap; }
.home-week-arrow { color: var(--team-primary); font-size: 12px; }
.home-community { min-height: 64px; display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 10px; border: 1px solid rgba(var(--team-secondary-rgb),.27); border-radius: 9px 13px 9px 13px; background: linear-gradient(115deg,rgba(var(--team-secondary-rgb),.08),rgba(var(--team-rgb),.08),#0c0d14); }
.home-community-mark { width: 35px; height: 35px; flex: 0 0 35px; display: grid; place-items: center; border: 1px solid rgba(var(--team-secondary-rgb),.6); border-radius: 8px; color: var(--team-secondary); font: 1000 11px var(--display); }
.home-community > span:nth-child(2) { min-width: 0; flex: 1; }
.home-community b,.home-community small { display: block; }
.home-community b { color: #edf7fa; font: 900 8px var(--display); letter-spacing: .08em; }
.home-community small { margin-top: 4px; color: #9eacb8; font: 700 8px/1.35 var(--font); }
.home-community button { width: 30px; height: 30px; flex: 0 0 30px; border: 1px solid rgba(var(--team-rgb),.4); border-radius: 7px; background: rgba(var(--team-rgb),.08); color: var(--team-primary); font-size: 14px; }
@media (max-width: 370px) {
  .home-hero { min-height: 290px; }
  .home-hero-meta .eyebrow { font-size: 7px; }
  .home-hero .hero-actions button { font-size: 7px; }
  .home-stats > div { flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
  .home-next { padding: 12px; }
  .home-next-info { grid-template-columns: .7fr 1.3fr; }
}



/* Race-night check-in and live calendar status. */
#app[data-screen="checkin"]{
  --team-primary:#ffd34d;
  --team-secondary:#ff784d;
  --team-mid:#75421b;
  --team-deep:#211204;
  --team-rgb:255,211,77;
  --team-secondary-rgb:255,120,77;
}
.app-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-checkin-cta{
  width:100%;min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 15px;padding:11px 13px;border:1px solid rgba(var(--team-rgb),.56);border-radius:9px 15px 9px 15px;
  background:linear-gradient(110deg,rgba(var(--team-rgb),.18),rgba(12,13,20,.94) 65%);
  color:var(--ink);text-align:left;box-shadow:0 0 16px rgba(var(--team-rgb),.12)
}
.home-checkin-cta b,.home-checkin-cta small{display:block}
.home-checkin-cta b{font:900 10px var(--display);letter-spacing:.1em}
.home-checkin-cta small{margin-top:5px;color:#b9c5ce;font:700 8px var(--display);letter-spacing:.06em}
.home-checkin-cta i{color:var(--team-primary);font:900 18px var(--display);font-style:normal}
.schedule-notices{display:grid;gap:7px;margin:10px 0 14px}
.schedule-notice{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid rgba(255,120,77,.55);border-radius:8px;background:linear-gradient(110deg,rgba(255,120,77,.13),rgba(16,13,17,.9))}
.schedule-notice>span{flex:0 0 auto;padding:4px 5px;border-radius:4px;background:rgba(255,120,77,.18);color:#ffb28f;font:900 6px var(--display);letter-spacing:.08em}
.schedule-notice b,.schedule-notice small{display:block}
.schedule-notice b{color:#fff3e8;font:800 8px/1.35 var(--display);letter-spacing:.035em}
.schedule-notice small{margin-top:4px;color:#c3b7b0;font:600 8px/1.35 var(--font)}
.checkin-page .page-intro{max-width:340px}
.checkin-name-panel{margin:11px 0 15px}
.checkin-name-panel label{display:block;margin-bottom:7px;color:var(--team-primary);font:900 8px var(--display);letter-spacing:.13em}
.checkin-name-input{width:100%;min-height:43px;padding:10px 11px;border:1px solid rgba(var(--team-rgb),.56);border-radius:7px 11px 7px 11px;outline:none;background:#090d12;color:white;font:800 13px var(--font)}
.checkin-name-input:focus{border-color:var(--team-secondary);box-shadow:0 0 0 2px rgba(var(--team-secondary-rgb),.16)}
.checkin-name-input::placeholder{color:#81909a}
.checkin-name-panel p{margin:8px 0 0;color:#a8b5be;font:600 9px/1.35 var(--font)}
.checkin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 1px 9px}
.checkin-toolbar .section-label{display:block;margin:0;color:var(--team-primary);font-size:8px}
.checkin-toolbar small{display:block;margin-top:4px;color:#9baab5;font:700 7px var(--display)}
.checkin-toolbar button{min-height:32px;padding:5px 9px;border:1px solid rgba(var(--team-rgb),.5);border-radius:6px 9px 6px 9px;background:rgba(var(--team-rgb),.08);color:#fff5d7;font:900 7px var(--display);letter-spacing:.09em}
.checkin-toolbar button:disabled{opacity:.6}
.checkin-message{margin:0 0 9px;padding:9px 10px;border:1px solid rgba(var(--team-rgb),.55);border-radius:7px;background:rgba(var(--team-rgb),.1);color:#fff5d7;font:700 9px/1.35 var(--font)}
.checkin-list{display:grid;gap:9px}
.checkin-card{overflow:hidden;padding:12px;border:1px solid rgba(var(--team-rgb),.5);border-radius:9px 15px 9px 15px;background:linear-gradient(135deg,rgba(var(--team-rgb),.09),transparent 45%),linear-gradient(145deg,#141a20,#0d1017);box-shadow:0 0 15px rgba(var(--team-rgb),.08)}
.checkin-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.checkin-league{color:var(--team-primary);font:900 7px var(--display);letter-spacing:.13em}
.checkin-card h2{margin:4px 0 0;color:white;font:900 14px var(--display)}
.checkin-count{padding:5px 7px;border:1px solid rgba(var(--team-rgb),.48);border-radius:5px;color:var(--team-primary);font:900 8px var(--display);letter-spacing:.07em;white-space:nowrap}
.checkin-event-time{margin:7px 0 9px;color:#c3d0d6;font:800 8px var(--display);letter-spacing:.04em}
.checkin-rescheduled{margin:-3px 0 8px;color:#ffc280;font:900 7px var(--display);letter-spacing:.08em}
.checkin-attendees{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.checkin-attendees li{min-height:25px;display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #ffffff1a;border-radius:5px;background:#ffffff09;color:#e4edf0;font:700 8px var(--display)}
.checkin-attendees li.you{border-color:rgba(var(--team-rgb),.64);background:rgba(var(--team-rgb),.13);color:#fff8dc}
.checkin-attendees li b{color:var(--team-primary);font-size:6px;letter-spacing:.07em}
.checkin-attendees li.checkin-empty{border-style:dashed;color:#91a0a8}
.checkin-action{width:100%;min-height:37px;margin-top:10px;padding:7px 9px;border:1px solid var(--team-primary);border-radius:6px 10px 6px 10px;background:linear-gradient(100deg,var(--team-mid),var(--team-deep));color:#fff4d5;font:900 8px var(--display);letter-spacing:.09em}
.checkin-action.checked-in{border-color:var(--team-secondary);background:linear-gradient(100deg,rgba(var(--team-secondary-rgb),.24),rgba(var(--team-secondary-rgb),.08));color:#ffe0d2}
.checkin-action:disabled{opacity:.58}
.checkin-disclaimer{margin:11px 4px 0;color:#8f9da5;font:600 8px/1.45 var(--font)}
.checkin-data-details{margin:12px 0 0;padding:10px 12px;border:1px solid rgba(var(--team-rgb),.28);border-radius:9px;background:rgba(5,14,20,.38)}
.checkin-data-details summary{color:#a8bcc5;font:800 9px var(--display);letter-spacing:.12em;cursor:pointer}
.checkin-data-details p{margin:9px 0;color:#a9b8bf;font:600 10px/1.5 var(--font)}
.checkin-data-delete,.checkin-data-actions button{min-height:34px;padding:0 10px;border:1px solid rgba(var(--team-rgb),.5);border-radius:6px;background:rgba(var(--team-rgb),.1);color:#bdf7ef;font:800 8px var(--display);letter-spacing:.08em}
.checkin-data-actions{display:flex;gap:8px;flex-wrap:wrap}
.checkin-data-actions button:last-child{border-color:rgba(190,205,213,.28);background:transparent;color:#a9b8bf}
.checkin-data-delete:disabled,.checkin-data-actions button:disabled{opacity:.6}
#app[data-screen="checkin"] .page-title em{color:var(--team-primary)}
#app[data-screen="checkin"] .app-nav .nav-button.active{color:#fff2cd}
@media(max-width:370px){
 .checkin-name-panel{padding:11px}
 .checkin-card{padding:10px}
 .nav-button{font-size:7px}
}

/* First-launch driver profile */
.driver-setup-screen{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,rgba(133,53,194,.3),transparent 60%),linear-gradient(180deg,#100b1c,#090714 70%)}
.driver-setup-card{width:min(100%,440px);padding:clamp(24px,7vw,36px);border:1px solid rgba(195,105,255,.48);border-radius:22px;background:linear-gradient(145deg,rgba(37,26,56,.96),rgba(13,11,24,.98));box-shadow:0 0 34px rgba(176,62,245,.2),inset 0 1px 0 rgba(255,255,255,.07);text-align:center}
.driver-setup-mark{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;overflow:hidden;border:1px solid var(--cyan);border-radius:17px;background:linear-gradient(145deg,#a635dc,#20132f);box-shadow:0 0 25px #a635dc55}
.driver-setup-mark svg{width:100%;height:100%;display:block}
.driver-setup-card>.eyebrow{justify-content:center}
.driver-setup-card h1{margin:16px 0 10px;color:#fff;font:1000 clamp(30px,9vw,42px)/.98 var(--display);letter-spacing:-.025em}
.driver-setup-card h1 em{color:#ee8aff;font-style:normal}
.driver-setup-copy{max-width:330px;margin:0 auto 22px;color:#d5ccdf;font-size:14px;line-height:1.5}
.driver-setup-form{text-align:left}
.driver-setup-form label{display:block;margin:0 0 7px;color:var(--cyan);font:800 10px var(--display);letter-spacing:.16em}
.driver-setup-form input{width:100%;min-height:50px;padding:12px 13px;border:1px solid rgba(195,105,255,.58);border-radius:10px;background:#090d17;color:#fff;font:800 16px var(--font);outline:none}
.driver-setup-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(90,241,255,.14)}
.driver-setup-form input::placeholder{color:#8793a4}
.driver-setup-form>small{display:block;margin:8px 0 15px;color:#9facc0;font:700 9px var(--display);letter-spacing:.1em}
.driver-setup-error{margin:0 0 12px;color:#ff91a8;font-size:12px}
.driver-setup-submit{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;padding:0 16px;border:1px solid #eb8cff;border-radius:11px;background:linear-gradient(110deg,#8734c1,#dc3eaa);color:#fff;font:900 12px var(--display);letter-spacing:.1em;box-shadow:0 0 20px #a444d433}
.driver-setup-submit span{font-size:20px}
.driver-setup-cancel{display:block;width:100%;margin-top:10px;padding:10px;border:0;background:transparent;color:#b9adc8;font:800 9px var(--display);letter-spacing:.12em}
.driver-profile-button{display:flex;min-width:0;max-width:128px;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(90,241,255,.35);border-radius:10px;background:rgba(14,25,36,.8);color:#fff;text-align:left}
.driver-profile-copy{display:grid;min-width:0;gap:3px}
.driver-profile-copy small{color:var(--cyan);font:800 7px var(--display);letter-spacing:.13em}
.driver-profile-copy b{overflow:hidden;max-width:89px;font:900 10px var(--display);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.driver-profile-edit{color:#f49aff;font-size:14px}
@media(max-width:360px){.app-header{gap:7px;padding:0 10px}.brand-copy{font-size:12px}.brand-copy small{font-size:7px;letter-spacing:.12em}.driver-profile-button{max-width:108px;padding:6px}.driver-profile-copy b{max-width:70px}}

/* Streamlined race-first dashboard and four clear primary destinations. */
.app-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.nav-button{font-size:8px;letter-spacing:.08em}
.home-page{padding-top:8px}
.home-next{margin:0 0 10px;padding:13px}
.home-next-league{display:block;margin:0 0 3px;color:#a5b8c1;font:800 7px var(--display);letter-spacing:.1em}
.home-next-info{grid-template-columns:.9fr 1.1fr;margin-top:11px;padding:10px 0}
.home-next-date b{font-size:16px}
.home-next-date span{line-height:1.35}
.home-next-details{gap:8px}
.home-next-details span{font-size:7px}
.home-next-details b{font-size:9px}
.home-next-action{width:100%;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:10px;padding:8px 11px;border:1px solid rgba(var(--team-rgb),.68);border-radius:7px 12px 7px 12px;background:linear-gradient(105deg,var(--team-mid),var(--team-deep));color:#fff;text-align:left;box-shadow:0 5px 15px rgba(var(--team-rgb),.16)}
.home-next-action b,.home-next-action small{display:block}
.home-next-action b{font:900 9px var(--display);letter-spacing:.1em}
.home-next-action small{margin-top:4px;color:#e5fbf7;font:700 8px var(--font)}
.home-next-action i{color:#fff;font:900 17px var(--display);font-style:normal}
.home-hero{min-height:202px;justify-content:space-between;margin:0 -15px 12px;padding:13px 17px 12px;border-radius:0 0 15px 15px}
.home-track-art{top:18px;right:-48px;width:175px;height:170px;opacity:.5}
.home-hero-copy{max-width:280px;margin:0;padding-top:9px}
.home-live-label{font-size:7px}
.home-hero .hero-title{margin:7px 0 3px;font-size:34px;line-height:.9}
.home-hero .hero-copy{max-width:235px;margin:0;font-size:10px;line-height:1.3}
.home-hero .hero-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.home-hero .hero-actions button{min-height:38px;font-size:7px}
.home-stats{display:none}
.home-week{margin-top:12px}
.home-community{display:block;min-height:0;margin-top:15px;padding:11px;border-radius:9px 14px 9px 14px}
.home-community-heading{margin:0 0 9px}
.home-community-heading .section-label{margin:0;color:var(--team-secondary);font-size:8px}
.home-community-heading small{display:block;margin-top:4px;color:#aeb9c2;font:600 8px var(--font)}
.home-community-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.home-community-link{min-width:0;min-height:38px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(var(--team-secondary-rgb),.24);border-radius:6px 9px 6px 9px;background:rgba(5,12,17,.55);color:#effafa;text-decoration:none}
.home-community-link>span{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border:1px solid rgba(var(--team-secondary-rgb),.5);border-radius:50%;color:var(--team-secondary);font:900 10px var(--display)}
.home-community-link>b{min-width:0;flex:1;overflow:hidden;font:900 7px var(--display);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap}
.home-community-link>i{color:var(--team-primary);font:900 10px var(--display);font-style:normal}
.home-community-link:active{background:rgba(var(--team-rgb),.16)}
.race-night-page>.page-head{margin-bottom:10px}
.race-night-page .page-intro{margin-top:5px}
.race-night-session{margin-bottom:9px}
.race-night-session>p b{color:#fff}
.race-night-more{overflow:hidden;margin:11px 0 12px;border:1px solid rgba(var(--team-rgb),.34);border-radius:8px 13px 8px 13px;background:rgba(11,16,21,.86)}
.race-night-more>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;list-style:none;cursor:pointer}
.race-night-more>summary::-webkit-details-marker{display:none}
.race-night-more>summary span b,.race-night-more>summary span small{display:block}
.race-night-more>summary span b{color:#f2f8fa;font:900 8px var(--display);letter-spacing:.1em}
.race-night-more>summary span small{margin-top:4px;color:#9eafb8;font:700 7px var(--display)}
.race-night-more>summary i{color:var(--team-primary);font:900 17px var(--display);font-style:normal;transition:transform .18s ease}
.race-night-more[open]>summary i{transform:rotate(180deg)}
.race-night-more>.checkin-list{padding:0 8px 8px}
.live-grid-legend{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 8px;padding:6px 7px;border:1px solid #ffffff12;border-radius:5px;background:#ffffff05}
.live-grid-legend span{display:flex;align-items:center;gap:4px;color:#c4d0d5;font:800 5px var(--display);letter-spacing:.07em}
.live-grid-legend i{width:6px;height:6px;border-radius:50%}
.live-grid-legend i.open{background:#f0cb81}
.live-grid-legend i.taken{background:#8d9da4}
.live-grid-legend i.yours{background:#5de9d3;box-shadow:0 0 6px #5de9d388}
.checkin-network-error{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin:0 0 9px;padding:9px 10px;border:1px solid rgba(255,145,115,.5);border-radius:7px 11px 7px 11px;background:rgba(122,43,35,.18);color:#ffe2d8;font:700 8px/1.4 var(--font)}
.checkin-network-error span{min-width:0;flex:1}
.checkin-network-error button,.paddock-stale-note button{flex:none;min-height:28px;padding:5px 8px;border:1px solid rgba(255,186,145,.48);border-radius:5px;background:rgba(255,152,110,.1);color:#ffe2d8;font:900 6px var(--display);letter-spacing:.07em}
.checkin-network-error button:disabled,.paddock-stale-note button:disabled{opacity:.6}
.schedule-network-error{margin:0 0 10px}
.checkin-sync-note{margin:0 0 8px;color:#9fe8dd;font:700 8px var(--font)}
.paddock-empty{flex-wrap:wrap}
.paddock-empty>span:nth-child(2){min-width:0;flex:1}
.paddock-empty .paddock-retry{min-height:28px;padding:5px 8px;border:1px solid rgba(var(--team-rgb),.5);border-radius:5px;background:rgba(var(--team-rgb),.1);color:var(--team-primary);font:900 6px var(--display);letter-spacing:.08em}
.paddock-stale-note{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:7px 9px;border:1px solid #ffba5548;border-radius:6px;background:#ffba550c;color:#f9d8a0;font:700 8px/1.3 var(--font)}
@media(max-width:370px){
  .home-hero{min-height:190px}
  .home-hero .hero-title{font-size:31px}
  .home-next{padding:11px}
  .home-next-info{grid-template-columns:.82fr 1.18fr;gap:7px}
  .home-next-details span{font-size:6px}
  .race-night-more>.checkin-list{padding-right:6px;padding-left:6px}
}

/* Race night mode and remotely managed paddock messages */
.paddock-board{margin:10px 0 14px;padding:12px;border:1px solid rgba(var(--team-rgb),.5);border-radius:10px 16px 10px 16px;background:linear-gradient(135deg,rgba(var(--team-rgb),.11),transparent 48%),linear-gradient(145deg,#121923,#0b1018);box-shadow:0 0 16px rgba(var(--team-rgb),.07)}
.paddock-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.paddock-board-head .section-label{margin:0;color:var(--team-primary);font-size:7px}
.paddock-board-head h2{margin:4px 0 0;color:#f5f8f9;font:900 12px var(--display);letter-spacing:.09em}
.paddock-board-head button{width:32px;height:32px;border:1px solid rgba(var(--team-rgb),.45);border-radius:8px;background:rgba(var(--team-rgb),.09);color:var(--team-primary);font:900 17px var(--font)}
.paddock-board-head button:disabled{opacity:.6}
.paddock-empty{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 10px;border:1px dashed #ffffff25;border-radius:8px;background:#ffffff05}
.paddock-empty-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid rgba(var(--team-rgb),.4);border-radius:50%;color:var(--team-primary);font-size:15px}
.paddock-empty b,.paddock-empty small{display:block}
.paddock-empty b{color:#e7f8f5;font:900 8px var(--display);letter-spacing:.08em}
.paddock-empty small{margin-top:4px;color:#aab8c2;font:600 9px/1.3 var(--font)}
.paddock-notice-list{display:grid;gap:7px}
.paddock-notice{padding:9px 10px;border:1px solid rgba(var(--team-rgb),.28);border-left:3px solid var(--team-primary);border-radius:7px 11px 7px 11px;background:rgba(var(--team-rgb),.055)}
.paddock-notice-important{border-left-color:#ffba55;background:rgba(255,186,85,.07)}
.paddock-notice-urgent{border-color:rgba(255,104,112,.36);border-left-color:#ff6870;background:rgba(255,104,112,.08)}
.paddock-notice-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--team-primary);font:900 7px var(--display);letter-spacing:.1em}
.paddock-notice-important .paddock-notice-meta{color:#ffd08b}
.paddock-notice-urgent .paddock-notice-meta{color:#ff9ca2}
.paddock-notice-meta time{color:#9baab3;font:700 7px var(--display);letter-spacing:.04em}
.paddock-notice h3{margin:5px 0 3px;color:#f4f6f7;font:900 10px/1.25 var(--display);letter-spacing:.035em}
.paddock-notice p{margin:0;color:#bdc9cf;font:600 10px/1.42 var(--font);white-space:pre-line}
.race-night-session{position:relative;overflow:hidden;margin:0 0 12px;padding:14px;border:1px solid rgba(var(--team-rgb),.62);border-radius:11px 19px 11px 19px;background:radial-gradient(ellipse at 92% 0,rgba(var(--team-rgb),.2),transparent 52%),linear-gradient(145deg,#17212a,#0a1118 76%);box-shadow:0 0 20px rgba(var(--team-rgb),.1)}
.race-night-session:after{position:absolute;right:-30px;bottom:-62px;width:130px;height:130px;border:1px solid rgba(var(--team-rgb),.13);border-radius:50%;box-shadow:0 0 0 14px rgba(var(--team-rgb),.025),0 0 0 28px rgba(var(--team-rgb),.02);content:"";pointer-events:none}
.race-night-session-top,.race-night-session-title{display:flex;align-items:center;justify-content:space-between;gap:9px}
.race-night-live-mark{display:flex;align-items:center;gap:6px;color:var(--team-primary);font:900 7px var(--display);letter-spacing:.13em}
.race-night-live-mark i{width:6px;height:6px;border-radius:50%;background:var(--team-primary);box-shadow:0 0 8px var(--team-primary)}
.race-night-date{color:#abbac4;font:700 8px var(--display);letter-spacing:.04em;text-align:right}
.race-night-session-title{align-items:flex-start;margin:14px 0 10px}
.race-night-session-title>div>span{color:#a9bac2;font:900 7px var(--display);letter-spacing:.12em}
.race-night-session-title h2{margin:4px 0 0;color:#fff;font:1000 20px var(--display);letter-spacing:.025em}
.race-night-flag{padding:5px 7px;border:1px solid rgba(var(--team-rgb),.45);border-radius:5px;background:rgba(var(--team-rgb),.11);color:var(--team-primary);font:900 6px var(--display);letter-spacing:.1em;white-space:nowrap}
.race-night-countdown{display:grid;gap:4px;margin:0 0 11px;padding:10px 11px;border:1px solid #ffffff18;border-radius:8px;background:#03080c7a}
.race-night-countdown span{color:#abb9c2;font:900 7px var(--display);letter-spacing:.14em}
.race-night-countdown b{color:#fff;font:900 clamp(22px,7vw,30px)/1 var(--display);letter-spacing:.07em;font-variant-numeric:tabular-nums}
.race-night-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.race-night-details>span{display:grid;gap:5px;padding:8px 7px;border:1px solid #ffffff14;border-radius:6px;background:#ffffff06}
.race-night-details small{color:#99aab4;font:800 6px var(--display);letter-spacing:.1em}
.race-night-details b{overflow:hidden;color:#f3f7f8;font:900 9px var(--display);text-overflow:ellipsis;white-space:nowrap}
.race-night-session>p{position:relative;z-index:1;margin:10px 1px 0;color:#aab9c2;font:600 9px/1.4 var(--font)}
.race-night-page .paddock-board{margin-top:0}
.race-night-page .checkin-name-panel{margin-top:12px}
.race-night-game-cta{margin-top:12px}
@media(max-width:360px){
 .paddock-board{padding:10px}
 .race-night-session{padding:11px}
 .race-night-session-title h2{font-size:18px}
 .race-night-details{gap:4px}
 .race-night-details>span{padding:7px 5px}
 .race-night-details b{font-size:8px}
}
/* Race Night team car image selector */
.checkin-attendees li{min-height:38px;gap:8px;padding:6px 8px}
.checkin-entry-car{display:block;flex:0 0 42px;width:42px;height:36px;object-fit:cover;border:1px solid #ffffff20;border-radius:5px;background:#0c1218}
.checkin-entry-car.missing{display:grid;place-items:center;color:#a9b8c0;font:900 9px var(--display)}
.checkin-entry-copy{display:grid;min-width:0;gap:3px}
.checkin-entry-copy>b{overflow:hidden;color:#f5f8f8;font:900 9px var(--display);text-overflow:ellipsis;white-space:nowrap}
.checkin-entry-copy>small{overflow:hidden;color:#a9b8c0;font:700 7px var(--display);letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}
.checkin-attendees li em{margin-left:auto;color:var(--team-primary);font:900 6px var(--display);font-style:normal;letter-spacing:.08em}
.car-picker-toggle{display:flex;width:100%;min-height:45px;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:7px 10px;border:1px solid rgba(var(--team-rgb),.55);border-radius:7px 11px 7px 11px;background:linear-gradient(110deg,rgba(var(--team-rgb),.18),rgba(255,255,255,.025));color:#fff;text-align:left}
.car-picker-toggle>span{display:grid;gap:4px}
.car-picker-toggle small{color:#a9bac2;font:800 6px var(--display);letter-spacing:.12em}
.car-picker-toggle b{color:#fff5dc;font:900 8px var(--display);letter-spacing:.055em}
.car-picker-toggle i{color:var(--team-primary);font:900 17px var(--display);font-style:normal}
.car-picker-toggle.selected{border-color:rgba(var(--team-secondary-rgb),.58)}
.car-picker-toggle:disabled{opacity:.56}
.race-car-picker{margin-top:8px;padding:9px;border:1px solid #ffffff20;border-radius:9px 14px 9px 14px;background:linear-gradient(145deg,#111a20,#080d12)}
.race-car-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 1px 8px}
.race-car-picker-heading b{color:#f1f6f7;font:900 8px var(--display);letter-spacing:.08em}
.race-car-picker-heading span{color:#92a4ad;font:800 6px var(--display);letter-spacing:.08em}
.race-car-picker-copy{margin:0 1px 8px;color:#aebbc2;font:600 8px/1.35 var(--font)}
.race-car-team-grid{display:grid;grid-template-columns:1fr;gap:7px}
.race-car-team{min-width:0;padding:7px;border:1px solid color-mix(in srgb,var(--car-accent) 48%,#ffffff10);border-radius:6px 10px 6px 10px;background:color-mix(in srgb,var(--car-accent) 7%,#0d1318)}
.race-car-team h3{display:flex;align-items:center;gap:5px;margin:0 0 6px;color:#eaf0f2;font:900 7px var(--display);letter-spacing:.045em}
.race-car-team h3 i{width:6px;height:6px;border-radius:50%;background:var(--car-accent);box-shadow:0 0 7px var(--car-accent)}
.race-car-team-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.race-car-choice{position:relative;display:grid;width:100%;min-height:76px;grid-template-columns:minmax(0,1fr) 48px;align-items:center;column-gap:5px;padding:4px;border:1px solid color-mix(in srgb,var(--car-accent) 43%,#ffffff12);border-radius:5px;background:linear-gradient(110deg,color-mix(in srgb,var(--car-accent) 12%,#111820),#0b1015 68%);color:#fff;text-align:left}
.race-car-art{grid-column:1;grid-row:1;display:block;width:100%;aspect-ratio:192 / 170;object-fit:cover;border-radius:4px;background:#0c1218}
.race-car-state{grid-column:2;grid-row:1;display:block;min-width:0;max-width:100%;overflow:hidden;color:#8fe7d7;font:900 5px/1.25 var(--display);letter-spacing:.015em;text-align:center;text-overflow:ellipsis;overflow-wrap:anywhere}
.race-car-choice.taken{border-color:#ffffff30;background:#0a0e12;filter:none}
.race-car-choice.taken .race-car-art{filter:saturate(.58) brightness(.78)}
.race-car-choice.taken .race-car-state{color:#ffc578}
.race-car-choice.yours{border-color:var(--car-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--car-accent) 35%,transparent)}
.race-car-choice.yours .race-car-state{color:#8fffe8}
.race-car-choice:disabled{cursor:default;opacity:.92}
@media(max-width:370px){
 .race-car-team-grid{grid-template-columns:1fr}
 .race-car-team-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .race-car-choice{grid-template-columns:minmax(0,1fr) 42px;min-height:72px}
 .race-car-state{font-size:4.5px}
}


/* Live grid board */
.live-grid-board{margin:0 0 12px;padding:11px;border:1px solid rgba(92,224,216,.42);border-radius:10px 18px 10px 18px;background:radial-gradient(ellipse at 0 0,rgba(24,210,199,.13),transparent 48%),linear-gradient(145deg,#121c23,#080e14);box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05)}
.live-grid-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.live-grid-kicker{display:flex;align-items:center;gap:6px;color:#84f4df;font:900 7px var(--display);letter-spacing:.15em}
.live-grid-kicker i{width:6px;height:6px;border-radius:50%;background:#71f5d9;box-shadow:0 0 9px #71f5d9}
.live-grid-board-head h2{margin:5px 0 2px;color:#fff;font:1000 16px var(--display);letter-spacing:.025em}
.live-grid-board-head>div:first-child>small{color:#a4b6be;font:800 7px var(--display);letter-spacing:.06em}
.live-grid-head-actions{display:flex;align-items:center;gap:7px}
.live-grid-count{display:grid;min-width:48px;justify-items:center;color:#ffe1a0;font:1000 14px var(--display);line-height:1}
.live-grid-count i{color:#82959e;font-size:8px;font-style:normal}
.live-grid-count small{margin-top:4px;color:#a8b8bf;font:900 5px var(--display);letter-spacing:.12em}
.live-grid-refresh{width:27px;height:27px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08;color:#9af4e5;font:900 16px/1 var(--display)}
.live-grid-refresh:disabled{opacity:.55}
.live-grid-progress{height:4px;margin:9px 0 7px;overflow:hidden;border-radius:5px;background:#ffffff13}
.live-grid-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20c9b5,#f7cc74);box-shadow:0 0 9px rgba(59,226,199,.5);transition:width .25s ease}
.live-grid-instruction{margin:0 1px 8px;color:#aab9c0;font:600 8px/1.35 var(--font)}
.live-grid-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.live-grid-team{min-width:0;padding:6px;border:1px solid color-mix(in srgb,var(--car-accent) 44%,#ffffff10);border-radius:7px 11px 7px 11px;background:color-mix(in srgb,var(--car-accent) 7%,#0b1117)}
.live-grid-team h3{display:flex;align-items:center;gap:5px;margin:0 0 5px;overflow:hidden;color:#e8eff2;font:900 6px var(--display);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}
.live-grid-team h3 i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--car-accent);box-shadow:0 0 6px var(--car-accent)}
.live-grid-team-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.live-grid-seat{display:flex;min-width:0;min-height:68px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 3px;border:1px solid color-mix(in srgb,var(--car-accent) 35%,#ffffff12);border-radius:5px;background:linear-gradient(145deg,color-mix(in srgb,var(--car-accent) 10%,#111820),#0a1015);color:#f2f6f6;text-align:center}
button.live-grid-seat{width:100%;cursor:pointer}
.live-grid-seat.open{border-style:dashed;background:linear-gradient(145deg,color-mix(in srgb,var(--car-accent) 8%,#111820),#0a1015)}
.live-grid-seat.open:active{transform:scale(.98);border-color:var(--car-accent)}
.live-grid-seat.occupied{background:linear-gradient(145deg,color-mix(in srgb,var(--car-accent) 18%,#111820),#0a1015)}
.live-grid-seat.yours{border-color:var(--car-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--car-accent) 32%,transparent),0 0 8px color-mix(in srgb,var(--car-accent) 20%,transparent)}
.live-grid-seat:disabled{cursor:default;opacity:.78}
.live-grid-car{display:block;width:100%;height:33px;object-fit:cover;border-radius:3px;background:#080d12}
.live-grid-seat-name{display:block;width:100%;overflow:hidden;color:#f5f7f8;font:900 6px/1.15 var(--display);text-overflow:ellipsis;white-space:nowrap}
.live-grid-seat small{color:#89dfd1;font:900 4.5px/1 var(--display);letter-spacing:.07em}
.live-grid-seat.open .live-grid-seat-name{color:#f2d18c}
.live-grid-seat.occupied:not(.yours) .live-grid-seat-name{color:#dbe7ea}
.live-grid-leave{width:100%;min-height:31px;margin-top:8px;border:1px solid #ff9b7c66;border-radius:5px 9px 5px 9px;background:rgba(255,105,78,.09);color:#ffc0a9;font:900 7px var(--display);letter-spacing:.1em}
.live-grid-leave:disabled{opacity:.55}
@media(max-width:370px){.live-grid-teams{grid-template-columns:1fr}.live-grid-team h3{font-size:7px}.live-grid-seat{min-height:72px}.live-grid-car{height:38px}.live-grid-seat-name{font-size:7px}.live-grid-seat small{font-size:5px}}

/* Final mobile usability pass: make the small controls readable and easy to tap. */
#app button:focus-visible,#app a:focus-visible{outline:2px solid var(--team-secondary);outline-offset:2px}
.app-nav .nav-button{min-height:48px}
.paddock-board-head button,.live-grid-refresh{width:42px;height:42px;min-width:42px;min-height:42px}
.paddock-board-head button{font-size:20px}
.live-grid-refresh{font-size:19px}
.checkin-toolbar button,.checkin-network-error button,.paddock-empty .paddock-retry,.paddock-stale-note button{min-height:42px;padding:8px 10px;font-size:7px}
.live-grid-leave,.checkin-action{min-height:44px}
.car-picker-toggle{min-height:50px}
.live-grid-kicker{font-size:8px}
.live-grid-board-head>div:first-child>small{font-size:8px}
.live-grid-count small{font-size:6px}
.live-grid-team h3{font-size:7px}
.live-grid-seat-name{font-size:7px}
.live-grid-seat small{font-size:5.5px;color:#a5f3e6}
.live-grid-legend span{font-size:6.5px;color:#e0e9ec}
.race-night-more>summary span b{font-size:9px}
.race-night-more>summary span small{font-size:8px}
.race-night-details small{font-size:7px;color:#b5c4cb}
.race-night-details b{font-size:10px}
.checkin-count{font-size:8px}
.home-community-link{min-height:44px}
.home-community-link>b{font-size:8px}
@media(max-width:370px){
 .live-grid-team h3{font-size:8px}
 .live-grid-seat-name{font-size:8px}
 .live-grid-seat small{font-size:6px}
 .live-grid-legend span{font-size:7px}
 .race-night-details b{font-size:9px}
}

/* Give the Home game action a blue surface and bright, readable lettering. */
#app[data-screen="home"] .home-hero .button-primary{color:#b8f4ff;background:linear-gradient(115deg,#113a82,#0877ad);border-color:#51dfff;box-shadow:0 0 16px #078bc55c,inset 0 0 10px #ffffff18;text-shadow:0 1px 3px #06142c;font-size:9px;letter-spacing:.055em}
#app[data-screen="home"] .home-hero .button-primary:after{background:repeating-linear-gradient(180deg,#a6f0ff 0 5px,transparent 5px 9px);opacity:.8}

/* Keep the three lead Home panels on one shared height rhythm. */
.home-page .home-next,.home-page .home-hero,.home-page>.paddock-board{min-height:clamp(280px,74vw,304px)}
.home-page .home-next{display:flex;flex-direction:column;justify-content:space-between}
.home-page .home-hero{justify-content:space-between}
.home-page>.paddock-board{display:flex;flex-direction:column}
.home-page>.paddock-board .paddock-board-head{flex:none}
.home-page>.paddock-board>.paddock-empty{flex:1;margin-top:2px}
.home-page>.paddock-board>.paddock-notice-list{flex:1;align-content:start}

/* Keep the center brand banner compact; let the other Home cards size to their content. */
.home-page .home-next,.home-page>.paddock-board{min-height:0}
.home-page .home-next{display:block}
.home-page .home-hero{min-height:176px;padding:10px 15px 9px}
.home-page .home-hero-copy{padding-top:0}
.home-page .home-hero .hero-title{font-size:30px;margin:5px 0 2px}
.home-page .home-hero .hero-actions{margin-top:6px}
.home-page>.paddock-board{display:block}
.home-page>.paddock-board>.paddock-empty,.home-page>.paddock-board>.paddock-notice-list{flex:initial}

/* Match the brand card to the inset Home cards and keep it compact. */
.home-page .home-hero{width:100%;min-height:0;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(var(--team-rgb),.55);border-radius:10px 16px 10px 16px}
.home-page .home-hero:before{display:none}
.home-page .home-hero-meta{gap:7px}
.home-page .home-hero-meta .eyebrow{font-size:7px;letter-spacing:.08em}
.home-page .home-hero-copy{max-width:none;margin:0;padding-top:8px}
.home-page .home-live-label{display:none}
.home-page .home-hero .hero-title{margin:0 0 4px;font-size:clamp(24px,7vw,30px);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.home-page .home-hero .hero-copy{max-width:none;font-size:10px;line-height:1.25}
.home-page .home-hero .hero-actions{gap:8px;margin-top:8px}
.home-page .home-hero .hero-actions button{min-height:39px;padding:0 8px;font-size:7px}
.home-page .home-track-art{top:24px;right:-30px;width:150px;height:135px;opacity:.28}
.home-page .home-hero-meta{justify-content:flex-end}
.home-page .home-hero-meta .eyebrow{display:none}

.follow-control,.race-alert-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px;border:1px solid rgba(90,241,255,.24);border-radius:9px;background:linear-gradient(110deg,rgba(28,168,181,.11),rgba(10,20,30,.7))}
.follow-control>span,.race-alert-control>div{min-width:0}
.follow-control b,.follow-control small,.race-alert-control b,.race-alert-control small{display:block}
.follow-control b,.race-alert-control b{color:#e6fbff;font:900 8px var(--display);letter-spacing:.1em}
.follow-control small,.race-alert-control small{margin-top:4px;color:var(--muted);font:600 8px/1.35 var(--font)}
.follow-control button,.race-alert-control button{min-height:34px;flex:0 0 auto;padding:5px 10px;border:1px solid #5af1ff77;border-radius:7px;background:#0c2630;color:#c8fbff;font:900 8px var(--display);letter-spacing:.06em}
.follow-control button[aria-pressed="true"],.race-alert-control button[aria-pressed="true"]{background:linear-gradient(110deg,#0f676c,#153b4d);color:#f1ffff}
.calendar-action{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 11px;border:1px solid rgba(90,241,255,.42);border-radius:8px;background:linear-gradient(110deg,rgba(16,81,91,.58),rgba(14,23,37,.88));color:#d9ffff;font:900 8px var(--display);letter-spacing:.1em;text-align:left}
.calendar-action span{font-size:15px;color:var(--cyan)}
.calendar-message{margin:6px 2px 0;color:#b9edf0;font:700 8px/1.35 var(--font)}
@media(max-width:380px){.follow-control,.race-alert-control{align-items:flex-start;flex-direction:column}.follow-control button,.race-alert-control button{width:100%}}
.iphone-install-hint{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:11px 13px;border:1px solid #5af1ff6b;border-radius:10px;background:linear-gradient(110deg,#102d37,#151127);color:#e9fdff;box-shadow:0 0 15px #47dbe51e}
.iphone-install-hint b{color:#7df4ff;font:900 9px var(--display);letter-spacing:.14em}
.iphone-install-hint span{font:600 12px/1.35 var(--font)}
.reminder-control button:disabled,.race-alert-control button:disabled{opacity:.58;cursor:not-allowed}
