@font-face{font-family:LocalThai;src:local('Leelawadee UI'),local('Tahoma');font-display:swap}
:root{--navy:#102b36;--accent:#16806f;--accent-dark:#106554;--ink:#18253a;--muted:#697587;--line:#e5e9ee;--surface:#fff;--canvas:#f5f7fa;--green:#167d5b;--radius:12px;--scroll-thumb:#9ba9bb;--scroll-track:#edf0f4;font-family:LocalThai,'Segoe UI',Tahoma,sans-serif;color:var(--ink);background:var(--canvas);font-size:15px;line-height:1.6;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin;scrollbar-gutter:stable}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled,fieldset:disabled input,fieldset:disabled select{cursor:not-allowed;opacity:.55}button:disabled{opacity:.45}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3bb69f;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}::-webkit-scrollbar{height:9px;width:9px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#71829a}::-webkit-scrollbar-thumb:active{background:#50627d}.initial-loading{padding:50px}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#c0cad9;display:flex;flex-direction:column;padding:35px 20px}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 43px;color:#fff;font-size:23px;font-weight:800;letter-spacing:1px}.brand small{display:block;font-size:11px;color:#9ba8bd;font-weight:400;letter-spacing:0;margin-top:1px}.brand-symbol{color:var(--accent);font-size:44px;font-style:italic;font-weight:900;line-height:1;border-left:4px solid var(--accent);padding-left:6px}.nav-label{font-size:11px;color:#8d9ab0;padding:0 14px 13px}.nav-item{display:flex;gap:12px;align-items:center;padding:13px 15px;margin-bottom:9px;font-size:14px;border-radius:7px}.nav-item:hover{background:#1d2c43;color:white}.nav-item.active{background:#193e45;color:#79e4cb;box-shadow:inset 3px 0 var(--accent)}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;border-top:1px solid #2a3649}.connection{display:inline-flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;color:#b47b24}.connection:before,.live-dot{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.connection.online{color:#66cba3}.sidebar-bottom p{font-size:10px;color:#95a2b6;line-height:1.9;margin-top:16px}.workspace{margin-left:230px}.topbar{height:78px;padding:0 40px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.topbar strong{font-weight:500;color:var(--ink)}.crumb{margin:0 15px;color:#b3bdca}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border-radius:7px;border:1px solid transparent;white-space:nowrap;font-weight:600;font-size:13px;transition:background .15s,box-shadow .15s}.button svg{width:16px;height:16px}.secondary{border-color:#dce2e9;background:white;color:var(--ink)}.secondary:hover:not(:disabled){background:#f5f7fa;border-color:#b7c1cf}.small{min-height:38px;padding:8px 13px;font-size:12px}.primary{background:#147565;color:white}.primary:hover:not(:disabled){background:var(--accent-dark)}.page-content{max-width:1500px;margin:auto;padding:35px 40px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:15px}h1{font-size:29px;line-height:1.45;letter-spacing:-.7px;font-weight:700}.page-heading p{font-size:12px;color:var(--muted);margin-top:7px}.round-indicator{font-size:12px;background:#fff;padding:8px 13px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}.round-indicator .live-dot{color:var(--accent);margin-right:5px}.entry-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 25px;border-bottom:1px solid var(--line)}h2{font-size:16px;font-weight:650}.panel-heading h2{display:flex;align-items:center;gap:9px}.panel-heading h2 svg{color:var(--accent)}.subtle,.tiny-label{font-size:10px;color:var(--muted)}#time-form{padding:23px 25px 9px}fieldset{border:0;margin:0;padding:0;min-width:0}.field-row{display:flex;gap:18px}.team-field{flex:1;min-width:0}.round-field{width:132px}label,.time-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.required{color:var(--accent)}input,select{width:100%;height:46px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;min-width:0;transition:border-color .15s}input::placeholder{color:#9aa4b2}input:focus,select:focus{border-color:var(--accent)}input[aria-invalid=true]{border-color:#c53131}.time-label{margin-top:23px}.time-inputs{display:flex;gap:12px;align-items:center}.time-inputs>div{flex:1;min-width:0}.time-inputs label{text-align:center;font-size:10px;color:var(--muted);font-weight:400}.time-inputs input{font-family:'Consolas','Courier New',monospace;text-align:center;font-size:35px;font-weight:500;letter-spacing:2px;height:74px;background:#f9fafc;padding:10px 4px}.time-inputs>span{font-family:Consolas,monospace;font-size:25px;color:#9aa7b9;padding-top:20px}.field-help{font-size:10px;color:var(--muted);margin-top:10px}.save-button{width:100%;margin-top:22px;justify-content:space-between;padding:12px 18px;font-size:14px}.save-button span{font-size:22px;line-height:1}.sync-hint{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:var(--muted);margin-top:12px}.sync-hint .live-dot{color:var(--green);width:5px;height:5px}.form-message{min-height:24px;font-size:12px;color:var(--green);padding-top:8px}.error{color:#b52828}.page-error{padding:14px 18px;background:#e7f8f1;border:1px solid #e6c59d;border-radius:7px;font-size:13px;margin-bottom:20px}.access-note{display:flex;flex-direction:column;font-size:12px;padding-bottom:12px}.access-note span{font-size:11px;color:var(--muted)}#login-area{padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--line)}.login-row{display:flex;gap:10px}.login-row input{flex:1}.overwrite-note{font-size:11px;color:#285e4c;background:#f0f8f5;border:1px solid #b7d9cc;padding:10px 12px;border-radius:6px;margin-top:12px}.leaders-panel{display:flex;flex-direction:column}.leader-row{display:flex;align-items:center;gap:13px;padding:22px 24px;border-bottom:1px solid #f0f2f5}.leader-row>div{flex:1;min-width:0}.leader-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.leader-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.leader-row>b{font:600 17px Consolas,monospace;white-space:nowrap;letter-spacing:-.5px}.rank{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:7px;font:600 13px 'Segoe UI',sans-serif;color:#718097;background:#f2f4f7}.rank-1{background:#e7f8f1;color:#146452}.rank-2{background:#eaf0f6;color:#5d728d}.rank-3{background:#f6eee8;color:#9b7055}.leader-row:first-child{background:#f0fbf7}.leader-row:first-child>b{color:#147565}.leaders-note{margin-top:auto;display:flex;gap:12px;align-items:center;padding:24px;color:var(--muted);font-size:12px}.leaders-note>svg{width:30px;height:30px;color:#acb6c4}.leaders-note small{font-size:10px;color:#919aa7}.leaders-empty{padding:70px 20px;text-align:center;color:var(--muted)}.leaders-empty>span{font:32px Consolas,monospace;color:#bac3d0}.leaders-empty p{font-size:12px;margin-top:12px}.results-section{margin-top:34px}.results-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.results-heading h2{display:flex;align-items:center;gap:10px}.count{font-size:10px;padding:2px 8px;border-radius:5px;background:#e8edf3;color:#607086;font-weight:400}.results-heading p{font-size:11px;color:var(--muted);margin-top:5px}.results-actions{display:flex;gap:9px}.results-actions b{font-size:16px}.table-wrap{border:1px solid var(--line);border-radius:10px;background:white;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}thead{background:#fafbfc;color:var(--muted)}thead th{padding:14px 20px;font-weight:500;border-bottom:1px solid var(--line);font-size:11px}tbody td,tbody th{padding:17px 20px;border-bottom:1px solid #edf0f4}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.rank-cell{width:78px;text-align:center}.time-cell{text-align:right;font-family:Consolas,'Courier New',monospace;font-size:14px;font-variant-numeric:tabular-nums}thead .time-cell{font-family:inherit;font-size:11px}.team-cell{min-width:170px;font-weight:600;white-space:normal;overflow-wrap:anywhere;max-width:400px}.team-cell small{display:block;font-size:9px;color:#147565;font-weight:400;margin-top:2px}.team-button{border:0;background:transparent;color:var(--ink);padding:0;text-align:left;font-weight:600;white-space:normal;overflow-wrap:anywhere}.team-button:hover{color:var(--accent-dark)}.best-column{background:#fafbfc}.winner{background:#eefaf5}.winner .best-column{background:#d9f4eb;color:#146452}.personal-best{font-weight:600;color:#147565}.table-footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px;margin-top:13px}.empty-state{padding:45px 20px 50px;text-align:center;color:var(--muted)}.empty-icon{display:inline-flex;padding:12px;background:#f4f6f9;border-radius:50%;margin-bottom:13px}.empty-state h3{font-size:15px;color:#536278;margin-bottom:7px;font-weight:500}.empty-state p{font-size:12px}.admin-footer{display:flex;align-items:center;gap:15px;margin-top:35px;padding:22px 0;border-top:1px solid var(--line);color:#8a95a5;font-size:10px}.admin-footer>img{width:130px;height:33px;object-fit:contain}.text-button{background:none;border:0;color:var(--muted);font-size:11px;margin-left:auto;padding:10px}.text-button:hover{color:var(--ink)}
.broadcast{min-height:100dvh;background:var(--navy);color:white;display:flex;flex-direction:column}.broadcast-header{display:flex;align-items:center;gap:30px;padding:30px 4vw;border-bottom:1px solid #2b384b}.event-logo{width:270px;background:white;padding:13px 17px;border-radius:8px;flex-shrink:0}.event-logo img{width:100%;height:62px;object-fit:contain;display:block}.broadcast-title h1{font-size:32px}.broadcast-title p{color:#a8b4c7;font-size:12px;margin-top:3px}.broadcast-tools{margin-left:auto;display:flex;align-items:flex-end;flex-direction:column;gap:13px}.ghost-light{background:transparent;color:#d3dce8;border-color:#40506a;font-size:11px;min-height:34px;padding:6px 12px}.ghost-light:hover{background:#23344d}.broadcast-content{padding:30px 4vw 40px;flex:1}.board-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.board-heading h2{font-size:21px}.board-heading>span{font-size:13px;color:#a9b5c7}.broadcast .table-wrap{border:1px solid #324158;border-radius:10px;background:#18263c}.broadcast table{font-size:20px;min-width:700px}.broadcast thead{background:#1c2c44;color:#a7b6cd}.broadcast thead th{font-size:12px;padding:18px 25px;border-color:#344158}.broadcast tbody td,.broadcast tbody th{padding:23px 25px;border-color:#314057}.broadcast .team-cell{font-size:21px;min-width:220px}.broadcast .time-cell{font-size:23px}.broadcast thead .time-cell{font-size:12px}.broadcast .rank{font-size:18px;width:37px;height:37px;background:#2b3a51;color:#d6deeb}.broadcast .rank-1{background:var(--accent);color:#fff}.broadcast .best-column{background:#1d2f49}.broadcast .winner{background:#173e43}.broadcast .winner .best-column{background:#164f49;color:#8de7cc}.broadcast .personal-best{color:#8de7cc}.broadcast .team-cell small{color:#8de7cc;font-size:11px}.broadcast .empty-state{padding:90px 20px}.broadcast .empty-state h3{color:#e1e7f0;font-size:25px}.broadcast .empty-state p{color:#a8b4c7;font-size:14px}.broadcast .empty-icon{background:#263750;color:#c3cede}.board-foot{display:flex;justify-content:space-between;color:#a4b2c8;font-size:11px;padding-top:18px;gap:15px}.sponsors{display:flex;align-items:center;gap:40px;background:#fff;color:#637087;padding:20px 4vw;min-height:115px}.sponsors>span:first-child{font-size:12px}.sponsors img{width:150px;height:74px;object-fit:contain}.sponsors i{width:1px;height:45px;background:var(--line)}.sponsor-end{margin-left:auto;font-weight:800;letter-spacing:2px;font-size:17px;color:var(--ink)}.sponsor-end small{font-size:8px;color:var(--muted);letter-spacing:1px}
@media(min-width:1600px){.broadcast .team-cell{font-size:28px}.broadcast .time-cell{font-size:30px}.broadcast tbody td,.broadcast tbody th{padding:27px}.broadcast-title h1{font-size:40px}}
@media(max-width:1150px){.sidebar{width:195px;padding-inline:13px}.workspace{margin-left:195px}.page-content{padding:28px 24px 0}.topbar{padding:0 24px}.entry-layout{gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr)}.panel-heading{padding:18px}.subtle{display:none}#time-form{padding:20px 18px 8px}.leader-row{padding:20px 15px;gap:10px}.leader-row>b{font-size:15px}.results-heading{align-items:flex-start}.results-actions{flex-wrap:wrap;justify-content:flex-end}h1{font-size:25px}.round-indicator{font-size:10px}.event-logo{width:210px}.broadcast-header{gap:22px}.broadcast-title h1{font-size:26px}}
@media(max-width:850px){.sidebar{position:static;width:auto;padding:14px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.brand{padding:0;font-size:18px}.brand-symbol{font-size:30px}.brand small{font-size:9px}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:7px}.nav-item{margin:0;padding:9px 12px;font-size:12px}.nav-item svg{width:16px;height:16px}.workspace{margin-left:0}.topbar{height:61px}.entry-layout{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.page-heading{align-items:flex-start}.broadcast-header{flex-wrap:wrap}.broadcast-tools{flex-direction:row;align-items:center;width:100%;justify-content:space-between}.broadcast-title{flex:1}.sponsors{gap:22px}.sponsors img{width:115px}.sponsor-end{display:none}}
@media(max-width:650px){.sidebar{padding:14px 16px}.brand small{display:none}.nav-item{font-size:11px;padding:9px}.nav-item svg{display:none}.topbar{padding:0 18px;font-size:10px}.topbar .small{font-size:10px;padding-inline:10px}.page-content{padding:25px 18px 0}.page-heading{display:block;margin-bottom:21px}h1{font-size:24px}.round-indicator{display:inline-block;margin-top:15px}.entry-layout{grid-template-columns:1fr}.leaders-panel .panel-heading{padding:16px 20px}.leader-row{padding:16px 20px}.leaders-note{padding:18px 20px}.leaders-empty{padding:28px 20px}.leaders-empty>span{font-size:25px}.field-row{gap:12px}.round-field{width:112px}.time-inputs{gap:8px}.time-inputs input{font-size:29px;height:70px}.results-heading{flex-direction:column}.results-actions{justify-content:flex-start;width:100%;gap:8px}.results-actions .button{flex:1;padding:9px 8px;font-size:11px}.results-heading h2{font-size:17px}.table-footer{flex-direction:column;gap:5px}.admin-footer{gap:8px;flex-wrap:wrap}.admin-footer>span{display:none}.admin-footer>img{width:110px}.broadcast-header{padding:22px 20px;gap:16px}.event-logo{width:170px;padding:9px}.event-logo img{height:45px}.broadcast-title h1{font-size:23px}.broadcast-title p{font-size:10px}.broadcast-content{padding:23px 18px 30px}.board-heading h2{font-size:18px}.board-heading>span{font-size:10px}.board-foot{flex-direction:column;gap:5px}.broadcast .team-cell{font-size:18px}.broadcast .time-cell{font-size:20px}.broadcast tbody td,.broadcast tbody th{padding:18px}.sponsors{padding:17px 20px;gap:20px;flex-wrap:wrap;justify-content:center}.sponsors>span:first-child{width:100%;text-align:center;font-size:10px}.sponsors img{height:57px}.broadcast .empty-state h3{font-size:21px}.broadcast .empty-state p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){:root{scrollbar-color:auto}.rank,.button,.panel,.nav-item.active{border:1px solid CanvasText}}

/* OpenBEAM wordmarks use text, with no event-logo image dependency. */
.event-wordmark{font-family:"Segoe UI",sans-serif;font-size:42px;font-weight:800;letter-spacing:-2px;line-height:1.2;white-space:nowrap}.event-wordmark span,.brand-accent{color:#79e4cb}.brand{font-size:24px;letter-spacing:-.7px;padding-inline:4px}.brand small{letter-spacing:0}.footer-wordmark{font:700 16px "Segoe UI",sans-serif;color:var(--accent);letter-spacing:-.5px}.sponsor-end{letter-spacing:-.5px}.brand-symbol,.event-logo{display:none}@media(max-width:650px){.event-wordmark{font-size:30px}.brand{font-size:21px}.broadcast-header{gap:18px}.broadcast-title h1{font-size:21px}}

/* Shared broadcast layout: ten readable rows on a desktop presentation screen. */
.board-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#bac8da;font-size:12px}
.page-controls{display:flex;align-items:center;gap:8px}
.page-controls .button{min-height:32px;padding:5px 11px}
@media(min-width:900px) and (min-height:620px){
  .broadcast{height:100dvh;min-height:0;overflow:hidden}
  .broadcast-header{height:82px;min-height:82px;padding:10px 3vw;gap:25px;flex-wrap:nowrap}
  .broadcast-header .event-logo{width:225px;padding:7px 12px}
  .broadcast-header .event-logo img{height:45px}
  .broadcast-header .event-wordmark{font-size:36px}
  .broadcast-title h1{font-size:27px}
  .broadcast-title p{font-size:11px;margin-top:0}
  .broadcast-tools{gap:5px;flex-direction:column;width:auto;align-items:flex-end}
  .broadcast-content{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:12px 3vw}
  .board-heading{flex:0 0 28px;min-height:28px;margin:0}
  .board-heading h2{font-size:19px}
  .board-heading>span{font-size:12px}
  .broadcast .table-wrap{flex:1;min-height:0;overflow:auto}
  .broadcast table{height:auto;line-height:1.2;min-width:650px}
  .broadcast.many-results table{height:100%}
  .broadcast thead th{height:34px;padding:7px 14px;font-size:12px;line-height:1.2}
  .broadcast thead .time-cell{font-size:12px}
  .broadcast tbody td,.broadcast tbody th{padding:4px 14px;line-height:1.2}
  .broadcast:not(.many-results) tbody tr{height:clamp(42px,6vh,72px)}
  .broadcast .team-cell{font-size:clamp(16px,2vh,25px);min-width:200px;max-width:500px}
  .broadcast .time-cell{font-size:clamp(18px,2.2vh,28px)}
  .broadcast .team-cell small{display:none}
  .broadcast .rank{width:27px;height:27px;font-size:16px}
  .broadcast .rank-cell{width:68px}
  .board-pagination{flex:0 0 34px;min-height:34px}
  .board-foot{flex:0 0 19px;min-height:19px;padding:0;font-size:10px;line-height:1.5}
  .sponsors{height:62px;min-height:62px;gap:28px;padding:6px 3vw;flex-wrap:nowrap}
  .sponsors img{height:47px;width:112px}
  .sponsors i{height:30px}
  .sponsors>span:first-child{font-size:10px;width:auto}
  .sponsor-end{font-size:15px}
}
@media(max-width:899px),(max-height:619px){
  .board-pagination{flex-wrap:wrap;justify-content:center;text-align:center;margin-top:12px}
  .page-controls{flex-wrap:wrap;justify-content:center}
  .page-controls .button{min-height:38px}
}

@media(min-width:900px) and (min-height:620px){.display-team-name{display:block;max-width:clamp(180px,34vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

@media(min-width:900px) and (min-height:620px) and (max-height:680px){
 .broadcast tbody td,.broadcast tbody th{padding:3px 12px}
 .broadcast .rank{height:22px;width:22px;font-size:14px}
 .broadcast thead th{height:30px;padding:5px 12px}
}

/* Event settings share the timing desk's fields, panels and feedback. */
.settings-content{max-width:1200px;padding-bottom:24px}.settings-panel{margin-bottom:22px}.settings-panel-body{padding:24px}.settings-panel-body>input[type=text]{max-width:650px}.settings-help{font-size:12px;color:var(--muted);margin-bottom:18px}.settings-login{padding:24px;margin-bottom:22px}.settings-login>p{font-size:12px;color:var(--muted);margin:7px 0 18px}.settings-login form{max-width:550px}.logo-editor{display:flex;align-items:center;gap:24px;margin-top:24px}.logo-preview{height:120px;width:210px;flex-shrink:0;background:#f4f6f9;border:1px dashed #bdc9d5;border-radius:9px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;color:var(--muted)}.logo-preview img{width:100%;height:100%;padding:14px;object-fit:contain}.logo-preview small{font-size:10px}.logo-actions{flex:1;min-width:0}.logo-actions .text-button{padding:5px 0;margin:5px 0}.logo-actions input[type=file]{font-size:12px;height:auto;min-height:44px}.theme-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-choice{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;margin:0;cursor:pointer;font-size:12px}.theme-choice:has(input:checked){border-color:var(--event-primary);box-shadow:0 0 0 1px var(--event-primary);background:var(--event-soft)}.theme-choice input{width:17px;height:17px;min-width:17px;accent-color:var(--event-primary);padding:0}.theme-swatch{display:block;width:35px;height:30px;border:1px solid #a9b6c4;border-radius:6px;background:linear-gradient(135deg,#102b36 50%,#79e4cb 50%)}[data-theme=orange] .theme-swatch{background:linear-gradient(135deg,#101d32 50%,#ffb17c 50%)}[data-theme=blue] .theme-swatch{background:linear-gradient(135deg,#11243e 50%,#97caff 50%)}[data-theme=purple] .theme-swatch{background:linear-gradient(135deg,#251c3d 50%,#d4b3ff 50%)}[data-theme=red] .theme-swatch{background:linear-gradient(135deg,#321e29 50%,#ffb4c4 50%)}[data-theme=slate] .theme-swatch{background:linear-gradient(135deg,#202a35 50%,#c8d7e7 50%)}.sponsor-editor{display:flex;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.sponsor-editor:first-child{padding-top:0}.sponsor-editor>img{width:100px;height:65px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:5px}.sponsor-name{flex:1;min-width:0}.sponsor-name label{font-size:11px}.sponsor-name input{height:40px}.sponsor-row-actions{display:flex;gap:6px}.sponsor-row-actions .button{min-width:36px}.upload-label{margin-top:22px}.settings-empty{color:var(--muted);padding:20px 0;font-size:12px}.settings-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;box-shadow:0 -3px 16px #18253a08;z-index:2}.settings-savebar>span{font-size:12px;color:var(--muted)}.settings-savebar>div{display:flex;gap:10px}.settings-status{min-height:36px;padding:12px 0;font-size:13px}#settings-conflict .button{margin:8px 0 0 8px}.settings-panel-body input[type=file]::file-selector-button{font:inherit;border:1px solid #b8c3d0;background:#edf2f7;color:var(--ink);border-radius:4px;padding:4px 8px;margin-right:8px;cursor:pointer}
@media(max-width:850px){.sidebar nav{gap:2px}.sidebar .nav-item{padding:8px;font-size:11px}.theme-choices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.sidebar{gap:10px;flex-wrap:wrap}.sidebar nav{flex-wrap:wrap}.settings-panel-body,.settings-login{padding:18px}.logo-editor{flex-direction:column;align-items:flex-start;gap:16px}.logo-preview{width:100%}.logo-actions{width:100%}.theme-choice{padding:12px 9px;gap:7px;font-size:11px}.theme-swatch{width:26px;height:26px}.sponsor-editor{flex-wrap:wrap;gap:12px}.sponsor-editor>img{width:72px;height:57px}.sponsor-name{flex-basis:calc(100% - 90px)}.sponsor-row-actions{margin-left:auto}.settings-savebar{position:static;padding:16px;flex-direction:column;align-items:stretch}.settings-savebar>div{flex-direction:column}.settings-savebar .button{width:100%}}

.startup-error{max-width:720px;margin:10vh auto;padding:30px;background:#fff;border:1px solid var(--line);border-radius:12px}.startup-error h1{font-size:25px;margin-bottom:16px}.startup-error p{font-size:15px;margin:12px 0;color:var(--muted)}.startup-error .button{margin:12px 0}@media(max-width:760px){.startup-error{margin:30px 18px;padding:22px}}
.round-time-row{border:1px solid var(--border,#dce3ea);border-radius:10px;padding:16px;margin:14px 0;background:var(--surface,#fff)}
.round-time-row h3{font-size:16px;margin:0 0 10px}
.round-time-row .time-inputs input{height:58px;font-size:27px}
.round-time-row .saved-time{margin:8px 0 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-page{max-width:1080px;margin:0 auto;padding:52px 28px 70px}
.catalog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.catalog-header h1{font-size:34px;margin:7px 0 10px}.catalog-header p,.competition-card p{color:var(--muted);line-height:1.7}
.catalog-eyebrow{font-size:12px;font-weight:600;letter-spacing:.03em}
.catalog-create{padding:24px}.catalog-create h2{margin-bottom:18px}.catalog-page .form-message{margin:15px 0 22px}
.catalog-list-title{font-size:21px;margin:28px 0 18px}.competition-list{display:grid;gap:16px}
.competition-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px}
.competition-card h3{font-size:21px;margin-bottom:7px;overflow-wrap:anywhere}.competition-card p{font-size:13px}
.competition-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;max-width:55%}
@media(max-width:700px){.catalog-page{padding:25px 16px}.catalog-header{align-items:flex-start;flex-direction:column}.competition-card{align-items:stretch;flex-direction:column}.competition-card-actions{max-width:none;justify-content:flex-start}.catalog-create{padding:18px}.catalog-page .login-row{flex-wrap:wrap}.catalog-page .login-row input{min-width:0;flex-basis:65%}.catalog-page .login-row button{white-space:normal}.catalog-header h1{font-size:29px}}

.group-access-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.group-access-tabs button{flex:1}.group-access-tabs+form{max-width:550px}#group-access form{max-width:550px}#group-access form>input{margin-bottom:16px}#group-access form>button{margin-top:20px;width:100%}.cloud-footer{margin-top:40px;color:var(--muted);font-size:12px;line-height:1.8}.demo-banner{padding:10px 20px;background:#fff3cd;color:#513f00;text-align:center;font-size:13px}
