/* Original League typefaces, restrained client chrome, clear interactive states. */
#menu .location-panel{padding:clamp(20px,2vw,32px)!important;border:1px solid #8d784d!important;border-radius:5px!important;background:linear-gradient(155deg,#0c2430fa,#04121efc 55%,#071b29fa)!important;box-shadow:0 16px 56px #0008,inset 0 1px #e6ca8940!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#415764 transparent}
#menu .location-panel:before{inset:0;border:0;border-radius:5px;background:linear-gradient(100deg,transparent,#e9cc83,transparent) top/100% 1px no-repeat}
#menu .location-panel:after{display:none}
#menu .location-panel h2{font:500 clamp(26px,2.15vw,36px)/1.15 Beaufort,serif!important;letter-spacing:.015em!important;text-transform:none!important;color:#f2e5c8;margin:0 0 20px!important}
#menu .lobby-kicker{font:600 10px/1.4 Spiegel,sans-serif;letter-spacing:2.1px;color:#91a9b4;margin:0 0 8px;display:block}
#menu .training-kind{padding:0;gap:0;border:0;border-bottom:1px solid #526b7a70;border-radius:0;margin-bottom:20px;background:#020d1666}
#menu .training-kind button{position:relative;font:600 14px/1 Spiegel,sans-serif;text-transform:none;letter-spacing:.2px;min-height:46px;border:0!important;border-bottom:2px solid transparent!important;border-radius:0;background:transparent!important;color:#9cb0bd;box-shadow:none!important}
#menu .training-kind button span{font:400 23px/0 Spiegel,sans-serif;vertical-align:-2px;padding-right:5px}
#menu .training-kind button.selected{background:linear-gradient(0deg,#0a64733d,transparent)!important;border-bottom-color:#3fd8e7!important;box-shadow:none!important;color:#e0fcff!important}
#menu .section-label{font:600 10px/1.4 Spiegel,sans-serif;letter-spacing:1.5px;color:#8ba4b4;margin:0 0 8px}
#menu .tier-picker{min-height:62px;flex-shrink:0;padding:0 17px;margin:0 0 18px;border:1px solid #576975;border-left:2px solid #b89e68;background:linear-gradient(90deg,#21354280,#081823);border-radius:3px}
#menu .tier-picker strong{font:500 26px/1 Beaufort,serif;text-transform:none;letter-spacing:.4px;color:#f0dcaf}
#menu .tier-picker .tier-rank{height:54px;width:58px}
#menu .pass-rules{margin:0 0 18px}
#menu .session-metrics{padding:14px 0;border:0;border-top:1px solid #34505f70;border-bottom:1px solid #34505f70;border-radius:0;background:#03101b44}
#menu .session-metrics b{font:600 30px/1.05 Spiegel,sans-serif;letter-spacing:-.9px;color:#e9f1f4;font-variant-numeric:tabular-nums}
#menu .session-metrics em{font:400 16px Spiegel,sans-serif;color:#91abbc;margin-left:2px}
#menu .session-metrics small{font:400 10px/1.4 Spiegel,sans-serif;text-transform:none;letter-spacing:.2px;color:#9eb1bc;margin-top:6px}
#menu .arena-picker{min-height:70px;margin:0 0 16px;gap:14px;border:1px solid #36505f;border-radius:3px;background:#081925;overflow:hidden}
#menu .arena-picker img{width:90px;height:70px;object-fit:cover;transition:filter .2s,transform .3s}
#menu .arena-picker span{font:500 clamp(17px,1.4vw,23px)/1.2 Beaufort,serif;color:#dde8ed}
#menu .arena-picker small{display:block;font:600 9px/1.5 Spiegel,sans-serif;letter-spacing:1.6px;color:#8ba4b4;margin-bottom:4px}
#menu .mode-brief{padding:16px 0;border-top:1px solid #35505e66;flex-shrink:0}
#menu .brief-eyebrow{font:600 9px/1.3 Spiegel,sans-serif;letter-spacing:1.6px;color:#8eb2c1}
#menu .mode-brief h3{font:500 21px/1.2 Beaufort,serif;color:#dce9ec;margin:7px 0}
#menu .mode-brief p{font:400 12px/1.6 Spiegel,sans-serif;color:#97adba;margin:0;max-width:360px}
#menu .mode-brief small{display:block;font:400 10px/1.5 Spiegel,sans-serif;color:#6f8c9e;margin-top:9px}
#menu .coop-coming{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;min-height:64px;flex-shrink:0;border:1px solid #30475477;background:#06131b66;border-radius:3px;opacity:1;cursor:not-allowed;box-shadow:none;margin:0 0 20px;text-align:left}
#menu .coop-coming .coop-icon{width:28px;color:#647e90}
.coop-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.4}
#menu .coop-coming strong{display:block;font:600 13px/1.4 Spiegel,sans-serif;color:#91a6b4}
#menu .coop-coming small{display:block;font:400 10px/1.4 Spiegel,sans-serif;color:#6c8699}
#menu .coop-coming>b{margin-left:auto;font:600 8px/1.3 Spiegel,sans-serif;letter-spacing:1px;color:#92a8b5;padding:5px 7px;border:1px solid #3b526266;border-radius:2px}
#menu .location-panel #startBtn{min-height:56px;flex-shrink:0;font:600 16px/1 Spiegel,sans-serif!important;letter-spacing:1.6px;text-shadow:0 1px 3px #0009;color:#ecfaff;border:1px solid #78d4e1;border-bottom:2px solid #d7ba77;background:linear-gradient(130deg,#15506c,#0a324c 55%,#104a67);box-shadow:inset 0 1px #b9f1ff38,0 5px 20px #0003;margin: auto 0 0!important;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);overflow:hidden}
#menu #startBtn span{font:400 23px Spiegel,sans-serif;right:18px;transition:transform .2s}
#menu #startBtn:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#9eeeff24 48%,transparent 65%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}
#menu #startBtn:hover:before{transform:translateX(120%)}
#menu #startBtn:hover span{transform:translate(2px,-2px)}
#menu button{transition:background .18s,border-color .18s,color .18s,box-shadow .18s,filter .18s,transform .18s}
#menu button:not(:disabled):hover{color:#e7fbff}
#menu .tier-picker:hover,#menu .arena-picker:hover{border-color:#60bdcc;box-shadow:inset 0 0 18px #3baac514,0 0 0 1px #60bdcc24;background-color:#132e3e}
#menu .arena-picker:hover img{filter:brightness(1.15);transform:scale(1.025)}
#menu .training-kind button:hover{background:#2c75832b!important;color:#ecfbff}
#menu .champion-button:hover img{filter:brightness(1.15);transform:translateY(-2px);transition:transform .18s,filter .18s}
#menu button:focus-visible,#modalCard button:focus-visible{outline:2px solid #76e4f3;outline-offset:3px;box-shadow:0 0 0 5px #24badc25!important}
#menu button:not(:disabled):active{transform:translateY(1px);filter:brightness(.9)}
.lobby-ready #menu:not([hidden]) .location-panel{animation:lobby-arrive .55s ease-out both}
.lobby-ready #menu:not([hidden]) .champion-panel{animation:lobby-arrive .65s .08s ease-out both}
@keyframes lobby-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* Logo-led startup: real download progress, then an honest preparation state. */
#boot{position:fixed;background:radial-gradient(ellipse at 50% 43%,#102635 0,#06121d 47%,#030b12 100%);z-index:100;opacity:1;transition:opacity .45s ease}
#boot .boot-mark{position:relative;width:146px;height:146px;display:grid;place-items:center}
#boot .boot-mark:before,#boot .boot-mark:after{content:'';position:absolute;inset:0;border:1px solid #b79b5d30;border-radius:50%}
#boot .boot-mark:after{border-color:#d4bb77 transparent transparent;animation:boot-orbit 3s linear infinite}
#boot .boot-mark img{width:88px;height:96px;filter:drop-shadow(0 0 20px #24bfd31a);animation:boot-breathe 2.8s ease-in-out infinite}
#boot h1{font:500 24px/1.2 Beaufort,serif;letter-spacing:4px;color:#e3c785;margin:25px 0 26px}
#boot #bootText{font:400 14px/1.5 Spiegel,sans-serif;color:#bacdd6;margin:0 20px 14px}
#boot .loading-track{width:min(280px,70vw);height:2px;background:#274150;margin:0 0 15px;overflow:hidden}
#bootProgress{background:linear-gradient(90deg,#bda363,#7fd7e6);box-shadow:0 0 9px #68cadc77;width:0;transition:width .2s linear}
#boot.preparing #bootProgress{width:45%!important;animation:boot-scan 1.7s ease-in-out infinite}
#boot #bootDetail{font:400 11px/1.5 Spiegel,sans-serif;letter-spacing:.2px;color:#688696;text-align:center;max-width:85vw}
#boot #retryBoot{margin-top:24px;background:#0e2634;border:1px solid #597e8e;color:#c5e7ef;padding:11px 22px;font:600 11px Spiegel,sans-serif;letter-spacing:1px}
#boot.leaving{opacity:0;pointer-events:none}
@keyframes boot-orbit{to{transform:rotate(360deg)}}
@keyframes boot-breathe{50%{opacity:.7;transform:scale(.97)}}
@keyframes boot-scan{0%{transform:translateX(-105%)}100%{transform:translateX(330%)}}
@media(min-width:901px) and (max-height:780px){
 #menu .location-panel{padding:16px 22px!important}#menu .location-panel h2{margin-bottom:13px!important;font-size:27px!important}
 #menu .training-kind{margin-bottom:14px}#menu .training-kind button{min-height:39px}
 #menu .tier-picker{min-height:52px;margin-bottom:12px}#menu .tier-picker .tier-rank{height:46px}
 #menu .session-metrics{padding:10px 0}#menu .pass-rules{margin-bottom:12px}
 #menu .arena-picker{min-height:59px;margin-bottom:10px}#menu .arena-picker img{height:59px}
 #menu .mode-brief{padding:9px 0}#menu .mode-brief h3{display:none}#menu .mode-brief p{font-size:11px;margin-top:6px}#menu .mode-brief small{margin-top:5px}
 #menu .coop-coming{min-height:54px;margin-bottom:14px;padding:9px 12px}#menu .location-panel #startBtn{min-height:49px}
}
@media(max-width:900px){#menu .location-panel{padding:24px!important}#menu .location-panel h2{font-size:32px!important}#menu .mode-brief p{max-width:none}#menu .location-panel #startBtn{margin-top:4px!important}#menu .coop-coming{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){#menu *,#boot *{animation:none!important;transition:none!important}.lobby-ready #menu .location-panel,.lobby-ready #menu .champion-panel{animation:none!important}}

/* Single playable mode: retain the Challenges header across the full panel. */
#menu .training-kind{grid-template-columns:1fr}
