:root{--brand-primary:#00a3ff;--brand-secondary:#ff3d71;--surface:#0d1117;--surface-elevated:#151b25;--text-primary:#f5f8fb;--text-muted:#98a5b8;--score-home:#1d9bf0;--score-away:#ff4d6d;--success:#2bd576;--warning:#ffc857;--danger:#ff4d6d;--clock:#d6fb41;--accent-live:#ff244d;--border-radius:8px;--shadow-level:0 24px 80px #00000059}*{box-sizing:border-box}body{min-height:100vh;color:var(--text-primary);background:linear-gradient(135deg, #00a3ff29, transparent 28%), linear-gradient(315deg, #ff3d7124, transparent 34%), var(--surface);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;font:inherit;background:#243044;border:0;min-height:44px}button:disabled{cursor:not-allowed;opacity:.48}.shell{width:min(1440px,100%);margin:0 auto;padding:28px}.topbar,.overview,.panel,.overlay-preview{box-shadow:var(--shadow-level);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#151b25d1;border:1px solid #ffffff1a}.topbar{border-radius:var(--border-radius);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.eyebrow{color:var(--clock);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.6rem,4vw,3rem)}.status-pill{border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.status-pill-live{color:#ffb5c3;background:#ff244d2e}.overview{border-radius:var(--border-radius);grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px;margin-top:18px;padding:28px;display:grid}.overview-copy p:last-child{color:var(--text-muted);max-width:760px}.metric-grid,.module-grid,.workbench,.action-grid{gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric{border-left:3px solid var(--brand-primary);border-radius:var(--border-radius);background:#ffffff0d;padding:14px}.metric strong{font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:2rem;display:block}.metric span,.module-card span,.sync-line,.event-list em,.overlay-preview p{color:var(--text-muted)}.module-grid{grid-template-columns:repeat(4,1fr);margin:18px 0}.module-card{border-radius:var(--border-radius);background:#ffffff12;gap:8px;padding:18px;display:grid}.module-card svg{color:var(--brand-primary)}.workbench{grid-template-columns:.9fr 1.3fr .8fr;align-items:stretch}.panel,.overlay-preview{border-radius:var(--border-radius);padding:20px}.panel-header,.score-header,.sync-line,.broadcast-bar,.event-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline{gap:16px;display:grid}.step{color:var(--text-muted);align-items:center;gap:10px;display:flex}.step span{background:#334155;border-radius:50%;width:12px;height:12px}.step-done span{background:var(--success)}.step-active{color:var(--text-primary)}.step-active span{background:var(--clock)}.score-header strong,.team strong,.broadcast-bar strong{font-family:Cascadia Mono,SFMono-Regular,monospace}.score-header strong{color:var(--clock);font-size:2.25rem}.score-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:22px 0;display:grid}.team{border-radius:var(--border-radius);background:#0000002e;border-top:4px solid;min-width:0;padding:16px}.team span{color:var(--text-muted);font-size:.8rem}.team h3{min-height:48px;margin-bottom:10px;font-size:1.2rem}.team strong{font-size:clamp(3rem,9vw,5.4rem);line-height:.95;display:block}.versus{color:var(--text-muted);font-weight:900}.action-grid{grid-template-columns:repeat(4,1fr)}.action-grid button{font-weight:900}.action-grid .danger{color:#ffbdca;background:#ff4d6d38}.icon-button{place-items:center;width:44px;padding:0;display:inline-grid}.event-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.event-list li{border-bottom:1px solid #ffffff14;padding:10px 0}.event-list span,.event-list b{font-family:Cascadia Mono,SFMono-Regular,monospace}.overlay-preview{background-color:#00000038;background-image:linear-gradient(45deg,#ffffff0d 25%,#0000 25%),linear-gradient(-45deg,#ffffff0d 25%,#0000 25%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-column:1/-1;min-height:180px}.broadcast-bar{border-radius:var(--border-radius);background:linear-gradient(90deg,#08111f,#172033,#08111f);width:min(880px,100%);margin:26px auto 18px;padding:12px 16px}.broadcast-bar strong{color:var(--clock);font-size:2rem}.broadcast-bar small{color:var(--text-muted);font-weight:900}.overlay-preview p{text-align:center}.public-shell{width:min(1500px,100%)}.public-nav-actions{align-items:center;gap:10px;display:flex}.public-overview{grid-template-columns:minmax(0,1fr) minmax(320px,.52fr)}.public-empty,.public-tournament,.public-panel{border-radius:var(--border-radius);box-shadow:var(--shadow-level);background:#151b25d6;border:1px solid #ffffff1a}.public-empty{color:var(--text-muted);margin-top:18px;padding:22px;font-weight:800}.public-tournament-list{gap:18px;margin-top:18px;display:grid}.public-tournament{padding:18px}.public-tournament-header,.public-panel-title,.public-contest-meta,.public-contest-footer,.public-team-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.public-tournament-header h2{margin-bottom:10px}.public-tournament-header svg,.public-panel-title svg{color:var(--clock);flex:none}.public-tags{flex-wrap:wrap;gap:8px;display:flex}.public-tags span{border-radius:var(--border-radius);color:var(--text-muted);text-transform:capitalize;background:#ffffff0f;border:1px solid #ffffff1f;padding:6px 9px;font-size:.78rem;font-weight:800}.public-board-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.74fr);gap:14px;margin-top:16px;display:grid}.public-panel{padding:14px}.public-panel-title{justify-content:flex-start;margin-bottom:12px}.public-panel-title h3{margin:0}.public-score-list,.public-bracket,.public-stage{gap:10px;display:grid}.public-contest-card{border-radius:var(--border-radius);background:#0003;padding:12px}.public-contest-meta span,.public-contest-footer,.public-muted{color:var(--text-muted)}.public-contest-meta b,.public-matchup strong,.public-team-line strong{font-family:Cascadia Mono,SFMono-Regular,monospace}.public-matchup{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:12px 0;display:grid}.public-matchup>strong{color:var(--clock);font-size:1.25rem}.public-team-line{border-radius:var(--border-radius);background:#ffffff0d;min-width:0;padding:10px}.public-team-line span{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.public-team-line strong{color:var(--clock);font-size:1.7rem}.public-contest-footer{text-transform:capitalize;flex-wrap:wrap;font-size:.82rem}.public-stage-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.public-stage-heading span{color:var(--text-muted);text-transform:capitalize;font-size:.78rem;font-weight:800}.public-bracket-scroll{padding:4px 4px 12px;overflow-x:auto}.public-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.public-group-table,.public-field-table{border-radius:var(--border-radius);background:#0000002e;border:1px solid #ffffff14;overflow:hidden}.public-group-table h4{color:#9fcaff;text-transform:uppercase;margin:0;padding:10px 12px;font-size:.78rem}.public-group-table table,.public-field-table table{border-collapse:collapse;width:100%;font-size:.8rem}.public-group-table th,.public-group-table td,.public-field-table th,.public-field-table td{text-align:left;border-top:1px solid #ffffff12;padding:8px 9px}.public-group-table th,.public-field-table th{color:var(--text-muted);text-transform:uppercase;font-size:.7rem}.public-group-table td:not(:first-child),.public-field-table td:first-child{color:var(--clock);font-family:Cascadia Mono,SFMono-Regular,monospace;font-weight:900}.public-bracket-columns{grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;gap:44px;min-width:max-content;display:grid}.public-bracket-column{align-content:start;gap:18px;min-width:190px;display:grid}.public-bracket-column h4{color:#9fcaff;text-align:center;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.public-bracket-matches{align-content:space-around;gap:18px;min-height:100%;display:grid}.public-bracket-column:nth-child(2) .public-bracket-matches{padding-top:42px}.public-bracket-column:nth-child(3) .public-bracket-matches{padding-top:96px}.public-bracket-match{border-radius:var(--border-radius);background:#121d2feb;border:1px solid #ffffff1a;gap:0;min-height:68px;display:grid;position:relative}.public-bracket-columns-linked .public-bracket-column:not(:last-child) .public-bracket-match:after{content:"";border-top:2px solid #7892ba6b;width:28px;position:absolute;top:50%;right:-28px}.public-bracket-columns-linked .public-bracket-column:not(:first-child) .public-bracket-match:before{content:"";border-top:2px solid #7892ba6b;width:22px;position:absolute;top:50%;left:-22px}.public-bracket-team{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:8px 10px;display:grid}.public-bracket-team+.public-bracket-team{border-top:1px solid #ffffff14}.public-bracket-team span{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;overflow:hidden}.public-bracket-team strong{color:var(--text-muted);font-family:Cascadia Mono,SFMono-Regular,monospace}.public-bracket-team-winner span,.public-bracket-team-winner strong{color:var(--clock)}.public-bracket-match-completed{border-color:#2bd57647}.public-bracket-match-in_progress{border-color:#ff244d57}.public-bracket-field{color:var(--text-muted);border-top:1px solid #ffffff14;padding:7px 10px;font-size:.74rem;font-weight:800}@media (max-width:980px){.overview,.workbench,.module-grid,.public-overview,.public-board-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-groups-grid{grid-template-columns:1fr}}@media (max-width:640px){.shell{padding:14px}.topbar,.score-row,.broadcast-bar{flex-direction:column;align-items:stretch}.score-row,.action-grid,.metric-grid{grid-template-columns:1fr}}.admin-shell{width:min(1280px,100%);min-height:100vh;margin:0 auto;padding:28px}.login-shell{place-items:center;display:grid}.login-panel,.admin-card,.admin-topbar{border-radius:var(--border-radius);box-shadow:var(--shadow-level);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#151b25db;border:1px solid #ffffff1a}.login-panel{grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);gap:28px;width:min(920px,100%);padding:28px;display:grid}.login-panel p,.admin-card p{color:var(--text-muted)}.admin-form{gap:14px;display:grid}.admin-form label{color:var(--text-muted);gap:7px;font-size:.88rem;font-weight:700;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border-radius:var(--border-radius);width:100%;color:var(--text-primary);font:inherit;background:#00000038;border:1px solid #ffffff24}.admin-form input,.admin-form select{min-height:44px;padding:0 12px}.admin-form textarea{resize:vertical;min-height:160px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.5}.admin-form button,.ghost-button{justify-content:center;align-items:center;gap:8px;font-weight:900;display:inline-flex}.admin-form button{background:linear-gradient(90deg, var(--brand-primary), #2bd576);color:#07111f}.form-error{color:#ffbdca;margin:0}.admin-topbar{justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.ghost-button{background:#ffffff0f;border:1px solid #ffffff1f;padding:0 14px}.selected-button{background:#2bd57624;border-color:#2bd5766b}.admin-grid,.admin-workbench{gap:14px;margin-top:18px;display:grid}.admin-grid{grid-template-columns:repeat(5,1fr)}.module-enabled{border:1px solid #2bd5763d}.module-disabled{opacity:.52}.admin-workbench{grid-template-columns:minmax(0,1.2fr) minmax(320px,.6fr)}.admin-layout{grid-template-columns:240px minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.admin-menu{border-radius:var(--border-radius);background:#151b25b8;border:1px solid #ffffff1a;align-content:start;gap:8px;padding:10px;display:grid}.menu-button{width:100%;color:var(--text-muted);background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:10px;padding:0 12px;font-weight:800;display:flex}.menu-button-active{color:var(--text-primary);background:#2bd5761f;border-color:#2bd57647}.menu-button:disabled{cursor:not-allowed;opacity:.42}.admin-content{min-width:0}.admin-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-card{padding:20px}.wide-card{grid-column:1/-1}.card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.user-list{gap:10px;display:grid}.catalog-list{gap:10px;margin-top:18px;display:grid}.catalog-row,.catalog-edit{border-top:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:12px;display:grid}.catalog-row div:first-child{gap:3px;display:grid}.catalog-row span{color:var(--text-muted);font-size:.84rem}.catalog-edit{grid-column:1/-1;grid-template-columns:minmax(84px,.34fr) minmax(140px,1fr) 42px 42px}.catalog-edit input,.catalog-edit select{border-radius:var(--border-radius);min-height:40px;color:var(--text-primary);background:#00000038;border:1px solid #ffffff24;padding:0 10px}.row-actions{gap:8px;display:flex}.row-actions button,.catalog-edit button{width:42px;min-height:40px;padding:0}.danger-card{border-color:#ff4d6d57}.dependency-list{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.dependency-list span{border-radius:var(--border-radius);color:var(--text-muted);background:#ffffff0f;border:1px solid #ffffff1f;padding:7px 10px;font-size:.86rem;font-weight:800}.rules-editor{grid-template-columns:minmax(240px,.48fr) minmax(0,1fr);gap:16px;display:grid}.user-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.user-row div{gap:4px;display:grid}.user-row span{color:var(--text-muted)}.user-row b{color:var(--clock);text-align:right}.visual-rule-editor,.rule-panel{border-radius:var(--border-radius);background:#ffffff0a;border:1px solid #ffffff1a;gap:12px;padding:12px;display:grid}.rule-field-grid,.rule-row{gap:10px;display:grid}.rule-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rule-row{grid-template-columns:repeat(6,minmax(90px,1fr)) 44px;align-items:end}.operator-shell{width:min(1500px,100%);min-height:100vh;margin:0 auto;padding:20px}.operator-topbar,.operator-card{border-radius:var(--border-radius);box-shadow:var(--shadow-level);background:#151b25e0;border:1px solid #ffffff1a;padding:18px}.operator-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.operator-grid{grid-template-columns:minmax(260px,.55fr) minmax(0,1.35fr) minmax(260px,.55fr);gap:14px;margin-top:14px;display:grid}.operator-select{border-radius:var(--border-radius);width:100%;min-height:48px;color:var(--text-primary);background:#0000003d;border:1px solid #ffffff24;padding:0 12px}.operator-meta{gap:8px;margin-top:14px;display:grid}.operator-meta span{color:var(--text-muted)}.operator-control-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.operator-control-list span{border-radius:var(--border-radius);color:var(--text-muted);text-transform:capitalize;background:#ffffff0f;border:1px solid #ffffff1f;padding:7px 10px;font-size:.82rem;font-weight:800}.clock-panel{justify-content:space-between;align-items:center;gap:14px;display:flex}.clock-panel strong{color:var(--clock);font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:4rem;line-height:1}.timeout-panel{border-radius:var(--border-radius);background:#ffc8571a;border:1px solid #ffc85747;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px;display:flex}.timeout-panel strong{color:var(--warning);font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:2rem;line-height:1;display:block}.timeout-panel span{color:var(--text-muted);font-weight:800}.timeout-panel button{padding:0 14px;font-weight:900}.possession-panel{border-radius:var(--border-radius);background:#00a3ff1a;border:1px solid #00a3ff47;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.possession-panel span{color:var(--text-muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.possession-panel strong{color:var(--clock);text-align:right;font-size:.95rem}.period-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.period-controls button{gap:4px;min-height:58px;padding:8px;font-weight:900;display:grid}.period-controls span{color:var(--clock);font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:.82rem}.operator-score-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin:22px 0;display:grid}.operator-score-row>span{color:var(--text-muted);font-weight:900}.operator-team{border-radius:var(--border-radius);background:#00000038;gap:8px;padding:18px;display:grid}.operator-team span{min-height:52px;color:var(--text-muted);font-weight:900}.operator-team strong{font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:6rem;line-height:.95}.operator-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.operator-common-actions{border-top:1px solid #ffffff14;gap:10px;margin-top:16px;padding-top:14px;display:grid}.field-console{gap:16px;margin-top:18px;display:grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.field-grid button{text-align:left;gap:4px;min-height:64px;padding:10px;font-weight:900;display:grid}.field-grid span{color:var(--clock);font-family:Cascadia Mono,SFMono-Regular,monospace;font-size:.82rem}.operator-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.operator-button-grid button{min-height:72px;padding:10px;font-weight:900;display:grid}.operator-button-grid span{color:var(--clock);font-family:Cascadia Mono,SFMono-Regular,monospace}.operator-finish-panel{border-top-color:#ff4d6d38}.danger-button{color:#ffbdca;background:#ff4d6d3d;width:100%;font-weight:900}@media (max-width:980px){.login-panel,.admin-grid,.admin-workbench,.admin-layout,.admin-section-grid,.rules-editor{grid-template-columns:1fr}.catalog-edit{grid-template-columns:1fr 1fr}.rule-field-grid,.rule-row,.operator-grid,.operator-actions,.operator-score-row,.field-grid{grid-template-columns:1fr}.period-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px) and (orientation:landscape){.operator-shell{width:100%;padding:8px}.operator-topbar{padding:8px 10px}.operator-topbar h1{font-size:1rem}.operator-grid{grid-template-columns:minmax(180px,.5fr) minmax(360px,1.25fr) minmax(170px,.45fr);gap:8px;margin-top:8px}.operator-card{padding:10px}.operator-select{min-height:38px;font-size:.8rem}.operator-meta,.operator-control-list{gap:5px;margin-top:8px}.operator-control-list span{padding:4px 6px;font-size:.68rem}.clock-panel strong{font-size:2.55rem}.row-actions{gap:5px}.row-actions button{width:36px;min-height:34px}.timeout-panel,.possession-panel{margin-top:6px;padding:7px 8px}.timeout-panel strong{font-size:1.3rem}.period-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.period-controls button{min-height:42px;padding:5px;font-size:.74rem}.operator-score-row{gap:8px;margin:10px 0}.operator-team{gap:4px;padding:9px}.operator-team span{min-height:30px;font-size:.78rem}.operator-team strong{font-size:3.2rem}.operator-actions{gap:8px}.operator-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.operator-button-grid button{min-height:48px;padding:6px;font-size:.78rem}.operator-button-grid span{font-size:.72rem}.operator-common-actions{gap:6px;margin-top:8px;padding-top:8px}.operator-common-actions h3,.field-console h3{margin-bottom:4px;font-size:.95rem}.event-list{gap:4px;font-size:.72rem}.event-list li{align-items:start;gap:2px;padding:5px 0;display:grid}}@media (max-width:640px) and (orientation:portrait){.operator-shell{padding:10px}.operator-topbar,.clock-panel,.timeout-panel{flex-direction:column;align-items:stretch}.clock-panel strong{font-size:3rem}.operator-card{padding:12px}.operator-team strong{font-size:4rem}.operator-button-grid button{min-height:58px}}
