#street-dock{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:2;color:#233630;font:600 14px system-ui}
#street-dock [hidden],#street-dock[hidden]{display:none}
#street-dock button{margin:0;padding:8px 12px;background:#174e43;color:#fff6db;border:2px solid #a89050;font:inherit;cursor:pointer}
#street-dock section{background:#fff5dc;border:3px solid #406e58;box-shadow:0 2px 0 #17352e;width:min(310px,87vw);padding:12px;position:absolute;bottom:44px;left:0}
#street-dock header,#street-dock form{display:flex;gap:6px;align-items:center;justify-content:space-between}
#street-dock input{min-width:0;flex:1;padding:8px}#street-dock .street-log{max-height:22vh;overflow:auto;overflow-wrap:anywhere;font-weight:400}#street-dock form,#street-dock .street-session{margin-top:8px}
@media (orientation:portrait){#street-dock{bottom:max(138px,calc(138px + env(safe-area-inset-bottom)))}}
html,body,main{overflow:hidden}
main{grid-template: minmax(0,1fr) / minmax(0,1fr)}
#unity-canvas{touch-action:none;min-width:0;min-height:0}
.touch-device{--pad-size:clamp(132px,40vmin,176px);--pad-left:max(12px,env(safe-area-inset-left));--pad-bottom:max(12px,env(safe-area-inset-bottom))}
#touch-controls{position:fixed;left:var(--pad-left);bottom:var(--pad-bottom);z-index:1;user-select:none;-webkit-user-select:none}
.move-pad{width:var(--pad-size);height:var(--pad-size);display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:#183a35d9;color:#f7eccb;border:3px solid #dfd2a7;border-radius:50%;position:relative;touch-action:none}
.move-pad i{position:absolute;left:28%;width:44%;height:44%;border-radius:50%;background:#fff3cf;border:3px solid #2b453e;pointer-events:none}
.move-pad span{font:14px system-ui;pointer-events:none}
.touch-jump{position:absolute;bottom:100%;left:100%;margin:0;min-height:44px;white-space:nowrap;touch-action:manipulation}
.touch-device #street-dock{left:var(--pad-left);bottom:calc(var(--pad-bottom) + var(--pad-size) + 6px)}
.street-bubble{position:fixed;z-index:1;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));width:max-content;max-width:min(230px,64vw);padding:6px 10px;border:2px solid #27463f;border-radius:9px;background:#fff6dc;color:#253830;font:600 14px/1.35 system-ui;text-align:center;overflow-wrap:anywhere;box-shadow:0 2px 0 #18363055}
.street-bubble::after{content:"";position:absolute;width:8px;height:8px;left:50%;bottom:-6px;transform:translateX(-50%) rotate(45deg);background:#fff6dc;border-right:2px solid #27463f;border-bottom:2px solid #27463f}
