body.portal-locked .app-shell{display:none!important}
.connection-pill[data-state=delayed],.connection-pill[data-state=reconnecting]{color:#ffcd75;border-color:#ffcd7566}
.connection-pill[data-state=delayed] i,.connection-pill[data-state=reconnecting] i{background:#ffcd75}
.pilot-meter.lap-position .lap-track{height:5px}
.pilot-meter.lap-position .lap-track i{transition:none;background:linear-gradient(90deg,#b2c5e0,#fff)}
.portal-root{display:none;position:relative;z-index:2;min-height:100vh}
.portal-locked .portal-root{display:block}
.portal-wrap{width:min(1420px,100%);margin:0 auto;padding:32px 34px 60px}
.portal-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:26px;border-bottom:1px solid #ffffff17}
.portal-brand img{width:clamp(150px,20vw,250px);height:auto}
.portal-brand span{color:#99a5b6;font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.portal-login{min-height:calc(100vh - 160px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:80px;align-items:center}
.portal-login-copy{max-width:800px}
.portal-kicker,.portal-section-tag,.portal-live-dot{display:inline-flex;align-items:center;gap:8px;color:#3ee6d3;font-size:10px;font-weight:900;letter-spacing:2px}
.portal-login-copy h1,.portal-dashboard-head h1{margin:16px 0 20px;font-size:clamp(42px,7vw,92px);line-height:.96;letter-spacing:-4px}
.portal-login-copy p{max-width:680px;margin:0;color:#aab5c3;font-size:clamp(16px,2vw,21px);line-height:1.6}
.portal-login-card{padding:34px;border:1px solid #344152;border-radius:24px;background:linear-gradient(145deg,#151c27ee,#0b1017f5);box-shadow:0 34px 100px #0008}
.portal-login-card>span{font-size:9px;font-weight:900;letter-spacing:2px;color:#ff4b6e}
.portal-login-card h2{margin:11px 0 9px;font-size:29px}
.portal-login-card p{margin:0 0 28px;color:#99a5b6;line-height:1.55}
.google-login{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:54px;border-radius:13px;background:#fff;color:#111827;border:0}
.google-login i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);color:white;font-style:normal;font-weight:900}
.google-login:disabled{opacity:.65;cursor:wait}
.portal-login-card small{display:block;margin-top:17px;color:#7f8b9b;line-height:1.5}
.portal-dashboard{padding-top:54px}
.portal-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}
.portal-dashboard-head h1{font-size:clamp(42px,6vw,76px);margin:12px 0 10px}
.portal-dashboard-head p{margin:0;color:#98a4b4}
.portal-dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.portal-dashboard-shortcut{display:grid;place-items:center;align-content:center;gap:5px;width:82px;min-height:70px;padding:8px;border:1px solid #304052;border-radius:15px;background:#0b121b;color:#dce6ef}
.portal-dashboard-shortcut svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-dashboard-shortcut .portal-track-icon{width:32px;height:32px;stroke-width:1.25}
.portal-dashboard-shortcut span{font-size:9px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
.portal-dashboard-shortcut:hover{border-color:#3ee6d377;background:#102029;color:#5cebd9}
.portal-dashboard-shortcut.is-active{border-color:#ffcf5a99;background:#2a220d;color:#ffcf5a;box-shadow:0 0 0 2px #ffcf5a12}
.portal-dashboard-actions>.portal-quiet{min-height:50px;margin-left:6px;white-space:nowrap}
.portal-quiet{background:transparent}
.portal-circuit-browser{margin-bottom:22px;padding:26px;border:1px solid #304052;border-radius:24px;background:radial-gradient(circle at 80% 0,#1d45452b,transparent 35%),linear-gradient(145deg,#111924f5,#080d14f7);box-shadow:0 28px 80px #0004}
.portal-circuit-browser-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.portal-circuit-browser-head h2{margin:8px 0 7px;font-size:clamp(27px,3.5vw,43px);letter-spacing:-1.8px}
.portal-circuit-browser-head p{max-width:690px;margin:0;color:#8f9cac;font-size:13px;line-height:1.55}
.portal-circuit-search{display:block;flex:0 1 330px}
.portal-circuit-search span{display:block;margin-bottom:8px;color:#8e9aab;font-size:9px;font-weight:850;letter-spacing:1.4px;text-transform:uppercase}
.portal-circuit-search input{width:100%;min-height:48px;padding:0 15px;border-color:#405064;background:#080d14}
.portal-circuit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),420px));gap:16px;align-items:stretch}
.portal-circuit-grid>.portal-loading,.portal-circuit-grid>.portal-empty{grid-column:1/-1}
.portal-circuit-card{display:grid;grid-template-rows:auto auto 1fr;position:relative;min-width:0;border:1px solid #2a3849;border-radius:18px;background:#090f17;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.portal-circuit-card:hover{transform:translateY(-2px);border-color:#4f697f;box-shadow:0 18px 40px #0006}
.portal-circuit-card.is-unverified{border-color:#252d37;background:#090d12;filter:saturate(.2);opacity:.62}
.portal-circuit-card.is-unverified:hover{transform:none;border-color:#303944;box-shadow:none}
.portal-circuit-card.is-unverified .portal-circuit-media:after{background:#11182052}
.portal-circuit-card[hidden]{display:none}
.portal-circuit-media{display:grid;place-items:center;position:relative;height:210px;padding:18px;background:radial-gradient(circle at 50% 46%,#16333b 0,#0b141e 55%,#070b11 100%);overflow:hidden}
.portal-circuit-media:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -40px 70px #060a10aa}
.portal-circuit-media img{position:absolute;top:50%;left:50%;width:auto;height:auto;max-width:calc(100% - 36px);max-height:calc(100% - 28px);transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 14px 18px #0008)}
.portal-circuit-media.is-satellite{padding:0;background:#081018}
.portal-circuit-media.is-satellite img{inset:0;width:100%;height:100%;max-width:none;max-height:none;transform:none;object-fit:cover;object-position:center bottom;filter:none}
.portal-circuit-placeholder{display:grid;place-items:center;width:110px;height:110px;border:1px solid #3e566d;border-radius:50%;color:#547087;font-size:36px;font-weight:950}
.portal-favorite{display:grid;place-items:center;position:absolute;z-index:2;top:14px;right:14px;width:43px;height:43px;padding:0;border:1px solid #ffffff26;border-radius:50%;background:#07101ad9;color:#e6edf4;font-size:23px;line-height:1;box-shadow:0 8px 24px #0008;backdrop-filter:blur(10px)}
.portal-favorite:hover,.portal-favorite.is-favorite{border-color:#ffcf5a80;background:#2a220de8;color:#ffcf5a}
.portal-favorite:disabled{opacity:.55;cursor:wait}
.portal-circuit-copy{padding:18px 18px 12px}
.portal-circuit-copy strong{display:block;font-size:18px;letter-spacing:-.3px}
.portal-circuit-copy small{display:block;margin-top:7px;color:#8391a2;font-size:10px;line-height:1.45}
.portal-circuit-verification{display:inline-flex;margin-top:10px;padding:4px 7px;border:1px solid #46515f;border-radius:999px;color:#929dac;font-size:7px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.portal-circuit-verification.is-verified{border-color:#31dfca55;background:#31dfca0d;color:#48dbc8}
.portal-circuit-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;align-self:end;margin:0 18px 18px}
.portal-circuit-open,.portal-circuit-map,.portal-circuit-pending{display:grid;place-items:center;min-height:43px;padding:8px 12px;border:1px solid #31dfca;border-radius:10px;font-size:11px;font-weight:850;text-align:center;text-decoration:none}
.portal-circuit-open{background:#31dfca;color:#071015;border-color:#31dfca}
.portal-circuit-open:disabled{background:#111923;color:#657385;border-color:#293544;opacity:1}
.portal-circuit-card.is-unverified .portal-circuit-open:disabled{cursor:not-allowed}
.portal-circuit-map{background:#111a25;color:#dce7f0;border-color:#52657a}
.portal-circuit-map:hover{border-color:#3ee6d377;background:#14232d;color:#5cebd9}
.portal-circuit-pending{background:#0d141d;color:#7d8998;border-color:#293544}
.portal-search-empty{margin:14px 0 0;padding:18px;border:1px dashed #344050;border-radius:12px;color:#8490a0;font-size:11px;text-align:center}
.portal-external-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:15px 16px;border:1px solid #2d3b4b;border-radius:13px;background:#080d14;color:#d8e1e9;text-decoration:none;transition:border-color .2s ease,background .2s ease}
.portal-external-link:hover{border-color:#3ee6d377;background:#0d171f}
.portal-external-link span,.portal-external-link strong,.portal-external-link small{display:block}
.portal-external-link strong{font-size:11px}
.portal-external-link small{margin-top:4px;color:#7f8c9c;font-size:9px}
.portal-external-link b{color:#3ee6d3;font-size:19px}
.portal-circuit-directory{margin-top:16px}
.portal-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.portal-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.portal-primary-grid>.portal-action,.portal-primary-grid>.portal-circuit-browser{min-height:430px}
.portal-action-circuits{position:relative;margin-bottom:0;padding:25px;overflow:hidden}
.portal-action-circuits .portal-circuit-browser-head{display:grid;align-content:start;gap:14px;margin-bottom:14px}
.portal-action-circuits .portal-circuit-browser-head h2{font-size:27px;letter-spacing:-1px}
.portal-action-circuits .portal-circuit-search{width:100%;flex-basis:auto}
.portal-action-circuits .portal-circuit-media{height:145px;padding:12px}
.portal-action-circuits .portal-circuit-media img{max-width:calc(100% - 24px);max-height:calc(100% - 20px)}
.portal-action-circuits .portal-circuit-copy{padding:13px 14px 9px}
.portal-action-circuits .portal-circuit-copy strong{font-size:15px}
.portal-action-circuits .portal-circuit-actions{margin:0 14px 14px}
.portal-action-circuits .portal-circuit-directory{margin-top:12px}
.portal-action-circuits .portal-external-link{padding:12px 13px}
.portal-show-all{width:100%;min-height:42px;margin-top:12px;border-color:#52657a;background:#111a25;color:#dbe7f1}
.portal-show-all:hover{border-color:#3ee6d377;background:#14232d;color:#5cebd9}
.portal-action{position:relative;min-height:285px;padding:25px;border:1px solid #2a3544;border-radius:20px;background:linear-gradient(145deg,#131a24ee,#0b1017f5);overflow:hidden}
.portal-action-live{border-color:#3ee6d355}
.portal-action-replays{border-color:#ffb53644}
.portal-action-number{position:absolute;right:18px;top:-7px;font-size:82px;font-weight:950;letter-spacing:-7px;color:#ffffff08}
.portal-action h2{margin:15px 0 8px;font-size:25px;letter-spacing:-.8px}
.portal-action>p{min-height:42px;margin:0 0 23px;color:#8995a7;line-height:1.5;font-size:13px}
.portal-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#67ef9b;box-shadow:0 0 0 6px #67ef9b12}
.portal-section-tag{color:#9aa7b7}
.portal-action form label{display:block;margin-bottom:8px;color:#8e9aab;font-size:10px;font-weight:850;letter-spacing:1px;text-transform:uppercase}
.portal-action form>div{display:flex;gap:8px}
.portal-action form input{min-width:0;flex:1}
.portal-action form button{background:#31dfca;color:#071015;border-color:#31dfca}
.portal-list{display:grid;gap:8px}
.portal-replay-row{display:block;width:100%;padding:13px;background:#080d14;border:1px solid #26303d;border-radius:12px;text-align:left;cursor:pointer}
.portal-replay-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.portal-replay-row small{display:block;margin-top:5px;color:#8490a0;font-size:9px;line-height:1.4}
.portal-replay-row:hover{border-color:#ffb53688}
.portal-empty,.portal-loading{padding:18px;border:1px dashed #344050;border-radius:12px;color:#8490a0;font-size:11px;line-height:1.5}
.portal-empty strong,.portal-empty span{display:block}
.portal-empty strong{color:#cbd4de;margin-bottom:5px}
.portal-dashboard-status{min-height:20px;margin:18px 2px 0;color:#8fa0b2;font-size:11px}
.portal-dashboard-status.error{color:#ff7b86}
.portal-circuit-library{padding-top:42px}
.portal-library-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:26px;margin-bottom:26px}
.portal-library-head h1{margin:9px 0 8px;font-size:clamp(44px,7vw,82px);line-height:.94;letter-spacing:-4px}
.portal-library-head p{margin:0;color:#929faf}
.portal-library-search{width:min(460px,100%);margin:0 0 22px}
.portal-all-circuit-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.portal-garage{padding-top:42px}
.garage-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:26px;margin-bottom:28px}
.garage-head h1{margin:9px 0 8px;font-size:clamp(44px,7vw,82px);line-height:.94;letter-spacing:-4px}
.garage-head p{margin:0;color:#929faf}
.garage-transponder-strip{display:grid;grid-template-columns:auto minmax(285px,.7fr) minmax(245px,.55fr) minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #304052;border-radius:14px;background:linear-gradient(145deg,#111924f5,#080d14f7)}
.garage-transponder-title{min-width:175px}
.garage-transponder-title h2{margin:3px 0 0;font-size:15px;line-height:1.1}
.garage-transponder-title small{display:block;margin-top:4px;color:#788697;font-size:8px}
.garage-identity-form,.garage-transponder-form{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:7px}
.garage-identity-form input,.garage-transponder-form input{min-width:0}
.garage-identity-form button,.garage-transponder-form button{padding-inline:15px;background:#7898ff;color:#06101f;border-color:#7898ff}
.garage-identity-form small{grid-column:1/-1;overflow:hidden;color:#788697;font-size:7px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.garage-transponder-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}
.garage-transponder-empty{color:#788697;font-size:9px}
.garage-transponder-chip{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:3px 4px 3px 10px;border:1px solid #34475d;border-radius:999px;background:#0a111b;color:#dfe8f1}
.garage-transponder-chip code{font:800 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.6px}
.garage-transponder-chip button{display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:#1a2533;color:#91a0b2;font-size:16px;line-height:1}
.garage-transponder-chip button:hover{background:#ff697824;color:#ff8994}
.garage-intro-grid{display:grid;gap:12px;margin-bottom:30px}
.garage-add-card,.garage-guide,.garage-detail{border:1px solid #304052;border-radius:20px;background:linear-gradient(145deg,#111924f5,#080d14f7)}
.garage-add-card{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(205px,.85fr) minmax(140px,.55fr) minmax(390px,1.65fr) auto;align-items:end;gap:12px;padding:15px 17px}
.garage-add-heading{align-self:center}
.garage-add-card h2{margin:5px 0 0;font-size:18px;line-height:1.1}
.garage-add-card label,.garage-car-form>label,.garage-taxonomy-fields label,.garage-setup-form>label,.garage-form-pair label,.garage-form-triple label{color:#94a1b1;font-size:9px;font-weight:850;letter-spacing:1px;text-transform:uppercase}
.garage-add-card label{display:grid;gap:6px}
.garage-add-card label small{color:#647285;text-transform:none;letter-spacing:0}
.garage-add-card select,.garage-add-card input,.garage-add-card button{width:100%}
.garage-add-card button{min-width:150px;background:#7898ff;color:#06101f;border-color:#7898ff}
.garage-guide{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:10px 12px}
.garage-guide>.portal-section-tag{padding:0 9px 0 3px;white-space:nowrap}
.garage-guide>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:7px 9px;border:1px solid #263444;border-radius:10px;background:#080d14}
.garage-guide b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#7898ff17;color:#9bb3ff;font-size:12px}
.garage-guide p,.garage-guide strong,.garage-guide small{display:block;margin:0}
.garage-guide strong{font-size:10px;white-space:nowrap}
.garage-guide small{margin-top:2px;overflow:hidden;color:#7f8c9c;font-size:7px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.garage-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 15px}
.garage-section-head h2{margin:6px 0 0;font-size:26px}
.garage-section-head>span{color:#7e8b9d;font-size:11px}
.garage-cars{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:14px;margin-bottom:28px}
.garage-empty{grid-column:1/-1;display:grid;gap:6px;padding:30px;border:1px dashed #344050;border-radius:18px;color:#8490a0;text-align:center}
.garage-empty strong{color:#d5dde6;font-size:15px}
.garage-car-card{display:grid;grid-template-rows:160px auto;min-width:0;padding:0;overflow:hidden;border:1px solid #2d3c4e;border-radius:18px;background:#090f17;text-align:left;transition:transform .2s ease,border-color .2s ease}
.garage-car-card:hover{transform:translateY(-2px);border-color:#7898ff99}
.garage-car-card.is-active{border-color:#7898ff;box-shadow:0 0 0 2px #7898ff24}
.garage-car-media{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,#273969,#101825 58%,#080c13)}
.garage-car-media img{width:100%;height:100%;object-fit:cover}
.garage-car-media b{display:grid;place-items:center;width:86px;height:86px;border:1px solid #7898ff66;border-radius:50%;color:#9eb5ff;font-size:30px;letter-spacing:-2px}
.garage-car-copy{display:grid;gap:5px;padding:17px}
.garage-car-copy small{color:#7898ff;font-size:8px;font-weight:950;letter-spacing:1.5px}
.garage-car-copy strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-car-copy>span{color:#8997a8;font-size:10px}
.garage-car-copy em{margin-top:6px;color:#cad4df;font-size:9px;font-style:normal}
.garage-detail{margin-top:38px;padding:24px}
.garage-detail-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;padding-bottom:22px;border-bottom:1px solid #ffffff13}
.garage-detail-head h2{margin:6px 0 5px;font-size:33px}
.garage-detail-head p{margin:0;color:#8492a4;font-size:11px}
.garage-detail-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:18px;padding:22px 0 32px}
.garage-photo-card,.garage-car-form,.garage-setup-form{border:1px solid #2b394a;border-radius:16px;background:#080d14}
.garage-photo-card{padding:13px}
.garage-photo-preview{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;border-radius:11px;background:radial-gradient(circle,#293b69,#101723 60%,#070b11);color:#8492a5;font-size:12px}
.garage-photo-preview img{width:100%;height:100%;object-fit:cover}
.garage-photo-button{display:grid;place-items:center;min-height:43px;margin-top:11px;border:1px solid #7898ff;border-radius:10px;background:#7898ff;color:#07101c;font-size:11px;font-weight:900;cursor:pointer}
.garage-photo-card>small{display:block;margin:10px 4px 0;color:#6f7c8d;font-size:8px;line-height:1.45}
.garage-car-form,.garage-setup-form{display:grid;gap:10px;padding:20px}
.garage-taxonomy-fields{display:grid;grid-template-columns:.55fr 1fr 1.25fr;gap:9px}
.garage-taxonomy-fields label{display:grid;gap:7px;min-width:0}
.garage-taxonomy-fields select{width:100%;min-width:0}
.garage-setup-form>select{width:100%}
.garage-car-actions{display:flex;gap:9px;margin-top:5px}
.garage-car-actions button{flex:1}
.garage-car-actions button:first-child,.garage-setup-form>button{background:#31dfca;color:#071015;border-color:#31dfca}
.garage-car-actions .is-primary{border-color:#ffca52;color:#ffca52}
.garage-setups{padding-top:26px;border-top:1px solid #ffffff13}
.garage-setup-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.garage-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.garage-form-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.garage-form-pair label,.garage-form-triple label{display:grid;gap:7px}
.garage-time-field{display:grid;align-content:start;gap:7px}
.garage-time-field>label{color:#94a1b1;font-size:9px;font-weight:850;letter-spacing:1px;text-transform:uppercase}
.garage-time-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.garage-time-picker input{width:100%;min-width:0;color-scheme:dark;font-variant-numeric:tabular-nums}
.garage-time-picker button{min-width:72px;padding-inline:13px;border-color:#52657a;background:#111a25;color:#dbe7f1}
.garage-time-picker button:hover{border-color:#3ee6d377;background:#14232d;color:#5cebd9}
.garage-setup-list{display:grid;gap:16px}
.garage-setup-condition-group{display:grid;gap:8px}
.garage-setup-condition-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 3px}
.garage-setup-condition-head strong{font-size:10px;letter-spacing:.8px;text-transform:uppercase}
.garage-setup-condition-head small{color:#6f7d8e;font-size:7px;white-space:nowrap}
.garage-setup-condition-cards{display:grid;gap:8px}
.garage-setup-card{overflow:hidden;border:1px solid #2b394a;border-radius:14px;background:#080d14;transition:border-color .2s ease}
.garage-setup-card.is-expanded{border-color:#7898ff66}
.garage-setup-card.is-best{border-color:#ffca52;box-shadow:0 0 0 2px #ffca5217,inset 3px 0 #ffca52}
.garage-setup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:7px}
.garage-setup-toggle{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:44px;padding:5px 7px;border:0;background:transparent;color:#edf2f8;text-align:left;cursor:pointer}
.garage-setup-toggle:hover{background:#121b28}
.garage-setup-chevron{display:grid;place-items:center;color:#91aaff;font-size:24px;line-height:1;transition:transform .2s ease}
.garage-setup-card.is-expanded .garage-setup-chevron{transform:rotate(90deg)}
.garage-setup-summary{display:block;min-width:0}
.garage-setup-summary strong,.garage-setup-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.garage-setup-summary strong{font-size:12px}
.garage-setup-summary small{margin-top:4px;color:#7f8c9d;font-size:8px}
.garage-setup-best-label{display:block;margin-top:4px;color:#ffca52;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.garage-setup-link-state{display:inline-grid;place-items:center;min-height:38px;padding:0 12px;border:1px solid #7898ff;border-radius:10px;background:#111a29;color:#a9bbff;font-size:8px;font-weight:900;letter-spacing:.5px;white-space:nowrap}
button.garage-setup-link-state{cursor:pointer}
button.garage-setup-link-state:hover{background:#7898ff;color:#06101f}
.garage-setup-link-state.is-linked{border-color:#31dfca66;background:#31dfca12;color:#49e8d4}
.garage-setup-body{padding:14px 16px 16px;border-top:1px solid #ffffff13}
.garage-setup-body[hidden]{display:none!important}
.garage-setup-body>small{display:block;color:#7f8c9d;font-size:9px}
.garage-setup-body>p{margin:13px 0 0;color:#b9c5d2;font-size:10px;line-height:1.5}
.garage-setup-body>blockquote{margin:13px 0 0;padding:10px 12px;border-left:2px solid #7898ff;background:#111925;color:#8d9aab;font-size:9px;line-height:1.55}
.garage-setup-body>.garage-setup-verdict{margin:0 0 12px;padding:9px 11px;border:1px solid #ffca5255;border-radius:9px;background:#ffca520d;color:#ffca52;font-size:9px;font-weight:850}
.garage-setup-timing{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #ffffff13}
.garage-setup-timing>div:first-child strong,.garage-setup-timing>div:first-child small{display:block}
.garage-setup-timing>div:first-child strong{font-size:11px}
.garage-setup-timing>div:first-child small{margin-top:4px;color:#738194;font-size:8px;line-height:1.45}
.garage-timing-links{display:grid;gap:8px}
.garage-timing-links>p{margin:0;padding:11px;border:1px dashed #314052;border-radius:10px;color:#738194;font-size:8px;text-align:center}
.garage-timing-link{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:13px;border:1px solid #2b3d51;border-radius:12px;background:#101824}
.garage-timing-link>b,.garage-timing-link>span,.garage-timing-link>small{grid-column:1}
.garage-timing-link>b{color:#91aaff;font-size:9px;text-transform:uppercase;letter-spacing:1px}
.garage-timing-link>span{font-size:11px;font-weight:800}
.garage-timing-link>small{margin:0;color:#8290a2;font-size:8px}
.garage-timing-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}
.garage-timing-stats>span{padding:8px;border-radius:8px;background:#080d14}
.garage-timing-stats small,.garage-timing-stats strong{display:block;margin:0}
.garage-timing-stats small{color:#6f7e90;font-size:7px;text-transform:uppercase;letter-spacing:.7px}
.garage-timing-stats strong{margin-top:3px;font-size:11px}
.garage-timing-remove{grid-column:2;grid-row:1/4;align-self:center;padding:6px 8px;font-size:8px}
.garage-timing-connect{border:1px solid #2c3a4b;border-radius:11px;background:#090f17}
.garage-timing-connect summary{padding:11px 13px;color:#9db2ff;font-size:9px;font-weight:850;cursor:pointer;list-style-position:inside}
.garage-timing-connect form{display:grid;gap:9px;padding:0 13px 13px}
.garage-timing-connect label{display:grid;gap:6px;color:#8492a4;font-size:8px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}
.garage-timing-connect select{width:100%}
.garage-timing-connect button{background:#7898ff;color:#06101f;border-color:#7898ff}
.portal-session-bar{display:flex;align-items:center;gap:7px}
.portal-session-bar[hidden]{display:none}
#connectedEventControls[hidden],#pauseButton[hidden],#eventCategoryHelp[hidden],#eventKey{display:none!important}
.connected-event-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px}
.connected-event-controls>span{font-size:11px;font-weight:750;color:var(--muted);white-space:nowrap}
.event-category-help{flex:0 0 102px;align-self:center;padding:0 9px;color:#9daabd;font-size:9px;font-weight:700;line-height:1.4;white-space:normal}
body[data-view=live] .control-deck.event-connected{grid-template-columns:auto minmax(0,1fr) minmax(140px,.55fr)}
@media(max-width:1180px) and (orientation:landscape){body[data-view=live] .control-deck.event-connected{grid-template-columns:auto minmax(0,1fr)}.connected-event-controls{gap:5px}.connected-event-controls>span{font-size:9px}.connected-event-controls>button{font-size:9px}.event-category-help{flex-basis:88px;font-size:8px}}
@media(max-width:760px) and (orientation:portrait){body[data-view=live] .control-deck.event-connected{grid-template-columns:minmax(0,1fr)}.connected-event-controls{justify-content:space-between}.event-category-help{flex-basis:94px}}
.event-race-browser{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;align-items:center;margin:-7px 0 15px;padding:10px 12px;border:1px solid #283646;border-radius:14px;background:linear-gradient(110deg,#0c121af2,#080d13f5);box-shadow:0 12px 34px #0002}
.event-race-browser[hidden]{display:none!important}
.event-race-browser-head{display:flex;align-items:center;gap:11px;min-width:0}
.event-race-browser-head>div{min-width:132px}
.event-race-browser-head .kicker{display:block;font-size:7px;letter-spacing:1.4px}
.event-race-browser-head strong{display:block;max-width:190px;margin-top:3px;overflow:hidden;color:#e7edf5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.event-race-live,.event-race-tab{min-height:42px;padding:7px 10px;border-color:#2c3a4b;background:#101720;text-align:left;white-space:nowrap}
.event-race-live{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:#aeb9c6;font-size:8px;letter-spacing:.8px;text-transform:uppercase}
.event-race-live i{width:7px;height:7px;border-radius:50%;background:#657184}
.event-race-live span{display:grid;gap:3px}.event-race-live small{font-size:7px;font-weight:600;letter-spacing:.25px;text-transform:none;opacity:.85}
.event-race-live.live{border-color:#3f9067;background:#10251f;color:#baf6d1}
.event-race-live.live i{background:#67ef9b;box-shadow:0 0 0 5px #67ef9b12}
.event-race-live.connection-warning{color:#ffd387;border-color:#806737}.event-race-live.connection-warning i{background:#ffbd57}
.event-race-live.selected,.event-race-tab.selected{border-color:color-mix(in srgb,var(--accent) 70%,#2c3a4b);background:color-mix(in srgb,var(--accent) 13%,#101720);color:#f6fbff;box-shadow:inset 0 -2px var(--accent)}
.event-race-tabs{display:flex;min-width:0;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}
.event-race-tab{display:grid;flex:0 0 auto;min-width:128px;max-width:210px;scroll-snap-align:start}
.event-race-tab b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.event-race-tab small{display:flex;align-items:center;gap:5px;margin-top:4px;color:#7f8da0;font-size:7px}
.event-race-tab small i{width:5px;height:5px;border-radius:50%;background:#7898ff}
.event-race-tab[data-status=complete] small i{background:#67ef9b}
.event-race-tab[data-status=partial] small i{background:#ffb536}
.event-race-browser>p{grid-column:1/-1;margin:0;color:#738195;font-size:7px;line-height:1.35}
.event-race-browser.loading .event-race-tabs{opacity:.55;pointer-events:none}
#eventReportsButton{grid-column:1/-1;justify-self:start;padding:7px 10px;font-size:11px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,#283646)}
.event-reports-dialog{width:min(1000px,94vw);max-height:88vh;overflow:auto;border:1px solid #415268;border-radius:18px;background:#0c131d;color:#ecf2fa;padding:22px}
.event-reports-dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}
.event-reports-dialog header{display:flex;align-items:start;justify-content:space-between;gap:20px}
.event-reports-dialog h2{margin:8px 0 16px;font-size:24px}
.event-reports-dialog p{font-size:13px;line-height:1.5;color:#adbbcd}
.event-reports-dialog h3{font-size:18px;margin-top:24px}
.event-report-table{overflow:auto;margin:15px 0;max-height:48vh}
.event-report-table table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}
.event-report-table th{position:sticky;top:0;background:#172231;color:#d7e3f2}
.event-report-table th,.event-report-table td{padding:12px 10px;border-bottom:1px solid #2a3647;vertical-align:top}
.event-report-heats{min-width:290px}.event-report-heats span{display:block;margin-bottom:6px;color:#aab8cc;font-size:12px}
.event-reports-dialog a{font-size:13px;color:var(--accent)}
.event-report-pending{padding:12px;border:1px solid #6f5929;border-radius:10px;background:#ffb5360a}
.portal-result-import{padding-top:42px}
.result-import-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;align-items:start}
.result-import-card,.result-review{border:1px solid #304052;border-radius:20px;background:linear-gradient(145deg,#111924f5,#080d14f7)}
.result-import-card{padding:20px}
.result-import-card-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:15px}
.result-import-card-head h2{margin:5px 0 0;font-size:24px}
.result-import-card-head>small{color:#758395;font-size:8px;text-align:right}
.result-import-drop{display:grid;gap:6px;padding:22px;border:1px dashed #52657a;border-radius:14px;background:#080d14;color:#e5edf5;text-align:center;cursor:pointer}
.result-import-drop:hover{border-color:#3ee6d3;background:#0d171f}
.result-import-drop strong{font-size:14px}
.result-import-drop span{color:#8290a1;font-size:9px;line-height:1.45}
.result-file-queue{display:grid;gap:7px;margin:14px 0;padding:0;list-style:none}
.result-file-queue>li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:7px 9px;border:1px solid #29384a;border-radius:10px;background:#0a111a}
.result-file-queue>li>b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#7898ff18;color:#9ab2ff;font-size:9px}
.result-file-queue span,.result-file-queue strong,.result-file-queue small{display:block;min-width:0}
.result-file-queue strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.result-file-queue small{margin-top:3px;color:#708094;font-size:7px}
.result-file-queue>li>div{display:flex;gap:4px}
.result-file-queue button{display:grid;place-items:center;width:30px;height:30px;padding:0;border-color:#34465a;background:#111a25;color:#bdc8d4}
.result-file-queue .result-file-empty{display:block;padding:18px;color:#798799;font-size:9px;text-align:center}
.result-import-primary{width:100%;min-height:48px;background:#31dfca;color:#071015;border-color:#31dfca}
.result-import-privacy{margin:10px 2px 0;color:#708094;font-size:8px;line-height:1.5}
.result-import-history-list{display:grid;gap:7px;max-height:380px;overflow:auto}
.result-history-row{display:grid;gap:4px;width:100%;padding:12px;border:1px solid #2b3a4b;border-radius:11px;background:#080d14;color:#e3eaf1;text-align:left}
.result-history-row:hover{border-color:#7898ff80;background:#111926}
.result-history-row strong{font-size:11px}
.result-history-row span{color:#8997a7;font-size:8px}
.result-history-row small{color:#7898ff;font-size:7px}
.result-review{margin-top:18px;padding:22px}
.result-review-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #ffffff13}
.result-review-head h2{margin:5px 0;font-size:28px}
.result-review-head p{margin:0;color:#8492a3;font-size:9px}
.result-review-alerts{display:grid;gap:7px;margin:16px 0}
.result-review-alerts p{margin:0;padding:10px 12px;border:1px solid #ffb44f4a;border-radius:9px;background:#ffb44f0d;color:#ffc776;font-size:8px;line-height:1.45}
.result-review-alerts p.is-ok{border-color:#31dfca45;background:#31dfca0a;color:#5be8d5}
.result-metadata-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr 1fr 1fr .75fr;gap:9px}
.result-metadata-grid label,.result-link-row label,.result-participant-fields label{display:grid;gap:6px;color:#8492a4;font-size:8px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}
.result-metadata-grid input,.result-metadata-grid select,.result-link-row select,.result-participant-fields input{width:100%;min-width:0}
.result-participant-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 10px}
.result-participant-heading h3{margin:0;font-size:18px}
.result-participant-heading small{color:#788697;font-size:8px}
.result-participants{display:grid;gap:8px}
.result-participant{padding:11px;border:1px solid #2b3b4d;border-radius:12px;background:#080d14}
.result-participant-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.result-participant-claim{color:#a9bbff;font-size:9px;font-weight:850}
.result-participant-top>span{font-size:7px;text-transform:uppercase;letter-spacing:.7px}
.result-participant-top .is-uncertain{color:#ffc776}.result-participant-top .is-clear{color:#52e5d2}
.result-participant-fields{display:grid;grid-template-columns:1.5fr .55fr .55fr .8fr .9fr;gap:7px}
.result-laps-editor{margin-top:9px;border:1px solid #273646;border-radius:9px;background:#0c131d}
.result-laps-editor summary{padding:9px 11px;color:#8ea5f7;font-size:8px;cursor:pointer}
.result-lap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px;padding:0 10px 10px}
.result-lap-grid label{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:4px;color:#718094;font-size:7px}
.result-lap-grid input{width:100%;min-width:0;padding:7px;font-size:9px}
.result-link-row{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1fr);align-items:end;gap:14px;margin:16px 0}
.result-link-row>span{padding:11px;border:1px solid #2b3b4d;border-radius:10px;color:#8e9cad;font-size:8px}
.portal-session-bar .portal-home{padding:7px 10px;background:#0c1118;font-size:10px}
.portal-user-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#31dfca;color:#06100f;font-size:12px;font-weight:950}
.category-switch #demoTab{display:none}
.replay-session .control-deck{display:none}
.replay-session .portal-session-bar{display:flex}
.portal-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 22px;padding-top:28px;color:#778596;font-size:11px}
.portal-legal a{color:inherit;text-decoration:none}
.portal-legal a:hover{color:#3ee6d3}
@media(max-width:980px){.portal-login{grid-template-columns:1fr;gap:34px;padding:55px 0}.portal-circuit-browser-head{align-items:stretch;flex-direction:column}.portal-circuit-search{flex-basis:auto;width:100%}.portal-action-grid{grid-template-columns:1fr}.portal-primary-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}.portal-primary-grid>.portal-action,.portal-primary-grid>.portal-circuit-browser{flex:0 0 min(84vw,360px);min-height:420px;scroll-snap-align:start}.portal-action{min-height:0}.portal-action>p{min-height:0}.portal-dashboard-head{align-items:flex-start}.portal-login-copy h1,.portal-dashboard-head h1{letter-spacing:-2.5px}.garage-transponder-strip{grid-template-columns:auto minmax(260px,1fr) minmax(220px,1fr)}.garage-transponder-list{grid-column:1/-1}.garage-add-card{grid-template-columns:minmax(150px,.65fr) minmax(210px,1.1fr) minmax(160px,.8fr) auto}.garage-add-card button{min-width:125px}.garage-setup-grid{grid-template-columns:1fr}.result-import-layout{grid-template-columns:1fr}.result-metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.portal-wrap{padding:20px 14px 38px}.portal-brand{align-items:flex-start}.portal-brand span{max-width:135px;text-align:right;font-size:9px}.portal-login{min-height:auto;padding-top:50px}.portal-login-copy h1,.portal-dashboard-head h1{font-size:42px}.portal-login-card{padding:24px}.portal-dashboard-head{display:block}.portal-dashboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.portal-dashboard-shortcut{width:100%;min-height:64px}.portal-dashboard-actions>.portal-quiet{grid-column:1/-1;min-height:44px;margin:0}.portal-circuit-browser{padding:16px;border-radius:18px}.portal-circuit-browser-head h2{font-size:29px;letter-spacing:-1px}.portal-circuit-media{height:175px;padding:14px}.portal-circuit-media img{max-width:calc(100% - 28px);max-height:calc(100% - 24px)}.portal-action{padding:20px}.portal-action form>div{display:grid}.portal-session-bar .portal-user-badge{display:none}.portal-library-head,.garage-head,.garage-detail-head,.garage-detail-grid{grid-template-columns:1fr}.portal-library-head h1,.garage-head h1{font-size:48px;letter-spacing:-2px}.garage-transponder-strip{grid-template-columns:1fr;padding:10px}.garage-transponder-title{min-width:0}.garage-identity-form,.garage-transponder-form{grid-template-columns:minmax(0,1fr) auto}.garage-identity-form button,.garage-transponder-form button{min-height:44px}.garage-identity-form small{white-space:normal}.garage-transponder-list{min-height:30px}.garage-guide{display:flex;overflow-x:auto}.garage-guide>.portal-section-tag{position:sticky;left:0;z-index:1;align-self:stretch;display:grid;place-items:center;padding:0 10px;background:#101823}.garage-guide>div{flex:0 0 205px}.garage-add-card{grid-template-columns:1fr 1fr;padding:14px}.garage-add-heading,.garage-taxonomy-add{grid-column:1/-1}.garage-taxonomy-fields{grid-template-columns:1fr}.garage-add-card button{grid-column:1/-1;min-width:0}.garage-detail{padding:16px}.garage-form-pair,.garage-form-triple,.garage-car-actions{grid-template-columns:1fr;display:grid}.garage-car-card{grid-template-rows:145px auto}.garage-timing-stats{grid-template-columns:1fr 1fr}.garage-timing-link{grid-template-columns:1fr}.garage-timing-remove{grid-column:1;grid-row:auto;justify-self:start}}
@media(max-width:620px){
  .event-race-browser{grid-template-columns:minmax(0,1fr);margin:-5px 0 12px;padding:9px}
  .event-race-browser-head{justify-content:space-between}
  .event-race-browser-head>div{min-width:0}
  .event-race-browser-head strong{max-width:56vw}
  .event-race-live,.event-race-tab{min-height:46px}
  .event-race-tabs{margin:0 -2px;padding-bottom:6px}
  .event-race-tab{min-width:140px}
  .garage-detail-head{gap:14px}
  .garage-detail-head .portal-quiet{width:100%;min-height:44px}
  .garage-setup-row{gap:5px;min-height:64px;padding:6px}
  .garage-setup-condition-head{align-items:flex-start;flex-direction:column;gap:3px}
  .garage-setup-toggle{grid-template-columns:20px minmax(0,1fr);gap:5px;padding:5px 3px}
  .garage-setup-summary strong{font-size:11px}
  .garage-setup-summary small{display:-webkit-box;overflow:hidden;line-height:1.35;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .garage-setup-link-state{min-height:44px;padding:0 9px;font-size:7px}
  .garage-setup-body{padding:13px 12px 14px}
  .result-review{padding:14px}
  .result-review-head,.result-participant-heading{align-items:stretch;flex-direction:column}
  .result-review-head .portal-quiet{width:100%}
  .result-metadata-grid,.result-participant-fields,.result-link-row{grid-template-columns:1fr 1fr}
  .result-participant-fields label:first-child{grid-column:1/-1}
  .result-link-row>span{grid-column:1/-1}
  .result-file-queue>li{grid-template-columns:27px minmax(0,1fr)}
  .result-file-queue>li>div{grid-column:1/-1;justify-content:flex-end}
}
.portal-login[hidden],.portal-dashboard[hidden],.portal-circuit-library[hidden],.portal-result-import[hidden],.portal-garage[hidden],.garage-detail[hidden],.result-review[hidden]{display:none!important}
body.portal-locked{overflow-y:auto;overflow-x:hidden}
