@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600&display=swap";:root{--bg: #1C2228;--panel: #262E36;--line: #3A4652;--text-2: #8A97A3;--text-1: #E8ECEF;--accent: #5FB4C9;--race-purple: #A86ADB;--race-green: #3FBF6F;--race-yellow: #E5C547;--font-text: "Barlow", system-ui, sans-serif;--font-title: "Barlow Condensed", "Barlow", system-ui, sans-serif;--radius: 6px;--gap: 16px;--touch: 44px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text-1);font-family:var(--font-text);font-size:16px;line-height:1.4}h1,h2,h3,.title{font-family:var(--font-title);font-weight:600;letter-spacing:.02em;margin:0}.num{font-family:var(--font-title);font-variant-numeric:tabular-nums}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{width:100%;max-width:1100px;margin:0 auto;padding:var(--gap);display:flex;flex-direction:column;gap:var(--gap)}.page--narrow{max-width:420px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--gap);min-width:0}.muted{color:var(--text-2)}.row{display:flex;align-items:center;gap:12px;min-width:0}.row--between{justify-content:space-between}.grow{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:4px}.field input{min-height:var(--touch);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text-1);font:inherit}.btn{min-height:var(--touch);padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text-1);font-family:var(--font-title);font-size:1.05rem;font-weight:600;letter-spacing:.03em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn--icon{min-width:var(--touch);padding:0}.btn:disabled{opacity:.5;cursor:default}.btn[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.notice{border-left:3px solid var(--accent);padding:8px 12px;background:var(--panel)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list>li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px}.team-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.team-grid .btn{justify-content:flex-start;width:100%}.track-thumb{flex:0 0 auto}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}.round-number{width:2ch;text-align:right;color:var(--text-2)}@media(min-width:768px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.game-link{min-height:var(--touch);color:inherit;text-decoration:none}.game-row__link{flex:1 1 auto}.game-row__confirm{display:flex;flex-direction:column;gap:8px;margin-top:8px}.game-row__confirm p{margin:0}.list>li.row{gap:8px}.row--between{flex-wrap:wrap}.race-screen{width:100%;padding:var(--gap);display:flex;flex-direction:column;gap:var(--gap)}.race-screen__head{display:flex;flex-direction:column;gap:8px;min-width:0}.race-screen__title{font-size:1.5rem}.race-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-width:0}.race-controls__status{display:flex;align-items:baseline;gap:12px}.race-clock{font-size:1.6rem;font-weight:600;min-width:4ch}.race-controls__buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.race-controls__speeds{display:inline-flex;gap:4px}.race-controls__speeds .btn{min-width:var(--touch);padding:8px 10px}.panel-stack{display:flex;flex-direction:column;gap:8px;min-width:0}.race-panel{padding:12px;min-width:0}.race-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.race-panel__title{font-size:1.1rem}.race-panel__select{min-height:var(--touch);padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text-1);font:inherit}.race-panel__body{min-width:0}.tab-bar{display:flex;overflow-x:auto;border-bottom:1px solid var(--line)}.tab{flex:1 0 auto;min-height:var(--touch);padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-2);font-family:var(--font-title);font-size:1.05rem;font-weight:600;cursor:pointer}.tab[aria-selected=true]{color:var(--text-1);border-bottom-color:var(--accent)}.race-map{display:block;width:100%;max-height:42vh}.car-group--retired{opacity:.35}.table-scroll{overflow-x:auto}.timing{width:100%;border-collapse:collapse;white-space:nowrap}.timing th{color:var(--text-2);font-weight:500;font-size:.85rem;text-align:left;padding:4px 8px;border-bottom:1px solid var(--line)}.timing td{padding:4px 8px;border-bottom:1px solid var(--line);height:36px}.timing--compact td{height:var(--touch)}.timing-row--player td{background:color-mix(in srgb,var(--accent) 14%,transparent)}.timing-row--player td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.timing-row--out{color:var(--text-2)}.timing-row--tap{cursor:pointer}.timing-driver{display:inline-flex;align-items:center;gap:6px}.team-stripe{display:inline-block;width:4px;height:1.1em;border-radius:1px}.minisectors{display:inline-flex;gap:2px;vertical-align:middle}.ms{display:inline-block;width:5px;height:12px;border-radius:1px;background:var(--line)}.ms--purple{background:var(--race-purple)}.ms--green{background:var(--race-green)}.ms--yellow{background:var(--race-yellow)}.timing-detail td{height:auto;padding:8px 12px;background:var(--bg)}.timing-detail__list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0}.timing-detail__list dt{color:var(--text-2)}.timing-detail__list dd{margin:0}.race-control{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto}.race-control__item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.race-control__lap{flex:0 0 3.5ch;color:var(--text-2)}.lap-chart{display:flex;flex-direction:column;gap:8px}.lap-chart__drivers{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;font-size:.95rem}.chip__swatch{display:inline-block;width:16px;border-top:3px solid}.chip__swatch--dashed{border-top-style:dashed}.lap-chart__svg{display:block;width:100%;height:auto}@media(min-width:900px){.race-screen__head{flex-direction:row;align-items:center;justify-content:space-between}.panel-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"slot1 slot2" "slot3 slot2";gap:var(--gap);align-items:start}.race-panel--slot1{grid-area:slot1}.race-panel--slot2{grid-area:slot2}.race-panel--slot3{grid-area:slot3}.race-map{max-height:55vh}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px var(--gap);border-bottom:1px solid var(--line);background:var(--panel)}.app-header__brand{color:var(--text-1);font-size:1.3rem;text-decoration:none}.game-nav{display:flex;overflow-x:auto;max-width:1100px;margin:0 auto;padding:0 var(--gap);border-bottom:1px solid var(--line)}.game-nav .tab{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.game-nav .tab[aria-current=page]{color:var(--text-1);border-bottom-color:var(--accent)}.stack{display:flex;flex-direction:column;gap:12px;min-width:0}.stack>p{margin:0}.hq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:start}.hq-gp{font-size:1.4rem}.actions{flex-wrap:wrap;gap:8px}@media(min-width:768px){.hq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-filters{flex-wrap:wrap;gap:8px}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);align-items:start}.list>li.admin-item{padding:0}.admin-item__button{display:flex;flex-direction:column;gap:4px;width:100%;min-height:var(--touch);padding:8px 12px;border:0;border-radius:var(--radius);background:none;color:var(--text-1);font:inherit;text-align:left;cursor:pointer}.admin-item__button[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--accent)}.admin-message,.admin-item__message{overflow-wrap:anywhere}.admin-field{display:contents}.admin-field dd{margin:0;overflow-wrap:anywhere}.admin-pre{margin:0;padding:8px 12px;max-height:40vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);font-size:.85rem}.field textarea{padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text-1);font:inherit;resize:vertical}.admin-invite-form{flex-wrap:wrap;align-items:flex-end}.admin-code{font-size:1.1rem;letter-spacing:.08em}@media(min-width:1024px){.admin-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.app-header__error{margin:var(--gap) var(--gap) 0}
