@font-face{font-family:Recent;src:url('/assets/recent.otf') format('opentype');font-weight:500;font-display:swap}@font-face{font-family:DM;src:url('/assets/sans.ttf');font-weight:400;font-display:swap}@font-face{font-family:DM;src:url('/assets/sans-bold.ttf');font-weight:700;font-display:swap}@font-face{font-family:Mono;src:url('/assets/mono.ttf');font-display:swap}
/* Shared brand colours, with semantic surfaces for both display modes. */
:root{color-scheme:light;--night:#11190d;--lime:#a0e73f;--cobalite:#a590f1;--white:#fff;--text:#11190d;--graphite:#3d403e;--paper:#f5f6f3;--surface:#fff;--line:#dce1d8;--muted:#596353;--control-border:#7e8b75;--hover:#e9efdf;--primary:#11190d;--primary-text:#fff;--primary-hover:#303b29;--focus:#8743dc;--head:#edf0e8;--mikko-head:#dff2c7;--mikko:#edf7df;--dim:#63705b;--dim-mikko:#f2f7ec;--note:#efebfa;--note-hover:#e0d7f6;--warning-text:#84390e;--warning-bg:#fff0e7;--error:#a52b18;--success:#3d7a15;--danger:#c24d15;--toast-bg:#11190d;--toast-text:#fff}
:root[data-theme=dark]{color-scheme:dark;--text:#f5f6f3;--graphite:#ced6c8;--paper:#11190d;--surface:#1b2515;--line:#3b4832;--muted:#b1bdaa;--control-border:#66765c;--hover:#2e3c24;--primary:#a0e73f;--primary-text:#11190d;--primary-hover:#b5f366;--focus:#a590f1;--head:#26301e;--mikko-head:#344e1d;--mikko:#273b16;--dim:#a5b09d;--dim-mikko:#222e1b;--note:#2c253e;--note-hover:#3d3353;--warning-text:#ffca9f;--warning-bg:#3b2b1f;--error:#ff9f91;--success:#a0e73f;--danger:#ffb980;--toast-bg:#a0e73f;--toast-text:#11190d}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:DM,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;padding:11px 17px;border:1px solid var(--control-border);border-radius:5px;background:var(--surface);color:var(--text);font-size:13px;font-weight:700;transition:background .15s}button:hover{background:var(--hover)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.primary:hover{background:var(--primary-hover)}.mono,.eyebrow,.hero-meta,.timing-bar,th,footer{font-family:Mono,monospace;font-weight:400}.hero{background:var(--night);color:var(--white);border-bottom:4px solid var(--lime)}.hero-inner{max-width:1800px;margin:auto;display:grid;grid-template-columns:1fr auto 170px;align-items:center;gap:48px;padding:26px 4vw 24px}.brand{display:block;width:260px;max-width:100%;height:auto}.eyebrow{font-size:11px;letter-spacing:.03em;color:#c0c8b9;margin:23px 0 8px}.eyebrow span{color:var(--lime);padding:0 9px}h1{font:500 clamp(48px,5.8vw,82px)/.95 Recent,Impact,sans-serif;letter-spacing:0;margin:0;white-space:nowrap}.hero-meta{display:flex;align-items:center;gap:14px;font-size:10px;color:#c0c8b9;margin-top:15px}.test-badge{color:var(--night);background:var(--cobalite);font-size:10px;text-transform:uppercase;padding:5px 8px;border-radius:2px;letter-spacing:.06em}.timer{text-align:right;min-width:180px;padding-right:30px;border-right:1px solid #ffffff25}.timer>.mono{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#c0c8b9}.timer strong{display:block;font:bold clamp(42px,5vw,70px)/1.25 DM,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.055em}.timer #phase{font-family:Mono;font-size:10px;color:var(--lime)}.partner{display:block;max-width:170px;width:100%;height:auto}
main{max-width:1800px;padding:25px 4vw 20px;margin:auto}.race-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:21px}.race-bar h2{font-size:22px;margin:0 0 4px;font-weight:700;letter-spacing:-.025em}.race-bar p{font-size:12px;color:var(--muted);margin:0}.connection{font-size:11px;margin-top:8px;display:flex;align-items:center;gap:7px;color:var(--muted)}.connection i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--focus)}.connection.connected i{background:var(--success)}.connection.danger i{background:var(--danger)}.actions{display:flex;gap:7px}.preview-note{display:flex;align-items:center;gap:14px;background:var(--note);padding:12px 15px;border-left:3px solid var(--cobalite);border-radius:0 4px 4px 0;margin-bottom:18px;font-size:12px;line-height:1.5}.note-tag{font-size:10px;font-family:Mono;text-transform:uppercase;white-space:nowrap;color:var(--text)}.preview-note p{margin:0;flex:1;color:var(--graphite)}.text-button{border:0;background:transparent;padding:5px;font-size:11px;min-height:34px;white-space:nowrap}.text-button:hover{background:var(--note-hover)}.timing-bar{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:15px;margin-bottom:12px}.warning{color:var(--warning-text);background:var(--warning-bg);padding:12px 15px;font-size:13px;line-height:1.4;border-radius:4px}.table-wrap{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}th{padding:17px 18px;background:var(--head);font-size:10px;text-transform:uppercase;letter-spacing:.025em}th small{display:block;font-family:DM;font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:5px}.place-head{width:6%}th:nth-child(2){width:24%}.numeric{text-align:right}.mikko-head{background:var(--mikko-head)}.total-head{width:16%}td{padding:17px 18px;border-top:1px solid var(--line)}td.rank{font-family:Mono;font-size:17px;color:var(--muted)}td.name{font-size:21px;font-weight:700;letter-spacing:-.025em}td.name span{display:block;font:10px Mono,monospace;color:var(--muted);margin-top:6px;letter-spacing:0}.score{font-size:clamp(26px,2.5vw,40px);font-weight:700;text-align:right;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.score small{display:block;font:10px Mono;color:var(--muted);letter-spacing:0;margin-top:5px}.mikko{background:var(--mikko)}.leader .mikko{background:var(--lime);color:var(--night);--muted:#3d403e;--graphite:#3d403e}.leader td.rank{color:var(--text)}td.calories{font-weight:700;font-size:23px;font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.025em}.dim{color:var(--dim)}.dim .mikko{background:var(--dim-mikko)}.empty{padding:58px 20px;text-align:center;font-size:16px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);line-height:1.6;margin-top:15px}footer p{margin:0}footer strong{font-weight:400;color:var(--graphite)}
dialog{border:0;max-width:500px;width:calc(100% - 30px);border-radius:10px;padding:26px 28px;box-shadow:0 20px 100px #0005;background:var(--surface);color:var(--text)}dialog::backdrop{background:#11190dbb}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top>.mono{font-size:10px;color:var(--muted)}.close{min-height:36px;height:36px;width:36px;padding:0;border:0;background:var(--paper);font-size:24px}.close:hover{background:var(--hover)}dialog h2{font:500 42px/1 Recent,Impact,sans-serif;margin:17px 0}dialog p{font-size:14px;line-height:1.6;color:var(--muted)}dialog label{display:block;font-weight:700;font-size:12px;margin:19px 0 8px}dialog input,dialog select{width:100%;padding:13px 12px;border:1px solid var(--control-border);border-radius:4px;font-size:14px;background:var(--paper);color:var(--text)}dialog .small{font-size:12px;line-height:1.6}.submit{width:100%;margin:12px 0 0}.error{color:var(--error)!important}.math-row{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.math-row strong{font-size:14px}.math-row p{font-size:13px;margin:7px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--toast-bg);color:var(--toast-text);padding:13px 22px;border-radius:6px;font-size:13px;box-shadow:0 4px 20px #0002;z-index:5}
@media(min-width:1650px){.hero-inner{padding-top:30px;padding-bottom:29px}td{padding-top:21px;padding-bottom:21px}}@media(max-width:1150px){.hero-inner{grid-template-columns:1fr auto;gap:20px}.partner{display:none}.timer{padding-right:0;border:0}.hero-meta{font-size:9px}th,td{padding-left:12px;padding-right:12px}th:nth-child(2){width:21%}.total-head{width:16%}.score{font-size:29px}td.name{font-size:19px}td.calories{font-size:20px}.preview-note{flex-wrap:wrap}.preview-note p{min-width:65%}.text-button{margin-left:auto}}
@media(max-width:760px){.hero-inner{padding:22px 20px 20px;grid-template-columns:1fr 110px;gap:12px}.brand{width:190px}.eyebrow{font-size:8px;margin-top:20px;line-height:1.7}.eyebrow span{padding:0 3px}h1{font-size:45px;white-space:normal;max-width:245px}.hero-meta{gap:8px;line-height:1.5}.hero-meta>span:last-child{display:none}.timer{min-width:0}.timer strong{font-size:38px}.timer>.mono{font-size:8px}.timer #phase{font-size:8px;line-height:1.6}main{padding:20px 16px}.race-bar{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:17px}.race-bar h2{font-size:22px}.actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.actions button{padding:10px 5px;font-size:11px}.preview-note{gap:8px;padding:11px 12px;font-size:11px}.preview-note p{flex-basis:100%;order:3}.note-tag{font-size:9px}.text-button{font-size:10px;min-height:27px;padding:3px}.timing-bar{font-size:9px;flex-wrap:wrap;line-height:1.6}.table-wrap{background:transparent;border:0;overflow:visible}table,tbody{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}tbody>tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden}td{border:0;padding:13px 10px;min-width:0}.rank{grid-column:1;grid-row:1;padding:17px 12px;font-size:13px!important}.name{grid-column:2/5;grid-row:1;text-align:right;font-size:20px!important}.name span{font-size:8px!important}.score{border-top:1px solid var(--line);font-size:30px;text-align:right;padding:12px 8px;letter-spacing:-.05em}.score:before{content:attr(data-label);display:block;min-height:15px;font:8px Mono;letter-spacing:0;text-transform:uppercase;color:var(--graphite);margin-bottom:7px}.score small{font-size:8px}.mikko{border-left:1px solid var(--line)}td.calories{grid-column:1/5;font-size:16px;border-top:1px solid var(--line);padding:9px 12px}.calories:before{content:'Team calories';float:left;font:9px Mono;color:var(--muted);margin-top:4px}.empty{grid-column:1/-1;font-size:14px;line-height:1.6;padding:30px 18px}footer{flex-direction:column;font-size:9px;gap:6px;margin-top:20px}dialog{padding:20px}dialog h2{font-size:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}} 

@media(min-width:761px){.hero-inner{padding-top:20px;padding-bottom:20px}.brand{width:245px}.eyebrow{margin-top:14px;margin-bottom:7px}h1{font-size:clamp(48px,4.5vw,68px)}.hero-meta{margin-top:11px}main{padding-top:20px}.race-bar{margin-bottom:17px}.preview-note{padding-top:9px;padding-bottom:9px;margin-bottom:14px}th{padding-top:14px;padding-bottom:14px}td{padding-top:12px;padding-bottom:12px}.score{font-size:34px}.score small{margin-top:3px}.timer strong{font-size:60px}}

/* Portrait displays use stacked team cards; landscape retains the comparison table. */
@media(min-width:761px) and (orientation:portrait){
  body{min-height:100svh;display:flex;flex-direction:column}
  .hero{flex:none}
  .hero-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;padding:28px 4vw}
  .identity{display:contents}
  .brand{grid-column:1;grid-row:1;width:300px;align-self:center}
  .partner{display:block;grid-column:2;grid-row:1;width:160px;max-height:88px;object-fit:contain;justify-self:end}
  .eyebrow{grid-column:1;grid-row:2;margin:6px 0 0;font-size:12px}
  h1{grid-column:1;grid-row:3;font-size:clamp(56px,6.7vw,88px);white-space:normal;max-width:100%}
  .hero-meta{grid-column:1;grid-row:4;margin:0;font-size:11px}
  .timer{grid-column:2;grid-row:2/5;min-width:155px;padding:0;border:0}
  .timer strong{font-size:clamp(58px,7.4vw,96px)}
  .timer>.mono,.timer #phase{font-size:12px}
  main{width:100%;flex:1;display:flex;flex-direction:column;padding:26px 4vw 24px}
  .race-bar{flex:none;margin-bottom:20px;gap:16px}
  .race-bar h2{font-size:28px;overflow-wrap:anywhere}
  .race-bar p{font-size:14px}
  .connection{font-size:12px}
  .preview-note{flex:none;font-size:14px;padding:13px 16px;margin-bottom:17px}
  .note-tag{font-size:11px}
  .preview-note .text-button{font-size:12px}
  .timing-bar{flex:none;font-size:12px;line-height:1.5}
  .table-wrap{flex:1;display:flex;background:transparent;border:0;border-radius:0;overflow:visible}
  table{display:flex;flex-direction:column;min-width:0}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  tbody{flex:1;display:grid;grid-auto-rows:minmax(170px,1fr);gap:12px}
  tbody>tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 1fr;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden}
  td{min-width:0;border:0}
  td.rank{position:absolute;top:0;left:0;padding:18px 18px;font-size:20px}
  td.name{grid-column:1/4;grid-row:1;padding:13px 15px 13px 68px;font-size:27px;overflow-wrap:anywhere;align-self:center}
  td.name span{display:inline-block;font-size:11px;letter-spacing:0;margin:0 0 0 18px}
  td.calories{grid-column:4;grid-row:1;padding:11px 20px;font-size:27px;line-height:1.15;align-self:center}
  td.calories:before{content:'Team calories';display:block;font:10px Mono;letter-spacing:0;color:var(--muted);margin-bottom:3px}
  td.score{grid-row:2;border-top:1px solid var(--line);padding:13px 18px;text-align:center;font-size:clamp(38px,4.5vw,58px);line-height:1.05;align-content:center}
  td.score:before{content:attr(data-label);display:block;font:12px Mono;letter-spacing:.025em;text-transform:uppercase;color:var(--graphite);margin-bottom:9px}
  td.score:not(.mikko):before{content:attr(data-label) ' · AVG/MIN'}
  td.score small{font-size:12px;margin-top:7px}
  td.mikko{border-left:1px solid var(--line)}
  td.mikko small:after{content:' / athlete'}
  .empty{grid-column:1/-1;grid-row:1/-1;align-self:center}
  footer{flex:none;font-size:11px;gap:15px;margin-top:20px}
}

/* Allocate the available screen height to every team, without hiding rows. */
@media(min-width:761px) and (min-height:600px){
  body.screen-fit{height:100dvh;min-height:0;display:flex;flex-direction:column}
  .screen-fit .hero{flex:none}
  .screen-fit main{width:100%;min-height:0;flex:1;display:flex;flex-direction:column;margin:0 auto;padding-top:16px;padding-bottom:14px}
  .screen-fit .race-bar,.screen-fit .preview-note,.screen-fit .timing-bar,.screen-fit .warning,.screen-fit footer{flex:none}
  .screen-fit .race-bar{margin-bottom:12px}
  .screen-fit .race-bar>div:first-child{min-width:0}
  .screen-fit .race-bar h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .screen-fit .actions{flex:none}
  .screen-fit .preview-note{margin-bottom:10px}
  .screen-fit .timing-bar{margin-bottom:10px}
  .screen-fit .warning{margin:0 0 8px;padding:7px 12px;font-size:12px}
  .screen-fit .table-wrap{min-height:0;flex:1;container-type:size}
  .screen-fit footer{margin-top:10px}
  .screen-fit[data-density=compact] .hero-inner{padding-top:14px;padding-bottom:14px}
  .screen-fit[data-density=compact] .eyebrow{margin-top:10px}
  .screen-fit[data-density=compact] h1{font-size:clamp(44px,4.2vw,60px)}
  .screen-fit[data-density=compact] .hero-meta{margin-top:8px}
  .screen-fit[data-density=compact] .race-bar h2{font-size:22px}
}
@media(min-width:761px) and (min-height:600px) and (orientation:landscape){
  .screen-fit .table-wrap{--columns:58px minmax(0,1.65fr) repeat(4,minmax(0,1fr)) minmax(0,1.1fr);--head-height:48px;--row-height:calc((100cqh - var(--head-height)) / var(--team-count))}
  .screen-fit table{height:100%;display:grid;grid-template-rows:var(--head-height) minmax(0,1fr)}
  .screen-fit thead{display:block;min-height:0}
  .screen-fit thead tr,.screen-fit tbody>tr{display:grid;grid-template-columns:var(--columns);min-height:0}
  .screen-fit thead tr{height:100%}
  .screen-fit th{width:auto;padding:8px 14px;align-content:center}
  .screen-fit th small{margin-top:3px}
  .screen-fit tbody{display:grid;grid-template-rows:repeat(var(--team-count),minmax(0,1fr));min-height:0}
  .screen-fit td{min-width:0;padding:clamp(3px,calc(var(--row-height) * .08),14px) 14px;align-content:center}
  .screen-fit td.rank{font-size:clamp(15px,calc(var(--row-height) * .24),24px)}
  .screen-fit td.name{font-size:clamp(17px,calc(var(--row-height) * .29),32px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .screen-fit td.name span{font-size:clamp(9px,calc(var(--row-height) * .13),12px);margin-top:4px}
  .screen-fit td.score{font-size:clamp(22px,calc(var(--row-height) * .44),64px);line-height:1.05}
  .screen-fit td.score small{font-size:clamp(9px,calc(var(--row-height) * .14),13px);margin-top:3px}
  .screen-fit td.calories{font-size:clamp(19px,calc(var(--row-height) * .33),42px);line-height:1.1}
  .screen-fit .empty{grid-column:1/-1;align-content:center}
}
@media(min-width:761px) and (min-height:600px) and (orientation:portrait){
  .screen-fit .table-wrap{--card-gap:clamp(6px,.55vh,12px);--card-height:calc((100cqh - (var(--team-count) - 1) * var(--card-gap)) / var(--team-count));--card-heading:clamp(38px,calc(var(--card-height) * .3),64px)}
  .screen-fit table{display:block;height:100%}
  .screen-fit tbody{height:100%;display:grid;grid-auto-rows:auto;grid-template-rows:repeat(var(--team-count),minmax(0,1fr));gap:var(--card-gap)}
  .screen-fit tbody>tr{min-height:0;grid-template-rows:var(--card-heading) minmax(0,1fr)}
  .screen-fit td.rank{height:var(--card-heading);display:flex;align-items:center;padding:0 16px;font-size:clamp(17px,calc(var(--card-height) * .14),24px)}
  .screen-fit td.name{font-size:clamp(20px,calc(var(--card-height) * .19),32px);line-height:1.1;padding:6px 12px 6px 62px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .screen-fit td.name span{font-size:10px;margin-left:14px}
  .screen-fit td.calories{font-size:clamp(22px,calc(var(--card-height) * .18),32px);padding:6px 16px;white-space:nowrap}
  .screen-fit td.calories:before{display:inline;font-size:9px;margin:0 8px 0 0}
  .screen-fit td.score{font-size:clamp(27px,calc(var(--card-height) * .30),72px);padding:4px 12px;line-height:1.05;min-height:0}
  .screen-fit td.score:before{font-size:clamp(10px,calc(var(--card-height) * .075),13px);margin-bottom:clamp(4px,calc(var(--card-height) * .035),10px)}
  .screen-fit td.score small{font-size:clamp(10px,calc(var(--card-height) * .075),13px);margin-top:clamp(3px,calc(var(--card-height) * .03),9px)}
  .screen-fit[data-density=compact] .hero-inner{gap:9px 24px;padding-top:18px;padding-bottom:18px}
  .screen-fit[data-density=compact] .partner{max-height:64px;width:140px}
  .screen-fit[data-density=compact] .brand{width:280px}
  .screen-fit[data-density=compact] .eyebrow{margin:0;font-size:11px}
  .screen-fit[data-density=compact] h1{font-size:clamp(52px,6vw,72px)}
  .screen-fit[data-density=compact] .hero-meta{margin:0;font-size:10px}
  .screen-fit[data-density=compact] .timer strong{font-size:70px}
  .screen-fit[data-density=compact] .preview-note{font-size:12px;padding:9px 13px}
  .screen-fit[data-density=compact] .race-bar p{font-size:12px}
  .screen-fit[data-density=compact] footer{font-size:10px}
}
@media(min-width:761px) and (min-height:600px) and (max-height:850px) and (orientation:landscape){
  .screen-fit .hero-inner{padding-top:10px;padding-bottom:10px}
  .screen-fit .brand{width:210px}
  .screen-fit .eyebrow{font-size:9px;margin:7px 0 5px}
  .screen-fit h1,.screen-fit[data-density=compact] h1{font-size:46px}
  .screen-fit .hero-meta{margin-top:6px;font-size:9px}
  .screen-fit main{padding-top:10px;padding-bottom:10px}
  .screen-fit .race-bar{margin-bottom:8px}
  .screen-fit .race-bar h2{font-size:20px}
  .screen-fit .connection{margin-top:5px}
  .screen-fit .preview-note{padding:5px 12px;margin-bottom:8px}
  .screen-fit .timing-bar{margin-bottom:7px}
}

/* Keep the supplied lockup intact and exactly as wide as the event title. */
.hero-inner{grid-template-columns:minmax(0,1fr) auto 240px;gap:40px}
.identity{min-width:0}
.brand-title{width:max-content;max-width:100%;display:flex;flex-direction:column;gap:14px}
.brand-title .brand{width:0;min-width:100%;max-width:100%;height:auto}
.hero-meta{font-size:12px;margin-top:16px;gap:14px}
.hero-meta>span:last-child{display:inline}
.partner{display:block;width:240px;max-width:100%}
.timer{padding-right:30px}
@media(min-width:761px) and (orientation:portrait){
  .hero-inner{grid-template-columns:minmax(0,1fr) 220px;gap:12px 28px}
  .identity{display:block;grid-column:1;grid-row:1/3;align-self:center}
  .partner{grid-column:2;grid-row:1;max-height:none;width:220px}
  .timer{grid-column:2;grid-row:2;min-width:0;padding:0}
  .hero-meta{margin-top:16px}
  .screen-fit[data-density=compact] .partner{max-height:none;width:205px}
  .screen-fit[data-density=compact] .hero-meta{margin-top:14px;font-size:11px}
}
@media(min-width:761px) and (orientation:landscape){
  .screen-fit[data-density=compact] .hero-inner{grid-template-columns:minmax(0,1fr) auto 215px}
  .screen-fit[data-density=compact] .partner{width:215px}
  .screen-fit[data-density=compact] .hero-meta{margin-top:12px}
}
@media(min-width:761px) and (max-width:1150px) and (orientation:landscape){
  .hero-inner{grid-template-columns:minmax(0,1fr) auto 160px;gap:20px}
  .screen-fit[data-density=compact] .hero-inner{grid-template-columns:minmax(0,1fr) auto 160px}
  .partner{width:160px}
  .timer{min-width:120px;padding-right:0}
  h1{font-size:48px}
}
@media(max-width:760px){
  .hero-inner{grid-template-columns:minmax(0,1fr) 110px;gap:16px;padding:20px}
  .identity{grid-column:1;grid-row:1/3}
  .brand-title{gap:12px}
  .brand-title h1{font-size:clamp(30px,8vw,45px);white-space:normal}
  .hero-meta{flex-wrap:wrap;font-size:9px;gap:8px;margin-top:13px}
  .test-badge{font-size:8px}
  .partner{grid-column:2;grid-row:1;width:110px;align-self:start}
  .timer{grid-column:2;grid-row:2;padding:0;align-self:start}
}

/* Auto follows the browser; an explicit choice is remembered on this device. */
.theme-control{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border:1px solid var(--control-border);border-radius:5px;background:var(--surface);color:var(--muted);font:10px Mono,monospace;white-space:nowrap}
.theme-control select{border:0;border-radius:3px;min-height:38px;max-width:90px;padding:4px 0;background:var(--surface);color:var(--text);font:700 13px DM,Arial,sans-serif;cursor:pointer}
.theme-control:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.theme-control select:focus-visible{outline:none}
.theme-control:hover,.theme-control:hover select{background:var(--hover)}
.dialog-top .theme-control{margin:0 0 0 auto;gap:5px}
.dialog-top .theme-control select{width:auto;margin:0;padding:4px 0;font-size:12px}
.dialog-top .theme-control span{font:10px Mono,monospace}
.dialog-top{gap:10px}
button:disabled{opacity:.5;cursor:default}
input::placeholder{color:var(--muted);opacity:.8}
@media(max-width:760px){.actions{grid-template-columns:1fr 1fr}.actions .theme-control{justify-content:center}.actions .theme-control select{font-size:11px}.dialog-top .theme-control{padding:0 7px}}

/* Preserve complete score labels when ten rows share a shorter TV screen. */
@media(min-width:761px) and (min-height:600px) and (max-height:850px) and (orientation:landscape){
  .screen-fit[data-density=compact] td{min-height:0;padding-top:2px;padding-bottom:2px}
  .screen-fit[data-density=compact] td.score{font-size:clamp(20px,calc(var(--row-height) * .44),64px)}
  .screen-fit[data-density=compact] td.score small{line-height:1;margin-top:1px}
  .screen-fit[data-density=compact] td.name span{line-height:1;margin-top:2px}
}
