:root{--ink:#11171b;--panel:#182126;--panel-2:#202c31;--paper:#f4f0e8;--muted:#8e9ca1;--line:#ffffff1a;--teal:#53e0c1;--teal-dark:#0d7467;--red:#ff5d5d;--gold:#f0c66b;--font:"Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--ink);color:var(--paper);font-family:var(--font);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 20px;font-weight:800;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--teal);color:#09241f;box-shadow:0 10px 30px #53e0c12e}.btn-ghost{background:#ffffff0d;border-color:#ffffff26}.btn-quiet{color:#d7e0e2;background:0 0;border-color:#ffffff24}.btn.compact{min-height:38px;padding:0 14px;font-size:13px}.full{width:100%}.eyebrow{color:var(--teal);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font:800 11px/1.2 ui-monospace,monospace}.muted{color:var(--muted)}.hub-page,.mobile-page{background:radial-gradient(circle at 75% 20%,#24363a 0,#11171b 42%,#0b1013 100%);place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.ambient{filter:blur(90px);opacity:.14;border-radius:50%;width:360px;height:360px;position:absolute}.ambient-one{background:var(--teal);top:-120px;right:-80px}.ambient-two{background:var(--red);bottom:-180px;left:-100px}.hub-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#ffffff12,#ffffff05);width:min(760px,100%);padding:64px;position:relative;box-shadow:0 32px 90px #00000059}.brand-mark,.mini-brand,.control-brand>a{background:var(--teal);color:#0b201d;width:50px;height:50px;font:1000 18px/1 var(--font);clip-path:polygon(0 0,100% 0,100% 72%,73% 100%,0 100%);place-items:center;display:grid}.hub-card h1{letter-spacing:-.045em;margin:16px 0 14px;font-size:clamp(38px,7vw,68px);line-height:.98}.hub-lead{color:#b8c4c7;max-width:610px;font-size:18px;line-height:1.75}.hub-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.status-strip{border-top:1px solid var(--line);color:#77878d;letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:20px;font:700 11px/1.2 ui-monospace,monospace;display:flex}.status-dot,.system-status i,.live-pill i,.broadcast-live i,.playing-status i{background:var(--teal);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #53e0c11f}.mobile-card{border:1px solid var(--line);background:#11181cf0;width:min(640px,100%);max-height:calc(100svh - 32px);padding:28px;overflow:auto;box-shadow:0 30px 90px #00000061}.mobile-head{grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-bottom:28px;display:grid}.mini-brand{width:44px;height:44px}.mobile-head h1{margin:0;font-size:26px}.mobile-head .eyebrow{margin-bottom:2px}.live-pill{color:var(--teal);background:#53e0c114;border:1px solid #53e0c133;padding:7px 10px;font-size:12px;font-weight:800}.live-pill i{width:6px;height:6px;margin-right:7px}.field-label{color:#ccd5d7;margin:20px 0 9px;font-size:13px;font-weight:800;display:block}.field-row{justify-content:space-between;align-items:center;display:flex}.upload-link{color:var(--teal);cursor:pointer;font-size:12px}.upload-link input{display:none}.text-input,.settings-panel input{color:#fff;background:#ffffff0b;border:1px solid #ffffff21;border-radius:6px;outline:0;width:100%;height:52px;padding:0 15px}.text-input:focus,.settings-panel input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #53e0c11a}.avatar-picker{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-choice{cursor:pointer;background:#ffffff09;border:1px solid #ffffff14;border-radius:5px;min-width:0;padding:4px 3px 6px}.avatar-choice img{aspect-ratio:1;object-fit:cover;filter:saturate(.78);width:100%;display:block}.avatar-choice span{color:#8fa0a5;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;display:block;overflow:hidden}.avatar-choice.selected{border-color:var(--teal);background:#53e0c11f;box-shadow:0 0 0 2px #53e0c11a}.avatar-choice.selected span{color:var(--teal)}.consent-row{color:#9aa9ad;align-items:flex-start;gap:10px;margin:22px 0 14px;font-size:12px;line-height:1.55;display:flex}.consent-row input{accent-color:var(--teal);margin-top:3px}.form-error{color:#ff8585;font-size:13px}.submit-btn{height:54px;margin-top:8px}.success-card{text-align:center;padding-block:54px}.success-ring{border:1px solid var(--teal);border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 28px;display:grid;box-shadow:0 0 0 14px #53e0c10d,inset 0 0 30px #53e0c11f}.success-ring span{color:var(--teal);font-size:40px}.success-card h1{margin:8px 0;font-size:38px}.success-name{color:var(--teal);font-size:24px;font-weight:900}.player-avatar{background:#26343a;border:1px solid #ffffff1a;flex:none;position:relative;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-sm{width:42px;height:42px}.avatar-md{width:64px;height:64px}.avatar-lg{width:110px;height:110px}.avatar-xl{width:clamp(180px,24vw,380px);height:clamp(180px,24vw,380px)}.empty-avatar{color:#53646a;place-items:center;font-size:50px;display:grid}.control-page{color:#eaf0f1;background:#0d1316;min-height:100vh}.control-header{border-bottom:1px solid var(--line);z-index:10;background:#11191d;justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 28px;display:flex;position:sticky;top:0}.control-brand{align-items:center;gap:14px;display:flex}.control-brand>a{width:40px;height:40px;font-size:14px}.control-brand p,.control-brand h1{margin:0}.control-brand p{color:#6f8086;letter-spacing:.12em;font:700 10px/1.4 ui-monospace,monospace}.control-brand h1{white-space:nowrap;text-overflow:ellipsis;max-width:48vw;font-size:17px;overflow:hidden}.header-actions{align-items:center;gap:12px;display:flex}.system-status{color:#8ba29d;font-size:12px}.system-status i{margin-right:8px}.system-status.offline{color:#ff8b8b}.system-status.offline i{background:var(--red)}.icon-btn{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;width:38px;height:38px}.control-grid{grid-template-columns:360px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.panel{border-right:1px solid var(--line);background:#131c20}.roster-panel{padding:24px 20px}.panel-title-row,.workspace-topline,.field-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-title-row h2,.workspace-topline h2{margin:0;font-size:23px}.panel-title-row h2 b{color:var(--teal);vertical-align:top;font-size:13px}.text-button{color:var(--teal);cursor:pointer;background:0 0;border:0;font-size:12px}.panel-mini-actions{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.roster-tools{grid-template-columns:1fr auto;gap:8px;margin:20px 0 12px;display:grid}.roster-tools input{border:1px solid var(--line);color:#fff;background:#ffffff09;outline:0;width:100%;min-width:0;height:38px;padding:0 12px}.checkin-toggle{border:1px solid var(--line);color:#87969a;cursor:pointer;background:#20282c;font-size:11px}.checkin-toggle i{background:#59676b;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.checkin-toggle.open{color:var(--teal);border-color:#53e0c133}.checkin-toggle.open i{background:var(--teal)}.player-list{height:calc(100vh - 246px);padding-right:4px;overflow:auto}.player-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom-color:#ffffff0f;grid-template-columns:28px 42px 1fr auto;align-items:center;gap:11px;width:100%;padding:9px 7px;display:grid}.player-row:hover{background:#ffffff09}.player-row.active-player{background:#53e0c10f;border-color:#53e0c129}.player-index{color:#536269;font:700 11px/1 ui-monospace,monospace}.player-meta{min-width:0}.player-meta strong,.player-meta small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.player-meta strong{font-size:14px}.player-meta small{color:#66767b;margin-top:3px;font-size:10px}.row-arrow{color:#506066;font-size:20px}.side-tag{padding:4px 6px;font:800 9px/1 ui-monospace,monospace}.side-tag.left{color:var(--teal);background:#53e0c11a}.side-tag.right{color:var(--red);background:#ff5d5d1a}.empty-list{text-align:center;color:#5c6b70;padding:70px 20px}.empty-list span{font-size:42px}.match-workspace{padding:26px 32px 40px;overflow:auto}.workspace-topline>span{color:#708085;font-size:12px}.match-slots{grid-template-columns:1fr 110px 1fr;align-items:center;gap:18px;margin-top:24px;display:grid}.fighter-slot{background:linear-gradient(145deg,#ffffff09,#0000);border:1px dashed #ffffff24;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:355px;padding:18px;display:flex;position:relative;overflow:hidden}.fighter-slot.filled{border-style:solid}.fighter-slot.left.filled{background:radial-gradient(circle at 50% 35%,#53e0c11f,#0000 55%);border-color:#53e0c147}.fighter-slot.right.filled{background:radial-gradient(circle at 50% 35%,#ff5d5d1f,#0000 55%);border-color:#ff5d5d47}.slot-label{color:#627177;letter-spacing:.14em;font:800 10px/1 ui-monospace,monospace;position:absolute;top:15px;left:17px}.fighter-slot.left .player-avatar{box-shadow:-12px 14px #53e0c114}.fighter-slot.right .player-avatar{box-shadow:12px 14px #ff5d5d14}.fighter-name{text-align:center;margin-top:14px}.fighter-name h3,.fighter-name p{margin:0}.fighter-name h3{font-size:25px}.fighter-name p{color:#68777c;margin-top:4px;font-size:11px}.versus-core{text-align:center}.versus-core>span{font:italic 1000 46px/1 ui-monospace,monospace;display:block}.versus-core button{border:1px solid var(--line);cursor:pointer;background:#ffffff09;border-radius:50%;width:62px;height:62px;margin-top:26px;font-size:22px}.versus-core small{color:#637177;font-size:9px;display:block}.match-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.launch-btn{min-width:220px}.live-controls{border:1px solid var(--line);background:#121a1e;margin-top:28px}.stage-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.stage-tabs button{border:0;border-right:1px solid var(--line);color:#68777c;cursor:pointer;background:0 0;height:42px;font-size:11px}.stage-tabs button.active{color:var(--teal);background:#53e0c114}.winner-controls{grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:16px;display:grid}.winner-controls h3{margin:0;font-size:16px}.winner-btn{cursor:pointer;background:0 0;border:1px solid;min-width:130px;height:52px;font-weight:900}.winner-btn:disabled{opacity:.35}.left-win{color:var(--teal);border-color:#53e0c159}.right-win{color:#ff8585;border-color:#ff5d5d59}.timer-console,.draw-console{border:1px solid var(--line);background:#121a1e;margin-top:28px;padding:18px}.timer-console-head,.draw-console-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.timer-console h3,.draw-console h3{margin:0;font-size:18px}.control-clock{border:1px solid var(--line);text-align:right;background:#0d1417;min-width:156px;padding:10px 16px}.control-clock small,.control-clock strong{display:block}.control-clock small{color:#728287;font-size:10px}.control-clock strong{letter-spacing:.04em;margin-top:3px;font:1000 30px/1 ui-monospace,monospace}.control-clock.running strong{color:var(--teal)}.timer-settings{grid-template-columns:110px 110px 1fr;align-items:end;gap:10px;margin-top:16px;display:grid}.timer-settings label{color:#859398;font-size:11px}.timer-settings input{border:1px solid var(--line);color:#fff;background:#0d1417;width:100%;height:40px;margin-top:5px;padding:0 10px}.timer-presets{flex-wrap:wrap;gap:6px;display:flex}.timer-presets button{border:1px solid var(--line);color:#93a1a5;cursor:pointer;background:#ffffff09;min-width:58px;height:40px}.timer-presets button:hover{color:var(--teal);border-color:#53e0c159}.timer-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.timer-actions .btn{min-height:40px;font-size:12px}.draw-console-head>div>span{color:#67777c;margin-top:5px;font-size:10px;display:block}.draw-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.draw-buttons .btn{min-height:40px;padding-inline:13px;font-size:11px}.draw-empty{border:1px dashed var(--line);color:#64747a;text-align:center;margin-top:16px;padding:28px;font-size:12px}.draw-animation{text-align:center;background:radial-gradient(circle,#53e0c11f,#0000 70%);border:1px solid #53e0c140;margin-top:16px;padding:20px;overflow:hidden}.draw-animation>strong{color:var(--teal);letter-spacing:.24em;margin-top:14px;font:800 10px/1 ui-monospace,monospace;animation:1s infinite pulse;display:block}.draw-reel{justify-content:center;gap:8px;height:42px;display:flex;overflow:hidden}.draw-reel span{border:1px solid var(--line);background:#172226;min-width:110px;padding:11px;font-weight:800;animation:.42s ease-in-out infinite alternate drawShuffle}.draw-pair-list{gap:8px;margin-top:16px;display:grid}.draw-pair-row{background:#ffffff06;border:1px solid #ffffff14;grid-template-columns:70px 1fr 32px 1fr 76px;align-items:center;gap:10px;padding:10px;display:grid}.draw-match-no{color:var(--gold);font:800 10px/1 ui-monospace,monospace}.draw-pair-row>div{grid-template-columns:auto 42px 1fr;align-items:center;gap:8px;min-width:0;display:grid}.draw-pair-row em{color:#607077;font:700 9px/1 ui-monospace,monospace}.draw-pair-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.draw-pair-row>b{color:#74858a;font:italic 900 14px/1 ui-monospace,monospace}.draw-pair-row>button{height:34px;color:var(--teal);cursor:pointer;background:#53e0c112;border:1px solid #53e0c140;font-size:10px}.draw-pair-row>button:disabled{opacity:.35;cursor:not-allowed}.print-sheet{display:none}.settings-panel{z-index:30;border-left:1px solid var(--line);background:#151e22;width:min(390px,100vw);height:calc(100vh - 76px);padding:24px;position:fixed;top:76px;right:0;box-shadow:-30px 30px 80px #00000059}.settings-panel h3{margin-top:0}.settings-panel label{color:#98a6aa;margin:16px 0;font-size:12px;display:block}.settings-panel input{margin-top:7px}.error-banner{color:#ffb4b4;background:#4b2226;padding:9px 24px;font-size:12px}.loading-page{text-align:center;color:#849399;place-content:center;gap:14px;min-height:100vh;display:grid}.loader,.broadcast-loader{border:2px solid #ffffff1f;border-top-color:var(--teal);border-radius:50%;width:36px;height:36px;margin:auto;animation:1s linear infinite spin}.screen-page{color:#f3f0e9;background:#10171a;width:100vw;min-width:960px;height:100vh;min-height:540px;position:relative;overflow:hidden}.broadcast-grain{pointer-events:none;opacity:.16;background-image:radial-gradient(#ffffff2e .6px,#0000 .6px);background-size:5px 5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 65%);mask-image:linear-gradient(#000,#0000 65%)}.broadcast-header{z-index:5;border-bottom:1px solid #ffffff21;grid-template-columns:1fr auto 1fr;align-items:center;height:9vh;min-height:58px;padding:0 3vw;display:grid;position:relative}.broadcast-brand{align-items:center;gap:12px;display:flex}.broadcast-brand b{background:var(--teal);color:#0c2420;clip-path:polygon(0 0,100% 0,100% 72%,75% 100%,0 100%);place-items:center;width:38px;height:38px;display:grid}.broadcast-brand span{font-weight:900;line-height:1.05}.broadcast-brand small{color:#6e7f84;letter-spacing:.16em;font:700 8px/1 ui-monospace,monospace}.broadcast-event{text-align:center}.broadcast-event span{color:var(--teal);letter-spacing:.16em;font:700 9px/1.4 ui-monospace,monospace;display:block}.broadcast-event strong{font-size:clamp(13px,1.1vw,21px)}.broadcast-live{color:#8d9da1;letter-spacing:.18em;justify-self:end;font:900 10px/1 ui-monospace,monospace}.broadcast-live i{margin-right:10px;animation:1.8s infinite pulse}.screen-window-controls{z-index:100;opacity:.28;gap:5px;transition:opacity .2s;display:flex;position:fixed;top:10vh;right:1vw}.screen-window-controls:hover{opacity:1}.screen-window-controls button{color:#9aabad;cursor:pointer;background:#080e11d9;border:1px solid #ffffff26;height:30px;padding:0 10px;font-size:10px}.screen-window-controls button:last-child:hover{color:#ff9c9c;border-color:#ff5d5d80}.screen-timer{z-index:20;background:#090f12f0;border:1px solid #ffffff21;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:14px;min-width:220px;height:7vh;min-height:48px;padding:.7vh 18px;display:grid;position:fixed;top:1.1vh;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0000004d}.screen-timer small{color:#718187;letter-spacing:.14em;font:800 8px/1 ui-monospace,monospace}.screen-timer strong{color:var(--teal);letter-spacing:.03em;grid-area:1/2/3;font:1000 clamp(24px,2.2vw,42px)/1 ui-monospace,monospace}.screen-timer span{color:#607076;letter-spacing:.16em;font:700 7px/1 ui-monospace,monospace}.screen-timer.paused strong{color:var(--gold)}.screen-timer.ending strong{color:var(--red);animation:.65s infinite alternate timerFlash}.broadcast-footer{z-index:5;color:#596a70;letter-spacing:.14em;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:5vh;min-height:34px;padding:0 3vw;font:700 8px/1 ui-monospace,monospace;display:flex;position:absolute;bottom:0;left:0;right:0}.screen-loading{text-align:center;color:#8b9a9f;place-content:center;display:grid}.checkin-scene{grid-template-columns:1.05fr .9fr .7fr;align-items:center;gap:4vw;height:86vh;padding:5vh 5vw 8vh;display:grid;position:relative}.checkin-copy .scene-number{color:var(--teal);letter-spacing:.2em;font:800 11px/1 ui-monospace,monospace}.checkin-copy h1{letter-spacing:-.06em;margin:2vh 0;font-size:clamp(70px,7.2vw,138px);line-height:.84}.checkin-copy>p{color:#8c9da1;font-size:clamp(12px,1.2vw,22px)}.checkin-counter{align-items:center;gap:18px;margin-top:5vh;display:flex}.checkin-counter strong{color:var(--teal);font:1000 clamp(55px,5vw,92px)/.8 ui-monospace,monospace}.checkin-counter span{color:#7d8d92;font-size:clamp(10px,.9vw,16px)}.qr-stage{text-align:center}.qr-frame{aspect-ratio:1;background:var(--paper);width:min(28vw,45vh);margin:auto;padding:18px;position:relative;box-shadow:0 0 80px #53e0c117}.qr-frame img{width:100%;height:100%;display:block}.corner{border-color:var(--teal);border-style:solid;width:28px;height:28px;position:absolute}.c1{border-width:3px 0 0 3px;top:-9px;left:-9px}.c2{border-width:3px 3px 0 0;top:-9px;right:-9px}.c3{border-width:0 0 3px 3px;bottom:-9px;left:-9px}.c4{border-width:0 3px 3px 0;bottom:-9px;right:-9px}.qr-stage h2{margin:3vh 0 .7vh;font-size:clamp(20px,2vw,36px)}.qr-stage p{color:var(--teal);margin:0;font-size:clamp(10px,.8vw,14px)}.latest-checkins{flex-direction:column;justify-content:center;align-self:stretch;gap:1vh;display:flex}.latest-player{border-bottom:1px solid #ffffff14;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:9px;animation:.55s both slideIn;display:grid}.latest-player span{font-weight:800}.latest-player em{color:var(--teal);font:700 8px/1 ui-monospace,monospace}.roster-scene{height:86vh;padding:4vh 5vw 7vh}.scene-heading{align-items:end;gap:18px;display:flex}.scene-heading p{color:var(--teal);letter-spacing:.15em;margin:0;font:800 10px/1 ui-monospace,monospace}.scene-heading h1{margin:0;font-size:clamp(36px,4vw,72px)}.scene-heading span{color:#66777c;margin-left:auto;font:700 10px/1 ui-monospace,monospace}.screen-roster{grid-template-columns:repeat(6,1fr);gap:1.2vw;margin-top:3vh;display:grid}.screen-player{background:linear-gradient(140deg,#ffffff0b,#0000);border:1px solid #ffffff14;min-width:0;padding:1vw;animation:.4s both popIn}.screen-player>span{color:#57666b;font:700 9px/1 ui-monospace,monospace}.screen-player .player-avatar{width:min(5vw,8vh);height:min(5vw,8vh);margin:.8vh 0}.screen-player strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(12px,1.15vw,22px);display:block;overflow:hidden}.draw-machine-scene,.draw-result-scene{height:86vh;padding:4vh 5vw 7vh;position:relative;overflow:hidden}.draw-machine-scene{text-align:center;background:radial-gradient(circle,#53e0c11f,#0000 55%);flex-direction:column;justify-content:center;align-items:center;display:flex}.draw-machine-scene>p{color:var(--teal);letter-spacing:.26em;margin:0;font:800 10px/1 ui-monospace,monospace}.draw-machine-scene>h1{margin:1.5vh 0 4vh;font-size:clamp(52px,6vw,110px)}.draw-machine-reel{align-items:center;gap:1vw;width:min(1200px,88vw);height:19vh;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.draw-machine-reel>div{background:#162126;border:1px solid #ffffff1a;flex:0 0 min(9vw,15vh);padding:1vh;animation:.5s ease-in-out infinite alternate reelSpin}.draw-machine-reel .player-avatar{width:min(6vw,10vh);height:min(6vw,10vh);margin:auto}.draw-machine-reel strong,.draw-machine-reel span{margin-top:.6vh;display:block}.draw-machine-reel strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(10px,1vw,18px);overflow:hidden}.draw-machine-reel span{color:#5d6d72;font:700 8px/1 ui-monospace,monospace}.draw-machine-status{color:var(--teal);letter-spacing:.2em;margin-top:4vh;font:800 9px/1 ui-monospace,monospace}.draw-machine-status i{background:var(--teal);border-radius:50%;width:7px;height:7px;margin-right:10px;animation:1s infinite pulse;display:inline-block}.screen-draw-grid{grid-template-columns:repeat(2,1fr);gap:1vh 1.5vw;margin-top:2.5vh;display:grid}.screen-draw-pair{background:linear-gradient(120deg,#53e0c10b,#ff5d5d09);border:1px solid #ffffff17;grid-template-columns:64px 1fr 34px 1fr;align-items:center;gap:.7vw;min-width:0;padding:.75vh .8vw;animation:.45s both popIn;display:grid}.screen-draw-pair>em{color:var(--gold);font:800 8px/1 ui-monospace,monospace}.screen-draw-pair>div{grid-template-columns:24px min(4vw,6vh) 1fr;align-items:center;gap:.6vw;min-width:0;display:grid}.screen-draw-pair>div>span{color:#5e6e73;font:800 9px/1 ui-monospace,monospace}.screen-draw-pair .player-avatar{width:min(4vw,6vh);height:min(4vw,6vh)}.screen-draw-pair strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11px,1vw,18px);overflow:hidden}.screen-draw-pair>b{color:#7c8c90;font:italic 900 12px/1 ui-monospace,monospace}.duel-scene{grid-template-columns:1fr .35fr 1fr;align-items:center;height:86vh;padding:2vh 6vw 6vh;display:grid;position:relative;overflow:hidden}.duel-scene:before,.duel-scene:after{content:"";opacity:.22;width:45%;position:absolute;top:0;bottom:0}.duel-scene:before{background:radial-gradient(circle at 40% 50%, var(--teal), transparent 57%);left:0}.duel-scene:after{background:radial-gradient(circle at 60% 50%, var(--red), transparent 57%);right:0}.duel-beam{z-index:1;background:linear-gradient(#0000,#ffffff73,#0000);width:2px;height:140%;position:absolute;top:-20%;left:50%;transform:rotate(12deg);box-shadow:0 0 45px #fff}.duelist{z-index:2;text-align:center;position:relative}.duelist-left{animation:.9s cubic-bezier(.16,.8,.25,1) both duelLeft}.duelist-right{animation:.9s cubic-bezier(.16,.8,.25,1) both duelRight}.duel-photo .player-avatar{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border:0;margin:auto}.duelist-left .player-avatar{box-shadow:-24px 24px #53e0c11f}.duelist-right .player-avatar{box-shadow:24px 24px #ff5d5d1f}.duelist p{color:#6f8085;letter-spacing:.18em;margin:2vh 0 .5vh;font:800 9px/1 ui-monospace,monospace}.duelist h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(42px,5vw,95px);line-height:.95;overflow:hidden}.duelist-left h1{color:#d9fff6}.duelist-right h1{color:#ffe3df}.duelist>span{color:#68777c;font:700 9px/2 ui-monospace,monospace}.duel-center{z-index:3;text-align:center;position:relative}.duel-center small{color:var(--gold);letter-spacing:.14em;font:800 9px/1 ui-monospace,monospace;display:block}.duel-center strong{text-shadow:0 10px 50px #000c;margin:1vh 0;font:italic 1000 clamp(70px,9vw,168px)/.8 ui-monospace,monospace;animation:.65s .3s both vsHit;display:block}.duel-center i{background:var(--teal);width:44px;height:3px;margin:auto;display:block}.playing-status{z-index:5;color:var(--teal);letter-spacing:.16em;background:#091013b8;border:1px solid #53e0c12e;padding:10px 18px;font:800 9px/1 ui-monospace,monospace;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.compact-duel .duel-photo .player-avatar{width:min(16vw,28vh);height:min(16vw,28vh)}.compact-duel .duelist h1{font-size:clamp(32px,3.8vw,72px)}.result-scene{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:86vh;padding-bottom:4vh;display:flex;position:relative;overflow:hidden}.result-rays{opacity:.16;background:repeating-conic-gradient(from 0deg, var(--gold) 0deg 2deg, transparent 2deg 12deg);animation:30s linear infinite rotate;position:absolute;inset:-30%}.result-kicker{z-index:2;color:var(--gold);letter-spacing:.24em;margin:0 0 1vh;font:800 10px/1 ui-monospace,monospace}.winner-crown{z-index:2;background:var(--gold);color:#201b12;letter-spacing:.18em;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);margin-bottom:-12px;padding:7px 18px;font:1000 11px/1 ui-monospace,monospace}.result-scene .player-avatar{z-index:1;border:5px solid #f0c66bbf;border-radius:50%;animation:.8s cubic-bezier(.12,.8,.25,1.2) both winnerPop;box-shadow:0 0 0 14px #f0c66b0f,0 0 90px #f0c66b47}.result-scene h1{z-index:2;margin:1.5vh 0 0;font-size:clamp(54px,7vw,126px);line-height:.9}.result-scene>p:not(.result-kicker){z-index:2;color:#829196}.result-versus{z-index:2;color:#66767b;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;width:min(620px,70vw);margin-top:2vh;display:grid}.result-versus b{color:var(--paper);font:900 24px/1 ui-monospace,monospace}.result-versus .won{color:var(--gold);font-weight:900}.result-versus .lost{opacity:.55}.scene-enter{animation:.45s both sceneEnter}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 9px #53e0c100}}@keyframes sceneEnter{0%{opacity:0;transform:scale(1.015)}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}}@keyframes popIn{0%{opacity:0;transform:translateY(12px)}}@keyframes duelLeft{0%{opacity:0;transform:translate(-18vw)}}@keyframes duelRight{0%{opacity:0;transform:translate(18vw)}}@keyframes vsHit{0%{opacity:0;filter:blur(8px);transform:scale(2.2)}}@keyframes winnerPop{0%{opacity:0;transform:scale(.55)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes drawShuffle{to{opacity:.45;transform:translateY(-8px)scale(.96)}}@keyframes reelSpin{to{filter:blur(1px);opacity:.5;transform:translateY(-2vh)scale(.92)}}@keyframes timerFlash{to{opacity:.45;text-shadow:0 0 24px var(--red)}}@media (width<=900px){.hub-card{padding:36px 24px}.control-grid{grid-template-columns:1fr}.roster-panel{border-right:0;border-bottom:1px solid var(--line)}.player-list{height:360px}.match-workspace{padding-inline:18px}.match-slots{grid-template-columns:1fr}.versus-core{justify-content:center;align-items:center;gap:16px;display:flex}.versus-core button{margin:0}.winner-controls{grid-template-columns:1fr 1fr}.winner-controls>div{grid-column:1/-1}.system-status,.header-actions .btn{display:none}}@media (width<=560px){.mobile-page{background:#10171a;padding:0;display:block}.mobile-card{border:0;min-height:100svh;max-height:none;padding:22px 16px}.avatar-picker{grid-template-columns:repeat(4,1fr)}.control-header{padding:0 15px}.control-brand h1{max-width:62vw}.match-workspace{padding-inline:12px}.fighter-slot{min-height:310px}.stage-tabs{grid-template-columns:repeat(6,minmax(78px,1fr));overflow-x:auto}}@media print{@page{size:A4 landscape;margin:12mm}html,body{color:#000!important;background:#fff!important}.control-page{min-height:0;color:#000!important;background:#fff!important}.control-page>:not(.print-sheet){display:none!important}.print-sheet{color:#000;width:100%;font-family:Microsoft YaHei,sans-serif;display:block!important}.print-sheet header{text-align:center;margin-bottom:12px}.print-sheet h1{margin:0;font-size:20pt}.print-sheet h2{margin:5px 0;font-size:15pt}.print-sheet header p{margin:4px 0;font-size:9pt}.print-sheet table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10pt}.print-sheet th,.print-sheet td{text-align:center;word-break:break-all;border:1.3px solid #000;height:34px;padding:5px 6px}.print-sheet th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:900;background:#e8e8e8!important}.print-sheet tbody tr:nth-child(2n) td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f7f7f7!important}.print-sheet footer{justify-content:space-between;margin-top:12px;font-size:9pt;display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
