.stroll-dock[hidden],.stroll-launcher[hidden]{display:none!important}
body.stroll-visible{padding-bottom:128px}
.stroll-dock{position:fixed;inset:auto 0 0;z-index:7;background:#fff8e9;border-top:2px solid #362c28;box-shadow:0 -4px 20px #163f3912;color:#362c28;contain:layout style}
.stroll-inner{width:min(1180px,calc(100% - 40px));margin:auto}
.stroll-toolbar{display:flex;gap:16px;align-items:center;min-height:44px;border-bottom:1px dashed #cbbda7;position:relative;z-index:3}
.stroll-name{font-size:11px;font-weight:900;white-space:nowrap}.stroll-name>span{color:#b83123;margin-right:5px}
.stroll-hint{font-size:10px;color:#665c4b;flex:1;line-height:1.5}
.stroll-controls{display:flex;gap:6px;margin-left:auto}
.stroll-controls button{min-height:44px;padding:2px 10px;background:none;color:#362c28;border:0;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}
.stroll-controls button:hover{background:#ffda65}.stroll-controls button:disabled{color:#665c4b;cursor:default}
.stroll-stage{height:80px;position:relative;isolation:isolate;touch-action:pan-y}
.stroll-stage::before{content:"";position:absolute;bottom:10px;left:0;right:0;height:12px;border-bottom:2px solid #8caf82;background:repeating-linear-gradient(90deg,transparent 0 36px,#b5c59c 36px 39px,transparent 39px 49px);opacity:.65;z-index:-1}
.stroll-stage::after{content:"タップで集合！";position:absolute;left:50%;top:5px;transform:translateX(-50%);font-size:9px;letter-spacing:.06em;color:#75664f;pointer-events:none;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.stroll-stage::after{content:"カーソルの下へ、てくてく。"}}
.stroll-actor{position:absolute;left:0;bottom:9px;width:64px;height:64px;padding:0;border:0;background:none;cursor:pointer;will-change:transform;touch-action:manipulation;border-radius:12px;z-index:1}
.stroll-actor::after{content:"";position:absolute;bottom:-2px;left:15px;width:34px;height:7px;border-radius:50%;background:#362c2824;z-index:-1}
.stroll-actor img{display:block;width:64px;height:64px;pointer-events:none;user-select:none;-webkit-user-drag:none;object-fit:contain;transform-origin:center bottom}
.stroll-actor.is-walking img{animation:stroll-step .34s steps(2,end) infinite}
.stroll-actor.is-fleeing img{animation:stroll-step .17s steps(2,end) infinite}
.stroll-actor:focus-visible{outline:2px dashed #007a91;outline-offset:1px}
.stroll-bubble{position:absolute;bottom:calc(100% + 48px);left:0;max-width:min(220px,90vw);width:max-content;padding:5px 12px;background:#fff8e9;border:2px solid #362c28;border-radius:14px;box-shadow:2px 3px 0 #362c2829;font-size:11px;font-weight:700;line-height:1.6;z-index:4;pointer-events:none}
.stroll-bubble[hidden]{display:none}.stroll-bubble::after{content:"";position:absolute;bottom:-7px;left:25px;width:10px;height:10px;background:#fff8e9;transform:rotate(45deg);border-right:2px solid #362c28;border-bottom:2px solid #362c28}
.stroll-launcher{position:fixed;right:14px;bottom:12px;z-index:7;min-height:44px;padding:8px 14px;border:2px solid #362c28;border-radius:30px;background:#ffda65;color:#362c28;box-shadow:2px 3px 0 #362c28;font-size:11px;font-weight:900}
.stroll-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes stroll-step{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:700px){.stroll-inner{width:calc(100% - 16px)}.stroll-toolbar{gap:8px}.stroll-name{font-size:10px}.stroll-hint{font-size:9px}.stroll-controls{gap:0}.stroll-controls button{font-size:9px;padding-inline:8px}.stroll-stage{height:76px}.stroll-stage::after{top:1px;font-size:8px}.stroll-bubble{font-size:10px}body.stroll-visible{padding-bottom:124px}}
@media(max-width:360px){.stroll-hint{display:none}.stroll-toolbar{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.stroll-actor img{animation:none!important}}
@media(forced-colors:active){.stroll-dock,.stroll-launcher,.stroll-bubble{background:Canvas;color:CanvasText;border-color:CanvasText}.stroll-actor{border:1px solid ButtonText}}

/* 道の説明は上部にまとめ、キャラの顔には文字を重ねません。 */
.stroll-stage::after{content:none!important}
