.duel-exchange{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.duel-exchange-effects{position:absolute;inset:0;width:100%;height:100%;display:block}.duel-exchange[data-active=false] .duel-exchange-effects{visibility:hidden}.duel-exchange-status{position:absolute;top:85px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 9px;border:1px solid #d6e8dc48;border-radius:8px;background:#102c3ade;box-shadow:0 2px 7px #102b3720;color:#f2ead6;white-space:nowrap}.exchange-stage{font-size:9px;font-weight:800;letter-spacing:1px}.duel-exchange-status strong{min-width:17px;padding-left:8px;border-left:1px solid #d6e8dc40;font-size:13px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.duel-exchange-status .pressure-player{color:#ffcc6c}.duel-exchange-status .pressure-opponent{color:#84e6ff}.exchange-stage-cue{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);padding:4px 7px;border:1px solid #e7dbb96b;border-radius:6px;background:#fff3d7ed;color:#284351;font-size:8px;font-weight:850;letter-spacing:.3px}.round-ui:not(.mobile-ui) .duel-arena .hero-rig{height:77%;width:auto;left:5.5%}.round-ui:not(.mobile-ui) .duel-arena .opponent-rig{left:auto;right:5.5%}.mobile-ui .duel-exchange-status{top:71px;padding:3px 7px;gap:6px;border-radius:7px}.mobile-ui .exchange-stage{font-size:8px;letter-spacing:.6px}.mobile-ui .duel-exchange-status strong{font-size:12px;min-width:15px;padding-left:6px}.practice-start{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:12px 18px 70px;pointer-events:none}.practice-start .practice-play{pointer-events:auto;min-width:172px;height:60px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 30px;font-size:22px;border-radius:18px;color:#243844;box-shadow:0 4px #9c6a25,0 8px 32px #03151b66}.round-action{display:flex;flex-direction:column;align-items:center;gap:18px}.round-outcome{margin:0;color:#fff4dc;font-family:Russo One,sans-serif;font-size:clamp(24px,4vw,32px);font-weight:400;text-shadow:0 2px 3px #102c3a,0 4px 18px #071f2c}.round-action small{color:#fff4dc;max-width:260px;text-align:center}.practice-play:disabled{opacity:.65}@media(orientation:landscape)and (max-height:600px){.mobile-ui .practice-start{padding-bottom:55px}.mobile-ui .practice-play{height:52px;min-width:156px;font-size:20px}}@media(max-height:340px)and (orientation:landscape){.mobile-ui .duel-exchange-status{top:64px}}@media(orientation:portrait){.mobile-ui .duel-exchange-status{top:63px}}.round-ui .duel-clock{position:absolute;padding-top:7px;padding-bottom:5px}.duel-clock .song-counter{display:block;font-family:Golos Text,sans-serif;font-size:8px;font-weight:750;line-height:1.2;letter-spacing:1px;color:#bcd6d8;margin-top:2px}.exchange-score{display:flex;align-items:center;gap:5px}.exchange-score .score-separator{color:#c2d4d8;font-weight:500}.network-home{min-height:100dvh;display:grid;place-items:center;padding:22px;position:relative;isolation:isolate;background:#e9e4d6}.home-scenery{position:absolute;inset:0;z-index:-1;background:linear-gradient(#fff8e287,#efe9d2aa),url(/assets/arena-clean-v01.png) center/cover;filter:blur(3px)}.online-card{width:min(390px,90vw);max-height:calc(100dvh - 24px);overflow:auto;padding:27px;border:1px solid #fff8df;border-radius:20px;background:#fff9e9f5;box-shadow:0 16px 65px #11242e45;color:#19343e;text-align:center}.online-card h1{font-family:Russo One,sans-serif;font-weight:400;font-size:25px;line-height:1.25;margin:14px 0 10px}.online-card p{font-size:12px;line-height:1.65;color:#546c72;margin:10px 0 17px}.online-card button{display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;border-radius:10px;background:#ed9d35;color:#192f36;font-size:12px;font-weight:800;margin-top:9px;padding:10px 15px;cursor:pointer}.online-card button:disabled{opacity:.55;cursor:default}.online-card .secondary{background:#dfe8e6}.online-card .text-button{background:transparent;color:#52656b;font-size:11px}.online-card form{display:flex;gap:7px;margin-top:12px}.online-card input{min-width:0;width:58%;border:1px solid #b9ccc8;background:#fffdf5;border-radius:10px;padding:11px;color:#16383d;font-size:14px}.online-card form button{margin:0;width:42%}.home-card{padding:32px}.home-card .brand-word{font-size:29px}.online-eyebrow{font-size:9px;font-weight:800;letter-spacing:1px;color:#607b80}.online-overlay{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#1737445c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:8px}.online-ui .game-frame{position:relative}.lobby-players{display:flex;gap:8px;justify-content:center;font-size:11px;margin:14px 0}.lobby-players span{background:#e5eddf;border-radius:8px;padding:8px}.online-result{font-size:46px}.online-ui .topbar{gap:10px}.online-ui .topbar .brand-word{margin-right:auto}.online-back{border:0;background:transparent;color:#24434b;padding:5px}.room-link{display:flex;align-items:center;gap:5px;font-size:10px;border:1px solid #8fa4a6;background:#fffaeb;color:#264750;border-radius:7px;padding:5px 9px}.practice-exit{position:fixed;bottom:4px;left:8px;z-index:50;border:0;background:#fff8e3d9;color:#304a52;border-radius:6px;font-size:9px;padding:4px 8px}@media(max-height:500px)and (orientation:landscape){.online-card{padding:14px 24px;width:min(390px,90vw)}.online-card h1{font-size:20px;margin:6px 0}.online-card p{font-size:10px;margin:6px 0 10px}.online-card button{min-height:36px;padding:8px;font-size:11px;margin-top:6px}.online-card .lobby-players{margin:8px 0;font-size:10px}.home-card .brand-word{font-size:23px}.network-home{padding:10px}.online-result{font-size:30px}}html:not(.phone-game) body{min-width:0}.round-ui:not(.mobile-ui){--desktop-header: clamp(40px, 7dvh, 64px);--desktop-gutter: clamp(10px, 2vw, 32px);width:min(100%,1600px,calc(210dvh + 40px));height:100dvh;min-height:0;padding:0 var(--desktop-gutter) clamp(8px,2dvh,22px);display:grid;grid-template-rows:var(--desktop-header) minmax(0,1fr)}.round-ui:not(.mobile-ui) .topbar{height:auto;min-width:0;gap:12px}.round-ui:not(.mobile-ui) .game-frame{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,54fr) minmax(0,46fr)}.round-ui:not(.mobile-ui) .duel-arena{height:100%;min-height:0;max-height:none;aspect-ratio:auto;container-type:size}.round-ui:not(.mobile-ui) .duel-arena .hero-rig{--desktop-rig: min(82cqh, 32cqw, calc(100cqh - 64px) );width:var(--desktop-rig);height:var(--desktop-rig);left:calc(20% - var(--desktop-rig) * .35);bottom:2%}.round-ui:not(.mobile-ui) .duel-arena .opponent-rig{left:auto;right:calc(20% - var(--desktop-rig) * .35)}.round-ui:not(.mobile-ui) .player-chip{left:20%;transform:translate(-50%)}.round-ui:not(.mobile-ui) .bot-chip{left:auto;right:20%;transform:translate(50%)}.round-ui:not(.mobile-ui) .round-deck{height:100%;min-height:0;padding:clamp(4px,1dvh,9px) clamp(5px,1vw,12px) clamp(7px,1.5dvh,13px)}.round-ui:not(.mobile-ui) .track-canvas{min-height:0;height:100%}.round-ui:not(.mobile-ui) .online-card{max-height:100%}.round-ui:not(.mobile-ui) .error-banner{position:absolute;bottom:12px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);z-index:60}html:not(.phone-game) .practice-exit{top:calc((clamp(40px,7dvh,64px) - 32px)/2);bottom:auto;left:max(8px,calc((100vw - min(100vw,1600px,210dvh + 40px))/2 + clamp(10px,2vw,32px)));height:32px;width:32px;display:grid;place-items:center;padding:0;border:1px solid #c7d1c9;border-radius:9px}html:not(.phone-game) .practice-exit span{display:none}.round-ui:not(.mobile-ui):not(.online-ui) .brand{margin-left:44px}@media(max-width:800px){.round-ui:not(.mobile-ui) .game-frame{grid-template-rows:minmax(0,42fr) minmax(0,58fr)}}@media(max-height:600px){.round-ui:not(.mobile-ui) .game-frame{border-radius:11px}.round-ui:not(.mobile-ui) .brand-word{font-size:20px}.round-ui:not(.mobile-ui) .duel-clock{top:6px;min-width:92px;font-size:23px;padding:4px 10px}.round-ui:not(.mobile-ui) .player-chip{top:10px;height:23px;min-width:55px;font-size:9px;padding:0 8px}.round-ui:not(.mobile-ui) .duel-exchange-status{top:61px}.round-ui:not(.mobile-ui) .practice-start{padding:8px 12px 38px}.round-ui:not(.mobile-ui) .practice-play{height:44px;min-width:144px;font-size:18px;border-radius:12px}.round-ui:not(.mobile-ui) .round-action{gap:8px}.round-ui:not(.mobile-ui) .round-outcome{font-size:23px}.round-ui:not(.mobile-ui) .cannon-combo{padding:3px 7px;gap:5px}.round-ui:not(.mobile-ui) .cannon-combo strong{font-size:19px}}@media(max-width:480px){.round-ui:not(.mobile-ui) .player-chip{min-width:42px;height:20px;padding:0 6px;gap:4px;font-size:8px}.round-ui:not(.mobile-ui) .duel-clock{min-width:90px;font-size:23px}}.brand-logo{position:relative;display:block;width:208px;max-width:100%;aspect-ratio:4;overflow:hidden;flex-shrink:1}.brand-logo img{position:absolute;width:100%;height:auto;max-width:none;left:0;top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none}.home-card .brand-logo{width:326px;margin:0 auto 18px}.topbar .brand{display:block;min-width:0}.topbar .brand-logo{width:min(208px,calc((var(--desktop-header, 64px) - 6px) * 4))}.online-ui .topbar>.brand-logo{margin-right:auto}.mobile-ui .topbar .brand-logo{display:none}@media(max-height:500px)and (orientation:landscape){.home-card .brand-logo{width:230px;margin-bottom:8px}}
