:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;font-optical-sizing:auto;color:#f5f5f7;background:#000;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}::selection{background:#007aff59;color:#fff}body{margin:0;min-width:1100px;background:#000}button,input,select{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.sidebar{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid rgba(255,255,255,.06);padding:28px 16px;background:#1c1c1eb8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}.brand{font-size:22px;font-weight:700;letter-spacing:1.5px;margin-bottom:32px;padding:0 12px}.brand span{color:#007aff}.sidebar nav{display:grid;gap:4px}.sidebar a{color:#86868b;text-decoration:none;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;transition:background .2s ease,color .2s ease}.sidebar a:hover{background:#ffffff14;color:#f5f5f7}.sidebar a.active{background:#007aff26;color:#007aff}.content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:48px;max-width:1600px;width:100%}.page-header,.meeting-header,.card-top{display:flex;align-items:center;justify-content:space-between}.page-header h1,.meeting-header h1{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:2px 0 24px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#007aff;margin:0}.panel,.meeting-card{background:#1c1c1ebf;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:20px 24px}.create-grid{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end;margin-bottom:24px}.create-grid h2{grid-column:1/-1;margin:0 0 6px;font-weight:600}.input-with-button{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}.input-with-button input{width:100%}.input-with-button button{display:inline-flex;align-items:center;justify-content:center}.compact-form{display:grid;gap:10px;margin-bottom:18px}.compact-form h2{margin:0 0 4px;font-weight:600}input,select{background:#1c1c1ee6;color:#f5f5f7;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;outline:none}input:focus,select:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff33}button,a.button{display:inline-flex;align-items:center;justify-content:center;background:#007aff;color:#fff;border:0;border-radius:8px;padding:10px 20px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s ease,transform .1s ease-out;text-decoration:none;box-sizing:border-box}button:hover,a.button:hover{background:#0a84ff}button:active,a.button:active{transform:scale(.97)}button.secondary,a.button.secondary{background:#ffffff1a;color:#f5f5f7}button.secondary:hover,a.button.secondary:hover{background:#ffffff26}.danger{background:#ff453a33;color:#ff453a}.danger:hover{background:#ff453a4d}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.meeting-card{color:#f5f5f7;text-decoration:none;transition:background .2s ease,transform .15s ease-out}.meeting-card:hover{background:#2c2c2ed9;transform:translateY(-2px)}.meeting-card.next-scheduled-meeting{border-color:#0a84ffd1;background:linear-gradient(145deg,#0a84ff2e,#1c1c1eeb);box-shadow:0 0 0 1px #0a84ff2e,0 12px 28px #00000047}.next-meeting-label{display:inline-flex;width:max-content;margin:-4px 0 6px;padding:3px 7px;border-radius:5px;background:#0a84ff33;color:#64d2ff;font-size:10px;font-weight:700}.meetings-sort-hint{margin:-8px 0 16px;color:#86868b;font-size:12px}.meeting-card h3{font-size:20px;font-weight:600}.series-score{display:flex;justify-content:space-between;align-items:center;color:#86868b}.series-score strong{font-size:28px;color:#f5f5f7}.status{display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 10px;border-radius:999px;background:#ffffff14;color:#86868b}.status-live,.status-running,.status-resolved,.status-online,.status-confirmed,.status-roster_match{background:#30d15826;color:#30d158}.status-between_games,.status-finalizing,.status-partial,.status-needs_confirmation,.status-needs_team_confirmation,.status-waiting_lobby,.status-agent_select,.status-pregame,.status-drafting,.status-pending{background:#ff9f0a26;color:#ff9f0a}.status-finished,.status-scheduled{background:#007aff26;color:#64d2ff}.status-offline,.status-cancelled,.status-aborted,.status-empty{background:#ff453a26;color:#ff453a}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.list-panel{display:grid;gap:4px}.list-panel button{display:flex;gap:16px;background:#ffffff0a;text-align:left;border-radius:10px}.list-panel button:hover{background:#ffffff14}.list-panel button.selected{outline:2px solid #007AFF;background:#007aff1a}.broadcast-clients{display:grid;gap:18px}.broadcast-clients h2{margin:0 0 6px}.broadcast-clients .notice,.broadcast-clients .error{margin:0}.client-choice-list{display:grid;gap:8px}.client-choice-list label{display:grid;grid-template-columns:auto minmax(220px,1fr) auto minmax(220px,auto);align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;background:#ffffff06}.client-choice-list label.selected{border-color:#007affb3;background:#007aff1a}.client-choice-list label>span:nth-child(2){display:grid;gap:3px}.client-choice-list input{width:18px;height:18px;accent-color:#007AFF}.client-choice-list small{color:#86868b}.worker-health-name{display:grid;gap:4px}.worker-health-name small{color:#86868b;font-size:11px}.game-remake-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0}.game-remake-action>div{display:grid;gap:4px}.game-remake-action small{color:#86868b}.roster-list>div,.device-row,.player-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.roster-list div div{display:grid}.roster-list small,.player-row code{color:#6e6e73;font-size:11px}.team-profile-panel{padding:0;overflow:visible}.team-profile-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid rgba(255,255,255,.07)}.team-identity{display:flex;align-items:center;gap:16px;min-width:0}.team-identity h2{margin:5px 0 3px;font-size:24px;line-height:1.15}.team-identity small{color:#6e6e73}.team-identity small.team-asset-source{display:block;margin-top:2px;color:#30d158}.team-tag{display:inline-flex;padding:3px 8px;border-radius:6px;background:#007aff21;color:#64d2ff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.team-logo-fallback,.player-avatar{display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,#007aff2e,#5e5ce61f);color:#f5f5f7;font-weight:700}.team-logo-fallback{width:48px;height:48px;border-radius:12px}.compact-settings-button{padding:9px 13px;white-space:nowrap}.roster-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 7px}.roster-heading h3{margin:0;font-size:13px;color:#aeaeb2}.compact-roster-list{padding:0 24px}.compact-roster-list>.roster-player-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:13px 0}.player-avatar{width:38px;height:38px;border-radius:50%;font-size:13px}.roster-player-info,.player-info{display:grid;gap:3px;min-width:0}.roster-player-info b,.player-info b{font-size:14px}.roster-player-info small,.player-info small{color:#86868b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-action-trigger{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:7px;background:#ffffff12;color:#aeaeb2;cursor:pointer;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;list-style:none;-webkit-user-select:none;user-select:none}.row-action-trigger:hover,.row-action-trigger[aria-expanded=true]{background:#ffffff1f;color:#fff}.row-action-popover{position:fixed;z-index:1000;display:grid;gap:4px;width:200px;padding:5px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#2c2c2e;box-shadow:0 12px 32px #00000073}.row-action-popover button{width:100%;padding:7px 9px;background:transparent;font-size:12px;text-align:left;white-space:nowrap}.row-action-popover button:hover{background:#ffffff14}.row-action-popover button.danger{color:#ff6961}.roster-add-panel{display:grid;grid-template-columns:minmax(155px,.8fr) minmax(190px,1.2fr) auto;align-items:end;gap:12px;margin:18px 24px 24px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#ffffff06}.roster-add-copy{display:grid;gap:3px}.roster-add-copy b{font-size:13px}.roster-add-copy small{color:#6e6e73;font-size:11px;line-height:1.3}.roster-add-panel select,.compact-new-player-button{height:36px;padding:0 11px;font-size:12px}.roster-add-panel select{width:100%}.compact-new-player-button{white-space:nowrap}.empty{padding:40px;text-align:center;color:#6e6e73}.error,.warning,.notice,.token-box{padding:14px 18px;border-radius:10px;margin-bottom:18px}.error{background:#ff453a1f;color:#ff6961}.warning{background:#ff9f0a1f;color:#ffd60a}.notice{display:flex;gap:12px;background:#007aff14;color:#86868b}.token-box{display:grid;gap:10px;background:#30d1581a;border:1px solid rgba(48,209,88,.2)}.token-box code{-webkit-user-select:all;user-select:all;color:#30d158;font-family:SF Mono,ui-monospace,monospace}.table{display:grid}.table>div{display:grid;grid-template-columns:1.5fr 1fr 1fr 2fr;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.back{color:#007aff;text-decoration:none;font-size:14px;font-weight:500;transition:opacity .2s ease}.back:hover{opacity:.7}.tabs{display:flex;gap:4px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:24px}.tabs button{background:transparent;color:#6e6e73;border-radius:0;padding:10px 16px;font-weight:500;border-bottom:2px solid transparent;transition:color .2s ease}.tabs button:hover{color:#86868b}.tabs button:active{transform:none}.tabs button.active{color:#007aff;border-bottom-color:#007aff}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hero-score{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}.hero-score div{display:grid}.hero-score strong{font-size:48px;font-weight:700;letter-spacing:-.02em}.metric{display:grid;gap:10px}.metric small,.graphic-card small{color:#86868b;font-size:12px}.metric b{font-size:18px;font-weight:600}.side-verification{display:grid;gap:16px;margin-bottom:24px;border:1px solid rgba(255,255,255,.1)}.side-verification-ok{border-color:#30d1586b}.side-verification-error{border-color:#ff453a8c}.side-verification-waiting{border-color:#ff9f0a6b}.side-verification-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.side-verification-head small{color:#86868b;font-size:12px}.side-verification-head h2{margin:4px 0 0;font-size:20px}.side-verification-badge{padding:7px 11px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:700}.side-verification-badge.ok{color:#30d158;background:#30d1581f}.side-verification-badge.error{color:#ff453a;background:#ff453a1f}.side-verification-badge.waiting{color:#ff9f0a;background:#ff9f0a1f}.side-verification-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.side-verification-teams>div{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:12px 14px;border-radius:10px;background:#ffffff09}.side-verification-teams span{color:#86868b;font-size:13px;grid-column:1}.side-verification-teams strong{grid-column:2;grid-row:1 / span 2;color:#ff9f0a;font-size:16px}.side-verification-teams .done strong{color:#30d158}.side-verification-fixes{display:grid;gap:8px;margin:0;padding:0;list-style:none}.side-verification-fixes li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:10px 14px;border-radius:10px;background:#ff453a14}.side-verification-fixes span{color:#c7c7cc}.side-verification p{margin:0;color:#86868b}.live-data{grid-column:1/-1}.live-data pre,.event-log pre{max-height:350px;overflow:auto;background:#00000080;padding:14px;border-radius:8px;color:#30d158;font-family:SF Mono,ui-monospace,monospace;font-size:12px;line-height:1.5}.lobby-team h2{font-size:17px;font-weight:600}.player-row span{color:#6e6e73}.player-row b{margin-right:auto}.graphics-grid{grid-template-columns:repeat(2,1fr)}.graphic-card{display:grid;gap:14px}.graphic-card h2{margin:2px 0;font-weight:600}.toggle{display:flex;gap:10px;align-items:center}.toggle input{display:none}.toggle span{width:51px;height:31px;background:#ffffff1a;border-radius:16px;position:relative;transition:background .25s ease}.toggle span:after{content:"";position:absolute;width:27px;height:27px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0000004d;transition:left .25s ease}.toggle input:checked+span{background:#30d158}.toggle input:checked+span:after{left:22px}.button-row{display:flex;gap:8px}.success{color:#30d158!important}.games-panel{display:grid}.games-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}.games-head h2{margin:0;font-size:18px}.game-row{display:grid;grid-template-columns:90px minmax(80px,1fr) 130px minmax(220px,2.2fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.game-row:last-child{border-bottom:0}.game-row-map{color:#c7c7cc}.game-row a.button{text-decoration:none;padding:6px 12px;font-size:13px;text-align:center}.game-row-actions{display:flex;justify-content:flex-end;gap:8px}.game-row-actions button{padding:6px 12px;font-size:13px}.game-row-actions{flex-wrap:wrap;align-items:center}.game-replay{display:inline-flex;align-items:center;gap:8px}.game-replay-error{color:#ff6961;font-size:12px;max-width:260px}.game-row-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#86868b}.game-row-score>span:first-child{text-align:right}.game-row-score b{color:#f5f5f7;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.game-row-score .winner{color:#f5f5f7;font-weight:600}@media(max-width:900px){.game-row{grid-template-columns:1fr auto}.game-row-score{grid-column:1 / -1}}.event-log details{border-bottom:1px solid rgba(255,255,255,.06);padding:12px 0}.event-log summary{display:grid;grid-template-columns:100px 1fr 2fr;cursor:pointer;padding:4px 0}.event-log time{color:#6e6e73;font-size:12px}.loading{padding:60px;text-align:center;color:#86868b}@media(max-width:1200px){.card-grid{grid-template-columns:repeat(2,1fr)}.content{padding:28px}}@media(max-width:720px){.side-verification-head{align-items:flex-start;flex-direction:column}.side-verification-teams{grid-template-columns:1fr}}.party-details{display:grid;gap:18px}.party-details h2,.party-details h3{margin:2px 0;font-weight:600}.party-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.party-setting{display:grid;align-content:start;gap:6px;min-width:0;padding:12px 14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff09}.party-setting small{color:#86868b}.party-setting b,.party-setting code{overflow-wrap:anywhere}.party-setting code{color:#d1d1d6;font-family:SF Mono,ui-monospace,monospace}.party-map-setting{grid-column:span 2}.party-map-check{width:max-content;max-width:100%;padding:3px 8px;border-radius:999px;background:#ffffff14;color:#86868b;font-size:11px}.party-map-match{background:#30d15826;color:#30d158}.party-map-mismatch{background:#ff453a26;color:#ff6961}.party-code-setting{grid-column:span 2}.party-code{width:max-content;max-width:100%;padding:5px 8px;border-radius:6px;background:#ffffff14;filter:blur(6px);cursor:help;-webkit-user-select:none;user-select:none;transition:filter .15s ease}.party-code:hover,.party-code:focus{filter:none;-webkit-user-select:text;user-select:text;outline:1px solid rgba(0,122,255,.7)}.party-rules{display:grid;gap:10px}.party-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.party-rules-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:#ffffff0a}.party-rules-grid code{overflow-wrap:anywhere;color:#aeaeb2;font-size:11px}.party-rule-on{color:#30d158}.party-rule-off{color:#ff6961}@media(max-width:1200px){.party-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.party-settings-grid,.party-rules-grid{grid-template-columns:1fr}.party-map-setting,.party-code-setting{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}button:active,.meeting-card:hover{transform:none!important}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#1c1c1e;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;width:100%;max-width:520px;box-shadow:0 20px 40px #0009;display:grid;gap:16px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{background:transparent;border:0;color:#86868b;font-size:20px;padding:4px 8px;cursor:pointer}.modal-close:hover{color:#f5f5f7}.search-input{width:100%;margin-bottom:16px}.header-actions{display:flex;gap:12px;align-items:center}.player-card-grid{display:grid;gap:12px}.player-card-item{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px}.player-card-item .player-info{flex:1}.player-info{display:grid;gap:4px}.player-info b{font-size:16px}.player-team-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:#007aff26;color:#64d2ff;margin-left:8px}.team-logo{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#ffffff0f;flex-shrink:0}.team-logo-header{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#ffffff0f;flex-shrink:0}.team-logo-preview{width:64px;height:64px;object-fit:contain;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0006;flex-shrink:0}.logo-picker-row{display:flex;align-items:center;gap:16px;margin:6px 0}.team-modal{max-width:860px;max-height:calc(100vh - 40px);overflow-y:auto}.team-logo-editor{display:grid;gap:10px;padding-top:4px}.existing-logos,.add-logo-form{padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.logo-section-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.logo-section-heading h3,.add-logo-form h3{margin:0 0 4px;font-size:15px}.logo-section-heading small{color:#86868b}.logo-edit-card,.saved-logo-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff08}.saved-logo-card.default{border-color:#30d15859;background:#30d1580d}.logo-edit-fields,.saved-logo-info{display:grid;gap:7px;min-width:0}.logo-edit-fields input{width:100%}.logo-file-input{position:absolute;width:1px!important;height:1px;padding:0!important;opacity:0;pointer-events:none}.logo-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:66px;padding:11px 12px;border:1px dashed rgba(255,255,255,.2);border-radius:10px;background:#ffffff06;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.logo-dropzone:hover,.logo-dropzone.dragging{border-color:#0a84ffc7;background:#0a84ff17;box-shadow:0 0 0 3px #0a84ff14}.logo-dropzone.dragging{transform:translateY(-1px)}.logo-dropzone.has-file{border-style:solid;border-color:#30d1584d;background:#30d1580b}.logo-upload-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#0a84ff24;color:#64a9ff;font-size:21px;line-height:1;font-weight:500}.logo-dropzone.has-file .logo-upload-icon{background:#30d15821;color:#30d158}.logo-upload-copy{display:grid;gap:3px;min-width:0}.logo-upload-copy b{overflow:hidden;color:#f5f5f7;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.logo-upload-copy small{color:#7d7d82;font-size:10px;line-height:1.3}.logo-upload-action{padding:7px 9px;border-radius:7px;background:#ffffff14;color:#d1d1d6;font-size:10px;font-weight:600;white-space:nowrap}.saved-logo-info>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.saved-logo-info code{color:#64d2ff;font-size:11px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.saved-logo-info small{color:#86868b}.logo-default-badge{padding:3px 7px;border-radius:999px;background:#30d15824;color:#30d158;font-size:10px;font-weight:600}.logo-card-actions{display:grid;justify-items:end;gap:8px}.logo-card-actions button{white-space:nowrap}.default-logo-choice{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;white-space:nowrap}.default-logo-choice input{width:16px;height:16px;padding:0;accent-color:#007aff}.team-logo-placeholder{display:grid;place-items:center;width:64px;height:64px;border:1px dashed rgba(255,255,255,.16);border-radius:10px;color:#636366;font-size:11px}.logo-empty-hint{margin:4px 0 8px}.team-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;border-top:1px solid rgba(255,69,58,.18)}.team-danger-zone>div{display:grid;gap:3px}.team-danger-zone b{color:#ff6961;font-size:13px}.team-danger-zone small{color:#6e6e73}.advanced-fields{border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#ffffff06}.advanced-fields summary{padding:11px 13px;color:#86868b;cursor:pointer;font-size:12px;font-weight:600}.advanced-fields[open] summary{border-bottom:1px solid rgba(255,255,255,.07)}.advanced-fields label{margin:10px 12px}@media(max-width:1250px){.roster-add-panel{grid-template-columns:1fr auto}.roster-add-copy{grid-column:1 / -1}}.tournament-header{margin-top:12px}.stage-tabs{overflow-x:auto}.stage-tabs button{white-space:nowrap}.stage-tabs small{margin-left:6px;opacity:.6}.stage-view{display:grid;gap:20px}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.stage-heading span{color:#86868b;font-size:12px}.stage-heading .stage-schedule{margin-left:auto;color:#64d2ff;font-weight:600}.meeting-schedule{display:block;margin-top:10px;color:#86868b;font-size:11px;font-weight:600}.meeting-scheduled-at{margin:-12px 0 12px;color:#64d2ff;font-size:13px;font-weight:600}.tournament-bracket-panel{min-height:740px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#111116}.tournament-bracket-scroll{max-width:100%;min-height:740px;overflow:auto}.tournament-bracket-scroll>svg{display:block}.template-bracket-panel{min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:radial-gradient(circle at 72% 18%,rgba(10,132,255,.1),transparent 32%),#111116}.template-bracket-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:17px 20px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#1c1c1eb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#aeaeb2;font-size:11px;font-weight:600;letter-spacing:.02em}.template-bracket-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;border-radius:50%;background:#0a84ff;box-shadow:0 0 0 3px #0a84ff29}.template-bracket-legend .lower:before{background:#ff9f0a;box-shadow:0 0 0 3px #ff9f0a29}.template-bracket-legend .final:before{background:#30d158;box-shadow:0 0 0 3px #30d15829}.template-bracket-scroll{overflow:auto}.template-bracket-canvas{position:relative;width:1460px;height:720px;background:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),#111116;background-size:28px 28px;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,sans-serif}.template-round-title{position:absolute;top:20px;color:#86868b;font-size:11px;font-weight:700;letter-spacing:.13em}.round-one{left:128px}.round-two{left:490px}.round-three{left:850px}.round-final{left:1215px}.template-bracket-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:1460px;height:720px;overflow:visible;pointer-events:none}.template-bracket-lines path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.template-bracket-lines .upper-line{stroke:#0a84ffb3}.template-bracket-lines .lower-line{stroke:#ff9f0ab8}.template-bracket-lines .drop-line{stroke:#ffd60ad1;stroke-dasharray:6 6}.template-bracket-card{position:absolute;width:280px;min-height:132px;display:grid;align-content:start;gap:7px;padding:13px;border:1px solid rgba(255,255,255,.1);border-top:2px solid #0a84ff;border-radius:14px;background:#1c1c1ee0;color:#f5f5f7;text-align:left;box-shadow:0 10px 26px #00000038;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease;will-change:transform}.template-bracket-card.lower{border-top-color:#ff9f0a}.template-bracket-card.final{border-top-color:#30d158}.template-bracket-card:hover,.template-bracket-card:focus-visible{z-index:2;border-color:#0a84ffb8;border-top-color:#0a84ff;background:#2c2c2ef5;box-shadow:0 16px 32px #00000057;outline:none;transform:translateY(-2px)}.template-bracket-card.lower:hover,.template-bracket-card.lower:focus-visible{border-top-color:#ff9f0a}.template-bracket-card.final:hover,.template-bracket-card.final:focus-visible{border-top-color:#30d158}.template-bracket-card:active{transform:scale(.985)}.template-match-meta{display:flex;align-items:center;gap:7px;min-width:0;color:#86868b;font-size:11px;white-space:nowrap}.template-match-meta b{color:#64d2ff;font-size:16px;font-weight:700;letter-spacing:-.02em}.template-bracket-card.lower .template-match-meta b{color:#ffd60a}.template-bracket-card.final .template-match-meta b{color:#30d158}.template-match-meta em{padding:3px 6px;border-radius:5px;background:#0a84ff2e;color:#64d2ff;font-style:normal;font-size:10px;font-weight:700}.template-bracket-card.lower .template-match-meta em{background:#ff9f0a29;color:#ffd60a}.template-bracket-card.final .template-match-meta em{background:#30d15829;color:#30d158}.template-match-meta small{margin-left:auto;color:#86868b;font-size:10px}.template-match-team{overflow:hidden;padding:6px 8px;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:#0000002e;color:#d1d1d6;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.template-match-pending{color:#86868b;font-size:10px;letter-spacing:.01em}.template-bracket-card.m1{left:25px;top:55px}.template-bracket-card.m2{left:25px;top:225px}.template-bracket-card.m3{left:25px;top:415px}.template-bracket-card.m4{left:25px;top:575px}.template-bracket-card.m6{left:390px;top:145px}.template-bracket-card.m5{left:390px;top:485px}.template-bracket-card.m7{left:750px;top:315px}.template-bracket-card.m8{left:1080px;top:235px}@media(prefers-reduced-motion:reduce){.template-bracket-card{transition:background .15s ease,border-color .15s ease}.template-bracket-card:hover,.template-bracket-card:focus-visible,.template-bracket-card:active{transform:none}}.bracket-match-card{width:190px;min-height:82px;display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#1c1c24;color:#f5f5f7;text-align:left;box-shadow:0 8px 20px #0000003d}.bracket-match-card:hover{border-color:#007affb3;background:#252531}.bracket-match-title{overflow:hidden;color:#86868b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.bracket-match-date{color:#86868b;font-size:10px;font-weight:600}.bracket-participant{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.bracket-participant.winner{color:#30d158}.standings-table-wrap{overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:13px}.standings-table th,.standings-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;white-space:nowrap}.standings-table th{color:#86868b;font-size:11px;font-weight:600}.standings-table small{color:#86868b;margin-left:5px}.standings-table .positive{color:#30d158}.standings-table .negative{color:#ff6961}.stage-modal{max-width:580px}.stage-modal .compact-form>label,.stage-source-grid label{display:grid;gap:5px;color:#86868b;font-size:12px}.stage-source-grid{display:grid;grid-template-columns:1fr 180px;gap:12px}.team-selector{max-height:220px;display:grid;gap:4px;overflow-y:auto;margin:0;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px}.team-selector legend{color:#86868b;font-size:12px;padding:0 5px}.team-selector label{display:flex;align-items:center;gap:8px;padding:5px;color:#f5f5f7;cursor:pointer}.team-selector input{width:auto}.form-hint{color:#86868b}.form-hint.error-text{color:#ff6961}@media(max-width:760px){.stage-heading{align-items:flex-start;flex-direction:column}.stage-heading .stage-schedule{margin-left:0}.stage-source-grid{grid-template-columns:1fr}}.meeting-lobby{display:grid;gap:20px}.meeting-lobby>.notice,.meeting-lobby>.warning,.meeting-lobby>.compact-form{margin-bottom:0}.test-roster-form{gap:18px;padding:24px}.test-roster-form>h2{margin:0}.test-roster-form>small{line-height:1.5}.test-roster-form>label{display:grid;gap:8px}.test-roster-form select{width:100%;min-width:0;min-height:42px}.test-roster-form>button{margin-top:4px}.test-roster-form>.notice,.test-roster-form>.error{margin-bottom:0}@media(max-width:760px){.meeting-lobby>.two-columns{grid-template-columns:1fr}.test-roster-form{padding:20px}}.test-roster-form>button:disabled,.test-roster-form>button:disabled:hover,.test-roster-form>button:disabled:active{background:#2c2c2e;color:#86868b;cursor:not-allowed;transform:none;box-shadow:none}button:disabled,button:disabled:hover,button:disabled:active{opacity:.55;cursor:not-allowed;transform:none}.resource-card{display:grid;align-content:space-between;gap:18px}.resource-card-link{display:grid;gap:10px;color:inherit;text-decoration:none}.resource-card-link h3,.resource-card-link p{margin:0}.resource-actions{padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.resource-actions button{flex:1}.muted{color:#86868b;font-size:12px}.resource-table{display:grid;padding:0 24px}.resource-row{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(130px,.6fr) auto minmax(190px,1fr) auto;align-items:center;gap:22px;min-width:0;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.07)}.resource-row:last-child{border-bottom:0}.resource-primary,.resource-meta{display:grid;min-width:0;gap:5px}.resource-primary b,.resource-primary small,.resource-meta span,.resource-meta small{overflow-wrap:anywhere}.resource-primary small,.resource-meta small{color:#86868b;font-size:11px;line-height:1.45}.resource-kind{justify-self:start;padding:6px 10px;border-radius:999px;background:#ffffff14;color:#aeaeb2;font-size:12px;font-weight:600;white-space:nowrap}.resource-row-actions{justify-content:flex-end}.resource-row-actions button{padding:8px 11px;font-size:12px}.compact-button{padding:5px 10px;font-size:12px}.modal-actions{margin-top:10px}.confirm-copy{color:#d1d1d6;line-height:1.5}.confirm-copy p{margin:0 0 12px}.confirm-copy p:last-child{margin-bottom:0}.confirm-modal{max-width:520px}.modal-content label{display:grid;gap:6px;color:#aeaeb2;font-size:12px}@media(max-width:1200px){.resource-row{grid-template-columns:minmax(240px,1.5fr) minmax(120px,.7fr) auto minmax(180px,1fr)}.resource-row-actions{grid-column:1 / -1;justify-content:flex-end}}.game-timeouts{margin:18px 0}.game-timeouts .games-head small{color:#86868b}.timeout-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.timeout-rows>.timeout-row:last-child{border-bottom:0}.timeout-pips{display:inline-flex;align-items:center;gap:6px}.timeout-pips i{width:14px;height:14px;border-radius:3px;background:#ffffff24}.timeout-pips i.active{background:#30d158}.timeout-pips small{margin-left:6px;color:#86868b;white-space:nowrap}@media(max-width:900px){.timeout-row{grid-template-columns:1fr 1fr}}.map-result-fields{display:grid;gap:10px}.map-result-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.map-result-scores label{display:grid;gap:6px;color:#aeaeb2;font-size:12px}.map-result-fields .map-result-forfeit{display:flex;align-items:center;gap:8px;color:#f5f5f7;font-size:14px}.map-result-forfeit input{width:18px;height:18px;padding:0;accent-color:#007AFF}.map-result-winner{color:#30d158;font-size:13px}.map-result-winner.pending{color:#ffd60a}.sys-page{display:grid;gap:16px}.sys-page .page-header h1{margin-bottom:8px}.sys-fresh{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.sys-fresh-ok{background:#30d1581f;color:#30d158}.sys-fresh-bad{background:#ff453a24;color:#ff6961}.sys-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.sys-alerts{display:grid;gap:10px}.sys-alerts-ok{border-color:#30d15840;color:#30d158}.sys-alerts-bad{border-color:#ff453a59}.sys-alerts ul,.sys-list,.sys-events,.sys-viewers{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sys-alerts li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:13px}.sys-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.sys-tile{display:grid;gap:4px;padding:14px 16px;border-radius:12px;background:#1c1c1ebf;border:1px solid rgba(255,255,255,.06)}.sys-tile small{color:#86868b;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.sys-tile b{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.sys-hint{color:#6e6e73;font-size:11px}.sys-tile.sys-ok b{color:#f5f5f7}.sys-tile.sys-warn{border-color:#ff9f0a59}.sys-tile.sys-warn b,.sys-warn-text{color:#ff9f0a}.sys-tile.sys-bad{border-color:#ff453a66}.sys-tile.sys-bad b,.sys-bad-text{color:#ff6961}.sys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.sys-card{display:grid;gap:12px;align-content:start}.sys-card h2{margin:0;font-size:17px;font-weight:600}.sys-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sys-subhead{color:#86868b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-top:4px}.sys-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:13px}.sys-dl dt{color:#86868b}.sys-dl dd{margin:0;font-variant-numeric:tabular-nums}.sys-dl dd small{color:#86868b}.sys-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;font-size:13px}.sys-viewers li{display:flex;gap:12px;align-items:center;font-size:13px}.sys-events{max-height:320px;overflow-y:auto}.sys-events li{display:grid;grid-template-columns:76px 1fr;gap:12px;font-size:13px}.sys-card .standings-table td small{display:block;margin:2px 0 0}.sys-card .status+.status{margin-left:6px}.standings-live{margin-left:8px;color:#ff9f0a;font-size:12px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.standings-live-badge{margin-left:8px;padding:2px 7px;border-radius:999px;background:#ff9f0a24;color:#ff9f0a;font-size:10px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.standings-live-note{margin:12px 2px 0;color:#86868b;font-size:12px}.standings-live-note .standings-live{margin-left:0}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,440px);display:flex;flex-direction:column;gap:18px}.auth-card .brand,.auth-card h1,.auth-card h2,.auth-card p{margin:0}.auth-card label{display:flex;flex-direction:column;gap:8px}.project-switch{display:flex;flex-direction:column;gap:8px;padding:0 12px 20px;font-size:12px;color:#aaa}.project-switch select{width:100%;color:#fff}.sidebar-account{display:flex;flex-direction:column;gap:8px;padding:20px 12px;margin-top:auto;overflow-wrap:anywhere}.sidebar-account small{color:#aaa}.access-table .resource-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) auto;gap:20px}.access-table small{display:block;margin-top:6px;color:#aaa}.project-create{margin-top:20px;flex-wrap:wrap}.project-create input{flex:1;min-width:150px}.project-choices{border:1px solid #444;border-radius:10px;padding:14px}.project-choices label,.checkbox-row{display:flex;align-items:center;gap:10px;margin:8px 0}.project-choices input,.checkbox-row input{width:18px;height:18px}@media(max-width:640px){.access-table .resource-row{grid-template-columns:1fr}}.meeting-format{color:#86868b;font-size:13px;margin:0 0 8px}.sidebar{display:flex;flex-direction:column}.riot-disclaimer{margin-top:auto;color:#48484a;font-size:9px;line-height:1.5;padding:0 12px}.graphics-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.detailed-control{display:grid;gap:14px}.map-veto-control{grid-column:1 / -1;display:grid;gap:16px}.map-veto-control h2,.map-veto-control h3{margin:2px 0;font-weight:600}.veto-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.veto-toolbar button{padding:8px 14px;font-size:13px}.veto-lock-note{padding:6px 12px;border-radius:999px;background:#30d1581f;color:#30d158;font-size:12px;font-weight:600}.veto-muted{color:#6e6e73;font-size:12px}.veto-table-wrap{overflow-x:auto}.veto-table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}.veto-table th{padding:0 8px 8px;color:#86868b;font-size:11px;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.4px}.veto-table td{padding:6px 8px;border-top:1px solid rgba(255,255,255,.06);vertical-align:middle}.veto-table select{width:100%;padding:7px 10px;font-size:13px}.veto-row td:first-child{border-left:3px solid rgba(255,255,255,.12)}.veto-row-ban td:first-child{border-left-color:#ff453a}.veto-row-pick td:first-child{border-left-color:#30d158}.veto-row-decider td:first-child{border-left-color:#bf5af2}.veto-row-index{width:36px;color:#86868b;font-variant-numeric:tabular-nums;text-align:center}.veto-side-cell{display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,1fr);align-items:center;gap:4px 8px}.veto-side-cell small{grid-column:1 / -1}.veto-side-team{font-weight:600}.veto-row-actions{width:1%;white-space:nowrap}.veto-row-actions button{padding:4px 10px;margin-left:4px;font-size:12px;border-radius:6px}.veto-sync-fieldset:disabled .veto-row-actions{visibility:hidden}.veto-badge{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.5px;background:#ffffff14;color:#86868b}.veto-badge.veto-ban{background:#ff453a26;color:#ff453a}.veto-badge.veto-pick{background:#30d15826;color:#30d158}.veto-badge.veto-decider{background:#bf5af226;color:#bf5af2}.veto-badge.veto-side{background:#64d2ff26;color:#64d2ff}.veto-badge.veto-start,.veto-badge.veto-finish{background:#ffffff1a;color:#f5f5f7}.veto-sync-fieldset{min-width:0;margin:0;padding:0;border:0}.veto-presentation{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:#86868b;font-size:12px}.veto-presentation select{padding:7px 10px;font-size:13px}.veto-presentation small{color:#6e6e73}.veto-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.veto-summary li{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border-radius:8px;background:#ffffff0a;font-size:13px}.veto-summary small{color:#86868b;font-size:11px}.veto-tab{display:grid;gap:16px}.draft-timeline{display:grid;gap:16px;margin-bottom:24px}.draft-timeline .card-top small{color:#86868b}.draft-live{color:#ff453a}.draft-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.draft-summary span{padding:6px 10px;border-radius:8px;background:#ffffff0d;color:#86868b;font-size:12px;font-variant-numeric:tabular-nums}.draft-summary b{color:#f5f5f7;font-weight:600}.draft-chart{display:grid;gap:12px;overflow-x:auto}.draft-row{display:grid;grid-template-columns:190px minmax(560px,1fr);gap:12px;align-items:center}.draft-axis{padding-left:13px}.draft-axis-track{position:relative;height:14px}.draft-axis-track span{position:absolute;color:#6e6e73;font-family:SF Mono,ui-monospace,monospace;font-size:11px}.draft-team{display:grid;gap:4px;padding-left:10px;border-left:3px solid var(--team-color)}.draft-team-A{--team-color: #0A84FF}.draft-team-B{--team-color: #FF9F0A}.draft-team-none{--team-color: #6e6e73}.draft-team-name{color:var(--team-color);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.draft-player{display:grid;min-width:0}.draft-player b,.draft-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-player b{font-size:13px}.draft-player small{color:#86868b;font-size:12px;font-variant-numeric:tabular-nums}.draft-track{position:relative;height:30px;overflow:hidden;border-radius:6px;background:#ffffff08}.draft-tick{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0d}.draft-seg{position:absolute;top:4px;bottom:4px;display:flex;align-items:center;min-width:2px;padding:0 6px;overflow:hidden;border-radius:4px;background:hsl(var(--role-hue) var(--role-sat) 55% / .16);box-shadow:inset 0 0 0 1px hsl(var(--role-hue) var(--role-sat) 60% / .45);color:hsl(var(--role-hue) var(--role-sat) 80%);font-size:11px;white-space:nowrap}.draft-seg.locked{background:hsl(var(--role-hue) var(--role-sat) 40%);box-shadow:inset 3px 0 #fff;color:#fff;font-weight:600}:where(.draft-seg,.draft-legend span){--role-hue: 220;--role-sat: 0%}.role-duelist{--role-hue: 6;--role-sat: 72%}.role-initiator{--role-hue: 142;--role-sat: 55%}.role-controller{--role-hue: 272;--role-sat: 62%}.role-sentinel{--role-hue: 199;--role-sat: 78%}.draft-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;color:#86868b;font-size:12px}.draft-legend span{display:inline-flex;align-items:center;gap:5px}.draft-legend i{width:10px;height:10px;border-radius:3px;background:hsl(var(--role-hue) var(--role-sat) 50%)}.draft-legend-lock i{background:#ffffff1f;box-shadow:inset 3px 0 #fff}.draft-events summary{color:#86868b;font-size:13px;cursor:pointer}.draft-events ol{display:grid;gap:4px;margin:10px 0 0;padding:0;list-style:none}.draft-event{display:grid;grid-template-columns:52px minmax(90px,160px) minmax(90px,180px) 72px minmax(0,1fr);gap:10px;align-items:center;padding:6px 12px;border-radius:8px;background:#ffffff08;font-size:13px}.draft-event.locked{background:#30d15814}.draft-event.locked span:nth-of-type(2){color:#30d158;font-weight:600}.draft-event time{font-family:SF Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.draft-event b,.draft-event-team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-event-team{color:var(--team-color)}.mode-switch{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.mode-switch button.active{outline:2px solid #007AFF;background:#007aff26}.graphic-fields{display:grid;gap:14px;margin:0;padding:0;border:0;min-width:0}.graphic-fields:disabled{opacity:.45}.graphic-fields:disabled input,.graphic-fields:disabled select,.graphic-fields:disabled button,.graphic-fields:disabled label{cursor:not-allowed}.control-section{display:grid;gap:10px;padding:16px;border-radius:10px;background:#1c1c1e99;border:1px solid rgba(255,255,255,.04)}.control-section h3{margin:0 0 4px;font-size:14px;font-weight:600;color:#86868b}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid label{display:grid;gap:5px;color:#86868b;font-size:12px}.team-logo-controls{grid-column:1 / -1;padding:12px}.map-control-row,.agent-control-row{display:grid;grid-template-columns:105px 1fr 1fr auto;gap:8px;align-items:center}.agent-control-row{grid-template-columns:1fr 1.2fr}.agent-control-row>div{display:grid}.agent-control-row small{color:#6e6e73;font-size:11px}.player-checks label{display:flex;align-items:center;gap:10px;color:#f5f5f7;font-size:14px}.player-checks input[type=checkbox]{width:18px;height:18px;accent-color:#007AFF;border-radius:4px}.team-edit,.player-edit{margin-top:18px}.roster-refresh{display:grid;gap:8px}.schedule-control-card{grid-column:1 / -1;display:grid;gap:16px}.schedule-match-list{display:grid;gap:12px}.schedule-match-item{display:grid;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px 20px}.schedule-match-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:8px;font-size:13px;color:#86868b}.schedule-match-header b{color:#f5f5f7;font-size:14px}.schedule-match-time-badge{background:#ffffff14;padding:3px 8px;border-radius:6px;font-size:12px;color:#ffe600;font-weight:600}.schedule-match-preview-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:16px;align-items:center;padding:6px 0}.schedule-match-preview-row .team-preview{font-size:16px;font-weight:600;color:#f5f5f7}.schedule-match-preview-row .team-preview.right{text-align:right}.schedule-match-preview-row .score-preview{font-size:20px;font-weight:700;color:#ffe600;min-width:80px;text-align:center}.schedule-match-edit-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:16px 20px;align-items:end}.schedule-match-edit-grid label{display:grid;gap:6px;color:#86868b;font-size:12px}.schedule-match-edit-grid input,.schedule-match-edit-grid select{box-sizing:border-box;width:100%}.schedule-score-column{display:flex;flex-direction:column;align-items:center;gap:6px}.schedule-score-label{font-size:12px;color:#86868b}.schedule-score-inputs{display:flex;align-items:center;gap:8px}.schedule-score-inputs .score-input{width:60px;height:40px;font-size:20px;font-weight:800;text-align:center;border-radius:8px;background:#0006;border:1px solid rgba(255,255,255,.15);color:#ffe600;padding:0;margin:0;-moz-appearance:textfield}.schedule-score-inputs .score-input::-webkit-outer-spin-button,.schedule-score-inputs .score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.schedule-score-inputs .score-divider{font-size:22px;font-weight:800;color:#86868b}.groupstage-control-card{grid-column:1 / -1;display:grid;gap:16px}.groupstage-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.groupstage-group-box{display:grid;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px 20px}.groupstage-group-header-row h3{margin:0;font-size:15px;font-weight:700;color:#f5f5f7;letter-spacing:-.3px}.groupstage-teams-table{display:flex;flex-direction:column;gap:8px}.groupstage-table-head{display:grid;grid-template-columns:28px 1fr 100px 100px;gap:8px;font-size:11px;font-weight:600;color:#86868b;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.groupstage-table-head span:nth-child(3),.groupstage-table-head span:nth-child(4){text-align:center}.groupstage-team-row{display:grid;grid-template-columns:28px 1fr 100px 100px;gap:8px;align-items:center;padding:4px 0}.groupstage-team-row .team-index{font-size:13px;font-weight:700;color:#86868b}.groupstage-team-row .team-name-cell{display:flex;align-items:baseline;gap:6px;font-size:14px;color:#f5f5f7}.groupstage-team-row .team-name-cell small{color:#86868b;font-size:11px}.groupstage-team-row .team-score-cell{font-size:14px;font-weight:700;color:#ffe600;text-align:center}.groupstage-team-row .team-diff-cell{font-size:14px;font-weight:700;color:#30d158;text-align:center}@media(max-width:1400px){.groupstage-groups-grid{grid-template-columns:1fr}.ext-veto-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.graphics-controls{grid-template-columns:1fr}.ext-veto-teams,.ext-veto-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ext-veto-link{grid-template-columns:minmax(0,1fr) auto}.ext-veto-link>span{grid-column:1 / -1}.ext-tl{grid-template-columns:56px auto minmax(0,1fr)}.ext-tl>span:not(.veto-badge){grid-column:2 / -1}.ext-tl small{display:none}}@media(prefers-reduced-motion:reduce){.ext-pulse{animation:none;opacity:1}}.playoff-control-card{display:flex;flex-direction:column;gap:16px}.playoff-matches-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.playoff-match-box{background:#1c1c1e;border:1px solid #2c2c2e;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.playoff-match-header-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.match-code-badge{color:#45ff80;font-family:monospace}.match-date-text{color:#8e8e93;font-size:12px}.playoff-teams-box{display:flex;flex-direction:column;gap:6px}.playoff-team-slot{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px}.playoff-team-slot .team-name{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playoff-team-slot .team-score{font-weight:700;color:#b1ffc9}@media(max-width:1200px){.playoff-matches-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.playoff-matches-grid{grid-template-columns:1fr}}.teamspeak-control{display:grid;gap:16px}.teamspeak-status{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;background:#ffffff14;color:#86868b;white-space:nowrap}.teamspeak-status.on{background:#30d1581f;color:#30d158}.teamspeak-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}button.teamspeak-team{display:grid;gap:8px;justify-content:stretch;align-content:start;justify-items:start;padding:18px 20px;text-align:left;background:#1c1c1e99;border:1px solid rgba(255,255,255,.06);border-radius:12px;color:inherit}button.teamspeak-team:hover{background:#ffffff14}button.teamspeak-team.active{outline:2px solid #30D158;background:#30d1581f}button.teamspeak-team b{font-size:20px;font-weight:700}button.teamspeak-team small{color:#86868b;font-size:12px}.teamspeak-side{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.teamspeak-side.green{background:#0074664d;color:#5fe0d0}.teamspeak-side.red{background:#ff5b4e33;color:#ff8a80}.teamspeak-hint{color:#86868b;font-size:12px;line-height:1.5}.teamspeak-control .warning,.teamspeak-control .error{margin:0}@media(max-width:900px){.teamspeak-teams{grid-template-columns:1fr}}.teamspeak-tab{display:grid;gap:18px}.voice-listen{display:grid;gap:12px}.voice-listen .notice{margin:0}.teamspeak-air button.teamspeak-team small:last-child{color:#a1a1a6}.teamspeak-outputs{display:grid;gap:8px}.teamspeak-outputs h3{margin:0;font-size:12px;color:#86868b;letter-spacing:.08em;text-transform:uppercase}.teamspeak-outputs .notice{margin:0}.teamspeak-outputs .muted{color:#86868b;font-size:12px}.teamspeak-output{display:grid;grid-template-columns:minmax(120px,220px) auto 1fr;gap:12px;align-items:baseline;padding:8px 12px;border-radius:10px;background:#ffffff0a;border:1px solid transparent}.teamspeak-output span{font-size:13px}.teamspeak-output small{color:#86868b;font-size:12px}.teamspeak-output.tone-ok{border-color:#30d15873}.teamspeak-output.tone-ok span{color:#30d158}.teamspeak-output.tone-error{border-color:#ff453a80}.teamspeak-output.tone-error span{color:#ff6961}.teamspeak-output.tone-warn span{color:#ffd60a}@media(max-width:720px){.teamspeak-output{grid-template-columns:1fr;gap:2px}}.voice-panel{display:grid;gap:16px}.voice-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.voice-side{display:grid;gap:6px;padding:16px 18px;border-radius:12px;background:#1c1c1e99;border:1px solid rgba(255,255,255,.06)}.voice-side.status-connected{border-color:#30d15873}.voice-side.status-connecting,.voice-side.status-reconnecting{border-color:#ff9f0a73}.voice-side.status-error{border-color:#ff453a80}.voice-side-head{display:flex;justify-content:space-between;align-items:center}.voice-side-head small{color:#86868b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.voice-side b{font-size:18px;font-weight:700}.voice-side-channel{color:#f5f5f7;font-size:13px}.voice-side-bot{color:#86868b;font-size:12px}.voice-side-error{color:#ff6961;font-size:12px}.voice-side-warning{color:#ffd60a;font-size:12px}.voice-side-select{display:grid;gap:4px;font-size:12px;color:#86868b;margin-top:4px}.voice-side.skipped{opacity:.55}.voice-side-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;color:#86868b;cursor:pointer}.voice-side-toggle input{width:15px;height:15px;accent-color:#007AFF;margin:0}.voice-actions{align-items:center;flex-wrap:wrap}.voice-since{color:#86868b;font-size:12px}.voice-panel .notice,.voice-panel .warning,.voice-panel .error{margin:0}.voice-mixer{display:grid;gap:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.voice-mixer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.voice-connection{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.voice-connection small{color:#86868b}.voice-conn-dot{width:8px;height:8px;border-radius:50%;background:#6e6e73}.voice-conn-dot.connected{background:#30d158}.voice-conn-dot.connecting,.voice-conn-dot.reconnecting{background:#ff9f0a}.voice-conn-dot.error{background:#ff453a}.voice-audio-button{font-weight:700}.voice-solo-banner{color:#ffd60a;font-size:12px;font-weight:600}.voice-group{display:grid;gap:6px}.voice-group h3{display:flex;align-items:baseline;gap:10px;margin:0 0 4px;font-size:13px;color:#86868b;letter-spacing:.06em;text-transform:uppercase}.voice-group h3 b{color:#f5f5f7;font-size:15px;text-transform:none;letter-spacing:0}.voice-group h3 small{color:#6e6e73;text-transform:none;letter-spacing:0}.voice-empty{color:#6e6e73;font-size:13px;padding:8px 12px}.voice-row{display:grid;grid-template-columns:14px minmax(160px,1fr) minmax(200px,260px) auto;align-items:center;gap:14px;padding:10px 14px;border-radius:10px;background:#ffffff0a;border:1px solid transparent;transition:border-color .15s ease,background .15s ease}.voice-row.speaking{border-color:#30d1588c;background:#30d15814}.voice-row.silenced{opacity:.55}.voice-dot{width:10px;height:10px;border-radius:50%;background:#3a3a3c;box-shadow:0 0 #30d15800}.voice-row.speaking .voice-dot{background:#30d158;box-shadow:0 0 0 4px #30d15840}.voice-name{display:grid;gap:2px;min-width:0}.voice-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-name small{color:#86868b;font-size:11px}.voice-name small.warn{color:#ff6961}.voice-meter{display:block;height:5px;border-radius:3px;background:#ffffff14;overflow:hidden}.voice-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#30d158,#30d158 62%,#ffd60a 82%,#ff453a);transition:width .08s linear}.voice-master-meter{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#86868b}.voice-master-meter .voice-meter{width:72px}.voice-hint{font-size:13px}.voice-volume{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:8px;margin:0}.voice-volume input[type=range]{width:100%;accent-color:#007AFF;padding:0;background:transparent;border:none}.voice-volume span{font-size:12px;color:#86868b;text-align:right;font-variant-numeric:tabular-nums}.voice-toggles{display:flex;gap:6px}.voice-toggles button{padding:5px 10px;font-size:12px;background:#ffffff14;color:#f5f5f7}.voice-toggles button.active.mute{background:#ff453a40;color:#ff6961}.voice-toggles button.active.solo{background:#ffd60a40;color:#ffd60a}.voice-toggles button.active.rnnoise{background:#007aff40;color:#64d2ff}.voice-binding{display:grid;gap:12px;margin:0 24px 24px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#ffffff06}.voice-binding-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.voice-binding-head h3{margin:0 0 3px;font-size:13px}.voice-binding-head small{color:#6e6e73;font-size:11px;line-height:1.3}.voice-binding-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 16px}.voice-binding-summary>div:not(.button-row){display:grid;gap:2px;align-content:start}.voice-binding-summary b{font-size:13px;font-weight:600}.voice-binding-summary small{color:#6e6e73;font-size:11px;line-height:1.35}.voice-binding-access{grid-column:1 / -1}.voice-binding-access b.ok{color:#30d158}.voice-binding-access b.fail{color:#ff6961}.voice-binding-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px}.voice-binding-form label{display:grid;gap:4px;font-size:11px;color:#6e6e73}.voice-binding-form select,.voice-binding-form input{height:36px;padding:0 11px;font-size:12px}.voice-binding .button-row{flex-wrap:wrap;grid-column:1 / -1}.voice-binding .button-row button{height:34px;padding:0 12px;font-size:12px}.voice-binding .notice,.voice-binding .warning,.voice-binding .error{margin:0;padding:10px 12px;font-size:12px}.voice-binding .muted{color:#6e6e73;font-size:11px}.voice-identity{display:grid;gap:6px}.voice-identity label{display:grid;gap:4px;font-size:12px;color:#86868b}.voice-identity-search{display:grid;gap:8px;padding:10px;border-radius:10px;background:#ffffff0a}.voice-identity-results{display:grid;gap:4px}.voice-identity-results button{display:grid;gap:2px;text-align:left;background:#ffffff0f;color:#f5f5f7}.voice-identity-results button small{color:#86868b;font-size:11px}.error-text{color:#ff6961;font-size:12px}.voice-bots{display:grid;gap:14px}.voice-bots-intro{margin:0}.voice-bot{display:grid;gap:14px}.voice-bot.disabled{opacity:.6}.voice-bot-meta{display:block;color:#86868b;font-size:12px;margin-top:4px}.voice-bot-token label{display:grid;gap:6px;font-size:12px;color:#86868b}.voice-bot-actions{flex-wrap:wrap;align-items:center}.voice-bots .notice,.voice-bots .warning,.voice-bots .error{margin:0}.voice-vpn{display:grid;gap:12px}.voice-vpn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.voice-vpn-head h2{margin:2px 0 0}.voice-vpn-head small{color:#86868b;font-size:12px}.voice-vpn-state{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:#ffffff14;color:#86868b}.voice-vpn-state.tone-ok{background:#30d15826;color:#30d158}.voice-vpn-state.tone-warn{background:#ff9f0a26;color:#ff9f0a}.voice-vpn-state.tone-error{background:#ff453a26;color:#ff453a}.voice-vpn-summary{display:grid;gap:4px;font-size:13px}.voice-vpn-summary small{color:#86868b}.voice-vpn-probe.ok{color:#30d158;font-size:13px}.voice-vpn-probe.fail{color:#ff6961;font-size:13px}.voice-vpn label{display:grid;gap:6px;font-size:12px;color:#86868b}.voice-vpn details summary{cursor:pointer;color:#86868b;font-size:12px}.voice-vpn pre{margin:8px 0 0;max-height:220px;overflow:auto;font-size:11px;line-height:1.45;background:#00000059;padding:10px 12px;border-radius:8px;white-space:pre-wrap;word-break:break-all}.voice-vpn .notice,.voice-vpn .warning,.voice-vpn .error{margin:0}.voice-bot-test{display:grid;gap:10px;padding:14px 16px;border-radius:12px;background:#007aff0f;border:1px solid rgba(0,122,255,.25)}.voice-bot-test.running{background:#30d1580f;border-color:#30d15859}.voice-bot-test-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.voice-bot-test-head h3{margin:0;font-size:15px}.voice-bot-test-head small{color:#86868b;font-size:12px}.voice-bot-test-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.voice-bot-test-form label{display:grid;gap:4px;font-size:12px;color:#86868b}.voice-bot-test .voice-mixer{border-top:none;padding-top:0}@media(max-width:900px){.voice-bot-test-form{grid-template-columns:1fr}}.status-connected{background:#30d15826;color:#30d158}.status-starting,.status-connecting,.status-reconnecting,.status-stopping{background:#ff9f0a26;color:#ff9f0a}.status-stopped,.status-missing,.status-no-token,.status-unknown{background:#ffffff14;color:#86868b}.status-error{background:#ff453a26;color:#ff453a}@media(max-width:1100px){.voice-sides{grid-template-columns:1fr}.voice-row{grid-template-columns:14px 1fr}.voice-volume,.voice-toggles{grid-column:2}}
