/* Broadcast scenes: overview -> compact bracket -> qualifier -> grand final -> champion. */
.round-break{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:16px;background:#252036;border-left:4px solid var(--purple);flex-shrink:0}.round-break[hidden]{display:none}.round-break>div>span{font:9px Consolas;letter-spacing:2px;color:#d4a7ef}.round-break h2{font-size:23px;margin:7px 0}.round-break p{font-size:11px;color:#c3b8d5;margin:0}.round-break button{background:var(--purple);border:0;font-size:17px;font-weight:bold;padding:16px 25px;white-space:nowrap}.audience-wait{display:none}.audience .round-break button{display:none}.audience .round-break .audience-wait{display:block;font-size:12px;color:#e6d0f2;line-height:1.8}.round-pause .current-match{border-top-color:var(--purple)}.round-pause .tree-node[aria-disabled="false"]{border-style:dashed}.round-pause .current-caption{color:#e0a5f8}.round-pause .current-caption>span{visibility:hidden}.round-pause .current-caption:after{content:'라운드 시작 대기';font:11px 'Malgun Gothic';letter-spacing:0;color:#d4b3e8;margin-left:12px}
.side-poster{display:block;flex:1;min-height:120px;max-height:220px;height:clamp(120px,19vh,220px);margin:12px 0 20px;border-block:1px solid #40334c;background:#080a0e}.side-poster>img{object-fit:cover;object-position:50% 39%;opacity:.9}.side-poster>span{font-size:clamp(24px,2vw,36px);left:16px;bottom:15px}.qualification-panel{margin-top:0;padding-top:16px}.qualifier{padding-block:12px}.next-note{padding-bottom:6px}.arena-grid>aside{min-height:0}.tree-column-label{font-size:12px}.compact-field .tournament-tree{min-width:780px}.compact-field .tree-node{min-height:100px}.compact-field .tree-node .tree-node-head{width:52px;font-size:17px}.compact-field .tree-node .tree-node-head span{font-size:10px}.compact-field .tree-node .tree-player{min-height:98px;font-size:clamp(16px,1.3vw,23px);gap:9px}.compact-field .tree-node .tree-player i{font-size:10px}.compact-field .tree-node .tree-player:not(:last-child):after{font-size:12px;right:-7px}.compact-field .tree-node .tree-player b{font-size:12px;top:9px;right:8px}.compact-field .tree-column-label{font-size:15px;padding-bottom:12px}.compact-field .tree-board{min-height:410px}.compact-field .tree-scroll{min-height:430px}.compact-field .stage-title strong{color:#ddd2ec}.full-overview .tree-node{opacity:.8}.full-overview .tree-node.now{opacity:1}.full-overview .tree-board{min-height:430px}
.showdown,.champion-board{display:none}.focus-field .showdown,.grand-final .showdown{display:flex;position:relative;isolation:isolate;flex-direction:column;justify-content:center;flex:1;min-height:420px;padding:26px 0;overflow:hidden}.focus-field .tree-scroll,.grand-final .tree-scroll,.focus-field .current-match,.grand-final .current-match{display:none}.showdown-art{position:absolute;width:75%;height:115%;object-fit:contain;right:-20%;top:-8%;opacity:.15;z-index:-1;pointer-events:none}.showdown-title{position:relative;z-index:1;text-align:center;margin-bottom:33px}.showdown-title>span{font:10px Consolas;letter-spacing:3px;color:var(--purple)}.showdown-title h2{font-size:clamp(30px,4.3vw,74px);font-style:italic;letter-spacing:-2px;line-height:1.12;margin:12px 0}.showdown-title p{font-size:13px;color:#c4c9d3;margin:12px 0 0}.showdown-lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative;padding:0 9px}.showdown-racer{position:relative;min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-top:4px solid var(--cyan);background:#15272a;cursor:pointer;overflow:visible;--seed:var(--cyan)}.showdown-racer:nth-child(2){--seed:var(--purple);border-top-color:var(--purple);background:#2b1a35}.showdown-racer:nth-child(3){--seed:#f0f1f7;border-top-color:#f0f1f7;background:#232631}.showdown-racer:not(:last-child):after{content:'VS';position:absolute;right:-28px;top:50%;transform:translateY(-50%) skew(-10deg);font-weight:900;font-size:29px;text-shadow:3px 3px #090b10;z-index:2}.showdown-seed{font-size:12px;letter-spacing:2px;color:var(--seed);margin-bottom:40px}.showdown-number{position:absolute;top:22%;font-size:125px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px #ffffff12;letter-spacing:-8px;pointer-events:none}.showdown-racer h3{font-size:clamp(28px,3vw,54px);letter-spacing:-1.8px;line-height:1.15;white-space:nowrap;position:relative;margin:0 0 15px}.showdown-racer>small{font:8px Consolas;letter-spacing:2px;color:#bdc5d4}.showdown-racer[tabindex="0"]:hover{outline:2px solid var(--seed);outline-offset:4px}.showdown-racer[tabindex="0"]:focus-visible{outline:3px solid var(--seed);outline-offset:4px}.showdown-racer.vacant{opacity:.3}.showdown-foot{text-align:center;margin-top:28px;color:var(--cyan);font:10px Consolas;letter-spacing:2px}.grand-final .showdown{min-height:480px;border-top:1px solid #816d3c;border-bottom:1px solid #816d3c;margin:12px 0;background:#181611}.grand-final .showdown-title{margin-top:10px}.grand-final .showdown-title>span{color:#ffd36a}.grand-final .showdown-title h2{font-size:clamp(46px,6vw,105px);color:#ffd36a;text-shadow:5px 5px #000;letter-spacing:-3px}.grand-final .showdown-racer{background:#252116;border-top-color:#ffd36a;--seed:#ffd36a;min-height:250px}.grand-final .showdown-seed{font-weight:bold;font-size:14px}.grand-final .showdown-foot{color:#ffd36a}.grand-final .match-top h1{color:#ffd36a}.grand-final .stage-title strong{color:#ffd36a}.grand-final .qualification-panel{border-top-color:#b99138}.grand-final .showdown-art{width:100%;opacity:.18;right:-25%}.grand-final .showdown-racer[tabindex="0"]:hover:before{content:'CHAMPION';position:absolute;bottom:-27px;color:#ffd36a;font:bold 11px Consolas;letter-spacing:3px}.audience .showdown-racer{cursor:default}.audience .showdown-racer:before{display:none}
.ceremony-art{display:none;position:absolute;inset:0 0 0 auto;width:48%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.45;z-index:0}.ceremony-frame{display:none;position:absolute;inset:25px;border:1px solid #bd79d7}.award-caption{display:none!important}.qualifier-win .ceremony-art,.champion-win .ceremony-art,.qualifier-win .ceremony-frame,.champion-win .ceremony-frame{display:block}.qualifier-win .winner-stripe{height:65%;background:#8e25bc;transform:rotate(-8deg)}.qualifier-win .winner-copy>b{color:white;font-size:clamp(54px,7vw,120px);letter-spacing:-5px;text-shadow:4px 4px #360e4c}.qualifier-win .winner-copy>span:first-child{color:#e6c0ff}.qualifier-win .winner-copy>strong{font-size:clamp(65px,9vw,140px);color:#fff;text-shadow:5px 5px #3e1553}.qualifier-win .winner-copy>.award-caption{display:block!important;color:var(--cyan);font:bold 22px 'Malgun Gothic';letter-spacing:-.5px;margin:14px 0 20px}.qualifier-win .winner-copy>small{color:#e9cafa}.champion-win{background:#100f0af7}.champion-win .ceremony-art{width:70%;opacity:.55}.champion-win .ceremony-frame{border:2px solid #ffd36a;inset:22px}.champion-win .winner-stripe{height:70%;background:#b99138;transform:rotate(-6deg)}.champion-win .winner-copy>b{font-size:clamp(55px,7vw,125px);color:#fff0b6;text-shadow:5px 5px #55400c;letter-spacing:-5px}.champion-win .winner-copy>span:first-child{color:#fff0be}.champion-win .winner-copy>strong{font-size:clamp(70px,10vw,160px);color:#fff;text-shadow:6px 6px #5d4714}.champion-win .winner-copy>.award-caption{display:block!important;color:#fff3c4;font:bold 25px 'Malgun Gothic';letter-spacing:-1px;margin:12px 0 20px}.champion-win .winner-copy>small{color:#fff0bc}
.has-champion .stage-title,.has-champion .showdown,.has-champion .current-match,.has-champion .tree-scroll,.has-champion .stage-caption{display:none}.has-champion .champion-board{display:flex;position:relative;isolation:isolate;flex:1;min-height:500px;align-items:center;justify-content:flex-start;padding:35px 6%;overflow:hidden;background:#18140b;border-block:2px solid #a5812d}.champion-art{position:absolute;inset:0 0 0 auto;width:55%;height:100%;object-fit:cover;object-position:center 35%;opacity:.65;z-index:-1}.champion-heading{position:relative;z-index:1}.champion-heading>span{font:10px Consolas;letter-spacing:3px;color:#e9c25c}.champion-heading h2{font-size:clamp(45px,6vw,105px);letter-spacing:-4px;color:#ffd36a;font-style:italic;line-height:1.1;margin:15px 0}.champion-heading>strong{font-size:clamp(50px,6.5vw,110px);letter-spacing:-3px;line-height:1.25;display:block;text-shadow:4px 4px #000}.champion-heading p{font-size:14px;color:#f6dc9c;letter-spacing:2px;margin:20px 0 30px}.champion-heading button{border-color:#b88d2d;color:#ffdc83;background:#2c230e;font-size:12px}.audience #replay-celebration{display:none}
@media(min-width:1600px) and (min-height:951px){.showdown-racer{min-height:300px}.grand-final .showdown-racer{min-height:320px}.showdown-title{margin-bottom:45px}.showdown-racer h3{font-size:clamp(40px,3vw,65px)}}
@media(min-width:721px) and (max-height:850px){.round-break{padding:12px 16px;margin-bottom:10px}.round-break h2{font-size:18px;margin:5px 0}.round-break p{font-size:9px}.round-break button{font-size:14px;padding:12px 18px}.round-break>div>span{font-size:8px}.round-pause .current-match{padding-top:8px;padding-bottom:10px}.round-pause .tree-scroll,.round-pause .tree-board{min-height:280px}.round-pause .tree-node{min-height:34px}.round-pause .tree-node .tree-player{min-height:32px;font-size:10px;padding-block:3px;gap:3px}.round-pause .tree-node .tree-player>i{font-size:6px}.compact-field .tree-node{min-height:82px}.compact-field .tree-node .tree-player{min-height:80px;font-size:15px}.compact-field .tree-board{min-height:310px}.compact-field .tree-scroll{min-height:330px}.showdown,.focus-field .showdown,.grand-final .showdown{min-height:370px;padding:16px 0}.showdown-title{margin-bottom:22px}.showdown-title h2{font-size:38px;margin:9px 0}.grand-final .showdown-title h2{font-size:56px}.showdown-title p{font-size:11px;margin-top:8px}.showdown-racer,.grand-final .showdown-racer{min-height:185px}.showdown-seed{margin-bottom:28px;font-size:10px}.showdown-racer h3{font-size:clamp(26px,2.6vw,42px)}.showdown-number{font-size:100px}.showdown-foot{margin-top:18px;font-size:9px}.side-poster{height:100px;min-height:85px;max-height:130px;margin:6px 0 12px}.side-poster>span{font-size:23px;bottom:10px}.qualification-panel{padding-top:10px}.qualifier{padding-block:8px;gap:10px}.qualifier-round{width:28px;height:28px;font-size:12px}.qualifier small{font-size:7px;margin-bottom:3px}.qualifier strong{font-size:19px}.next-player{padding-block:8px}.next-player strong{font-size:21px}.next-note{font-size:9px;padding-block:8px}.next-match{font-size:10px;margin-top:15px}.next-head h2{font-size:36px}.last-result{padding-top:12px}.has-champion .champion-board{min-height:390px}.champion-heading h2{font-size:66px}.champion-heading>strong{font-size:65px}}
@media(max-width:720px){.round-break{padding:14px;flex-wrap:wrap;gap:12px}.round-break h2{font-size:20px}.round-break button{width:100%;font-size:16px;padding:14px}.audience .round-break .audience-wait{font-size:11px}.compact-field .tournament-tree{min-width:750px}.compact-field .tree-board{min-height:400px}.compact-field .tree-node .tree-player{font-size:16px}.compact-field .tree-node .tree-node-head{font-size:15px}.focus-field .stage,.grand-final .stage{min-height:550px}.showdown,.focus-field .showdown,.grand-final .showdown{min-height:420px;padding:20px 0}.showdown-lineup{gap:15px;padding-inline:3px}.showdown-racer,.grand-final .showdown-racer{min-height:190px}.showdown-title>span{font-size:8px;letter-spacing:1px}.showdown-title h2{font-size:29px}.grand-final .showdown-title h2{font-size:42px}.showdown-title p{font-size:10px}.showdown-racer h3{font-size:clamp(15px,4.5vw,25px);letter-spacing:-1px}.showdown-seed{font-size:8px;letter-spacing:0;margin-bottom:35px}.grand-final .showdown-seed{font-size:9px}.showdown-number{font-size:70px;letter-spacing:-4px;top:28%}.showdown-racer:not(:last-child):after{font-size:19px;right:-20px}.showdown-racer>small{font-size:6px;letter-spacing:.4px}.showdown-foot{font-size:8px;letter-spacing:.5px;line-height:1.8}.side-poster{display:block;grid-column:1/-1;height:200px;max-height:200px;margin:10px 0 15px;flex:none}.side-poster>img{object-position:center 33%}.qualification-panel{margin-top:0}.qualifier-win .winner-copy>b{font-size:54px;letter-spacing:-3px}.qualifier-win .winner-copy>strong{font-size:65px}.qualifier-win .winner-copy>.award-caption{font-size:16px}.champion-win .winner-copy>b{font-size:48px;letter-spacing:-3px}.champion-win .winner-copy>strong{font-size:68px}.champion-win .winner-copy>.award-caption{font-size:17px}.ceremony-frame,.champion-win .ceremony-frame{inset:12px}.has-champion .champion-board{min-height:460px;padding:30px 5%}.champion-art{width:90%;opacity:.4}.champion-heading h2{font-size:45px;letter-spacing:-2px}.champion-heading>strong{font-size:50px}.champion-heading>span{font-size:8px;letter-spacing:1px}.champion-heading p{font-size:11px}}

.design-preview:after{content:'DESIGN PREVIEW / 샘플 결과';position:fixed;bottom:8px;left:12px;z-index:35;color:#aab4c7;background:#0a0c13d9;padding:6px 9px;font:9px Consolas;letter-spacing:1px;pointer-events:none}.design-preview .audience-fullscreen{bottom:12px;font-size:11px;padding:10px 15px}

/* Round entrances are interruptible GSAP timelines, then flow into player intros. */
.round-opening{background:#0b0b13;display:flex;align-items:center;justify-content:center;isolation:isolate}.opening-art{position:absolute;inset:0 0 0 auto;width:72%;height:100%;object-fit:cover;object-position:50% 35%;opacity:.32;z-index:-1;pointer-events:none}.opening-bars{position:absolute;inset:-20%;transform:rotate(-12deg);z-index:0;pointer-events:none}.opening-bars i{display:block;height:16%;margin-bottom:2%;width:100%;background:#6a1c8d;opacity:.8}.opening-bars i:nth-child(2){background:#7d25a5}.opening-bars i:nth-child(3){background:#00baa4;opacity:.35}.opening-content{position:relative;text-align:center;z-index:2;width:90%;padding:25px 0}.opening-content>img{display:block;width:min(360px,56%);max-height:115px;object-fit:contain;margin:0 auto 32px}.opening-content>span{display:block;font:10px Consolas;letter-spacing:3px;color:#d3acec}.opening-content>h2{font-size:clamp(50px,8vw,145px);font-style:italic;letter-spacing:-5px;line-height:1.08;color:#fff;margin:20px 0 15px;font-weight:900;text-shadow:5px 5px #160420}.opening-content>strong{display:block;font-size:clamp(17px,2vw,30px);letter-spacing:-.5px;color:#fff}.opening-content>p{font:10px Consolas;letter-spacing:2px;color:#b6c2d8;margin-top:28px}.opening-counter{position:absolute;right:3%;bottom:2%;font-size:clamp(150px,27vw,420px);font-weight:900;letter-spacing:-20px;color:transparent;-webkit-text-stroke:1px #c58be24a;line-height:.9;pointer-events:none;z-index:1}.opening-final{background:#14110a}.opening-final .opening-bars i{background:#876222}.opening-final .opening-bars i:nth-child(2){background:#a87d2b}.opening-final .opening-bars i:nth-child(3){background:#ffd36a}.opening-final .opening-content>h2{color:#ffe5a3;font-size:clamp(38px,6.8vw,130px);text-shadow:5px 5px #3d2908}.opening-final .opening-content>span{color:#ffdc82}.opening-final .opening-content>strong{color:#fff5d5}.opening-final .opening-content>p{color:#e6d5b0}.opening-final .opening-counter{-webkit-text-stroke-color:#d4ac5f55;font-size:clamp(100px,17vw,280px);letter-spacing:-10px}.opening-first .opening-content>span{color:var(--cyan)}
@media(max-height:800px) and (min-width:721px){.opening-content>img{max-height:85px;margin-bottom:22px}.opening-content>h2{font-size:95px;margin:16px 0 12px}.opening-final .opening-content>h2{font-size:78px}.opening-content>strong{font-size:21px}.opening-content>p{margin-top:22px}.opening-counter{font-size:250px}}
@media(max-width:720px){.opening-content>img{width:65%;margin-bottom:27px}.opening-content>span{font-size:8px;letter-spacing:1px}.opening-content>h2{font-size:49px;letter-spacing:-2px}.opening-content>strong{font-size:17px;line-height:1.6}.opening-content>p{font-size:8px;letter-spacing:.7px;line-height:1.8}.opening-final .opening-content>h2{font-size:37px;letter-spacing:-2px}.opening-counter{font-size:160px;letter-spacing:-10px}.opening-final .opening-counter{font-size:95px;letter-spacing:-6px}.opening-art{width:100%;opacity:.3}}
