/* Figma 2001:6 overlays, authored at 1920 x 1080. Live portraits, jump cues and operator branding remain dynamic. */
:root { --wall-outline:#000c1a; }
.wall .title,.wall[data-intro="true"] .title { top:8.43%; width:37.34%; }
.wall[data-player-game="true"] .title,.wall[data-mode="lobby"] .title { top:3.43%; left:2.03%; width:16.3%; transform:none; }
.wall[data-intro="true"] .title { left:50%; transform:translateX(-50%); }
.wall .top-bar { top:3.796%; left:1.042%; }
.qr-card { padding:calc(15 * var(--wu)); border:0; border-radius:calc(20.6 * var(--wu)); background:#0126af; box-shadow:none; }
.qr-box { width:calc(272 * var(--wu)); height:calc(272 * var(--wu)); padding:calc(15 * var(--wu)); border:calc(4.12 * var(--wu)) solid #0090ff; border-radius:calc(9.6 * var(--wu)); background:white; }
.qr-box img { width:100%; height:100%; object-fit:contain; }
.wall .intro-invite { bottom:7.4%; width:94%; }
.intro-invite p { font:calc(50 * var(--wu))/1.3 var(--ui-font); color:#fff; -webkit-text-stroke:calc(7 * var(--wu)) #00272d; paint-order:stroke fill; text-shadow:0 calc(3 * var(--wu)) #00272d; }
.wall .bottom { display:flex; flex-direction:column; left:10.3125%; right:10.26%; bottom:2.778%; gap:calc(20 * var(--wu)); }
.wall[data-mode="result"][data-player-game="true"] > :is(.bottom,.top-stats,.title,.top-bar) { display:none!important; }
.progress { padding:0 calc(28 * var(--wu)) 0 0; height:calc(65 * var(--wu)); }
.progress-track { height:calc(44 * var(--wu)); margin-top:calc(17 * var(--wu)); border:0; border-radius:0; background:url('/shared/ui/wall/progress-colors.svg') center/98.5% 68% no-repeat,url('/shared/ui/wall/progress-shell.svg') center/100% 100% no-repeat; box-shadow:none; overflow:visible; }
.progress-fill { opacity:0; }
.progress-track::after,.duel-progress-flag { content:''; position:absolute; right:calc(-8 * var(--wu)); top:calc(-18 * var(--wu)); bottom:auto; width:calc(45 * var(--wu)); height:calc(55 * var(--wu)); background:url('/shared/ui/finish-flag.svg') center/contain no-repeat; filter:drop-shadow(2px 0 white) drop-shadow(-2px 0 white) drop-shadow(0 2px white) drop-shadow(0 -2px white); }
.progress-track .tick { display:none; }
.progress-pin { width:calc(64 * var(--wu)); height:calc(64 * var(--wu)); border:calc(4 * var(--wu)) solid white; outline:calc(2 * var(--wu)) solid #1f5eb9; }
.board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:calc(100% - 28 * var(--wu)); height:calc(180 * var(--wu)); gap:0; padding:0; border:calc(4.096 * var(--wu)) solid #000c1a; border-radius:calc(51 * var(--wu)); background:linear-gradient(100deg,#001351d9,#0053c7d9); box-shadow:none; }
.board > div,.board > div:last-child { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:calc(5 * var(--wu)); min-width:0; min-height:0; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.board > div + div { border:0; position:relative; }
.board > div + div::before { content:''; position:absolute; left:0; top:calc(10 * var(--wu)); bottom:calc(10 * var(--wu)); width:calc(3 * var(--wu)); background:#3f7fb9; }
.board .label { font:calc(35 * var(--wu))/1.2 var(--ui-font); color:#fff; gap:calc(10 * var(--wu)); -webkit-text-stroke:calc(4 * var(--wu)) var(--wall-outline); paint-order:stroke fill; }
.board .label img { width:calc(42 * var(--wu)); height:calc(42 * var(--wu)); }
.board b,.board > div:nth-child(2) b,.board b.gold { font:calc(75 * var(--wu))/1.15 var(--ui-font); color:#ffe51c!important; -webkit-text-stroke:calc(9 * var(--wu)) var(--wall-outline); paint-order:stroke fill; text-shadow:0 calc(4 * var(--wu)) #000c1a; }
.board > div:nth-child(2) b,.board .label.gold { color:#fff!important; }
.board small { display:none; }
.countdown,.countdown.go { top:45.14%; width:calc(1100 * var(--wu)); max-width:80%; height:calc(303 * var(--wu)); }
.verdict { top:26.4%; width:calc(900 * var(--wu)); height:calc(230 * var(--wu)); max-width:85%; }
.verdict.clip { top:24.77%; width:calc(673 * var(--wu)); height:calc(195 * var(--wu)); }
.verdict.fall { top:25.44%; width:calc(476 * var(--wu)); height:calc(252 * var(--wu)); }
.finish-overlay { --result-fill:#c7e407; --result-header:url('/shared/ui/wall/result-header.svg'); --result-medal:url('/shared/ui/wall/result-medal.svg'); --result-value:#ffe51c; }
.finish-cut { top:37.78%; left:50%; width:calc(1184 * var(--wu)); height:calc(284 * var(--wu)); max-width:90%; transform:translateX(-50%); }
.finish-report,.wall .result { left:9.09%; right:9.09%; bottom:3.704%; filter:none; text-align:center; }
.wall .result { --result-fill:#c7e407; --result-header:url('/shared/ui/wall/result-header.svg'); --result-medal:url('/shared/ui/wall/result-medal.svg'); --result-value:#ffe51c; display:flex; flex-direction:column; gap:0; }
.finish-report header,.result-header { position:relative; height:calc(107 * var(--wu)); gap:calc(15 * var(--wu)); padding:0 calc(45 * var(--wu)); border:0; background:var(--result-header) center/100% 100% no-repeat; clip-path:none; color:#fff; overflow:hidden; }
.finish-report header,.result-header { isolation:isolate; }
.finish-report header::before,.result-header::before { content:''; position:absolute; inset:0 auto 0 0; width:66.9%; background:url('/shared/ui/wall/header-pattern.png') left top/100% 100% no-repeat; opacity:.6; mix-blend-mode:hard-light; pointer-events:none; }
.finish-report header > *,.result-header > * { position:relative; }
.finish-report header i,.result-header i { display:block; flex:none; width:calc(60 * var(--wu)); height:calc(60 * var(--wu)); transform:none; background:var(--result-medal) center/contain no-repeat; }
.finish-outcome,.result-header > span:first-of-type { font:calc(58.4 * var(--wu))/1.1 var(--ui-font); color:#fff; letter-spacing:0; -webkit-text-stroke:calc(6 * var(--wu)) #00272d; paint-order:stroke fill; text-shadow:0 calc(3 * var(--wu)) #00272d; }
.finish-records,.wall .result-counts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; overflow:hidden; border-radius:0 0 calc(30 * var(--wu)) calc(30 * var(--wu)); box-shadow:0 calc(6 * var(--wu)) #0003; }
.finish-records article,.wall .result-counts article { height:calc(227 * var(--wu)); min-height:0; justify-content:center; align-items:center; gap:calc(8 * var(--wu)); padding:calc(12 * var(--wu)) calc(8 * var(--wu)); background:var(--result-fill); color:white; border:0; border-radius:0; border-top:calc(6 * var(--wu)) solid #fff8; }
.finish-records article:first-child { background:var(--result-fill); color:white; border-color:#fff8; }
.finish-records article + article,.wall .result-counts article + article { border-left:calc(3 * var(--wu)) solid #0002; }
.finish-records article:last-child,.wall .result-counts article:last-child { background:#eaeaea; }
.finish-records small,.wall .result-counts small { font:calc(40 * var(--wu))/1.2 var(--ui-font); color:white; -webkit-text-stroke:calc(5 * var(--wu)) var(--wall-outline); paint-order:stroke fill; white-space:nowrap; }
.finish-records b,.wall .result-counts b { margin:0; font:calc(110 * var(--wu))/1.1 var(--ui-font); color:var(--result-value); -webkit-text-stroke:calc(10 * var(--wu)) var(--wall-outline); paint-order:stroke fill; }
.finish-records article:last-child b,.wall .result-counts article:last-child b { color:white; }
.finish-overlay[data-outcome="lose"] { --result-fill:#c9d0dc; --result-header:url('/shared/ui/wall/defeat-header.svg'); --result-medal:url('/shared/ui/wall/defeat-medal.svg'); --result-value:#fff; }
.finish-overlay[data-outcome="draw"] { --result-fill:#c2d8c8; --result-header:url('/shared/ui/wall/draw-header.svg'); --result-medal:url('/shared/ui/wall/draw-medal.svg'); }
.finish-overlay:is([data-outcome="lose"],[data-outcome="draw"]) .finish-records article:not(:last-child) { background:var(--result-fill); }
.wall .result[data-outcome="timeout"] { --result-fill:#ffaa9e; --result-header:url('/shared/ui/wall/timeout-header.svg'); --result-medal:url('/shared/ui/wall/timeout-icon.svg'); --result-value:#fff; }
.wall .result[data-outcome="timeout"] .result-header { background:var(--result-header) center/100% 100% no-repeat; color:#fff; }
.wall .result[data-outcome="timeout"] article:not(:last-child) { background:var(--result-fill); }
#result-best { font-size:calc(25 * var(--wu)); }
.duel-player { border:0; }
.duel-overlay::after { content:''; position:absolute; left:50%; top:0; bottom:0; width:calc(10 * var(--wu)); transform:translateX(-50%); background:white; }
.duel-overlay[data-stage="podium"]::after { display:none; }
.duel-tag,.duel-player[data-cinematic="true"] > .duel-tag { top:2.778%; left:3.125%; width:max-content; min-width:calc(270 * var(--wu)); height:calc(88 * var(--wu)); padding:0 .5em; box-sizing:border-box; white-space:nowrap; display:flex; align-items:center; justify-content:center; font:calc(48 * var(--wu))/1 var(--ui-heading); border:calc(5 * var(--wu)) solid #0b1f4d; border-radius:calc(32 * var(--wu)); color:white; background:linear-gradient(#86bbff 0 7%,#2f7bff 7% 91%,#1648c4 91%); box-shadow:none; -webkit-text-stroke:calc(7 * var(--wu)) #0b1f4d; paint-order:stroke fill; }
.duel-player-2 .duel-tag,.duel-player-2[data-cinematic="true"] > .duel-tag { background:linear-gradient(#ffc08a 0 7%,#ff8a3d 7%); border-color:#6b2400; color:white; box-shadow:none; -webkit-text-stroke-color:#6b2400; }
.duel-message { top:29.9%; height:24.2%; font-size:calc(48 * var(--wu)); }
.duel-message[data-art]:not([data-art=""]) { top:28%; height:28%; }
.duel-player progress { bottom:21.67%; left:4.167%; width:89.06%; height:calc(44 * var(--wu)); border:0; border-radius:0; background:url('/shared/ui/wall/progress-colors.svg') center/98.5% 68% no-repeat,url('/shared/ui/wall/progress-shell.svg') center/100% 100% no-repeat; overflow:visible; }
.duel-player progress::-webkit-progress-bar,.duel-player progress::-webkit-progress-value { background:transparent; box-shadow:none; }
.duel-player progress::-moz-progress-bar { background:transparent; }
.duel-progress-flag { left:92.4%; right:auto; top:auto; bottom:23%; }
.duel-progress-pin { bottom:calc(21.67% - 10 * var(--wu)); border:calc(4 * var(--wu)) solid white; outline:calc(2 * var(--wu)) solid #1f5eb9; }
.duel-progress-pin[data-player="1"] { --pin-color:#1769e8; }
.duel-progress-pin[data-player="2"] { --pin-color:#ed7525; }
.duel-progress-pin[data-player] { outline-color:var(--pin-color); border-color:var(--pin-color); z-index:2; }
.duel-progress-pin[data-player]::after { content:attr(data-player); position:absolute; right:0; bottom:0; min-width:42%; padding:1px; border-radius:5px 0 0; background:var(--pin-color); color:white; font:bold clamp(9px,14 * var(--wu),18px)/1 Arial,sans-serif; text-align:center; }
.duel-progress-pin[data-player] { transition:transform .15s linear; }
/* Lift the local pin and its jump cue; the peer stays on the bar above the HUD. */
.duel-progress-pin[data-near="true"] { transform:translate(-50%,calc(-100% - 5px)); }
.duel-stats,.duel-setup { bottom:2.778%; left:4.167%; right:4.6875%; height:calc(176 * var(--wu)); gap:0; border:calc(4 * var(--wu)) solid #000c1a; border-radius:calc(50 * var(--wu)); background:linear-gradient(100deg,#001351d9,#0053c7d9); box-shadow:none; padding:calc(14 * var(--wu)) 0; }
.duel-stats span,.duel-setup span { min-width:0; gap:calc(6 * var(--wu)); }
.duel-stats span+span,.duel-setup span+span { border:0; border-left:calc(3 * var(--wu)) solid #3f7fb9; }
.duel-setup span+span:last-child { border-left:calc(3 * var(--wu)) solid #3f7fb9; }
.duel-player[data-ready="true"] .duel-setup { border-color:#000c1a; }
.duel-stats small,.duel-setup small { font:calc(32 * var(--wu))/1.3 var(--ui-font); color:white; -webkit-text-stroke:calc(4 * var(--wu)) #000c1a; paint-order:stroke fill; }
.duel-stats .ui-icon { width:calc(42 * var(--wu)); height:calc(42 * var(--wu)); }
.duel-stats b,.duel-setup b { font:calc(52 * var(--wu))/1.25 var(--ui-font); color:#ffe51c; -webkit-text-stroke:calc(6 * var(--wu)) #000c1a; paint-order:stroke fill; }
.duel-stats .duel-left { color:white; }
.duel-player .duel-setup .setup-ready { font-size:calc(38 * var(--wu)); color:white; padding:calc(8 * var(--wu)) calc(18 * var(--wu)); border:calc(4 * var(--wu)) solid #000c1a; border-radius:99px; background:#fb0; -webkit-text-stroke-width:calc(4 * var(--wu)); }
.duel-player .duel-setup .setup-ready[data-ready="true"] { background:#4aa82c; }
.duel-player[data-preview="true"] .duel-message { display:none; }
.duel-player[data-cinematic="true"] > .duel-progress-flag { display:none; }
.duel-player .finish-report { left:4.167%; right:4.167%; bottom:2.778%; }
.duel-player .finish-report header { height:calc(60 * var(--wu)); padding:0 calc(25 * var(--wu)); gap:calc(8 * var(--wu)); }
.duel-player .finish-report header i { width:calc(34 * var(--wu)); height:calc(34 * var(--wu)); }
.duel-player .finish-outcome { font-size:calc(32.7 * var(--wu)); -webkit-text-stroke-width:calc(4 * var(--wu)); }
.duel-player .finish-records { gap:0; margin:0; border-radius:0 0 calc(20 * var(--wu)) calc(20 * var(--wu)); }
.duel-player .finish-records article { height:calc(140 * var(--wu)); min-height:0; padding:calc(8 * var(--wu)); gap:calc(8 * var(--wu)); border-radius:0; }
.duel-player .finish-records small { font-size:calc(32 * var(--wu)); -webkit-text-stroke-width:calc(3 * var(--wu)); }
.duel-player .finish-records b { font-size:calc(52 * var(--wu)); -webkit-text-stroke-width:calc(6 * var(--wu)); }
.duel-disconnect { position:absolute; left:50%; top:29.9%; transform:translateX(-50%); width:60.2%; height:24.21%; background:url('/shared/ui/wall/disconnect-panel.svg') center/100% 100% no-repeat; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:calc(10 * var(--wu)); color:#583214; }
.duel-disconnect[hidden] { display:none; }
.duel-disconnect img { width:calc(58 * var(--wu)); height:calc(58 * var(--wu)); }
.duel-disconnect strong { font:calc(46 * var(--wu))/1.2 var(--ui-font); }
.duel-disconnect span { font:calc(34 * var(--wu))/1.2 var(--ui-font); color:#92817a; }
.duel-player[data-disconnected="true"] .duel-message { display:none; }
.duel-player[data-disconnected="true"] progress,.duel-progress-pin[data-disconnected="true"] { filter:grayscale(1); opacity:.6; }
.duel-player[data-disconnected="true"] .duel-stats > span { opacity:.55; }
.duel-podium h2 { position:absolute; top:calc(85 * var(--wu)); left:0; right:0; margin:0; font:calc(140 * var(--wu))/1 var(--ui-heading); color:#ffd43b; -webkit-text-stroke:calc(22.90909 * var(--wu)) #0b1f4d; paint-order:stroke fill; text-shadow:0 calc(10.181818 * var(--wu)) #0b1f4d; }
.podium-results { left:calc(50% + .5 * var(--wu)); right:auto; transform:translateX(-50%); width:calc(821 * var(--wu)); max-width:94%; bottom:calc(135.701172 * var(--wu)); display:flex; gap:calc(30 * var(--wu)); }
/* Figma cards have an OUTSIDE 8px stroke: do not subtract it from their content box. */
.podium-results article { isolation:isolate; flex:399 1 0; width:auto; min-width:0; height:calc(190 * var(--wu)); justify-content:flex-start; gap:calc(18 * var(--wu)); padding:calc(40 * var(--wu)) 0 0; border:0; border-radius:calc(30 * var(--wu)); background:#fffcec; }
.podium-results article + article { flex-grow:392; }
.podium-results article::before { content:''; position:absolute; inset:calc(-8 * var(--wu)); z-index:-1; border:calc(8 * var(--wu)) solid transparent; border-radius:calc(38 * var(--wu)); background:linear-gradient(#fffcec,#fffcec) padding-box,linear-gradient(#0b1f4d,#0b1f4d) border-box; pointer-events:none; }
.podium-results article[data-outcome="win"]::before { background:linear-gradient(#fffcec,#fffcec) padding-box,linear-gradient(90deg,#0bff38,#00fff2 50%,#ee2fff) border-box; }
.podium-results b { display:flex; align-items:center; flex:none; gap:calc(12 * var(--wu)); font:calc(70 * var(--wu))/1 var(--ui-heading); color:white; -webkit-text-stroke:calc(12 * var(--wu)) #0b1f4d; paint-order:stroke fill; text-shadow:0 calc(5 * var(--wu)) #0b1f4d; }
.podium-results article[data-outcome="win"] b { color:#ffd43b; }
.podium-results article[data-outcome="win"] b::before { content:''; flex:none; width:calc(56 * var(--wu)); height:calc(54 * var(--wu)); margin:calc(-2 * var(--wu)); background:url('/shared/ui/wall/trophy.svg') center/contain no-repeat; }
.podium-results span { font:calc(38 * var(--wu))/1.289473684 var(--ui-font); letter-spacing:-.03em; color:#583214; }
.podium-results small { position:absolute; top:calc(-37.298828 * var(--wu)); left:calc(50% + .434471 * var(--wu)); transform:translateX(-50%); display:flex; align-items:center; justify-content:center; width:calc(178.868942 * var(--wu)); height:calc(58.298027 * var(--wu)); color:white; font:calc(31.798923 * var(--wu))/1.006323388 var(--ui-heading); border:0; outline:calc(3.312388 * var(--wu)) solid #0b1f4d; border-radius:calc(21.199282 * var(--wu)); background:#1648c4; overflow:hidden; -webkit-text-stroke:calc(3.974865 * var(--wu)) #0b1f4d; paint-order:stroke fill; padding:calc(6.624775 * var(--wu)) 0 calc(7.287253 * var(--wu)); }
.podium-results small::before,.podium-results small::after { content:''; position:absolute; left:0; right:0; border-radius:inherit; pointer-events:none; }
.podium-results small::before { top:0; bottom:calc(7.29 * var(--wu)); background:#86bbff; }
.podium-results small::after { top:calc(3.98 * var(--wu)); bottom:calc(-1.33 * var(--wu)); background:#2f7bff; }
.podium-results .podium-player { position:relative; z-index:1; font:inherit; }
.podium-results article:first-child small { left:calc(50% - .065529 * var(--wu)); }
.podium-results article small[data-player="2"] { background:#ff8a3d; outline-color:#6b2400; -webkit-text-stroke-color:#6b2400; }
.podium-results small[data-player="2"]::before { background:#ffc08a; }
.podium-results small[data-player="2"]::after { background:#ff8a3d; }
.duel-podium > p { bottom:calc(40 * var(--wu)); font:calc(30 * var(--wu))/1.3 var(--ui-font); letter-spacing:-.03em; }
/* Figma text fills are separate from the existing outline and offset shadow. */
.wall { --ink-white:linear-gradient(#fff 28.929%,#ddd 75.357%); --ink-silver:linear-gradient(#fff 51.432%,#c8c8c8 69.388%); --ink-yellow:linear-gradient(#fff331 32.653%,#fb0 68.367%); --ink-gold:linear-gradient(#fff7b8,#ffd43b 50%,#ff9c2a); --ink-gradient:var(--ink-white); }
[data-wall-ink] { position:relative; }
.wall-ink-label,.podium-title,.board b > em { display:inline-block; font:inherit; }
[data-wall-ink]::after { content:attr(data-wall-ink) / ""; position:absolute; inset:0; background:var(--ink-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; -webkit-text-stroke:0; text-shadow:none; pointer-events:none; white-space:inherit; }
.board b,.duel-stats b,.duel-setup b,.finish-records b,.result-counts b { --ink-gradient:var(--ink-yellow); }
.board > div:nth-child(2) b,.duel-stats .duel-left,.finish-records article:last-child b,.result-counts article:last-child b,.finish-overlay[data-outcome="lose"] .finish-records b,.result[data-outcome="timeout"] .result-counts b { --ink-gradient:var(--ink-silver); }
.duel-podium h2,.podium-results article[data-outcome="win"] b { --ink-gradient:var(--ink-gold); }
.podium-results b { --ink-gradient:linear-gradient(#fff,#c9d6f5); }
.podium-results small { text-shadow:0 calc(2 * var(--wu)) #0b1f4d; }
.podium-results small[data-player="2"] { text-shadow:0 calc(2 * var(--wu)) #6b2400; }
.duel-podium > p { text-shadow:calc(1 * var(--wu)) calc(1 * var(--wu)) calc(3.7 * var(--wu)) #0009; }
@media(orientation:portrait) {
 .audio-unlock { min-height:40px; padding:6px 12px; font-size:14px; }
 .wall .title,.wall[data-intro="true"] .title { width:76%; top:24%; }
 .wall[data-player-game="true"] .title,.wall[data-mode="lobby"] .title { top:3%; left:3%; width:35%; }
 .wall .top-bar { top:3%; left:5%; }.qr-box { width:24vw; height:24vw; }
 .wall .intro-invite { bottom:12%; }.intro-invite p { font-size:4.4vw; white-space:nowrap; -webkit-text-stroke-width:.6vw; }
 .wall .bottom { left:4%; right:4%; bottom:max(4%,60px); gap:3vw; }.board { height:20vw; }.board .label { font-size:3.4vw; gap:1vw; }.board .label img { width:4vw; height:4vw; }.board b,.board > div:nth-child(2) b,.board b.gold { font-size:6.5vw; }
 .wall .result,.finish-report { left:4%; right:4%; bottom:5%; }.finish-report header,.result-header { height:12vw; }.finish-outcome,.result-header > span:first-of-type { font-size:5.5vw; }.finish-records article,.wall .result-counts article { height:25vw; }.finish-records small,.wall .result-counts small { font-size:3.4vw; }.finish-records b,.wall .result-counts b { font-size:8vw; }
 .countdown,.countdown.go { width:88%; height:22%; }
 .duel-overlay { --wu:.052083333vw; }.duel-message { top:25%; height:25%; }.duel-overlay::after { left:0; right:0; top:50%; bottom:auto; width:100%; height:5px; transform:translateY(-50%); }
 .duel-player-1 .duel-tag { top:calc(3% + 55px); }
 .duel-player .finish-report header { height:clamp(32px,6.8vw,76px); padding:0 3vw; gap:1.8vw; }
 .duel-player .finish-report header i { width:clamp(20px,4vw,44px); height:clamp(20px,4vw,44px); }
 .duel-player .finish-outcome { font-size:clamp(18px,3.6vw,40px); }
 .duel-player .finish-records article { height:clamp(76px,16vw,180px); gap:1.2vw; padding:1.8vw 1vw; }
 .duel-player .finish-records small { font-size:clamp(12px,2.6vw,28px); }
 .duel-player .finish-records b { font-size:clamp(24px,5vw,54px); }
 .duel-player-2 :is(.duel-stats,.duel-setup,.finish-report) { bottom:60px; }
 .duel-player-2 progress { bottom:calc(21.67% + 47px); }
 .duel-player-2 .duel-progress-pin { bottom:calc(21.67% + 47px - 10 * var(--wu)); }
 .duel-player-2 .duel-progress-flag { bottom:calc(23% + 47px); }
 .duel-podium { --wu:.08333333vw; }.duel-podium h2 { top:12%; }.podium-results { bottom:14%; }.duel-podium>p { bottom:8%; }
}
/* Keep Incheon publisher branding prominent throughout the game and finish film. */
.wall-brand-logo { display:none; }
html[data-edition="incheon"] {
 --wall-brand-width:clamp(220px,24vw,360px);
 /* SVG 582:146, horizontal padding 32px, vertical padding 20px, bottom/gap 12px each. */
 --wall-brand-clearance:calc((var(--wall-brand-width) - 32px) * 146 / 582 + 44px);
}
html[data-edition="incheon"] .wall-brand-logo {
 display:block; position:fixed; right:16px; bottom:12px;
 width:var(--wall-brand-width); height:auto;
 padding:10px 16px; border-radius:12px; background:#fffffff7;
 box-shadow:0 4px 18px #0b1f4d30; z-index:60; pointer-events:none;
}
/* Reserve the bottom-right branding footprint without covering records. */
html:is([data-edition="gangneung"],[data-edition="incheon"]) .wall .result,
html:is([data-edition="gangneung"],[data-edition="incheon"]) .wall > .finish-overlay .finish-report { bottom:max(5%,var(--wall-brand-clearance,56px)); }
html[data-edition="incheon"] .wall .intro-invite { bottom:max(12%,var(--wall-brand-clearance)); }
html[data-edition="incheon"] .duel-podium > p { bottom:max(8%,var(--wall-brand-clearance)); }
html[data-edition="incheon"] .podium-results { bottom:max(14%,calc(var(--wall-brand-clearance) + 64 * var(--wu))); }
@media (orientation:landscape) {
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .wall .bottom,
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-stats,
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-setup,
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-player .finish-report { bottom:max(2.778%,var(--wall-brand-clearance,56px)); }
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-player progress { bottom:calc(21.67% + max(0px,var(--wall-brand-clearance,56px) - 2.778%)); }
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-progress-pin { bottom:calc(21.67% - 10 * var(--wu) + max(0px,var(--wall-brand-clearance,56px) - 2.778%)); }
 html:is([data-edition="gangneung"],[data-edition="incheon"]) .duel-progress-flag { bottom:calc(23% + max(0px,var(--wall-brand-clearance,56px) - 2.778%)); }
}
@media (orientation:portrait) {
 html[data-edition="incheon"] { --wall-brand-width:clamp(220px,44vw,320px); }
 html[data-edition="incheon"] .wall .bottom { bottom:max(4%,var(--wall-brand-clearance)); }
 html[data-edition="incheon"] .duel-player-2 :is(.duel-stats,.duel-setup,.finish-report) { bottom:var(--wall-brand-clearance); }
 html[data-edition="incheon"] .duel-player-2 progress { bottom:calc(21.67% + max(0px,var(--wall-brand-clearance) - 2.778%)); }
 html[data-edition="incheon"] .duel-player-2 .duel-progress-pin { bottom:calc(21.67% - 10 * var(--wu) + max(0px,var(--wall-brand-clearance) - 2.778%)); }
 html[data-edition="incheon"] .duel-player-2 .duel-progress-flag { bottom:calc(23% + max(0px,var(--wall-brand-clearance) - 2.778%)); }
}
