/* B 栗子甲 trial. Original artwork and base theme remain available for rollback. */
#app .focus-scene{height:460px;min-height:460px;background:#f8f3e9;box-shadow:0 8px 24px #715c3710;border:1px solid #e6dccb}
#app .focus-effort-overlay,#app .dust-cloud{display:none}
#app .push-rig{left:0;right:0;bottom:80px;height:250px;animation:none;transform:none}
#app .push-rig::before,#app .push-rig::after{display:none}
#app #focusMotionCanvas{left:0;bottom:0;width:100%;height:auto;filter:none}
#app #xiaojiaFocusFrame{left:9.375%;bottom:2px;width:81.25%;height:auto;aspect-ratio:auto;filter:none;animation:none;transform:none}
#app .timer-cluster{top:22px;color:#503e32;text-shadow:none}
#app .timer-cluster strong{font-size:54px;letter-spacing:-1px}
#app .focus-state{color:#65513f;background:#eee5d6;border:0;backdrop-filter:none}
#app .focus-state::before{background:#9bab83;box-shadow:none}
#app #sessionDistance{color:#6a5642;background:transparent;border:0;box-shadow:none;text-shadow:none;backdrop-filter:none;font-size:11px}
#app .timer-cluster .session-intent{color:#65513f;background:#f0e7d8;border:0;box-shadow:none}
#app .scene-caption{left:14px;right:14px;bottom:16px;color:#705c45}
#app .scene-caption p{max-width:none;color:#705c45;background:#f1e7d6;border:0;border-radius:14px;box-shadow:none;text-shadow:none;font-family:inherit;font-size:11px;line-height:1.5;white-space:normal;overflow:visible;backdrop-filter:none}
#app .scene-caption p::after{display:none}
#app .wind-indicator,#app .scene-milestone{color:#77654c;background:transparent;border:0;text-shadow:none;backdrop-filter:none}
#app .focus-progress{background:#e8dfcf}
#app .focus-progress span{background:#9bab83}
#app .primary-action,#app .primary-action.running{background:#60798d;box-shadow:0 6px 16px #60798d20;border-radius:18px}
#app .primary-action small{color:#f5f4f0}
#app .duration.active{background:#60798d;border-color:#60798d;box-shadow:none}
#app .focus-intent{background:#f2ebdf;border-color:#e6dccb;box-shadow:none}
#app .focus-intent input{color:#503e32;background:transparent}
#app .focus-intent .intent-heading,#app .focus-intent .intent-heading small,#app .focus-intent em{color:#77644f}
#app .focus-intent input::placeholder{color:#8c7b67}
#app .growth-avatar .mascot-shell,#app .profile-button .mascot-shell{width:36px;height:36px;background:url('./master-v2/idle.webp') center 45% / cover no-repeat;border:0;border-radius:50%;box-shadow:none;transform:none}
#app .growth-avatar .mascot-shell::before,#app .growth-avatar .mascot-shell::after,#app .profile-button .mascot-shell::before,#app .profile-button .mascot-shell::after{display:none}
#app[data-theme="night"] .focus-scene{background:#f1e9db;border-color:#847661;box-shadow:none}
#app[data-theme="night"] .focus-intent{background:linear-gradient(135deg,#243d5b,#192e49);border-color:#5b7188;box-shadow:0 7px 17px #07112355}
#app[data-theme="night"] .focus-intent .intent-heading strong{color:#fff4df}
#app[data-theme="night"] .focus-intent .intent-heading small,#app[data-theme="night"] .focus-intent em{color:#cbd7e4}
#app[data-theme="night"] .focus-intent input{color:#fff4df}
#app[data-theme="night"] .focus-intent input::placeholder{color:#d6e1eb}
#app[data-theme="night"] .focus-intent .intent-field{border-color:#60778f;background:#112640;box-shadow:inset 0 1px 3px #040c193d}
#app[data-theme="night"] #intentCount{color:#fff4df;background:#dbe5ef24}
#completionEmotionArt{filter:none;border-radius:22px}
@media(max-width:360px){#app .focus-scene{height:450px;min-height:450px}#app .push-rig{bottom:84px}}

/* Restore the journey environment behind the pixel-preserved transparent B. */
#app .focus-scene .scene-world{display:block;background:#efcf9a}
#app .focus-scene .scene-background{width:112%;height:112%;left:-6%;top:-6%;object-fit:cover;object-position:center;transform:scale(1.08) translate3d(0,0,0);animation:none;filter:saturate(1.04) contrast(1.07)}
#app .focus-scene.focusing .scene-background{animation:storybook-desert-drift 68s ease-in-out infinite alternate;filter:saturate(1.04) contrast(1.07)}
/* Light falls across the original illustration without replacing its artwork. */
#app:not([data-theme="night"]) .scene-world::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 18% 9%,rgba(255,229,158,.24),transparent 56%);mix-blend-mode:soft-light}
#app .focus-scene .midground-drift{display:block;opacity:0;filter:blur(1px)}
#app .focus-scene.focusing .midground-drift{opacity:.25;animation:storybook-midground-drift 28s ease-in-out infinite alternate}
#app .distant-wind{z-index:4;height:2px;filter:drop-shadow(0 1px 1px rgba(99,69,35,.18))}
#app .focus-scene.focusing .distant-wind{animation:storybook-wind-streak 7s ease-in-out infinite}
#app .focus-scene .scene-shade{display:block;background:linear-gradient(180deg,rgba(255,248,229,.04),transparent 35%,rgba(111,68,28,.04))}
#app:not([data-theme="night"]) .focus-scene .scene-shade{background:radial-gradient(ellipse at 51% 48%,transparent 48%,rgba(87,56,29,.10) 100%),linear-gradient(135deg,rgba(255,238,194,.08),transparent 45%,rgba(99,68,42,.04))}
#app .focus-scene .ground-flow{display:block;top:auto;bottom:76px;height:76px;mix-blend-mode:normal;background:radial-gradient(ellipse 14px 2px at 28px 50px,rgba(113,74,36,.24) 30%,transparent 100%),radial-gradient(ellipse 23px 2px at 108px 29px,rgba(153,106,56,.20) 30%,transparent 100%),radial-gradient(ellipse 10px 2px at 191px 63px,rgba(105,69,35,.26) 30%,transparent 100%);background-size:240px 76px}
#app .focus-scene.focusing .ground-flow{opacity:.8;animation:storybook-ground-pass 8s linear infinite}
#app .focus-scene .foreground-pebbles{display:block;top:auto;bottom:77px;height:62px;opacity:.85}
#app .focus-scene .foreground-pebbles i{right:auto;left:100%;background:linear-gradient(155deg,rgba(210,175,117,.8),rgba(109,73,39,.66));box-shadow:2px 2px 2px rgba(69,43,24,.15)}
#app .focus-scene.focusing .foreground-pebbles i{animation:storybook-pebble-pass 7s linear infinite}
#app .focus-scene .foreground-pebbles i:nth-child(2){bottom:46%;animation-duration:9s}
#app .focus-scene .foreground-pebbles i:nth-child(4){bottom:32%;animation-duration:8s}
#app[data-theme="night"] .focus-scene .ground-flow{filter:brightness(.7)}
#app[data-theme="night"] .focus-scene .foreground-pebbles{filter:brightness(.65) saturate(.7)}
@keyframes storybook-ground-pass{from{background-position:0 0}to{background-position:-240px 0}}
@keyframes storybook-pebble-pass{0%{left:100%;opacity:0;transform:translateX(16px)}8%,90%{opacity:.8}100%{left:0;opacity:0;transform:translateX(-20px)}}
#app .focus-scene.paused .ground-flow,#app .focus-scene.paused .foreground-pebbles i{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){
  #app .focus-scene .midground-drift,
  #app .focus-scene .ground-flow,
  #app .focus-scene .foreground-pebbles{display:none}
}
#app .distant-wind{opacity:.15}
#app .scene-caption p{background:rgba(255,248,230,.87)}
#app .wind-indicator,#app .scene-milestone{background:rgba(255,248,230,.76);padding:4px 8px}
#app .focus-state{background:rgba(255,248,230,.82)}
#app .push-rig::after{display:block;left:16%;bottom:3px;width:67%;height:11px;background:radial-gradient(ellipse,rgba(92,57,24,.18),transparent 70%);filter:blur(2px)}
#app[data-theme="night"] .focus-scene .scene-world{background:#0b1d37}
#app[data-theme="night"] .focus-scene .scene-background{object-position:10% center;filter:saturate(1.08) contrast(1.06)}
#app[data-theme="night"] .focus-scene.focusing .scene-background{filter:saturate(1.08) contrast(1.06)}
#app[data-theme="night"] .focus-scene .scene-shade{background:linear-gradient(180deg,rgba(5,14,31,.18),transparent 35%,rgba(16,23,43,.08) 75%,rgba(12,18,32,.16))}
/* Keep the night sky open; light text replaces the temporary opaque timer panel. */
#app[data-theme="night"] .timer-cluster{left:0;right:0;top:22px;padding:0;border-radius:0;background:transparent;color:#fff3da;text-shadow:0 2px 8px rgba(10,20,36,.35)}
#app[data-theme="night"] #sessionDistance{color:#fff3da;background:rgba(15,29,48,.35)}

