:root{--bg:#e5e7eb;--card:#f9fafb;--nav:#374151;--blue:#2563eb;--ink:#111827;--muted:#6b7280;--line:#cbd5e1;--green:#16845b;--red:#bc3746;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:var(--blue);text-decoration:none}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.topbar{height:72px;background:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:white}.brand{display:flex;align-items:center;gap:12px;color:white;font-weight:750;letter-spacing:1.8px;font-size:17px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--blue);font-size:23px;font-style:italic;border-radius:7px;letter-spacing:0}.brand-sub{margin-left:16px;padding-left:24px;border-left:1px solid #657080;font-size:12px;font-weight:400;letter-spacing:1px;color:#d1d5db}.top-actions{display:flex;align-items:center;gap:25px}.top-link,.text-button{color:#e5e7eb;font-size:12px;background:none;border:0}.top-link:hover,.text-button:hover{color:white}.eyebrow{letter-spacing:2px;font-weight:700;font-size:11px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin-bottom:12px}h2{font-size:21px;line-height:1.4;margin-bottom:14px}h3{font-size:15px;margin-bottom:16px}p{margin-bottom:16px}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted)}.card{background:var(--card);border:1px solid #d4d9e0;border-radius:var(--radius);padding:25px;margin-bottom:22px;box-shadow:0 2px 3px #11182703}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:7px;padding:10px 17px;font-size:13px;font-weight:600;line-height:1.5}.button:hover{background:#1d4ed8;border-color:#1d4ed8}.button.secondary{background:var(--card);border-color:var(--line);color:#374151}.button.secondary:hover{background:#eef2f7}.button.danger{background:#fff1f2;border-color:#fecdd3;color:var(--red)}.button.small{padding:6px 11px;font-size:12px}.full{width:100%}.pill,.status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;background:#e9edf2;color:#576172}.pill{color:var(--blue);background:#e5edff;letter-spacing:.3px}.status.live{background:#dbeafe;color:#1d4ed8}.status.completed,.status.qualified{background:#e0f2e9;color:var(--green)}.status.postponed{background:#fff0cf;color:#9a6300}.status.cancelled,.status.eliminated,.status.disabled{background:#fee8eb;color:var(--red)}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3eab80;flex-shrink:0}.status.live:before{content:"";width:5px;height:5px;background:var(--blue);border-radius:50%}.admin-layout{display:grid;grid-template-columns:238px 1fr;min-height:calc(100vh - 120px)}.sidebar{padding:34px 18px 20px;border-right:1px solid #cfd5dd;background:#edf0f3;display:flex;flex-direction:column}.sidebar-caption{color:#7b8593;font-size:9px;letter-spacing:1.8px;padding:0 15px}.sidebar-title{font-size:14px;font-weight:650;margin:10px 15px 30px;overflow-wrap:anywhere}#side-nav{display:grid;gap:7px}#side-nav button{background:none;border:0;text-align:left;border-radius:7px;padding:12px 15px;color:#667183;font-size:13px;display:flex;align-items:center;gap:13px}#side-nav button.active{background:#dce7ff;color:#1d4ed8;font-weight:650}#side-nav button:hover{background:#e0e5ed}.nav-icon{width:18px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto;padding:50px 15px 0;font-size:11px;color:#6b7280}.sidebar-bottom .live-dot{margin-right:5px}.sidebar-bottom div{font-size:10px;margin-top:6px;color:#929aa5}.workspace{padding:34px 40px;min-width:0;max-width:1600px;width:100%}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}.page-heading h1{font-size:26px;margin:6px 0}.page-heading p{font-size:12px;color:var(--muted);margin:0}.page-heading .eyebrow{font-size:9px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:var(--card);border:1px solid #d4d9e0;border-radius:10px;padding:21px}.stat-label{font-size:11px;color:var(--muted)}.stat-value{font-size:30px;font-weight:700;line-height:1.5;margin:6px 0}.stat-note{font-size:10px;color:#86909d}.stat.blue{border-top:3px solid var(--blue);padding-top:19px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid-two>.card{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.section-heading h2,.section-heading h3{margin:0}.section-heading>span{font-size:11px;color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.4px;font-weight:500;color:#7b8593;background:#eef1f5;padding:12px 14px;border-bottom:1px solid #dce1e7}td{padding:14px;border-bottom:1px solid #e3e7ec}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f0f4fa}td.wrap{white-space:normal;min-width:150px}.team-name{display:inline-flex;align-items:center;gap:9px;font-weight:600}.team-logo{width:22px;height:22px;object-fit:contain;flex-shrink:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters select{width:auto;min-width:125px;flex:1}.filters label{margin:0}.score{font-size:17px;font-weight:700;letter-spacing:2px;color:var(--ink);white-space:nowrap}.match-versus{display:flex;align-items:center;gap:20px;justify-content:center;min-width:270px}.match-versus>span:first-child{text-align:right;flex:1}.match-versus>span:last-child{flex:1}.winner-text{color:var(--blue);font-weight:700}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px;color:#485367}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:7px;background:#fff;padding:10px 12px;margin-top:7px;font-size:13px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #a8c5ff;border-color:var(--blue)}input[type=checkbox]{display:inline-block;width:auto;margin:0 7px 0 0;accent-color:var(--blue);vertical-align:middle}textarea{min-height:105px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .span-two{grid-column:1/-1}.check{font-weight:400;display:flex;align-items:center;margin-top:10px}.hint{color:var(--muted);font-weight:400;font-size:11px;display:block;margin-top:6px}.form-error{color:var(--red);font-size:12px;margin:8px 0 15px;white-space:pre-wrap}.form-error:empty{display:none}.notice{padding:14px 17px;border-radius:7px;font-size:12px;color:#44648f;background:#e8eef8;margin-bottom:20px;border:1px solid #d2def0}.empty{text-align:center;padding:45px 20px;color:#7b8593;font-size:13px}.empty-symbol{font-size:28px;margin-bottom:8px;color:#a2aebe}.list-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e5eb;padding:15px 0;gap:12px}.list-row:last-child{border:0}.list-row strong{font-size:13px}.list-row .fine{margin-top:3px}.step-number{width:32px;height:32px;display:grid;place-items:center;background:#e4ebf7;color:var(--blue);border-radius:8px;font-weight:700;margin-right:12px}.public-layout{max-width:1440px;margin:auto;padding:35px 40px 60px}.event-hero{padding:31px 34px;display:flex;align-items:center;gap:28px;position:relative;border-top:3px solid var(--blue)}.event-logo{width:86px;height:86px;object-fit:contain}.event-hero h1{margin:10px 0;font-size:32px}.event-meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:11px}.event-description{color:#687486;font-size:13px;max-width:800px;margin:0 0 14px;white-space:pre-line;overflow-wrap:anywhere}.event-hero .hero-status{margin-left:auto;align-self:flex-start}.tabs{display:flex;gap:28px;border-bottom:1px solid #c8d0da;margin:26px 0;overflow:auto;white-space:nowrap}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 2px;color:#7b8593;font-size:13px}.tabs button.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:650}.public-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.public-tools select{width:260px;margin:0;background:var(--card)}.refresh-note{font-size:11px;color:var(--muted)}.refresh-note .live-dot{margin-right:6px}.bracket-scroll{overflow:auto;padding:5px 0 25px}.bracket-board{position:relative;min-width:max-content;padding:10px 24px 30px}.bracket-section{position:relative;margin-bottom:36px}.bracket-label{font-size:10px;letter-spacing:1px;color:#7b8593;margin-bottom:16px}.bracket-track{display:flex;gap:64px;position:relative;z-index:1}.bracket-round{width:240px;flex-shrink:0}.round-title{font-size:11px;color:#788396;margin-bottom:17px;display:flex;justify-content:space-between}.round-stack{display:flex;flex-direction:column;justify-content:space-around;gap:22px}.bracket-match{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 3px 5px #11182704;overflow:hidden;position:relative;min-height:103px}.bracket-match.live{border-color:#78a2f5;box-shadow:0 0 0 2px #dbe7ff}.bracket-team{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 12px;font-size:12px;height:34px}.bracket-team+.bracket-team{border-top:1px solid #eef1f6}.bracket-team.winner{color:var(--blue);background:#edf3ff;font-weight:700}.bracket-team .team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-team .team-logo{width:17px;height:17px}.bracket-foot{font-size:9px;background:#f3f5f8;display:flex;justify-content:space-between;padding:5px 10px;color:#8a94a3}.bracket-lines{position:absolute;top:0;left:0;pointer-events:none;z-index:0;overflow:visible}.bracket-lines path{stroke:#a8b8cf;stroke-width:1.4;fill:none}.bracket-lines path.loser{stroke:#c3c9d2;stroke-dasharray:4 4;opacity:.65}.swiss-rounds{display:flex;gap:10px;margin-bottom:22px;overflow:auto}.swiss-rounds button{background:#f9fafb;border:1px solid var(--line);padding:9px 18px;border-radius:7px;color:#667183;white-space:nowrap}.swiss-rounds button.active{background:#e3edff;border-color:#90b1ef;color:var(--blue)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}.team-tile{padding:20px;background:#fff;border:1px solid #d4dce6;border-radius:9px;display:flex;align-items:center;gap:15px}.seed{font-size:11px;color:#98a1ae}.log-item{padding:18px 0;border-bottom:1px solid #e2e7ee}.log-header{display:flex;justify-content:space-between;gap:20px;font-size:12px}.log-item summary{cursor:pointer;color:var(--blue);font-size:11px;margin-top:8px}.log-item pre{background:#edf0f4;padding:15px;max-height:350px;overflow:auto;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.log-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.log-columns>*{min-width:0}dialog{background:var(--card);border:1px solid var(--line);border-radius:13px;width:min(720px,calc(100vw - 30px));max-height:90vh;padding:29px;box-shadow:0 25px 80px #11182733}dialog::backdrop{background:#27314088;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-heading h2{margin:0}.close-button{border:0;background:#e7ebf0;border-radius:50%;width:29px;height:29px;color:#667183}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.games-grid{display:grid;grid-template-columns:70px 1fr 20px 1fr;align-items:center;gap:10px;margin:12px 0}.games-grid input{margin:0}.games-grid span{text-align:center;color:var(--muted);font-size:11px}#toast{position:fixed;bottom:25px;right:28px;background:#233c34;color:#f0fff7;border-radius:9px;padding:14px 22px;box-shadow:0 6px 25px #11182720;z-index:1000;max-width:min(500px,90vw);font-size:13px;display:none}#toast.visible{display:block}#toast.error{background:#862b38}.loading{padding:100px 20px;text-align:center;color:#76849a}footer{padding:20px 36px;border-top:1px solid #d0d6de;color:#8b95a2;font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between}footer span{letter-spacing:0}.landing{max-width:1180px;margin:auto;padding:95px 40px 100px;min-height:calc(100vh - 130px)}.landing h1{font-size:64px;letter-spacing:-3px;line-height:1.25;margin:28px 0}.landing h1 span{color:#768397}.landing>p{color:#7a8594;font-size:16px;line-height:1.9}.access-card{margin-top:40px;background:var(--card);border:1px solid #d0d8e3;border-radius:11px;padding:22px;display:flex;gap:20px;width:450px;max-width:100%}.access-card p{font-size:12px;color:var(--muted);margin:8px 0 0}.access-icon{background:#e4ecff;color:var(--blue);border-radius:8px;width:40px;height:40px;text-align:center;padding:6px;font-size:20px}.landing-note{font-size:11px;color:#7a8594;margin-top:40px}.landing-note .live-dot{margin-right:8px}.login-layout{max-width:1110px;margin:95px auto;padding:30px;display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center;min-height:480px}.login-copy h1{font-size:42px;line-height:1.4;margin:26px 0}.login-copy p{color:var(--muted);font-size:13px}.login-decoration{display:flex;gap:25px;margin-top:50px;font-size:11px;color:#8b96a5}.login-card{padding:34px;margin:0}.login-card h2{font-size:22px;margin:20px 0 8px;overflow-wrap:anywhere}.login-card>.muted{font-size:12px;margin-bottom:25px}.login-card>.fine{text-align:center;margin:20px 0 0;font-size:10px}.error-page{max-width:750px;margin:120px auto;padding:35px}.error-page h1{margin:22px 0}.error-page p{color:var(--muted);margin-bottom:28px}.mono{font-family:Consolas,monospace;font-size:11px}.advance-list{padding:0;list-style:none}.advance-list li{display:flex;gap:15px;padding:10px 0;border-bottom:1px solid #dce2eb}.advance-list li span{color:var(--muted);font-size:12px}.stage-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.group-assignment{max-height:340px;overflow:auto}.group-assignment label{display:flex;align-items:center;gap:12px;margin:0;padding:7px 0}.group-assignment select{width:140px;margin:0;margin-left:auto}.banner-champion{padding:20px 25px;border-left:3px solid var(--blue);background:#e5edfd;margin-bottom:25px;border-radius:7px}.banner-champion strong{font-size:20px;margin-left:14px;color:#1d4ed8}@media(min-width:1500px){.workspace{padding:40px 55px}.public-layout{padding-top:45px}}@media(max-width:1100px){.workspace{padding:25px}.admin-layout{grid-template-columns:205px 1fr}.stats{gap:10px}.grid-two{grid-template-columns:1fr}.brand-sub{display:none}.login-layout{gap:45px}.public-layout{padding:25px}.event-hero h1{font-size:26px}}@media(max-width:760px){.topbar{padding:0 18px;height:62px}.brand{font-size:13px;gap:9px}.brand-mark{width:29px;height:29px;font-size:20px}.top-actions{gap:12px}.top-link,.text-button{font-size:10px}.admin-layout{display:block}.sidebar{border:0;border-bottom:1px solid #cbd5e1;padding:12px}.sidebar-caption,.sidebar-title,.sidebar-bottom{display:none}#side-nav{display:flex;overflow:auto;gap:5px}#side-nav button{white-space:nowrap;padding:8px 12px;font-size:11px;gap:7px}.nav-icon{font-size:12px;width:12px}.workspace{padding:23px 15px}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.page-heading .toolbar{justify-content:flex-end}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:15px}.stat-value{font-size:26px}.card{padding:19px}.form-grid{grid-template-columns:1fr}.form-grid .span-two{grid-column:auto}.public-layout{padding:20px 13px}.event-hero{padding:23px 20px;gap:17px;flex-wrap:wrap}.event-logo{width:55px;height:55px}.event-hero h1{font-size:23px}.event-hero .hero-status{margin-left:0}.event-meta{gap:12px}.tabs{gap:22px;margin:15px 0 22px}.tabs button{font-size:12px}.public-tools select{width:200px}.refresh-note{font-size:9px}.filters select{min-width:110px}.landing{padding:70px 25px}.landing h1{font-size:42px;letter-spacing:-2px}.landing>p{font-size:14px}.login-layout{display:block;margin:35px auto;padding:20px;max-width:470px}.login-copy{margin-bottom:35px}.login-copy h1{font-size:29px;margin:16px 0}.login-copy p,.login-decoration{display:none}.login-card{padding:27px}dialog{padding:22px}.log-columns{grid-template-columns:1fr}.log-header{display:block}.log-header .fine{margin-top:5px}.bracket-track{gap:40px}.bracket-round{width:215px}footer{padding:18px;font-size:8px}.event-description{font-size:12px}.toolbar .button{font-size:11px;padding:8px 12px}.games-grid{grid-template-columns:50px 1fr 10px 1fr;gap:8px}.banner-champion strong{font-size:16px}}
[hidden]{display:none!important}[data-slug-preview]{overflow-wrap:anywhere}

.field-with-help{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:22px;align-items:start;margin:24px 0;padding-top:20px;border-top:1px solid #dce2ea}.field-with-help>label{min-width:0;margin-bottom:0}.field-with-help textarea{font-family:Consolas,monospace;min-height:160px}.field-explanation{padding:16px 18px;border:1px solid #d6e0ef;background:#eef3fb;border-radius:8px;color:#52657e;font-size:11px;line-height:1.75;min-width:0}.field-explanation>strong{display:block;color:#244a83;font-size:12px;margin-bottom:8px}.field-explanation p{margin:0 0 9px}.field-explanation p:last-child{margin-bottom:0}.field-explanation code,.field-explanation pre{font-family:Consolas,monospace;overflow-wrap:anywhere}.field-explanation pre{background:#fff;border:1px solid #d8e1ed;border-radius:5px;padding:10px;margin:8px 0 12px;white-space:pre-wrap}.field-explanation dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 12px;margin:12px 0}.field-explanation dt{font-family:Consolas,monospace;color:#305381}.field-explanation dd{margin:0}.form-grid>.form-grid{margin-bottom:0}@media(max-width:950px){.field-with-help{grid-template-columns:1fr;gap:12px}}@media(max-width:760px){.field-explanation dl{grid-template-columns:1fr;gap:2px}.field-explanation dd{margin-bottom:7px}}
