@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111114;--panel:#1a1a1f;--line:#2d2d34;--muted:#93939f;--red:#e13849;--white:#f4f3f5;--green:#74cba3}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font:14px Inter,"Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#25252c;border-radius:8px;padding:12px 16px;transition:.15s}button:hover{background:#33333d;border-color:#555563}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--red);border-color:var(--red);color:#fff}button.primary:hover{background:#f14a5a}button.ghost{background:transparent}button.danger{color:#ff8491;border-color:#63333d}
.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#17171b;border-right:1px solid var(--line);padding:33px 22px;display:flex;flex-direction:column;position:fixed;width:238px;height:100vh}.brand{font-weight:800;letter-spacing:1.5px;font-size:18px;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand b{color:var(--red);font-size:35px}.brand small{display:block;font-size:8px;color:var(--muted);letter-spacing:2.8px;margin-top:4px}.nav-label{font-size:10px;color:#777783;letter-spacing:2px;margin:45px 12px 15px}.nav{display:flex;flex-direction:column;gap:8px}.nav button{text-align:left;border:0;background:transparent;padding:15px 14px;color:#ababba;display:flex;align-items:center;gap:12px}.nav button.active{background:#382128;color:#ff717e;box-shadow:inset 3px 0 var(--red)}.nav .ico{font-size:19px;width:24px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px}.avatar{background:#393039;color:#e1b4bd;border-radius:8px;width:36px;height:36px;display:grid;place-items:center;font-weight:bold}.account{display:flex;gap:11px;align-items:center;margin-bottom:20px}.account strong{display:block;color:#eee;margin-bottom:5px}.workspace{grid-column:2;min-width:0}.topbar{height:79px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.topbar strong{color:#ddd;font-weight:500}.mobile-account{display:none}.live-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 8px #74cba344}.content{max-width:1500px;margin:auto;padding:34px 40px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.heading>div:first-child{min-width:0}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px}h1{font-size:27px;letter-spacing:.3px;margin:0 0 9px;line-height:1.4;overflow-wrap:anywhere}h2{font-size:17px;margin:0}h3{font-size:14px;margin:0}.sub{font-size:12px;color:var(--muted);line-height:1.8}.actions{display:flex;gap:10px;flex-wrap:wrap}.pill{border-radius:20px;padding:6px 10px;background:#242a27;color:var(--green);font-size:11px;display:inline-flex;gap:6px;align-items:center}.pill.neutral{background:#2b2b33;color:#b4b4c0}
.clock-card{border:1px solid #453039;border-radius:13px;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#302127 0,#1c1b21 65%);position:relative}.clock-top{display:flex;justify-content:space-between;align-items:center;padding:23px 26px}.level{display:flex;align-items:center;gap:12px;font-size:12px;color:#bab8c2}.level b{border:1px solid #66434b;background:#44272f;color:#ff7684;padding:6px 10px;border-radius:5px;letter-spacing:1px}.timer{text-align:center;font:600 clamp(90px,10vw,156px)/1.12 'Barlow Condensed','Arial Narrow',monospace;font-variant-numeric:tabular-nums;letter-spacing:4px}.timer-label{text-align:center;font-size:10px;letter-spacing:3px;color:#99929c;margin-top:9px}.progress{height:3px;background:#373039;margin:29px 32px 0}.progress span{display:block;background:var(--red);height:100%;transition:width .5s}.blinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:25px 0 28px;text-align:center}.blinds>div+div{border-left:1px solid #39313a}.blinds label{display:block;font-size:11px;color:#a4a0ad;letter-spacing:1px;margin-bottom:8px}.blinds strong{font:600 clamp(20px,3vw,40px) 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.blinds small{font-size:10px;color:#a4a0ad;display:block;margin-top:6px}.next-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#242128;padding:16px 25px;font-size:12px;border-top:1px solid #383039}.next-strip span{color:#aaa4b1}.next-strip b{font-weight:500}.control-row{display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:11px;margin:17px 0}.control-row button{min-height:51px}.utility-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:10px}.utility-row button{padding:9px 12px;color:#bbb8c4;font-size:12px;background:transparent}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px;min-width:0}.stat label{color:var(--muted);font-size:11px}.stat strong{font:600 33px 'Barlow Condensed',monospace;display:block;margin:12px 0 5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat small{color:#81818d;font-size:10px}.below{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head button{padding:5px 8px;font-size:11px;background:transparent;border:0;color:var(--muted)}.stage-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}.stage-row:last-child{border:0}.stage-row .num{background:#292931;color:#9493a1;border-radius:5px;width:29px;height:29px;display:grid;place-items:center}.stage-row.current .num{background:#46252e;color:#ff7c89}.stage-row>div:nth-child(2){flex:1}.stage-row small{color:var(--muted);font-size:10px}.stage-row strong{font-size:13px;font-weight:500}.event{position:relative;border-left:1px solid #39343d;padding:0 0 20px 20px;margin-left:5px;font-size:12px}.event:before{content:'';position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:#736071}.event small{display:block;color:#83818f;font-size:10px;margin-top:7px}.event:first-child:before{background:var(--red)}.footer-note{text-align:center;font-size:10px;color:#696976;margin:28px 0 0;letter-spacing:.4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font-size:12px;color:#b6b3bf}input,select,textarea{width:100%;color:#eee;background:#121216;border:1px solid #3a3741;border-radius:6px;padding:11px 12px;min-height:43px}input[type=checkbox]{width:auto;min-height:auto;accent-color:var(--red)}textarea{min-height:85px;resize:vertical}.check{display:flex;align-items:center;gap:10px;font-size:12px;margin:14px 0;color:#bcb6c3}.muted{color:var(--muted)}.space{margin-top:22px}.notice{padding:14px 16px;border:1px solid #534333;background:#2a251e;color:#dfbc83;border-radius:7px;font-size:12px;line-height:1.7;margin-bottom:18px}.danger-note{border-color:#65343e;background:#342027;color:#ff9ba6}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;color:#8e899b;font-weight:500;font-size:11px;padding:13px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #292831;font-variant-numeric:tabular-nums}tr.current{background:#3b232c;color:#ff98a4}td input,td select{min-width:80px;padding:7px;font-size:12px}td button{padding:6px 8px}.tabs{display:flex;gap:5px;background:#111115;padding:5px;border-radius:8px;margin-bottom:24px}.tabs button{flex:1;background:transparent;border:0;font-size:12px}.tabs button.active{background:#39252c;color:#ff8491}details{border-top:1px solid var(--line);padding-top:18px;margin-bottom:18px}summary{cursor:pointer;color:#c3b9c8;font-size:12px;margin-bottom:18px}.template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template{padding:22px;border:1px solid #3c333e;border-radius:9px;background:#211e25}.template p{line-height:1.8;color:#9691a0;font-size:12px}.template .actions button{font-size:11px;padding:8px}.device{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:8px;margin-top:12px}.device>div{flex:1}.device .device-icon{font-size:30px;flex:0}.device button{font-size:11px}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#38212b,transparent 65%)}.auth .panel{width:420px;max-width:100%;padding:38px}.auth .brand{margin-bottom:34px}.auth h1{font-size:23px;margin-bottom:12px}.auth form{margin-top:28px}.auth button{width:100%;margin-bottom:12px}.boot{text-align:center;margin:20vh auto;color:var(--red);line-height:2;font-size:25px}dialog{width:560px;max-width:calc(100% - 28px);max-height:90vh;color:var(--white);background:#1d1b22;border:1px solid #51404b;border-radius:13px;padding:28px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#060609ba;backdrop-filter:blur(5px)}dialog h2{margin:0 0 22px}dialog .actions{justify-content:flex-end;margin-top:24px}dialog .actions button{min-width:85px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#36303c;border:1px solid #6b5361;padding:15px 24px;border-radius:9px;z-index:100;box-shadow:0 10px 40px #0008;display:none;max-width:90vw;font-size:13px}#toast.show{display:block}#toast button{padding:5px 10px;margin-left:15px;background:var(--red)}
.tv{min-height:100vh;padding:3vh 4vw;display:flex;flex-direction:column;gap:2vh;background:radial-gradient(ellipse at 50% 35%,#35212a,#0e0d11 70%)}.tv header{display:flex;align-items:center;justify-content:space-between;gap:20px}.tv h1{font-size:clamp(18px,2.5vw,44px);max-width:65vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv .clock-card{flex:1}.tv .timer{font-size:clamp(100px,20vw,34vh);line-height:1}.tv .blinds strong{font-size:clamp(24px,4vw,8vh)}.tv .stats{margin:0;gap:15px}.tv .stat{padding:16px 22px}.tv .stat strong{font-size:4vh;margin:5px 0}.tv .announcement{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bfb4c4;font-size:2vh;text-align:center;min-height:2.5vh}.tv .sound-controls{font-size:11px}.pair-code{font:600 65px monospace;letter-spacing:9px;text-align:center;margin:30px 0;color:#ff7d8e}.logo-img{max-height:42px;max-width:130px;object-fit:contain}.hidden{display:none!important}.stepper{display:flex;gap:8px;margin-bottom:25px}.stepper span{flex:1;border-top:3px solid #39313d;padding-top:10px;color:#77717f;font-size:11px}.stepper span.active{border-color:var(--red);color:#f1a4ad}
@media(min-width:1550px){.content{padding-top:42px}.timer{font-size:166px}}
@media(max-width:1100px){.sidebar{width:195px;padding:27px 15px}.shell{grid-template-columns:195px 1fr}.brand{font-size:15px;letter-spacing:1px}.content{padding:28px 24px}.topbar{padding:0 24px}.below{grid-template-columns:1fr 1fr}.stat{padding:16px}.control-row{grid-template-columns:repeat(2,1fr)}.template-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px 12px;z-index:20;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand,.sidebar .nav-label,.sidebar-foot{display:none}.nav{flex-direction:row;gap:3px}.nav button{flex:1;justify-content:center;padding:12px 3px;font-size:11px;gap:5px}.nav .ico{font-size:15px;width:auto}.nav button.active{box-shadow:inset 0 -2px var(--red)}.topbar{height:46px;padding:0 16px;font-size:10px}.mobile-account{display:block}.mobile-account button{font-size:10px;padding:5px}.content{padding:22px 16px}.heading{align-items:flex-start;margin-bottom:20px;gap:8px}h1{font-size:21px}.heading button{font-size:11px;padding:10px}.eyebrow{font-size:9px}.clock-top{padding:17px}.timer{font-size:108px}.blinds strong{font-size:clamp(18px,7vw,34px)}.next-strip{padding:13px 15px;flex-wrap:wrap;font-size:11px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat strong{font-size:29px}.below,.grid2{grid-template-columns:1fr}.panel{padding:19px}.utility-row{flex-wrap:wrap}.utility-row button{font-size:11px;padding:8px}.template-list{grid-template-columns:1fr}.device{flex-wrap:wrap}.tv{padding:20px}.tv .timer{font-size:24vw}.tv h1{max-width:60vw}.tv .blinds strong{font-size:6vw}dialog{padding:22px}.control-row button{min-height:53px}}
@media(max-width:760px){.nav button{font-size:10px;white-space:nowrap;gap:3px}.nav .ico{font-size:13px}}

/* Independent television display */
.display-body{background:#09090c;overflow:hidden}.display-body button{font-size:13px}.pair-screen{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;place-items:center;padding:clamp(24px,5vh,60px);background:radial-gradient(circle at 50% 45%,#321a23 0,#121116 42%,#09090c 75%);position:relative}.pair-screen:before{content:'';position:absolute;inset:20px;border:1px solid #2d252c;pointer-events:none}.pair-brand{justify-self:start;display:flex;align-items:center;gap:15px;font-size:clamp(18px,2vw,30px);font-weight:800;letter-spacing:3px}.pair-brand>span{font-size:clamp(38px,5vw,66px);color:var(--red)}.pair-brand small{display:block;color:#77727d;font-size:11px;letter-spacing:5px;margin-top:7px}.pair-panel{text-align:center;max-width:720px}.pair-panel h1{font-size:clamp(30px,5vw,64px);margin:12px 0}.pair-panel p{font-size:clamp(15px,1.7vw,23px);color:#aaa3ae}.pair-panel .pair-code{font:700 clamp(76px,14vw,190px)/1 'Barlow Condensed',monospace;letter-spacing:.08em;margin:clamp(28px,5vh,60px) 0 20px;text-shadow:0 0 60px #e1384944}.pair-expiry{color:#8f8994;font-size:clamp(13px,1.4vw,18px)}.pair-wait{margin:clamp(24px,5vh,56px) auto 0;background:#17171c;border:1px solid #322c33;border-radius:30px;width:max-content;padding:12px 22px;color:#bbb5bf;font-size:14px}.pair-screen footer{font-size:13px;color:#6f6a73}.display{height:100vh;padding:clamp(20px,3vh,42px) clamp(28px,4vw,70px);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(12px,2vh,28px);background:radial-gradient(ellipse at 50% 40%,#29171e 0,#121116 58%,#09090c 100%)}.display header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px}.display-mark{color:var(--red);font-size:clamp(34px,4vw,60px)}.display-logo{max-width:15vw;max-height:7vh;object-fit:contain}.display-title{min-width:0}.display-title .eyebrow{font-size:clamp(11px,1vw,16px);margin-bottom:5px}.display-title h1{font-size:clamp(20px,2.6vw,48px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.display-tools{display:flex;align-items:center;gap:10px}.display-tools button{padding:9px 12px}.display-connection-controls{font-size:13px;color:#aaa3ae;white-space:nowrap}.display-clock{border:1px solid #3d2931;border-radius:18px;background:linear-gradient(160deg,#24181e,#18171c);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;min-height:0;overflow:hidden;padding-top:clamp(18px,2.4vh,36px)}.display-status{padding:0 clamp(22px,3vw,50px);display:flex;justify-content:space-between;align-items:center;color:#aaa4ae;font-size:clamp(13px,1.4vw,20px)}.display-status b{background:#42202a;border:1px solid #6b3442;border-radius:7px;color:#ff7b89;padding:8px 13px;letter-spacing:2px}.display-timer{align-self:center;text-align:center;font:700 clamp(130px,22vw,36vh)/.9 'Barlow Condensed','Arial Narrow',monospace;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-shadow:0 8px 40px #0008}.display-timer-label{text-align:center;text-transform:uppercase;letter-spacing:.45em;color:#938b96;font-size:clamp(11px,1vw,16px)}.display-progress{height:4px;background:#352b31;margin:0 clamp(26px,4vw,70px)}.display-progress span{display:block;height:100%;background:var(--red);transition:width .2s}.display-blinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;margin:clamp(14px,2vh,28px) 0}.display-blinds>div+div{border-left:1px solid #3d343b}.display-blinds label{display:block;color:#a9a1ab;font-size:clamp(13px,1.3vw,19px);margin-bottom:5px}.display-blinds strong{font:600 clamp(42px,6vw,10vh) 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.display-next{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:clamp(13px,1.5vh,22px) clamp(26px,4vw,70px);border-top:1px solid #352d33;background:#1c1a20;color:#98919b;font-size:clamp(12px,1.2vw,17px)}.display-next strong{color:#f1edf2;font-weight:600}.display-next span:last-child{text-align:right}.display-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.3vw,20px)}.display-stat{background:#17171c;border:1px solid #2d2c33;border-radius:11px;padding:clamp(12px,1.5vw,24px)}.display-stat label{display:block;color:#928d97;font-size:clamp(12px,1.1vw,17px)}.display-stat strong{display:block;margin-top:3px;font:600 clamp(27px,3.7vw,7vh) 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.display-announcement{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c1bac4;font-size:clamp(13px,1.4vw,20px);min-height:1.4em}
@media(max-width:800px),(max-height:600px){.display{padding:14px 20px;gap:9px}.display-tools button{padding:6px 8px}.display-connection{display:none}.display-clock{border-radius:12px}.display-timer{font-size:min(25vw,31vh)}.display-blinds strong{font-size:min(6vw,8vh)}.display-stats{gap:7px}.display-stat{padding:8px 12px}.display-announcement{font-size:13px}}
.display-connection{font-size:13px;color:#aaa3ae;white-space:nowrap}

/* QR pairing → fully loaded arena: keep the supplied runner isolated from the existing display. */
.tv-loading-screen{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#09090c;color:#f4f3f5;text-align:center}
.tv-loading-figure{scale:.75;position:relative;width:200px;height:200px;translate:10px -20px;flex:none;isolation:isolate}
.tv-loading-figure:before{content:'';position:absolute;z-index:-2;inset:-55px;background:radial-gradient(circle,#9a9ba4 0,#69636d 35%,#321a23 62%,transparent 75%);opacity:.68;pointer-events:none}
.tv-loading-figure svg{position:absolute;top:0;left:0}
.tv-loading-figure .head{translate:27px -30px;z-index:3;animation:tv-loader-bob 1s infinite ease-in}
.tv-loading-figure .bod{translate:0 30px;z-index:3;animation:tv-loader-bob 1s infinite ease-in-out}
.tv-loading-figure .legr{translate:75px 135px;z-index:0;animation:tv-loader-rstep 1s .45s infinite ease-in}
.tv-loading-figure .legl{translate:30px 155px;z-index:3;animation:tv-loader-lstep 1s infinite ease-in}
.tv-loading-figure .gnd{translate:-140px 0;rotate:10deg;z-index:-1;filter:blur(.5px) drop-shadow(1px 3px 5px #000);opacity:.25;animation:tv-loader-scroll 5s infinite linear}
.tv-loading-screen h1{font-size:clamp(22px,2.2vw,36px);margin:12px 20px 8px;letter-spacing:.05em}
.tv-loading-screen p{font-size:clamp(13px,1.2vw,18px);margin:0 20px;color:#b7afb8}
@keyframes tv-loader-bob{0%,5%,100%{transform:translateY(0) rotate(3deg)}25%,70%{transform:translateY(5px) rotate(0)}50%{transform:translateY(0) rotate(-3deg)}}
@keyframes tv-loader-lstep{0%,100%{transform:translateY(0) rotate(-5deg)}33%{transform:translateY(-15px) translateX(32px) rotate(35deg)}66%{transform:translateY(0) translateX(25px) rotate(-25deg)}}
@keyframes tv-loader-rstep{0%,100%{transform:translateY(0) translateX(0) rotate(-5deg)}33%{transform:translateY(-10px) translateX(30px) rotate(35deg)}66%{transform:translateY(0) translateX(20px) rotate(-25deg)}}
@keyframes tv-loader-scroll{0%{transform:translate(50px,25px);opacity:0}33%,66%{opacity:.25}100%{transform:translate(-100px,-50px);opacity:0}}
@media(prefers-reduced-motion:reduce){.tv-loading-figure .head,.tv-loading-figure .bod,.tv-loading-figure .legr,.tv-loading-figure .legl,.tv-loading-figure .gnd{animation:none}}

/* Tournament arena television display */
.arena-display{height:100vh;min-height:540px;overflow:hidden;position:relative;isolation:isolate;display:grid;grid-template-rows:minmax(82px,14vh) minmax(0,1fr) minmax(92px,13vh) auto;gap:clamp(7px,1.1vh,14px);padding:clamp(12px,1.8vh,28px) clamp(16px,2.2vw,42px) clamp(10px,1.4vh,22px);background:#070608 url('/tournament-hall-bg.png?v=optimized-21') center/cover no-repeat;font-family:Inter,"Microsoft YaHei",sans-serif}
.arena-display:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#030305c9 0,#08070a59 24%,#09070a2b 50%,#08070a59 76%,#030305c9 100%),linear-gradient(180deg,#0302046e 0,transparent 20%,transparent 76%,#030204bc 100%)}
.arena-vignette{position:absolute;z-index:-1;inset:0;box-shadow:inset 0 0 14vw #000,inset 0 -7vh 10vh #0008;pointer-events:none}
.arena-header{position:relative;display:grid;grid-template-columns:minmax(170px,1fr) minmax(360px,2.2fr) minmax(270px,1fr);align-items:center;gap:16px;min-width:0}
.arena-logo{gap:12px}.tv-control-entry{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;max-width:160px;font-size:10px;color:#ddd;text-align:center}.tv-control-entry[hidden]{display:none}.tv-control-entry img{display:block;width:clamp(72px,10vh,144px);height:clamp(72px,10vh,144px);background:white;border:3px solid white;box-sizing:border-box}.tv-control-entry+img{max-width:7vw!important}.tv-control-entry:not([hidden])+.display-mark{display:none}
@media(max-width:780px){.arena-header:has(.tv-control-entry){grid-template-columns:82px minmax(0,1fr) 88px}.arena-header .display-tools button[data-action="control-entry"]{display:block}.tv-control-entry{max-width:82px}.tv-control-entry img{width:76px;height:76px}.arena-logo:has(.tv-control-entry) .display-logo{display:none}}
.arena-header:after,.arena-footer:before{content:'';position:absolute;left:9%;right:9%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#ff342e,#ffc08c,#ff342e,transparent);box-shadow:0 0 12px #ef251c}
.arena-logo{display:flex;align-items:center;min-width:0}.arena-logo .display-mark{width:clamp(52px,4.5vw,78px);height:clamp(52px,4.5vw,78px);display:grid;place-items:center;border:1px solid #ee493d;border-radius:50%;background:radial-gradient(circle,#491311 10%,#110807 65%);color:#ff5049;text-shadow:0 0 18px #ff2118;font-size:clamp(29px,3vw,54px);box-shadow:inset 0 0 18px #ff261d55,0 0 18px #ff261d33}.arena-logo .display-logo{max-width:16vw;max-height:8vh;filter:drop-shadow(0 0 12px #ff3b3044)}
.arena-title{text-align:center;min-width:0;padding-bottom:8px}.arena-title>span{display:block;font:500 clamp(10px,1vw,15px)/1.1 Inter,sans-serif;letter-spacing:.48em;color:#ded9d7;text-shadow:0 2px 5px #000}.arena-title h1{margin:1px 0 -1px;font:700 clamp(29px,4.2vw,74px)/.9 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.07em;color:#fff3ee;background:linear-gradient(#fff 5%,#ffe1d4 30%,#ff5047 56%,#b20d0a 78%,#ff756c 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 1px #410604) drop-shadow(0 0 18px #ff1b10aa)}.arena-title b{display:block;margin-top:8px;font-size:clamp(11px,1vw,16px);font-weight:600;letter-spacing:.2em;color:#ff4a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 10px #ff1c16}
.arena-header .display-tools{justify-self:end;align-self:start;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.arena-header .display-tools button{min-height:34px;padding:7px 10px;border-color:#7a332f;background:#120c0cc7;color:#ded8d6}.arena-header .display-connection{flex-basis:100%;text-align:right;font-size:11px;color:#c6bbb8}
.arena-grid{display:grid;grid-template-columns:minmax(235px,26%) minmax(390px,1fr) minmax(235px,26%);gap:clamp(9px,1.1vw,20px);min-height:0}
.arena-rail{min-width:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));background:linear-gradient(180deg,#050607e8,#101010e8);border:1px solid #743229;border-radius:9px;box-shadow:inset 0 0 0 2px #140a09,0 0 15px #ff27152b;overflow:hidden}
.arena-card{display:grid;grid-template-columns:clamp(45px,4.3vw,76px) minmax(0,1fr);align-items:center;gap:clamp(9px,1vw,18px);min-height:0;padding:clamp(5px,.8vh,12px) clamp(9px,1vw,18px);border-bottom:1px solid #66251f;position:relative;background:linear-gradient(90deg,#060707ba,#151313d8)}.arena-card:last-child{border-bottom:0}.arena-card:after{content:'';position:absolute;left:12%;right:12%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#ff3628 50%,transparent)}
.arena-icon{width:clamp(41px,3.9vw,67px);height:clamp(41px,3.9vw,67px);display:grid;place-items:center;align-self:center;border-radius:50%;border:1px solid #ff5549;background:radial-gradient(circle at 50% 42%,#3b1512 0,#0a0707 68%);font:600 clamp(23px,2.4vw,42px)/1 'Times New Roman',serif;color:#fff2e5;text-shadow:0 0 9px #ff382c,0 2px #760600;box-shadow:inset 0 0 11px #ff291e66,0 0 12px #ff2b2052}
.arena-card-copy{min-width:0;line-height:1}.arena-card-copy>span{display:block;color:#eae3df;font:600 clamp(10px,.9vw,15px)/1.1 'Barlow Condensed',sans-serif;letter-spacing:.06em}.arena-card-copy small{display:block;color:#bcb4af;font-size:clamp(9px,.75vw,12px);margin-top:2px}.arena-card-copy strong{display:block;margin-top:clamp(3px,.5vh,8px);font:700 clamp(20px,2.4vw,42px)/.92 'Barlow Condensed','Arial Narrow',monospace;font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 0 #000,0 0 9px #fff2}.arena-card-copy em{display:block;margin-top:3px;color:#9f918d;font-size:clamp(8px,.64vw,10px);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arena-card-muted{opacity:.58}
.arena-core{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:clamp(5px,1vh,12px) 0}
.arena-level{z-index:1;min-width:38%;padding:clamp(5px,.8vh,10px) 30px;text-align:center;border:1px solid #bd3c30;background:linear-gradient(90deg,transparent,#120d0ddb 22%,#120d0ddb 78%,transparent);font:700 clamp(19px,2.2vw,37px)/1 'Barlow Condensed',sans-serif;letter-spacing:.08em;color:#fff;text-shadow:0 0 12px #ff2b22;box-shadow:0 0 20px #ff241733}
.arena-dial{align-self:stretch;width:min(100%,760px);min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(7px,1.2vh,16px);position:relative;border-radius:50%;background:radial-gradient(circle at 50% 52%,#1b0907d9 0,#0c0708dd 58%,#180705e8 70%,transparent 71%)}.arena-dial:before,.arena-dial:after{content:'';position:absolute;border-radius:50%;pointer-events:none}.arena-dial:before{inset:3%;border:clamp(3px,.35vw,7px) solid #76231d;box-shadow:inset 0 0 30px #ff2b1d66,0 0 26px #ff2b1d55}.arena-dial:after{inset:7%;border:1px solid #e54a3d77;box-shadow:inset 0 0 50px #000}
.arena-timer{z-index:1;text-align:center;font:700 clamp(74px,10.8vw,188px)/.76 'Barlow Condensed','Arial Narrow',monospace;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#fff7f2;background:linear-gradient(#fff 0,#ffe5dd 34%,#ff5e52 58%,#cf1711 77%,#ffb5a8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 5px 0 #7e0906) drop-shadow(0 0 17px #ff2319);white-space:nowrap}
.arena-timer-label{z-index:1;text-align:center;color:#ff554e;font:600 clamp(10px,1.05vw,17px)/1.2 Inter,sans-serif;letter-spacing:.12em;text-shadow:0 0 9px #ff1913}.arena-timer-label small{display:block;margin-top:4px;color:#ddd1cd;font-size:.78em;letter-spacing:.16em}
.arena-progress{z-index:1;width:43%;height:2px;background:#6b201c}.arena-progress span{display:block;height:100%;background:#ffd7cd;box-shadow:0 0 10px #ff2419;transition:width .2s}.arena-rule{align-self:end;color:#e5d9d5;font-size:clamp(9px,.75vw,12px);letter-spacing:.14em;text-shadow:0 0 8px #000;background:#080505a8;border:1px solid #6d2924;border-radius:20px;padding:5px 14px}
.arena-footer{width:min(790px,64vw);justify-self:center;position:relative;display:grid;grid-template-columns:auto minmax(250px,1fr) auto;align-items:center;gap:clamp(15px,2.2vw,34px);padding:clamp(8px,1vh,14px) clamp(22px,3vw,50px);border:1px solid #7c2a23;border-radius:8px;background:linear-gradient(180deg,#111,#050606ed);box-shadow:inset 0 0 20px #ff291923,0 8px 20px #0009}.arena-footer:before{top:0;bottom:auto;left:5%;right:5%}.arena-footer-icon,.arena-footer-suit{font:600 clamp(27px,3vw,51px)/1 'Times New Roman',serif;color:#ff4b42;text-shadow:0 0 13px #ff2118}.arena-footer-suit{color:#fff2e8}.arena-footer>div{text-align:center;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;min-width:0}.arena-footer label{grid-column:1;font:500 clamp(10px,.9vw,15px)/1 Inter,sans-serif;letter-spacing:.12em;color:#d9d2ce}.arena-footer small{grid-column:2;color:#a99e99;font-size:clamp(9px,.72vw,12px)}.arena-footer strong{grid-column:1/-1;margin-top:3px;font:700 clamp(29px,4vw,70px)/.9 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;text-shadow:0 3px #3c0705,0 0 10px #fff2}
.arena-announcement{align-self:center;justify-self:center;max-width:84vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:#e4d8d3;font-size:clamp(9px,.8vw,13px);letter-spacing:.08em;text-shadow:0 2px 5px #000}
.arena-awards{position:absolute;z-index:4;right:2.2vw;bottom:2vh;width:clamp(190px,20vw,340px);padding:10px 14px;border:1px solid #8c6630;border-radius:7px;background:#080708e8;box-shadow:0 0 18px #ffad1d33;display:grid;gap:3px}.arena-awards b{color:#ffd18a}.arena-awards span{font-size:clamp(9px,.7vw,12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arena-awards small{color:#ab9d91;margin-top:3px}
@media(max-width:1050px){.arena-display{grid-template-rows:minmax(72px,12vh) minmax(0,1fr) minmax(82px,12vh) auto}.arena-header{grid-template-columns:110px 1fr 180px}.arena-header .display-connection{display:none}.arena-header .display-tools button{font-size:10px;padding:6px}.arena-grid{grid-template-columns:minmax(180px,25%) minmax(330px,1fr) minmax(180px,25%)}.arena-card{grid-template-columns:42px minmax(0,1fr);gap:7px;padding:4px 7px}.arena-icon{width:38px;height:38px;font-size:22px}.arena-card-copy strong{font-size:clamp(18px,2.4vw,29px)}.arena-footer{width:60vw}.arena-timer{font-size:clamp(70px,11vw,124px)}}
@media(max-width:780px){.display-body{overflow:auto}.arena-display{height:auto;min-height:100vh;overflow:visible;grid-template-rows:auto auto auto auto;padding:12px}.arena-header{grid-template-columns:48px minmax(0,1fr) auto}.arena-logo .display-mark{width:44px;height:44px;font-size:26px}.arena-title>span{font-size:8px}.arena-title h1{font-size:30px}.arena-title b{font-size:9px}.arena-header .display-tools button:first-of-type{display:none}.arena-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}.arena-core{grid-row:1;min-height:52vh}.arena-rail{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.arena-card{min-height:74px}.arena-card:last-child{grid-column:1/-1}.arena-rail-right{grid-row:3}.arena-footer{width:100%;min-height:86px}.arena-announcement{white-space:normal;padding-bottom:8px}.arena-timer{font-size:25vw}}

/* V2.4 tournament center and operator controls */
.overview-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px}.overview-state,.overview-times{background:linear-gradient(145deg,#1d1b21,#141419);border:1px solid var(--line);border-radius:12px;padding:22px}.overview-state h2{margin:20px 0 6px}.overview-clock{font:700 clamp(56px,8vw,104px)/.9 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums}.overview-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overview-times>div,.overview-stats>div{background:#111116;border:1px solid #2b2930;border-radius:8px;padding:14px;min-width:0}.overview-times small,.overview-times b,.overview-stats small,.overview-stats strong{display:block}.overview-times small,.overview-stats small{color:var(--muted);font-size:10px;margin-bottom:7px}.overview-times b{font-size:13px}.saved{color:#6ed6a4}.unsaved,.failed{color:#ff8179}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.overview-stats strong{font:600 24px 'Barlow Condensed',sans-serif}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature-grid>button{text-align:left;display:flex;gap:13px;align-items:center;padding:17px;background:#17171c}.feature-grid>button>span{font-size:24px;color:var(--red);width:31px;text-align:center}.feature-grid b,.feature-grid small{display:block}.feature-grid small{color:var(--muted);margin-top:5px}.readiness{border:1px solid #46363b;border-radius:10px;padding:15px;background:#171419}.readiness>div:first-child{display:flex;align-items:center;gap:12px;margin-bottom:8px}.readiness-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#4b1e27;color:#ff8780;font-weight:800}.readiness.ready .readiness-icon{background:#193a2c;color:#7de2b2}.readiness small{display:block;color:var(--muted);margin-top:3px}.readiness>button,.readiness-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;margin-top:7px;background:#111116;border-color:#322d34}.readiness>button span{color:#ccc6cf}.readiness-row div{display:flex;flex-direction:column;gap:3px}.readiness-row small{color:var(--muted)}.wizard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.save-indicator{font-size:12px;border:1px solid #395848;border-radius:18px;padding:7px 11px;color:#7bddab}.save-indicator.saving{color:#e7c370;border-color:#6b5934}.save-indicator.unsaved,.save-indicator.failed{color:#ff8279;border-color:#6f3936}.card-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin:-8px 0 16px}.tournament-subtitle{color:#bbb4bd;margin:-10px 0 15px}.empty-state b,.empty-state span{display:block}.empty-state span{margin-top:7px}.award-list,.award-editor{display:grid;gap:9px}.award-list>div,.award-edit-row{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:12px;align-items:center;background:#121217;border:1px solid var(--line);border-radius:8px;padding:12px}.award-list small{color:var(--muted)}.award-edit-row .field{margin:0}.more-list{display:grid;gap:9px}.danger-zone{margin-top:24px;padding-top:15px;border-top:1px solid #62323a;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.danger-zone>b{width:100%;color:#ff8079}.skeleton{color:var(--muted);animation:pulse 1.2s infinite alternate}@keyframes pulse{to{opacity:.5}}
.center-section{margin-top:30px}.tournament-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tournament-card{background:linear-gradient(145deg,#1c1b21,#17171b);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.tournament-card.active-tournament{border-color:#71333d;box-shadow:inset 3px 0 var(--red),0 10px 35px #0003}.tournament-card h2{font-size:19px;margin:18px 0}.card-top,.card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.tournament-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:20px}.tournament-summary>div{background:#121216;border:1px solid #2b2a31;border-radius:7px;padding:11px;min-width:0}.tournament-summary small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.tournament-summary b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 17px 'Barlow Condensed',sans-serif}.registration-tag{display:inline-flex;align-items:center;border-radius:20px;padding:6px 10px;font-size:11px;border:1px solid}.registration-tag.open{color:#77d7aa;border-color:#35694f;background:#162a22}.registration-tag.closed{color:#aaa5ae;border-color:#47434b;background:#25242a}.empty-state{grid-column:1/-1;padding:34px;border:1px dashed #3a3740;border-radius:10px;color:var(--muted);text-align:center}.history-grid{opacity:.8}
.primary-control{margin:17px 0 12px}.main-action{width:100%;min-height:62px;font-size:17px;font-weight:700;letter-spacing:.02em}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.people-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.people-actions>div{display:flex;gap:10px;flex-wrap:wrap}.registration-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.registration-panel h3{margin:10px 0 2px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.action-clock-time{text-align:center;font:700 70px/1 'Barlow Condensed',monospace;font-variant-numeric:tabular-nums;margin:22px 0;color:#fff}.preset-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.action-clock .actions{margin-top:15px;justify-content:center}.entry-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.entry-preview>div:first-child{grid-column:1/-1}.entry-preview>div{background:#131217;border:1px solid var(--line);border-radius:7px;padding:13px}.entry-preview small,.entry-preview b{display:block}.entry-preview small{color:var(--muted);margin-bottom:7px}.stage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stage-card{border:1px solid var(--line);background:#141419;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:7px}.stage-card.current{border-color:#6e333c;background:#261a1e}.stage-card span,.stage-card small{font-size:10px;color:var(--muted)}.stage-card strong{font:600 22px 'Barlow Condensed',sans-serif}
.stage-list-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.stage-summary-card{border:1px solid var(--line);border-radius:8px;padding:0;margin:0;background:#141419}.stage-summary-card summary{list-style:none;margin:0;padding:16px;display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.stage-summary-card summary::-webkit-details-marker{display:none}.stage-summary-card summary span,.stage-summary-card summary small{font-size:10px;color:var(--muted)}.stage-summary-card summary strong{font:600 21px 'Barlow Condensed',sans-serif}.stage-summary-card summary small{grid-column:1/-1}.stage-detail{border-top:1px solid var(--line);padding:13px;display:grid;gap:8px;color:var(--muted);font-size:11px}.stage-detail span{display:flex;justify-content:space-between}.stage-detail b{color:var(--white)}
.arena-action-clock{position:absolute;z-index:4;left:2.2vw;bottom:2vh;width:clamp(145px,14vw,240px);padding:10px 15px;border:1px solid #8c382e;border-radius:7px;background:#080708e8;box-shadow:0 0 18px #ff2b1d44;display:grid;grid-template-columns:1fr auto;align-items:center}.arena-action-clock small{grid-column:1/-1;color:#c6b8b3;font-size:clamp(8px,.6vw,10px);letter-spacing:.08em}.arena-action-clock strong{font:700 clamp(29px,3vw,50px) 'Barlow Condensed',monospace;color:#ff5c52;text-shadow:0 0 10px #ff2118}.arena-action-clock span{font-size:10px;color:#c8bfbc}
@media(max-width:900px){.tournament-grid{grid-template-columns:1fr}.tournament-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-hero{grid-template-columns:1fr}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.nav button:first-child{display:flex}.main-action{min-height:58px;position:sticky;bottom:8px;z-index:8;box-shadow:0 7px 25px #000a}.people-actions,.registration-panel{align-items:stretch;flex-direction:column}.people-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.people-actions>button,.registration-panel .actions,.registration-panel .actions button{width:100%}.preset-row{grid-template-columns:repeat(3,minmax(0,1fr))}.action-clock-time{font-size:58px}.arena-action-clock{position:fixed;bottom:12px;left:12px}.overview-times,.feature-grid{grid-template-columns:1fr}.award-list>div,.award-edit-row{grid-template-columns:1fr}.card-meta,.card-foot{align-items:flex-start;flex-direction:column}}
.event-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.event-actions button{min-height:52px}.interactive-stats .stat{min-height:150px}.stat-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px}.stat-actions button{min-height:48px;font-size:13px}.stat.clickable{cursor:pointer}.stat.clickable:hover{border-color:var(--accent);transform:translateY(-1px)}
@media(max-width:430px){.content{padding-left:16px;padding-right:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.main-action{min-height:60px}.interactive-stats{grid-template-columns:1fr 1fr}.interactive-stats .stat{min-height:210px;padding:14px}.stat-actions{grid-template-columns:1fr}.event-actions button,.stat-actions button{min-height:48px}}
/* Layered display: bitmap scenery, vector panel frames, fixed badges and live text. */
.arena-panel-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;filter:drop-shadow(0 0 5px #d6201740)}
.arena-rail{position:relative}
.arena-icon svg{display:block;width:69.23077%;height:69.23077%;flex:none}
.arena-badge-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal}
.arena-icon:has(.arena-badge-art),.royal-display .arena-icon:has(.arena-badge-art){border:0;background:none;box-shadow:none;border-radius:0}
.arena-icon:has(.arena-badge-art):before,.royal-display .arena-icon:has(.arena-badge-art):before{display:none}
@media(min-width:781px){
.display-body{background:#050303;overflow:hidden}
.royal-display{--rail-top:14.5%;--rail-height:64.5%;--rail-width:23.5%;--rail-inset:5.5%;--badge-size:5.416667cqw;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,177.7778vh);height:min(56.25vw,100vh);min-height:0;padding:0;display:block;container-type:inline-size;background-size:100% 100%;overflow:hidden;font-family:Arial,'Microsoft YaHei',sans-serif}
.royal-display:before,.royal-display .arena-vignette,.royal-display .arena-header:after{display:none}
.royal-display .arena-header,.royal-display .arena-grid,.royal-display .arena-core{display:contents}
.royal-display .arena-title{position:absolute;left:34%;top:14%;width:32%;height:12%;padding:0;display:flex;flex-direction:column;justify-content:center}
.royal-display .arena-title>span{font-size:1cqw;letter-spacing:.35em}
.royal-display .arena-title h1{font-size:2.6cqw;line-height:1.2;letter-spacing:.02em;margin:.4cqw 0 0;max-height:6.3cqw;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.royal-display .arena-title b{font-size:1.15cqw;margin:0;letter-spacing:.1em}
.royal-display .arena-logo{position:absolute;left:6%;top:1%;height:10%;gap:8px}
.royal-display .tv-control-entry{max-width:9cqw;font-size:.65cqw;gap:0}
.royal-display .tv-control-entry img{width:4.8cqw;height:4.8cqw;border-width:2px}
.royal-display .arena-logo .display-logo{max-width:8cqw;max-height:4cqw}
.royal-display .display-tools{position:absolute;right:6%;top:1%;width:25%;gap:4px}
.royal-display .display-tools button{font-size:.7cqw;min-height:24px;padding:4px 7px}
.royal-display .display-tools .display-connection{display:block;font-size:.65cqw}
.royal-display .arena-rail{position:absolute;top:var(--rail-top);height:var(--rail-height);width:var(--rail-width);display:grid;grid-template-rows:repeat(5,minmax(0,1fr));padding:1cqw 1.25cqw;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;isolation:isolate}
.royal-display .arena-rail-left{left:var(--rail-inset)}.royal-display .arena-rail-right{right:var(--rail-inset);left:auto}
.royal-display .arena-card{z-index:1;display:grid;grid-template-columns:var(--badge-size) minmax(0,1fr);gap:1cqw;align-items:center;min-width:0;padding:0;border:0;background:none}
.royal-display .arena-card:after{display:block;left:0;right:0;bottom:0;background:linear-gradient(90deg,#913528,#e79c6e80,#913528);height:1px}
.royal-display .arena-card:last-child:after{display:none}
.royal-display .arena-icon{position:relative;display:grid;place-items:center;box-sizing:border-box;width:var(--badge-size);height:var(--badge-size);min-width:var(--badge-size);aspect-ratio:1;align-self:center;border:.104167cqw solid #f76745;border-radius:50%;color:#ffe0ae;background:radial-gradient(circle at 40% 25%,#542320 0,#180c0e 45%,#090709 75%);box-shadow:inset 0 0 0 .2cqw #190b0e,inset 0 0 0 .26cqw #a9603f,inset 0 -.4cqw .8cqw #000,0 0 .5cqw #f327252b;text-shadow:none}
.royal-display .arena-icon:before{content:'';position:absolute;top:-.17cqw;left:50%;width:.32cqw;height:.32cqw;transform:translateX(-50%) rotate(45deg);background:#fba46d;border:1px solid #ffe3af}
.royal-display .arena-card-copy{width:100%;height:5.6cqw;display:grid;grid-template-rows:1.15cqw 1.15cqw 2.45cqw .85cqw;align-items:center}
.royal-display .arena-card-copy>span{grid-row:1/3}
.royal-display .arena-card-copy>strong{grid-row:3}
.royal-display .arena-card-copy>em{grid-row:4}
.royal-display .arena-card-copy>span{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:.82cqw;line-height:1.1;font-weight:500;letter-spacing:.02em}
.royal-display .arena-card-copy small{font-size:.82cqw;line-height:1.1;margin:0;color:#ddd}
.royal-display .arena-card-copy strong{width:100%;min-width:0;font-size:1.7cqw;line-height:1.12;margin:0;letter-spacing:-.02em;font-family:Arial,'Microsoft YaHei',sans-serif;font-weight:700;text-overflow:clip}
.royal-display .arena-card-copy em{font-size:.62cqw;line-height:1.1;margin:0;color:#ccc}
.royal-display .arena-card-people .arena-card-copy em{font-size:.78cqw;color:#eee}
.royal-display .arena-rail-left .arena-card:nth-of-type(1) strong,.royal-display .arena-rail-left .arena-card:nth-of-type(4) strong{color:#ffb2a9;text-shadow:0 0 12px #ff221b}
.royal-display .arena-level{position:absolute;left:43%;top:32%;width:14%;min-width:0;height:4%;padding:0;display:grid;place-items:center;font-size:2cqw;border:0;background:none;box-shadow:none;letter-spacing:0}
.royal-display .arena-dial{position:absolute;left:50%;transform:translateX(-50%);top:40%;width:28%;height:23%;border-radius:0;background:none;gap:1cqw;justify-content:center;align-items:center}
.royal-display .arena-dial:before,.royal-display .arena-dial:after{display:none}
.royal-display .arena-timer{width:100%;flex-shrink:0;text-align:center;font-size:8cqw;line-height:1.18;padding:.06em .08em;overflow:visible;letter-spacing:0;font-family:Arial,'Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums;font-kerning:none;font-weight:900;-webkit-text-stroke:.04cqw #ffb1a4;filter:none;background:none;-webkit-text-fill-color:#ff9584;color:#ff9584;text-shadow:0 3px 0 #7e0906,0 0 12px #ff2319}
.royal-display .arena-timer-label{font-size:1.15cqw;letter-spacing:0}
.royal-display .arena-timer-label small{font-size:1.1cqw;color:#ff544c;margin-top:.3cqw;letter-spacing:0}
.royal-display .arena-progress{width:30%;height:2px}
.royal-display .arena-footer{position:absolute;left:32%;top:82%;width:36%;height:10%;min-height:0;display:flex;justify-content:center;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.royal-display .arena-footer:before,.royal-display .arena-footer-icon,.royal-display .arena-footer-suit{display:none}
.royal-display .arena-footer>div{display:flex;flex-direction:column;gap:.15cqw}
.royal-display .arena-footer label{font-size:.95cqw}.royal-display .arena-footer small{font-size:.85cqw}
.royal-display .arena-footer strong{max-width:100%;min-width:0;font-size:2.55cqw;line-height:1.1;margin:0}
.royal-display .arena-announcement{position:absolute;bottom:1%;left:20%;width:60%;font-size:.85cqw}
.royal-display .arena-awards{bottom:1%;right:1%;width:19%;font-size:.7cqw}
}
.arena-footer{grid-template-columns:minmax(0,1fr);gap:0}
.arena-footer>div{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}
.brand-logo{display:block;object-fit:contain;flex:0 0 auto;background:transparent;border:0;max-width:100%;image-rendering:auto}
.brand .brand-logo{width:48px;height:48px}.auth .brand .brand-logo{width:72px;height:72px}.boot .brand-logo{width:88px;height:88px;margin:0 auto 12px}.pair-brand .brand-logo{width:96px;height:96px}.platform-brand-logo{width:80px;height:80px;object-fit:contain;background:transparent}
.structure-save-space{height:76px}.structure-save-dock{position:fixed;left:238px;right:0;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:10px;padding:12px 40px calc(12px + env(safe-area-inset-bottom));background:#1d1b22;border-top:1px solid #39343d}.structure-save-dock button{min-height:44px}
.wizard-actions{position:sticky;bottom:0;z-index:2;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:#1d1b22;border-top:1px solid #39343d}.wizard-actions button{min-height:44px}

/* Customer login mirrors the mini-program; activation and password change keep their existing styles. */
.auth.login-auth{position:relative;background:#222;isolation:isolate;color:#f7f7f7}
.login-auth ::selection{background:#777;color:#fff}
.login-page-brand{position:absolute;top:clamp(24px,5vh,48px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:15px;font-weight:600;letter-spacing:.01em;color:#f7f7f7}
.auth.login-auth .login-panel{width:420px;max-width:100%;padding:34px 24px 21px;border:1px solid #4a4a4a;border-radius:22px;background:linear-gradient(155deg,#323232 0%,#292929 65%);box-shadow:0 12px 35px #0004,inset 0 1px 4px #ffffff14}
.auth.login-auth .login-panel h1{margin:0 0 30px;font-size:21px;line-height:1.35;font-weight:700;text-align:center;color:#f7f7f7;letter-spacing:0}
.auth.login-auth .login-panel form{margin:0}
.login-auth .login-field{position:relative;margin:0}
.login-auth .login-field+.login-field{margin-top:20px}
.login-auth .login-field label{display:block;margin-bottom:7px;color:#f0f0f0;font-size:14px;font-weight:600;line-height:1.5}
.login-auth .login-field>input,.login-auth .password-wrap{width:100%;height:46px;min-height:46px;margin:0;border:1px solid #454545;border-radius:13px;background:#343434;box-shadow:inset 0 2px 7px #0003;transition:border-color 180ms ease,box-shadow 180ms ease}
.login-auth .login-field>input{padding:0 12px;color:#f7f7f7;font-size:14px;caret-color:#f7f7f7}
.login-auth input::placeholder{color:#b8b8b8;opacity:1}
.login-auth .login-field>input:focus,.login-auth .password-wrap:focus-within{outline:0;border-color:#aaa;box-shadow:inset 0 2px 7px #0003,0 0 0 2px #ffffff27}
.login-auth .password-wrap{display:flex;align-items:center;padding:0 5px 0 12px}
.login-auth .password-wrap input{flex:1;min-width:0;width:auto;height:42px;min-height:42px;margin:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;color:#f7f7f7;font-size:14px;caret-color:#f7f7f7}
.login-auth .password-wrap input:focus{outline:0}
.auth.login-auth .password-toggle{flex:none;width:auto;min-width:44px;height:42px;min-height:42px;margin:0;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#f0f0f0;font-size:14px;font-weight:500}
.auth.login-auth .password-toggle:hover{background:#ffffff12;color:#fff}
.auth.login-auth .password-toggle:focus-visible,.login-auth .login-footer a:focus-visible{outline:2px solid #d5d5d5;outline-offset:2px}
.login-auth .login-field.is-credential-error>input,.login-auth .login-field.is-credential-error .password-wrap{border-color:#ff9aab;box-shadow:inset 0 2px 7px #0003,0 0 0 2px #ff9aab29;animation:customer-login-shake 340ms ease-out both}
.login-auth .login-credential-error{position:absolute;top:calc(100% + 3px);left:1px;margin:0;color:#ff9aab;font-size:12px;line-height:17px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 150ms ease,transform 150ms ease}
.login-auth .login-credential-error.is-visible{opacity:1;transform:translateY(0);transition-duration:230ms;transition-delay:80ms}
.login-auth .login-submit-wrap{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;margin-top:30px}
.login-auth .login-submit-wrap::before{content:"";position:absolute;inset:-4px;border-radius:28px;background:linear-gradient(0deg,#17171988,#111113d9);box-shadow:inset 0 -8px 8px -6px #fff0,inset 0 -16px 16px -8px #fff0,1px 1px 1px #ffffff29,2px 2px 2px #ffffff12,-2px -2px 2px #0003;opacity:0;pointer-events:none;z-index:-1;transition:opacity 400ms ease,box-shadow 400ms ease,filter 400ms ease}
.auth.login-auth .login-submit{position:relative;isolation:isolate;display:block;overflow:hidden;width:100%;height:48px;min-height:48px;margin:0;padding:0;border:1px solid #ffffff38;border-radius:24px;background:#aaa9ad linear-gradient(135deg,#89898d,#c5c5c8 74%,#d3d3d5);box-shadow:inset 0 1px 1px #fff3,inset 0 4px 4px #ffffff26,inset 0 8px 8px #ffffff12,0 4px 9px #0004;color:#171719;transform:scale(1);transition:border-color 400ms ease,background-color 400ms ease,box-shadow 400ms ease,transform 120ms ease;opacity:1}
.auth.login-auth .login-submit:hover:not(:disabled){border-color:#f0f0f0ad;background:#aaa9ad linear-gradient(135deg,#959599,#ceced0 74%,#dadadc);box-shadow:inset 0 1px 1px #fff4,inset 0 8px 8px #ffffff1c,0 6px 13px #0005;transform:translateY(-1px)}
.login-auth .login-submit-wrap:has(.login-submit:hover:not(:disabled))::before{opacity:1;box-shadow:inset 0 -8px 8px -6px #ffffffa8,inset 0 -16px 16px -8px #e3e3e680,1px 1px 1px #ffffff4d,2px 2px 2px #ffffff29,-2px -2px 2px #0003}
.auth.login-auth .login-submit:active:not(:disabled){border-color:#fff;background:#aaa9ad linear-gradient(135deg,#8e8e92,#dddddf);box-shadow:inset 0 1px 2px #fff9,inset 0 8px 11px #ffffff57,0 2px 6px #0005;transform:scale(.985)}
.login-auth .login-submit-wrap:has(.login-submit:active:not(:disabled))::before{opacity:1;box-shadow:inset 0 -8px 12px -6px #fff,inset 0 -16px 16px -8px #f4f4f6c9,1px 1px 1px #fff7,2px 2px 2px #fff3,-2px -2px 2px #0003}
.auth.login-auth .login-submit:focus-visible{outline:2px solid #ececec;outline-offset:4px}
.auth.login-auth .login-submit:disabled{cursor:default;opacity:1}
.login-auth .login-submit__sheen{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(0deg,#fff 0%,#e5e5e8a6 8%,#a0a0a557 22%,transparent 60%);opacity:.1;mask-image:linear-gradient(0deg,#fff,transparent);pointer-events:none;transition:opacity 400ms ease,filter 400ms ease}
.login-auth .login-submit:hover:not(:disabled) .login-submit__sheen{opacity:.7}
.login-auth .login-submit:active:not(:disabled) .login-submit__sheen{opacity:1;filter:brightness(1.4)}
.login-auth .login-submit__content{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center}
.login-auth .login-submit__spark{position:relative;flex:none;width:24px;height:24px;margin-right:6px}
.login-auth .login-submit__spark-core,.login-auth .login-submit__spark-glow{position:absolute;inset:0;width:24px;height:24px}
.login-auth .login-submit__spark svg{display:block;width:24px;height:24px}
.login-auth .login-submit__spark-core{color:#171719;animation:customer-login-spark-flicker 2s linear 500ms infinite}
.login-auth .login-submit__spark-glow{color:#171719;opacity:.42;filter:blur(4px) drop-shadow(0 0 3px #e1e1e49e);animation:customer-login-spark-glow 2s linear 500ms infinite}
.login-auth .login-submit:hover:not(:disabled) .login-submit__spark-core{animation:none;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 -3px 5px #0008)}
.login-auth .login-submit:active:not(:disabled) .login-submit__copy--idle .login-submit__letter{animation:none;text-shadow:0 0 2px #fff}
.login-auth .login-submit__word-stage{position:relative;flex:none;width:100px;height:26px}
.login-auth .login-submit__copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;opacity:0;pointer-events:none}
.login-auth .login-submit__letter{display:inline-block;min-width:14px;color:#171719;font-size:15px;font-weight:600;line-height:26px;text-align:center;transform-origin:center}
.login-auth .login-submit__copy--idle{opacity:1}
.login-auth .login-submit__copy--idle .login-submit__letter{animation:customer-login-letter-idle 2s ease-in-out infinite}
.login-auth .login-submit__copy--idle .login-submit__letter:nth-child(2){animation-delay:80ms}.login-auth .login-submit__copy--idle .login-submit__letter:nth-child(3){animation-delay:160ms}.login-auth .login-submit__copy--idle .login-submit__letter:nth-child(4){animation-delay:240ms}.login-auth .login-submit__copy--idle .login-submit__letter:nth-child(5){animation-delay:320ms}
.auth.login-auth .login-submit.is-submitting{border-color:#9e9ea2;background:#3a3a3e;box-shadow:inset 0 1px 1px #fff4,inset 0 8px 11px #d7d7dc33,0 3px 9px #0004}
.login-auth .login-submit-wrap:has(.login-submit.is-submitting)::before{opacity:1;box-shadow:inset 0 -8px 12px -6px #fff7,inset 0 -16px 16px -8px #d9d9e088,1px 1px 1px #fff5,2px 2px 2px #fff2,-2px -2px 2px #0003}
.auth.login-auth .login-submit.is-success{border-color:#c8c8cb;background:#b9b9bc linear-gradient(135deg,#9b9b9f,#d2d2d4);box-shadow:inset 0 1px 1px #fff5,inset 0 8px 11px #dcdce13b,0 3px 11px #0004}
.login-auth .login-submit.is-submitting .login-submit__sheen{animation:customer-login-sheen-rise 1400ms ease-out both}
.login-auth .login-submit.is-success .login-submit__sheen{opacity:.82}
.login-auth .login-submit.is-submitting .login-submit__spark-core{color:#fff;animation:customer-login-spark-flicker 1200ms linear 200ms infinite}
.login-auth .login-submit.is-submitting .login-submit__spark-glow{color:#fff;animation:customer-login-spark-glow 1200ms linear 200ms infinite}
.login-auth .login-submit.is-success .login-submit__spark-core{animation:customer-login-spark-complete 420ms ease-out both}
.login-auth .login-submit.is-success .login-submit__spark-glow{animation:customer-login-spark-glow-complete 420ms ease-out both}
.login-auth .login-submit.is-submitting .login-submit__copy--idle{animation:customer-login-copy-out 300ms ease-in-out 1050ms both}
.login-auth .login-submit.is-submitting .login-submit__copy--idle .login-submit__letter{animation:customer-login-letter-focus 1000ms ease-in-out both}
.login-auth .login-submit.is-submitting .login-submit__copy--submitting{animation:customer-login-copy-in 300ms ease-in-out 1050ms both}
.login-auth .login-submit.is-submitting .login-submit__copy--submitting .login-submit__letter{color:#e3e3e5;animation:customer-login-letter-loading 1200ms ease-in-out 1050ms infinite}
.login-auth .login-submit.is-success .login-submit__copy--idle{opacity:0;animation:none}
.login-auth .login-submit.is-success .login-submit__copy--submitting{animation:customer-login-copy-out 180ms ease-in-out both}
.login-auth .login-submit.is-success .login-submit__copy--success{animation:customer-login-copy-in 280ms ease-out 120ms both}
.login-auth .login-submit.is-success .login-submit__copy--success .login-submit__letter{animation:customer-login-letter-arrive 320ms ease-out both}
.login-auth .login-submit.is-success .login-submit__copy--success .login-submit__letter:nth-child(2){animation-delay:80ms}.login-auth .login-submit.is-success .login-submit__copy--success .login-submit__letter:nth-child(3){animation-delay:160ms}.login-auth .login-submit.is-success .login-submit__copy--success .login-submit__letter:nth-child(4){animation-delay:240ms}
.login-auth .login-footer{margin-top:27px;padding-top:16px;border-top:1px solid #484848;text-align:center}
.login-auth .login-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border-radius:7px;color:#f0f0f0;font-size:14px;font-weight:500;text-decoration:none}
.login-auth .login-footer a:hover{background:#ffffff0e;color:#fff}
@keyframes customer-login-shake{0%,100%{transform:translateX(0)}18%,54%{transform:translateX(-3px)}36%,72%{transform:translateX(3px)}86%{transform:translateX(-1px)}}
@keyframes customer-login-letter-idle{0%,100%{color:#171719;text-shadow:none}50%{color:#37373b;text-shadow:0 0 3px #ffffff94}}
@keyframes customer-login-letter-focus{0%,100%{transform:scale(1);filter:blur(0) brightness(1);text-shadow:none}50%{transform:scale(2);filter:blur(10px) brightness(1.5) drop-shadow(-32px 12px 12px #e1e1e4d9);text-shadow:0 0 6px #f0f0f2d9}}
@keyframes customer-login-letter-loading{0%,100%{color:#e3e3e5;transform:translateY(0);text-shadow:none}50%{color:#fff;transform:translateY(-1px);text-shadow:0 0 5px #ececefad}}
@keyframes customer-login-letter-arrive{from{opacity:0;transform:translateY(4px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes customer-login-copy-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}
@keyframes customer-login-copy-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes customer-login-sheen-rise{from{opacity:.1}to{opacity:.72}}
@keyframes customer-login-spark-flicker{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes customer-login-spark-glow{0%,100%{opacity:.42;transform:scale(1)}50%{opacity:.18;transform:scale(.96)}}
@keyframes customer-login-spark-complete{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1);filter:drop-shadow(0 0 3px #ebebeeb0)}}
@keyframes customer-login-spark-glow-complete{from{opacity:.35;transform:scale(.94)}to{opacity:.85;transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){.login-auth .login-field.is-credential-error>input,.login-auth .login-field.is-credential-error .password-wrap{animation:none}.login-auth .login-credential-error{transform:none;transition:none}.auth.login-auth .login-submit,.login-auth .login-submit-wrap::before,.login-auth .login-submit__sheen{transition:none}.login-auth .login-submit__spark-core,.login-auth .login-submit__spark-glow,.login-auth .login-submit__copy,.login-auth .login-submit__letter{animation:none!important}.login-auth .login-submit.is-submitting .login-submit__copy--idle,.login-auth .login-submit.is-success .login-submit__copy--idle,.login-auth .login-submit.is-success .login-submit__copy--submitting{opacity:0}.login-auth .login-submit.is-submitting .login-submit__copy--submitting,.login-auth .login-submit.is-success .login-submit__copy--success{opacity:1}}

/* Customer workspace: the mini-program's graphite-and-silver visual language.
   Scope every rule to the workspace so login, television and platform admin stay unchanged. */
.shell{
  --bg:#1b1b1d;
  --panel:#28282b;
  --line:#434345;
  --muted:#c2c2c5;
  --white:#f7f7f7;
  --green:#9be2c1;
  background:var(--bg);
  color:var(--white);
  font-family:system-ui,"Microsoft YaHei",sans-serif;
  scrollbar-color:#626266 #1b1b1d;
}
.shell ::selection{background:#858589;color:#171719}
.shell .sidebar{background:#242426;border-color:var(--line)}
.shell .topbar{background:#212123;border-color:var(--line);color:var(--muted)}
.shell .topbar strong,.shell .account strong{color:var(--white)}
.shell .nav-label{color:#aaa9ad}
.shell .nav button{background:transparent;border:0;color:#c2c2c5;border-radius:9px}
.shell .nav button:hover{background:#343437;color:#fff}
.shell .nav button.active{background:#3b3b3e;color:#f7f7f7;box-shadow:inset 0 1px #ffffff2b}
.shell .avatar{background:#3d3d40;color:#f7f7f7}
.shell .live-dot{box-shadow:none}
.shell .pill.neutral{background:#3b3b3e;color:#d4d4d6}
.shell .registration-tag.closed{background:#343437;border-color:#59595d;color:#d2d2d5}
.shell .sub,.shell .card-meta,.shell .tournament-subtitle{color:var(--muted)}

.shell button{background:#3a3a3d;border-color:#626266;border-radius:8px;color:var(--white)}
.shell button:hover{background:#4a4a4d;border-color:#808084}
.shell button:active:not(:disabled){background:#525256}
.shell button:disabled{opacity:.55}
.shell button:focus-visible,.shell a:focus-visible,.shell summary:focus-visible{
  outline:2px solid #d0d0d2;
  outline-offset:3px;
}
.shell button.primary{
  background:linear-gradient(135deg,#858589,#bdbdc0 70%,#d0d0d2);
  border-color:#c7c7ca;
  color:#171719;
  box-shadow:inset 0 1px #ffffff80,0 4px 12px #0004;
  font-weight:700;
}
.shell button.primary:hover{background:linear-gradient(135deg,#98989c,#c9c9cc 70%,#dedee0);border-color:#dedee0}
.shell button.primary:active:not(:disabled){background:#a6a6a9;box-shadow:inset 0 2px 5px #0003}
.shell button.ghost{background:transparent;border-color:#5d5d61;color:#f7f7f7}
.shell button.ghost:hover{background:#363639}
.shell button.danger{background:#3a252c;border-color:#80505b;color:#ff9aab}
.shell button.danger:hover{background:#4c2c35}
.shell input,.shell select,.shell textarea{
  background:#1b1b1d;
  border-color:#4d4d50;
  border-radius:8px;
  color:#f7f7f7;
  caret-color:#f7f7f7;
}
.shell input::placeholder,.shell textarea::placeholder{color:#aaa9ad;opacity:1}
.shell input:focus,.shell select:focus,.shell textarea:focus{border-color:#bdbdc0;outline:2px solid #ffffff24;outline-offset:1px}
.shell input[type=checkbox]{accent-color:#bdbdc0}
.shell .field,.shell .check,.shell summary{color:#d1d1d4}
.shell .tabs{background:#202023}
.shell .tabs button.active{background:#858589;color:#171719}
.shell .stepper span{border-color:#555559;color:#b7b7ba}
.shell .stepper span.active{border-color:#bdbdc0;color:#f7f7f7}
.shell th{color:#c2c2c5}
.shell td,.shell .stage-row{border-color:var(--line)}
.shell tr.current{background:#39393c;color:#f7f7f7}

.shell .panel,.shell .stat,.shell .tournament-card,.shell .overview-state,
.shell .overview-times,.shell .clock-card,.shell .template,.shell .readiness,
.shell .registration-panel,.shell .device,.shell .empty-state{
  background:#28282b;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:none;
}
.shell .overview-state,.shell .overview-times,.shell .clock-card{
  background:linear-gradient(155deg,#2d2d30,#252528);
}
.shell .tournament-card.active-tournament{border-color:#a6a6a9;box-shadow:inset 0 1px #ffffff29}
.shell .empty-state{color:var(--muted)}
.shell .tournament-summary>div,.shell .overview-times>div,.shell .overview-stats>div,
.shell .entry-preview>div,.shell .award-list>div,.shell .award-edit-row{
  background:#222225;
  border-color:#464649;
  border-radius:8px;
}
.shell .tournament-summary small,.shell .overview-times small,.shell .overview-stats small,
.shell .entry-preview small{color:#c2c2c5}
.shell .tournament-summary b{font-size:15px;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.shell .history-grid{opacity:1}
.shell .stat small,.shell .stage-row small,.shell .event small,.shell .footer-note{color:#aaa9ad}
.shell .stat.clickable:hover{border-color:#bdbdc0}
.shell .feature-grid>button,.shell .readiness>button,.shell .readiness-row,
.shell .stage-card,.shell .stage-summary-card{background:#28282b;border-color:var(--line)}
.shell .feature-grid>button>span{color:#c2c2c5}
.shell .feature-grid small,.shell .readiness small,.shell .stage-card span,
.shell .stage-card small,.shell .stage-summary-card summary span,
.shell .stage-summary-card summary small{color:#c2c2c5}
.shell .readiness-icon{background:#414145;color:#f7f7f7}
.shell .readiness.ready .readiness-icon{background:#244333;color:#9be2c1}
.shell .stage-card.current{background:#363639;border-color:#aaa9ad}
.shell .stage-row .num{background:#3b3b3e;color:#d1d1d4}
.shell .stage-row.current .num{background:#858589;color:#171719}
.shell .event{border-color:#555559}
.shell .event:before{background:#858589}
.shell .event:first-child:before{background:#c2c2c5}
.shell .template p{color:#c2c2c5}
.shell .structure-save-dock,.shell .wizard-actions{background:#252528;border-color:var(--line)}

.shell .level,.shell .timer-label,.shell .blinds label,.shell .blinds small,
.shell .next-strip span{color:#c2c2c5}
.shell .level b{background:#4a4a4d;border-color:#727276;color:#f7f7f7}
.shell .progress{background:#4d4d50}
.shell .progress span{background:#bdbdc0}
.shell .blinds>div+div{border-color:#505053}
.shell .next-strip{background:#2e2e31;border-color:#505053}
.shell .next-strip b{color:#f7f7f7}
.shell .utility-row button{color:#d1d1d4}
.shell .timer,.shell .overview-clock,.shell .action-clock-time,
.shell .blinds strong,.shell .stat strong,.shell .overview-stats strong,
.shell .tournament-summary b,.shell .stage-card strong,.shell .stage-summary-card summary strong{
  font-family:system-ui,"Microsoft YaHei",sans-serif;
  font-variant-numeric:tabular-nums;
  font-weight:700;
  letter-spacing:-.025em;
  color:#f7f7f7;
}

body:has(.shell) dialog{background:#28282b;border-color:#5a5a5e;color:#f7f7f7}
body:has(.shell) dialog .actions{background:#28282b}
body:has(.shell) dialog .field,body:has(.shell) dialog .check{color:#d1d1d4}
body:has(.shell) dialog input,body:has(.shell) dialog select,body:has(.shell) dialog textarea{
  background:#1b1b1d;border-color:#4d4d50;border-radius:8px;color:#f7f7f7;caret-color:#f7f7f7;
}
body:has(.shell) dialog input::placeholder,body:has(.shell) dialog textarea::placeholder{color:#aaa9ad;opacity:1}
body:has(.shell) dialog input:focus,body:has(.shell) dialog select:focus,body:has(.shell) dialog textarea:focus{
  border-color:#bdbdc0;outline:2px solid #ffffff24;outline-offset:1px;
}
body:has(.shell) dialog input[type=checkbox]{accent-color:#bdbdc0}
body:has(.shell) dialog button{background:#3a3a3d;border-color:#626266;border-radius:8px;color:#f7f7f7}
body:has(.shell) dialog button:hover{background:#4a4a4d;border-color:#808084}
body:has(.shell) dialog button.primary{
  background:linear-gradient(135deg,#858589,#bdbdc0 70%,#d0d0d2);
  border-color:#c7c7ca;color:#171719;box-shadow:inset 0 1px #ffffff80,0 4px 12px #0004;font-weight:700;
}
body:has(.shell) dialog button.primary:hover{background:linear-gradient(135deg,#98989c,#c9c9cc 70%,#dedee0);border-color:#dedee0}
body:has(.shell) dialog button.danger{background:#3a252c;border-color:#80505b;color:#ff9aab}
body:has(.shell) dialog .stepper span{border-color:#555559;color:#b7b7ba}
body:has(.shell) dialog .stepper span.active{border-color:#bdbdc0;color:#f7f7f7}
body:has(.shell) dialog .tabs{background:#202023}
body:has(.shell) dialog .tabs button.active{background:#858589;color:#171719}
body:has(.shell) #toast{background:#343437;border-color:#626266;color:#f7f7f7}
body:has(.shell) #toast button{background:#858589;border-color:#bdbdc0;color:#171719}
@media(min-width:901px) and (max-width:1100px){
  .shell .tournament-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .shell .sidebar{background:transparent;border:0}
  .shell .sidebar .nav{background:#252527f5;border-color:#505053}
  .shell .sidebar .nav button.active{background:#424245;box-shadow:inset 0 -2px #c2c2c5}
  .shell .topbar{background:#212123f5}
}

/* Television pairing only: mirror the mini-program login surface. */
.pair-screen--pairing{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  width:100%;height:100vh;height:100dvh;min-height:0;overflow-y:auto;
  padding:clamp(18px,3vh,40px) clamp(16px,3vw,40px);
  background:#222;color:#f7f7f7;scrollbar-color:#626266 #222;
}
.pair-screen--pairing::before{display:none}
.pair-screen--pairing .pair-panel{
  flex:none;width:min(100%,760px);max-width:none;margin:auto;padding:clamp(28px,3.5vh,38px) clamp(22px,4vw,44px);
  border:1px solid #4a4a4a;border-radius:22px;background:linear-gradient(155deg,#323232 0%,#292929 65%);
  box-shadow:0 12px 35px #0004,inset 0 1px 4px #ffffff14;
}
.pair-screen--pairing .eyebrow{color:#c2c2c5;font-size:12px;letter-spacing:.12em;margin-bottom:8px}
.pair-screen--pairing .pair-panel h1{margin:0 0 12px;color:#f7f7f7;font-size:clamp(30px,4.5vw,48px);line-height:1.25;letter-spacing:0}
.pair-screen--pairing .pair-panel p{margin:0 0 20px;color:#d1d1d4;font-size:clamp(15px,1.5vw,19px);line-height:1.5}
.pair-screen--pairing .pair-panel>img{
  display:block;width:clamp(160px,19vw,190px);height:auto;margin:0 auto;
  background:#fff;box-shadow:0 5px 14px #0005;
}
.pair-screen--pairing .pair-code{
  width:min(100%,620px);margin:22px auto 12px;padding:10px 16px 13px;
  border:1px solid #484848;border-radius:14px;background:#343434;
  box-shadow:inset 0 2px 7px #0003;color:#f7f7f7;text-shadow:none;
  font:700 clamp(80px,11vw,136px)/1 'Barlow Condensed',monospace;
  font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap;
}
.pair-screen--pairing .pair-expiry{color:#c2c2c5;font-size:clamp(13px,1.4vw,16px)}
.pair-screen--pairing .pair-wait{
  margin:22px auto 0;padding:11px 19px;border:1px solid #4d4d4d;
  border-radius:24px;background:#343434;color:#f0f0f0;box-shadow:inset 0 2px 7px #0003;
}
.pair-screen--pairing .live-dot{background:#9be2c1;box-shadow:0 0 7px #9be2c166}
.pair-screen--pairing footer{
  margin:27px 0 0;padding:17px 0 0;border-top:1px solid #484848;
  color:#c2c2c5;font-size:13px;line-height:1.5;text-align:center;
}
@media(max-width:600px){
  .pair-screen--pairing .pair-panel{padding:26px 21px;border-radius:22px}
  .pair-screen--pairing .pair-panel h1{font-size:30px}
  .pair-screen--pairing .pair-panel p{font-size:15px}
  .pair-screen--pairing .pair-panel>img{width:160px}
  .pair-screen--pairing .pair-code{font-size:clamp(48px,13vw,70px);padding:10px 8px 12px;letter-spacing:.06em}
  .pair-screen--pairing footer{font-size:12px}
}