@keyframes storybook-desert-drift{from{transform:scale(1.09) translate3d(2%,0,0)}to{transform:scale(1.09) translate3d(-4%,-.2%,0)}}
@keyframes storybook-midground-drift{from{transform:translate3d(3%,0,0) scale(1.02)}to{transform:translate3d(-9%,.25%,0) scale(1.02)}}
@keyframes storybook-wind-streak{0%,14%,100%{opacity:0;transform:translateX(18px) rotate(-8deg) scaleX(.7)}30%,68%{opacity:.52}88%{opacity:0;transform:translateX(-105px) rotate(-8deg) scaleX(1.1)}}

#app #xiaojiaFocusFrame[data-frame="rest"]{left:0;bottom:0;width:100%;height:auto;aspect-ratio:640/420}

/* Locked character master: all focus states share one face, shell and proportions. */
#app .focus-scene.focusing .storybook-ball-stage { display:block; left:55%; bottom:7%; }
#app .focus-scene.paused .storybook-ball-stage { display:block; left:55%; bottom:8%; }
#app .focus-scene.paused .push-rig { transform:none; }
#app #xiaojiaFocusFrame[data-frame="idle"] { left:17%; bottom:4%; width:46%; height:auto; aspect-ratio:auto; }
#app #xiaojiaFocusFrame[data-frame="pushing"] { left:calc(8% + 6px); bottom:5%; width:46%; height:auto; aspect-ratio:auto; transform-origin:82% 60%; animation:none; }
#app #xiaojiaFocusFrame.emotion-focus-frame[data-frame="rest"] { left:7%; bottom:2%; width:55%; height:auto; aspect-ratio:auto; animation:none; }
#app .focus-scene.paused #xiaojiaFocusFrame { animation-play-state:paused; }

