/* Reference layout: small connected progress nodes above the board; existing shop below. */
body.playing #stage-dots{display:flex;gap:12px;align-items:flex-start;min-height:40px;padding:0 12px}
body.playing #stage-dots .stage-node{position:relative;width:34px;height:36px;background:none;border:0;box-shadow:none;border-radius:0;color:#9dabb9;display:flex;align-items:center;flex-direction:column;gap:2px}
body.playing #stage-dots .stage-node:not(:last-child)::after{content:'';position:absolute;left:29px;top:11px;width:20px;height:3px;background:#62758b;border-bottom:1px solid #102030}
body.playing #stage-dots .stage-node i{font:700 12px/23px system-ui;font-style:normal;width:24px;height:24px;text-align:center;border:1px solid #96a6bb;border-radius:50%;background:linear-gradient(#34465e,#18253b);box-shadow:0 2px 2px #0007;z-index:1}
body.playing #stage-dots .stage-node small{font-size:8px;white-space:nowrap;text-shadow:0 1px 3px #000}
body.playing #stage-dots .stage-node.gym i,body.playing #stage-dots .stage-node.worlds i{border-radius:5px;border-color:#d7b764;color:#f5d78d}
body.playing #stage-dots .stage-node.active i{background:linear-gradient(#f7df96,#ae7c2b);color:#182237;border:2px solid #fff0bc;box-shadow:0 0 0 2px #202b44,0 0 10px #ffe39c55;transform:scale(1.12)}
body.playing #stage-dots .stage-node.active small{color:#fff2c4;font-weight:800}
body.playing #stage-dots .stage-node.cleared{color:#b4e8c8}
body.playing #stage-dots .stage-node.cleared i{border-color:#9ccd9d;background:#2a5348}
body.playing #hud-clock{top:103px}
body.playing #hud-round{max-width:calc(100vw - 560px)}
body.playing #journey-btn{color:#ffe5a5;border-color:#bca46199;padding:7px}
body.playing .shop-card{transition:border-color .15s,box-shadow .15s,transform .15s}
body.playing .shop-card:hover:not(.sold){transform:translateY(-2px);box-shadow:0 0 0 1px var(--tier),0 3px 10px #0008}
#journey-overlay{z-index:125;background:#051020bb;backdrop-filter:blur(5px)}
.journey-panel{position:relative;width:min(880px,94vw);max-height:90vh;overflow:auto;padding:25px;border:2px solid #93a6b9;border-radius:14px;background:linear-gradient(#26344e,#121e31);color:#f4f0de;box-shadow:0 20px 70px #0009}
.journey-panel>small{font-size:10px;letter-spacing:2px;color:#acc9d8}.journey-panel h2{font-size:26px;margin:4px 0 8px}.journey-sub{font-size:13px;color:#c7d6e1;margin:8px 0 14px}.journey-sub strong{color:#ffe3a0}
.gym-badge-list{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:20px}.gym-badge{display:flex;flex-direction:column;text-align:center;border-bottom:2px solid #536073;padding:6px 2px;opacity:.45;background:#121c2d66}.gym-badge b{font-size:11px}.gym-badge small{font-size:8px;color:#bdcadd}.gym-badge.earned{opacity:1;border-color:#e5c878;background:linear-gradient(#5a4c2b77,#202e4266)}
.worlds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.world-card{padding:15px;background:linear-gradient(#22314c,#172438);border:1px solid #596b84;border-radius:9px}.world-card.unlocked{border-color:#d5b365;box-shadow:inset 0 1px #fbe7ae40}.world-card>small{color:#b7c7d8;font-size:10px}.world-card h3{font-size:18px;color:#f7dfa4;margin:5px 0 8px}.world-card p{font-size:11px;margin:6px 0;color:#c0d3de}.journey-panel button:not(.modal-close){padding:8px 14px;background:linear-gradient(#456f9c,#254d72);border:1px solid #87a4bd;border-radius:6px;color:#fff3ce;cursor:pointer;font-weight:700;font-size:12px}.journey-panel button:disabled{cursor:default;opacity:.4}.world-card button{margin-top:8px;width:100%}
.red-gate{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px 0 0;margin-top:18px;border-top:1px solid #8495ac66}.red-gate strong{font-size:15px;color:#ffb7b7}.red-gate span{font-size:11px;color:#bfcedd}.journey-note{font-size:10px;line-height:1.7;color:#a7bbc9;margin:14px 0 0}.tournament-status{border:1px solid #bea16c;padding:12px;margin-top:12px;border-radius:6px;font-size:12px}.tournament-status p{font-size:11px}.tournament-status .cleared{color:#9edeb7}.tournament-status .current{color:#ffe3a0;font-weight:900}
@media(max-width:1400px){body.playing #stage-dots{gap:8px}body.playing #stage-dots .stage-node{width:30px}body.playing #stage-dots .stage-node:not(:last-child)::after{left:26px;width:15px}body.playing #hud-round{max-width:calc(100vw - 540px)}}
@media(max-height:800px){.journey-panel{padding:18px}.world-card{padding:10px}.gym-badge-list{margin-bottom:12px}.journey-panel h2{font-size:22px}}
@media(max-width:850px){body.playing #hud-round{max-width:54vw}.worlds-grid{grid-template-columns:1fr}.gym-badge-list{grid-template-columns:repeat(4,1fr)}.red-gate{flex-wrap:wrap}}

body.playing .arena-toast{top:22%;max-width:430px;font-size:12px}
.bracket-detail{margin-top:14px;border-top:1px solid #74859455;padding-top:10px;font-size:12px}.bracket-detail summary{cursor:pointer;color:#f1d595}.bracket-detail p{font-size:10px;color:#b9c7d2}.bracket-detail section{padding:8px;border:1px solid #71829644;margin-top:7px;border-radius:5px}.bracket-match{display:grid;grid-template-columns:1fr 24px 1fr 1fr;gap:6px;font-size:11px;padding:5px}.bracket-match em{font-style:normal;color:#9ed4b6}.player-match{background:#52634944;border-radius:4px;color:#ffe1a2}
