/* v2: live tournament tree, guided operator controls, audience fullscreen */
.audience-gate,.audience-fullscreen{display:none}.audience:not(.screen-started) .audience-gate{display:flex;position:fixed;inset:0;z-index:90;background:#090b10;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.audience-gate img{width:min(70vw,500px);margin-bottom:35px}.audience-gate h1{font-size:30px;letter-spacing:-1px}.audience-gate p{font-size:14px;line-height:1.8;color:#b6bac5}.audience-gate button{font-size:17px;margin-top:16px;padding:18px 35px}.audience-gate #start-audience{background:var(--cyan);color:#00251d;font-weight:bold}.audience-gate small{color:#888f9e;font-size:11px;margin-top:30px}.audience.screen-started:not(.is-fullscreen) .audience-fullscreen{display:block;position:fixed;right:20px;bottom:15px;z-index:80;background:var(--cyan);color:#00271e;font-weight:bold;padding:14px 22px;border:0}.audience.is-fullscreen .audience-fullscreen{display:none}.stage{padding-top:15px;padding-bottom:14px;justify-content:flex-start}.stage-title{margin-bottom:12px;display:flex;align-items:baseline;justify-content:space-between;gap:15px}.stage-title>span{font-size:8px;letter-spacing:1px;order:2}.stage-title strong{font-size:20px;letter-spacing:0;font-style:normal}.tree-scroll{overflow-x:auto;overflow-y:hidden;flex:1;min-height:380px}.tournament-tree{min-width:560px;height:100%;display:flex;flex-direction:column}.qualifier-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:10px}.qualifier-bar>span{border:1px solid #353b47;padding:7px 10px;flex:1;color:#9299a8;white-space:nowrap}.qualifier-bar b{margin-right:9px;color:#e6e8ee;font:10px Consolas}.qualifier-bar .qualified{color:var(--cyan);border-color:#24675a;background:#102820}.qualifier-bar .final-target{border:0;flex:0;color:#bdc1ca;font-size:9px}.tree-board{position:relative;display:grid;grid-template-columns:repeat(var(--tree-cols),minmax(0,1fr));gap:34px;flex:1;min-height:345px}.tree-column{position:relative;z-index:1;min-width:0}.tree-column-label{font-size:10px;color:#c3c7d2;padding-bottom:8px;border-bottom:1px solid #414754}.tree-node{position:absolute;left:0;right:0;transform:translateY(-50%);border:1px solid #404754;background:#171b22;border-radius:3px;overflow:hidden}.tree-node.now{border-color:var(--purple);box-shadow:0 0 0 1px #c23cf340}.tree-node.done{border-color:#236254}.tree-node-head{height:15px;background:#242934;padding:1px 7px;font-size:8px;display:flex;align-items:center;justify-content:space-between;color:#b3bbca}.tree-node.now .tree-node-head{background:#472453;color:#eed2ff}.tree-node.done .tree-node-head{color:var(--cyan)}.tree-node-head span{font-size:7px}.tree-player{display:flex;align-items:center;height:12px;padding:0 7px;gap:7px;border-top:1px solid #282e39;font-size:9px}.tree-player i{font:8px Consolas;color:#8d95a7;min-width:6px}.tree-player>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-player>b{margin-left:auto;color:var(--cyan);font-size:8px}.tree-player.advances{background:#113a30;color:var(--cyan)}.tree-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tree-lines path{fill:none;stroke:#475160;stroke-width:1.2}.tree-lines .connected{stroke:var(--cyan)}.current-caption{font:8px Consolas;letter-spacing:2px;color:var(--cyan);margin:15px 0 9px}.current-caption span{font:9px 'Malgun Gothic';color:#9ba3b2;letter-spacing:0;margin-left:12px}.racer{min-height:75px;padding:9px 12px;border-top-width:2px;display:grid;grid-template-columns:1fr;gap:4px}.lane-head{font-size:8px}.lane-head b{font-size:15px;letter-spacing:0}.racer h2{font-size:24px;margin:0;letter-spacing:-1px}.racer>small{display:none}.racer.vacant h2{font-size:18px}.racer:not(:last-child):after{font-size:15px;right:-20px}.stage-caption{margin-top:12px}.match-top{padding-top:18px}.arena-bottom{padding-block:15px}.broadcast{min-height:850px}.stage{min-height:630px}.side-poster{max-height:240px}.control{padding-top:22px;padding-bottom:22px}.control-title span{font-size:12px}.control-match{font-size:18px;font-weight:bold;margin-bottom:18px;color:#eceff4}.control-actions{display:grid;grid-template-columns:190px minmax(300px,1fr) minmax(180px,240px);gap:12px;align-items:stretch}.control-actions>#intro{grid-column:1;grid-row:1/3;font-size:16px;min-height:100px}.winner-buttons{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;border:0}.winner-buttons>button{padding:12px 10px;background:#202530;display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:1px solid #51596a}.winner-buttons>button>span{font-size:10px;color:#aaaeb9}.winner-buttons>button>strong{font-size:21px}.winner-buttons>button>small{font-size:10px;color:#aab0bf}.winner-buttons>button.picked{border-color:var(--cyan);background:#143a32;outline:1px solid var(--cyan)}.winner-buttons>button.picked>small{color:var(--cyan)}#confirm-winner{grid-column:2;grid-row:2;background:#303a4b;border-color:#6c768c;font-weight:bold;font-size:14px}#confirm-winner:not(:disabled){background:var(--purple);border-color:var(--purple);color:white}#next{grid-column:3;grid-row:1;font-size:15px;font-weight:bold}#next:not(:disabled){background:var(--cyan);border-color:var(--cyan);color:#002b23}#undo{grid-column:3;grid-row:2}#skip-intro{grid-column:1/-1;background:#42304d;color:#f4d9ff}#skip-intro[hidden]{display:none}.control-options{margin-top:20px}.control-options button{padding:5px 0}.clean .stage{min-height:0}.clean .tree-scroll{min-height:380px}.clean .stage-title{margin-bottom:10px}.clean .current-caption{margin-top:10px}.clean .stage-caption{margin-top:10px}.clean .arena-bottom{padding-block:12px}
@media(min-width:1600px){.tree-player{height:17px;font-size:12px}.tree-player i{font-size:9px}.tree-node-head{height:18px;font-size:10px}.tree-node-head span{font-size:8px}.tree-board{min-height:500px}.tree-scroll{min-height:540px}.stage{min-height:760px}.clean .tree-scroll{min-height:380px}.clean .tree-board{min-height:350px}.clean .racer h2{font-size:32px}}
@media(max-width:1000px){.control-actions{grid-template-columns:150px minmax(280px,1fr) 170px;gap:9px}.control-actions>#intro{font-size:13px}.winner-buttons>button>strong{font-size:18px}#next{font-size:13px}.stage-title>span{display:none}.qualifier-bar>span{padding:6px;font-size:9px}.qualifier-bar b{margin-right:5px}.tree-board{gap:25px}.stage{min-height:610px}.broadcast{min-height:820px}}
@media(max-width:720px){.control-actions{grid-template-columns:1fr 1fr}.control-actions>#intro{grid-column:1;grid-row:1;min-height:55px}.winner-buttons{grid-column:1/-1;grid-row:2}#confirm-winner{grid-column:1/-1;grid-row:3;min-height:50px}#next{grid-column:2;grid-row:1;font-size:12px}#undo{grid-column:1/-1;grid-row:4}.control-match{font-size:15px;line-height:1.7}.control-title span{font-size:9px}.control-actions button{padding:14px 10px}.winner-buttons>button>strong{font-size:21px}.tree-scroll{min-height:380px}.stage{min-height:610px}.racer{padding:8px;min-height:65px}.racer h2{font-size:22px}.tree-column-label{font-size:9px}.qualifier-bar .final-target{font-size:8px}.current-caption{margin-top:12px}.stage-title strong{font-size:18px}.clean .stage{min-height:610px}.clean .tree-scroll{min-height:380px}.broadcast{min-height:0}}
@media(min-width:721px) and (max-height:800px){.clean header{height:64px}.clean .match-top{padding-top:10px}.clean .match-top h1{font-size:22px;margin-top:4px}.clean .kicker{font-size:7px}.clean .match-count b{font-size:26px}.clean .stage{padding-top:8px;padding-bottom:8px}.clean .stage-title{margin-bottom:7px}.clean .stage-title strong{font-size:16px}.clean .qualifier-bar{margin-bottom:4px}.clean .qualifier-bar>span{padding:3px 7px}.clean .tree-scroll{min-height:320px}.clean .tree-board{min-height:295px}.clean .tree-node-head{height:13px}.clean .tree-player{height:10px;font-size:8px}.clean .current-caption{margin-top:6px;margin-bottom:5px}.clean .racer{min-height:50px;padding:5px 10px}.clean .racer h2{font-size:20px}.clean .arena-bottom{padding-block:9px}.clean .stage-caption{margin-top:7px}.clean .ticker{height:32px}}

/* Keep all seven first-wave boxes separated at every display size. */
.tree-board{min-height:430px}.tree-scroll{min-height:470px}.clean .tree-board{min-height:430px}.clean .tree-scroll{min-height:470px}
@media(min-width:1600px) and (min-height:951px){.tree-board,.clean .tree-board{min-height:550px}.tree-scroll,.clean .tree-scroll{min-height:590px}}
@media(min-width:721px) and (max-height:950px){.clean .tree-board{min-height:325px}.clean .tree-scroll{min-height:360px}.clean .tree-node-head{height:12px;font-size:8px;line-height:12px}.clean .tree-player{height:9px;line-height:9px;font-size:8px}.clean .tree-player i{font-size:7px}.clean .tree-node-head span{font-size:7px}.clean .racer h2{font-size:22px}.clean .racer{min-height:56px}}

/* Direct tournament operation: click a heat, then its winner. */
.tree-node[aria-disabled="false"]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.tree-node[aria-disabled="false"]:hover{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.tree-node[aria-disabled="true"]{cursor:default}.tree-node:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.tree-player.can-pick{cursor:pointer}.tree-player.can-pick:hover{background:#195646;color:#fff}.tree-player.can-pick:hover:after{content:'승리 ✓';margin-left:auto;color:var(--cyan);font-size:8px}.racer[tabindex="0"]{cursor:pointer}.racer[tabindex="0"]:hover{background:#1b4038;outline:1px solid var(--cyan)}.racer[tabindex="0"]:after{pointer-events:none}.racer[tabindex="0"]:focus-visible{outline:2px solid var(--cyan)}.auto-guide{display:flex;align-items:center;gap:16px;font-size:12px;line-height:1.8;color:#b8c0ce}.auto-guide>b{background:var(--cyan);padding:8px 16px;color:#002e25;white-space:nowrap}.auto-guide strong{color:#fff}.manual-tools{margin-top:16px;color:#a4adbd;font-size:10px}.manual-tools summary{cursor:pointer;width:max-content}.manual-tools .control-actions{display:flex;align-items:stretch;margin-top:12px}.manual-tools #winner-buttons,.manual-tools #confirm-winner{display:none}.manual-tools #intro,.manual-tools #next,.manual-tools #undo{min-height:42px;font-size:12px;grid-column:auto;grid-row:auto}.manual-tools #skip-intro{padding:12px}.control-options>label:first-child{color:var(--cyan);font-weight:bold}.control-options #undo-main{border:1px solid #515a69;padding:8px 12px;color:#fff}.control-title>span{font-size:11px}.control-match{margin-bottom:12px}.audience .tree-node,.audience .racer{cursor:default!important}.audience .tree-player:hover,.audience .racer:hover{background:inherit;outline:0}.audience .tree-player:hover:after{display:none}
@media(max-width:720px){.auto-guide{font-size:10px;gap:10px}.auto-guide>b{padding:8px 10px}.control-options #undo-main{font-size:11px}.manual-tools .control-actions{flex-wrap:wrap}.control-title>span{font-size:9px}}