/* Pivot at the palm: the shell and feet show effort while the hand stays put. */
@keyframes master-push-rock {
  0%,100% { transform:rotate(-1.2deg) scale(1,1); }
  42% { transform:rotate(1.4deg) scale(1.012,.985); }
  65% { transform:rotate(.8deg) scale(1.008,.992); }
}
@media (prefers-reduced-motion: reduce) {
  #app #xiaojiaFocusFrame[data-frame="pushing"] { animation:none; }
}


#app #focusMotionCanvas { z-index:5; }
#app .focus-scene.focusing #focusMotionCanvas { left:10%; }
#app .focus-scene.paused #focusMotionCanvas { left:5%; }
#app .focus-scene.focusing #focusGaitCanvas { left:calc(18% + 6px); }

#app #focusGaitCanvas { position:absolute; z-index:4; left:8%; bottom:5%; width:46%; height:auto; pointer-events:none; }
#app #focusGaitCanvas[hidden] { display:none; }
#app #focusNearHandCanvas { position:absolute; z-index:6; left:calc(18% + 6px); bottom:5%; width:46%; height:auto; pointer-events:none; }
#app #focusNearHandCanvas[hidden] { display:none; }
#app .focus-scene.wiping .scene-world *,
#app .focus-scene.wiping .scene-world *::before,
#app .focus-scene.wiping .scene-world *::after { animation-play-state:paused; }
