/* --- ちさまるさんぽ専用スタイル Ver.18 --- */
#sanpo-container{position:relative;width:100%;max-width:1200px;margin:0 auto;padding-top:56.25%;background:#000;border-radius:8px;overflow:hidden}
#game-viewport{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;box-shadow:0 0 20px rgba(0,0,0,.5) inset}
#game-world{position:absolute;width:100%;height:100%;background:linear-gradient(to bottom,#a0d8ef 0,#f0f8ff 90%);transition:background 2s linear}
#night-overlay{background:#000c38;opacity:0;transition:opacity 5s linear;pointer-events:none}
.layer{position:absolute;bottom:0;left:0;width:100%;height:100%}
.tile{position:absolute;bottom:0;width:200px;height:200px;background-size:contain;background-repeat:no-repeat;background-position:bottom center}
#chisamaru-container{position:absolute;bottom:60px;left:calc(33.33% - 75px);width:150px;height:150px;z-index:10;animation:floatAnimation 3s ease-in-out infinite}
#chisamaru-container.walking{animation-name:floatAnimation,walkBounceAnimation;animation-duration:3s,.5s;animation-iteration-count:infinite}
#chisamaru{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .3s;cursor:pointer}
#chisamaru.interacting{transform:scale(1.1)}
#chisamaru.tumbling{animation:ponAnimation .7s ease-out forwards}
.speech-bubble{position:absolute;transform:translateX(-50%);background:rgba(255,255,255,.95);border-radius:20px;padding:10px 18px;font-size:15px;white-space:nowrap;box-shadow:1px 1px 3px rgba(0,0,0,.2);opacity:0;transition:all .5s;pointer-events:none}
#chisamaru-speech{top:-40px;left:75px;z-index:110}
#pon-effect{top:-45px;left:0;transform:translateX(-50%);color:#ff6347;font-weight:700;font-size:2em;text-shadow:1px 1px 0 #fff,-1px -1px 0 #fff;z-index:105}
/* ★修正点: Correctの位置と吹き出し、アニメーションを調整 */
#correct-container{position:absolute;width:120px;height:120px;z-index:120;opacity:0;transition:all .5s;pointer-events:none;top:30px;right:30px}
#correct-container.show{opacity:1;animation:correctHoverAnimation 4s ease-in-out infinite}
#correct-speech{top:50%;left:-20px;transform:translate(-100%,-50%);z-index:121}
#correct-speech::after{content:'';position:absolute;top:50%;right:-10px;transform:translateY(-50%);border-width:10px 0 10px 10px;border-style:solid;border-color:transparent transparent transparent rgba(255,255,255,.95)}
.speech-bubble.show{opacity:1;transform:translate(-100%,-50%) translateX(-10px)}
#chisamaru-speech.show{transform:translateX(-50%) translateY(-10px)}
#pon-effect.show{transform:translateX(-50%) scale(1.1);opacity:1}
#correct{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center}
.dynamic-object{position:absolute;z-index:5;transition-property:transform;transition-timing-function:linear}
.flying-object{position:absolute;z-index:15;transition-property:transform;transition-timing-function:linear}
#weather-effect{pointer-events:none;z-index:99;background-repeat:repeat}
@keyframes floatAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes walkBounceAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes ponAnimation{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}
@keyframes correctHoverAnimation{0%,to{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(-15px,10px) rotate(2deg)}}