.garden-window{height:145px;margin-bottom:16px;position:relative;overflow:hidden;border:1px solid #cbdcc8;border-radius:13px;background:radial-gradient(circle at 72% 15%,#fff4ca 0 8%,transparent 8.4%),linear-gradient(140deg,#c8e5dd,#eaf0d6 70%)}.garden-land{position:absolute;width:120%;height:95px;left:-10%;bottom:-50px;background:#90b48b;border-radius:50%;box-shadow:100px -28px 0 #b5c9a3}.garden-trainer{position:absolute;left:32%;bottom:2px;width:135px;animation:garden-idle 3s ease-in-out infinite}.garden-companions{position:absolute;left:58%;bottom:9px;display:flex}.garden-companions svg{width:58px;margin-left:-12px;animation:garden-idle 3s ease-in-out infinite .4s}.garden-label{position:absolute;left:20px;top:35px;color:#456752}.garden-label span{display:block;font-size:10px;letter-spacing:.12em}.garden-label b{font-family:'Noto Serif JP',serif;display:block;font-size:23px;margin-top:8px}.garden-spark{position:absolute;color:#fff7ce;font-size:22px;font-style:normal;animation:garden-idle 2s infinite}.s1{right:18%;top:18px}.s2{left:29%;bottom:25px}.train.resonance{background:linear-gradient(125deg,#fff8da,#fffdf3);border-color:#c7a14b}.train.resonance .train-label{background:#bc9143;color:#fff}.train.resonance .train-icon{color:#be873c}.train:hover:not(:disabled){box-shadow:0 9px 24px #36564319}.practice-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#102923bf;backdrop-filter:blur(8px);padding:18px;--fxgold:#ffe19b}.practice-cinema{position:relative;isolation:isolate;width:min(780px,100%);max-height:94dvh;overflow:auto;background:#f8f6ec;border:1px solid #e5e0c9;border-radius:22px;box-shadow:0 30px 110px #07171380;animation:practice-enter .25s ease-out}.practice-top{display:flex;justify-content:space-between;align-items:center;padding:17px 25px;color:#728373;font-size:10px;letter-spacing:.12em}.practice-skip{border:0;background:transparent;color:#69796b;font-size:11px;padding:8px;min-height:36px}.practice-heading{text-align:center;padding:5px 18px 20px;min-height:113px}.practice-kicker{font-size:10px;letter-spacing:.28em;color:#9f864e}.practice-heading h2{font-size:32px;margin:8px 0;color:#254e40}.practice-heading p{font-size:12px;color:#7e8776}.practice-stage{height:280px;position:relative;overflow:hidden;background:linear-gradient(#c4ded5,#edf0d3);border-top:1px solid #e2e6d2;border-bottom:1px solid #d3debc}.stage-sun{position:absolute;right:16%;top:15px;width:75px;height:75px;border-radius:50%;background:#fff3c3;box-shadow:0 0 60px #fff7c9}.stage-hill{position:absolute;border-radius:50%;width:85%;height:170px;bottom:-100px;background:#91ae86}.stage-hill.far{left:-15%;bottom:-64px;background:#b0c5a0;transform:rotate(9deg)}.stage-hill.near{right:-15%;bottom:-50px;transform:rotate(-12deg)}.stage-floor{position:absolute;left:18%;bottom:24px;width:65%;height:85px;border-radius:50%;background:#dde2b2;box-shadow:0 6px 0 #a8bc8c}.stage-circle{position:absolute;left:30%;bottom:38px;width:40%;height:90px;border-radius:50%;border:2px solid #fff5c4;opacity:.7}.practice-lead{position:absolute;left:calc(50% - 96px);bottom:31px;width:182px;z-index:4;animation:train-hop .5s ease-in-out .22s 2}.practice-lead svg{width:100%;filter:drop-shadow(0 9px 3px #2f584322)}.practice-friends{position:absolute;bottom:16px;left:5%;right:5%;display:flex;justify-content:center;gap:32px;z-index:5;pointer-events:none}.practice-friend{width:52px;text-align:center;animation:friend-arrive .5s backwards var(--delay)}.practice-friend svg{width:56px}.practice-friend span{display:block;font-size:9px;color:#465b39;background:#f8f8eabf;border-radius:8px;padding:1px 4px}.practice-prop{position:absolute;z-index:3;left:60%;bottom:68px;width:88px;height:100px}.practice-rock{position:absolute;bottom:0;width:80px;height:69px;background:linear-gradient(120deg,#afbcad,#788f84);clip-path:polygon(20% 0,75% 8%,100% 55%,80% 100%,10% 91%,0 30%);border-top:9px solid #bfcbb9;animation:rock-shake .25s .5s 3}.impact{font-size:75px;position:absolute;left:-15px;top:-4px;color:#fff2b8;animation:impact-pop .45s .45s 2 backwards}.target-ring{border:8px solid #bd9271;border-radius:50%;width:83px;height:83px;background:radial-gradient(circle,#ca865a 0 17%,#f3e6ba 18% 34%,#91ae8b 35% 52%,#f3e6ba 53%);text-align:center;line-height:67px;color:#fff6bb;font-size:28px;animation:target-spin .8s ease-in-out}.weight{display:flex;align-items:center;position:absolute;left:-53px;bottom:14px;animation:weight-lift .65s 2}.weight i{display:block;width:25px;height:44px;border-radius:7px;background:#688977;border:4px solid #8eaa8a}.weight b{width:90px;height:8px;background:#acb8a1}.wind-lines{font-size:65px;line-height:.42;color:#f9fff0;animation:wind-run .4s infinite}.step-stones{display:flex;gap:12px;transform:rotate(-15deg)}.step-stones i{width:25px;height:18px;border-radius:50%;background:#8ba582;box-shadow:0 5px 0 #6d8d6c}.focus-orb{position:absolute;left:-45px;top:0;width:90px;height:90px;border-radius:50%;display:grid;place-items:center;font-size:52px;color:#fff9d4;background:radial-gradient(#fff8cd,#b8dad08a 60%,transparent 70%);animation:orb-breathe .7s infinite alternate}.exercise-1 .practice-lead{animation:train-lean .45s .2s 2}.exercise-2 .practice-lead{animation:train-squat .65s .2s 2}.exercise-3 .practice-lead{animation:train-run .25s .2s 4}.exercise-4 .practice-lead{animation:train-hop .5s .2s 2}.exercise-5 .practice-lead{animation:train-float 1.1s ease-in-out}.practice-particles{position:absolute;inset:0;pointer-events:none;z-index:6;opacity:0}.practice-particles i{position:absolute;left:var(--x);top:var(--y);color:#fffbe5;font-size:22px;font-style:normal;text-shadow:0 0 12px #f9c464}.resonance-rays{position:absolute;width:380px;height:380px;left:calc(50% - 190px);top:-60px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffedb038 0deg 10deg,transparent 11deg 30deg);opacity:0}.resonance .resonance-rays{opacity:1;animation:ray-turn 12s linear infinite}.resonance .practice-stage{background:radial-gradient(ellipse at center,#fbebae,#c1d7b9 60%,#9ac1b0)}.resonance-node{position:absolute;top:calc(25px + mod(var(--n), 2)*30px);left:calc(12% + var(--n)*13%);width:34px;height:34px;border:1px solid #e5e5b0;border-radius:50%;display:none;place-items:center;color:#8c9c7e;background:#edf1d7a1;z-index:2}.resonance .resonance-node{display:grid}.resonance-node.active{background:#fff1af;color:#b2842c;box-shadow:0 0 17px #fff4b3;animation:node-converge 1.1s .2s both}.boost .stage-circle,.resonance .stage-circle{box-shadow:0 0 0 10px #ffe6a333,0 0 40px #fff4b3;animation:orb-breathe .7s infinite alternate}.practice-hit-label{position:absolute;z-index:7;top:28px;left:0;right:0;text-align:center;color:#42583c;font-size:16px;font-weight:800;opacity:0;animation:impact-pop .7s .35s both}.resonance .practice-hit-label{top:95px;color:#81591f;font-size:20px;text-shadow:0 1px 8px #fff5c1}.practice-results{min-height:119px;padding:19px 24px 10px}.practice-score{display:flex;justify-content:center;gap:12px;min-height:54px;align-items:center}.score-chip{min-width:94px;display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:10px;background:#e9eddd;animation:score-pop .4s backwards var(--delay)}.score-chip span{font-size:13px}.score-chip strong{font-size:25px;font-variant-numeric:tabular-nums}.score-0{background:#f7e3d3;color:#a55e36}.score-1{background:#dfedf1;color:#427d95}.score-2{background:#e3eccf;color:#6c893d}.score-3{background:#ece2f1;color:#956caa}.practice-bonds{text-align:center;font-size:10px;color:#8b7958;margin-top:10px;line-height:1.8}.practice-bottom{padding:10px 24px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.practice-hint{color:#8b8065;font-size:11px}.practice-next{border:0;background:#28664f;color:#fff;padding:12px 23px;border-radius:8px;font-weight:700;font-size:12px}.practice-next:disabled{opacity:.3}.result-visible .practice-lead{animation:garden-idle 2.4s ease-in-out infinite}.result-visible .practice-hit-label{display:none}.result-visible .practice-particles{opacity:1}.result-visible .practice-particles i{animation:spark-drift 1.8s ease-out both var(--delay)}.result-visible .practice-prop{opacity:.65}.fail .practice-stage{filter:saturate(.6)}.fail .practice-hit-label{display:none}.fail.result-visible .practice-particles{display:none}.fail.result-visible .practice-lead{transform:rotate(-9deg);animation:none}.fail .practice-heading h2{font-size:24px;color:#65725c}.quick .practice-stage *{animation:none!important}.quick .practice-hit-label{display:none}body:has(.practice-overlay){overflow:hidden}@keyframes garden-idle{50%{transform:translateY(-5px)}}@keyframes practice-enter{from{opacity:0;transform:translateY(14px) scale(.97)}}@keyframes train-hop{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(8px) scale(1.08,.9)}60%{transform:translateY(-25px) scale(.96,1.04)}}@keyframes train-lean{50%{transform:translateX(24px) rotate(12deg)}}@keyframes train-squat{50%{transform:translateY(10px) scale(1.08,.92)}}@keyframes train-run{50%{transform:translateY(-9px) rotate(-6deg)}}@keyframes train-float{50%{transform:translateY(-20px)}}@keyframes friend-arrive{from{opacity:0;transform:translateY(25px) scale(.6)}}@keyframes rock-shake{50%{transform:translateX(7px) rotate(7deg)}}@keyframes impact-pop{0%{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}@keyframes target-spin{from{transform:rotate(-50deg) scale(.6)}}@keyframes weight-lift{50%{transform:translateY(-22px)}}@keyframes wind-run{from{transform:translateX(35px);opacity:0}to{transform:translateX(-30px);opacity:1}}@keyframes orb-breathe{to{transform:scale(1.12);opacity:.65}}@keyframes ray-turn{to{transform:rotate(360deg)}}@keyframes node-converge{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}@keyframes score-pop{from{opacity:0;transform:translateY(20px) scale(.6)}60%{transform:translateY(-3px) scale(1.12)}}@keyframes spark-drift{0%{opacity:0;transform:translateY(16px) scale(.2)}25%{opacity:1}100%{opacity:0;transform:translateY(-45px) rotate(var(--angle)) scale(.7)}}@media(max-width:600px){.practice-overlay{padding:10px}.practice-top{padding:10px 14px;font-size:9px}.practice-heading{min-height:97px;padding-bottom:12px}.practice-heading h2{font-size:25px}.practice-stage{height:230px}.practice-lead{width:145px;left:calc(50% - 80px);bottom:35px}.practice-friends{gap:9px}.practice-friend,.practice-friend svg{width:43px}.practice-results{padding:14px 12px 8px}.practice-score{gap:6px}.score-chip{min-width:0;flex:1;padding:10px 8px;gap:5px;justify-content:center}.score-chip strong{font-size:21px}.practice-bottom{padding:10px 14px 16px;flex-wrap:wrap}.practice-next{margin-left:auto}.garden-window{height:120px}.garden-label{left:14px;top:28px}.garden-label b{font-size:20px}.garden-trainer{width:110px;left:36%}.garden-companions{left:63%}.garden-companions svg{width:46px}header .nav{flex-wrap:wrap;justify-content:flex-end;gap:4px}header{height:auto;min-height:76px;padding-top:10px;padding-bottom:10px}header .brand{white-space:nowrap}header .nav button{font-size:9px;padding:6px}.practice-prop{transform:scale(.8);transform-origin:bottom left}.resonance .practice-hit-label{font-size:16px}}@media(prefers-reduced-motion:reduce){.practice-overlay *, .garden-window *{animation:none!important;transition:none!important}.practice-hit-label{display:none}}
