﻿:root{--gold:#f5d750;--gold-light:#fff3a1;--red:#cf302f;--red-deep:#3d0d16;--blue:#0f8acb;--blue-deep:#061c3b;--ink:#0b1018;--panel:rgba(9,15,25,.82);font-family:"Microsoft YaHei","Noto Sans SC",sans-serif;color:#fff;background:#171432;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#171432}button,input{font:inherit}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:#fff;color:#111}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bp-sitebar{height:50px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,10,15,.95);border-bottom:1px solid rgba(245,215,80,.2);position:relative;z-index:20}.bp-brand{height:100%;display:flex;align-items:center;color:#d6c18d;text-decoration:none;gap:12px}.bp-brand img{width:110px;height:auto}.bp-brand i{height:22px;border-left:1px solid rgba(214,193,141,.38)}.bp-brand span{display:flex;align-items:baseline;gap:9px}.bp-brand b{font-family:STKaiti,KaiTi,serif;font-size:20px;letter-spacing:.12em}.bp-brand small{font-size:11px;color:#8d826e;letter-spacing:.16em}.bp-site-actions{display:flex;align-items:center;gap:10px}.bp-site-actions a,.bp-site-actions button{border:1px solid rgba(245,215,80,.28);background:rgba(255,255,255,.035);color:#c9b889;padding:6px 13px;text-decoration:none;cursor:pointer}.bp-site-actions button[aria-pressed="true"]{color:var(--gold);border-color:var(--gold)}
.bp-app{position:relative;min-height:calc(100vh - 50px);background:url("assets/arena-bg.jpg") center top/cover no-repeat;overflow:hidden}.bp-app:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(74,5,12,.34) 0 49%,rgba(4,31,57,.22) 51% 100%)}.setup-view,.draft-view{position:relative;z-index:1;min-height:calc(100vh - 50px)}.setup-view{display:flex;align-items:flex-end;padding:4vh 10.1vw 3vh}.setup-view form{width:100%}.setup-title{display:block;width:min(29.3vw,563px);margin:0 0 1.2vh -3px}.setup-teams{display:grid;grid-template-columns:1fr 1fr;gap:11.4vw}.team-form{min-width:0;margin:0;padding:0;border:0}.team-form>legend{position:absolute;width:1px;height:1px;overflow:hidden}.setup-field{display:block;margin-bottom:3.1vh}.setup-field>span:first-child{display:block;margin-bottom:1.1vh;font-size:clamp(17px,1.55vw,30px);font-weight:600;text-shadow:0 2px 2px #000}.setup-field i{font-style:normal;font-size:.75em;margin-right:1.2em}.input-shell{display:flex;width:100%;height:44px;border:1px solid var(--gold);border-radius:7px;background:rgba(40,40,40,.54);overflow:hidden;transition:box-shadow .2s}.input-shell:focus-within{box-shadow:0 0 13px rgba(245,215,80,.38) inset,0 0 10px rgba(245,215,80,.15)}.input-shell.flag:before{content:"⚑";display:grid;place-items:center;width:57px;font-size:28px;color:#fff}.input-shell input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff;padding:4px 16px;font-size:clamp(17px,1.45vw,28px)}.input-shell input::placeholder{color:rgba(255,255,255,.35)}.input-shell input:invalid:not(:placeholder-shown){box-shadow:inset 0 -2px #fa6963}.member-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.member-inputs .input-shell{height:44px}.member-inputs .input-shell:before{content:"♟";width:46px;display:grid;place-items:center;color:#fff;font-size:25px}.member-inputs .input-shell:last-child:nth-child(odd){grid-column:1}.score-field{width:49%;margin-top:4vh}.score-field .input-shell{height:44px}.match-form{position:relative;margin:0 .6vw;padding:1.5vh 3.5vw 1.8vh;border:1px solid var(--gold);background:rgba(13,23,31,.62);box-shadow:0 0 0 10px rgba(15,18,21,.28)}.match-form:before,.match-form:after{content:"";position:absolute;width:17px;height:17px;border-color:var(--gold)}.match-form:before{left:-1px;top:-1px;border-left:8px solid var(--gold);border-top:8px solid var(--gold)}.match-form:after{right:-1px;bottom:-1px;border-right:8px solid var(--gold);border-bottom:8px solid var(--gold)}.match-form>legend{position:absolute;width:1px;height:1px;overflow:hidden}.match-line{display:flex;flex-direction:column;align-items:center;gap:2vh}.match-line label{display:grid;grid-template-columns:145px 433px;align-items:center}.match-line label>span:first-child{text-align:right;padding-right:18px;font-size:26px}.match-line .input-shell{height:44px}.mode-line{display:flex;align-items:center;justify-content:center;gap:24px;margin:3.1vh 0 2.1vh;font-size:clamp(16px,1.25vw,24px)}.mode-line>span{font-size:26px}.mode-line label{white-space:nowrap}.mode-line input{width:22px;height:22px;margin:0 7px 0 0;accent-color:#f1ad51}.image-confirm{display:block;width:335px;height:57px;margin:0 auto -2px;border:0;background:url("assets/confirm.png") center/contain no-repeat;cursor:pointer;color:#a85d05;font-size:0;filter:brightness(1);transition:box-shadow .2s}.image-confirm span{font-size:0}.image-confirm:hover,.image-confirm:focus-visible{filter:brightness(1.1);transform:translateY(-1px)}.setup-error{position:absolute;bottom:10px;right:30px;margin:0;color:#ff8a75;font-size:13px}
.draft-view{padding-bottom:46px}.match-header{height:126px;display:grid;grid-template-columns:1fr 360px 1fr;align-items:stretch;background:linear-gradient(180deg,rgba(3,7,12,.92),rgba(3,7,12,.4));border-bottom:1px solid rgba(245,215,80,.5);box-shadow:0 8px 30px rgba(0,0,0,.5)}.team-banner{display:flex;align-items:center;padding:15px 52px;position:relative;overflow:hidden}.team-banner:after{content:"";position:absolute;inset:0;opacity:.48;pointer-events:none}.red-banner{justify-content:flex-end;text-align:right;gap:28px;background:linear-gradient(90deg,rgba(104,5,13,.3),rgba(207,48,47,.56))}.blue-banner{justify-content:flex-start;text-align:left;gap:28px;background:linear-gradient(90deg,rgba(15,138,203,.56),rgba(2,44,83,.28))}.team-banner small{font-size:12px;letter-spacing:.32em;color:rgba(255,255,255,.65)}.team-banner h1{margin:3px 0 0;font:700 30px/1 STKaiti,KaiTi,serif;letter-spacing:.12em}.team-banner strong{font:700 60px/1 Georgia,serif;color:var(--gold-light);text-shadow:0 0 18px rgba(245,215,80,.45)}.match-status{position:relative;z-index:2;text-align:center;padding:10px 0;background:linear-gradient(90deg,rgba(13,15,23,0),rgba(13,15,23,.96) 20% 80%,rgba(13,15,23,0))}.match-status p{margin:0;color:#c5b77c;font-size:13px;letter-spacing:.13em}.match-status h2{margin:3px 0;color:#fff;font:700 18px/1.2 STKaiti,KaiTi,serif}.match-status .timer{font:700 40px/1 "Arial Narrow",sans-serif;color:var(--gold-light);letter-spacing:.05em}.match-status span{display:block;margin-top:2px;color:#fff;font-size:12px}.draft-layout{height:calc(100vh - 222px);min-height:590px;display:grid;grid-template-columns:minmax(245px,18vw) 1fr minmax(245px,18vw);background:rgba(4,9,15,.42)}.team-rail{padding:19px 18px 12px;background:rgba(8,12,18,.78);display:flex;flex-direction:column}.red-rail{border-right:1px solid rgba(221,66,63,.55);box-shadow:inset -20px 0 34px rgba(117,5,16,.18)}.blue-rail{border-left:1px solid rgba(31,156,219,.55);box-shadow:inset 20px 0 34px rgba(2,68,111,.18)}.rail-title{height:44px;border-bottom:1px solid rgba(245,215,80,.55);display:flex;align-items:baseline;justify-content:space-between}.rail-title span{font-size:10px;letter-spacing:.25em;color:#8e8d89}.rail-title b{font:20px STKaiti,KaiTi,serif;color:#eadc9b}.roster{display:grid;gap:8px;margin-top:12px}.roster-slot{height:60px;display:flex;align-items:center;gap:10px;padding:7px 10px;background:rgba(27,25,27,.7);border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}.red-rail .roster-slot{border-left:3px solid rgba(220,69,64,.8)}.blue-rail .roster-slot{border-right:3px solid rgba(31,156,219,.8);flex-direction:row-reverse;text-align:right}.roster-slot .mini-icon{width:44px;height:44px;border:1px solid rgba(245,215,80,.7);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.5);font:700 15px STKaiti,KaiTi,serif;color:#d7d3c7;flex:none}.roster-slot b{display:block;font-size:15px}.roster-slot small{display:block;margin-top:5px;color:rgba(255,255,255,.37);font-size:11px}.roster-slot.is-picked .mini-icon{background:linear-gradient(135deg,#4d3b20,#111);color:#fff5bd;box-shadow:0 0 13px rgba(245,215,80,.28)}.ban-zone{margin-top:auto}.ban-zone h3{font-size:13px;font-weight:400;letter-spacing:.18em;color:#bdb7a5;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:8px}.ban-slots{display:flex;gap:8px;min-height:48px}.ban-slot{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(245,215,80,.46);border-radius:50%;background:rgba(0,0,0,.48);font:11px STKaiti,KaiTi,serif;color:#8d8879}.ban-slot.is-filled{color:#ddd;filter:grayscale(.6);text-decoration:line-through;background:rgba(43,19,21,.8)}
.hero-pool{min-width:0;padding:18px 28px 12px;background:radial-gradient(circle at 50% 22%,rgba(69,71,77,.32),rgba(4,9,15,.74) 62%)}.pool-heading{height:48px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(245,215,80,.36)}.pool-heading p{margin:0;color:#8d8c8a;font-size:9px;letter-spacing:.3em}.pool-heading h2{margin:2px 0;font:700 22px STKaiti,KaiTi,serif;color:#f2e4a4;letter-spacing:.14em}.pool-controls{display:flex;gap:7px}.pool-controls button,.pool-filter button{border:1px solid rgba(255,255,255,.3);background:rgba(10,12,17,.65);color:#bebcb5;padding:6px 10px;font-size:11px;cursor:pointer}.pool-controls button:hover,.pool-controls button:focus-visible,.pool-filter button:hover,.pool-filter button:focus-visible{border-color:var(--gold);color:var(--gold-light)}.pool-filter{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.pool-filter>div{display:flex;gap:5px}.pool-filter button.is-active{background:linear-gradient(#6b5426,#2d2414);border-color:var(--gold);color:var(--gold-light)}.pool-search input{width:170px;height:29px;border:1px solid rgba(255,255,255,.26);border-radius:3px;background:rgba(0,0,0,.4);color:#fff;padding:4px 10px;outline:0}.pool-search input:focus{border-color:var(--gold)}.hero-grid{display:grid;grid-template-columns:repeat(7,minmax(66px,1fr));gap:8px;max-height:calc(100% - 160px);overflow:auto;padding:5px 4px 12px;scrollbar-color:#816b2f rgba(0,0,0,.3)}.hero-card{position:relative;min-height:78px;border:1px solid rgba(233,214,125,.3);background:linear-gradient(145deg,rgba(58,56,53,.64),rgba(16,18,24,.9));color:#e8e4d7;cursor:pointer;padding:7px 4px 5px;text-align:center;overflow:hidden;transition:transform .14s,border-color .14s,box-shadow .14s}.hero-card:before{content:"";display:grid;place-items:center;width:38px;height:38px;margin:0 auto 4px;border-radius:50%;border:1px solid rgba(233,214,125,.58);background:radial-gradient(circle,#534a38,#111 68%);box-shadow:inset 0 0 0 3px rgba(0,0,0,.3);color:#ffe897;font:700 13px STKaiti,KaiTi,serif}.hero-card[data-role="治疗"]:before{content:"疗"}.hero-card[data-role="内功"]:before{content:"内"}.hero-card[data-role="外功"]:before{content:"外"}.hero-card b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-card small{display:block;margin-top:2px;color:rgba(255,255,255,.38);font-size:9px}.hero-card:hover,.hero-card.is-selected{z-index:2;border-color:var(--gold);box-shadow:inset 0 0 13px rgba(255,191,74,.35),0 0 9px rgba(255,191,74,.2);color:var(--gold-light);transform:translateY(-2px)}.hero-card.is-used{filter:grayscale(1);opacity:.25;cursor:not-allowed;transform:none}.hero-card.is-banned:after{content:"BAN";position:absolute;inset:auto -12px 27px;background:rgba(130,8,17,.9);color:#fff;transform:rotate(-13deg);font:700 12px Arial;letter-spacing:.2em}.draft-action{height:55px;margin-top:9px;display:flex;justify-content:center;align-items:center;gap:18px}.pending-pick{width:210px;height:42px;border:1px solid rgba(245,215,80,.48);background:rgba(15,15,17,.72);padding:5px 12px}.pending-pick span{display:block;font-size:9px;color:#7e7b75;letter-spacing:.12em}.pending-pick strong{display:block;margin-top:2px;color:#f2e4a4;font-size:15px}.draft-action>button{width:178px;height:42px;border:1px solid var(--gold);background:linear-gradient(#c28b32,#6e4216);color:#fff6bd;font-weight:700;letter-spacing:.25em;cursor:pointer}.draft-action>button:disabled{border-color:#5e5b51;background:#343333;color:#75736f;cursor:not-allowed}.draft-footer{position:absolute;z-index:2;bottom:0;left:0;right:0;height:46px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(4,8,12,.93);border-top:1px solid rgba(245,215,80,.32);font-size:11px;color:#aaa69a}.draft-footer>div{display:flex;gap:7px}.step-dot{width:8px;height:8px;border:1px solid #80775b;border-radius:50%}.step-dot.is-complete{background:var(--gold);border-color:var(--gold)}.step-dot.is-current{box-shadow:0 0 0 4px rgba(245,215,80,.14);border-color:var(--gold)}.draft-footer button{border:1px solid rgba(245,215,80,.6);background:transparent;color:#d4c890;padding:5px 14px;cursor:pointer}
.bp-dialog{width:min(820px,calc(100vw - 32px));border:1px solid var(--gold);padding:35px 42px;background:rgba(10,14,21,.96) url("assets/end-panel.png") center/cover no-repeat;color:#fff;box-shadow:0 24px 80px #000}.bp-dialog::backdrop{background:rgba(0,0,0,.72)}.bp-dialog>p{text-align:center;margin:0;color:#9e9886;font-size:10px;letter-spacing:.4em}.bp-dialog>h2{text-align:center;margin:6px 0 25px;font:700 27px STKaiti,KaiTi,serif;color:#f1df94;letter-spacing:.2em}.dialog-close{position:absolute;right:13px;top:8px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.result-board{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(245,215,80,.5)}.result-board section{padding:16px}.result-board section+section{border-left:1px solid rgba(245,215,80,.5)}.result-board h3{text-align:center;margin:0 0 14px;font-size:18px}.result-board section:first-child h3{color:#ff817c}.result-board section:last-child h3{color:#70cfff}.result-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding:7px 4px;font-size:13px}.result-row em{font-style:normal;color:#817d71}.dialog-actions{display:flex;justify-content:center;gap:16px;margin-top:24px}.dialog-actions button{border:1px solid var(--gold);background:linear-gradient(#7e652e,#322713);color:#fff1ad;padding:9px 24px;cursor:pointer}.team-dialog-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.team-dialog-content section{border:1px solid rgba(245,215,80,.35);padding:16px}.team-dialog-content h3{margin-top:0}.team-dialog-content ul{padding:0;list-style:none;line-height:1.9;color:#c9c5b9}.toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translate(-50%,20px);padding:10px 20px;background:#191b20;border:1px solid var(--gold);color:#f3e5a3;opacity:0;pointer-events:none;transition:box-shadow .2s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.bp-sitebar{padding-inline:14px}.setup-view{padding:4vh 6vw 3vh}.setup-teams{gap:7vw}.setup-field>span:first-child{font-size:19px}.member-inputs{gap:8px}.match-line label{grid-template-columns:125px minmax(300px,430px)}.match-line label>span:first-child,.mode-line>span{font-size:20px}.mode-line{gap:10px;font-size:15px}.draft-layout{grid-template-columns:220px minmax(640px,1fr) 220px;overflow-x:auto}.hero-grid{grid-template-columns:repeat(6,minmax(70px,1fr))}.team-banner{padding-inline:20px}}
@media(max-width:720px){.bp-sitebar{height:52px}.bp-brand img{width:92px}.bp-brand small{display:none}.bp-site-actions button{display:none}.bp-site-actions a{padding:5px 8px;font-size:12px}.bp-app{min-width:0;overflow:auto}.setup-view{align-items:flex-start;min-height:auto;padding:24px 14px 30px}.setup-title{width:280px;margin-bottom:24px}.setup-teams{display:block}.team-form-blue{margin-top:25px}.setup-field{margin-bottom:18px}.setup-field>span:first-child{font-size:17px}.input-shell,.member-inputs .input-shell{height:42px}.input-shell input{font-size:16px}.member-inputs{grid-template-columns:1fr;gap:8px}.member-inputs .input-shell:last-child:nth-child(odd){grid-column:auto}.score-field{width:100%;margin-top:20px}.match-form{margin:20px 0 0;padding:22px 13px 17px}.match-line label{width:100%;display:block}.match-line label>span:first-child{display:block;text-align:left;padding:0 0 7px;font-size:16px}.mode-line{align-items:flex-start;flex-direction:column;margin:20px 0 16px;font-size:14px}.mode-line>span{font-size:16px}.image-confirm{width:250px}.setup-error{position:static;min-height:19px;margin-bottom:5px}.draft-view{min-width:1180px}.match-header{grid-template-columns:1fr 290px 1fr}.draft-layout{height:650px}.bp-dialog{padding:30px 18px}.result-board,.team-dialog-content{grid-template-columns:1fr}.result-board section+section{border-left:0;border-top:1px solid rgba(245,215,80,.5)}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) *,html:not(.motion-full) *:before,html:not(.motion-full) *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.setup-help{margin:0 0 7px;text-align:center;color:rgba(255,255,255,.6);font-size:12px}.shortcut-hint{margin:0;color:#77756f;letter-spacing:.05em}
.bp-app{background-image:url("assets/official/bg-09cbf888.jpg")}.image-confirm{background-image:url("assets/official/confirm-btn-6cce9154.png")}.bp-dialog{background-image:url("assets/official/end_bg-a76ee583.png")}
.team-banner.red-banner{background-image:url("assets/official/红方标题框-27cb3c96.png");background-size:100% 100%;background-position:center}.team-banner.blue-banner{background-image:url("assets/official/蓝方标题框-12c401e2.png");background-size:100% 100%;background-position:center}.red-banner.is-turn:after{background:url("assets/official/红方高亮-47f55dbf.png") center/100% 100% no-repeat;animation:turnGlow 1.65s ease-in-out infinite}.blue-banner.is-turn:after{background:url("assets/official/蓝方高亮-9293f266.png") center/100% 100% no-repeat;animation:turnGlow 1.65s ease-in-out infinite}.hero-card{background-image:url("assets/official/蓝方队友选择背景框-2a4132f7.jpg");background-size:cover}.hero-card.is-selected:after{content:"";position:absolute;inset:-1px;background:url("assets/official/选中框左-3a628b43.png") center/100% 100% no-repeat;pointer-events:none;z-index:2;animation:selectedFrame .75s ease-in-out infinite alternate}.hero-card>img{position:relative;z-index:1;display:block;width:40px;height:40px;margin:0 auto 3px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 5px rgba(245,215,80,.45))}.hero-card:before{display:none}.roster-slot .mini-icon{background-position:center;background-size:cover;background-repeat:no-repeat}.ban-slot{background-position:center!important}.timer.is-warning{color:#ff786d;animation:timerWarning .65s steps(2,end) infinite}.draft-view.is-locking .hero-pool{animation:impactShake .24s cubic-bezier(.36,.07,.19,.97)}.draft-view.is-locking:after{content:"";position:absolute;z-index:15;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,244,170,.34) 49%,transparent 60%);animation:lockFlash .34s ease-out}.ambient-fx{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.ambient-fx i{position:absolute;bottom:-30px;width:4px;height:4px;border-radius:50%;background:#ff9b3e;box-shadow:0 0 7px #ff681d;opacity:0;animation:emberRise 6s linear infinite}.ambient-fx i:nth-child(1){left:7%;animation-delay:-1s}.ambient-fx i:nth-child(2){left:22%;animation-delay:-3.7s;animation-duration:8s}.ambient-fx i:nth-child(3){left:42%;animation-delay:-5s}.ambient-fx i:nth-child(4){left:68%;animation-delay:-2s;background:#66d4ff;box-shadow:0 0 7px #159ce5}.ambient-fx i:nth-child(5){left:81%;animation-delay:-4.8s;background:#66d4ff;box-shadow:0 0 7px #159ce5;animation-duration:7s}.ambient-fx i:nth-child(6){left:94%;animation-delay:-.8s;background:#66d4ff;box-shadow:0 0 7px #159ce5}.turn-sweep{position:absolute;z-index:1;top:126px;bottom:46px;width:38%;pointer-events:none;opacity:0}.draft-view.turn-red .turn-sweep{left:-38%;background:linear-gradient(100deg,transparent,rgba(214,46,48,.13),transparent);animation:sweepRed 1s ease-out}.draft-view.turn-blue .turn-sweep{right:-38%;background:linear-gradient(80deg,transparent,rgba(28,152,219,.13),transparent);animation:sweepBlue 1s ease-out}.stage-curtain{position:fixed;z-index:90;inset:0;display:grid;place-items:center;pointer-events:none;visibility:hidden;background:linear-gradient(110deg,rgba(94,8,17,.96) 0 49.7%,#efd169 49.9% 50.1%,rgba(2,50,91,.96) 50.3%);clip-path:inset(0 50% 0 50%);transition:clip-path .38s cubic-bezier(.77,0,.18,1),visibility 0s .4s}.stage-curtain.is-active{visibility:visible;clip-path:inset(0);transition:clip-path .38s cubic-bezier(.77,0,.18,1)}.stage-curtain.is-leaving{visibility:visible;clip-path:inset(0 50% 0 50%);transition:clip-path .5s cubic-bezier(.77,0,.18,1) .45s}.stage-curtain>div{text-align:center;text-shadow:0 2px 12px #000}.stage-curtain small{display:block;color:#d5c174;letter-spacing:.5em;font-size:12px}.stage-curtain strong{display:block;margin:10px 0;color:#fff5b4;font:700 47px STKaiti,KaiTi,serif;letter-spacing:.18em;animation:curtainTitle .65s cubic-bezier(.18,.89,.32,1.28)}.stage-curtain span{display:block;width:130px;margin:auto;border-bottom:1px solid #e7ca61}.bp-dialog[open]{animation:dialogReveal .38s cubic-bezier(.18,.89,.32,1.18)}.result-row{animation:rowReveal .35s ease-out both}.result-row:nth-child(2){animation-delay:.06s}.result-row:nth-child(3){animation-delay:.12s}.result-row:nth-child(4){animation-delay:.18s}
@keyframes turnGlow{0%,100%{opacity:.25;filter:brightness(.8)}50%{opacity:.8;filter:brightness(1.2)}}@keyframes selectedFrame{from{opacity:.55;filter:brightness(.9)}to{opacity:1;filter:brightness(1.25)}}@keyframes timerWarning{50%{text-shadow:0 0 18px #ff3939;transform:scale(1.04)}}@keyframes impactShake{10%,90%{transform:translateX(-1px)}30%,70%{transform:translateX(3px)}50%{transform:translateX(-4px)}}@keyframes lockFlash{from{opacity:1;transform:translateX(-30%)}to{opacity:0;transform:translateX(35%)}}@keyframes emberRise{0%{transform:translate3d(0,0,0) scale(.6);opacity:0}15%{opacity:.75}100%{transform:translate3d(35px,-70vh,0) scale(1.5);opacity:0}}@keyframes sweepRed{from{left:-38%;opacity:1}to{left:48%;opacity:0}}@keyframes sweepBlue{from{right:-38%;opacity:1}to{right:48%;opacity:0}}@keyframes curtainTitle{from{opacity:0;transform:scale(.65);letter-spacing:.4em}to{opacity:1;transform:scale(1);letter-spacing:.18em}}@keyframes dialogReveal{from{opacity:0;transform:translateY(24px) scale(.92)}to{opacity:1;transform:none}}@keyframes rowReveal{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.reduce-motion .ambient-fx,.reduce-motion .turn-sweep{display:none}.reduce-motion .red-banner.is-turn:after,.reduce-motion .blue-banner.is-turn:after,.reduce-motion .hero-card.is-selected:after,.reduce-motion .timer.is-warning,.reduce-motion .draft-view.is-locking .hero-pool,.reduce-motion .draft-view.is-locking:after,.reduce-motion .result-row,.reduce-motion .bp-dialog[open]{animation:none!important}.reduce-motion .stage-curtain{display:none}
.team-dialog-content label{display:flex;flex-direction:column;gap:6px;margin:10px 0;color:#aaa69a;font-size:12px}.team-dialog-content input{height:36px;border:1px solid var(--gold);background:rgba(0,0,0,.4);color:#fff;padding:4px 10px}.team-save{grid-column:1/-1;justify-self:center;border:1px solid var(--gold);background:linear-gradient(#7e652e,#322713);color:#fff1ad;padding:9px 26px;cursor:pointer}.team-dialog-content .team-save{display:block}.hero-card:focus-visible,.pool-controls button:focus-visible,.draft-footer button:focus-visible,.bp-site-actions button:focus-visible,.bp-site-actions a:focus-visible{outline:2px solid #fff3a1;outline-offset:2px}
.draft-view:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(4,9,15,.65),rgba(4,9,15,.78)),var(--map-art);background-position:var(--map-focus,50% 45%);background-size:cover;opacity:.5;transition:opacity .5s}
.lineup-help{text-align:center;color:#aba79a;font-size:12px;letter-spacing:0!important}.lineup-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lineup-content section{border:1px solid rgba(245,215,80,.42);padding:14px}.lineup-content h3{text-align:center;margin:0 0 12px;color:#f1df94}.lineup-content label{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;margin:9px 0}.lineup-content label>span{display:flex;align-items:center;gap:8px}.lineup-content img{width:34px;height:34px;border-radius:50%}.lineup-content select{height:34px;border:1px solid var(--gold);background:#17191e;color:#fff;padding:2px 8px}.lineup-error{min-height:20px;text-align:center;color:#ff8576;font-size:12px}.lineup-dialog .dialog-actions{margin-top:8px}
@media(max-width:720px){.lineup-content{grid-template-columns:1fr}}
[hidden]{display:none!important}.image-confirm{position:relative;display:grid;place-items:center}.image-confirm span{font:700 23px STKaiti,KaiTi,serif;color:#9c5a0b;letter-spacing:.45em;text-indent:.45em;text-shadow:0 1px rgba(255,255,255,.6)}

/* 直播操作台响应式校准：所有文本与控件使用共同基线，布局不依赖横向滚动。 */
.bp-site-actions a,.bp-site-actions button,.pool-controls button,.pool-filter button,.draft-footer button,.dialog-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;line-height:1.15;text-align:center;white-space:nowrap}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(245,215,80,.14)}
.input-shell{transition:box-shadow .2s}.image-confirm{transition:filter .2s,transform .2s}.toast{transition:opacity .2s,transform .2s}
.skip-link:focus:not(:focus-visible){transform:translateY(-150%)}.is-drafting .skip-link{display:none}.pool-heading h2:focus{outline:0}
.guide-button span{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border:1px solid currentColor;border-radius:50%;font:700 11px/1 Arial,sans-serif}
.setup-field>span:first-child,.match-line label>span:first-child,.mode-line>span{line-height:1.25}
.input-shell input{line-height:1.25}
.team-banner>div{min-width:0}.team-banner h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}
.team-banner small{display:block;line-height:1.2}.team-banner strong{display:flex;align-items:center;justify-content:center;line-height:1}
.match-status{display:flex;flex-direction:column;align-items:center;justify-content:center}.match-status p,.match-status h2,.match-status span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-status .timer{font-variant-numeric:tabular-nums}
.rail-title{align-items:center}.roster-slot>div{min-width:0;flex:1}.roster-slot b,.roster-slot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}
.pool-heading{align-items:center}.pool-heading h2,.pool-heading p{line-height:1.2}.pool-controls{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pool-filter{gap:12px}.pool-filter>div{flex-wrap:wrap}.pool-search{margin-left:auto}.pool-search input{line-height:1.2}
.hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.hero-card b,.hero-card small{width:100%;line-height:1.25}.hero-card>img{flex:none}
.pending-pick{display:flex;flex-direction:column;justify-content:center}.pending-pick span,.pending-pick strong{line-height:1.2}
.draft-footer>span,.shortcut-hint{line-height:1.3}.draft-footer>div{align-items:center}.draft-footer-actions{display:flex;align-items:center;gap:7px}
.bp-dialog{max-height:min(90dvh,900px);overflow:auto;overscroll-behavior:contain}.bp-dialog>h2{line-height:1.2}.dialog-close{display:grid;place-items:center;width:42px;height:42px;line-height:1}

.guide-dialog{width:min(920px,calc(100vw - 32px));padding:30px 38px}.guide-dialog .guide-intro{max-width:720px;margin:-10px auto 20px;color:#c8c3b5;font-size:13px;line-height:1.75;letter-spacing:0;text-align:center}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-grid section{padding:15px 17px;border:1px solid rgba(245,215,80,.3);background:rgba(3,8,14,.52)}.guide-grid h3,.guide-safety h3{display:flex;align-items:center;gap:9px;margin:0 0 8px;color:#f1df94;font-size:15px;line-height:1.3}.guide-grid h3 span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(245,215,80,.55);border-radius:50%;color:#d4bc60;font:700 10px/1 Georgia,serif}.guide-grid p{margin:0;color:#bbb6aa;font-size:13px;line-height:1.75}.guide-safety{margin-top:12px;padding:14px 17px;border-left:3px solid var(--gold);background:rgba(245,215,80,.06)}.guide-safety ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}.guide-safety li{position:relative;padding-left:15px;color:#c9c4b8;font-size:12px;line-height:1.65}.guide-safety li:before{content:"◆";position:absolute;left:0;top:1px;color:var(--gold);font-size:8px}.guide-shortcuts{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin-top:16px;color:#a9a498;font-size:12px}.guide-shortcuts span{display:inline-flex;align-items:center;gap:5px}.guide-shortcuts kbd{min-width:26px;padding:4px 7px;border:1px solid #807351;border-bottom-width:2px;border-radius:3px;background:#16191f;color:#f0dc8d;font:11px/1.1 "Microsoft YaHei",sans-serif;text-align:center}

.room-status{position:fixed;z-index:18;top:58px;right:12px;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:7px 9px;border:1px solid rgba(245,215,80,.42);background:rgba(4,9,15,.94);box-shadow:0 8px 24px rgba(0,0,0,.35);color:#aaa69a;font-size:11px;line-height:1.2}.room-status[hidden]{display:none!important}.room-status b{color:#f3e3a0;font-weight:600}.room-status button{min-height:27px;border:1px solid var(--gold);background:rgba(245,215,80,.08);color:#f1dc86;padding:3px 9px;cursor:pointer}.room-live-dot{width:8px;height:8px;border-radius:50%;background:#6bd388;box-shadow:0 0 8px rgba(107,211,136,.8)}.room-dialog{width:min(700px,calc(100vw - 32px))}.room-intro{max-width:570px;margin:-8px auto 22px!important;color:#c5c0b4!important;font-size:13px!important;line-height:1.75;letter-spacing:0!important}.room-link-field,.claim-dialog label{display:flex;flex-direction:column;gap:7px;color:#b8b2a4;font-size:12px}.room-link-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.room-link-field input,.claim-dialog input{min-width:0;height:43px;border:1px solid rgba(245,215,80,.6);background:#0b1018;color:#fff;padding:6px 12px;outline:0}.room-link-field input:focus-visible,.claim-dialog input:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,215,80,.2)}.room-copy-button{min-width:64px;min-height:34px;border:1px solid rgba(245,215,80,.52);background:linear-gradient(180deg,rgba(99,75,28,.48),rgba(20,18,16,.72));color:#eadb98;padding:5px 11px;cursor:pointer;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.room-link-copy>.room-copy-button{min-width:92px}.room-copy-button:hover,.room-copy-button:focus-visible{border-color:#ffe57d;color:#fff2b3;box-shadow:0 0 10px rgba(245,215,80,.16)}.room-copy-button.is-copied{border-color:#68d18b;background:rgba(32,101,61,.35);color:#92edaf;box-shadow:0 0 12px rgba(71,196,112,.18)}.seat-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.seat-code-grid section{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px 10px 16px;border:1px solid rgba(255,255,255,.16);background:rgba(3,8,14,.6)}.seat-code-grid span{font-size:13px}.seat-code-grid strong{font:700 30px/1 Georgia,serif;letter-spacing:.12em;font-variant-numeric:tabular-nums}.red-seat{border-left:3px solid var(--red)!important}.red-seat strong{color:#ff8b82}.red-seat .room-copy-button{border-color:rgba(255,99,92,.38);color:#ffaaa3}.blue-seat{border-right:3px solid var(--blue)!important}.blue-seat strong{color:#75d0ff}.blue-seat .room-copy-button{border-color:rgba(58,176,236,.4);color:#9edcff}.red-seat .room-copy-button.is-copied,.blue-seat .room-copy-button.is-copied{border-color:#68d18b;color:#92edaf}.room-expiry{text-align:center!important;margin:14px 0 0!important;color:#858174!important;font-size:11px!important;letter-spacing:0!important}.claim-dialog{width:min(520px,calc(100vw - 24px));text-align:center}.claim-room-name{margin:-8px 0 22px!important;color:#d2cdbf!important;font-size:14px!important;letter-spacing:0!important}.claim-dialog label{text-align:left}.claim-dialog input{font:700 30px/1 Georgia,serif;text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums}.claim-dialog form>button{width:100%;min-height:44px;margin-top:12px;border:1px solid var(--gold);background:linear-gradient(#7e652e,#322713);color:#fff1ad;cursor:pointer}.claim-dialog form>button:disabled{opacity:.6;cursor:wait}.claim-error{min-height:20px;margin:7px 0 0;color:#ff8b7c;font-size:12px}.claim-help{margin:14px 0 0!important;color:#898577!important;font-size:11px!important;line-height:1.6;letter-spacing:0!important}.is-drafting[data-room-role="red"] .red-banner,.is-drafting[data-room-role="blue"] .blue-banner{box-shadow:inset 0 0 0 2px rgba(245,215,80,.68)}

@media (max-width:1500px), (max-height:850px){
  .setup-view{align-items:flex-start;padding:18px 5vw 24px;overflow:auto}.setup-title{width:min(360px,27vw);margin-bottom:12px}.setup-teams{gap:6vw}.setup-field{margin-bottom:12px}.setup-field>span:first-child{margin-bottom:6px;font-size:18px}.input-shell,.member-inputs .input-shell,.score-field .input-shell{height:38px}.input-shell input{font-size:16px}.score-field{margin-top:14px}.match-form{padding:11px 24px 13px}.match-line{display:grid;grid-template-columns:1fr 1fr;gap:18px}.match-line label{grid-template-columns:105px minmax(0,1fr)}.match-line label>span:first-child,.mode-line>span{font-size:17px}.mode-line{gap:14px;margin:14px 0 11px;font-size:14px}.mode-line input{width:18px;height:18px}.setup-help{font-size:11px}.image-confirm{width:265px;height:46px}.image-confirm span{font-size:19px}
  .match-header{height:106px;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr)}.team-banner{padding:10px 28px;gap:18px}.team-banner h1{font-size:24px}.team-banner strong{font-size:48px}.match-status{padding:6px 0}.match-status p{font-size:11px}.match-status h2{font-size:15px}.match-status .timer{font-size:34px}.match-status span{font-size:11px}
  .draft-layout{height:calc(100dvh - 202px);min-height:0;grid-template-columns:clamp(185px,17vw,245px) minmax(0,1fr) clamp(185px,17vw,245px);overflow:hidden}.team-rail{padding:12px 12px 8px}.rail-title{height:35px}.rail-title b{font-size:16px}.roster{gap:6px;margin-top:8px}.roster-slot{height:48px;padding:5px 7px;gap:7px}.roster-slot .mini-icon{width:36px;height:36px}.roster-slot b{font-size:13px}.roster-slot small{margin-top:2px;font-size:9px}.ban-zone h3{margin:8px 0;font-size:11px}.ban-slot{width:40px;height:40px}.hero-pool{padding:10px 14px 7px}.pool-heading{height:42px}.pool-heading h2{font-size:18px}.pool-controls{gap:5px}.pool-controls button,.pool-filter button{min-height:28px;padding:4px 7px;font-size:10px}.pool-filter{margin:7px 0}.pool-search input{width:145px;height:28px}.hero-grid{grid-template-columns:repeat(6,minmax(58px,1fr));gap:6px;max-height:calc(100% - 139px);padding-bottom:7px}.hero-card{min-height:68px;padding:5px 3px 4px}.hero-card>img{width:34px;height:34px;margin-bottom:2px}.hero-card b{font-size:11px}.hero-card small{font-size:8px}.draft-action{height:45px;margin-top:5px;gap:10px}.pending-pick{width:190px;height:38px}.draft-action>button{width:160px;height:38px;font-size:12px}.draft-footer{height:46px;padding:0 14px}
}

@media (max-width:720px){.room-status{position:static;max-width:none;border-inline:0}.room-link-copy{grid-template-columns:1fr}.room-link-copy>.room-copy-button{width:100%}.seat-code-grid{grid-template-columns:1fr}.room-dialog .dialog-actions{flex-direction:column}.room-dialog .dialog-actions button{width:100%}}

@media (max-width:1000px){
  .bp-brand small{display:none}.bp-site-actions{gap:6px}.bp-site-actions a,.bp-site-actions button{padding:5px 8px;font-size:12px}
  .setup-teams{gap:28px}.match-line{grid-template-columns:1fr}.match-line label{width:min(100%,560px);margin:auto}.mode-line{align-items:flex-start;flex-wrap:wrap}.mode-line>span{width:100%;text-align:center}
  .match-header{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr)}.team-banner{padding-inline:12px;gap:9px}.team-banner h1{font-size:20px}.team-banner strong{font-size:40px}.draft-layout{grid-template-columns:160px minmax(0,1fr) 160px}.team-rail{padding-inline:8px}.rail-title span{display:none}.roster-slot{padding-inline:5px}.roster-slot .mini-icon{width:32px;height:32px}.hero-pool{padding-inline:10px}.pool-heading>div:first-child p{display:none}.pool-heading h2{font-size:16px}.hero-grid{grid-template-columns:repeat(4,minmax(58px,1fr))}.shortcut-hint{display:none}
}

@media (max-width:720px){
  .bp-sitebar{height:auto;min-height:52px;padding:7px max(9px,env(safe-area-inset-right)) 7px max(9px,env(safe-area-inset-left))}.bp-brand{gap:7px}.bp-brand img{width:78px}.bp-brand b{font-size:16px}.bp-site-actions .guide-button{display:inline-flex}.bp-site-actions #soundToggle,.bp-site-actions #motionToggle,.bp-site-actions a{display:none}.bp-app{min-width:0;overflow:visible}.setup-view,.draft-view{min-height:calc(100dvh - 52px)}
  .setup-view{padding:18px max(14px,env(safe-area-inset-right)) 28px max(14px,env(safe-area-inset-left))}.setup-title{width:min(280px,82vw);margin:0 auto 20px}.setup-teams{display:block}.team-form-blue{margin-top:22px}.member-inputs{grid-template-columns:1fr}.score-field{width:100%}.match-form{margin-top:18px;padding:18px 13px}.match-line{display:block}.match-line label{display:block;margin-bottom:13px}.match-line label>span:first-child{text-align:left;padding:0 0 6px}.mode-line{display:grid;grid-template-columns:1fr;margin:16px 0 12px}.mode-line>span{text-align:left}.image-confirm{width:min(250px,80vw)}
  .draft-view{min-width:0;padding-bottom:0}.match-header{height:88px;grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr)}.team-banner{padding:7px 6px;gap:4px}.team-banner small{font-size:8px;letter-spacing:.08em}.team-banner h1{font-size:14px;letter-spacing:0}.team-banner strong{font-size:29px}.match-status p{font-size:8px}.match-status h2{font-size:11px;margin:1px 0}.match-status .timer{font-size:26px}.match-status span{font-size:9px}.draft-layout{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"pool pool" "red blue";overflow:visible}.hero-pool{grid-area:pool;min-height:545px;padding:10px 8px}.red-rail{grid-area:red}.blue-rail{grid-area:blue}.team-rail{min-width:0;min-height:410px}.pool-heading{height:auto;min-height:70px;align-items:flex-start;gap:7px}.pool-heading h2{font-size:15px}.pool-controls{max-width:210px}.pool-controls button{flex:1 1 auto}.pool-filter{align-items:stretch;flex-direction:column}.pool-search{width:100%;margin:0}.pool-search input{width:100%}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:338px}.hero-card{min-height:68px}.draft-action{height:auto;margin:7px 0;gap:7px}.pending-pick{min-width:0;width:52%;padding-inline:7px}.draft-action>button{min-width:0;width:48%;letter-spacing:.08em}.rail-title b{font-size:13px}.roster-slot{height:46px}.roster-slot .mini-icon{width:30px;height:30px}.roster-slot b{font-size:11px}.roster-slot small{font-size:8px}.draft-footer{position:static;height:auto;min-height:52px;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto;gap:7px 10px}.draft-footer>div{grid-row:2;grid-column:1/-1;justify-content:center}.draft-footer button{padding-inline:9px}
  .bp-dialog,.guide-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:26px 14px 18px}.bp-dialog>h2{margin-bottom:18px;font-size:22px}.guide-dialog .guide-intro{text-align:left}.guide-grid{grid-template-columns:1fr}.guide-grid section{padding:12px}.guide-safety ul{grid-template-columns:1fr;gap:6px}.guide-shortcuts{justify-content:flex-start}.lineup-content{grid-template-columns:1fr}.result-board,.team-dialog-content{grid-template-columns:1fr}.result-board section+section{border-left:0;border-top:1px solid rgba(245,215,80,.5)}.toast{bottom:64px;width:calc(100vw - 24px);max-width:360px;padding:9px 12px;text-align:center;line-height:1.5}
}

/* 赛前赛事台：沿用原 BP 的金线框与红蓝阵营语言，信息密度按直播控制台处理。 */
.event-planner-actions{display:flex;align-items:center;gap:8px;flex:none}.event-planner-actions #clearEventPlan{border-color:rgba(255,255,255,.22);background:rgba(0,0,0,.28);color:#aaa69a}
.event-planner-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:12px 18px;border:1px solid rgba(245,215,80,.52);border-left:4px solid var(--gold);background:linear-gradient(90deg,rgba(7,12,20,.9),rgba(35,28,14,.72));box-shadow:0 8px 24px rgba(0,0,0,.28)}.event-planner-entry small,.event-editor-heading small,.pre-match-side header small{display:block;color:#a69459;font:9px/1.2 Arial,sans-serif;letter-spacing:.28em}.event-planner-entry h2{margin:3px 0 2px;color:#f0dfa0;font:700 19px/1.25 STKaiti,KaiTi,serif;letter-spacing:.08em}.event-planner-entry p{margin:0;color:#aaa69a;font-size:12px;line-height:1.5}.event-planner-entry button,.event-editor-heading button{flex:none;min-height:38px;border:1px solid var(--gold);background:linear-gradient(#765d29,#30240f);color:#fff0a8;padding:7px 17px;cursor:pointer}.event-planner-dialog{width:min(1120px,calc(100vw - 28px));padding:28px 32px}.event-planner-intro{max-width:760px;margin:-10px auto 18px!important;color:#bcb7aa!important;font-size:13px!important;line-height:1.7;letter-spacing:0!important}.event-name-field{display:grid;grid-template-columns:90px minmax(0,420px);align-items:center;justify-content:center;gap:10px;margin-bottom:17px;color:#c7c1b1;font-size:13px}.event-name-field input,.event-team-card input,.event-match-row input,.event-match-row select,.pre-match-row select{height:36px;border:1px solid rgba(245,215,80,.52);background:#10151d;color:#fff;padding:4px 9px;outline:0}.event-name-field input:focus,.event-team-card input:focus,.event-match-row input:focus,.event-match-row select:focus,.pre-match-row select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,215,80,.14)}.event-editor-section{margin-top:14px;padding:14px;border:1px solid rgba(245,215,80,.28);background:rgba(3,8,14,.55)}.event-editor-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.event-editor-heading h3{margin:2px 0 0;color:#f1df94;font:700 17px/1.2 STKaiti,KaiTi,serif}.event-editor-heading button{min-height:31px;padding:4px 11px;font-size:12px}.event-team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.event-team-card{padding:11px;border:1px solid rgba(255,255,255,.13);background:rgba(14,18,25,.82)}.event-team-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.event-team-card header b{color:#e6d584;font-size:13px}.event-team-card header button,.event-match-row>button{border:0;background:transparent;color:#8d897e;font-size:11px;cursor:pointer}.event-team-card header button:hover,.event-match-row>button:hover{color:#ff887d}.event-team-card button:disabled,.event-match-row button:disabled{opacity:.28;cursor:not-allowed}.event-team-card>label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:7px;color:#aaa599;font-size:11px}.event-member-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.event-member-grid label{display:flex;flex-direction:column;gap:3px}.event-member-grid span{color:#7e7a70;font-size:9px}.event-member-grid input{min-width:0;width:100%;height:32px;font-size:12px}.event-match-list{display:grid;gap:7px}.event-match-row{display:grid;grid-template-columns:31px minmax(130px,1.25fr) minmax(105px,1fr) 28px minmax(105px,1fr) minmax(95px,.75fr) 35px;align-items:end;gap:7px;padding:9px;border-left:2px solid rgba(245,215,80,.5);background:rgba(14,18,25,.78)}.event-match-row>b{align-self:center;color:#bda64e;font:700 17px/1 Georgia,serif}.event-match-row label{display:flex;min-width:0;flex-direction:column;gap:4px;color:#8f8b80;font-size:9px}.event-match-row input,.event-match-row select{min-width:0;width:100%;height:32px;font-size:11px}.event-match-vs{align-self:center;color:#6e6b63;font:700 10px Arial,sans-serif;text-align:center}
.pre-match-dialog{width:min(980px,calc(100vw - 28px));padding:29px 34px}.map-draw-panel{display:grid;grid-template-columns:minmax(240px,1.1fr) 1fr;min-height:140px;margin-bottom:16px;border:1px solid rgba(245,215,80,.45);background:rgba(4,9,15,.72)}.map-draw-panel>div:first-child{display:grid;place-items:end start;min-height:140px;padding:14px;background:radial-gradient(circle,rgba(67,57,26,.35),rgba(5,9,15,.84));background-size:cover;background-position:center;transition:background-image .35s}.map-draw-panel>div:first-child span{padding:5px 9px;background:rgba(0,0,0,.72);color:#fff0ae;font:700 16px STKaiti,KaiTi,serif}.map-draw-panel>div:last-child{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px}.map-draw-panel small{color:#8d8260;font-size:9px;letter-spacing:.28em}.map-draw-panel strong{margin:7px 0 14px;color:#f4e6a8;font:700 22px STKaiti,KaiTi,serif}.map-draw-panel button{min-height:37px;border:1px solid var(--gold);background:linear-gradient(#865f25,#36230c);color:#fff0ad;padding:6px 20px;cursor:pointer}.pre-match-lineups{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pre-match-side{padding:12px;border:1px solid rgba(255,255,255,.14);background:rgba(5,10,16,.67)}.pre-match-side.red-side{border-left:3px solid var(--red)}.pre-match-side.blue-side{border-right:3px solid var(--blue)}.pre-match-side header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.pre-match-side h3{margin:3px 0 0;color:#f0e3b0;font:700 17px STKaiti,KaiTi,serif}.submission-state{padding:4px 8px;border:1px solid rgba(255,255,255,.18);color:#8f8b80;font-size:10px}.submission-state.is-ready{border-color:#60c780;color:#7ee39c;background:rgba(58,160,88,.09)}.pre-match-row{display:grid;grid-template-columns:26px 1fr 1fr;align-items:end;gap:7px;margin-top:7px}.pre-match-row>b{align-self:center;color:#857e68;font:700 17px Georgia,serif}.pre-match-row label{display:flex;min-width:0;flex-direction:column;gap:3px;color:#8f8b80;font-size:9px}.pre-match-row select{min-width:0;width:100%;height:34px;font-size:12px}.pre-match-row select:disabled{opacity:.65}.roster-slot.is-declared{border-color:rgba(245,215,80,.55)}.roster-slot.is-declared small{color:#d8c876}.match-queue-dialog{width:min(850px,calc(100vw - 28px))}.match-queue-list{display:grid;gap:8px}.match-queue-item{display:grid;grid-template-columns:38px 1fr 90px 94px;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.14);background:rgba(4,9,15,.7)}.match-queue-item.is-active{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);background:rgba(92,71,23,.15)}.match-queue-item>span{color:#ad9a55;font:700 20px Georgia,serif}.match-queue-item small{display:block;margin-bottom:4px;color:#8c887c;font-size:10px}.match-queue-item b{font-size:14px}.match-queue-item b i{margin:0 6px;color:#7b776d;font:700 9px Arial,sans-serif}.match-queue-item em{color:#aaa599;font-size:11px;font-style:normal;text-align:center}.match-queue-item button{min-height:34px;border:1px solid rgba(245,215,80,.62);background:rgba(245,215,80,.07);color:#ead98f;cursor:pointer}.match-queue-item button:disabled{border-color:rgba(255,255,255,.15);color:#77736b;cursor:default}.match-queue-summary{padding-left:8px;border-left:1px solid rgba(245,215,80,.3);color:#d1c076;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.event-planner-entry{margin-bottom:12px}.event-member-grid{grid-template-columns:repeat(3,1fr)}.event-match-row{grid-template-columns:31px 1fr 1fr 24px 1fr}.event-match-row label:nth-of-type(4){grid-column:2/5}.event-match-row>button{grid-column:5}.room-status{flex-wrap:wrap;justify-content:flex-end}.room-status #roomSyncText{display:none}}
@media(max-width:720px){.event-planner-entry{align-items:flex-start;flex-direction:column;padding:12px}.event-planner-entry button{width:100%}.event-planner-dialog,.pre-match-dialog{padding-inline:12px}.event-name-field{grid-template-columns:1fr;gap:5px}.event-team-list,.pre-match-lineups{grid-template-columns:1fr}.event-member-grid{grid-template-columns:repeat(2,1fr)}.event-match-row{grid-template-columns:27px 1fr 1fr}.event-match-row label:first-of-type{grid-column:2/4}.event-match-row .event-match-vs{display:none}.event-match-row label:nth-of-type(4){grid-column:2/3}.event-match-row>button{grid-column:3}.map-draw-panel{grid-template-columns:1fr}.map-draw-panel>div:last-child{min-height:115px}.pre-match-row{grid-template-columns:22px 1fr 1fr}.match-queue-item{grid-template-columns:31px 1fr 74px}.match-queue-item>em{display:none}.match-queue-item button{font-size:11px}.room-status{position:sticky;top:0;justify-content:flex-start;padding-inline:max(9px,env(safe-area-inset-left))}.room-status #roomSyncText{display:none}.match-queue-summary{margin-left:auto}}
@media(max-width:720px){.event-planner-actions{width:100%}}

/* 已选心法：复用原 BP 的门派立绘、左右选中框与 107% 圆形图标比例。 */
.roster-slot{transition:height .3s cubic-bezier(.22,.61,.36,1),border-color .2s,box-shadow .2s}
.roster-slot.is-picked{height:112px;border-color:rgba(245,215,80,.62);isolation:isolate;box-shadow:inset 0 0 24px rgba(0,0,0,.48),0 5px 16px rgba(0,0,0,.2)}
.roster-slot.is-picked:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none}
.red-rail .roster-slot.is-picked:before{background:linear-gradient(90deg,rgba(24,7,10,.98) 0,rgba(37,9,13,.76) 35%,rgba(37,9,13,.08) 72%)}
.blue-rail .roster-slot.is-picked:before{background:linear-gradient(270deg,rgba(4,19,31,.98) 0,rgba(3,30,49,.76) 35%,rgba(3,30,49,.08) 72%)}
.roster-slot.is-picked:after{content:"";position:absolute;z-index:3;inset:-1px;pointer-events:none;background-position:center;background-size:100% 100%;background-repeat:no-repeat;opacity:.88;animation:selectedFrame 1.1s ease-in-out infinite alternate}
.red-rail .roster-slot.is-picked:after{background-image:url("assets/official/选中框左-3a628b43.png")}
.blue-rail .roster-slot.is-picked:after{background-image:url("assets/official/选中框右-766faca1.png")}
.role-portrait{position:absolute;z-index:0;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}
.red-rail .role-portrait{object-position:right center}
.blue-rail .role-portrait{object-position:left center}
.red-rail .role-portrait{animation:redRoleIn .5s cubic-bezier(.22,.76,.3,1) both}
.blue-rail .role-portrait{animation:blueRoleIn .5s cubic-bezier(.22,.76,.3,1) both}
.roster-slot .mini-icon,.roster-slot .roster-copy{position:relative;z-index:2}
.roster-slot .mini-icon{overflow:hidden}
.roster-slot .mini-icon>img{position:absolute;left:50%;top:50%;display:block;width:107%;height:auto;max-width:none;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px rgba(245,215,80,.42))}
.roster-slot.is-picked .mini-icon{border-color:#f1d259;background:#111;box-shadow:0 0 0 2px rgba(0,0,0,.42),0 0 15px rgba(245,215,80,.35)}
.roster-slot.is-picked .roster-copy{text-shadow:0 2px 5px #000,0 0 7px #000}
.roster-slot.is-picked .roster-copy small{color:#e0d4a8}
@keyframes redRoleIn{from{opacity:0;transform:translateX(-20%)}to{opacity:1;transform:none}}
@keyframes blueRoleIn{from{opacity:0;transform:translateX(20%)}to{opacity:1;transform:none}}
@media(max-width:1500px),(max-height:850px){.roster-slot.is-picked{height:92px}}
@media(max-width:1000px){.roster-slot.is-picked{height:78px}.roster-slot.is-picked .roster-copy small{white-space:normal}}
@media(max-width:720px){.roster-slot.is-picked{height:72px}.roster-slot.is-picked .mini-icon{width:34px;height:34px}.roster-slot.is-picked .roster-copy b{white-space:normal}.roster-slot.is-picked .roster-copy small{line-height:1.15}}

/* 顶部直播记分栏：文字与原版 788×140 标题框共用 3:1 锚点，特效按 668/788 原始比例贴边。 */
.match-header{position:relative}
.team-banner{gap:0!important;padding:0!important;text-align:center}
.team-banner>div{position:relative;z-index:1;display:flex;min-width:0;height:100%;flex:1 1 75%;flex-direction:column;align-items:center;justify-content:center;padding:8px clamp(10px,1.4vw,27px)}
.team-banner strong{position:relative;z-index:1;width:auto;height:100%;flex:0 0 25%}
.team-banner:after{inset:0 auto 0 0;width:84.7716%;height:100%;background-size:100% 100%!important;background-repeat:no-repeat!important}
.blue-banner:after{right:0;left:auto}
.team-banner h1{width:100%;text-align:center}
.team-banner small{text-align:center}

/* 房间/裁判状态属于全局控制条，不再浮在蓝方标题框上。 */
.bp-sitebar{gap:12px}
.bp-sitebar>.room-status{position:static;z-index:auto;top:auto;right:auto;min-width:0;max-width:min(560px,42vw);margin-left:auto;padding:5px 7px;flex:0 1 auto;box-shadow:none;white-space:nowrap}
.bp-sitebar>.room-status+ .bp-site-actions{flex:none}
@media(max-width:1500px){.bp-sitebar>.room-status #roomSyncText{display:none}.bp-sitebar>.room-status{gap:6px;font-size:10px}.bp-sitebar>.room-status button{padding-inline:7px}}
@media(max-width:1100px){.bp-sitebar{height:auto;min-height:50px;flex-wrap:wrap}.bp-sitebar>.room-status{order:3;width:100%;max-width:none;margin:0;flex-basis:100%;justify-content:center;border-width:1px 0 0}.bp-site-actions{margin-left:auto}}
@media(min-width:721px) and (max-width:1100px){body.is-drafting.has-room-status .draft-view{min-height:calc(100dvh - 89px)}body.is-drafting.has-room-status .draft-layout{height:calc(100dvh - 241px)}.turn-sweep{top:106px}}
@media(max-width:720px){.bp-sitebar>.room-status{position:static;top:auto;justify-content:flex-start;overflow-x:auto;padding-inline:max(9px,env(safe-area-inset-left));scrollbar-width:thin}.bp-sitebar>.room-status .match-queue-summary{margin-left:auto}}

/* 中央比赛信息卡：赛事、场次、地图各自独立，地图原图作为计时区背景。 */
.match-status{position:relative;isolation:isolate;overflow:hidden;padding:0!important;background:#080b12}
.match-status:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,9,14,.9),rgba(7,9,14,.32) 27% 73%,rgba(7,9,14,.9)),linear-gradient(180deg,rgba(4,6,11,.04),rgba(4,6,11,.58));box-shadow:inset 0 0 22px rgba(0,0,0,.74)}
.match-map-art{position:absolute;z-index:0;inset:-8%;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;filter:saturate(.9) contrast(1.06);transform:scale(1.08);transition:opacity .35s,transform 1.2s ease-out}
.match-status.has-map .match-map-art{opacity:.78;transform:scale(1)}
.match-status-content{position:relative;z-index:2;display:flex;width:100%;height:100%;min-width:0;flex-direction:column;align-items:center;justify-content:center;padding:6px 9px;text-shadow:0 2px 6px #000}
.match-status-content>p{flex:none}
.match-context{display:flex;max-width:100%;min-width:0;align-items:center;justify-content:center;gap:7px;margin:2px 0 1px}
.match-context h2{min-width:0;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-status .map-chip{display:inline-flex;min-width:0;max-width:48%;align-items:center;gap:4px;margin-top:0;padding-left:7px;border-left:1px solid rgba(245,215,80,.5);color:#f1d979;font:11px/1.2 STKaiti,KaiTi,serif;white-space:nowrap}
.map-chip i{color:#c99d37;font-size:6px;font-style:normal}.map-chip b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.match-status .timer{flex:none}.match-status-content>#turnPrompt{flex:none}
@media(max-width:1500px),(max-height:850px){.match-status-content{padding-block:4px}.match-context{gap:5px;margin-block:1px}.map-chip{font-size:10px}.match-status .timer{font-size:32px}}
@media(max-width:720px){.match-status-content{padding:3px 4px}.match-context{width:100%;gap:3px}.match-context h2{font-size:10px!important}.map-chip{max-width:52%;padding-left:4px;font-size:8px}.map-chip i{display:none}.match-status .timer{font-size:24px}.match-status-content>#turnPrompt{font-size:8px}}

/* 赛前随机地图轮播：同时展示多个候选，快速切换后减速锁定。 */
.map-draw-panel{grid-template-columns:minmax(430px,1.55fr) minmax(220px,.75fr);min-height:190px;overflow:hidden}
.map-carousel-stage{position:relative;display:block!important;min-width:0;min-height:190px!important;padding:13px 0 37px!important;overflow:hidden;background:radial-gradient(circle at center,rgba(115,91,27,.24),rgba(5,9,15,.92) 64%),repeating-linear-gradient(90deg,transparent 0 62px,rgba(255,232,147,.018) 63px,transparent 64px)!important;perspective:900px}
.map-carousel-stage:before,.map-carousel-stage:after{content:"";position:absolute;z-index:4;top:0;bottom:0;width:17%;pointer-events:none}
.map-carousel-stage:before{left:0;background:linear-gradient(90deg,#070b11,transparent)}.map-carousel-stage:after{right:0;background:linear-gradient(270deg,#070b11,transparent)}
.map-carousel-track{display:flex;width:max-content;height:140px;gap:10px;align-items:stretch;transform:translate3d(2%,0,0);will-change:transform}
.map-carousel-card{position:relative;flex:0 0 var(--map-card-width,170px);overflow:hidden;border:1px solid rgba(245,215,80,.22);background:linear-gradient(rgba(4,9,15,.12),rgba(4,9,15,.82)),var(--carousel-map) center/cover no-repeat;filter:saturate(.56) brightness(.54);opacity:.68;transform:scale(.88) rotateY(-1.5deg);transition:filter .16s ease,transform .2s cubic-bezier(.2,.78,.22,1),border-color .16s,box-shadow .16s,opacity .16s;backface-visibility:hidden;contain:layout paint style}
.map-draw-panel:not(.is-rolling):not(.is-settling):not(.is-resolved) .map-carousel-card{animation:mapCardEnter .24s ease-out both}
.map-carousel-card:before{content:"";position:absolute;z-index:2;top:-20%;bottom:-20%;left:-70%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,246,195,.36),transparent);opacity:0;transform:skewX(-12deg);pointer-events:none}
.map-carousel-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88))}
.map-carousel-card span{position:absolute;z-index:1;right:7px;bottom:7px;left:7px;color:#d7d0bc;font:700 13px STKaiti,KaiTi,serif;text-align:center;text-shadow:0 2px 5px #000}
.map-carousel-card.is-active{border-color:#f5d750;filter:saturate(1.08) brightness(1.02);opacity:1;transform:scale(1.035) rotateY(0);box-shadow:0 0 0 1px rgba(255,239,150,.2),0 0 24px rgba(245,215,80,.28)}
.map-carousel-focus{position:absolute;z-index:5;top:9px;left:50%;width:calc(var(--map-card-width,170px) + 12px);height:148px;transform:translateX(-50%);border-top:1px solid rgba(255,229,114,.72);border-bottom:1px solid rgba(255,229,114,.72);filter:drop-shadow(0 0 8px rgba(245,199,60,.28));pointer-events:none}
.map-carousel-focus:before,.map-carousel-focus:after{content:"";position:absolute;top:-1px;bottom:-1px;width:12px;border-color:#ffe77c}.map-carousel-focus:before{left:0;border-left:2px solid;border-top:2px solid;border-bottom:2px solid}.map-carousel-focus:after{right:0;border-right:2px solid;border-top:2px solid;border-bottom:2px solid}.map-carousel-focus i{position:absolute;top:-9px;bottom:-9px;left:50%;width:1px;background:linear-gradient(transparent,rgba(255,239,150,.62) 25%,#fff4a6 50%,rgba(255,239,150,.62) 75%,transparent);box-shadow:0 0 10px #f5d750;opacity:.56;animation:mapFocusBeam 1.35s ease-in-out infinite}
.map-carousel-stage>#mapStageState{position:absolute;z-index:5;right:0;bottom:0;left:0;padding:8px 12px;background:linear-gradient(90deg,rgba(5,9,15,.94),rgba(54,41,12,.88),rgba(5,9,15,.94));color:#fff0ac;font:700 14px/1.2 STKaiti,KaiTi,serif;text-align:center;letter-spacing:.08em}
.map-draw-control{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;text-align:center}
.map-draw-control strong{margin:7px 0 5px}.map-draw-control p{min-height:34px;margin:0 0 9px;color:#918d82;font-size:10px;line-height:1.6}
.map-draw-panel.is-rolling{border-color:#f5d750;box-shadow:inset 0 0 34px rgba(245,215,80,.12),0 0 18px rgba(245,190,54,.08)}
.map-draw-panel.is-rolling .map-carousel-card{filter:saturate(.66) brightness(.64);opacity:.72}.map-draw-panel.is-rolling .map-carousel-card.is-active{border-color:rgba(255,232,135,.34);filter:saturate(1.08) brightness(.96);opacity:.94;transform:scale(.96);box-shadow:none}
.map-draw-panel.is-rolling .map-carousel-focus{animation:mapFocusRun 1s ease-in-out infinite}
.map-draw-panel.is-settling .map-carousel-card.is-active{animation:mapResultLock .62s cubic-bezier(.18,.89,.32,1.28) both}.map-draw-panel.is-settling .map-carousel-card.is-active:before{animation:mapResultSheen .58s .08s ease-out both}.map-draw-panel.is-settling .map-carousel-focus{animation:mapFocusLock .62s ease-out both}
.map-draw-panel.is-resolved .map-carousel-card.is-active{border-color:#f5d750;filter:saturate(1.08) brightness(1);transform:scale(1);box-shadow:0 0 20px rgba(245,215,80,.3)}
.map-draw-panel button:disabled{opacity:.65;cursor:wait}
@keyframes mapCardEnter{from{opacity:.25;transform:translateX(28px) scale(.86)}to{opacity:1}}
@keyframes mapFocusBeam{50%{opacity:1;filter:brightness(1.3)}}@keyframes mapFocusRun{50%{filter:drop-shadow(0 0 13px rgba(255,218,91,.62));border-color:#fff0a1}}@keyframes mapResultLock{0%{transform:scale(1.025)}45%{transform:scale(1.105);filter:saturate(1.28) brightness(1.25)}100%{transform:scale(1.035);filter:saturate(1.08) brightness(1.02)}}@keyframes mapResultSheen{0%{left:-70%;opacity:0}18%{opacity:1}100%{left:132%;opacity:0}}@keyframes mapFocusLock{0%{transform:translateX(-50%) scale(1);opacity:.8}38%{transform:translateX(-50%) scale(1.075);opacity:1;filter:drop-shadow(0 0 19px rgba(255,224,109,.85))}100%{transform:translateX(-50%) scale(1);opacity:1}}
@media(max-width:720px){.map-draw-panel{grid-template-columns:1fr}.map-carousel-stage{min-height:174px!important}.map-carousel-track{height:126px}.map-carousel-focus{top:9px;height:134px}.map-draw-control{min-height:132px!important}.map-draw-control p{min-height:0}.map-carousel-card span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) .map-carousel-card,html:not(.motion-full) .map-carousel-track,html:not(.motion-full) .map-carousel-focus,html:not(.motion-full) .map-carousel-focus i{animation:none!important;transition:none!important}html:not(.motion-full) .match-map-art{transition:none}}
.reduce-motion .map-carousel-card,.reduce-motion .map-carousel-track,.reduce-motion .map-carousel-focus,.reduce-motion .map-carousel-focus i{animation:none!important;transition:none!important}

/* 回合转场：当前行动方占据主画面，原始竞技场素材形成暗纹，金色斜线持续流光。 */
.stage-curtain{--split-top:60%;--split-bottom:40%;--copy-shift:0;position:fixed;z-index:90;inset:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;visibility:hidden;background:#070b13;background-image:none;clip-path:inset(0 50%);transition:clip-path .38s cubic-bezier(.77,0,.18,1),visibility 0s .4s}
.stage-curtain.is-red{--split-top:74%;--split-bottom:54%;--copy-shift:-10vw}.stage-curtain.is-blue{--split-top:46%;--split-bottom:26%;--copy-shift:10vw}
.stage-curtain .curtain-side{position:absolute;inset:0;text-align:initial;text-shadow:none;background-position:center;background-size:cover;transition:clip-path .28s cubic-bezier(.22,.61,.36,1),filter .28s;will-change:transform,filter,background-position}
.curtain-red{clip-path:polygon(0 0,var(--split-top) 0,var(--split-bottom) 100%,0 100%);background-image:radial-gradient(circle at 18% 76%,rgba(246,61,42,.35),transparent 37%),linear-gradient(118deg,rgba(82,3,13,.72),rgba(119,9,20,.67)),url("assets/official/通用背景-ebe007d5.jpg");filter:saturate(1.12) brightness(.9)}
.curtain-blue{clip-path:polygon(var(--split-top) 0,100% 0,100% 100%,var(--split-bottom) 100%);background-image:radial-gradient(circle at 82% 72%,rgba(18,143,218,.32),transparent 40%),linear-gradient(242deg,rgba(2,42,76,.72),rgba(2,70,113,.65)),url("assets/official/通用背景-ebe007d5.jpg");filter:saturate(1.08) brightness(.88)}
.stage-curtain.is-red .curtain-red,.stage-curtain.is-blue .curtain-blue{filter:saturate(1.2) brightness(1)}.stage-curtain.is-red .curtain-blue,.stage-curtain.is-blue .curtain-red{filter:saturate(.82) brightness(.68)}
.curtain-side:before{content:"";position:absolute;z-index:1;top:-25%;bottom:-25%;left:-35%;width:28%;background:linear-gradient(105deg,transparent,rgba(255,248,202,.18),rgba(255,255,255,.42),rgba(255,229,137,.13),transparent);filter:blur(12px);opacity:0;transform:skewX(-12deg);mix-blend-mode:screen}
.curtain-side:after{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(255,255,255,.035),transparent 25%,rgba(0,0,0,.28)),repeating-linear-gradient(115deg,transparent 0 54px,rgba(255,240,184,.028) 55px,transparent 57px);background-size:100% 100%,180% 180%;mix-blend-mode:screen}
.stage-curtain .curtain-divider{position:absolute;z-index:2;inset:0;text-align:initial;text-shadow:none;clip-path:polygon(calc(var(--split-top) - .3%) 0,calc(var(--split-top) + .3%) 0,calc(var(--split-bottom) + .3%) 100%,calc(var(--split-bottom) - .3%) 100%);background:linear-gradient(180deg,#936412 0,#ffe992 25%,#aa7418 50%,#fff8c5 75%,#9b6814 100%);filter:drop-shadow(0 0 4px rgba(255,221,98,.9)) drop-shadow(0 0 13px rgba(255,184,46,.45))}
.curtain-divider:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 32%,rgba(255,255,255,.2) 39%,#fff 47%,rgba(255,246,178,.6) 53%,transparent 62%);background-size:100% 220%;animation:curtainLineFlow .85s linear infinite}
.stage-curtain.is-active{visibility:visible;clip-path:inset(0);transition:clip-path .38s cubic-bezier(.77,0,.18,1)}.stage-curtain.is-leaving{visibility:visible;clip-path:inset(0 50%);transition:clip-path .46s cubic-bezier(.77,0,.18,1) .24s}
.stage-curtain.is-active .curtain-red{animation:curtainRedSurge .66s cubic-bezier(.16,.78,.25,1) both}.stage-curtain.is-active .curtain-blue{animation:curtainBlueSurge .66s cubic-bezier(.16,.78,.25,1) both}
.stage-curtain.is-active .curtain-side:before{animation:curtainSweep .72s .08s cubic-bezier(.24,.72,.36,1) both}.stage-curtain.is-active .curtain-side:after{animation:curtainTextureDrift .72s linear both}
.stage-curtain.is-active .curtain-divider{animation:curtainDividerIgnite .68s cubic-bezier(.18,.89,.32,1.16) both}
.stage-curtain .curtain-copy{position:relative;z-index:3;text-align:center;text-shadow:0 2px 12px #000;transform:translateX(var(--copy-shift));transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .2s}.stage-curtain .curtain-copy strong{animation:none}.stage-curtain .curtain-copy span{box-shadow:0 2px 8px rgba(245,215,80,.25);transform-origin:center}
.stage-curtain.is-active .curtain-copy small{animation:curtainKicker .5s .12s ease-out both}.stage-curtain.is-active .curtain-copy strong{animation:curtainTitle .62s .06s cubic-bezier(.18,.89,.32,1.28) both}.stage-curtain.is-active .curtain-copy span{animation:curtainRuleGrow .48s .18s ease-out both}.stage-curtain.is-leaving .curtain-copy{opacity:0}
/* 地图确认只出现一次，不需要为重播强制同步布局。淡入淡出保留信息层级，
   同时避免在 1920×1080 全屏上动画化 clip-path、filter 和混合纹理。 */
.stage-curtain.is-map-confirm{clip-path:none;opacity:0;background-color:#070b13;background-image:linear-gradient(110deg,rgba(72,5,14,.25),rgba(4,20,34,.3)),var(--curtain-map-art,none);background-position:center;background-size:cover;transition:opacity .18s ease-out,visibility 0s .22s}
.stage-curtain.is-map-confirm.is-prewarming{visibility:visible;opacity:.001;transition:none}
.stage-curtain.is-map-confirm.is-active{visibility:visible;clip-path:none;opacity:1;transition:opacity .18s ease-out}
.stage-curtain.is-map-confirm.is-leaving{visibility:visible;clip-path:none;opacity:0;transition:opacity .22s ease-in}
.stage-curtain.is-map-confirm .curtain-side{filter:none;transition:none;will-change:auto}
.stage-curtain.is-map-confirm .curtain-red{background-image:radial-gradient(circle at 18% 76%,rgba(246,61,42,.24),transparent 37%),linear-gradient(118deg,rgba(82,3,13,.78),rgba(119,9,20,.73))}
.stage-curtain.is-map-confirm .curtain-blue{background-image:radial-gradient(circle at 82% 72%,rgba(18,143,218,.22),transparent 40%),linear-gradient(242deg,rgba(2,42,76,.78),rgba(2,70,113,.72))}
.stage-curtain.is-map-confirm.is-active .curtain-red,.stage-curtain.is-map-confirm.is-active .curtain-blue{animation:none}
.stage-curtain.is-map-confirm .curtain-side:before,.stage-curtain.is-map-confirm .curtain-side:after{display:none;animation:none}
.stage-curtain.is-map-confirm .curtain-divider:after{animation:none}
.stage-curtain.is-map-confirm.is-active .curtain-copy small,.stage-curtain.is-map-confirm.is-active .curtain-copy strong,.stage-curtain.is-map-confirm.is-active .curtain-copy span{animation:none}
@keyframes curtainLineFlow{from{background-position:0 -120%}to{background-position:0 120%}}
@keyframes curtainRedSurge{from{transform:translate3d(-6%,0,0) scale(1.055);background-position:43% 52%}to{transform:translate3d(0,0,0) scale(1);background-position:50% 50%}}
@keyframes curtainBlueSurge{from{transform:translate3d(6%,0,0) scale(1.055);background-position:57% 48%}to{transform:translate3d(0,0,0) scale(1);background-position:50% 50%}}
@keyframes curtainSweep{0%{left:-35%;opacity:0}18%{opacity:.78}100%{left:112%;opacity:0}}
@keyframes curtainTextureDrift{from{background-position:0 0,12% 8%}to{background-position:0 0,38% 28%}}
@keyframes curtainDividerIgnite{0%{opacity:0;transform:scaleY(.25);filter:drop-shadow(0 0 0 transparent)}45%{opacity:1;transform:scaleY(1.035)}100%{transform:scaleY(1);filter:drop-shadow(0 0 5px rgba(255,221,98,.95)) drop-shadow(0 0 16px rgba(255,184,46,.55))}}
@keyframes curtainKicker{from{opacity:0;transform:translateY(-11px);letter-spacing:.8em}to{opacity:1;transform:none}}
@keyframes curtainRuleGrow{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
.reduce-motion .curtain-divider:after{animation:none!important}
@media(max-width:720px){.stage-curtain.is-red{--split-top:82%;--split-bottom:48%;--copy-shift:-7vw}.stage-curtain.is-blue{--split-top:52%;--split-bottom:18%;--copy-shift:7vw}.stage-curtain strong{font-size:33px}.stage-curtain .curtain-divider{clip-path:polygon(calc(var(--split-top) - .7%) 0,calc(var(--split-top) + .7%) 0,calc(var(--split-bottom) + .7%) 100%,calc(var(--split-bottom) - .7%) 100%)}}

/* 心法卡归属状态：颜色说明阵营，文字说明 BAN/PICK；禁用与暂不可操作不再共用灰态。 */
.hero-card:disabled:not(.is-used){opacity:.58;cursor:not-allowed;transform:none}
.hero-card.is-used{opacity:1;filter:none;cursor:not-allowed;transform:none;padding-bottom:20px;background-position:center;background-size:cover;color:#f5f1e8}
.hero-card.is-used:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:repeating-linear-gradient(122deg,transparent 0 17px,rgba(255,255,255,.025) 18px,transparent 20px)}
.hero-card.is-used>img,.hero-card.is-used>b,.hero-card.is-used>small{position:relative;z-index:1}
.hero-card.is-used>small{position:absolute;right:0;bottom:0;left:0;margin:0;padding:3px 2px;color:#fff;font-size:9px;font-weight:700;line-height:13px;letter-spacing:.08em;text-shadow:0 1px 3px #000}
.hero-card.is-red-action{border-color:#f05b55;background-image:linear-gradient(145deg,rgba(102,9,18,.5),rgba(22,11,16,.88)),url("assets/official/蓝方队友选择背景框-2a4132f7.jpg");box-shadow:inset 3px 0 #e74442,inset 0 0 18px rgba(218,45,45,.3),0 0 8px rgba(218,45,45,.2)}
.hero-card.is-blue-action{border-color:#38aee9;background-image:linear-gradient(145deg,rgba(4,47,84,.5),rgba(5,17,29,.9)),url("assets/official/蓝方队友选择背景框-2a4132f7.jpg");box-shadow:inset -3px 0 #159ddf,inset 0 0 18px rgba(20,137,205,.32),0 0 8px rgba(20,137,205,.2)}
.hero-card.is-red-action>small{background:linear-gradient(90deg,#9d1720,#d73f3b)}.hero-card.is-blue-action>small{background:linear-gradient(90deg,#0871aa,#149edc)}
.hero-card.is-ban>img{filter:grayscale(.78) brightness(.7) drop-shadow(0 0 4px rgba(0,0,0,.8))}.hero-card.is-ban>b{color:rgba(238,232,219,.7);text-decoration:line-through;text-decoration-thickness:1px}.hero-card.is-ban:after{background:linear-gradient(145deg,transparent 43%,rgba(255,255,255,.12) 44% 46%,transparent 47%),repeating-linear-gradient(122deg,transparent 0 17px,rgba(255,255,255,.025) 18px,transparent 20px)}
.hero-card.is-pick>img{filter:saturate(1.18) brightness(1.08)}.hero-card.is-red-action.is-pick>img{filter:saturate(1.18) brightness(1.08) drop-shadow(0 0 7px #ed544f)}.hero-card.is-blue-action.is-pick>img{filter:saturate(1.18) brightness(1.08) drop-shadow(0 0 7px #35b5f5)}.hero-card.is-pick>b{color:#fff7cf;text-shadow:0 1px 4px #000}
.hero-card.is-banned:after{content:none}
@media(max-width:720px){.hero-card.is-used{padding-bottom:18px}.hero-card.is-used>small{font-size:8px;line-height:12px;letter-spacing:0}}

/* 装饰性横扫和全屏转场不参与页面滚动尺寸计算。 */
.draft-view{overflow:hidden}.stage-curtain .curtain-copy{max-width:calc(100vw - 24px)}

/* BP 主舞台环境动画：原始竞技场纹理、阵营雾光、丝绸光纹、中央能量脉冲与远景流星。 */
.ambient-fx{isolation:isolate;background:linear-gradient(90deg,rgba(126,9,23,.035),transparent 38% 62%,rgba(6,90,145,.035))}
.ambient-fx>span{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.ambient-scene{z-index:0;inset:-7%;background-image:linear-gradient(90deg,rgba(99,5,16,.12),rgba(7,12,19,.03) 46% 54%,rgba(3,60,98,.12)),url("assets/official/通用背景-ebe007d5.jpg");background-position:center;background-size:cover;mix-blend-mode:screen;opacity:.2;filter:saturate(.78) contrast(1.12);animation:ambientSceneDrift 24s ease-in-out infinite alternate}
.ambient-silk{z-index:1;inset:-20%;background-image:repeating-linear-gradient(116deg,transparent 0 82px,rgba(255,239,183,.025) 84px,transparent 87px),repeating-linear-gradient(67deg,transparent 0 155px,rgba(91,185,229,.018) 157px,transparent 160px);opacity:.66;transform:translate3d(-3%,0,0);animation:ambientSilkDrift 18s linear infinite}
.ambient-haze{z-index:2;width:74%;height:82%;border-radius:50%;filter:blur(42px);opacity:.16;transition:opacity .65s ease}
.ambient-haze-red{top:19%;left:-27%;background:radial-gradient(ellipse at center,rgba(229,43,54,.32) 0,rgba(131,8,25,.18) 38%,transparent 71%);animation:ambientHazeRed 13s ease-in-out infinite alternate}
.ambient-haze-blue{top:25%;right:-28%;background:radial-gradient(ellipse at center,rgba(34,161,225,.3) 0,rgba(2,70,116,.18) 39%,transparent 72%);animation:ambientHazeBlue 16s ease-in-out infinite alternate}
.draft-view.turn-red .ambient-haze-red{opacity:.29}.draft-view.turn-red .ambient-haze-blue{opacity:.1}.draft-view.turn-blue .ambient-haze-blue{opacity:.29}.draft-view.turn-blue .ambient-haze-red{opacity:.1}
.ambient-rift{z-index:3;inset:-6% 0;background:linear-gradient(180deg,transparent 0 18%,rgba(255,250,202,.08) 34%,#ffe884 48%,rgba(255,207,66,.16) 61%,transparent 78%) 0 -160%/100% 48% no-repeat;clip-path:polygon(49.55% 0,50.12% 0,32.95% 100%,32.38% 100%);filter:drop-shadow(0 0 5px rgba(255,224,102,.7)) drop-shadow(0 0 14px rgba(245,180,42,.25));opacity:.14;animation:ambientRiftFlow 6.8s ease-in-out infinite}
.ambient-streak{z-index:4;left:-46%;width:42%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,242,191,.72) 64%,#fff9d4 86%,transparent);box-shadow:0 0 7px rgba(255,214,95,.45);opacity:0;transform:translate3d(-40vw,0,0) rotate(-11deg);animation:ambientStreakFly 9s cubic-bezier(.3,.02,.7,.98) infinite}
.ambient-streak-one{top:42%;animation-delay:-1.6s}.ambient-streak-two{top:68%;height:2px;animation-delay:-5.8s;animation-duration:11s}.ambient-streak-three{top:83%;width:31%;background:linear-gradient(90deg,transparent,rgba(82,194,245,.64),#c9f3ff 86%,transparent);box-shadow:0 0 7px rgba(29,159,219,.45);animation-delay:-8.3s;animation-duration:13s}
.ambient-fx i{z-index:5}.ambient-fx i:nth-of-type(1){left:7%;animation-delay:-1s}.ambient-fx i:nth-of-type(2){left:18%;animation-delay:-3.7s;animation-duration:8s}.ambient-fx i:nth-of-type(3){left:31%;animation-delay:-5s}.ambient-fx i:nth-of-type(4){left:43%;animation-delay:-2.4s;animation-duration:9s}.ambient-fx i:nth-of-type(5){left:56%;animation-delay:-6.2s;animation-duration:8.5s}.ambient-fx i:nth-of-type(6){left:68%;animation-delay:-2s;background:#66d4ff;box-shadow:0 0 7px #159ce5}.ambient-fx i:nth-of-type(7){left:77%;animation-delay:-4.8s;background:#66d4ff;box-shadow:0 0 7px #159ce5;animation-duration:7s}.ambient-fx i:nth-of-type(8){left:86%;animation-delay:-.8s;background:#66d4ff;box-shadow:0 0 7px #159ce5}.ambient-fx i:nth-of-type(9){left:93%;animation-delay:-5.6s;background:#66d4ff;box-shadow:0 0 7px #159ce5;animation-duration:10s}.ambient-fx i:nth-of-type(10){left:52%;width:2px;height:2px;animation-delay:-7.1s;background:#ffe68c;animation-duration:11s}
@keyframes ambientSceneDrift{0%{transform:translate3d(-1.5%,-.5%,0) scale(1.025);opacity:.15}48%{opacity:.22}100%{transform:translate3d(1.5%,.8%,0) scale(1.065);opacity:.19}}
@keyframes ambientSilkDrift{0%{transform:translate3d(-4%,0,0)}100%{transform:translate3d(4%,-2%,0)}}
@keyframes ambientHazeRed{0%{transform:translate3d(-5%,7%,0) scale(.88)}48%{transform:translate3d(8%,-1%,0) scale(1.08)}100%{transform:translate3d(2%,-8%,0) scale(.96)}}
@keyframes ambientHazeBlue{0%{transform:translate3d(6%,-5%,0) scale(.92)}52%{transform:translate3d(-8%,2%,0) scale(1.09)}100%{transform:translate3d(-1%,8%,0) scale(.98)}}
@keyframes ambientRiftFlow{0%,55%,100%{background-position:0 -160%;opacity:.1}67%{opacity:.48}82%{background-position:0 240%;opacity:.13}}
@keyframes ambientStreakFly{0%,58%{transform:translate3d(-45vw,0,0) rotate(-11deg);opacity:0}62%{opacity:.12}69%{opacity:.62}78%,100%{transform:translate3d(190vw,-15vh,0) rotate(-11deg);opacity:0}}
@media(max-width:720px){.ambient-scene{opacity:.16}.ambient-haze{filter:blur(30px)}.ambient-streak-two{display:none}.ambient-rift{clip-path:polygon(55.7% 0,56.7% 0,29.8% 100%,28.8% 100%)}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) .ambient-fx>span{animation:none!important}html:not(.motion-full) .ambient-rift,html:not(.motion-full) .ambient-streak{display:none}}

/* 明示当前导播动效状态，避免系统“减少动态效果”开启后误以为页面故障。 */
.motion-state{min-width:1.5em;margin-left:3px;padding:1px 4px;border-radius:8px;background:rgba(245,215,80,.12);color:inherit;font-size:10px;font-weight:700}.bp-site-actions #motionToggle[aria-pressed="true"] .motion-state{background:rgba(245,215,80,.22)}

/* 心法池固定按治疗、内功、外功三栏同屏展示，缩短直播时的查找路径。 */
.role-layout-hint{display:flex!important;align-items:center;gap:7px;color:#8e8a7d;font-size:10px;letter-spacing:.08em}.role-layout-hint i{display:block;width:18px;height:1px;background:var(--gold);box-shadow:0 0 6px rgba(245,215,80,.42)}
.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:9px;max-height:calc(100% - 160px);padding:4px 3px 11px;overflow:auto}
.hero-role-column{min-width:0;padding:0 7px 8px;border:1px solid rgba(245,215,80,.19);border-top-color:rgba(245,215,80,.5);background:linear-gradient(180deg,rgba(12,17,25,.84),rgba(5,10,17,.55))}
.hero-role-heading{position:sticky;z-index:6;top:0;display:flex;min-height:43px;align-items:center;justify-content:space-between;margin:0 -7px 7px;padding:5px 9px;border-bottom:1px solid rgba(245,215,80,.32);background:linear-gradient(90deg,rgba(13,18,26,.98),rgba(36,31,20,.96));box-shadow:0 4px 9px rgba(0,0,0,.22)}
.hero-role-heading small{display:block;color:#8a8061;font:8px/1.1 Arial,sans-serif;letter-spacing:.18em}.hero-role-heading h3{margin:2px 0 0;color:#f1dea0;font:700 17px/1.05 STKaiti,KaiTi,serif;letter-spacing:.12em}.hero-role-heading>b{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(245,215,80,.46);border-radius:50%;color:#d8c167;font:700 11px/1 Georgia,serif}
.hero-role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hero-role-cards .hero-card{min-width:0;min-height:72px;padding:5px 3px 4px}.hero-role-cards .hero-card>img,.hero-role-cards .hero-card-icon{width:34px;height:34px;margin-bottom:2px}.hero-role-cards .hero-card b{font-size:11px}.hero-role-cards .hero-card small{font-size:8px}
.hero-role-column[data-role-column="治疗"]{border-top-color:#6dd8a1}.hero-role-column[data-role-column="治疗"] .hero-role-heading{background:linear-gradient(90deg,rgba(9,36,29,.98),rgba(22,38,29,.96))}.hero-role-column[data-role-column="治疗"] .hero-role-heading h3{color:#9ce7bd}.hero-role-column[data-role-column="治疗"] .hero-role-heading>b{border-color:rgba(109,216,161,.5);color:#9ce7bd}
.hero-role-column[data-role-column="内功"]{border-top-color:#b682ee}.hero-role-column[data-role-column="内功"] .hero-role-heading{background:linear-gradient(90deg,rgba(31,19,48,.98),rgba(38,28,43,.96))}.hero-role-column[data-role-column="内功"] .hero-role-heading h3{color:#d2adf5}.hero-role-column[data-role-column="内功"] .hero-role-heading>b{border-color:rgba(182,130,238,.5);color:#d2adf5}
.hero-role-column[data-role-column="外功"]{border-top-color:#df9d5c}.hero-role-column[data-role-column="外功"] .hero-role-heading{background:linear-gradient(90deg,rgba(45,25,15,.98),rgba(43,32,23,.96))}.hero-role-column[data-role-column="外功"] .hero-role-heading h3{color:#efbf82}.hero-role-column[data-role-column="外功"] .hero-role-heading>b{border-color:rgba(223,157,92,.5);color:#efbf82}
.hero-role-empty{margin:18px 0;color:#777268;font-size:10px;text-align:center}
@media(max-width:1500px),(max-height:850px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:calc(100% - 139px)}.hero-role-column{padding-inline:5px}.hero-role-heading{min-height:35px;margin-inline:-5px;padding:4px 7px}.hero-role-heading small{font-size:7px}.hero-role-heading h3{font-size:14px}.hero-role-heading>b{width:21px;height:21px;font-size:9px}.hero-role-cards{gap:5px}.hero-role-cards .hero-card{min-height:62px}.hero-role-cards .hero-card>img{width:29px;height:29px}.hero-role-cards .hero-card b{font-size:10px}.hero-role-cards .hero-card small{font-size:7px}}
@media(max-width:1000px){.hero-role-cards{grid-template-columns:1fr}.hero-role-cards .hero-card{min-height:65px}}
@media(max-width:720px){.role-layout-hint{display:none!important}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:360px}.hero-role-column{padding-inline:3px}.hero-role-heading{min-height:37px;margin-inline:-3px;padding-inline:5px}.hero-role-heading small{display:none}.hero-role-heading h3{font-size:13px;letter-spacing:.05em}.hero-role-heading>b{width:19px;height:19px;font-size:8px}.hero-role-cards{grid-template-columns:1fr;gap:4px}.hero-role-cards .hero-card{min-height:64px}.hero-role-cards .hero-card>img,.hero-role-cards .hero-card-icon{width:29px;height:29px}.hero-role-cards .hero-card b{font-size:9px}.hero-role-cards .hero-card small{font-size:7px}}

/* 本地赛事 LOGO / 队徽上传。 */
.brand-upload-field{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#b7b1a2;font-size:11px}.brand-upload-control{position:relative;display:flex;min-width:0;align-items:center;gap:9px;cursor:pointer}.brand-upload-control>input,.event-team-logo>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.brand-preview,.event-team-logo>span{display:grid;width:42px;height:42px;flex:none;place-items:center;overflow:hidden;border:1px solid rgba(245,215,80,.48);border-radius:50%;background:radial-gradient(circle,#2c2920,#090c12 72%);color:#d7c277;font:700 14px STKaiti,KaiTi,serif}.brand-preview img,.event-team-logo img{width:100%;height:100%;object-fit:contain}.brand-upload-control em,.event-team-logo em{max-width:180px;overflow:hidden;color:#938c7d;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.brand-upload-control:focus-within .brand-preview,.brand-upload-control:hover .brand-preview,.event-team-logo:hover>span{border-color:var(--gold);box-shadow:0 0 12px rgba(245,215,80,.2)}.event-brand-upload{justify-content:center;margin:12px auto 6px}.event-plan-logo{justify-content:center;margin:-7px auto 15px}.event-team-identity{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px}.event-team-identity>label:first-child{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:7px;color:#aaa599;font-size:11px}.event-team-logo{position:relative;display:flex;align-items:center;gap:6px;cursor:pointer}.event-team-logo>span{width:36px;height:36px}.event-team-logo em{font-size:9px}
@media(max-width:720px){.brand-upload-field{margin-bottom:12px}.event-brand-upload{justify-content:flex-start}.event-team-identity{grid-template-columns:1fr}.event-team-logo{margin-left:70px}}

/* 导播全屏包装：赛前 VS 与赛后 BP/首发总览共用同一舞台。 */
.broadcast-board{position:fixed;z-index:120;inset:0;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:#05090f;color:#fff;isolation:isolate}.broadcast-board[hidden]{display:none!important}.broadcast-board:before{content:"";position:absolute;z-index:-3;inset:0;background-image:linear-gradient(105deg,rgba(109,3,17,.84) 0 42%,rgba(7,11,18,.58) 49% 51%,rgba(1,56,96,.84) 58% 100%),url("assets/official/通用背景-ebe007d5.jpg");background-position:center;background-size:cover;filter:saturate(1.12) brightness(.78);animation:broadcastBackdrop 18s ease-in-out infinite alternate}.broadcast-board:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 25%,rgba(0,0,0,.35)),repeating-linear-gradient(115deg,transparent 0 75px,rgba(255,232,156,.025) 77px,transparent 80px);pointer-events:none}.broadcast-texture{position:absolute;z-index:-2;inset:-20%;background:radial-gradient(circle at 26% 55%,rgba(238,51,49,.26),transparent 29%),radial-gradient(circle at 74% 55%,rgba(26,152,222,.25),transparent 29%);animation:broadcastHaze 10s ease-in-out infinite alternate}.broadcast-event{display:flex;align-items:center;justify-content:center;gap:14px;padding:clamp(18px,3.3vh,38px) 20px 0;text-align:center}.broadcast-event>img{width:clamp(62px,7vw,118px);height:clamp(62px,7vw,118px);object-fit:contain;filter:drop-shadow(0 0 16px rgba(245,215,80,.3))}.broadcast-event>span{display:block}.broadcast-event small{display:block;color:#c5a947;font:10px/1 Arial,sans-serif;letter-spacing:.4em}.broadcast-event b{display:block;margin:6px 0 4px;color:#fff1ad;font:700 clamp(22px,2.5vw,42px)/1.1 STKaiti,KaiTi,serif;letter-spacing:.18em;text-shadow:0 3px 12px #000}.broadcast-event em{display:block;color:#c6c0b1;font-size:clamp(11px,1vw,15px);font-style:normal;letter-spacing:.12em}.broadcast-versus{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) clamp(120px,15vw,250px) minmax(0,1fr);align-items:center;padding:1vh 4vw 2vh}.broadcast-team{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;animation:broadcastTeamIn .65s cubic-bezier(.16,.86,.26,1) both}.broadcast-blue{animation-name:broadcastTeamInBlue}.broadcast-emblem{position:relative;display:grid;width:clamp(150px,17vw,270px);height:clamp(150px,17vw,270px);place-items:center;overflow:hidden;border:2px solid #dbbf5b;border-radius:50%;background:radial-gradient(circle,#28303a,#090d14 67%);box-shadow:0 0 0 8px rgba(0,0,0,.28),0 0 36px rgba(245,215,80,.2),inset 0 0 30px rgba(255,255,255,.08)}.broadcast-red .broadcast-emblem{box-shadow:0 0 0 8px rgba(0,0,0,.28),0 0 45px rgba(231,48,50,.38),inset 0 0 30px rgba(255,255,255,.08)}.broadcast-blue .broadcast-emblem{box-shadow:0 0 0 8px rgba(0,0,0,.28),0 0 45px rgba(28,151,219,.38),inset 0 0 30px rgba(255,255,255,.08)}.broadcast-emblem img{width:86%;height:86%;object-fit:contain}.broadcast-emblem>b{font:700 clamp(64px,8vw,128px)/1 STKaiti,KaiTi,serif;color:#f4df8b;text-shadow:0 3px 14px #000}.broadcast-team>small{margin-top:20px;color:#b7a665;font:10px/1 Arial,sans-serif;letter-spacing:.4em}.broadcast-team>h2{max-width:100%;margin:7px 0 13px;overflow:hidden;color:#fff4bd;font:700 clamp(26px,3.2vw,54px)/1.1 STKaiti,KaiTi,serif;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 3px 15px #000}.broadcast-axis{display:flex;flex-direction:column;align-items:center;gap:13px}.broadcast-axis>span{width:1px;height:clamp(65px,10vh,120px);background:linear-gradient(transparent,#f3da76,transparent);box-shadow:0 0 12px rgba(245,215,80,.7)}.broadcast-axis>b{color:#fff0a5;font:italic 700 clamp(50px,7vw,112px)/.8 Georgia,serif;text-shadow:0 0 24px rgba(245,215,80,.45);animation:broadcastVsPulse 2.4s ease-in-out infinite}.broadcast-axis>em{max-width:180px;color:#d2c79c;font:700 15px STKaiti,KaiTi,serif;font-style:normal;text-align:center}.broadcast-summary{width:min(500px,94%);min-height:95px}.broadcast-ready-label{margin:0 0 8px;color:#a79d83;font-size:10px;letter-spacing:.2em}.broadcast-starters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.broadcast-starters>span,.broadcast-ban,.broadcast-picks article{min-width:0;border:1px solid rgba(255,255,255,.16);background:rgba(3,7,12,.62)}.broadcast-starters>span{padding:8px 5px}.broadcast-starters b,.broadcast-starters em,.broadcast-ban b,.broadcast-ban em,.broadcast-picks b,.broadcast-picks em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-starters b{font-size:12px}.broadcast-starters em{margin-top:3px;color:#a9a496;font-size:9px;font-style:normal}.broadcast-ban{display:flex;min-height:48px;align-items:center;gap:8px;margin-bottom:7px;padding:5px 8px}.broadcast-ban>small{color:#f0716c;font:700 9px Arial,sans-serif;letter-spacing:.15em}.broadcast-ban>img,.broadcast-picks img{width:36px;height:36px;flex:none;border-radius:50%;object-fit:contain}.broadcast-ban>span,.broadcast-picks article>span{min-width:0;text-align:left}.broadcast-ban b,.broadcast-picks b{font-size:11px}.broadcast-ban em,.broadcast-picks em{margin-top:2px;color:#928d80;font-size:8px;font-style:normal}.broadcast-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.broadcast-picks article{display:flex;min-width:0;align-items:center;gap:6px;padding:5px}.broadcast-control{display:flex;min-height:64px;align-items:center;justify-content:center;gap:22px;padding:11px 20px;border-top:1px solid rgba(245,215,80,.35);background:rgba(3,7,12,.92)}.broadcast-control>span{color:#aaa497;font-size:12px;letter-spacing:.08em}.broadcast-control>button{min-height:40px;border:1px solid var(--gold);background:linear-gradient(#81652c,#30230e);color:#fff0a9;padding:8px 24px;cursor:pointer}.broadcast-board[data-phase="complete"] .broadcast-emblem{width:clamp(110px,12vw,190px);height:clamp(110px,12vw,190px)}.broadcast-board[data-phase="complete"] .broadcast-team>small{margin-top:12px}.broadcast-board[data-phase="complete"] .broadcast-team>h2{margin-bottom:8px;font-size:clamp(22px,2.4vw,40px)}
@keyframes broadcastBackdrop{from{transform:scale(1.03) translate3d(-1%,0,0)}to{transform:scale(1.08) translate3d(1%,.7%,0)}}@keyframes broadcastHaze{from{transform:translate3d(-2%,1%,0) scale(.96)}to{transform:translate3d(2%,-1%,0) scale(1.04)}}@keyframes broadcastTeamIn{from{opacity:0;transform:translate3d(-8vw,0,0) scale(.86)}to{opacity:1;transform:none}}@keyframes broadcastTeamInBlue{from{opacity:0;transform:translate3d(8vw,0,0) scale(.86)}to{opacity:1;transform:none}}@keyframes broadcastVsPulse{50%{filter:brightness(1.3);transform:scale(1.05)}}
.broadcast-starters>span:only-child{grid-column:1/-1;width:100%;box-sizing:border-box}.is-broadcasting{overflow:hidden}.is-broadcasting #bpMain{transform:none!important}.reduce-motion .broadcast-board:before,.reduce-motion .broadcast-texture,.reduce-motion .broadcast-team,.reduce-motion .broadcast-axis>b{animation:none!important}
@media(max-width:720px){.broadcast-event{padding-top:18px}.broadcast-event>img{width:52px;height:52px}.broadcast-event small{font-size:7px}.broadcast-event b{font-size:19px}.broadcast-versus{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);padding:4px 6px 10px}.broadcast-emblem{width:96px;height:96px}.broadcast-emblem>b{font-size:48px}.broadcast-team>small{margin-top:10px;font-size:7px}.broadcast-team>h2{margin-block:5px 9px;font-size:18px}.broadcast-axis{gap:7px}.broadcast-axis>span{height:48px}.broadcast-axis>b{font-size:38px}.broadcast-axis>em{font-size:10px}.broadcast-summary{width:100%}.broadcast-starters{grid-template-columns:1fr;gap:4px}.broadcast-starters>span{padding:5px}.broadcast-picks{grid-template-columns:1fr}.broadcast-ban,.broadcast-picks article{padding:4px}.broadcast-ban>img,.broadcast-picks img{width:28px;height:28px}.broadcast-board[data-phase="complete"] .broadcast-emblem{width:80px;height:80px}.broadcast-control{align-items:stretch;flex-direction:column;gap:7px;padding:8px 12px;text-align:center}.broadcast-control>button{min-height:38px}}

/* 导播对阵页：地图成为中央视觉主体，队伍头像统一为方形赛事卡片。 */
.broadcast-board{--broadcast-map:url("assets/official/通用背景-ebe007d5.jpg")}
.broadcast-board:before{background-image:linear-gradient(105deg,rgba(109,3,17,.78) 0 40%,rgba(7,11,18,.44) 48% 52%,rgba(1,56,96,.78) 60% 100%),linear-gradient(180deg,rgba(2,4,8,.06),rgba(2,4,8,.32)),var(--broadcast-map);background-position:center;background-size:cover}
.broadcast-emblem{border-radius:0;background:linear-gradient(145deg,rgba(39,47,58,.96),rgba(7,10,16,.96));box-shadow:0 0 0 6px rgba(0,0,0,.3),0 0 36px rgba(245,215,80,.2),inset 0 0 0 1px rgba(255,247,190,.22)}
.broadcast-red .broadcast-emblem{box-shadow:0 0 0 6px rgba(0,0,0,.3),0 0 45px rgba(231,48,50,.38),inset 0 0 0 1px rgba(255,247,190,.22)}
.broadcast-blue .broadcast-emblem{box-shadow:0 0 0 6px rgba(0,0,0,.3),0 0 45px rgba(28,151,219,.38),inset 0 0 0 1px rgba(255,247,190,.22)}
.broadcast-emblem img{width:100%;height:100%;object-fit:cover}
.broadcast-axis>em{box-sizing:border-box;width:max-content;max-width:100%;padding:7px 12px 6px;border-block:1px solid rgba(243,218,118,.42);color:#fff0a5;font-size:clamp(24px,2vw,36px);line-height:1.12;letter-spacing:.08em;text-shadow:0 2px 12px rgba(0,0,0,.9),0 0 18px rgba(245,215,80,.28)}
@media(max-width:720px){.broadcast-versus{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)}.broadcast-axis>em{max-width:86px;padding:5px 3px 4px;font-size:14px;line-height:1.2;letter-spacing:.02em}}

/* 直播页顶部信息重排：地图保持完整可读，计时进入操作区，队徽只占用两侧安全框。 */
.match-header{grid-template-columns:minmax(0,1fr) clamp(420px,23vw,470px) minmax(0,1fr)}
.team-banner>div{flex-basis:75%}
.team-banner strong{display:grid;place-items:center;flex-basis:25%}
.team-mark{position:absolute;z-index:3;top:50%;display:grid;width:clamp(44px,3.4vw,64px);height:clamp(44px,3.4vw,64px);place-items:center;overflow:hidden;border:1px solid rgba(245,215,80,.55);border-radius:0;background:linear-gradient(145deg,#222832,#080c13 72%);box-shadow:0 0 0 4px rgba(0,0,0,.2),0 0 18px rgba(245,215,80,.12);transform:translateY(-50%)}
.red-banner .team-mark{left:clamp(12px,1.35vw,26px)}.blue-banner .team-mark{right:clamp(12px,1.35vw,26px)}
.team-mark img{display:block;width:100%;height:100%;object-fit:cover}.team-mark b{display:grid;width:100%;height:100%;place-items:center;color:#f4df8a;font:700 clamp(17px,1.4vw,26px)/1 STKaiti,KaiTi,serif;text-shadow:0 2px 7px #000}
.red-banner .team-mark{box-shadow:0 0 0 4px rgba(0,0,0,.2),0 0 19px rgba(226,55,55,.28)}.blue-banner .team-mark{box-shadow:0 0 0 4px rgba(0,0,0,.2),0 0 19px rgba(36,157,222,.28)}

.match-status:after{background:linear-gradient(90deg,rgba(7,9,14,.62),rgba(7,9,14,.22) 22% 78%,rgba(7,9,14,.62)),linear-gradient(180deg,rgba(4,6,11,.14),rgba(4,6,11,.62));box-shadow:inset 0 0 0 1px rgba(245,215,80,.12),inset 0 0 24px rgba(0,0,0,.62)}
/* 官方红蓝标题框的内侧斜边会在中央列上方多留出约 3.8vw；
   地图图层向两侧延伸并裁成同斜率梯形，文字仍停留在中央安全区。 */
.match-header{--header-map-wing:clamp(22px,5.1vw,108px)}
.team-banner{z-index:2}
.match-status{z-index:1;overflow:visible}
.match-map-art,.match-status:after{inset:0 calc(0px - var(--header-map-wing));clip-path:polygon(0 0,100% 0,calc(100% - var(--header-map-wing)) 100%,var(--header-map-wing) 100%)}
.match-status-content{justify-content:space-between;padding:13px 20px 15px}
.match-context{display:flex;width:100%;max-width:100%;min-width:0;align-items:center;justify-content:center;gap:9px;margin:0;color:#c8bd93}
.match-context p,.match-context h2{min-width:0;max-width:46%;margin:0!important;overflow:hidden;color:#f0e3b2!important;font:600 14px/1.2 "Microsoft YaHei",sans-serif!important;letter-spacing:.1em;text-overflow:ellipsis;text-shadow:0 1px 5px #000;white-space:nowrap}
.match-context h2{font-weight:700!important}.match-context>i{width:1px;height:14px;flex:none;background:rgba(245,215,80,.68);transform:skewX(-16deg)}
.match-status .map-chip{display:flex;width:100%;min-width:0;max-width:none;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:3px 0 0;padding:0;border:0;color:#fff4b6;font-family:STKaiti,KaiTi,serif;white-space:normal}
.match-status .map-chip>span{display:block;margin:0;color:#efd76f;font:700 11px/1 "Microsoft YaHei",sans-serif;letter-spacing:.24em;text-shadow:0 1px 5px #000,0 0 8px rgba(245,215,80,.2)}
.match-status .map-chip>b{display:block;max-width:100%;overflow:visible;color:#fff2ac;font:700 clamp(24px,1.75vw,34px)/1.08 STKaiti,KaiTi,serif;letter-spacing:.12em;text-align:center;text-overflow:clip;text-shadow:0 2px 8px #000,0 0 12px rgba(245,215,80,.18);white-space:normal;overflow-wrap:anywhere}

.pool-heading{display:grid;grid-template-columns:minmax(130px,1fr) minmax(175px,auto) minmax(220px,1fr);align-items:center;gap:12px}
.turn-status-dock{display:grid;height:39px;min-width:175px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 9px 4px 12px;border:1px solid rgba(245,215,80,.4);background:linear-gradient(100deg,rgba(15,18,24,.9),rgba(59,47,23,.48),rgba(9,13,20,.9));box-shadow:inset 0 0 14px rgba(245,215,80,.05);text-align:left}
.turn-status-dock>span{min-width:0;overflow:hidden;color:#d6d0c2;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.turn-status-dock>.timer{color:#fff0a2;font:700 26px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 0 10px rgba(245,215,80,.24)}
.turn-status-dock>.timer.is-warning{color:#ff786d}.pool-controls{justify-self:end}

@media(max-width:1500px),(max-height:850px){
  .match-header{grid-template-columns:minmax(0,1fr) 390px minmax(0,1fr)}.match-status-content{padding:9px 15px 11px}.match-status .map-chip>b{font-size:27px}.team-mark{width:48px;height:48px}
  .pool-heading{grid-template-columns:minmax(120px,1fr) minmax(160px,auto) minmax(205px,1fr);gap:8px}.turn-status-dock{height:35px;min-width:160px;padding-block:3px}.turn-status-dock>.timer{font-size:23px}.turn-status-dock>span{font-size:9px}
}
@media(max-width:1000px){.match-header{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr)}.match-status-content{padding-inline:10px}.match-context{gap:5px}.match-context p,.match-context h2{font-size:12px!important}.match-status .map-chip>span{font-size:10px}.match-status .map-chip>b{font-size:23px}.team-mark{width:38px;height:38px}.pool-heading{grid-template-columns:minmax(105px,1fr) 150px minmax(190px,1fr)}.turn-status-dock{min-width:150px}.turn-status-dock>span{font-size:8px}.turn-status-dock>.timer{font-size:21px}}
@media(max-width:720px){
  .match-header{height:96px;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr)}.team-mark{display:none}.match-status-content{padding:8px 7px 10px}.match-context{gap:4px}.match-context p,.match-context h2{max-width:47%;font-size:10px!important;letter-spacing:.02em}.match-context>i{height:10px}.match-status .map-chip{gap:3px;margin-top:2px}.match-status .map-chip>span{font-size:9px;letter-spacing:.16em}.match-status .map-chip>b{font-size:19px;letter-spacing:.03em}
  .pool-heading{min-height:95px;grid-template-columns:minmax(0,1fr) 150px;grid-template-rows:auto auto;align-items:center;gap:6px 8px}.turn-status-dock{width:150px;min-width:0;justify-self:end}.pool-controls{grid-column:1/-1;width:100%;max-width:none;justify-self:stretch}.pool-controls button{flex:1}.pool-heading>div:first-child{min-width:0}
}

/* 导播 BP 总览：按直播画面而非网页正文设定字号，保证缩放采集后仍能辨认门派与选手。 */
.broadcast-summary{width:min(620px,96%);min-height:140px}
.broadcast-ban{min-height:64px;gap:11px;margin-bottom:10px;padding:8px 12px;background:rgba(3,7,12,.78)}
.broadcast-picks{gap:8px}
.broadcast-picks article{min-height:64px;gap:9px;padding:8px 10px;background:rgba(3,7,12,.78)}
.broadcast-ban>small{min-width:30px;color:#ff746e;font-size:11px;letter-spacing:.12em}
.broadcast-ban>img,.broadcast-picks img{width:46px;height:46px}
.broadcast-ban b,.broadcast-picks b{color:#fff;font-size:15px;line-height:1.2;font-weight:700;text-shadow:0 1px 4px #000}
.broadcast-ban em,.broadcast-picks em{margin-top:5px;color:#d2cab9;font-size:12px;line-height:1.25;font-weight:500}
.broadcast-red .broadcast-ban,.broadcast-red .broadcast-picks article{border-left:2px solid rgba(234,67,64,.88)}
.broadcast-blue .broadcast-ban,.broadcast-blue .broadcast-picks article{border-right:2px solid rgba(40,163,226,.9)}
@media(max-width:1500px),(max-height:850px){
  .broadcast-summary{width:min(560px,96%);min-height:126px}.broadcast-ban{min-height:58px;gap:9px;margin-bottom:8px;padding:7px 10px}.broadcast-picks{gap:6px}.broadcast-picks article{min-height:58px;gap:7px;padding:7px 8px}.broadcast-ban>small{min-width:27px;font-size:10px}.broadcast-ban>img,.broadcast-picks img{width:42px;height:42px}.broadcast-ban b,.broadcast-picks b{font-size:14px}.broadcast-ban em,.broadcast-picks em{margin-top:4px;font-size:11px}
}
@media(max-width:720px){
  .broadcast-summary{min-height:0}.broadcast-ban{min-height:52px;padding:6px 7px}.broadcast-picks{gap:5px}.broadcast-picks article{min-height:52px;padding:6px 7px}.broadcast-ban>small{min-width:25px;font-size:9px}.broadcast-ban>img,.broadcast-picks img{width:34px;height:34px}.broadcast-ban b,.broadcast-picks b{font-size:12px}.broadcast-ban em,.broadcast-picks em{margin-top:3px;font-size:10px}
}

/* 多赛场控制台：沿用赛事台金线语言，把房间号、对阵和阶段放在一张可快速扫读的场地卡中。 */
.arena-hub-button{display:inline-flex;min-height:31px;align-items:center;gap:7px;border:1px solid rgba(245,215,80,.36);background:linear-gradient(180deg,rgba(69,54,22,.34),rgba(5,9,15,.78));color:#cdbf91;padding:5px 10px;cursor:pointer;white-space:nowrap}.arena-hub-button:hover,.arena-hub-button:focus-visible,.arena-hub-button.has-rooms{border-color:rgba(245,215,80,.68);color:#fff0a5}.arena-hub-button>b{display:grid;min-width:19px;height:19px;place-items:center;border:1px solid rgba(245,215,80,.45);border-radius:50%;font:700 10px/1 Georgia,serif}.arena-hub-button:not(.has-rooms)>b{opacity:.48}
.arena-hub-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;background:linear-gradient(120deg,rgba(42,8,15,.95),rgba(8,13,21,.98) 47%,rgba(3,34,59,.95)),url("assets/official/通用背景-ebe007d5.jpg") center/cover}.arena-hub-intro{max-width:720px;margin:-10px auto 18px!important;color:#c4beaf!important;font-size:13px!important;line-height:1.7!important;letter-spacing:0!important;text-align:center}.arena-hub-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:9px 11px;border:1px solid rgba(245,215,80,.25);background:rgba(3,8,14,.66)}.arena-hub-toolbar>span{margin-right:auto;color:#bbb4a4;font-size:12px}.arena-hub-toolbar button,.arena-room-card button{border:1px solid rgba(245,215,80,.45);background:rgba(11,15,21,.82);color:#d6c889;padding:6px 10px;cursor:pointer}.arena-hub-toolbar button:hover,.arena-hub-toolbar button:focus-visible,.arena-room-card button:hover,.arena-room-card button:focus-visible{border-color:var(--gold);color:#fff2ad}.arena-hub-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:130px}.arena-hub-loading,.arena-hub-empty{grid-column:1/-1;display:grid;place-items:center;min-height:128px;border:1px dashed rgba(245,215,80,.3);color:#8f897c;text-align:center}.arena-hub-empty b{color:#d9cc98;font:700 19px STKaiti,KaiTi,serif}.arena-hub-empty span{font-size:11px}.arena-room-card{position:relative;min-width:0;padding:11px 12px 10px;border:1px solid rgba(255,255,255,.16);border-top:2px solid rgba(245,215,80,.5);background:linear-gradient(108deg,rgba(81,9,18,.42),rgba(6,10,16,.84) 48%,rgba(2,50,84,.4));box-shadow:inset 0 0 25px rgba(0,0,0,.32)}.arena-room-card.is-current{border-color:rgba(245,215,80,.72);box-shadow:inset 0 0 25px rgba(245,215,80,.05),0 0 16px rgba(245,215,80,.08)}.arena-room-card.has-error{opacity:.68}.arena-room-card>header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px}.arena-room-card>header>span{display:flex;align-items:center;gap:6px;color:#a9a291;font-size:10px;letter-spacing:.09em}.arena-room-card>header>span i{width:7px;height:7px;border-radius:50%;background:#67d88d;box-shadow:0 0 7px rgba(103,216,141,.75)}.arena-room-card.has-error>header>span i{background:#d0645f;box-shadow:none}.arena-room-card>header>b{color:#f0da80;font:700 14px/1 Georgia,serif;letter-spacing:.12em}.arena-room-card>header>button{padding:3px 6px;border-color:rgba(255,255,255,.18);color:#8c887e;font-size:9px}.arena-room-versus{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;margin:13px 0 9px}.arena-room-versus strong{min-width:0;overflow:hidden;color:#fff2b5;font:700 20px/1.1 STKaiti,KaiTi,serif;text-overflow:ellipsis;white-space:nowrap}.arena-room-versus strong:first-child{text-align:right}.arena-room-versus em{color:#caaa45;font:italic 700 13px Georgia,serif;text-align:center}.arena-room-card>p{margin:0 0 10px;color:#a8a294;font-size:10px;text-align:center}.arena-room-card>footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border-top:1px solid rgba(255,255,255,.1);padding-top:9px}.arena-room-card>footer>.arena-phase{color:#e8d996;font-size:10px}.arena-room-card>footer>small{overflow:hidden;color:#938d80;font-size:9px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.arena-room-card>footer>button{font-size:10px}.arena-room-card>time{display:block;margin-top:6px;color:#716e66;font-size:8px;text-align:right}.arena-hub-tip{margin:14px 0 0!important;color:#8f8a7d!important;font-size:10px!important;line-height:1.6!important;letter-spacing:0!important;text-align:center}
@media(max-width:1100px){.bp-sitebar>.arena-hub-button{margin-left:auto}.bp-sitebar>.arena-hub-button+ .room-status{margin-left:0}}
@media(max-width:720px){.arena-hub-button{margin-left:auto;padding-inline:8px;font-size:11px}.arena-hub-button>b{min-width:17px;height:17px}.arena-hub-dialog{width:calc(100vw - 16px);padding:25px 10px 16px}.arena-hub-intro{text-align:left}.arena-hub-toolbar{align-items:stretch;flex-wrap:wrap}.arena-hub-toolbar>span{width:100%}.arena-hub-toolbar button{flex:1}.arena-hub-list{grid-template-columns:1fr}.arena-room-versus strong{font-size:18px}.room-dialog .dialog-actions{flex-direction:column}.room-dialog .dialog-actions button{width:100%}}

/* 比赛容量闸门：只让一条金色进度轨道运动，用户能一眼看懂名次、占用量和求助编号。 */
.capacity-queue-dialog{width:min(610px,calc(100vw - 24px));text-align:center;overflow:hidden;background-color:#080d15;background-image:linear-gradient(125deg,rgba(114,16,29,.24),transparent 43%,rgba(8,61,98,.25)),url("assets/official/end_bg-a76ee583.png")}.capacity-ribbon{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:12px;margin:-8px 0 17px}.capacity-ribbon>span{height:1px;background:linear-gradient(90deg,transparent,#d9be60)}.capacity-ribbon>span:last-child{background:linear-gradient(90deg,#d9be60,transparent)}.capacity-ribbon>i{position:relative;height:5px;border:1px solid rgba(245,215,80,.45);transform:skewX(-24deg);overflow:hidden}.capacity-ribbon>i:after{content:"";position:absolute;inset:0;width:44%;background:linear-gradient(90deg,transparent,#fff4ae,transparent);animation:capacityLane 1.8s ease-in-out infinite}.capacity-position{display:flex;align-items:baseline;justify-content:center;gap:7px}.capacity-position small{color:#aaa392;font-size:12px;letter-spacing:.12em}.capacity-position strong{color:#ffe680;font:700 72px/.9 Georgia,serif;text-shadow:0 0 20px rgba(245,215,80,.24);font-variant-numeric:tabular-nums}.capacity-position>span{color:#d7ca97;font-size:16px}.capacity-summary{margin:17px 0!important;color:#f0e4b5!important;font-size:16px!important;letter-spacing:.05em!important}.capacity-meter{max-width:470px;margin:0 auto 18px;padding:13px 15px;border:1px solid rgba(255,255,255,.13);background:rgba(2,7,13,.58);text-align:left}.capacity-meter>span{display:block;margin-bottom:8px;color:#aaa69b;font-size:11px}.capacity-meter>span b{color:#f0d670}.capacity-meter>i{display:block;height:5px;background:rgba(255,255,255,.08);overflow:hidden}.capacity-meter>i>b{display:block;width:0;height:100%;background:linear-gradient(90deg,#942c38,#e1c15f 52%,#166b9e);box-shadow:0 0 9px #dfc15e;transition:width .45s ease}.capacity-ticket{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;max-width:470px;margin:auto;padding:12px 14px;border:1px solid rgba(245,215,80,.46);background:rgba(18,16,17,.75);text-align:left}.capacity-ticket>span{color:#8d887b;font-size:11px}.capacity-ticket>strong{color:#fff0a3;font:700 22px Georgia,serif;letter-spacing:.12em}.capacity-ticket>button{border:1px solid rgba(245,215,80,.48);background:rgba(245,215,80,.08);color:#eadb98;padding:7px 10px;cursor:pointer}.capacity-help{max-width:470px;margin:17px auto 0!important;color:#928d81!important;font-size:11px!important;line-height:1.8;letter-spacing:0!important}.capacity-status{min-height:20px;margin:8px 0 0!important;color:#79d8ff!important;font-size:12px!important;letter-spacing:0!important}.capacity-queue-dialog .dialog-actions button{min-width:190px;background:rgba(255,255,255,.035);color:#c0bcae;border-color:rgba(255,255,255,.2)}
@keyframes capacityLane{from{transform:translateX(-130%)}to{transform:translateX(330%)}}
@media(max-width:520px){.capacity-queue-dialog{padding-inline:14px}.capacity-position strong{font-size:58px}.capacity-ticket{grid-template-columns:1fr auto}.capacity-ticket>span{grid-column:1/-1}.capacity-ticket>strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) .capacity-ribbon>i:after{animation:none;left:28%}}

/* 实时排队看板：预计时间优先，排位、流速与连接状态保持一屏扫读。 */
.capacity-queue-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto}.capacity-livebar{display:flex;align-items:center;justify-content:space-between;max-width:610px;margin:0 auto 10px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08);color:#77766f;font-size:10px}.capacity-livebar>span{display:inline-flex;align-items:center;gap:7px;color:#74d89b}.capacity-livebar>span>i{width:7px;height:7px;border-radius:50%;background:#65dc91;box-shadow:0 0 0 0 rgba(101,220,145,.55);animation:capacityLivePulse 1.8s ease-out infinite}.capacity-livebar>span.is-connecting{color:#d9c770}.capacity-livebar>span.is-connecting>i{background:#d9c770}.capacity-livebar>span.is-offline{color:#e48b83}.capacity-livebar>span.is-offline>i{background:#df665f;animation:none}.capacity-position{margin-top:7px}.capacity-summary{margin:12px 0 14px!important}.capacity-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:610px;margin:0 auto 12px}.capacity-insights>article{position:relative;min-width:0;padding:12px 10px 10px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(1,7,13,.62));text-align:left;overflow:hidden}.capacity-insights>article:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:#787061}.capacity-insights>.capacity-eta{border-color:rgba(245,215,80,.43);background:linear-gradient(145deg,rgba(102,73,18,.2),rgba(1,7,13,.68));box-shadow:inset 0 0 18px rgba(245,215,80,.04)}.capacity-insights>.capacity-eta:before{background:linear-gradient(#fff0a5,#b3872e);box-shadow:0 0 8px rgba(245,215,80,.48)}.capacity-insights small,.capacity-insights span{display:block;overflow:hidden;color:#827f76;font-size:9px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.capacity-insights strong{display:block;margin:5px 0 4px;color:#e6dfc5;font:700 19px/1.05 STKaiti,KaiTi,serif;white-space:nowrap}.capacity-insights strong b{font-family:Georgia,serif;font-variant-numeric:tabular-nums}.capacity-insights>.capacity-eta strong{color:#ffe585;font:700 20px/1.05 Georgia,STKaiti,KaiTi,serif;letter-spacing:.01em}.capacity-movement{max-width:610px;margin:-2px auto 10px!important;padding:7px 10px;border:1px solid rgba(91,218,149,.3);background:rgba(20,101,66,.16);color:#79e3a8!important;font-size:11px!important;letter-spacing:.03em!important;text-align:center}.capacity-meter,.capacity-ticket,.capacity-help{max-width:610px}.capacity-meter{margin-bottom:10px}.capacity-ticket{padding-block:10px}.capacity-help{margin-top:12px!important}.capacity-status{margin-top:6px!important}.capacity-queue-dialog .dialog-actions{margin-top:11px}
@keyframes capacityLivePulse{70%{box-shadow:0 0 0 6px rgba(101,220,145,0)}to{box-shadow:0 0 0 0 rgba(101,220,145,0)}}
@media(max-width:620px){.capacity-queue-dialog{padding:22px 12px 14px}.capacity-livebar{align-items:flex-start;gap:8px}.capacity-livebar>span{max-width:68%;text-align:left}.capacity-position strong{font-size:55px}.capacity-summary{font-size:13px!important}.capacity-insights{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.capacity-insights>.capacity-eta{grid-column:1/-1;grid-row:1}.capacity-insights strong{font-size:17px}.capacity-insights>.capacity-eta strong{font-size:22px}.capacity-ticket{gap:8px}.capacity-help{line-height:1.55}.capacity-queue-dialog .dialog-actions button{min-width:0;width:100%}}
@media(max-height:700px) and (min-width:621px){.capacity-queue-dialog{padding-block:21px}.capacity-ribbon{margin-bottom:9px}.capacity-position strong{font-size:58px}.capacity-summary{margin-block:8px 10px!important}.capacity-insights>article{padding-block:9px}.capacity-help{display:none}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) .capacity-livebar>span>i{animation:none}}

/* 地图抽取舞台：上方完整展示大地图，下方集中放置结果说明与操作。 */
.pre-match-dialog{width:min(1180px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-x:hidden;overflow-y:auto}
.map-draw-panel{grid-template-columns:minmax(0,1fr);min-height:0}
.map-carousel-stage{min-height:360px!important;padding:18px 0 50px!important;background:radial-gradient(ellipse at 50% 42%,rgba(116,91,26,.28),rgba(5,9,15,.94) 68%),linear-gradient(105deg,rgba(82,11,22,.1),transparent 44%,rgba(8,62,97,.12))!important}
.map-carousel-stage:before,.map-carousel-stage:after{width:11%}
.map-carousel-track{height:292px;gap:18px;transform:none}
.map-carousel-card{flex-basis:var(--map-card-width,240px);filter:saturate(.78) brightness(.72);opacity:.82;transform:scale(.93);transition:filter .2s ease,transform .28s cubic-bezier(.2,.78,.22,1),border-color .2s,box-shadow .2s,opacity .2s}
.map-carousel-card:after{background:linear-gradient(180deg,rgba(2,6,11,.02) 40%,rgba(2,5,10,.9))}
.map-carousel-card span{right:12px;bottom:10px;left:12px;font-size:16px;letter-spacing:.06em}
.map-carousel-card.is-active{filter:saturate(1.08) brightness(1.04);transform:scale(1.025);box-shadow:0 8px 28px rgba(0,0,0,.46),0 0 24px rgba(245,215,80,.2)}
.map-carousel-focus{top:11px;width:calc(var(--map-card-width,240px) + 20px);height:310px;border:0;background:linear-gradient(#ffe587,#ffe587) left top/32px 2px no-repeat,linear-gradient(#ffe587,#ffe587) left top/2px 32px no-repeat,linear-gradient(#ffe587,#ffe587) right top/32px 2px no-repeat,linear-gradient(#ffe587,#ffe587) right top/2px 32px no-repeat,linear-gradient(#ffe587,#ffe587) left bottom/32px 2px no-repeat,linear-gradient(#ffe587,#ffe587) left bottom/2px 32px no-repeat,linear-gradient(#ffe587,#ffe587) right bottom/32px 2px no-repeat,linear-gradient(#ffe587,#ffe587) right bottom/2px 32px no-repeat;filter:drop-shadow(0 0 9px rgba(245,199,60,.34));transition:opacity .2s,filter .2s;opacity:.72}
.map-carousel-focus:before,.map-carousel-focus:after{display:none}.map-carousel-focus i{display:none!important}
.map-carousel-stage>#mapStageState{padding:10px 14px;font-size:16px;background:linear-gradient(90deg,rgba(5,9,15,.97),rgba(59,43,12,.9),rgba(5,9,15,.97))}
.map-draw-panel>.map-draw-control:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow action" "name action" "hint action";align-items:center;justify-content:normal;min-height:128px!important;padding:18px 24px;border-top:1px solid rgba(245,215,80,.22);text-align:left}.map-draw-control small{grid-area:eyebrow;align-self:end}.map-draw-control strong{grid-area:name;margin:3px 0;font-size:28px}.map-draw-control p{grid-area:hint;align-self:start;min-height:0;margin:0;font-size:12px}.map-draw-control button{grid-area:action;min-width:190px;margin-left:24px}
.map-draw-panel.is-rolling .map-carousel-card{filter:saturate(.76) brightness(.7);opacity:.78}.map-draw-panel.is-rolling .map-carousel-card.is-active{filter:saturate(1.05) brightness(1);transform:scale(.98)}
.map-draw-panel.is-settling .map-carousel-focus{animation:mapFocusLockSoft .72s ease-out both}
.map-draw-panel.is-result-hold{border-color:rgba(255,225,111,.86);box-shadow:inset 0 0 46px rgba(245,215,80,.12),0 0 26px rgba(245,190,54,.12)}
.map-draw-panel.is-result-hold .map-carousel-card:not(.is-active){filter:saturate(.48) brightness(.45);opacity:.46}
.map-draw-panel.is-result-hold .map-carousel-card.is-active{filter:saturate(1.16) brightness(1.08);transform:scale(1.06);box-shadow:0 10px 34px rgba(0,0,0,.55),0 0 32px rgba(245,215,80,.3)}
.map-draw-panel.is-result-hold .map-carousel-focus{opacity:1;filter:drop-shadow(0 0 13px rgba(255,222,99,.58))}
.map-draw-panel.is-result-hold .map-carousel-stage>#mapStageState{color:#fff4b8;font-size:18px;letter-spacing:.12em}
@keyframes mapFocusLockSoft{0%{transform:translateX(-50%) scale(.98);opacity:.4}48%{transform:translateX(-50%) scale(1.045);opacity:1;filter:drop-shadow(0 0 16px rgba(255,224,109,.72))}100%{transform:translateX(-50%) scale(1);opacity:.92}}
@media(max-width:1000px){.map-carousel-stage{min-height:320px!important}.map-carousel-track{height:252px}.map-carousel-focus{height:270px}.map-carousel-card span{font-size:14px}.map-draw-panel>.map-draw-control:last-child{padding:16px 18px}.map-draw-control strong{font-size:23px}}
@media(max-width:720px){.pre-match-dialog{width:min(100vw - 16px,1180px);max-height:calc(100dvh - 16px)}.map-carousel-stage{min-height:264px!important;padding-block:14px 43px!important}.map-carousel-track{height:204px;gap:12px}.map-carousel-focus{top:8px;height:218px}.map-draw-panel>.map-draw-control:last-child{grid-template-columns:1fr;grid-template-areas:"eyebrow" "name" "hint" "action";min-height:178px!important;padding:16px;text-align:center}.map-draw-control small,.map-draw-control p{align-self:auto}.map-draw-control strong{font-size:22px}.map-draw-control button{width:100%;min-width:0;margin:11px 0 0}.map-carousel-card span{font-size:13px}.map-carousel-stage>#mapStageState{font-size:14px}.map-draw-panel.is-result-hold .map-carousel-stage>#mapStageState{font-size:15px}}

/* Per-room draft rule: allow a pick to reserve that heart method for one side. */
.pick-ban-rule-toggle{display:flex;width:min(100%,680px);align-items:center;justify-content:center;gap:11px;margin:0 auto 10px;padding:9px 14px;border:1px solid rgba(245,215,80,.3);background:rgba(5,10,16,.54);color:#eee8d6;cursor:pointer}
.pick-ban-rule-toggle>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pick-ban-rule-toggle .rule-check{position:relative;display:block;width:26px;height:26px;flex:none;border:1px solid rgba(245,215,80,.72);background:rgba(0,0,0,.46);box-shadow:inset 0 0 0 3px rgba(0,0,0,.22)}
.pick-ban-rule-toggle>input:checked+.rule-check{border-color:#f4d56b;background:linear-gradient(145deg,#a97727,#5e3d13);box-shadow:0 0 12px rgba(245,215,80,.22),inset 0 0 0 3px rgba(0,0,0,.18)}
.pick-ban-rule-toggle>input:checked+.rule-check:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff5b3;font:700 18px/1 Arial,sans-serif}
.pick-ban-rule-toggle>input:focus-visible+.rule-check{outline:2px solid #fff3a1;outline-offset:3px}
.pick-ban-rule-toggle>span:last-child{min-width:0;text-align:left}.pick-ban-rule-toggle b{display:block;color:#f6e6a0;font-size:14px;letter-spacing:.08em}.pick-ban-rule-toggle small{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:11px;line-height:1.45}
.pick-ban-rule-badge{display:inline-flex;align-items:center;min-height:21px;padding:3px 8px;border:1px solid rgba(245,215,80,.48);background:rgba(109,76,25,.28);color:#f4da78;font-size:9px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.pick-ban-rule-badge.is-off{border-color:rgba(103,201,169,.52);background:rgba(22,92,75,.28);color:#8fe1c5}
.hero-card.is-cross-pick:not(:disabled){cursor:pointer;border-style:dashed;opacity:.92}.hero-card.is-cross-pick:not(:disabled):hover{filter:saturate(1.12);box-shadow:inset 0 0 18px rgba(245,215,80,.2),0 0 9px rgba(245,215,80,.18)}
.hero-card.is-shared-pick{border-color:#b786e6;background-image:linear-gradient(145deg,rgba(103,29,91,.55),rgba(15,29,51,.9)),url("assets/official/蓝方队友选择背景框-2a4132f7.jpg");box-shadow:inset 3px 0 #e35c74,inset -3px 0 #3bafe8,inset 0 0 18px rgba(160,92,210,.28)}
.hero-card.is-shared-pick>small{background:linear-gradient(90deg,#a32942,#7751a4 50%,#137fba)}
@media(max-width:1500px),(max-height:850px){.pick-ban-rule-toggle{margin-bottom:7px;padding:6px 10px}.pick-ban-rule-toggle .rule-check{width:22px;height:22px}.pick-ban-rule-toggle b{font-size:12px}.pick-ban-rule-toggle small{font-size:10px}}
@media(max-width:720px){.pick-ban-rule-toggle{align-items:flex-start;justify-content:flex-start;margin-bottom:10px;padding:10px}.pick-ban-rule-toggle small{font-size:10px}.role-layout-hint{display:flex!important}.role-layout-hint>i,.role-layout-hint>span{display:none!important}.pick-ban-rule-badge{font-size:8px;white-space:normal}}

/* Setup receives one concise broadcast-style entrance; the draft stage keeps
   its existing richer effects. */
:focus-visible{outline:2px solid #fff3a1;outline-offset:3px}
.bp-site-actions a,.bp-site-actions button,.arena-hub-button,.event-planner-actions button,.dialog-actions button{transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}
.bp-site-actions a:hover,.bp-site-actions button:hover,.event-planner-actions button:hover,.dialog-actions button:hover{border-color:var(--gold);color:var(--gold-light)}
.bp-site-actions a:active,.bp-site-actions button:active,.arena-hub-button:active,.event-planner-actions button:active,.dialog-actions button:active{transform:translateY(1px) scale(.985)}
.setup-title{animation:bp-setup-rise .46s .05s ease-out both}
.event-planner-entry{animation:bp-setup-rise .46s .1s ease-out both}
.team-form-red{animation:bp-setup-side-red .5s .16s ease-out both}
.team-form-blue{animation:bp-setup-side-blue .5s .16s ease-out both}
.match-form{animation:bp-setup-rise .5s .22s ease-out both}
.bp-sitebar{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
@keyframes bp-setup-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes bp-setup-side-red{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes bp-setup-side-blue{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media(max-width:720px){.bp-sitebar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){html:not(.motion-full) .setup-title,html:not(.motion-full) .event-planner-entry,html:not(.motion-full) .team-form,html:not(.motion-full) .match-form{animation:none!important}}

/* 阵容栏优先展示 407×219 门派立绘；中央心法池仍保留完整操作宽度。 */
@media (min-width:1001px){
  .draft-layout{grid-template-columns:clamp(280px,22vw,420px) minmax(0,1fr) clamp(280px,22vw,420px)}
}
@media (min-width:721px) and (max-width:1000px){
  .draft-layout{grid-template-columns:clamp(190px,24vw,240px) minmax(0,1fr) clamp(190px,24vw,240px)}
}

/* 赛事导播阵容板：比分横条、三人门派立绘与中央地图组成一条可直接采集的比赛画面。 */
.broadcast-board{--broadcast-steel:#d9e2e3;--broadcast-dark:#111a20;--broadcast-line:#d8c264;grid-template-rows:auto minmax(0,1fr) auto}
.broadcast-board:before{background-image:linear-gradient(105deg,rgba(91,5,17,.78) 0 39%,rgba(5,10,16,.5) 48% 52%,rgba(1,51,87,.78) 61% 100%),linear-gradient(180deg,rgba(2,4,8,.2),rgba(2,4,8,.58)),var(--broadcast-map);filter:saturate(.88) brightness(.58)}
.broadcast-texture{opacity:.62}
.broadcast-event{position:relative;width:min(620px,calc(100vw - 32px));min-height:76px;margin:0 auto;padding:10px 74px 9px;background:linear-gradient(100deg,rgba(17,28,34,.98),rgba(32,48,53,.96),rgba(17,28,34,.98));border-inline:1px solid rgba(216,194,100,.62);clip-path:polygon(6% 0,94% 0,100% 100%,0 100%);box-shadow:0 8px 24px rgba(0,0,0,.34)}
.broadcast-event>img{width:54px;height:54px}.broadcast-event small{font-size:10px}.broadcast-event b{margin:4px 0 2px;font-size:clamp(24px,2vw,34px)}.broadcast-event em{font-size:13px}
.broadcast-versus{width:100%;height:100%;grid-template-columns:minmax(0,1fr) clamp(300px,26vw,500px) minmax(0,1fr);align-items:start;gap:5px;padding:clamp(8px,1.4vh,16px) clamp(10px,1vw,20px) clamp(12px,2vh,24px)}
.broadcast-team{display:grid;width:100%;min-width:0;grid-template-rows:auto minmax(0,1fr);align-items:stretch;align-self:start;text-align:initial}
.broadcast-team-score{display:flex;height:clamp(78px,9vh,96px);min-width:0;align-items:center;overflow:hidden;border-block:1px solid var(--broadcast-line);background:linear-gradient(105deg,rgba(224,233,234,.97),rgba(165,184,190,.92));box-shadow:0 5px 14px rgba(0,0,0,.32)}
.broadcast-red .broadcast-team-score{border-left:3px solid #d13b44}.broadcast-blue .broadcast-team-score{flex-direction:row-reverse;border-right:3px solid #179bd7}
.broadcast-ban-mark{display:grid;width:clamp(78px,6vw,112px);height:100%;flex:none;grid-template-columns:42px minmax(0,1fr);grid-template-rows:22px 1fr;align-items:center;gap:0 5px;padding:7px;background:linear-gradient(145deg,#17232a,#081016);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.broadcast-ban-mark>small{grid-column:1/-1;color:#e66f6b;font:700 11px/1 Arial,sans-serif;letter-spacing:.16em}.broadcast-ban-mark>img{width:42px;height:42px;border:1px solid rgba(216,194,100,.64);border-radius:0;object-fit:contain;background:#070b10}.broadcast-ban-mark>b{min-width:0;overflow:hidden;color:#e8e2d2;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.broadcast-ban-mark>i{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(216,194,100,.26);color:#746f61;font:normal 20px/1 Georgia,serif}.broadcast-blue .broadcast-ban-mark{text-align:right}
.broadcast-board .broadcast-team-score .broadcast-emblem{width:clamp(64px,4.5vw,82px);height:clamp(64px,4.5vw,82px);flex:none;margin:0 9px;border-width:1px;box-shadow:0 0 0 3px rgba(7,12,16,.28),inset 0 0 0 1px rgba(255,247,190,.2)}
.broadcast-team-identity{min-width:0;flex:1;padding:0 10px}.broadcast-team-identity>small{display:block;color:#4c5a5e;font:700 10px/1 Arial,sans-serif;letter-spacing:.28em}.broadcast-team-identity>h2{max-width:100%;margin:7px 0 0;overflow:hidden;color:#111c21;font:700 clamp(24px,2vw,36px)/1.05 STKaiti,KaiTi,serif;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px rgba(255,255,255,.5)}.broadcast-blue .broadcast-team-identity{text-align:right}
.broadcast-team-score>strong{display:grid;width:clamp(72px,5vw,94px);height:100%;flex:none;place-items:center;background:linear-gradient(145deg,#243139,#10191f);color:#eef0df;font:700 clamp(40px,3.5vw,62px)/1 "Arial Narrow",Arial,sans-serif;font-variant-numeric:tabular-nums;text-shadow:0 2px 9px rgba(0,0,0,.65)}
.broadcast-team .broadcast-summary{width:100%;min-height:0;margin-top:6px}
.broadcast-lineup-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.broadcast-lineup-card{position:relative;min-width:0;height:clamp(190px,13vw,250px);overflow:hidden;border:1px solid rgba(216,194,100,.54);background:linear-gradient(180deg,rgba(39,52,59,.76),rgba(7,13,18,.96)),url("assets/official/蓝方队友选择背景框-2a4132f7.jpg") center/cover;color:#fff;box-shadow:inset 0 0 28px rgba(0,0,0,.42);animation:broadcastLineupIn .55s calc(.08s * var(--card-index)) cubic-bezier(.18,.82,.26,1) both}
.broadcast-red .broadcast-lineup-card{border-bottom:4px solid #d73d44}.broadcast-blue .broadcast-lineup-card{border-bottom:4px solid #159bd7}
.broadcast-role-portrait{position:absolute;top:0;left:50%;width:auto;height:100%;max-width:none;object-fit:cover;filter:drop-shadow(0 5px 9px rgba(0,0,0,.58));transform:translateX(-50%)}.broadcast-red .broadcast-role-portrait{left:-8%}.broadcast-blue .broadcast-role-portrait{left:78%}
.broadcast-lineup-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,8,12,.18) 62%,rgba(3,8,12,.94) 100%);pointer-events:none}
.broadcast-lineup-card>footer{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;min-height:62px;align-items:center;gap:9px;padding:7px 9px;background:linear-gradient(90deg,rgba(4,10,15,.96),rgba(14,25,31,.88));border-top:1px solid rgba(255,255,255,.13)}
.broadcast-lineup-card>footer>img,.broadcast-lineup-card>footer>i{width:48px;height:48px;flex:none;border:1px solid rgba(216,194,100,.72);border-radius:50%;object-fit:contain;background:#071016;box-shadow:0 0 9px rgba(216,194,100,.16)}.broadcast-lineup-card>footer>i{display:grid;place-items:center;color:#f4dd82;font:700 20px/1 Georgia,serif}
.broadcast-lineup-card>footer>span{min-width:0}.broadcast-lineup-card>footer b,.broadcast-lineup-card>footer em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-lineup-card>footer b{color:#fff6cf;font-size:clamp(15px,1.15vw,20px);line-height:1.2}.broadcast-lineup-card>footer em{margin-top:4px;color:#d4cdbd;font-size:clamp(11px,.82vw,14px);font-style:normal;line-height:1.25}
.broadcast-lineup-card.is-empty{display:grid;place-items:center}.broadcast-lineup-placeholder{position:relative;z-index:2;text-align:center}.broadcast-lineup-placeholder>b{display:grid;width:54px;height:54px;margin:0 auto 10px;place-items:center;border:1px solid rgba(216,194,100,.44);color:#c9b76f;font:700 25px/1 Georgia,serif}.broadcast-lineup-placeholder>span{color:#777e7f;font-size:13px;letter-spacing:.1em}
.broadcast-map-stage{position:relative;height:clamp(190px,13vw,250px);align-self:start;margin-top:calc(clamp(78px,9vh,96px) + 6px);overflow:hidden;border:2px solid rgba(216,194,100,.76);background-image:linear-gradient(180deg,rgba(3,8,12,.06),rgba(3,8,12,.55)),var(--broadcast-map);background-position:center;background-size:cover;box-shadow:0 10px 30px rgba(0,0,0,.44),inset 0 0 36px rgba(0,0,0,.2)}
.broadcast-map-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(118,11,27,.15),transparent 31% 69%,rgba(8,90,139,.17)),linear-gradient(180deg,transparent 48%,rgba(2,8,12,.8));pointer-events:none}
.broadcast-map-title{position:absolute;z-index:2;right:9%;bottom:10%;left:9%;padding:14px 12px;text-align:center;text-shadow:0 3px 14px #000}.broadcast-map-title>small{display:block;margin-bottom:7px;color:#f3db75;font:700 11px/1 Arial,sans-serif;letter-spacing:.34em}.broadcast-map-title>em{display:block;color:#fff;font:700 clamp(34px,3vw,58px)/1.05 STKaiti,KaiTi,serif;font-style:normal;letter-spacing:.08em;text-shadow:0 3px 13px #000,0 0 18px rgba(0,0,0,.72)}
@keyframes broadcastLineupIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:1500px),(max-height:850px){.broadcast-event{min-height:62px;padding-block:7px}.broadcast-event>img{width:44px;height:44px}.broadcast-event b{font-size:25px}.broadcast-event em{font-size:11px}.broadcast-team-score{height:72px}.broadcast-ban-mark{width:82px;grid-template-columns:36px minmax(0,1fr);grid-template-rows:18px 1fr;padding:5px}.broadcast-ban-mark>img,.broadcast-ban-mark>i{width:36px;height:36px}.broadcast-ban-mark>small{font-size:9px}.broadcast-ban-mark>b{font-size:10px}.broadcast-board .broadcast-team-score .broadcast-emblem{width:58px;height:58px;margin-inline:7px}.broadcast-team-identity{padding-inline:6px}.broadcast-team-identity>small{font-size:8px}.broadcast-team-identity>h2{margin-top:5px;font-size:24px}.broadcast-team-score>strong{width:66px;font-size:42px}.broadcast-lineup-card,.broadcast-map-stage{height:clamp(180px,13vw,210px)}.broadcast-map-stage{margin-top:78px}.broadcast-lineup-card>footer{min-height:56px;padding:6px}.broadcast-lineup-card>footer>img,.broadcast-lineup-card>footer>i{width:38px;height:38px}.broadcast-lineup-card>footer b{font-size:14px}.broadcast-lineup-card>footer em{font-size:11px}.broadcast-map-title>em{font-size:34px}}
@media(max-width:1000px){.broadcast-versus{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:3px;padding-inline:6px}.broadcast-ban-mark{width:56px;grid-template-columns:1fr;grid-template-rows:16px 1fr}.broadcast-ban-mark>b{display:none}.broadcast-ban-mark>img,.broadcast-ban-mark>i{justify-self:center}.broadcast-board .broadcast-team-score .broadcast-emblem{width:50px;height:50px;margin-inline:5px}.broadcast-team-identity>h2{font-size:19px}.broadcast-team-score>strong{width:52px;font-size:34px}.broadcast-lineup-card>footer{min-height:58px;gap:5px;padding:5px}.broadcast-lineup-card>footer>img,.broadcast-lineup-card>footer>i{width:34px;height:34px}.broadcast-lineup-card>footer b{font-size:12px}.broadcast-lineup-card>footer em{font-size:9px}.broadcast-map-title>small{font-size:8px}.broadcast-map-title>em{font-size:26px}}
@media(max-width:760px){.broadcast-board{overflow-y:auto}.broadcast-event{position:sticky;z-index:5;top:0;width:100%;min-height:58px;clip-path:none}.broadcast-versus{height:auto;grid-template-columns:minmax(0,1fr);gap:12px;padding:9px max(9px,env(safe-area-inset-right)) 14px max(9px,env(safe-area-inset-left))}.broadcast-map-stage{grid-row:1;height:210px;margin-top:0}.broadcast-red{grid-row:2}.broadcast-blue{grid-row:3}.broadcast-team-score{height:66px}.broadcast-ban-mark{width:64px}.broadcast-board .broadcast-team-score .broadcast-emblem{width:48px;height:48px}.broadcast-team-identity>h2{font-size:20px}.broadcast-lineup-card{height:190px}.broadcast-lineup-card>footer b{font-size:12px}.broadcast-lineup-card>footer em{font-size:9px}.broadcast-role-portrait{height:115%;top:-9%}.broadcast-control{position:sticky;z-index:5;bottom:0}.broadcast-map-title>em{font-size:30px}}
.reduce-motion .broadcast-lineup-card{animation:none!important}

/* 心法卡可读性：状态条、心法名和“门派 · 定位”在直播采集与高分屏下保持可辨认。 */
.hero-role-cards .hero-card{min-height:80px;padding:6px 4px 6px}.hero-role-cards .hero-card>img{width:38px;height:38px;margin-bottom:3px}.hero-role-cards .hero-card b{font-size:13px;line-height:1.3}.hero-role-cards .hero-card small{margin-top:3px;color:rgba(255,255,255,.62);font-size:11px;line-height:1.3}
.hero-card.is-used{padding-bottom:28px}.hero-card.is-used>small{padding:5px 4px;font-size:12px;line-height:17px;letter-spacing:.04em}
@media(max-width:1500px),(max-height:850px){.hero-role-cards .hero-card{min-height:70px;padding-top:5px}.hero-role-cards .hero-card>img{width:32px;height:32px}.hero-role-cards .hero-card b{font-size:12px}.hero-role-cards .hero-card small{font-size:10px}.hero-card.is-used{padding-bottom:26px}.hero-card.is-used>small{font-size:11px;line-height:16px}}
@media(max-width:720px){.hero-role-cards .hero-card{min-height:70px}.hero-role-cards .hero-card b{font-size:11px}.hero-role-cards .hero-card small{font-size:9px}.hero-card.is-used{padding-bottom:24px}.hero-card.is-used>small{font-size:10px;line-height:15px}}

/* 最新操作手册：按真实赛务顺序呈现流程、角色权限、模式规则与恢复策略。 */
.guide-dialog{width:min(1120px,calc(100vw - 32px));padding:28px 34px 24px}
.guide-dialog .guide-intro{max-width:900px;margin:-10px auto 14px}
.guide-flow{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 14px;padding:9px 12px;border-block:1px solid rgba(245,215,80,.22);background:rgba(4,9,15,.34);color:#a9a497;font-size:11px}
.guide-flow span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.guide-flow span b{display:grid;width:20px;height:20px;place-items:center;border:1px solid rgba(245,215,80,.5);border-radius:50%;color:#e3ce74;font:700 9px/1 Georgia,serif}.guide-flow i{color:#746b4d;font-style:normal}
.guide-grid-six{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guide-grid-six section{min-height:130px;padding:13px 14px}.guide-grid-six h3{font-size:14px}.guide-grid-six p{font-size:12px;line-height:1.7}
.guide-reference{display:grid;grid-template-columns:1.08fr .92fr;gap:10px;margin-top:10px}.guide-reference>section{padding:13px 15px;border:1px solid rgba(245,215,80,.24);background:linear-gradient(110deg,rgba(3,8,14,.7),rgba(18,25,34,.56))}.guide-reference h3{margin:0 0 9px;color:#f1df94;font-size:14px}.guide-roles dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.guide-roles dl>div{min-width:0;padding-left:9px;border-left:2px solid rgba(245,215,80,.45)}.guide-roles dt{color:#e8d88f;font-size:11px;font-weight:700}.guide-roles dd{margin:4px 0 0;color:#aaa599;font-size:10px;line-height:1.55}.guide-rules ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.guide-rules li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px;color:#aaa599;font-size:10px;line-height:1.5}.guide-rules li b{color:#e0cf85;font-size:11px}
.guide-dialog .guide-safety{margin-top:10px;padding:12px 15px}.guide-dialog .guide-safety ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}.guide-dialog .guide-shortcuts{gap:8px 16px;margin-top:12px}.guide-dialog .dialog-actions{margin-top:13px}
@media(max-width:1000px){.guide-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-reference{grid-template-columns:1fr}.guide-flow{justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.guide-grid-six section{min-height:0}}
@media(max-width:720px){.guide-dialog{padding:24px 12px 16px}.guide-dialog .guide-intro{margin-bottom:10px}.guide-flow{margin-inline:-2px;padding-inline:8px}.guide-grid-six{grid-template-columns:1fr}.guide-grid-six section{padding:12px}.guide-roles dl{grid-template-columns:1fr}.guide-rules li{grid-template-columns:82px minmax(0,1fr)}.guide-dialog .guide-safety ul{grid-template-columns:1fr}.guide-dialog .guide-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guide-dialog .guide-shortcuts span{min-width:0}.guide-dialog .guide-shortcuts span:last-child{grid-column:1/-1}}

/* 导播介绍页 v3：停止遮挡层下的持续渲染，并把对阵信息压缩到底部。 */
.is-broadcasting #draftView{display:none!important}
.is-broadcasting #stageCurtain{display:none!important}
.broadcast-board.is-preparing{z-index:80;pointer-events:none}
.broadcast-board{grid-template-rows:auto minmax(0,1fr) auto auto}
.broadcast-board:before{animation:none;filter:none;will-change:auto}
.broadcast-texture{inset:0;opacity:.34;animation:none;will-change:auto}
.broadcast-event{grid-row:1}
.broadcast-faceoff{position:relative;z-index:1;display:grid;width:min(760px,72vw);min-height:0;grid-row:2;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-self:center;gap:clamp(34px,5vw,88px);padding:clamp(12px,2vh,24px) 0}
.broadcast-faceoff-side{display:flex;min-width:0;align-items:center}
.broadcast-faceoff-side.broadcast-red{justify-content:flex-end}
.broadcast-faceoff-side.broadcast-blue{justify-content:flex-start}
.broadcast-faceoff .broadcast-emblem{width:clamp(104px,9vw,150px);height:clamp(104px,9vw,150px);margin:0;border:2px solid #d8c264;border-radius:0;background:#0b1218;box-shadow:0 0 0 5px rgba(5,10,14,.42),0 14px 40px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,247,190,.16)}
.broadcast-faceoff .broadcast-emblem img{width:100%;height:100%;object-fit:cover}
.broadcast-faceoff .broadcast-emblem>b{font-size:clamp(48px,6vw,82px)}
.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(104px,9vw,150px);height:clamp(104px,9vw,150px)}
.broadcast-faceoff .broadcast-axis{display:grid;grid-template-rows:1fr auto 1fr;align-self:stretch;gap:9px}
.broadcast-faceoff .broadcast-axis>span{width:1px;height:auto;min-height:26px;justify-self:center}
.broadcast-faceoff .broadcast-axis>b{font-size:clamp(42px,4.6vw,72px);animation:none}
.broadcast-versus{position:relative;z-index:2;width:100%;height:clamp(210px,24vh,260px);min-height:0;grid-row:3;grid-template-columns:minmax(0,1fr) clamp(280px,25vw,470px) minmax(0,1fr);align-items:stretch;gap:5px;padding:4px clamp(10px,1vw,20px) 12px}
.broadcast-team{height:auto;min-height:0;align-self:stretch;grid-template-rows:clamp(56px,6vh,66px) minmax(0,1fr);animation:none}
.broadcast-team-score{height:auto;min-height:0}
.broadcast-ban-mark{display:grid;width:clamp(58px,4vw,72px);height:100%;flex:none;grid-template:none;place-items:center;padding:5px}
.broadcast-ban-icon{position:relative;display:grid;width:46px;height:46px;place-items:center}
.broadcast-ban-icon>img{width:46px;height:46px;border:1px solid rgba(216,194,100,.62);border-radius:50%;object-fit:contain;background:#070b10}
.broadcast-ban-icon:after{content:"";position:absolute;top:50%;left:50%;width:128%;height:4px;border:1px solid rgba(255,219,219,.7);border-radius:999px;background:#e63946;box-shadow:0 0 8px rgba(230,57,70,.82);transform:translate(-50%,-50%) rotate(-45deg);transform-origin:center}
.broadcast-ban-empty{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(216,194,100,.2);color:#746f61;font:normal 20px/1 Georgia,serif}
.broadcast-team-identity{padding-inline:clamp(10px,1.2vw,20px)}
.broadcast-team-score>strong{width:clamp(58px,4.4vw,82px)}
.broadcast-summary,.broadcast-lineup-cards{min-height:0;height:100%}
.broadcast-lineup-card{display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) clamp(46px,5vh,56px);animation:none}
.broadcast-role-portrait,
.broadcast-red .broadcast-role-portrait,
.broadcast-blue .broadcast-role-portrait{position:relative;z-index:3;top:auto;left:auto;width:100%;height:100%;max-width:100%;grid-row:1;object-fit:contain;filter:none;transform:none;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 72%,rgba(0,0,0,.88) 84%,rgba(0,0,0,.42) 93%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 72%,rgba(0,0,0,.88) 84%,rgba(0,0,0,.42) 93%,transparent 100%)}
.broadcast-red .broadcast-role-portrait{object-position:100% 100%}
.broadcast-blue .broadcast-role-portrait{object-position:0 100%}
.broadcast-heart-watermark{position:absolute;z-index:2;top:calc((100% - clamp(46px,5vh,56px))/2);width:min(38%,88px);height:min(calc(100% - clamp(46px,5vh,56px) - 12px),88px);object-fit:contain;opacity:.12;filter:grayscale(.2) saturate(.72) brightness(1.45) drop-shadow(0 0 12px rgba(var(--card-silk-rgb),.18));transform:translateY(-50%);pointer-events:none}
.broadcast-red .broadcast-heart-watermark{left:5%}
.broadcast-blue .broadcast-heart-watermark{right:5%}
.broadcast-red .broadcast-lineup-card{--card-mist-rgb:218,76,94;--card-silk-rgb:255,205,214}
.broadcast-blue .broadcast-lineup-card{--card-mist-rgb:55,163,224;--card-silk-rgb:188,230,255}
.broadcast-lineup-card:not(.is-empty){isolation:isolate}
.broadcast-lineup-card:not(.is-empty):before{content:"";position:absolute;z-index:1;top:-16%;bottom:clamp(46px,5vh,56px);left:-34%;width:168%;pointer-events:none;background:repeating-linear-gradient(166deg,transparent 0 45px,rgba(var(--card-silk-rgb),.11) 46px,rgba(var(--card-silk-rgb),.21) 47px,transparent 50px 96px),linear-gradient(159deg,transparent 31%,rgba(var(--card-silk-rgb),.1) 32%,transparent 34% 58%,rgba(var(--card-silk-rgb),.07) 59%,transparent 61%),radial-gradient(ellipse 24% 42% at 18% 62%,rgba(235,246,250,.18),transparent 72%),radial-gradient(ellipse 31% 55% at 47% 42%,rgba(var(--card-mist-rgb),.24),transparent 74%),radial-gradient(ellipse 27% 48% at 76% 68%,rgba(226,242,249,.15),transparent 72%),radial-gradient(ellipse 22% 43% at 94% 35%,rgba(var(--card-mist-rgb),.18),transparent 75%);opacity:.58;animation:broadcastCardAtmosphereFlow 9.8s cubic-bezier(.45,.05,.55,.95) calc(-1.45s * var(--card-index)) infinite alternate}
.broadcast-lineup-card:not(.is-empty):after{display:none}
.broadcast-lineup-card>footer{position:relative;z-index:5;right:auto;bottom:auto;left:auto;min-height:0;grid-row:2;gap:7px;padding:5px 7px}
.broadcast-lineup-card>footer>img,.broadcast-lineup-card>footer>i{width:38px;height:38px}
.broadcast-lineup-card>footer b{font-size:clamp(12px,.92vw,16px)}
.broadcast-lineup-card>footer em{margin-top:2px;font-size:clamp(9px,.7vw,12px)}
.broadcast-map-stage{height:100%;align-self:stretch;margin-top:0}
.broadcast-control{grid-row:4}
@keyframes broadcastCardAtmosphereFlow{0%{opacity:.36;transform:translate3d(-8%,2%,0) scale(.98)}48%{opacity:.64}100%{opacity:.44;transform:translate3d(8%,-2%,0) scale(1.04)}}
.reduce-motion .broadcast-lineup-card:not(.is-empty):before,.reduce-motion .broadcast-lineup-card:not(.is-empty):after{animation:none!important;opacity:.22;transform:none}

@media(max-width:1500px),(max-height:850px){
  .broadcast-faceoff .broadcast-emblem{width:clamp(86px,8vw,118px);height:clamp(86px,8vw,118px)}
  .broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(86px,8vw,118px);height:clamp(86px,8vw,118px)}
  .broadcast-versus{height:clamp(190px,24vh,224px)}
  .broadcast-team{grid-template-rows:56px minmax(0,1fr)}
  .broadcast-ban-mark{width:58px}
  .broadcast-ban-icon,.broadcast-ban-icon>img{width:40px;height:40px}
  .broadcast-team-score>strong{width:58px;font-size:36px}
  .broadcast-lineup-card{height:100%;grid-template-rows:minmax(0,1fr) 48px}
  .broadcast-heart-watermark{top:calc((100% - 48px)/2);width:min(36%,72px);height:min(calc(100% - 56px),72px)}
  .broadcast-map-stage{height:100%;margin-top:0}
}
@media(max-width:1000px){
  .broadcast-faceoff{width:min(620px,86vw)}
  .broadcast-versus{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);padding-inline:6px}
  .broadcast-ban-mark{width:46px}
  .broadcast-ban-icon,.broadcast-ban-icon>img{width:34px;height:34px}
  .broadcast-ban-icon:after{height:3px}
  .broadcast-team-identity{padding-inline:7px}
  .broadcast-team-identity>h2{font-size:16px}
  .broadcast-team-score>strong{width:48px;font-size:30px}
  .broadcast-lineup-card>footer>img,.broadcast-lineup-card>footer>i{width:30px;height:30px}
  .broadcast-lineup-card>footer b{font-size:11px}
  .broadcast-lineup-card>footer em{font-size:8px}
}
@media(max-width:760px){
  .broadcast-board{grid-template-rows:auto 190px auto auto;overflow-y:auto}
  .broadcast-faceoff{position:relative;width:min(440px,92vw);min-height:190px;grid-row:2;gap:26px;padding:10px 0}
  .broadcast-faceoff-side.broadcast-red,.broadcast-faceoff-side.broadcast-blue{grid-row:auto}
  .broadcast-faceoff .broadcast-emblem{width:82px;height:82px}
  .broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:82px;height:82px}
  .broadcast-faceoff .broadcast-axis>b{font-size:36px}
  .broadcast-versus{height:auto;grid-row:3;grid-template-columns:minmax(0,1fr);gap:10px;padding:8px max(9px,env(safe-area-inset-right)) 12px max(9px,env(safe-area-inset-left))}
  .broadcast-map-stage{height:190px;grid-row:1;margin-top:0}
  .broadcast-team{height:220px;grid-template-rows:58px minmax(0,1fr)}
  .broadcast-red{grid-row:2}
  .broadcast-blue{grid-row:3}
  .broadcast-lineup-card{height:100%;grid-template-rows:minmax(0,1fr) 48px}
  .broadcast-role-portrait{top:auto;height:100%}
  .broadcast-heart-watermark{top:calc((100% - 48px)/2);width:min(32%,62px);height:min(calc(100% - 60px),62px)}
  .broadcast-control{grid-row:4}
}

/* 已选阵容卡 v6：增加纵向展示空间，并用一次性入场反馈替代持续闪烁。 */
.roster-slot.is-picked{height:clamp(136px,14vh,150px);animation:rosterSlotReveal .46s cubic-bezier(.16,.86,.26,1) both}
.roster-slot.is-picked:after{opacity:.92;animation:none;background-repeat:no-repeat}
.red-rail .roster-slot.is-picked:after{background-image:linear-gradient(105deg,transparent 18%,rgba(255,235,154,.72) 50%,transparent 82%),url("assets/official/选中框左-3a628b43.png");background-position:220% center,center;background-size:52% 100%,100% 100%;animation:rosterFrameSweepRed .82s cubic-bezier(.2,.74,.24,1) both}
.blue-rail .roster-slot.is-picked:after{background-image:linear-gradient(75deg,transparent 18%,rgba(155,226,255,.72) 50%,transparent 82%),url("assets/official/选中框右-766faca1.png");background-position:-120% center,center;background-size:52% 100%,100% 100%;animation:rosterFrameSweepBlue .82s cubic-bezier(.2,.74,.24,1) both}
.red-rail .roster-slot.is-picked .role-portrait{animation:redRoleInV2 .58s cubic-bezier(.16,.86,.26,1) both}
.blue-rail .roster-slot.is-picked .role-portrait{animation:blueRoleInV2 .58s cubic-bezier(.16,.86,.26,1) both}
.roster-slot.is-picked .mini-icon{animation:rosterIconPop .42s .14s cubic-bezier(.16,.92,.32,1.3) both}
.roster-slot.is-picked .roster-copy{animation:rosterCopyReveal .38s .12s cubic-bezier(.22,.74,.3,1) both}
@keyframes rosterSlotReveal{0%{opacity:.62;transform:translateY(7px) scale(.985)}72%{opacity:1;transform:translateY(-1px) scale(1.004)}100%{opacity:1;transform:none}}
@keyframes redRoleInV2{0%{opacity:0;transform:translateX(12%) scale(.95)}100%{opacity:1;transform:none}}
@keyframes blueRoleInV2{0%{opacity:0;transform:translateX(-12%) scale(.95)}100%{opacity:1;transform:none}}
@keyframes rosterIconPop{0%{opacity:0;transform:scale(.64)}70%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes rosterCopyReveal{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}
@keyframes rosterFrameSweepRed{0%{opacity:.32;background-position:-120% center,center}48%{opacity:1}100%{opacity:.92;background-position:220% center,center}}
@keyframes rosterFrameSweepBlue{0%{opacity:.32;background-position:220% center,center}48%{opacity:1}100%{opacity:.92;background-position:-120% center,center}}
@media(max-width:1500px),(max-height:850px){.roster-slot.is-picked{height:clamp(112px,14vh,124px)}}
@media(max-width:1000px){.roster-slot.is-picked{height:104px}}
@media(max-width:720px){.roster-slot.is-picked{height:96px}}
.reduce-motion .roster-slot.is-picked,.reduce-motion .roster-slot.is-picked:after,.reduce-motion .roster-slot.is-picked .role-portrait,.reduce-motion .roster-slot.is-picked .mini-icon,.reduce-motion .roster-slot.is-picked .roster-copy{animation:none!important;transition:none!important}

/* 无 BP 模式：沿用规则勾选卡的可达交互，并在操作台明确呈现“已跳过”状态。 */
.bp-rule-toggles{display:grid;width:min(100%,1120px);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 auto 10px}
.bp-rule-toggles .pick-ban-rule-toggle{width:100%;height:100%;margin:0}
.no-bp-rule-toggle{border-color:rgba(100,205,177,.4);background:linear-gradient(90deg,rgba(12,69,59,.34),rgba(5,10,16,.56))}
.no-bp-rule-toggle b{color:#9ce6cf}
.match-form.is-no-bp .mode-line{opacity:.43}
.match-form.is-no-bp .mode-line:after{content:"无 BP 模式下不执行先手流程";color:#8fe1c5;font-size:11px;letter-spacing:.05em}
.no-bp-rule-badge{border-color:rgba(100,205,177,.62);background:rgba(22,92,75,.34);color:#9ce6cf}
.no-bp-notice{min-height:0;flex:1;align-content:center;justify-items:center;margin:12px 0;border:1px solid rgba(100,205,177,.34);background:radial-gradient(circle at 50% 45%,rgba(27,112,92,.2),rgba(4,10,15,.66) 62%);text-align:center}
.no-bp-notice:not([hidden]){display:grid}
.no-bp-notice small{color:#72cdb4;font:10px/1 Arial,sans-serif;letter-spacing:.38em}
.no-bp-notice strong{display:block;margin:15px 0 8px;color:#f5e7a7;font:700 clamp(25px,2.2vw,39px)/1.15 STKaiti,KaiTi,serif;letter-spacing:.12em}
.no-bp-notice span{color:#aaa69a;font-size:12px;line-height:1.7}
.draft-view.is-no-bp .hero-grid,.draft-view.is-no-bp .draft-action,.draft-view.is-no-bp .pool-search{display:none!important}
.draft-view.is-no-bp .ban-zone h3{color:#78cdb5}
.no-bp-ban{display:inline-flex;min-height:38px;align-items:center;padding:6px 10px;border:1px solid rgba(100,205,177,.34);background:rgba(15,70,58,.2);color:#8fdcc5;font-size:10px;letter-spacing:.08em}
.broadcast-no-bp-mark{display:grid;min-width:48px;min-height:42px;place-items:center;border:1px solid rgba(100,205,177,.5);background:rgba(11,69,57,.32);color:#9ce6cf;font:700 10px/1 Arial,sans-serif;letter-spacing:.08em}
.draft-view.is-no-bp .timer{color:#8fdcc5;font-size:27px;letter-spacing:.1em}
.draft-view.is-no-bp .shortcut-hint{visibility:hidden}
@media(max-width:1100px){.bp-rule-toggles{grid-template-columns:1fr}.match-form.is-no-bp .mode-line:after{width:100%;text-align:center}.no-bp-notice{margin-inline:4px}}
@media(max-width:720px){.bp-rule-toggles{gap:8px}.no-bp-rule-toggle{align-items:flex-start}.match-form.is-no-bp .mode-line:after{text-align:left}.no-bp-notice strong{font-size:24px}.no-bp-notice span{max-width:270px;padding-inline:12px}}

/* 导播总览 v11：统一为墨色金属、阵营漆色与鎏金剑脊语言。队徽在双方半区独立居中，
   顶部赛事铭牌与 BAN 封印仅使用 transform/opacity 动效，避免重新引发布局。 */
.broadcast-board{--broadcast-ink:#061017;--broadcast-gold:#dbc46c;--broadcast-red:#b22239;--broadcast-blue:#167fbb;background:var(--broadcast-ink)}
.broadcast-board:before{background-image:linear-gradient(90deg,rgba(87,7,20,.82) 0 42%,rgba(4,10,16,.38) 48% 52%,rgba(2,48,82,.82) 58% 100%),linear-gradient(180deg,rgba(2,5,9,.16),rgba(2,5,9,.62)),var(--broadcast-map);background-position:var(--broadcast-map-focus,50% 45%);background-size:cover;filter:none}
.broadcast-board:after{background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(225,199,101,.28) 50%,transparent calc(50% + 1px)),linear-gradient(180deg,rgba(255,255,255,.025),transparent 24%,rgba(0,0,0,.42)),repeating-linear-gradient(115deg,transparent 0 78px,rgba(255,234,164,.023) 80px,transparent 83px)}
.broadcast-texture{inset:0;opacity:.7;background:radial-gradient(ellipse 38% 52% at 24% 52%,rgba(211,38,55,.2),transparent 72%),radial-gradient(ellipse 38% 52% at 76% 52%,rgba(18,129,190,.2),transparent 72%),linear-gradient(90deg,rgba(0,0,0,.12),transparent 18% 82%,rgba(0,0,0,.12));animation:none}

.broadcast-event{position:relative;isolation:isolate;width:min(760px,calc(100vw - 48px));min-height:clamp(68px,8vh,88px);margin:0 auto;padding:clamp(8px,1.2vh,13px) clamp(70px,8vw,118px);overflow:hidden;border:0;background:linear-gradient(90deg,rgba(4,12,18,.98),rgba(24,39,45,.98) 50%,rgba(4,12,18,.98));clip-path:polygon(32px 0,calc(100% - 32px) 0,100% 100%,0 100%);box-shadow:0 10px 32px rgba(0,0,0,.45),inset 0 -1px rgba(225,199,101,.48);animation:broadcastPlaqueIn .72s cubic-bezier(.16,.86,.26,1) both}
.broadcast-event:before{content:"";position:absolute;z-index:-1;inset:4px 24px;border-block:1px solid rgba(225,199,101,.36);background:linear-gradient(90deg,transparent,rgba(225,199,101,.06) 22% 78%,transparent),repeating-linear-gradient(90deg,transparent 0 84px,rgba(255,242,188,.028) 85px,transparent 87px);pointer-events:none}
.broadcast-event:after{content:"";position:absolute;z-index:1;top:-60%;bottom:-60%;left:-28%;width:22%;background:linear-gradient(105deg,transparent,rgba(255,246,196,.08),rgba(255,247,205,.42),rgba(255,233,158,.08),transparent);opacity:0;transform:translateX(-160%) skewX(-17deg);pointer-events:none;animation:broadcastPlaqueGlint 7.6s 1.2s ease-in-out infinite}
.broadcast-event>img,.broadcast-event>span{position:relative;z-index:2}.broadcast-event>img{width:clamp(48px,5.5vh,64px);height:clamp(48px,5.5vh,64px);padding:3px;border:1px solid rgba(225,199,101,.62);background:rgba(3,8,12,.68);box-shadow:0 0 0 3px rgba(0,0,0,.2),0 0 18px rgba(225,199,101,.15);animation:broadcastEventLogoIn .58s .18s cubic-bezier(.16,.92,.32,1.2) both}
.broadcast-event small{color:#d8c36d;font-size:clamp(8px,.62vw,11px);letter-spacing:.46em}.broadcast-event b{margin:5px 0 3px;color:#fff0ae;font-size:clamp(24px,2vw,36px);letter-spacing:.2em;text-shadow:0 2px 12px rgba(0,0,0,.88),0 0 18px rgba(224,196,97,.12)}.broadcast-event em{color:#b9c1be;font-size:clamp(10px,.8vw,13px);letter-spacing:.16em}

.broadcast-faceoff{width:100%;grid-template-columns:minmax(0,1fr) clamp(96px,9vw,156px) minmax(0,1fr);gap:0;padding:clamp(14px,2vh,28px) clamp(3vw,5vw,92px) clamp(16px,3vh,34px)}
.broadcast-faceoff .broadcast-faceoff-side{position:relative;display:grid;height:100%;min-height:0;place-items:center;align-content:center;justify-content:stretch}
.broadcast-faceoff .broadcast-faceoff-side:before{content:"";position:absolute;inset:4% 5%;background:radial-gradient(circle,rgba(255,255,255,.07),rgba(255,255,255,.018) 38%,transparent 68%);opacity:.8;pointer-events:none}
.broadcast-faceoff .broadcast-faceoff-side.broadcast-red:before{background:radial-gradient(circle,rgba(231,66,79,.17),rgba(177,27,48,.045) 42%,transparent 70%)}
.broadcast-faceoff .broadcast-faceoff-side.broadcast-blue:before{background:radial-gradient(circle,rgba(50,167,224,.16),rgba(20,111,164,.045) 42%,transparent 70%)}
.broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{position:relative;display:grid;width:clamp(190px,26vh,310px);height:auto;aspect-ratio:1;place-items:center;box-sizing:border-box;margin:0;padding:7px;overflow:visible;border:1px solid rgba(225,199,101,.9);border-radius:0;background:linear-gradient(145deg,rgba(20,31,36,.98),rgba(3,8,12,.98));box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 0 4px rgba(3,8,12,.62),inset 0 0 28px rgba(255,255,255,.055)}
.broadcast-faceoff .broadcast-emblem:before{content:"";position:absolute;z-index:-1;inset:-10px;border:1px solid rgba(225,199,101,.34);background:linear-gradient(135deg,rgba(225,199,101,.14),transparent 22% 78%,rgba(225,199,101,.14));clip-path:polygon(0 0,34% 0,34% 1px,66% 1px,66% 0,100% 0,100% 34%,calc(100% - 1px) 34%,calc(100% - 1px) 66%,100% 66%,100% 100%,66% 100%,66% calc(100% - 1px),34% calc(100% - 1px),34% 100%,0 100%,0 66%,1px 66%,1px 34%,0 34%);pointer-events:none}
.broadcast-faceoff .broadcast-emblem:after{content:"";position:absolute;z-index:3;inset:7px;border:1px solid rgba(255,244,190,.2);box-shadow:inset 0 0 24px rgba(0,0,0,.34);pointer-events:none}
.broadcast-faceoff .broadcast-emblem img{position:relative;z-index:2;width:100%;height:100%;box-sizing:border-box;border:1px solid rgba(255,244,190,.18);object-fit:cover;background:#091118}
.broadcast-faceoff .broadcast-emblem>b{position:relative;z-index:2;font-size:clamp(72px,11vh,138px)}
.broadcast-faceoff-side.broadcast-red .broadcast-emblem{box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 0 4px rgba(3,8,12,.62),0 0 42px rgba(205,37,54,.2),inset 0 0 28px rgba(255,255,255,.055);animation:broadcastEmblemInRed .72s .12s cubic-bezier(.16,.9,.28,1.08) both}
.broadcast-faceoff-side.broadcast-blue .broadcast-emblem{box-shadow:0 18px 48px rgba(0,0,0,.46),0 0 0 4px rgba(3,8,12,.62),0 0 42px rgba(24,137,198,.2),inset 0 0 28px rgba(255,255,255,.055);animation:broadcastEmblemInBlue .72s .12s cubic-bezier(.16,.9,.28,1.08) both}
.broadcast-faceoff .broadcast-axis{position:relative;z-index:2;display:grid;grid-template-rows:1fr auto 1fr;align-self:stretch;gap:9px}
.broadcast-faceoff .broadcast-axis>span{width:1px;height:auto;min-height:34px;background:linear-gradient(transparent,rgba(224,198,101,.82),transparent);box-shadow:0 0 10px rgba(224,198,101,.32)}
.broadcast-faceoff .broadcast-axis>b{position:relative;isolation:isolate;display:grid;width:clamp(76px,7vw,112px);aspect-ratio:1;place-items:center;color:#fff0a6;font:italic 700 clamp(45px,6vh,80px)/1 Georgia,serif;text-shadow:0 0 22px rgba(225,199,101,.36);animation:broadcastVsSettle .62s .28s cubic-bezier(.16,.9,.28,1.12) both}
.broadcast-faceoff .broadcast-axis>b:before{content:"";position:absolute;z-index:-1;inset:17%;border:1px solid rgba(225,199,101,.42);background:rgba(3,9,13,.38);box-shadow:0 0 22px rgba(225,199,101,.08);transform:rotate(45deg)}

.broadcast-team-score{position:relative;border:1px solid rgba(225,199,101,.5);background:linear-gradient(90deg,rgba(30,10,15,.97),rgba(20,27,31,.96));box-shadow:0 8px 22px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035)}
.broadcast-team-score:after{content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,transparent,rgba(225,199,101,.7),transparent);pointer-events:none}
.broadcast-red .broadcast-team-score{border-left:3px solid var(--broadcast-red);background:linear-gradient(98deg,rgba(64,10,20,.98),rgba(19,27,31,.96) 64%,rgba(10,16,20,.98))}.broadcast-blue .broadcast-team-score{border-right:3px solid var(--broadcast-blue);background:linear-gradient(262deg,rgba(4,49,76,.98),rgba(19,27,31,.96) 64%,rgba(10,16,20,.98))}
.broadcast-team-identity>small{color:#aa9d70}.broadcast-team-identity>h2{color:#f5edcf;text-shadow:0 2px 10px rgba(0,0,0,.75)}
.broadcast-team-score>strong{position:relative;z-index:2;color:#fff2ae;text-shadow:0 2px 10px rgba(0,0,0,.72);box-shadow:inset 0 0 24px rgba(0,0,0,.25)}
.broadcast-red .broadcast-team-score>strong{background:linear-gradient(145deg,rgba(180,34,55,.92),rgba(61,10,19,.98));clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}.broadcast-blue .broadcast-team-score>strong{background:linear-gradient(215deg,rgba(24,126,184,.92),rgba(3,45,70,.98));clip-path:polygon(0 0,84% 0,100% 100%,0 100%)}
.broadcast-ban-mark{position:relative;background:linear-gradient(145deg,rgba(18,28,33,.98),rgba(3,9,13,.98));box-shadow:inset 0 0 0 1px rgba(225,199,101,.12)}
.broadcast-ban-icon{--ban-mark-gold:rgba(225,199,101,.62);position:relative;display:grid;width:46px;height:46px;place-items:center;animation:broadcastBanSealIn .52s .46s cubic-bezier(.16,.9,.3,1.16) both}
.broadcast-ban-icon>img{width:44px;height:44px;padding:2px;border:1px solid var(--ban-mark-gold);border-radius:50%;object-fit:contain;background:#050b10;filter:saturate(.86) brightness(.82);box-shadow:inset 0 0 12px rgba(0,0,0,.48)}
.broadcast-ban-icon:before{content:"";position:absolute;z-index:2;inset:-4px;border:1px solid rgba(225,199,101,.42);clip-path:polygon(0 0,38% 0,38% 1px,62% 1px,62% 0,100% 0,100% 38%,calc(100% - 1px) 38%,calc(100% - 1px) 62%,100% 62%,100% 100%,62% 100%,62% calc(100% - 1px),38% calc(100% - 1px),38% 100%,0 100%,0 62%,1px 62%,1px 38%,0 38%);pointer-events:none}
.broadcast-ban-icon:after{content:"";position:absolute;z-index:3;top:50%;left:50%;width:136%;height:1px;border:0;border-radius:0;background:var(--ban-mark-gold);clip-path:none;box-shadow:none;transform:translate(-50%,-50%) rotate(-45deg);transform-origin:center;animation:broadcastBanLineIn .42s .68s cubic-bezier(.18,.82,.26,1) both}
.broadcast-ban-empty{border:1px solid rgba(225,199,101,.22);background:rgba(2,8,12,.52);color:#706b5a}
.broadcast-lineup-card{border-color:rgba(225,199,101,.48);box-shadow:inset 0 0 28px rgba(0,0,0,.42),0 8px 18px rgba(0,0,0,.16)}
.broadcast-map-stage{border-color:rgba(225,199,101,.8);outline:1px solid rgba(255,241,177,.16);outline-offset:-6px;background-position:var(--broadcast-map-focus,50% 45%);box-shadow:0 10px 32px rgba(0,0,0,.46),inset 0 0 42px rgba(0,0,0,.24)}
.broadcast-control{border-top:1px solid rgba(225,199,101,.4);background:linear-gradient(90deg,rgba(3,8,12,.96),rgba(12,21,26,.96),rgba(3,8,12,.96));box-shadow:0 -8px 24px rgba(0,0,0,.3)}
.broadcast-control>button{border-color:rgba(225,199,101,.78);background:linear-gradient(180deg,#80662d,#33230d);box-shadow:inset 0 1px rgba(255,244,190,.18),0 0 16px rgba(225,199,101,.08);transition:transform .18s ease,filter .18s ease}.broadcast-control>button:hover{filter:brightness(1.14)}.broadcast-control>button:active{transform:translateY(1px) scale(.985)}

@keyframes broadcastPlaqueIn{0%{opacity:0;transform:translateY(-16px) scaleX(.92)}72%{opacity:1;transform:translateY(1px) scaleX(1.01)}100%{opacity:1;transform:none}}
@keyframes broadcastPlaqueGlint{0%,70%{left:-28%;opacity:0;transform:translateX(-160%) skewX(-17deg)}75%{opacity:.7}88%{left:106%;opacity:0;transform:translateX(160%) skewX(-17deg)}100%{left:106%;opacity:0;transform:translateX(160%) skewX(-17deg)}}
@keyframes broadcastEventLogoIn{0%{opacity:0;transform:scale(.7) rotate(-4deg)}75%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:none}}
@keyframes broadcastEmblemInRed{0%{opacity:0;transform:translateX(-32px) scale(.94)}72%{opacity:1;transform:translateX(2px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes broadcastEmblemInBlue{0%{opacity:0;transform:translateX(32px) scale(.94)}72%{opacity:1;transform:translateX(-2px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes broadcastVsSettle{0%{opacity:0;transform:scale(.68)}70%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:none}}
@keyframes broadcastBanSealIn{0%{opacity:0;transform:scale(.7) rotate(-8deg)}72%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:none}}
@keyframes broadcastBanLineIn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scaleX(0)}72%{opacity:1;transform:translate(-50%,-50%) rotate(-45deg) scaleX(1.04)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-45deg) scaleX(1)}}

.reduce-motion .broadcast-event,.reduce-motion .broadcast-event:after,.reduce-motion .broadcast-event>img,.reduce-motion .broadcast-faceoff-side .broadcast-emblem,.reduce-motion .broadcast-faceoff .broadcast-axis>b,.reduce-motion .broadcast-ban-icon{animation:none!important;transform:none!important}
.reduce-motion .broadcast-ban-icon:after{animation:none!important;transform:translate(-50%,-50%) rotate(-45deg)!important}

@media(max-width:1000px){
  .broadcast-event{width:min(680px,calc(100vw - 28px));padding-inline:58px}
  .broadcast-faceoff{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);padding-inline:22px}
  .broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(150px,23vh,220px)}
  .broadcast-faceoff .broadcast-axis>b{width:74px;font-size:44px}
  .broadcast-ban-icon,.broadcast-ban-icon>img{width:36px;height:36px}
}
@media(max-width:760px){
  .broadcast-event{width:100%;min-height:60px;padding:7px 42px;clip-path:none}
  .broadcast-event:before{inset:3px 12px}
  .broadcast-faceoff{width:100%;min-height:190px;grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);gap:8px;padding:12px 16px}
  .broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:104px;padding:4px}
  .broadcast-faceoff .broadcast-emblem:before{inset:-6px}
  .broadcast-faceoff .broadcast-emblem:after{inset:4px}
  .broadcast-faceoff .broadcast-axis>b{width:56px;font-size:34px}
  .broadcast-faceoff .broadcast-axis>span{min-height:25px}
}

/* 赛事品牌台 v12：横版赛事 LOGO 是主视觉，队徽仍使用独立的正方形规范。 */
.brand-upload-title{display:flex;flex-direction:column;gap:3px;color:#b7b1a2;line-height:1.35}
.brand-upload-title>small{color:#77766f;font-size:9px;font-weight:400;letter-spacing:.02em}
.event-brand-upload,.event-plan-logo{display:grid;grid-template-columns:minmax(130px,auto) minmax(0,1fr);width:min(560px,100%);align-items:center;justify-content:stretch;gap:14px;margin-inline:auto;padding:10px 12px;border:1px solid rgba(216,194,100,.18);background:linear-gradient(100deg,rgba(216,194,100,.035),rgba(4,10,15,.2))}
.event-brand-upload .brand-upload-control,.event-plan-logo .brand-upload-control{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:10px}
.event-brand-upload .brand-preview,.event-plan-logo .brand-preview{width:100%;height:58px;border-radius:2px;background:linear-gradient(135deg,#111c23,#05090d);box-shadow:inset 0 0 22px rgba(0,0,0,.42)}
.event-brand-upload .brand-preview>b,.event-plan-logo .brand-preview>b{color:#94865a;font:700 11px/1 STKaiti,KaiTi,serif;letter-spacing:.16em}
.brand-preview>img~b{display:none}
.event-brand-upload .brand-preview>img,.event-plan-logo .brand-preview>img{position:relative;z-index:1;width:100%;height:100%;padding:4px;box-sizing:border-box;object-fit:contain;background:#071017}
.event-brand-upload .brand-upload-control em,.event-plan-logo .brand-upload-control em{max-width:none;white-space:normal;line-height:1.45}

.broadcast-event{display:grid;width:min(820px,calc(100vw - 48px));min-height:clamp(72px,8.4vh,94px);grid-template-rows:1fr;place-items:center;gap:0;padding:clamp(8px,1vh,12px) clamp(78px,8vw,126px);overflow:hidden;border:0;background:linear-gradient(104deg,rgba(93,12,28,.2),transparent 27%),linear-gradient(256deg,rgba(7,77,116,.2),transparent 27%),linear-gradient(90deg,rgba(3,10,15,.99),rgba(21,34,39,.99) 50%,rgba(3,10,15,.99));clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,22px 100%,0 50%);box-shadow:0 12px 34px rgba(0,0,0,.48),inset 0 1px rgba(229,208,119,.5),inset 0 -1px rgba(229,208,119,.64);animation:broadcastPlaqueIn .72s cubic-bezier(.16,.86,.26,1) both}
.broadcast-event:before{content:"";position:absolute;z-index:0;inset:6px 30px;border:0;background:linear-gradient(90deg,rgba(224,200,105,.7),rgba(224,200,105,.08) 16%,transparent 38% 62%,rgba(224,200,105,.08) 84%,rgba(224,200,105,.7)) top/100% 1px no-repeat,linear-gradient(90deg,rgba(224,200,105,.7),rgba(224,200,105,.08) 16%,transparent 38% 62%,rgba(224,200,105,.08) 84%,rgba(224,200,105,.7)) bottom/100% 1px no-repeat,repeating-linear-gradient(118deg,transparent 0 92px,rgba(255,242,188,.025) 94px,transparent 97px);pointer-events:none}
.broadcast-event:after{z-index:3;width:18%;background:linear-gradient(105deg,transparent,rgba(255,247,205,.06),rgba(255,247,205,.3),rgba(255,233,158,.06),transparent);animation-duration:8.8s}
.broadcast-event>img,.broadcast-event>.broadcast-event-copy{position:relative;z-index:2}
.broadcast-event>img{display:block;width:auto;height:auto;max-width:min(660px,68vw);max-height:clamp(50px,6.6vh,72px);padding:0;border:0;background:transparent;box-shadow:none;object-fit:contain;filter:drop-shadow(0 3px 11px rgba(0,0,0,.82)) drop-shadow(0 0 8px rgba(225,199,101,.1));animation:broadcastEventLogoIn .58s .18s cubic-bezier(.16,.92,.32,1.2) both}
.broadcast-event>.broadcast-event-copy{text-align:center}
.broadcast-event .broadcast-event-copy small{color:#d7c36d;font-size:clamp(8px,.56vw,10px);letter-spacing:.48em}
.broadcast-event .broadcast-event-copy b{margin:5px 0 3px;color:#fff1b2;font-size:clamp(23px,1.9vw,34px);letter-spacing:.18em}
.broadcast-event .broadcast-event-copy em{color:#c4c6bd;font-size:clamp(10px,.75vw,12px);letter-spacing:.14em}
.broadcast-event.has-event-logo{width:min(940px,calc(100vw - 48px));min-height:clamp(92px,10vh,112px);grid-template-rows:minmax(0,1fr) auto;padding-block:clamp(6px,.8vh,9px) clamp(5px,.65vh,8px);padding-inline:clamp(74px,8vw,130px)}
.broadcast-event.has-event-logo>img{max-height:clamp(66px,7.7vh,82px)}
.broadcast-event.has-event-logo>.broadcast-event-copy{grid-row:2;display:flex;align-items:center;gap:8px;color:#d8c36d}
.broadcast-event.has-event-logo>.broadcast-event-copy:before,.broadcast-event.has-event-logo>.broadcast-event-copy:after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(220,197,105,.7))}
.broadcast-event.has-event-logo>.broadcast-event-copy:after{transform:scaleX(-1)}
.broadcast-event.has-event-logo .broadcast-event-copy em{display:block;padding:2px 9px 1px;border-inline:1px solid rgba(220,197,105,.32);color:#d9d0ae;font-size:clamp(9px,.68vw,11px);line-height:1.2;letter-spacing:.18em;text-shadow:0 1px 6px #000}

@media(max-width:760px){
  .event-brand-upload,.event-plan-logo{grid-template-columns:1fr;gap:8px;padding:9px}
  .event-brand-upload .brand-upload-control,.event-plan-logo .brand-upload-control{grid-template-columns:minmax(140px,1fr) minmax(90px,.8fr)}
  .event-brand-upload .brand-preview,.event-plan-logo .brand-preview{height:52px}
  .broadcast-event,.broadcast-event.has-event-logo{width:100%;min-height:64px;padding:6px 38px;clip-path:none}
  .broadcast-event:before{inset:4px 12px}
  .broadcast-event>img{max-width:62vw;max-height:44px}
  .broadcast-event.has-event-logo .broadcast-event-copy em{font-size:9px}
}

/* 对阵焦点 v19：保留双方大队徽，以开放式 V｜剑脊｜S 取代厚重盾牌，让中轴更适合直播画面。 */
.broadcast-faceoff{grid-template-columns:minmax(0,1fr) clamp(122px,10vw,168px) minmax(0,1fr);padding-block:clamp(7px,1.2vh,17px) clamp(9px,1.5vh,22px)}
.broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(220px,33vh,380px);padding:8px}
.broadcast-faceoff .broadcast-emblem:before{inset:-11px}
.broadcast-faceoff .broadcast-emblem:after{inset:8px}
.broadcast-faceoff .broadcast-axis{grid-template-rows:1fr auto 1fr;gap:7px;place-items:center}
.broadcast-faceoff .broadcast-axis>span{width:26px;min-height:30px;background:linear-gradient(90deg,transparent 0 8px,rgba(224,198,101,.18) 9px,transparent 10px 15px,rgba(224,198,101,.72) 16px,transparent 17px);box-shadow:none}
.broadcast-faceoff .broadcast-axis>b{position:relative;isolation:isolate;display:grid;width:clamp(122px,10vw,168px);aspect-ratio:1.38;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);grid-template-rows:1fr auto;place-content:center;place-items:center;column-gap:0;padding:9% 3% 8%;box-sizing:border-box;overflow:visible;color:#fff0a6;background:radial-gradient(ellipse at 50% 46%,rgba(238,215,126,.18),rgba(238,215,126,.055) 34%,transparent 67%);clip-path:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.34)) drop-shadow(0 0 12px rgba(225,199,101,.12));text-shadow:none;animation:broadcastVsBladeIn .68s .24s cubic-bezier(.16,.9,.28,1.08) both}
.broadcast-faceoff .broadcast-axis>b:before{content:"";position:absolute;z-index:-1;top:47%;right:-8%;left:-8%;height:1px;background:linear-gradient(90deg,transparent,rgba(229,207,116,.18) 15%,rgba(255,239,169,.72) 49%,rgba(229,207,116,.18) 85%,transparent);box-shadow:0 0 8px rgba(229,207,116,.16)}
.broadcast-faceoff .broadcast-axis>b:after{content:"";position:absolute;z-index:-1;top:20%;right:4%;bottom:25%;left:4%;border-block:1px solid rgba(229,207,116,.13);transform:skewX(-13deg)}
.broadcast-faceoff .broadcast-axis>b>i{position:relative;z-index:2;color:#fff0a6;font:italic 700 clamp(45px,4.5vw,70px)/.9 "Times New Roman",Georgia,serif;text-decoration:none;text-shadow:0 3px 10px rgba(0,0,0,.82),0 0 14px rgba(225,199,101,.25)}
.broadcast-faceoff .broadcast-axis>b>i:first-child{transform:translateX(4px)}
.broadcast-faceoff .broadcast-axis>b>i:nth-of-type(2){transform:translateX(-4px)}
.broadcast-faceoff .broadcast-axis>b>s{position:relative;z-index:3;width:3px;height:clamp(58px,5.2vw,82px);background:linear-gradient(transparent,#fff4bc 12% 72%,#a88635 91%,transparent);box-shadow:0 0 8px rgba(229,207,116,.48);transform:rotate(13deg);text-decoration:none}
.broadcast-faceoff .broadcast-axis>b>s:before{content:"";position:absolute;top:70%;left:50%;width:22px;height:2px;background:linear-gradient(90deg,transparent,#e5cf76 18% 82%,transparent);transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 0 6px rgba(229,207,116,.35)}
.broadcast-faceoff .broadcast-axis>b>s:after{content:"";position:absolute;bottom:1px;left:50%;width:7px;height:7px;border:1px solid rgba(245,224,145,.82);background:#10181b;transform:translate(-50%,58%) rotate(45deg);box-shadow:0 0 5px rgba(229,207,116,.3)}
.broadcast-faceoff .broadcast-axis>b>small{position:relative;z-index:2;grid-column:1/-1;margin-top:1px;color:#cfc297;font:700 clamp(8px,.65vw,10px)/1 STKaiti,KaiTi,serif;letter-spacing:.46em;text-indent:.46em;text-shadow:0 1px 5px #000}
@keyframes broadcastVsBladeIn{0%{opacity:0;transform:scale(.8);filter:blur(4px)}68%{opacity:1;transform:scale(1.04);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.reduce-motion .broadcast-faceoff .broadcast-axis>b{animation:none!important;transform:none!important}

@media(max-width:1000px){
  .broadcast-faceoff{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr)}
  .broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(176px,27vh,242px)}
  .broadcast-faceoff .broadcast-axis>b{width:108px}
}
@media(max-height:650px) and (min-width:761px){
  .broadcast-faceoff{padding-block:4px 6px}
  .broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:clamp(205px,36vh,225px)}
  .broadcast-faceoff .broadcast-axis>b{width:108px}
}
@media(max-width:760px){
  .broadcast-faceoff{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:7px;padding:10px 13px}
  .broadcast-faceoff .broadcast-emblem,.broadcast-board[data-phase="complete"] .broadcast-faceoff .broadcast-emblem{width:116px;padding:5px}
  .broadcast-faceoff .broadcast-emblem:before{inset:-7px}
  .broadcast-faceoff .broadcast-emblem:after{inset:5px}
  .broadcast-faceoff .broadcast-axis>b{width:76px;padding-inline:3%}
  .broadcast-faceoff .broadcast-axis>b>i{font-size:32px}
  .broadcast-faceoff .broadcast-axis>b>s{height:42px}
  .broadcast-faceoff .broadcast-axis>b>s:before{width:16px}
  .broadcast-faceoff .broadcast-axis>b>small{font-size:7px}
  .broadcast-faceoff .broadcast-axis>span{min-height:20px}
}

/* 地图主体焦点 v19：页面已独立显示地图名，横幅改为按地图锁定主体建筑，而不是追随原图右上角题字。 */
.match-map-art{background-position:var(--map-focus,50% 45%);transform-origin:var(--map-focus,50% 45%)}

/* 阵容心法图标 v20：裁掉素材自带的徽章外圈，以透明、无圆框的心法符号融入底部信息栏。 */
.broadcast-lineup-card>footer>img{border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:inset(13%);mix-blend-mode:screen;filter:saturate(1.16) brightness(1.1) drop-shadow(0 0 5px rgba(216,194,100,.22));transform:scale(1.32)}
