/* Mother04/05: source pixels and game clocks retained. All sizing is uniform. */
#game[data-route="training"] .training63-scene{position:absolute;inset:0}
#game[data-route="training"] .world-scene .room.layered{left:-42.375px;right:-42.375px;mask-image:none;background-size:100% 100%}
#game .training63-scene[data-kind="sport"] .room.layered{background-image:url('assets/rope-room-v63.webp')}
#game .training63-scene[data-kind="music"] .room.layered{background-image:url('assets/music-room-v63.webp')}
#game[data-route="training"] .world-prop:is(.rug,.bookshelf,.curtains,.wall-art,.lamp,.stool,.leaf-plant,.book-stack,.bed){visibility:hidden}
#game[data-route="training"] .training-title.core57-title{top:15px;left:40px;right:auto;width:310px;height:169px;margin:0;padding:0;background:none}
#game[data-route="training"] .training63-scene .round-button{top:28px!important;right:-17px!important;width:50px;height:50px}
#game[data-route="training"] .train-status{position:absolute;inset:0;display:block;pointer-events:none}
#game[data-route="training"] .timer63-shell{position:absolute;left:52px;top:210px;width:286px;height:95.333px}
#game .training63-scene[data-kind="music"] .timer63-shell{top:136px;height:95.553px}
#game[data-route="training"] .timer63-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#game[data-route="training"] .timer63-track{position:absolute;left:18.8%;top:43.2%;width:61.8%;height:14.4%;overflow:hidden;border-radius:12px}
#game .training63-scene[data-kind="music"] .timer63-track{left:16.4%;top:39.5%;width:60%;height:18.1%}
#game[data-route="training"] .timer63-fill{height:100%;width:calc(var(--train-remaining,1) * 100%);background:linear-gradient(#96ddff,#49b7ef 55%,#258dd7);border-radius:12px;box-shadow:inset 0 1px 0 #e6f8ff,0 0 2px #5391a5}
#game .training63-scene[data-kind="music"] .timer63-fill{background:linear-gradient(#fff29a,#ffd649 55%,#efa91b);box-shadow:inset 0 1px 0 #ffffd5}
#game[data-route="training"] .train-status .time{position:absolute;left:82.3%;top:40%;width:16%;font-size:14px;line-height:24px;text-align:center;white-space:nowrap;font-weight:900;color:#593315;background:none;text-shadow:0 1px #fff4cf}
#game .training63-scene[data-kind="music"] .time{top:38.5%;color:#fff8e8;text-shadow:0 1px #73451d}
#game[data-route="training"] .beat-dots{position:absolute;top:179px;left:88px;width:214px;height:52px;display:flex;justify-content:space-between;gap:0}
#game .training63-scene[data-kind="music"] .beat-dots{top:194px}
#game[data-route="training"] .beat-dot{display:block;position:relative;width:52px;height:52px;border:0;box-shadow:none;border-radius:0;background:url('assets/beat-socket-v63.webp') center/contain no-repeat}
#game[data-route="training"] .beat-dot.hit{filter:brightness(1.22) saturate(1.3);box-shadow:none}
#game[data-route="training"] .beat-dot.hit::after{content:'✓';position:absolute;inset:4px;display:grid;place-items:center;font-size:27px;color:#986017;text-shadow:0 1px #fff8d8;font-style:normal;font-weight:900}
#game[data-route="training"] .beat-dot.miss{filter:grayscale(.55) brightness(.7);box-shadow:none}
#game[data-route="training"] .beat-dot.current{filter:sepia(.2) saturate(2) brightness(1.1);outline:2px solid #ffcf69;outline-offset:-8px;border-radius:50%}
#game .training63-scene[data-kind="sport"] .pet{width:365px;height:365px;left:12.5px;top:244px}
#game .training63-scene[data-kind="music"] .pet{width:340px;height:340px;left:25px;top:360px}
#game .training63-scene[data-kind="sport"] :is(.rhythm-ring,.timing-ring){left:70px;top:628px;width:250px;height:72px}
#game .training63-scene[data-kind="music"] .rhythm-ring{display:none}
#game[data-route="training"] .music63-lane{position:absolute;top:238px;left:164px;width:62px;height:180px;background:linear-gradient(90deg,#ffe4a500,#ffc38a44 15%,#ffa97766 50%,#ffc38a44 85%,#ffe4a500);border-inline:1px solid #fff3c044;z-index:4;pointer-events:none}
#game[data-route="training"] .gold-line{top:418px;left:100px;width:190px}
#game[data-route="training"] .music-note{width:49px;height:50.027px;left:195px}
#game[data-route="training"] .note63-art{width:100%;height:100%;object-fit:contain}
#game[data-route="training"] .instrument63-art{position:absolute;left:-15px;top:550px;width:420px;height:143.922px;object-fit:contain;z-index:4;pointer-events:none}
#game[data-route="training"] .training-help{left:-10px;right:auto;top:693px;width:410px;height:153.75px;padding:0;background:none;border:0;box-shadow:none;border-radius:0;isolation:auto}
#game[data-route="training"] .training-help::before{display:none}
#game .training63-scene[data-kind="music"] .training-help{top:674px}
#game[data-route="training"] .help63-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#game[data-route="training"] .training-help small{position:absolute;top:124px;left:10px;right:10px;font-size:10px;line-height:1.2;margin:0;color:#4b2c15;text-shadow:0 1px #fff8e8}
#game .training63-scene[data-kind="music"] .training-help small{top:140px}
#game[data-route="training"] .train-result{top:290px;font-size:34px}

/* C3: luminous timing effects match the reference; their positions/clocks are unchanged. */
#game[data-route="training"] .rhythm-ring{border-color:#ffe46c;box-shadow:0 0 0 2px #fff6a2,0 0 12px #ffd755,inset 0 0 8px #ffdc7b}
#game[data-route="training"] .timing-ring{border-color:#fff8cd;box-shadow:0 0 5px #ffdc79}
#game[data-route="training"] .gold-line{height:3px;border-radius:999px;background:#fff5b6;box-shadow:0 0 0 1px #ffd858,0 0 8px #ffc12c}
