/* Peter's Winter Arc — collapsible side-game */
.gym-launcher{position:fixed;z-index:46;left:calc(var(--sidebar) + 12px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;border:1px solid #3b3b3b;background:#151515;color:#fff;border-radius:0 999px 999px 0;padding:11px 14px 11px 12px;cursor:pointer;font-weight:900;box-shadow:0 12px 34px rgba(0,0,0,.4)}
.gym-launcher:hover{background:#222;border-color:#666}.gym-launcher i{color:var(--pink)}.gym-launcher small{color:#999;font-weight:700}
.gym-drawer{position:fixed;z-index:47;left:calc(var(--sidebar) + 12px);top:74px;bottom:16px;width:360px;max-width:calc(100vw - var(--sidebar) - 28px);overflow:hidden;border:1px solid #303030;border-radius:16px;background:radial-gradient(circle at 20% 0%,rgba(37,244,238,.09),transparent 28%),radial-gradient(circle at 95% 15%,rgba(254,44,85,.1),transparent 32%),#0c0c0c;box-shadow:0 24px 70px rgba(0,0,0,.55);transform:translateX(calc(-100% - 32px));opacity:0;visibility:hidden;transition:transform .24s ease,opacity .2s ease,visibility .2s;display:flex;flex-direction:column}
.gym-drawer.open{transform:translateX(0);opacity:1;visibility:visible}.gym-drawer.full{left:calc(var(--sidebar) + 16px);right:16px;width:auto;max-width:none}
.gym-drawer-head{display:flex;align-items:center;gap:10px;padding:12px 12px 11px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}.gym-drawer-copy{min-width:0;flex:1}.gym-kicker{font-size:9px;color:var(--cyan);font-weight:950;letter-spacing:.12em;text-transform:uppercase}.gym-drawer-head h2{font-size:17px;line-height:1.1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-mode{font-size:9px;font-weight:950;border:1px solid #333;border-radius:999px;padding:6px 8px;white-space:nowrap}.gym-mode.bulk{color:#ff9db0}.gym-mode.cut{color:var(--cyan)}
.gym-window-actions{display:flex;gap:5px}.gym-window-btn{width:32px;height:32px;border-radius:8px;border:1px solid #333;background:#171717;color:#ccc;cursor:pointer;display:grid;place-items:center}.gym-window-btn:hover{background:#262626;color:#fff}
.gym-card{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.gym-compact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex:0 0 auto}.gym-mini-stat{min-width:0;background:#151515;border:1px solid #262626;border-radius:9px;padding:7px 6px;text-align:center}.gym-mini-stat span{display:block;font-size:8px;color:#858585;font-weight:900;letter-spacing:.08em}.gym-mini-stat strong{display:block;margin-top:2px;font-size:13px}.gym-mini-stat .tiny{font-size:9px;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gym-layout{min-height:0;flex:1;display:flex;flex-direction:column;padding:9px;gap:8px}.gym-panel{border:1px solid #292929;background:rgba(18,18,18,.82);border-radius:11px;padding:10px}.gym-panel-left{display:none}.gym-panel-right{display:none}.gym-arena{position:relative;flex:1;min-height:230px;border-radius:12px;overflow:hidden;cursor:crosshair;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% 62%,rgba(255,255,255,.07),transparent 31%),linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.18));touch-action:manipulation;user-select:none}.gym-arena::after{content:"";position:absolute;left:18%;right:18%;bottom:11px;height:20px;border-radius:50%;background:rgba(0,0,0,.48);filter:blur(8px);z-index:0}.gym-instruction{position:absolute;z-index:5;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.1);font-size:8px;color:#aaa;pointer-events:none}.gym-character-wrap{position:absolute;z-index:2;left:50%;bottom:5px;transform:translateX(-50%);width:min(84%,280px);height:90%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.gym-character{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(0,0,0,.5));transform-origin:50% 88%}.gym-character.gym-hit{animation:gymHit .27s ease}.gym-character.gym-upgrade{animation:gymUpgrade .7s cubic-bezier(.2,.8,.2,1)}.gym-projectiles{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.flying-food{position:absolute;font-size:44px;line-height:1;will-change:transform,opacity;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}.gym-pop{position:absolute;z-index:7;font-size:13px;font-weight:950;pointer-events:none;text-shadow:0 2px 8px #000;animation:gymFloat .72s ease-out forwards}.gym-pop.cut{color:var(--cyan)}.gym-pop.bulk{color:#ff8da5}.gym-impact{position:absolute;z-index:7;width:12px;height:12px;border:2px solid #fff;border-radius:50%;pointer-events:none;animation:gymImpact .4s ease-out forwards}
.gym-message{flex:0 0 auto;padding:8px 10px;border-radius:9px;background:#171717;border:1px solid #262626;color:#bbb;font-size:10px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-food-zone{flex:0 0 auto;padding:0 9px 9px}.gym-food-zone-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.gym-food-zone-head span:first-child{font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.gym-food-zone-head span:last-child{font-size:8px;color:#777}.gym-food-bar{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.gym-food{flex:0 0 76px;min-width:0;border:1px solid #2d2d2d;background:#151515;color:#fff;border-radius:9px;padding:7px 6px;text-align:center;cursor:pointer;position:relative}.gym-food:hover:not(:disabled){background:#202020;border-color:#555}.gym-food.selected{border-color:#fff}.gym-food:disabled{opacity:.34;cursor:not-allowed}.gym-food-emoji{display:block;font-size:19px}.gym-food-name{display:block;font-size:9px;font-weight:900;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-food-effect{display:none}.gym-food-lock{position:absolute;right:4px;top:3px;font-size:7px;color:#aaa}.gym-reset{border:1px solid #333;background:#151515;color:#aaa;border-radius:7px;padding:5px 8px;font-size:9px;cursor:pointer}.gym-reset:hover{color:#fff;border-color:#555}
.gym-prestige{display:none;position:absolute;z-index:10;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:20px;text-align:center}.gym-prestige.show{display:flex}.gym-prestige-box{max-width:300px}.gym-prestige h3{font-size:24px}.gym-prestige p{color:#aaa;margin:8px 0 14px;font-size:12px}.gym-prestige button{border:0;border-radius:9px;background:#fff;color:#000;font-weight:950;padding:10px 14px;cursor:pointer}
/* Full play mode restores the large dashboard UI. */
.gym-drawer.full .gym-compact-stats{display:none}.gym-drawer.full .gym-card{overflow:auto}.gym-drawer.full .gym-layout{display:grid;grid-template-columns:minmax(150px,190px) minmax(360px,1fr) minmax(150px,190px);gap:14px;padding:14px 16px}.gym-drawer.full .gym-panel-left,.gym-drawer.full .gym-panel-right{display:block}.gym-drawer.full .gym-arena{min-height:430px}.gym-drawer.full .gym-character-wrap{width:min(52%,390px);height:90%}.gym-drawer.full .gym-message{white-space:normal;font-size:11px}.gym-drawer.full .gym-food-zone{padding:0 16px 14px}.gym-drawer.full .gym-food{flex-basis:112px;text-align:left;padding:9px 10px}.gym-drawer.full .gym-food-emoji{font-size:23px}.gym-drawer.full .gym-food-name{font-size:11px}.gym-drawer.full .gym-food-effect{display:block;font-size:9px;color:#8c8c8c;margin-top:2px}.gym-panel-title{color:#888;font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-bottom:10px}.gym-level-number{font-size:30px;font-weight:950}.gym-substat{font-size:10px;color:#888}.gym-progress{height:8px;border-radius:999px;background:#252525;overflow:hidden;margin-top:10px}.gym-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#fff,var(--pink));border-radius:inherit;transition:width .2s}.gym-progress-copy{display:flex;justify-content:space-between;margin-top:5px;font-size:9px;color:#888}.gym-panel-left .gym-message{margin-top:12px}.gym-panel-left .gym-reset{width:100%;margin-top:9px;padding:8px}.gym-stat-row+.gym-stat-row{margin-top:14px}.gym-stat-top{display:flex;justify-content:space-between}.gym-stat-name{font-size:10px;font-weight:900}.gym-stat-value{font-size:16px;font-weight:950}.gym-meter{height:8px;background:#252525;border-radius:999px;overflow:hidden;margin-top:6px}.gym-meter span{display:block;height:100%;border-radius:999px;transition:width .2s}.gym-meter-muscle span{background:linear-gradient(90deg,#fff,var(--cyan))}.gym-meter-fat span{background:linear-gradient(90deg,#ffb4c3,var(--pink))}.gym-label{font-size:9px;color:#888;margin-top:5px}.gym-selected{margin-top:15px;padding-top:11px;border-top:1px solid #282828}.gym-selected strong{font-size:11px}.gym-selected small{display:block;color:#888;font-size:9px;margin-top:3px}
@keyframes gymHit{0%{transform:scale(1)}40%{transform:scale(1.05,.97) translateY(-4px)}100%{transform:scale(1)}}@keyframes gymUpgrade{0%{transform:scale(1)}35%{transform:scale(1.1) rotate(-1deg)}65%{transform:scale(.99) rotate(1deg)}100%{transform:scale(1)}}@keyframes gymFloat{0%{opacity:0;transform:translate(-50%,4px) scale(.8)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-44px) scale(1.05)}}@keyframes gymImpact{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@media(max-width:800px){.gym-launcher{left:10px;top:auto;bottom:74px;transform:none;border-radius:999px}.gym-launcher small{display:none}.gym-drawer,.gym-drawer.full{left:8px;right:8px;top:72px;bottom:70px;width:auto;max-width:none}.gym-drawer.full .gym-layout{display:flex;flex-direction:column}.gym-drawer.full .gym-panel-left,.gym-drawer.full .gym-panel-right{display:none}.gym-drawer.full .gym-compact-stats{display:grid}.gym-drawer.full .gym-arena{min-height:300px}.gym-character-wrap,.gym-drawer.full .gym-character-wrap{width:min(80%,300px)}}
@media(max-width:420px){.gym-drawer{left:6px;right:6px}.gym-compact-stats{gap:4px}.gym-mini-stat{padding:6px 3px}.gym-food{flex-basis:70px}.gym-arena{min-height:220px}}
@media(prefers-reduced-motion:reduce){.gym-drawer,.gym-progress>span,.gym-meter span{transition:none!important}.gym-character.gym-hit,.gym-character.gym-upgrade,.gym-pop,.gym-impact{animation-duration:.01ms!important;animation-iteration-count:1!important}}
