.progression-menu[hidden],.progression-menu [hidden],.progression-return[hidden]{display:none!important}
body.progression-menu-open{overflow:hidden}
.progression-menu{position:fixed;inset:42px 0 0;z-index:500;display:grid;place-items:center;overflow:hidden;color:#fff;font-family:Arial,sans-serif;background:#1f393e}
.menu-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.garage-door{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#567578 0px,#77999a 5px,#66888a 45px,#314e55 49px,#92afb0 52px);border:12px solid #243f46;box-shadow:inset 0 0 80px #112f3580;transform-origin:top}
.garage-door:before,.garage-door:after{content:'';position:absolute;top:0;bottom:0;width:10px;background:#acb7ad;box-shadow:3px 0 0 #263e41;left:15%}.garage-door:after{left:auto;right:15%}
.door-handle{position:absolute;bottom:12%;left:calc(50% - 40px);width:80px;height:22px;background:#1a3339;border:5px solid #b7c6ba;border-radius:4px}
.forest-menu .garage-door{display:none}.progression-menu-content{position:relative;z-index:2;text-align:center;max-width:560px;width:calc(100% - 32px);max-height:100%;overflow:auto;padding:24px 0;box-sizing:border-box}
.menu-home{display:flex;flex-direction:column;align-items:center;gap:14px}.menu-credit{font-size:12px;font-weight:800;letter-spacing:0;margin:0;padding:6px 12px;background:#173b43cc;border-radius:4px}
.progression-menu h1{font-size:64px;line-height:1.02;letter-spacing:0;margin:10px 0 25px;color:#fff7da;text-shadow:0 5px 0 #233c42,0 9px 20px #16343c;font-weight:950;overflow-wrap:anywhere}
.progression-menu button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;font:800 18px Arial,sans-serif;border:2px solid #26484b;border-bottom-width:5px;border-radius:8px;cursor:pointer;letter-spacing:0;color:#183b3e;background:#f2ead2;box-sizing:border-box}
.progression-menu button:active{transform:translateY(2px)}.progression-menu button svg{width:22px;height:22px;flex:none;display:block}.progression-menu .progression-play{background:#bde984;min-width:230px;font-size:24px;min-height:62px}.progression-ranking{min-width:230px}.menu-home a{color:#fff;font-size:13px;margin-top:14px;background:#203f45d9;padding:8px 12px;border-radius:4px}
.progression-board{background:#fafaf0;color:#25474b;border:3px solid #345258;border-radius:8px;padding:18px;text-align:left;box-shadow:0 12px 0 #173b4366}.progression-board header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.progression-board h2{flex:1;margin:0;font-size:21px}.progression-board header button{padding:8px;width:44px;min-height:44px}.ranking-profile{display:flex;gap:10px;align-items:end}.ranking-profile label{display:grid;gap:6px;flex:1;font-size:13px;font-weight:bold;min-width:0}.ranking-profile input{box-sizing:border-box;width:100%;padding:12px;border:2px solid #88a7a5;border-radius:4px;font-size:16px;background:white;color:#24454b}.ranking-profile button{font-size:14px;padding:10px}.ranking-note,.ranking-status,.ranking-own{font-size:12px;line-height:1.5}.ranking-players{list-style:none;padding:0;margin:16px 0}.ranking-players li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 6px;border-bottom:1px solid #d5dfd6;font-size:14px}.ranking-players li span{overflow-wrap:anywhere}.ranking-players strong{font-size:12px}.rank-champion{background:#fff0a7;color:#584419}.rank-you{box-shadow:inset 3px 0 #21998f}.progression-menu .ranking-leave{font-size:12px;min-height:36px;padding:6px 10px;border-width:1px;background:transparent}
.progression-return{display:inline-flex;align-items:center;gap:6px;background:#d9eddf;color:#173f40;border:1px solid #79a69e;border-radius:5px;padding:4px 10px;height:32px;margin-left:12px;font-size:12px;cursor:pointer}.progression-return svg{width:17px;height:17px}
.entering .progression-menu-content{animation:menu-slide .65s ease-in forwards}.garage-menu.entering{background:transparent;pointer-events:none}.garage-menu.entering .menu-scenery{display:none}.entering .garage-door{animation:door-lift 1.8s cubic-bezier(.7,0,.3,1) forwards}
.intro-seed{display:none;position:absolute;z-index:3;width:22px;height:34px;left:calc(50% - 11px);top:-50px;border-radius:65% 35% 55% 45%;background:#8e582d;border:3px solid #cfab65;box-shadow:inset 6px -3px #613b29}.forest-menu.entering{background:transparent;pointer-events:none}.forest-menu.entering .menu-scenery{animation:forest-fade 2.2s forwards}.forest-menu.entering .intro-seed{display:block;animation:seed-fall 1.4s ease-in forwards}.forest-reveal{animation:forest-reveal 2.2s ease-in-out forwards}
.garage-stage-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 16px;background:#eaf1df;color:#244849}.garage-stage-progress span{margin-left:auto;font-size:12px}.garage-stage-progress progress{width:100%;height:8px;accent-color:#269b8b}
@keyframes menu-slide{to{transform:translateY(80vh);opacity:0}}@keyframes door-lift{0%,15%{transform:translateY(0)}100%{transform:translateY(-105%)}}@keyframes seed-fall{0%{top:-50px;transform:rotate(-60deg)}75%{top:66%;opacity:1;transform:rotate(180deg)}100%{top:72%;opacity:0;transform:rotate(210deg) scale(.5)}}@keyframes forest-fade{0%,40%{opacity:1}100%{opacity:0}}@keyframes forest-reveal{0%,25%{clip-path:inset(46% 49%)}100%{clip-path:inset(0)}}
@media(max-width:600px){.progression-menu h1{font-size:43px}.progression-menu-content{padding:20px 0}.progression-board{padding:12px}.progression-board h2{font-size:16px}.ranking-profile{flex-wrap:wrap}.ranking-profile label{flex-basis:100%}.menu-home{gap:10px}.progression-menu h1{margin-bottom:15px}}
@media(max-height:550px){.progression-menu h1{font-size:36px;margin:0 0 4px}.menu-home{gap:6px}.menu-home a{margin-top:2px}.progression-menu .progression-play{min-height:48px}.menu-credit{display:none}}
@media(prefers-reduced-motion:reduce){.progression-menu *, .forest-reveal{animation-duration:.1s!important}}
