/* Broadcast HUD and accessible settings, layered over the established club identity. */
:root{--panel:#15251fe8;--gold:#e2f474;--safe-bottom:env(safe-area-inset-bottom,0px)}
.masthead{background:linear-gradient(#10251e55,transparent);border-bottom-color:#f6ffe01c}
.icon-button{transition:background .18s,border-color .18s;min-width:35px}.icon-button:hover{background:#e4f77522;border-color:var(--lime)}
.hero-copy{top:3vh;bottom:49px}.hero-copy h1{letter-spacing:-2px}.hero-copy .intro{color:#e4e8d9}
.event-list{gap:4px 8px;border:0;margin-bottom:8px;max-height:360px;min-height:145px}
.event-card{min-height:51px;border:1px solid #f5ffe31c;border-radius:4px;padding:9px;background:linear-gradient(120deg,#132820b8,#263b2b40);gap:9px;position:relative;transition:background .16s,border-color .16s}
.event-card:hover{background:#385239a8;border-color:#deed8c70}.event-card.selected{border:1px solid var(--lime);padding-left:9px;background:linear-gradient(110deg,#34482bd9,#72824935);box-shadow:inset 3px 0 var(--lime)}
.event-card strong{font-size:12px}.event-card small{font-size:8px;letter-spacing:.8px;color:#bac9ad}.event-number{display:none}.event-card svg{width:26px;height:26px;flex-shrink:0;stroke:#dbe3cb;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.event-card.selected svg{stroke:var(--lime)}.event-arrow{font-size:16px;opacity:.6}
.selection-detail{min-height:56px;padding-top:7px;padding-bottom:8px}.selection-detail p{font-size:12px;margin-top:5px;color:#d8e0cc}
.practice-options{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:0 0 12px;min-height:32px}.practice-options label{font:700 8px monospace;letter-spacing:1px;color:#dce6cb;flex-shrink:0}.practice-options select{width:91px;padding:7px 5px;margin:0;font:700 10px monospace;background:#1a3027;border-color:#d4e2bd55}.practice-options>span{margin-left:auto;text-align:right;max-width:180px;font:8px/1.5 monospace;letter-spacing:.5px;color:var(--lime)}
.primary,.secondary{border-radius:3px}.control-summary{font-size:10px;color:#d2dcc7}.bottom-meta{opacity:.8}
.race-top{align-items:flex-start}.event-label>strong{font-size:27px;line-height:1.05}.event-label .eyebrow{color:var(--lime);font-size:10px;letter-spacing:1.6px}.event-label>span{font-size:10px;color:#dbe5cc}.race-numbers{padding:11px 15px;background:linear-gradient(110deg,#163124d9,#132b2255);border:1px solid #e9ffd123;border-radius:5px;margin-top:-9px;backdrop-filter:blur(10px)}.race-numbers strong{font-size:37px}
#race-instructions{font-size:11px;max-width:390px;color:#e7eddf;margin-top:10px;line-height:1.5}.race-bottom{align-items:end;gap:30px}.telemetry{background:linear-gradient(105deg,#10251ee8,#16332695);padding:17px 18px;border:1px solid #edffe02b;border-radius:6px;width:340px;backdrop-filter:blur(8px)}.speed strong{font-size:56px}.speed span{font-size:10px;letter-spacing:1.2px}.distance-row{margin-top:13px;font-size:10px;line-height:1.6}.distance-row span{font-size:9px;max-width:150px}.rhythm{font-size:9px;margin-top:14px}.skill-meter p{font-size:9px;letter-spacing:.2px}.skill-meter>div:first-child,.skill-meter small{font-size:10px}.skill-track{height:10px;border-radius:3px}.skill-track i{border-radius:3px}.skill-track b{height:16px}.progress{height:4px;border-radius:2px}
.input-panel{max-width:580px}.input-panel>p{font:10px/1.4 monospace;max-width:580px;letter-spacing:.5px;margin-bottom:10px;color:#eff4df}.input-buttons button{height:76px;background:#142c22dc;border-radius:6px;border-color:#e0f0ce66;box-shadow:0 4px 0 #09170e80;padding:10px;transition:background .08s,transform .08s}.input-buttons button:not(:disabled):hover{background:#34513be8}.input-buttons .action-button{background:#505b29e8;border-color:#e1ef7d99;min-width:115px}.input-buttons span{font-size:9px;letter-spacing:.4px}.input-buttons kbd{font-size:12px;min-width:29px;background:#ffffff12}.input-buttons button.active{box-shadow:0 1px 0 #09170e80}.input-buttons button:disabled{cursor:default;opacity:.45}
.standings{position:absolute;right:0;top:103px;width:218px;display:grid;gap:4px;pointer-events:none}.standing{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:3px;background:#11261fc7;border:1px solid #f3ffe716;font:10px monospace;color:#d7e0cc}.standing.self{border-color:#dff47688;background:#33472bdd;color:#f1f8de}.standing i{height:8px;width:8px;border-radius:50%}.standing b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standing strong{font-size:12px;color:#edf6d9}
.event-callout{position:absolute;left:50%;top:22%;transform:translate(-50%,-50%) scale(.94);opacity:0;text-align:center;pointer-events:none;width:max-content;max-width:80%;transition:opacity .18s,transform .18s;text-shadow:0 3px 20px #071e13}.event-callout.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.event-callout strong{display:block;font:clamp(24px,3.1vw,43px)/1.05 Impact,'Arial Narrow',sans-serif;color:var(--lime);letter-spacing:1px}.event-callout span{display:block;font:10px/1.6 monospace;background:#152b22db;padding:7px 12px;margin-top:9px;letter-spacing:1px;border-radius:3px}.event-callout[data-kind="bad"] strong{color:#ffb28f}.finish-wait{position:absolute;left:50%;top:26%;transform:translateX(-50%);padding:11px 16px;background:#10291ee8;border:1px solid #dff47655;border-radius:3px;color:var(--lime);font:10px/1.5 monospace;letter-spacing:1px;text-align:center;min-width:240px}
.results{top:16%;max-height:calc(100dvh - 145px);overflow:auto;padding-right:9px;scrollbar-width:thin;scrollbar-color:#d8f37155 transparent}.results h2{font-size:45px}.results .eyebrow{margin-bottom:12px}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #e7efc92d;border-bottom:1px solid #e7efc92d;margin-top:17px}.result-summary>strong{font:34px Impact,sans-serif;color:var(--lime);white-space:nowrap}.result-summary>span{font:9px/1.6 monospace;color:#dbe7c7;max-width:190px;text-align:right;letter-spacing:.6px}.result-summary.new-best>span{color:var(--lime)}.result-list{margin:10px 0 21px}.result-row{padding:12px 3px}.result-rank{font-size:23px}.result-name{font-size:12px}.result-name small{font-size:8px}.result-score{font-size:25px}.result-actions{display:flex;gap:8px}.result-actions .primary{font-size:10px;min-width:0;padding:0 15px}.result-actions .secondary{font-size:9px;padding:0 11px}
dialog{border-radius:10px;background:linear-gradient(145deg,#2a4031,#14281f);border-color:#dff46355;padding:32px;box-shadow:0 25px 100px #000a}dialog h2{font-size:39px}dialog .field{margin:20px 0}dialog input,dialog select{border-radius:4px}#settings-dialog{width:min(450px,calc(100% - 32px))}#settings-dialog .field{font-size:10px}#settings-dialog input[type="range"]{padding:0;background:transparent;border:0;accent-color:var(--lime);height:25px}.field output{float:right;color:#e4edcf;font-family:monospace}.toggle-row{display:flex;align-items:center;gap:13px;min-height:44px;font-size:12px;color:#e4ebda}.toggle-row input{display:block;width:18px;height:18px;margin:0;accent-color:var(--lime)}#settings-round-note.live{color:#f6bf89}.performance{position:fixed;z-index:8;left:50%;transform:translateX(-50%);bottom:max(5px,var(--safe-bottom));padding:5px 9px;border-radius:3px;background:#091b13e8;color:#d7edb6;font:9px/1.5 monospace;white-space:pre;text-align:center;pointer-events:none}
.practice-options select{pointer-events:auto}.result-actions .secondary{white-space:normal;line-height:1.4;max-width:48%}
body[data-reduced-motion="true"] *{transition:none!important;animation:none!important}
.skill-track b{margin-left:0;background:#c9ed6860;border:1px solid #e7ff8f;pointer-events:none;z-index:1}.skill-meter[data-mode="direction"] .skill-track{background:linear-gradient(90deg,#98584a55,#ffffff20 40%,#ffffff20 60%,#98584a55)}.skill-meter[data-mode="direction"] .skill-track i{position:absolute;top:-4px;height:18px;transform:translateX(-50%);background:#fffce8;border-radius:1px;z-index:2}.input-panel.single-action .input-buttons{justify-content:flex-end}.input-panel.single-action .action-button{min-width:170px;max-width:230px}.input-panel.single-action .input-buttons span{max-width:none;font-size:10px;letter-spacing:.6px}.input-panel.single-action .input-buttons kbd{min-width:52px}
@media(min-height:900px) and (min-width:1001px){.hero-copy{top:4vh}.event-list{max-height:385px}.event-card{min-height:57px}.event-card strong{font-size:13px}.event-card svg{width:30px;height:30px}}
@media(max-height:780px) and (min-width:801px){.hero-copy{top:17px;bottom:34px}.hero-copy h1{font-size:49px;margin-bottom:12px}.hero-copy .intro{font-size:11px;margin-bottom:12px}.event-list{max-height:270px;min-height:110px;gap:3px 7px}.event-card{min-height:42px;padding:6px 8px}.event-card.selected{padding-left:8px}.event-card svg{width:23px;height:23px}.event-card strong{font-size:11px}.event-card small{font-size:7px}.selection-detail{min-height:48px}.selection-detail p{font-size:11px}.practice-options{margin-bottom:8px;min-height:28px}.practice-options select{padding:5px}.control-summary{font-size:9px;min-height:25px}.results{top:105px;max-height:calc(100dvh - 120px)}.results h2{font-size:37px}.result-list{margin:7px 0 15px}.result-summary{padding:8px 0;margin-top:12px}.result-row{padding:10px 3px}.standings{top:101px}.telemetry{padding:13px 15px;width:320px}.input-buttons button{height:69px}}
@media(max-width:1000px){.hero-copy{width:45vw}.event-card strong{font-size:10px}.event-card{gap:7px}.event-card svg{width:23px;height:23px}.practice-options{gap:6px}.practice-options>span{font-size:7px;max-width:125px}.telemetry{width:270px}.race-bottom{gap:20px}.standings{width:190px;top:110px}.event-label>strong{font-size:24px}.race-numbers strong{font-size:29px}.input-buttons span{font-size:8px}.input-buttons button{min-width:61px}.input-buttons .action-button{min-width:90px}.race-numbers{padding:8px 10px}}
@media(max-width:800px){.hero-copy{left:22px;top:22px;bottom:45px;width:calc(100% - 44px);max-width:410px}.event-card{min-height:47px}.hero-copy h1{font-size:58px}.event-list{max-width:none;max-height:370px}.menu-actions{max-width:none}.masthead{padding:0 22px}.mast-right{gap:7px}.build-pill{display:none}.standings{top:137px;right:0;width:160px}.standing{font-size:9px;padding:6px 8px}.standing strong{font-size:10px}.telemetry{width:235px}.input-buttons button{min-width:51px}.input-buttons .action-button{min-width:76px}.input-buttons span{font-size:7px}.results h2{font-size:42px}.race-numbers{margin-top:0}.event-label>strong{font-size:22px}#race-instructions{max-width:300px;font-size:10px}.performance{font-size:8px}}
@media(max-width:550px){.masthead{padding:0 18px}.mast-right{gap:6px}.icon-button{width:31px;height:31px;min-width:31px;font-size:18px}#fullscreen{display:none}.hero-copy{left:20px;top:22px;bottom:42px;width:calc(100% - 40px)}.hero-copy h1{font-size:46px;margin-bottom:12px}.hero-copy .intro{font-size:10px;margin-bottom:12px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1.2px}.event-list{min-height:175px;margin-top:4px;max-height:none;gap:3px 6px}.event-card{min-height:42px;padding:7px;gap:7px}.event-card.selected{padding-left:7px}.event-card strong{font-size:10px;letter-spacing:0}.event-card small{font-size:7px}.event-card svg{width:23px;height:23px}.selection-detail{min-height:48px}.selection-detail p{font-size:10px}.practice-options{min-height:27px;margin-bottom:8px}.practice-options label{font-size:7px}.practice-options select{font-size:9px;width:81px}.practice-options>span{font-size:7px;max-width:155px}.menu-actions .primary,.menu-actions .secondary{height:47px}.control-summary{font-size:8px;margin-top:8px}.race{inset:102px 16px max(18px,env(safe-area-inset-bottom))}.race-numbers{margin-top:13px;max-width:100%;padding:8px 10px}.race-numbers strong{font-size:28px}.race-top{display:block}.event-label>strong{font-size:22px}#race-instructions{font-size:9px;max-width:340px;line-height:1.5}.standings{display:none}.race-bottom{gap:10px;flex-direction:column}.telemetry{width:100%;padding:12px;border-radius:5px}.speed{margin-right:14px}.speed strong{font-size:37px}.speed span{font-size:9px}.distance-row{margin-top:0;font-size:9px}.distance-row span{font-size:8px;max-width:145px}.skill-meter{padding-top:8px}.skill-meter p{font-size:8px;min-height:11px}.skill-meter>div:first-child,.skill-meter small{font-size:9px}.rhythm{font-size:8px;margin-top:9px;padding-top:8px}.input-panel>p{font-size:8px;max-width:100%;margin-bottom:8px}.input-buttons{gap:5px}.input-buttons button{height:63px;min-width:45px;padding:6px}.input-buttons .action-button{min-width:65px}.input-buttons span{font-size:7px;letter-spacing:0}.input-buttons kbd{font-size:10px;min-width:24px}.input-panel{width:100%}.event-callout{top:28%;max-width:92%}.event-callout strong{font-size:31px}.event-callout span{font-size:8px}.finish-wait{top:30%;font-size:9px;max-width:90%}.results{top:112px;max-height:calc(100dvh - 126px);width:calc(100% - 40px);left:20px}.results h2{font-size:39px}.result-row{padding:11px 3px}.result-summary>strong{font-size:30px}.result-summary>span{font-size:8px}.result-actions .primary{font-size:8px;padding:0 10px;gap:5px}.result-actions .secondary{font-size:8px;padding:0 10px}.performance{font-size:7px;max-width:calc(100vw - 16px);white-space:normal}.countdown{top:43%}}
@media(max-height:600px){.hero-copy{height:auto;bottom:auto;position:relative;padding-bottom:40px}.event-list{min-height:150px;max-height:240px}.practice-options{max-width:410px}.race{top:86px;bottom:14px}.standings{display:none}.race-bottom{flex-direction:row}.telemetry{width:240px;padding:9px}.speed strong{font-size:33px}.skill-meter p,#race-instructions{display:none}.event-label>strong{font-size:19px}.race-top{display:flex}.race-numbers{margin-top:0}.input-buttons button{height:58px}.input-panel>p{font-size:8px}.event-callout{top:35%}.countdown strong{font-size:90px}.results{top:90px;max-height:calc(100dvh - 105px)}}
