:root{color-scheme:dark;--bg:#101214;--surface:#191c1f;--raised:#202427;--line:#303538;--text:#f1f3f1;--muted:#9ba4a5;--accent:#c9fb65;--radius:10px;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button,a{ -webkit-tap-highlight-color:transparent}button{color:inherit}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:52px;padding:0 max(5vw,24px);background:#141719}.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:1px;font-size:20px}.brand-symbol{background:var(--accent);color:#101214;width:33px;height:33px;display:grid;place-items:center;font-size:23px;font-weight:900;transform:skew(-9deg)}nav{display:flex;gap:34px;height:100%;align-items:center}nav a{font-size:14px;color:var(--muted);height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}nav a.active{color:var(--accent);border-color:var(--accent)}.header-right{margin-left:auto;display:flex;align-items:center;gap:20px}.mini-label,.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);font-weight:650}.outline,.primary,.subtle{border:1px solid var(--line);border-radius:6px;padding:10px 18px;background:transparent;font-size:14px;font-weight:600}.primary{background:var(--accent);border-color:var(--accent);color:#151912}.outline:hover,.subtle:hover{background:var(--raised)}.subtle{border-color:transparent;color:var(--muted)}main{max-width:1360px;margin:auto;padding:32px 48px 72px}.breadcrumb{color:var(--muted);font-size:13px;display:flex;gap:12px;margin-bottom:26px}.breadcrumb span:last-child{color:#e1e6e0}.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#27352c 0,#1c2622 48%,#191d1c 100%);border:1px solid #3a4838;border-radius:12px;padding:38px 40px;min-height:235px;display:flex;align-items:center;justify-content:space-between}.hero:after{content:'';position:absolute;right:90px;top:-110px;width:170px;height:500px;transform:rotate(30deg);border-left:52px solid #b7eb6012;border-right:28px solid #b7eb600b;pointer-events:none}.hero h1{font-size:36px;line-height:1.3;margin:12px 0 14px;letter-spacing:-1px}.hero .eyebrow{color:var(--accent)}.hero p{color:#b5c0b4;font-size:14px;margin:0}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;color:#bec6bd;font-size:14px}.hero-right{text-align:right;position:relative;z-index:1}.hero-number{font-size:74px;font-weight:900;line-height:1;letter-spacing:-6px;color:var(--accent);font-style:italic}.hero-right p{letter-spacing:4px;font-size:12px;margin-top:12px}.pill{font-size:12px;padding:4px 9px;background:#c9fb6515;border:1px solid #c9fb6533;color:var(--accent);border-radius:4px}.section{margin-top:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:15px}.section-heading h2{font-size:21px;margin:0;display:flex;align-items:center;gap:12px}.section-heading h2:before{content:'';width:3px;height:20px;background:var(--accent)}.section-heading small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:1px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{background:transparent;border:0;color:var(--muted);padding:7px 13px;font-size:13px;border-radius:5px}.tab.active{background:#c9fb6516;color:var(--accent)}.matches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.match-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px;text-align:left;width:100%;transition:border-color .2s,transform .2s}.match-card:hover,.team-card:hover{border-color:#778951;transform:translateY(-2px)}.match-top{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:18px;gap:5px}.match-row{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:14px}.match-row strong{margin-left:auto;font-size:19px;font-family:ui-monospace,monospace}.muted{color:var(--muted)}.lime{color:var(--accent)}.match-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.badge{width:34px;height:34px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--team-color) 12%,transparent);color:var(--team-color);font-family:ui-monospace,monospace;font-size:12px;font-weight:900;border:1px solid color-mix(in srgb,var(--team-color) 30%,transparent)}.badge img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.badge.big{width:62px;height:62px;font-size:21px;border-radius:15px}.teams{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.team-card{display:block;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.2s}.team-head{display:flex;align-items:center;gap:14px}.team-head h3{font-size:16px;margin:0 0 5px}.team-head p{font-size:12px;color:var(--muted);margin:0}.team-meta{display:flex;justify-content:space-between;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.avatars{display:flex;gap:4px;margin-top:16px}.avatar{width:30px;height:30px;border-radius:50%;background:#2d3337;color:#bec9bd;display:grid;place-items:center;overflow:hidden;font-size:11px;border:2px solid var(--surface)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.large{width:64px;height:64px;font-size:22px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:14px}th{color:var(--muted);font-size:12px;font-weight:500;background:#202427}td,th{padding:14px 18px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td .inline-team{display:flex;align-items:center;gap:12px}.qualify td:first-child{border-left:3px solid var(--accent)}.rank{font-family:ui-monospace,monospace;color:var(--muted)}.points{font-weight:800;color:var(--accent)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.group-title{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border:1px solid var(--line);border-bottom:0;background:var(--raised);border-radius:var(--radius) var(--radius) 0 0}.group-title+.table-wrap{border-top-left-radius:0;border-top-right-radius:0}.legend{font-size:12px;color:var(--muted);margin-top:13px}.legend:before{content:'';display:inline-block;background:var(--accent);width:7px;height:7px;margin-right:8px}.bracket{display:flex;gap:56px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.bracket-round{flex:1;min-width:240px;display:flex;flex-direction:column;justify-content:space-around;gap:20px}.bracket-round h3{font-size:13px;color:var(--muted);font-weight:500;margin:0}.bracket .match-card{background:#202427}.footer{margin-top:58px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#7e888b;font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 30px;gap:16px}.page-heading h1{font-size:30px;margin:0 0 7px}.page-heading p{font-size:14px;color:var(--muted);margin:0}.event-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-top:25px}.event-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.event-card .hero{border:0;border-radius:0;min-height:280px}.event-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px}.event-bottom h2{font-size:20px;margin:0 0 6px}.event-bottom p{font-size:13px;margin:0;color:var(--muted)}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px}.info-card h3{margin:0 0 22px;font-size:17px}.rule-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.rule-row:last-child{border:0}.admin-layout{display:grid;grid-template-columns:200px 1fr;gap:30px}.admin-side{display:flex;flex-direction:column;gap:7px}.admin-side button{text-align:left;padding:13px 16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px}.panel h3{font-size:18px;margin:0 0 23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px}.field.full{grid-column:1/-1}.field small{color:var(--muted);font-size:12px}input,select,textarea{width:100%;border:1px solid #41494d;border-radius:5px;background:#121618;color:var(--text);padding:11px 12px;min-height:43px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.note{color:var(--muted);font-size:13px;line-height:1.8}.notice{padding:13px 16px;border:1px solid #c9fb6530;background:#c9fb6509;border-radius:6px;color:#b8ce9e;font-size:13px;margin-bottom:22px}.login{max-width:430px;margin:70px auto}.login .field{margin-top:20px}.login .primary{width:100%;margin-top:25px}.admin-list{display:flex;flex-direction:column;gap:12px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.admin-row h3{font-size:15px;margin:0 0 5px}.admin-row p{font-size:12px;color:var(--muted);margin:0}dialog{width:min(850px,94vw);max-height:90vh;overflow:auto;background:#191d20;border:1px solid #465047;color:var(--text);border-radius:12px;padding:28px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-head h2{font-size:22px;margin:0}.close{border:0;background:#2b3135;width:32px;height:32px;border-radius:50%;font-size:21px}.map-input{display:grid;grid-template-columns:2fr 1fr 1fr 35px;gap:10px;margin-bottom:10px}.map-input.bp{grid-template-columns:1fr 1fr 1fr 35px}.remove{background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.edit-section{margin-top:27px}.edit-section h3{font-size:16px}.stat-inputs input{padding:7px;min-width:55px}.stat-inputs td,.stat-inputs th{padding:8px}.match-hero{display:flex;justify-content:center;align-items:center;gap:50px;padding:40px 20px}.match-team{display:flex;align-items:center;flex-direction:column;gap:14px;flex:1}.match-team h2{font-size:22px;margin:0}.scoreboard{text-align:center}.scoreboard strong{display:block;font-size:52px;font-family:ui-monospace,monospace;white-space:nowrap}.scoreboard p{font-size:13px;color:var(--muted)}.map-pills{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.map-button{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 22px}.map-button.active{border-color:var(--accent);color:var(--accent)}.bp-list{display:flex;gap:12px;flex-wrap:wrap}.bp-item{background:var(--surface);border:1px solid var(--line);padding:14px 20px;border-radius:6px;font-size:14px}.bp-item small{display:block;color:var(--muted);margin-bottom:6px;font-size:12px}.roster{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.player{display:flex;flex-direction:column;align-items:center;gap:12px;padding:25px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.empty{padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.loading{padding:100px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--accent);color:#172011;padding:13px 24px;border-radius:7px;box-shadow:0 6px 35px #0008;display:none;z-index:20;max-width:90vw}.error{color:#ff9e9e}.player-input{display:grid;grid-template-columns:1fr 100px 2fr;gap:10px;margin:10px 0}.upload{font-size:12px;padding:7px}.header-right .mini-label{display:none}@media(min-width:1400px){.header-right .mini-label{display:block}}@media(max-width:1050px){main{padding:28px 25px}.matches,.teams{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr}.event-grid .info-card{display:none}}@media(max-width:650px){header{padding:0 18px;height:70px;gap:20px}.brand{font-size:16px}.brand-symbol{width:28px;height:28px}nav{gap:16px}nav a{font-size:13px}.header-right{gap:0}.header-right .outline{padding:8px 10px;font-size:12px}main{padding:22px 16px 45px}.hero{padding:25px;min-height:215px}.hero h1{font-size:27px}.hero-right{display:none}.hero-meta{gap:10px}.hero-meta span:last-child{display:none}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading h2{font-size:19px}.section-heading small{display:none}.matches{grid-template-columns:1fr 1fr;gap:9px}.match-card{padding:12px}.match-row{gap:7px;font-size:12px}.match-row .badge{width:27px;height:27px;font-size:9px}.match-foot{font-size:11px}.teams{gap:9px}.team-card{padding:14px}.team-head{gap:9px}.team-head h3{font-size:13px}.team-head .badge.big{width:42px;height:42px;font-size:14px}.team-meta{font-size:11px}.avatars{gap:0}.avatar{width:26px;height:26px}.hero h1{letter-spacing:0}.admin-layout{grid-template-columns:1fr;gap:15px}.admin-side{flex-direction:row;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.panel{padding:20px}.form-grid .full{grid-column:auto}.roster{grid-template-columns:repeat(2,1fr)}.match-hero{gap:10px;padding:25px 0}.match-team h2{font-size:14px}.scoreboard strong{font-size:35px}.scoreboard p{font-size:11px}.footer{gap:15px;flex-wrap:wrap}.page-heading h1{font-size:24px}.event-card .hero{min-height:220px}.event-bottom{padding:20px;gap:10px}.event-bottom h2{font-size:17px}.event-bottom .primary{white-space:nowrap;padding:9px}.player-input{grid-template-columns:1fr 80px}.player-input>input:last-child{grid-column:1/-1}.map-input{grid-template-columns:2fr 1fr 1fr 28px;gap:5px}.map-input input,.map-input select{padding:7px}dialog{padding:20px}.page-heading{align-items:flex-start}.admin-row{padding:14px}.admin-row .outline{padding:8px;white-space:nowrap}}
.two-col>*,.event-grid>*,.admin-layout>*,.form-grid>*,.teams>*{min-width:0}.table-wrap{max-width:100%}.team-head>div{min-width:0}.team-head h3{overflow-wrap:anywhere}.hero .eyebrow{overflow-wrap:anywhere}@media(max-width:650px){.teams,.matches{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.admin-layout,.form-grid{grid-template-columns:minmax(0,1fr)}}
.school-emblem{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;background:#fff;border-radius:50%;padding:3px;line-height:1;overflow:hidden}
.school-emblem img{display:block;width:100%;height:100%;object-fit:contain}
.school-emblem.corner{position:absolute;right:-4px;bottom:-4px;width:17px;height:17px;padding:1px;border:2px solid var(--surface);z-index:1}
.school-emblem.external{color:#212721;background:#c9fb65;font:700 10px/1 "PingFang SC",sans-serif}
.badge{position:relative;overflow:visible}
.badge-face{width:100%;height:100%;display:grid;place-items:center;border-radius:inherit;overflow:hidden}
.badge-face>img{width:100%;height:100%;object-fit:contain}
.badge.big{font-size:17px}
.badge.big>.corner{width:25px;height:25px;right:-5px;bottom:-5px;padding:2px}
.team-identity{display:inline-flex;align-items:center;gap:13px;min-width:0}
.team-name{font-weight:700;overflow-wrap:anywhere;min-width:0}
.team-identity.stacked{flex-direction:column;text-align:center}
.match-row>.team-identity{gap:10px;flex:1}
.match-row .team-name{font-size:13px}
.match-team>.team-identity{font-size:22px}
.school-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.school-tab{display:flex;align-items:center;gap:12px;padding:17px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);text-align:left}
.school-tab>span:not(.school-emblem){font-size:14px;font-weight:650}
.school-tab small{margin-left:auto;white-space:nowrap;font-size:12px}
.school-tab[aria-selected=true]{border-color:var(--accent);background:#c9fb650a;color:var(--text)}
.school-tab[aria-selected=true] small{color:var(--accent)}
.school-tab:hover{background:var(--raised)}
.teams{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.team-card{padding:24px;display:flex;flex-direction:column}
.team-card>.team-identity{min-height:62px;font-size:18px;margin-bottom:18px}
.team-introduction{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 22px;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.6em}
.team-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:18px;margin-bottom:4px}
.roster-player{display:flex;align-items:center;gap:11px;min-width:0}
.avatar{position:relative;overflow:visible;flex:none}
.avatar-face{display:grid;place-items:center;overflow:hidden;width:100%;height:100%;border-radius:inherit}
.avatar-face img{width:100%;height:100%;object-fit:cover}
.roster-player>.avatar{width:40px;height:40px;font-size:12px;border:0;border-radius:12px}
.avatar.large>.corner{width:24px;height:24px;font-size:13px;padding:2px}
.player-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.player-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.player-info>span{font-size:11px;color:var(--muted)}
.team-card .team-meta{margin-top:22px}
.team-card .team-meta span:last-child{margin-left:auto}
.team-card .team-meta span[aria-hidden]{margin-left:10px;color:var(--accent)}
.detail-introduction{white-space:pre-line}
.player>strong{overflow-wrap:anywhere;max-width:100%}
.player>.muted{font-size:12px}
.identity-previews{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:20px;background:var(--bg);border-radius:8px;margin-top:20px}
.preview-label{display:block;font-size:12px;color:var(--muted);margin-bottom:14px}
.checkbox-field{display:flex;align-items:center;gap:10px;font-size:14px}
.checkbox-field.full{grid-column:1/-1}
.player-edit{padding:18px;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}
.player-edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.player-input{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.player-edit .upload{max-width:100%;margin-top:4px}
.edit-section .section-heading h3{margin:0}
@media(max-width:1100px){.school-tab{padding:14px 12px;gap:8px;flex-wrap:wrap}.school-tab small{display:none}.school-tab .school-emblem{width:32px;height:32px}.teams{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.school-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.school-tab{padding:12px;gap:9px;flex-wrap:nowrap}.school-tab>span:not(.school-emblem){font-size:12px}.teams{grid-template-columns:minmax(0,1fr);gap:14px}.team-card{padding:22px}.team-card>.team-identity{font-size:18px}.team-roster{column-gap:24px;row-gap:18px}.roster-player>.avatar{width:42px;height:42px}.team-identity{gap:12px}.match-row>.team-identity{gap:7px}.match-row .team-name{font-size:11px}.match-team>.team-identity{font-size:15px}.match-row .corner{width:14px;height:14px;right:-3px;bottom:-3px;padding:0}.identity-previews{grid-template-columns:74px minmax(0,1fr);padding:16px;gap:14px}.identity-previews .team-name{font-size:13px}.player-input{grid-template-columns:minmax(0,1fr)}.hero .team-title{font-size:24px}.badge.big{font-size:16px}.team-identity .badge.big{width:62px;height:62px}.hero>.pill{white-space:nowrap}}
.emblem-art{display:block;width:100%;height:100%;overflow:hidden;border-radius:50%}
.school-emblem[data-school=fudan] .emblem-art img{width:306.35%;height:auto;max-width:none;object-fit:initial}
.school-emblem .emblem-art img{border-radius:0}

.veto-scroll{overflow-x:auto;padding-bottom:6px;scrollbar-color:#465369 #111923;border-radius:10px}
.veto-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-width:980px;background:radial-gradient(ellipse at 50% 0,#22334855,transparent 65%),#101720;padding:16px;border:1px solid #303d4f;border-radius:10px}
.veto-card{min-width:0;min-height:342px;border:1px solid #344255;border-radius:7px;overflow:hidden;background:#141d29}
.veto-step{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #344255;font-size:11px;letter-spacing:1px}
.veto-step>span{color:#8396af;font-family:ui-monospace,monospace}.veto-step b{font-weight:750}
.veto-card.ban .veto-step b{color:#f08e8e}.veto-card.pick .veto-step b{color:#84dbbc}.veto-card.decider{border-color:#a3915d}.veto-card.decider .veto-step b{color:#ebd48a}.veto-card.unused .veto-step b{color:#9caabe}
.veto-owner{display:flex;align-items:center;gap:8px;height:44px;padding:8px 12px;font-size:12px;font-weight:700;min-width:0}.veto-owner>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.veto-owner img{width:22px;height:22px;object-fit:contain}
.veto-art{height:160px;position:relative;background:#1a2433;display:flex;align-items:flex-end;padding:12px;overflow:hidden}.veto-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.veto-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101721,transparent 85%)}.veto-art strong{position:relative;z-index:1;font-size:17px;text-transform:uppercase;letter-spacing:.5px;overflow-wrap:anywhere}.veto-card.ban .veto-art img,.veto-card.unused .veto-art img{filter:grayscale(.8);opacity:.38}.veto-card.ban .veto-art strong,.veto-card.unused .veto-art strong{color:#a5adbb}
.veto-result{padding:12px}.veto-mapno{font-size:10px;letter-spacing:2px;color:#aebfd4}.veto-side{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:12px}.veto-side span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.veto-side b{flex-shrink:0;color:#8396af}.veto-side .ct{color:#82bfff}.veto-side .t{color:#eed08a}.veto-card.pending{border-style:dashed;border-color:#455063}.veto-card.pending .veto-step b,.veto-card.pending .veto-art strong{color:#8396af}.veto-card.pending .veto-art strong{font-size:14px}
.bp-controls{display:grid;gap:18px}.bp-order{display:flex;align-items:center;gap:20px}.bp-order .field{flex:1;max-width:350px}.bp-pool summary{cursor:pointer;font-size:13px;color:#b8c5d7}.bp-pool summary span{margin-left:12px;color:var(--accent)}.pool-options{display:flex;gap:12px 22px;flex-wrap:wrap;padding-top:16px}.pool-options label{display:flex;align-items:center;gap:8px;font-size:13px}
.bp-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.bp-edit-card{background:#171e28;border:1px solid #344255;border-radius:8px;overflow:hidden;padding-bottom:12px}.bp-edit-owner{padding:10px 12px;font-size:13px;color:#bcc9d9}.bp-edit-card .field{padding:0 12px;margin:8px 0;font-size:12px;gap:5px}.bp-edit-card select{font-size:13px;padding:8px}.bp-save{display:flex;justify-content:flex-end;gap:12px}.admin-actions{display:flex;gap:8px;flex-shrink:0}
@media(max-width:650px){.veto-grid{min-width:1120px;padding:10px;gap:8px}.veto-card{min-height:335px}.veto-art{height:155px}.bp-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row{flex-wrap:wrap}.admin-actions{width:100%;justify-content:flex-end}}

.planner-toolbar{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.planner-add,.planner-buttons{display:flex;gap:8px;flex-wrap:wrap}.planner-buttons{justify-content:flex-end}.planner-workspace{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px}.stage-rail{display:flex;flex-direction:column;gap:10px}.stage-rail-item{background:#171e22;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;padding:16px 12px;text-align:left;align-items:center}.stage-rail-item>span{font-family:ui-monospace,monospace;color:#819181;font-size:12px}.stage-rail-item.selected{border-color:#8daa54;background:#c9fb650a}.stage-rail-item.selected>span{color:var(--accent)}.stage-rail-item strong{font-size:13px;display:block;overflow-wrap:anywhere}.stage-rail-item small{font-size:11px;color:var(--muted);display:block;margin-top:7px}.stage-details{padding:20px;min-width:0}.stage-top{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.stage-top>.field{flex:1;min-width:160px}.stage-tools{display:flex}.stage-tools button{padding:10px 8px;font-size:12px}.planner-tabs{margin:22px 0;border-bottom:1px solid var(--line);padding-bottom:12px}.stage-summary{display:flex;gap:12px;align-items:baseline;margin-top:24px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--muted)}.stage-summary strong{font-size:30px;color:var(--accent)}.stage-summary span:last-child{margin-left:auto}.stage-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.slot-label{font-size:12px;color:#acb8ca}.stage-slots select{max-width:100%;font-size:13px}.stage-matches{display:grid;gap:10px}.stage-match-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.stage-match-row>div{min-width:0}.stage-match-row small{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.stage-match-row strong{display:block;font-size:12px;overflow-wrap:anywhere}.stage-match-row button{white-space:nowrap;font-size:12px;padding:8px}.stage-match-row>span{white-space:nowrap;font-size:11px}.flow-graph-scroll{max-height:620px;overflow:auto;background:#13191d;border:1px solid var(--line);border-radius:10px}.flow-graph{position:relative;min-width:100%}.flow-graph svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flow-graph path{stroke:#6b8051;stroke-width:1.5;fill:none}.flow-column-title{position:absolute;top:14px;color:#a6b58f;font-size:12px}.flow-node{position:absolute;width:224px;height:80px;background:#20282c;border:1px solid #394648;border-radius:6px;padding:10px 12px;font-size:12px}.flow-node>div{display:flex;align-items:center;justify-content:space-between;gap:10px;height:29px}.flow-node span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-node b{color:var(--accent)}a.flow-node:hover{border-color:var(--accent)}.stage-public-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:14px}.stage-public-tabs .tab{white-space:nowrap;padding:10px 16px;border:1px solid var(--line)}.section>.flow-graph-scroll{margin-top:20px}.pending-team{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:85%}#flow-message:empty{display:none}
@media(max-width:800px){.planner-workspace{grid-template-columns:minmax(0,1fr)}.stage-rail{flex-direction:row;overflow:auto}.stage-rail-item{min-width:160px}.stage-slots{grid-template-columns:minmax(0,1fr)}}

.comparator-editor{padding:20px 0;border-top:1px solid var(--line)}.comparator-heading{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.comparator-heading .field:first-child{flex:1;min-width:160px}.comparator-heading .field:nth-child(2){width:120px}.comparator-heading button{font-size:12px;padding:10px}.comparator-inputs{margin:20px 0}.comparator-rule,.comparator-status{font-size:12px;line-height:1.7}.comparator-rule{color:var(--muted)}.comparator-table td,.comparator-table th{font-size:12px;padding:12px}.comparator-table select{min-width:150px;font-size:12px;padding:8px}.comparator-table{margin-top:12px}.comparator-graph{display:flex;align-items:center;gap:18px;background:#171e22;border:1px solid #465237;border-radius:8px;padding:18px;margin-top:16px;overflow-x:auto;font-size:12px}.comparator-origins,.comparator-exits{display:grid;gap:8px;flex:1;min-width:140px}.comparator-graph>strong{color:var(--accent);min-width:100px;max-width:200px;overflow-wrap:anywhere}.graph-arrow{color:#819a55}.comparator-origins>span,.comparator-exits>span{background:#232c2d;padding:8px 10px;border-radius:4px;white-space:nowrap}

.recent-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}.recent-pagination span{color:var(--muted);font-size:13px}.recent-pagination button:disabled{opacity:.35;cursor:default}
#recent-matches .matches{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1050px){#recent-matches .matches{grid-template-columns:repeat(2,minmax(0,1fr))}}

.date-control{display:flex;gap:8px}.date-control input{min-width:0;flex:1}.date-control button{white-space:nowrap}#match-bp .bp-edit-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

.player-position{display:inline-flex;align-items:center;gap:7px;min-height:28px;flex-wrap:wrap}
.perfect-rank{display:inline-block;width:28px;height:28px;object-fit:contain;flex:none;vertical-align:middle}
.rank-letter{position:relative}
.rank-letter .rank-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.rank-letter .rank-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:40%;width:auto;max-width:70%}
.perfect-rank.rank-s{width:38px;height:32px}
.player-edit-head>[id^="player-preview-"]{display:flex;align-items:center;gap:12px}
.player>.player-position{color:var(--muted);font-size:12px}

.group-standings td:nth-child(2){white-space:normal;min-width:140px;overflow-wrap:anywhere}
