*{box-sizing:border-box}body{margin:0;background:#0b1611;color:#edf1e6;font:15px/1.55 system-ui,sans-serif}button,a,input{font:inherit}button,a{touch-action:manipulation}a{color:#d4ef89;text-decoration:none}button{background:#21362b;color:#e5eddc;border:1px solid #49604b;border-radius:9px;padding:9px 14px;cursor:pointer}button:hover{background:#324d36}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #d4ef89;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;border-bottom:1px solid #2c4131}.brand{display:flex;align-items:center;gap:14px;color:#f1f4e9}.brand img{width:58px;height:58px;object-fit:contain}.brand b{font-size:25px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:10px;color:#abc2a4}nav{display:flex;gap:22px}main{max-width:1660px;margin:auto;padding:25px 3vw}.intro{display:flex;justify-content:space-between;align-items:center;gap:25px}.intro>p{color:#a7b8a5}h1{font-size:clamp(28px,3.4vw,49px);font-weight:500;line-height:1.12;margin:10px 0 25px}h1 em{font-style:normal;color:#d2ef89}.eyebrow{font-size:11px;letter-spacing:2px;color:#bcd18d;font-weight:700;margin:5px 0 12px}h2{font-size:23px;line-height:1.2;margin:8px 0 18px}h3{font-size:15px}.stats{border:1px solid #344b38;display:flex;align-items:center;gap:25px;border-radius:12px;padding:12px 20px;margin-bottom:15px;background:#14241b}.stats b{color:#d6f18b}.stats button{margin-left:auto}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.scene{position:relative;background:radial-gradient(at 30% 0,#33483d,#111e18);border:1px solid #344c39;border-radius:15px;overflow:hidden;min-width:0}#viewport{height:760px;touch-action:none;position:relative}canvas{width:100%;height:100%;display:block}#loading{position:absolute;inset:0;display:grid;place-content:center;background:#14241b;color:#d6ed9a;z-index:4}.camera{position:absolute;top:14px;left:14px;right:14px;display:flex;gap:7px;align-items:center;pointer-events:none}.camera>*{pointer-events:auto}.camera span{font-size:10px;letter-spacing:1.5px;margin-right:auto;background:#102118df;border:1px solid #476044;border-radius:30px;padding:8px 12px}.camera button{font-size:12px;background:#15271fe8}.hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#b6c5b2;font-size:11px;pointer-events:none}aside{background:#15251c;border:1px solid #344b38;border-radius:15px;padding:20px;max-height:760px;overflow:auto}.stations{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stations button{padding:10px 4px;font-size:11px;min-height:65px}.stations svg{display:block;width:26px;height:26px;margin:0 auto 6px;stroke:currentColor;fill:none;stroke-width:1.6}.stations button.active{background:#d4ee8c;color:#17251c;border-color:#d4ee8c}.note,#status,.upgrade p{font-size:12px;color:#afc0ab}.set{border-top:1px solid #354c37;border-bottom:1px solid #354c37;padding:16px 0;margin:15px 0}progress{width:100%;height:7px;accent-color:#d3ed83;display:block;margin-bottom:14px}.actions{display:flex;gap:8px}.primary{background:#d5ef8c;color:#13241b;font-weight:700;flex:1}.mentors{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mentors button{font-size:12px;text-align:left}.mentors small{display:block;color:#a6b99d;font-size:10px}.upgrade{border:1px solid #3e533d;border-radius:9px;padding:12px;margin-top:16px}.upgrade button{width:100%}.reference{margin-top:20px;display:grid;grid-template-columns:1fr 250px;gap:30px;padding:25px;border:1px solid #344b38;border-radius:14px;background:#14231a}.reference p{color:#aec0a7}.reference img{width:100%;max-height:320px;object-fit:contain;border-radius:10px;background:#0d1610}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#9bad97;padding:25px 0}dialog{background:#182b20;color:#eaf0e0;border:1px solid #76915b;border-radius:18px;padding:30px;max-width:520px;width:calc(100% - 30px)}dialog::backdrop{background:#030a07bd;backdrop-filter:blur(5px)}.close{float:right}dialog p{color:#bdcdb4}dialog label{display:block;margin:14px 0}#coach{position:absolute;bottom:35px;left:20px;max-width:260px;background:#132c21f5;border:1px solid #c4df79;border-radius:14px;padding:18px}#coach[hidden],[hidden]{display:none!important}#coach p{margin:5px 0}#coach a{display:block;margin:10px 0}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 290px}#viewport{height:680px}aside{max-height:680px}.intro>p{display:none}}@media(max-width:720px){header{padding:14px 18px}.brand img{width:42px;height:42px}.brand b{font-size:21px}nav{font-size:12px;gap:14px}main{padding:20px 12px}.layout{grid-template-columns:1fr}#viewport{height:520px}aside{max-height:none}.stations{grid-template-columns:repeat(3,1fr)}.stats{padding:10px;gap:10px;font-size:11px;flex-wrap:wrap}.stats button{font-size:11px}.reference{grid-template-columns:1fr;gap:15px}.reference img{max-width:350px;justify-self:center;max-height:390px}.camera{left:8px;right:8px;gap:4px}.camera button{font-size:11px;padding:8px}.camera span{font-size:8px;padding:8px}.intro h1{font-size:32px}footer{flex-direction:column;gap:7px}}

.mentors button{position:relative;padding-left:42px;min-height:60px;overflow:hidden}.mentors img{position:absolute;width:36px;height:59px;object-fit:cover;object-position:50% 0;left:2px;bottom:0}.mentor-profile{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.mentor-profile>img{width:100%;max-height:300px;object-fit:contain}.mentor-profile small{color:#b1cc88}dialog{max-width:620px}@media(max-width:480px){.mentor-profile{grid-template-columns:100px 1fr;gap:12px}.mentor-profile p{font-size:14px}}

#vera-quote{margin:12px 0 18px;padding:0 0 0 15px;border-left:3px solid #a875d1;color:#f1ebfa;font-size:18px;line-height:1.6}#vera-boxing{width:100%;padding:13px;margin:10px 0}#vera-lesson-note{font-size:12px;color:#b9c8b2}

.camera button[aria-pressed="true"]{color:#17251c;background:#d4ee8c;border-color:#d4ee8c}.game-card{position:absolute;z-index:3;bottom:34px;left:18px;max-width:390px;width:calc(100% - 36px);padding:18px;background:#12281ff2;border:1px solid #8fae68;border-radius:16px;box-shadow:0 10px 35px #0005;backdrop-filter:blur(8px)}.game-card small{display:block;font-size:10px;letter-spacing:1.6px;color:#bbd88e}.game-card strong{display:block;font-size:21px;margin:6px 0 12px}.game-card button{padding:11px 14px}.game-card h2{font-size:22px;margin:8px 0 14px}.game-card p{font-size:11px;color:#b7c6af;margin:12px 0 0}#day-preparation>div{display:flex;flex-wrap:wrap;gap:7px}#day-preparation button{font-size:12px}#day-transition{position:absolute;inset:0;z-index:8;background:#07110c;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .6s;pointer-events:none}#day-transition.visible{opacity:1}#day-transition small{letter-spacing:4px;color:#a8c77d;font-size:10px}#day-transition strong{font-size:60px;color:#e1f3b1;font-weight:500}#set-hud{max-width:260px}#set-hud progress{margin:12px 0}.hint{font-size:10px}@media(max-width:480px){.camera{flex-wrap:wrap}.camera span{margin-right:0}.game-card{padding:14px;bottom:30px}#day-preparation h2{font-size:19px}#day-preparation button{padding:9px;font-size:11px}}

#luna-tip{left:auto;right:18px;bottom:auto;top:70px;max-width:310px;border-color:#aa90c4}#luna-tip p{font-size:13px;margin:0 0 12px;color:#d1dcca}#luna-tip a{font-size:12px}#luna-tip-close{float:right;padding:2px 9px;font-size:18px}

.sound-controls{position:absolute;top:62px;left:14px;display:flex;align-items:center;gap:5px;background:#102118d9;padding:4px;border-radius:9px}.sound-controls button{font-size:10px;padding:5px 8px}.sound-controls label{display:flex;align-items:center;gap:5px;font-size:10px;padding:0 5px}.sound-controls input{width:65px;accent-color:#c5e484}.sound-controls button[aria-pressed="false"]{opacity:.65}#luna-tip{top:113px}@media(max-width:480px){.sound-controls{left:8px;top:60px}.sound-controls input{width:50px}}

.play-modes{display:flex;align-items:center;gap:8px;margin:10px 0 16px;flex-wrap:wrap}.play-modes button[aria-pressed="true"]{background:#d4ee8c;color:#15271d}.play-modes span{margin-left:auto;font-size:11px;color:#a9bc9f}#club-stats{display:grid;gap:6px;padding:14px;background:#0c1d15;border-radius:10px}#club-stats strong{color:#d4ee8c}#club-stats span,#club-chapter,#club-event{font-size:12px;color:#bed0b2}#club-actions{display:flex;flex-wrap:wrap;gap:6px}#business-panel article, #dialog-body article{padding:12px 0;border-bottom:1px solid #36513c;display:grid;gap:7px}#business-panel article small,#dialog-body article small{color:#afc4a3;font-size:11px}#business-panel button{font-size:12px}.appearance-presets{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:720px){.play-modes span{width:100%;margin-left:0}}

.profile-panel{border:1px solid #344b38;border-radius:11px;background:#14241b;padding:10px 15px;margin:0 0 14px}.profile-panel summary,#business-panel summary{cursor:pointer;color:#cee69f;font-size:13px}.profile-settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 0 3px}.profile-settings form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.profile-settings input{width:160px;background:#0c1b14;color:#e5efda;border:1px solid #536e4c;border-radius:8px;padding:9px}.profile-settings small{width:100%;color:#aabb9f;font-size:11px}.profile-settings p{width:100%;margin:0;font-size:11px}.profile-settings label{font-size:12px}#business-panel details{padding:12px 0;border-bottom:1px solid #304c38}#club-resources{display:flex;gap:7px;flex-wrap:wrap}#club-resources span{font-size:12px;background:#0e2118;padding:6px;border-radius:7px}#club-resources button{font-size:11px}[data-mentor="3"]:disabled{filter:saturate(.3);opacity:.55}@media(max-width:720px){.intro h1{font-size:28px;margin-bottom:12px}.intro .eyebrow{font-size:9px}.profile-panel{padding:9px 12px}}

#activity-feed{position:absolute;right:14px;bottom:36px;max-width:260px;padding:9px 13px;background:#14271eeb;border:1px solid #8aa66b;border-radius:10px;font-size:12px;color:#dbedc9;pointer-events:none;z-index:2}

.appearance-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.appearance-presets button{min-height:86px;text-align:left;padding:16px}.profile-panel{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px;margin:20px 0}.profile-panel a{color:#d7f68a}

.athlete-progress{margin:24px 0;padding:clamp(18px,3vw,32px);border:1px solid #385444;border-radius:18px;background:linear-gradient(130deg,#13261e,#112026)}.progress-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.progress-heading span,#progress-next{color:#b5c7ad;font-size:13px}.progress-meters{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.progress-meters label{font-size:13px}.progress-meters strong{float:right;color:#d7f68a}.progress-meters progress{display:block;width:100%;height:10px;accent-color:#c5e781;margin-top:9px}.physique-portraits{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:650px;margin:auto}.physique-portraits article{border:1px solid #425b48;border-radius:18px;background:#20373b;padding:18px;text-align:center}.physique-portraits article:first-child{border-color:#d7f68a}.physique-portraits canvas{width:100%;height:auto;max-width:230px;margin:auto}.physique-portraits h3{margin:0;text-align:left;font-size:20px}.physique-portraits strong{display:block;color:#d7f68a}.journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}.journey-layout section{min-width:0}.journey-layout h3{font-size:23px}.journey-goal{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #375044;padding:15px 0;font-size:14px}.journey-goal small{display:block;color:#a7bdab;font-size:11px;margin-top:4px}.journey-goal b{color:#d7f68a;white-space:nowrap}.journey-goal.done{color:#d7f68a}.story-stats{display:flex;gap:8px;flex-wrap:wrap}.story-stats span{background:#0b2019;padding:7px 12px;border-radius:20px;font-size:12px}.story-stats b{color:#d7f68a}.story-choices{display:grid;gap:10px}.story-choices button{text-align:left}.story-choices small{display:block;font-size:11px;color:#aabc9f}.game-care{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.game-care button{font-size:12px}#story-hint{color:#b4c7b3;font-size:13px}.equipment-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.equipment-gallery article{background:#172f31;border-radius:12px;padding:14px}.equipment-gallery svg{width:100%;height:130px}.equipment-gallery strong,.equipment-gallery small{display:block;font-size:12px}.equipment-gallery small{color:#b3c9ac}.equipment-empty{height:130px;display:grid;place-items:center;color:#92a397}.athlete-progress details{margin-top:24px}.athlete-progress summary{cursor:pointer;color:#d7f68a}#club-resources>p{flex-basis:100%;margin:5px 0}#club-resources{align-items:center}
@media(max-width:720px){.progress-meters{grid-template-columns:1fr 1fr}.journey-layout{grid-template-columns:1fr}.physique-portraits{gap:10px}.physique-portraits article{padding:12px}.physique-portraits h3{font-size:16px}.progress-heading{align-items:start;flex-direction:column}.equipment-gallery{grid-template-columns:1fr 1fr}.equipment-gallery svg{height:120px}}
/* The athlete state is part of the game viewport, never a separate page section. */
#athlete-progress{position:absolute;top:106px;left:14px;right:14px;z-index:2;pointer-events:none;max-width:600px}#athlete-progress>*{pointer-events:auto}.hud-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#0c211ce8;border:1px solid #51714e;border-radius:12px;padding:7px 10px;box-shadow:0 6px 24px #0003;font-size:11px}.hud-line button{font-size:11px;padding:5px 8px}.hud-line>span{padding:4px 7px;border-radius:6px;color:#d4e7bb}.hud-line #hud-expand{margin-left:auto}.hud-line .tired{color:#ffd3a1;background:#633c28}#hud-expanded{margin-top:6px;background:#10271cf5;border:1px solid #597750;border-radius:12px;padding:12px}#hud-stats,#prep-state{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}#hud-stats span,#prep-state span{background:#0b1f17;border:1px solid #355040;border-radius:9px;padding:7px;font-size:10px;line-height:1.4}#hud-stats b,#prep-state b{display:block;color:#ddf4a3;font-size:13px}#hud-advice{font-size:11px;margin:8px 0;color:#c7d7bb}.hud-care{display:flex;gap:6px;flex-wrap:wrap}.hud-care button{font-size:10px;padding:6px 8px}#hud-boosts{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}#hud-boosts span{font-size:10px;padding:4px 8px;background:#23382aee;border:1px solid #bbcf7f;border-radius:20px;color:#e0ecbb}#day-preparation{max-width:510px;z-index:5;max-height:calc(100% - 105px);overflow:auto}#day-preparation #prep-state{margin-bottom:8px}#day-preparation button{text-align:left;flex:1;min-width:135px}#day-preparation button small{font-size:9px;letter-spacing:0;color:#b7cba7;margin-top:4px}#prep-advice{margin:7px 0 12px!important;color:#e4d7a3!important}#journey-dialog{max-width:850px;max-height:88vh;overflow:auto}#journey-dialog .equipment-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-toggle{display:flex;align-items:center;gap:12px}.settings-toggle input{width:22px;height:22px;accent-color:#c6e68a}#drink-banner{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);z-index:4;white-space:nowrap;background:#12291ff2;border:1px solid #b3cf7b;border-radius:12px;padding:12px 18px;font-size:12px;color:#e3f5b6}#joystick{position:absolute;bottom:45px;left:20px;width:114px;height:114px;background:#0a201688;border:2px solid #b9cf8a88;border-radius:50%;z-index:4;touch-action:none;display:grid;place-items:center;user-select:none;box-shadow:inset 0 0 18px #0004}#joystick:focus-visible{outline:3px solid #dcf5a6}#joystick-stick{width:50px;height:50px;border-radius:50%;background:#b6d77bd9;border:2px solid #e3efc8;box-shadow:0 3px 14px #0006;pointer-events:none}#set-hud{left:auto;right:14px}#luna-tip{top:175px}
@media(max-width:720px){#viewport{height:640px}#athlete-progress{top:102px;left:8px;right:8px}.hud-line{padding:6px;gap:3px;font-size:10px}.hud-line button{font-size:10px;padding:5px}.hud-line>span{padding:3px 4px}#day-preparation{left:10px;width:calc(100% - 20px);bottom:29px;padding:12px;max-height:calc(100% - 150px)}#day-preparation h2{font-size:18px}#day-preparation button{min-width:110px;font-size:10px;padding:8px}#day-preparation #prep-state span{font-size:9px;padding:5px}#prep-state b{font-size:12px}#joystick{width:100px;height:100px;left:14px;bottom:45px}#journey-dialog{padding:18px}#journey-dialog .equipment-gallery{grid-template-columns:1fr 1fr}.hud-care button{min-height:32px}#luna-tip{top:170px}}
/* Focus on the gym: all preferences live behind the top-right settings button. */
.layout{grid-template-columns:minmax(0,1fr)!important}.layout>#athlete-panel{display:none!important}.profile-panel,.play-modes>#settings,.play-modes>#graphics,.play-modes>#fullscreen,.immersive-toolbar,.scene>.camera,.scene>.sound-controls{display:none!important}.scene-settings{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:12;width:44px;height:44px;padding:4px;font-size:25px;line-height:1;background:#14271eea;border:1px solid #8fae68;border-radius:50%}.scene #athlete-progress,.immersive-game #athlete-progress{top:65px!important}.scene #luna-tip,.immersive-game #luna-tip{top:155px}.immersive-game .game-card{bottom:max(22px,env(safe-area-inset-bottom))}.immersive-game #joystick{bottom:max(36px,env(safe-area-inset-bottom))}.immersive-game .hint{bottom:8px}.immersive-game #drink-banner{bottom:24px}#settings-controls .camera,#settings-controls .sound-controls{position:static;display:flex;flex-wrap:wrap;margin:12px 0;pointer-events:auto;background:none;padding:0}#settings-controls .camera span{flex-basis:100%;border:0;padding:0;background:none;margin-bottom:6px}#settings-controls .sound-controls label{margin:0}#settings-controls input[type=range]{width:140px}#settings-training #athlete-panel{display:block!important;border:0;padding:12px 0;max-height:none;overflow:visible}#settings-training #selected,#settings-training .core-collection,#settings-training .note,#settings-training .set,#settings-training #physique-progress{display:none}.settings-section{border-top:1px solid #476044;padding-top:12px;margin-top:18px}.settings-section h3{margin:0 0 10px}#settings-stations{margin-top:20px}#weight-control{display:flex;gap:12px;align-items:center;margin:12px 0}#training-weight{background:#243a2b;color:#eaf0e0;border:1px solid #8fae68;border-radius:8px;padding:10px;font:inherit}#equipment-prompt #weight-control{display:none}#rep-cue{min-height:2.5em;font-size:13px}#rep-zones{display:flex;gap:12px}#rep-zones button{flex:1;padding:16px}#rep-zones .expected{background:#d5ef8c;color:#15241b;box-shadow:0 0 0 2px #d5ef8c55}#set-hud{max-width:340px}#set-hud progress{margin:12px 0}.reference{grid-template-columns:1fr minmax(0,280px)}.reference img{width:100%;height:auto;max-height:none;object-fit:cover;background:transparent;aspect-ratio:auto}.real-products{border-top:1px solid #476044;margin-top:25px;padding-top:18px}@media(max-width:720px){.reference{grid-template-columns:1fr}.reference img{max-width:100%;width:100%;max-height:none}.scene #athlete-progress{left:8px;right:8px}.scene-settings{right:10px}.scene #set-hud{left:auto;right:12px;width:min(280px,calc(100% - 24px));bottom:30px}}
.scene .game-card{z-index:7}.scene #joystick{z-index:4}#settings-controls #graphics{display:inline-block!important}
.training-active #joystick{visibility:hidden;pointer-events:none}.training-active .hint{display:none}
/* One compact top row, with separate left joystick and right interaction card. */
.scene #athlete-progress{top:max(10px,env(safe-area-inset-top))!important;left:10px!important;right:66px!important;max-width:none!important;z-index:10}.scene-settings{top:max(10px,env(safe-area-inset-top))!important;right:10px!important;width:44px;height:44px}.hud-line{min-height:44px;padding:5px 7px;gap:4px}.hud-line button,.hud-line>span{font-size:10px;padding:4px}.scene #hud-boosts{margin-top:4px;max-width:100%}.scene #equipment-prompt,.scene #set-hud{left:auto!important;right:12px!important;bottom:24px!important;width:calc(100% - 145px)!important;max-width:330px!important;padding:12px!important;z-index:7}.scene #equipment-prompt strong{font-size:18px;margin:6px 0 10px}.scene #equipment-prompt button{width:100%;min-height:44px}.scene #joystick{left:12px!important;bottom:24px!important;width:100px!important;height:100px!important}.scene #rep-zones,.scene #rep-single{display:none!important}.training-summary{display:flex;flex-wrap:wrap;gap:12px 24px;background:#12271c;border:1px solid #4b653d;border-radius:14px;padding:16px;margin:14px 0}.training-summary span{font-size:13px;color:#d5e9b5}.training-summary b{color:#d5ee8e}.training-summary small{width:100%;color:#aec2a0}.physique-portraits#physique-overview{max-width:560px;margin:18px auto 24px}.physique-portraits#physique-overview canvas{width:100%;max-width:160px;height:auto;display:block;margin:auto}.physique-portraits#physique-overview h3{font-size:16px}.physique-portraits#physique-overview article{padding:12px}.immersive-game #training-summary,.immersive-game #physique-overview{display:none!important}.stations button.completed{opacity:.45;border-color:#9eb969}.stations button.completed:after{content:' ✓'}.scene #equipment-prompt small{font-size:9px;letter-spacing:1px}.scene .hint{font-size:9px;bottom:5px!important}@media(max-width:460px){.hud-line{font-size:9px;gap:2px}.hud-line button,.hud-line>span{font-size:9px;padding:3px}.hud-line #hud-xp{display:none}.scene #equipment-prompt,.scene #set-hud{width:calc(100% - 132px)!important;right:8px!important}.scene #equipment-prompt strong{font-size:15px}.scene #equipment-prompt button{padding:9px;font-size:12px}.scene #joystick{width:90px!important;height:90px!important}.scene #hud-boosts span{font-size:9px;padding:3px 6px}}@media(max-height:500px){.scene #athlete-progress{right:64px!important}.scene #equipment-prompt,.scene #set-hud{max-width:260px!important}.scene #hud-boosts{max-width:75%}}
.training-active #set-hud{pointer-events:none}.training-active #set-hud #cancel{pointer-events:auto}
.day-complete #joystick{visibility:hidden;pointer-events:none}
@media(max-width:460px){.scene .hud-line #hud-xp{display:inline;font-size:8px}.scene .hud-line button,.scene .hud-line>span{font-size:8px;padding:3px 2px}}
#training-feedback{position:absolute;inset:0;pointer-events:none;z-index:6}.tap-prompt{position:absolute;left:50%;top:62%;transform:translateX(-50%);font-size:28px;line-height:1;text-align:center;animation:tap-cue 1.4s ease-in-out infinite;filter:drop-shadow(0 2px 6px #000)}.tap-prompt small{display:block;font-size:11px;color:#e5f5c1;margin-top:7px}.rep-motivation{position:absolute;top:34%;left:12%;right:12%;text-align:center;font-size:clamp(15px,2vw,24px);font-weight:600;color:#f1ffd0;text-shadow:0 2px 9px #000;background:#0d241c99;border-radius:30px;width:fit-content;margin:auto;padding:10px 20px}.scene #set-hud strong{font-size:18px;margin:2px 0 8px}.scene #set-hud #rep-cue{font-size:11px;margin:7px 0}.scene #set-hud #cancel{font-size:11px;padding:8px 10px}@keyframes tap-cue{0%,100%{opacity:.45;transform:translate(-50%,3px)}50%{opacity:1;transform:translate(-50%,-3px)}}@media(prefers-reduced-motion:reduce){.tap-prompt{animation:none}}

#hydration-meter{position:absolute;z-index:8;top:112px;left:18px;padding:7px 12px;font-size:13px;background:#142d28e8;border:1px solid #7baaba;border-radius:20px;color:#d7f1f6}#hydration-meter.needs-water{border-color:#eda858;color:#ffcf91;box-shadow:0 0 12px #eda85840}#water-stand-action{z-index:9;right:18px;bottom:44px;left:auto;width:auto;max-width:calc(100% - 160px)}@media(max-width:600px){#hydration-meter{top:108px;font-size:11px}}

.scene #hydration-meter{position:static;white-space:nowrap;padding:4px;font-size:10px;border-radius:10px;box-shadow:none}@media(max-width:460px){.scene #hydration-meter{font-size:8px;padding:3px 2px}.scene .hud-line #hud-xp{display:none}}
.scene #water-stand-action{background:#d4ed92;color:#14271d;border:1px solid #a9c76b;font-weight:700;padding:12px 18px;min-height:46px}.scene #water-stand-action[hidden]{display:none!important}

.career-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.career-tasks article{padding:14px;background:#20372b;border:1px solid #4c654b;border-radius:12px}.career-tasks small{display:block;margin:8px 0;color:#bac9ab}#dialog textarea{display:block;width:100%;min-height:70px;background:#0e221b;color:#e5eddf;border:1px solid #66845b;border-radius:10px;padding:10px;margin:8px 0 16px}.scene #lesson-status{position:absolute;bottom:18px;left:20px;z-index:9;padding:10px;background:#d6eaa5;color:#14241c;border-radius:16px;font-size:12px}.coach-active #training-feedback .tap-prompt{display:none!important}.scene #hunger-meter{background:#32402b;border:1px solid #a5bd78;border-radius:9px;white-space:nowrap}.scene #lesson-status[hidden]{display:none!important}@media(max-width:600px){.scene #lesson-status{left:10px;bottom:12px;font-size:10px}.scene .hud-line #hud-xp{display:none}.scene .hud-line button,.scene .hud-line>span{font-size:8px;padding:3px 2px}.career-tasks{grid-template-columns:1fr}}

.scene #inventory-toggle{position:absolute;right:12px;bottom:12px;z-index:11;min-width:66px;min-height:48px;border:1px solid #9fbf68;border-radius:16px;background:#132c23ee;color:#d7ef9c;font-weight:700}.scene #inventory-toggle:disabled{opacity:.45}.scene #equipment-prompt,.scene #set-hud,.scene #water-stand-action,.scene #clothing-shop-prompt{bottom:78px!important}.scene #clothing-shop-prompt{right:12px;left:auto;max-width:330px;width:calc(100% - 140px);z-index:8;padding:16px}.scene #clothing-shop-prompt strong{display:block;font-size:20px;margin:8px 0}.scene #clothing-shop-prompt p{font-size:12px}.scene #lesson-status{bottom:15px;max-width:calc(100% - 105px)}.bag-heading{display:flex;justify-content:space-between;gap:15px;padding:14px;background:#213a2c;border-radius:12px}.bag-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:16px 0}.bag-products article{border:1px solid #4a6546;border-radius:15px;overflow:hidden;background:#142b22}.bag-products img{width:100%;height:160px;object-fit:contain;background:#10261d}.bag-products article>div{padding:12px}.bag-products strong{display:block;color:#d5ee8e;margin:8px 0}.bag-products button{display:block;width:100%;margin-top:10px}#dialog select{background:#20392d;color:#e8f0e0;padding:8px;border:1px solid #698659;border-radius:9px}.boost-card img{object-fit:contain}.scene #clothing-shop-prompt[hidden]{display:none!important}.immersive-game .scene #inventory-toggle{bottom:max(12px,env(safe-area-inset-bottom))}.scene #activity-feed{pointer-events:none}@media(max-width:500px){.scene #inventory-toggle{min-height:42px;font-size:12px;right:8px;bottom:12px}.bag-products{grid-template-columns:1fr 1fr;gap:8px}.bag-products img{height:120px}.bag-products b{font-size:12px}.scene #clothing-shop-prompt strong{font-size:16px}}

.compact-gym-card{position:absolute;z-index:13;left:50%;bottom:82px;transform:translateX(-50%);width:min(340px,calc(100% - 32px));padding:12px 14px;border:1px solid #91af72;border-radius:18px;background:#11291fec;box-shadow:0 8px 24px #0004;font-size:12px;color:#e4eddb}.compact-gym-card p{font-size:12px;line-height:1.45;margin:7px 0}.compact-gym-card button{padding:9px 12px;font-size:12px;min-height:36px;margin:3px;border-radius:12px}.compact-gym-card strong{display:block;font-size:12px;letter-spacing:.08em}#water-inline-close{float:right;min-height:28px;padding:3px 9px}#water-stand-action{width:auto;max-width:180px;font-size:12px;left:50%;right:auto;bottom:82px;transform:translateX(-50%);padding:10px 18px}#practice-combo{display:flex;gap:6px;margin:8px 0}#practice-combo span{padding:4px;border-radius:8px;background:#284537;opacity:.55}#practice-combo .current{opacity:1;outline:2px solid #d6eb9b;background:#3e6045}#practice-combo .done{opacity:.7;background:#53724b}#practice-hud{pointer-events:none;bottom:20px;max-width:300px}#practice-stop{pointer-events:auto}#vera-prompt{bottom:220px;max-width:290px}#boxing-prompt button{display:block;width:100%;margin:6px 0}#water-inline:not([hidden])~#athlete-progress{pointer-events:auto}@media(max-width:600px){.compact-gym-card{font-size:11px;width:min(290px,calc(100% - 28px));padding:10px}#practice-hud{bottom:74px}#vera-prompt{bottom:220px}}

/* One contextual card, with a clear lane for walking on touch screens. */
.scene{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.scene input,.scene textarea{-webkit-user-select:text;user-select:text}
#boxing-prompt{left:auto;right:14px;transform:none;bottom:100px;width:min(310px,calc(100% - 165px));max-height:calc(100% - 190px);overflow:auto;touch-action:pan-y;padding:10px}
#boxing-prompt #vera-prompt{position:static;transform:none;width:100%;max-width:none;font-size:12px;letter-spacing:0}
#boxing-prompt button{min-height:40px;margin:5px 0;padding:8px;font-size:12px}#joystick{z-index:15;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media(max-height:500px){#boxing-prompt{bottom:78px;max-height:calc(100% - 170px)}}
#shop-toggle{position:absolute;top:max(10px,env(safe-area-inset-top));right:62px;z-index:12;width:42px;height:44px;padding:5px;font-size:23px;border-radius:50%;background:#14271eee}.scene #athlete-progress{right:112px!important}.store-shortcuts{display:flex;gap:8px;margin-bottom:15px}.store-shortcuts button{flex:1}.lesson-profile{display:flex;gap:18px;align-items:flex-start}.lesson-profile img{width:135px;height:205px;object-fit:cover;object-position:top;border-radius:14px}.lesson-packages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lesson-packages article{padding:12px;background:#203c2e;border:1px solid #56734b;border-radius:12px}.gear-inventory{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.gear-inventory button{font-size:12px}.station-demo{display:block;max-width:100%;max-height:60dvh;margin:0 auto 12px;border-radius:12px}.practice-actions{display:flex;flex-wrap:wrap;pointer-events:auto}.practice-actions button{flex:1;font-size:11px}#practice-hud{max-width:345px}#practice-combo{flex-wrap:wrap}#equipment-demo{margin-bottom:6px}.cosmetic-grid>.lesson-profile{grid-column:1/-1}@media(max-width:600px){.lesson-profile{gap:12px}.lesson-profile img{width:100px;height:170px}.lesson-profile p{font-size:12px}.lesson-packages article{padding:8px}.practice-actions button{padding:7px 4px}#practice-hud{left:auto;right:10px;transform:none;max-width:calc(100% - 130px)}}

#chat-toggle{position:absolute;right:16px;bottom:112px;z-index:16;border-radius:50%;width:46px;height:46px;font-size:23px;padding:5px}#game-chat{position:absolute;right:10px;bottom:165px;width:min(360px,calc(100% - 20px));max-height:calc(100% - 240px);z-index:20;overflow:auto;background:#10271cf5;border:1px solid #8da66c;border-radius:16px;padding:12px;touch-action:pan-y;-webkit-user-select:text;user-select:text}#game-chat header{padding:0 0 8px;gap:10px}#game-chat header button{margin-left:auto}.chat-modes{display:flex;gap:6px}#chat-identity{display:block;overflow-wrap:anywhere;font-size:10px;color:#b8cba5;margin:8px 0}#chat-status{font-size:11px;line-height:1.4}#chat-messages{list-style:none;padding:0;margin:8px 0;max-height:180px;overflow:auto}#chat-messages li{font-size:12px;border-bottom:1px solid #304f3b;padding:6px 0;overflow-wrap:anywhere}#chat-messages button{border:0;padding:0 4px 0 0;background:none;color:#d4ee9c;font-size:12px}#chat-form{display:flex;gap:6px}#chat-text,#chat-target{min-width:0;width:100%;background:#091e14;border:1px solid #617e50;border-radius:8px;padding:8px;color:#edf5dd;font:inherit;font-size:12px}#chat-form button{font-size:12px;padding:6px}#chat-recipient{font-size:11px}#game-chat [hidden]{display:none!important}

.lesson-discount{display:inline-block;font-size:10px;letter-spacing:.02em;background:#d3ed91;color:#1b301f;padding:3px 7px;border-radius:20px;font-weight:700}
.lesson-packages article{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:34px 14px 14px}.lesson-packages article h3,.lesson-packages article p{margin:0}.lesson-packages article button{width:100%;margin-top:auto}.lesson-packages .lesson-discount{position:absolute;top:8px;right:8px;width:max-content;max-width:100%;color:#17321c!important;font-size:10px!important;line-height:1.2}
.lesson-portrait{width:128px;height:155px;flex-shrink:0;overflow:hidden;border-radius:14px;background:#182c21}.lesson-profile .lesson-portrait img{width:100%;height:auto;max-width:none;border-radius:0;transform:scale(2.5);transform-origin:50% 5%}@media(max-width:600px){.lesson-portrait{width:98px;height:130px}}
.learning-menu,.learning-options{display:grid;gap:12px}.learning-menu button{text-align:left;padding:18px}.learning-menu small{display:block;font-weight:400;margin-top:8px;color:#b9c9b1}.learning-body{display:block;width:145px;height:200px;margin:auto}.learning-correct{outline:2px solid #d5f18b;color:#d5f18b!important;opacity:1!important}.learning-options button{text-align:left;white-space:normal;min-height:52px}#learning-feedback{line-height:1.6}.lesson-profile .lesson-portrait img{transform:none;width:100%;height:100%;object-fit:cover;object-position:50% 8%}
/* Program, inventory and promotion cards */
.settings-program-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.settings-program-title h3{margin:0}.settings-program-title button{margin-bottom:10px}.daily-program{display:grid;gap:14px}.daily-program article{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px;border:1px solid #4b6b50;border-radius:15px;background:#1a3227}.daily-program article.complete{border-color:#b1d77b;background:#263b29}.daily-program img{width:110px;height:130px;object-fit:cover;border-radius:10px}.daily-program small{font-size:10px;color:#c9dfa8}.daily-program h3{margin:6px 0}.daily-program b{font-size:12px;color:#c6dcb9}.daily-program p{font-size:12px;margin:7px 0}.program-actions{display:flex;gap:8px;flex-wrap:wrap}.program-actions button{font-size:12px;padding:10px}.hud-account{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;white-space:nowrap}.hud-line .hud-account #hud-expand{margin-left:0}.scene .hud-line #hud-program{white-space:nowrap;color:#ddf1b7;border:1px solid #718b55;border-radius:9px}.scene .hud-line #hud-xp{display:inline!important}.hud-account #hud-wallet{padding:3px 0;font-size:10px}.luna-profile-card{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-right:25px}.luna-profile-card img{width:58px;height:62px;object-fit:cover;object-position:50% 7%;border:1px solid #a581cf;border-radius:12px}.luna-profile-card small{display:block;font-size:9px}.luna-profile-card strong{margin:3px 0!important;font-size:21px!important}.scene #luna-tip{max-width:290px;right:16px;top:150px;padding:16px;z-index:8}.scene #luna-tip #luna-tip-close{position:absolute;right:8px;top:8px}.scene #luna-tip p{font-size:12px}.scene #luna-tip~#coach{z-index:9}
.lesson-packages article.lesson-package{position:relative;isolation:isolate;overflow:hidden;align-items:center;text-align:center;padding:18px 12px 14px;gap:12px;min-width:0;border-color:#8f5cbd}.lesson-package::before{content:'';position:absolute;inset:-180%;background:conic-gradient(from 0deg,transparent 0 285deg,#7e36c0 310deg,#d6a1ff 340deg,transparent 360deg);animation:lesson-border-orbit 4s linear infinite;z-index:-2;pointer-events:none}.lesson-package::after{content:'';position:absolute;inset:2px;background:#203c2e;border-radius:10px;z-index:-1;pointer-events:none}.lesson-packages .lesson-package .lesson-discount{position:static;align-self:center;margin:0;flex-shrink:0}.lesson-package h3{font-size:20px}.lesson-package p{font-size:17px}.lesson-package button{white-space:normal;line-height:1.3;min-height:46px}.lesson-package.discounted{box-shadow:0 0 16px #ac63e430}.lesson-package.discounted::after{background:linear-gradient(135deg,#2c3f3b,#23392d 70%)}.lesson-package.discounted .lesson-discount{box-shadow:0 0 12px #dfb9ff55}.lesson-package:not(.discounted) h3{margin-top:25px}.wardrobe-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.wardrobe-heading h3{margin:0}.wardrobe-heading span{font-size:11px;color:#baccae}.wardrobe-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0}.wardrobe-tabs button{font-size:12px}.wardrobe-tabs label{font-size:11px;margin-left:auto}.wardrobe-tabs select{background:#203a2e;color:#e2edd8;border:1px solid #69825c;border-radius:8px;padding:8px}.wardrobe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wardrobe-card{min-width:0;border:1px solid #47664b;border-radius:12px;overflow:hidden;background:#142a20}.wardrobe-card button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 0 10px;width:100%;height:100%;border:0;background:transparent;font-size:11px;white-space:normal}.wardrobe-card img{display:block;width:100%;height:105px;object-fit:cover;background:#1b3026;border-radius:0}.wardrobe-card span{padding:0 6px;line-height:1.3}.wardrobe-card small{color:#d5ef8d;font-size:9px}.wardrobe-pages{display:flex;justify-content:center;align-items:center;gap:14px;margin:14px 0}.wardrobe-pages button{font-size:11px;padding:7px 12px}#wardrobe-notice{font-size:12px;color:#c5d8b3}#wardrobe-detail{display:flex;gap:16px;padding:14px;border:1px solid #a2c26b;border-radius:14px;background:#243c2c;margin-bottom:24px}#wardrobe-detail[hidden]{display:none}#wardrobe-detail img{width:105px;height:105px;border-radius:9px;object-fit:cover}#wardrobe-detail h4{margin:0 0 12px}#wardrobe-detail p{font-size:11px}.bag-item-image{padding:0!important;border:0!important;flex-shrink:0;background:transparent!important}.bag-item-image img{width:100%;height:100%;object-fit:contain;pointer-events:none}#bag-content .bag-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#bag-content .bag-products article{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:10px}#bag-content .bag-products article>div{width:100%;display:flex;flex-direction:column;gap:8px}#bag-content .bag-products b{font-size:11px}#bag-content .bag-products .bag-item-image{width:100%;height:100px}#bag-content .bag-products button{font-size:11px;white-space:normal}#bag-content .bag-products strong{font-size:12px}
@keyframes lesson-border-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.lesson-package::before{animation:none}}
@media(max-width:600px){.wardrobe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-card img{height:90px}.wardrobe-tabs label{margin-left:0}.hud-account{flex-basis:100%;margin-left:0}.scene .hud-line #hud-xp{font-size:8px}.daily-program article{grid-template-columns:80px minmax(0,1fr);gap:10px;padding:10px}.daily-program img{width:80px;height:110px}.lesson-package h3{font-size:18px}.lesson-package p{font-size:14px}#bag-content .bag-products{grid-template-columns:repeat(2,minmax(0,1fr))}.scene #luna-tip{max-width:230px;top:150px}}
@media(max-height:500px) and (min-width:601px){.scene #luna-tip{top:85px;max-height:calc(100% - 125px);overflow:auto}.luna-profile-card img{width:42px;height:46px}}
#dialog-body .lesson-packages article.lesson-package{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:18px 12px 14px;border:1px solid #8f5cbd;text-align:center}#dialog-body .lesson-package .lesson-discount{align-self:center;text-align:center;margin-left:auto;margin-right:auto}#dialog-body .wardrobe-card{display:block;padding:0;border:1px solid #47664b}#dialog-body .daily-program article{padding:14px;border:1px solid #4b6b50}#dialog-body .daily-program article.complete{border-color:#b1d77b}
.scene #luna-tip{left:16px;right:auto!important}.scene #hud-expanded{max-height:calc(100% - 100px);overflow:auto}.wardrobe-tabs button[aria-pressed="true"]{background:#d5ed91;color:#173020;border-color:#d5ed91}
@media(max-height:500px){.scene #luna-tip{top:80px!important;max-height:calc(100% - 205px);overflow:auto}}
@media(max-width:600px){#dialog-body .lesson-profile .lesson-portrait{width:90px;height:135px}#dialog-body .lesson-profile{gap:12px}}
.scene #practice-hud{position:absolute;inset:14px 12px auto!important;transform:none!important;width:auto!important;max-width:none!important;max-height:none!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;z-index:13;pointer-events:none;text-align:center}.scene #practice-hud[hidden]{display:none!important}.practice-cue-strip{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto;max-width:460px;padding:8px 18px;border-radius:20px;background:linear-gradient(90deg,#081a1000,#081a1060,#081a1000);text-shadow:0 2px 5px #000}.practice-cue-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.practice-cue-copy small{font-size:9px;color:#ccddb5;letter-spacing:1px}.practice-cue-copy strong{font-size:25px;line-height:1.15;color:#e8f8c0}.practice-cue-copy>span{font-size:13px;color:#fff}.scene #practice-symbol{display:flex;flex-shrink:0;color:#d8ef94;filter:drop-shadow(0 2px 4px #000)}.scene .cue-symbol{display:block;width:70px;height:70px;overflow:visible}.practice-counter{display:flex;flex-direction:column;align-items:center;gap:5px;padding-left:12px;border-left:1px solid #bed58e66;white-space:nowrap}.practice-counter b{font-size:12px}.practice-counter progress{display:block;width:80px;height:5px;accent-color:#cced85;margin:0}.scene #practice-stop{position:absolute;right:0;top:0;pointer-events:auto;width:40px;height:40px;padding:0;font-size:30px;line-height:1;background:#13261a44;border:1px solid #d4e5c277;border-radius:50%;color:#fff;box-shadow:none}.scene #practice-message{max-width:360px;min-height:1.5em;margin:3px auto 0;padding:4px 12px;font-size:12px;color:#edf5d8;text-shadow:0 2px 4px #000;background:#0c1c1255;border-radius:12px}.show-guidance #practice-message{background:#132a1db0;color:#efffd4}.show-guidance .swipe-left .cue-hand{animation:hand-left 1.3s ease-in-out infinite}.show-guidance .swipe-right .cue-hand{animation:hand-right 1.3s ease-in-out infinite}.show-guidance .swipe-down .cue-hand{animation:hand-down 1.3s ease-in-out infinite}.show-guidance .tap-left,.show-guidance .tap-right{animation:cue-tap 1.1s ease-in-out infinite}.practice-active #chat-toggle,.practice-active #game-chat,.practice-active #inventory-toggle,.practice-active #shop-toggle,.practice-active #scene-settings,.practice-active #athlete-progress,.practice-active #lesson-status{visibility:hidden!important;pointer-events:none!important}.practice-active #viewport canvas{touch-action:none;user-select:none;-webkit-user-select:none}
@keyframes hand-left{0%,100%{transform:translateX(12px);opacity:.7}65%{transform:translateX(-12px);opacity:1}}@keyframes hand-right{0%,100%{transform:translateX(-12px);opacity:.7}65%{transform:translateX(12px);opacity:1}}@keyframes hand-down{0%,100%{transform:translateY(-9px);opacity:.7}65%{transform:translateY(9px);opacity:1}}@keyframes cue-tap{50%{transform:scale(.87);opacity:.6}}
#dialog:has(.inventory-paperdoll){width:min(850px,95vw);max-width:95vw}.inventory-paperdoll{display:grid;grid-template-columns:80px minmax(140px,1fr) 80px;gap:14px;align-items:center;margin:16px auto;padding:14px;border:1px solid #8da568;border-radius:18px;background:radial-gradient(ellipse at center,#354833,#0d2018 75%);max-width:540px;box-shadow:inset 0 0 30px #0005}.equipment-slots{display:grid;gap:8px}.inventory-avatar-wrap{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}#wardrobe-avatar{width:100%;max-width:260px;aspect-ratio:280/410;margin:auto}#wardrobe-avatar canvas{display:block;width:100%!important;height:100%!important;object-fit:contain}.inventory-turn{display:flex;align-items:center;justify-content:center;gap:14px}.inventory-turn small{font-size:10px;color:#cae5aa}.inventory-turn button{background:#0a201766;border-color:#78935988;font-size:22px;padding:0 8px}.equipment-slots .equipment-slot{position:relative;aspect-ratio:1;box-shadow:inset 0 0 0 2px #1e3428,0 0 0 1px #77945455;border-radius:9px}.equipment-slots .equipment-slot button{gap:0;padding:0;height:100%;position:relative}.equipment-slots .equipment-slot img{width:100%;height:100%;object-fit:cover}.equipment-slots .equipment-slot small{position:absolute;bottom:0;left:0;right:0;padding:2px;background:#091b15cc;color:#e0ebcb!important;font-size:9px!important;line-height:1.15}.equipment-slot .empty-slot-icon{font-size:28px;color:#688761;opacity:.5;padding:0}.equipment-slot .equipped-check{position:absolute;right:3px;top:1px;font-size:11px;color:#e5fba9;padding:0}.equipment-slot.filled{border-color:#b4d17a!important}.equipment-slot.empty{background:#0b1d15}#dialog-body .inventory-paperdoll .equipment-slot{padding:0;border:1px solid #617749}.inventory-paperdoll+.wardrobe-tabs{border-top:1px solid #49633e;padding-top:14px}
@media(max-width:600px){.practice-cue-strip{gap:7px;max-width:300px;padding:5px 22px 5px 4px}.scene .cue-symbol{width:54px;height:60px}.practice-cue-copy strong{font-size:19px}.practice-cue-copy>span{font-size:11px}.practice-cue-copy small{font-size:8px}.practice-counter{padding-left:6px}.practice-counter b{font-size:10px}.practice-counter progress{width:45px}.scene #practice-stop{width:34px;height:34px;font-size:27px}.scene #practice-message{font-size:11px;max-width:290px;margin-top:0}.inventory-paperdoll{grid-template-columns:58px minmax(100px,1fr) 58px;gap:7px;padding:9px;margin:12px auto}.equipment-slots{gap:7px}.equipment-slots .equipment-slot small{font-size:8px!important}.inventory-turn{gap:6px}.inventory-turn button{font-size:20px;padding:0 5px}.inventory-turn small{font-size:9px}}
@media(max-height:500px) and (min-width:601px){.practice-cue-strip{padding:0 20px;max-width:460px}.scene .cue-symbol{width:56px;height:56px}.practice-cue-copy strong{font-size:22px}.scene #practice-message{margin-top:0;font-size:11px}}
@media(prefers-reduced-motion:reduce){.show-guidance .cue-hand,.show-guidance .tap-left,.show-guidance .tap-right{animation:none!important}}
/* Luna, nutrition and DJ: compact controls, consistent with the gym palette. */
#lesson-start{display:block;margin:24px auto 10px;min-height:48px;padding:12px 26px;position:relative;clear:both}
.settings-lesson-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.settings-lesson-actions button{margin:0}
.lesson-portrait img{object-position:50% 8%;object-fit:cover}.lesson-profile .lesson-portrait{aspect-ratio:4/5;overflow:hidden;border-radius:22px}.lesson-profile .lesson-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.04)}
#hunger-meter.nutrition-critical{border:2px solid #ed5a59;color:#ffb0a8;animation:nutritionAlarm 1.2s ease-in-out infinite}
@keyframes nutritionAlarm{50%{box-shadow:0 0 14px #f33a3a77;border-color:#ffb3aa}}
.nutrition-low #viewport::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 60px #bc272738;animation:nutritionAlarm 1.2s infinite}
.nutrition-low #viewport canvas{animation:lowEnergy 3s ease-in-out infinite}@keyframes lowEnergy{50%{transform:translate(.7px,.4px) rotate(.08deg)}}
#dj-action{left:18px;right:auto;top:110px;bottom:auto;width:auto;padding:12px 18px}.dj-tracks{display:grid;gap:12px}.dj-tracks button[aria-pressed=true]{border-color:#c075f2;background:#513065;color:#fff}
@media(prefers-reduced-motion:reduce){.nutrition-low #viewport canvas,#hunger-meter.nutrition-critical,.nutrition-low #viewport::after{animation:none}}
#dialog-body .lesson-profile .lesson-portrait{width:118px;height:174px;border-radius:18px;background:#193027}
#dialog-body .lesson-profile .lesson-portrait img{width:100%;height:auto;transform:scale(2.15);transform-origin:50% 6%;object-fit:cover;mask-image:none}
@media(max-width:600px){#dialog-body .lesson-profile .lesson-portrait{width:96px;height:145px}}
.practice-active #set-hud{display:none!important}.boxing-impact #viewport{box-shadow:inset 0 0 28px #d1ed8a60}.boxing-impact #viewport canvas{filter:brightness(1.08)}
#deck-control{width:180px;height:180px;border-radius:50%;background:repeating-radial-gradient(#26342f 0 5px,#0c1713 6px 8px);border:3px solid #8b61b8;margin:20px auto;display:grid;place-items:center;touch-action:none;cursor:grab}#deck-control span{font-size:90px;color:#c9e18c;pointer-events:none}.deck-buttons{display:flex;justify-content:center;gap:20px}
#inspection-toggle{position:absolute;z-index:10;right:18px;top:108px;width:46px;height:46px;border-radius:50%;background:#203c2de6;border:1px solid #afc478;color:#d9ef99;font-size:30px}#inspection-panel{position:absolute;z-index:20;left:18px;top:110px;background:#173026ef;border:1px solid #9cb67c;border-radius:18px;padding:12px;max-width:330px;color:#e6eddc}#inspection-panel>div{display:flex;align-items:center;gap:8px;justify-content:space-between}#inspection-panel button{padding:7px 12px;min-height:36px}#inspection-panel p{font-size:12px;line-height:1.4;margin:8px 0 0}.practice-active #inspection-toggle,.practice-active #inspection-panel{display:none!important}
@media(max-width:600px){#inspection-panel{top:158px;left:10px;max-width:calc(100% - 80px)}#inspection-toggle{right:12px;top:112px}}
/* Both orientations, touch-safe bounded camera and product inspection. */
.view-zoom{position:absolute;right:16px;top:110px;display:flex;gap:6px;z-index:8}.view-zoom button{min-width:44px;min-height:44px;background:#142c22d9;border:1px solid #94af72;border-radius:14px;color:#e3f4cd;font-size:22px}.practice-active .view-zoom,.training-active .view-zoom{display:none}.product-inspector{width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#142d23;color:#e9efdc;border:1px solid #a6bf7b;border-radius:24px;padding:22px;box-sizing:border-box}.product-inspector h2{font-size:22px;padding-right:40px}.product-inspector-close{position:absolute;right:14px;top:14px}.product-inspector-stage{width:100%;overflow:hidden;border-radius:18px}.product-inspector-stage canvas{max-width:100%;display:block}.product-inspector button{min-width:44px;min-height:44px}.product-inspector::backdrop{background:#06110dd9}.inspect-product-button{margin-top:8px!important;width:100%}.vinyl-label{display:flex!important;align-items:center;justify-content:center;flex-direction:column;width:40%!important;height:40%!important;border-radius:50%;background:conic-gradient(#8734bc,#5072df,#ceab44,#4a2e98,#8734bc)!important;border:1px solid #c6b1ee!important;box-shadow:0 0 20px #b16fe34d;animation:vinyl-spin 7s linear infinite;font-family:system-ui}.vinyl-label b{font-size:clamp(16px,3vw,28px)}.vinyl-label small{font-size:10px;letter-spacing:2px}.music-note{position:absolute;color:#d9edbd;font-style:normal;pointer-events:none;animation:note-rise 2.8s ease-out infinite;left:15%;top:70%;font-size:32px}.music-note:last-child{left:78%;animation-delay:1.4s}@keyframes vinyl-spin{to{rotate:360deg}}@keyframes note-rise{0%{translate:0 0;opacity:0}20%{opacity:.9}100%{translate:16px -100px;opacity:0}}
@media(max-width:600px){html,body{max-width:100%;overflow-x:hidden}.view-zoom{right:12px;top:100px;flex-direction:column}.cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cosmetic-card{min-width:0}.cosmetic-card h3{font-size:15px}.cosmetic-card button{padding:9px;font-size:13px;min-height:44px}#dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px;box-sizing:border-box}#dialog h2{font-size:23px;padding-right:34px;overflow-wrap:anywhere}#close{position:absolute;right:10px;top:10px}.hud-strip{flex-wrap:wrap}.product-inspector{padding:15px}.scene{min-height:68dvh}body.immersive .scene{min-height:100dvh}#deck-control{width:min(48vw,220px);height:min(48vw,220px)}.dj-tracks button{width:100%;font-size:15px;min-height:46px}}
@media(max-height:500px) and (orientation:landscape){#dialog{max-height:calc(100dvh - 16px);overflow-y:auto}#deck-control{width:130px;height:130px}.dj-tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dj-tracks button{font-size:13px}.view-zoom{top:90px;right:14px}#inspection-panel{max-height:calc(100dvh - 115px);overflow:auto}.product-inspector-stage{max-height:52dvh}.scene{min-height:85dvh}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}body>header,.intro{display:none}.scene{height:100dvh}main{padding-top:0}}
@media(prefers-reduced-motion:reduce){.vinyl-label,.music-note{animation:none}}
#deck-control{position:relative}#deck-control .vinyl-label{font-size:16px}.product-inspector-stage{touch-action:none}.view-zoom{right:18px;top:160px}.view-zoom button{backdrop-filter:blur(6px)}
@media(max-width:600px){.view-zoom{right:10px;top:165px}}@media(max-height:500px) and (orientation:landscape){.view-zoom{top:140px;flex-direction:row}}.immersive-game .view-zoom{right:max(12px,env(safe-area-inset-right))}

/* Keep the player visible while composing on a phone. */
.scene #game-chat{box-sizing:border-box;right:10px;bottom:105px;top:auto;width:min(290px,48%);max-height:min(285px,43%);padding:9px;border-radius:12px;box-shadow:0 5px 20px #0005;overscroll-behavior:contain}
.scene #game-chat header{display:flex;align-items:center;min-height:28px;padding:0 0 5px;margin:0;background:none;font-size:13px;position:static;border:0}
.scene #game-chat header strong{font-size:13px}.scene #game-chat header button{width:30px;height:30px;min-height:30px;padding:0;font-size:20px}
.scene #game-chat .chat-modes button{font-size:11px;padding:5px 9px;min-height:30px}.scene #chat-status{margin:5px 0;font-size:10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene #chat-identity:empty{display:none}.scene #chat-messages{max-height:72px;margin:5px 0}.scene #chat-text,.scene #chat-target{font-size:16px;padding:6px;min-height:34px}.scene #chat-form button{font-size:11px;min-height:34px}.scene #chat-recipient{margin:4px 0}
@media(orientation:portrait){.scene #game-chat{width:min(260px,66%);max-height:28%;bottom:118px;right:8px}.scene #chat-messages{max-height:52px}.scene #chat-identity{font-size:9px;margin:3px 0}}
@media(max-height:500px) and (orientation:landscape){.scene #game-chat{width:280px;max-height:45%;bottom:65px}.scene #chat-messages{max-height:42px}}
.game-language{display:inline-flex;align-items:center;gap:6px;font-size:12px;max-width:100%}.game-language select{font:inherit;min-height:36px;border:1px solid #56745c;border-radius:8px;background:#152c23;color:#edf5e7;padding:5px 8px}html[lang=ar] dialog,html[lang=ar] .panel,html[lang=ar] #business-panel,html[lang=ar] .shop-summary{direction:rtl;text-align:right}html[lang=ar] #viewport,html[lang=ar] #stage,html[lang=ar] #joystick{direction:ltr}
.game-language select,#settings-language{font-weight:800;font-size:15px;min-height:40px;background:#193b2b;color:#edf4e4;border:1px solid #6e8b54;border-radius:9px;padding:7px 10px}.business-guide{border:1px solid #8dad54;border-radius:16px;padding:18px;background:#172d22;margin-bottom:20px}.business-guide strong{font-size:20px}#business-hud{position:absolute;z-index:12;top:12px;left:12px;max-width:min(520px,calc(100% - 112px));background:#102c23ee;border:1px solid #a7c76e;border-radius:16px;padding:12px;display:grid;gap:6px;color:#eef5dc;font-size:13px}#business-hud[hidden]{display:none}#business-hud button{min-height:34px;padding:5px 10px;justify-self:start}

#room-toggle{position:absolute;right:1rem;bottom:11rem;width:3.4rem;height:3.4rem;border-radius:50%;z-index:5;background:#18372c;color:#e4f5b1;border:1px solid #91a85d}#online-room{position:absolute;right:1rem;bottom:15rem;width:min(340px,calc(100% - 2rem));background:#10251ef5;border:1px solid #91a85d;border-radius:20px;padding:18px;z-index:30;max-height:70%;overflow:auto}#online-room[hidden]{display:none}#online-room header{display:flex;justify-content:space-between;align-items:center}#online-room input{box-sizing:border-box;width:100%;padding:10px;background:#203c31;border:1px solid #779779;color:#f1f4df;border-radius:8px}#room-messages{height:160px;overflow:auto;padding:0;list-style:none;word-break:break-word}#room-messages li{padding:8px 0;border-bottom:1px solid #ffffff18}#room-status,#room-count{color:#d4ed91}#online-room small{display:block;margin-top:12px;color:#b4c5b8}#room-form{display:flex;gap:6px}

#training-summary[hidden],#physique-overview[hidden]{display:none!important}

#club-desk-toggle{position:absolute;right:14px;top:140px;z-index:8;background:#d4ee91;color:#14271d;border:1px solid #91a866;border-radius:14px;padding:12px 18px;font-weight:800}#club-desk-toggle:disabled{opacity:.5}.club-desk nav{display:flex;gap:7px;flex-wrap:wrap;position:sticky;top:0;background:#162f23;padding:10px 0;z-index:2}.club-desk nav button[aria-pressed=true]{background:#d5ed96;color:#15281d}.desk-content article{border:1px solid #476349;border-radius:16px;padding:16px;margin:12px 0}.desk-content button{margin:5px}.desk-metrics{display:flex;gap:12px;flex-wrap:wrap;padding:16px;border-radius:14px;background:#0c2118}.desk-metrics span,.desk-metrics b{display:block}.desk-equipment{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #385441;padding-top:10px}.desk-equipment small{display:block;width:100%}#desk-notice{color:#d7ed9c;min-height:1.2em}.game-guide p{line-height:1.8}.game-guide progress{width:100%;accent-color:#cce894}.guide-controls{display:flex;gap:8px;flex-wrap:wrap}.fitcoin-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fitcoin-pack-grid article{border:1px solid #688149;border-radius:18px;padding:18px;background:#20372a}.fitcoin-pack-grid h3{color:#dbef9d}.fitcoin-store small{display:block;line-height:1.6}.immersive-game #club-desk-toggle{top:165px}.immersive-game #business-hud{max-width:min(460px,65vw)}@media(max-width:600px){.fitcoin-pack-grid{grid-template-columns:1fr}#club-desk-toggle{top:170px;font-size:12px;padding:10px}.immersive-game #club-desk-toggle{top:195px}}
#reward-chest{position:absolute;left:16px;top:230px;z-index:12;width:44px;height:44px;padding:4px;border-radius:12px;font-size:25px;background:#253b27;border-color:#c5db82}body:has(#dialog[open]) #reward-chest{pointer-events:none}@media(max-height:500px){#reward-chest{top:165px;left:12px;width:36px;height:36px;font-size:21px}}
