/* Readable visit controls; compact panorama and route remain unchanged. */
#visit-panel{background:linear-gradient(135deg,#f5faf7ed,#e7f1ebeb);border-color:#ffffffaa}
#visit-panel>summary{min-height:44px;padding:4px 148px 4px 12px}
#visit-panel>summary strong{font-size:16px;line-height:20px}
#visit-panel>summary{gap:6px}
.visit-title{min-width:0;flex:1}
.visit-title strong,#current-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-distance{flex:0 0 112px;text-align:center;color:#35564a;font-size:10.5px;line-height:14px;white-space:nowrap}
#visit-panel>summary .header-distance strong{font-size:14px;line-height:20px}
#current-label{font-size:12px;line-height:16px;color:#35564a}
#visit-panel>summary:after{top:0;right:0;width:38px;height:44px;display:grid;place-items:center}
#motion-toggle{left:calc(12px + min(400px,100vw - 24px) - 146px);width:106px;min-height:40px;top:max(14px,calc(env(safe-area-inset-top) + 2px));padding:5px 7px;white-space:nowrap;font-size:12px;line-height:16px;color:#153c2d;background:#ffffffba}
#motion-message{top:max(64px,calc(env(safe-area-inset-top) + 52px));font-size:16px}
#visit-panel .panel{padding:4px 14px 16px;background:#f5faf5e8;max-height:calc(100dvh - 145px);font-size:16px;line-height:1.5}
#visit-panel .intro{font-size:17px;line-height:1.45;color:#254b3c;margin:4px 0 16px}
#visit-panel h2{font-size:18px;line-height:1.3;color:#163d2c;margin:0 0 10px;font-weight:700;letter-spacing:-.2px}
.step-number{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e1ece4;font-size:14px;vertical-align:middle;margin-right:4px}
.mode-choices{display:grid;gap:8px}
#visit-panel .mode-choices button{position:relative;margin:0;min-height:68px;padding:10px 30px 10px 12px;text-align:left;background:#fff;color:#243f33;border:2px solid #bacdc0;border-radius:12px;font-weight:400}
.mode-choices strong{display:block;font-size:16px;line-height:22px}.mode-choices span{display:block;font-size:14px;line-height:20px;margin-top:2px;color:#496557}
#visit-panel .mode-choices button[aria-pressed=true]{background:#e7f4eb;border-color:#17674e}
.mode-choices button[aria-pressed=true]:after{content:'✓';position:absolute;right:10px;top:10px;font-weight:750;color:#17674e}
#visit-panel .hint{font-size:14px;line-height:1.5;color:#496052}
#mode-help{margin:9px 0 16px}#start-heading{font-size:17px!important;margin:0!important}
#follow,#stop{min-height:52px;font-size:18px;padding:12px;margin-top:12px}
#use-position{min-height:48px;font-size:16px;margin-top:10px}
.walk-status{margin-top:8px;padding:8px 10px;border:1px solid #cdded2;border-radius:12px;background:#eaf2ec}
#visit-panel .walk-status h2{font-size:13px;margin:0 0 3px;color:#345545}
#status{padding:0;margin:0;border-radius:0;background:none;font-size:14px;line-height:1.4;color:#183c2b;white-space:pre-line}
#visit-panel #gps-quality{margin:5px 0 0;font-size:13px;line-height:1.4;color:#355545;font-weight:600}
body[data-walk-state=preparing] .walk-status,body[data-walk-state=walking] .walk-status{border-left:4px solid #17674e}
.help-section,.tools{margin-top:16px;border-top:1px solid #ccdcd0;padding-top:8px}
#visit-panel .help-section>summary,#visit-panel .tools>summary{min-height:44px;padding:10px 0;font-size:15px;font-weight:650;color:#355545}
.help-section>summary:after{content:' ＋'}.help-section[open]>summary:after{content:' −'}
.help-section p{font-size:15px;line-height:1.5;margin:6px 0 10px;color:#355545}
#visit-panel .tools label,#visit-panel .tools p,#visit-panel .tools small{font-size:14px;line-height:1.5}
#visit-panel .tools input,#visit-panel .tools select,#visit-panel .tools button{font-size:16px;min-height:48px}
#visit-panel .tools .check input{min-height:24px;width:24px;flex-shrink:0}
#visit-panel .tools .technical{font-size:12px}
#visit-panel button:focus-visible,#visit-panel summary:focus-visible,#motion-toggle:focus-visible{outline:3px solid #166dc1;outline-offset:3px}
@media(min-width:601px) and (max-width:740px){#motion-toggle{left:196px}}
@media(max-height:650px){#visit-panel .panel{max-height:calc(100dvh - 132px)}}

#start-panorama-field{margin-bottom:16px}
#start-panorama{font-size:16px;min-height:48px}
#start-panorama-help{margin-bottom:0}

#start-panorama-field{margin-top:16px}
#visit-panel .advanced-section{border-top:1px solid #ccdcd0;margin-top:16px;padding-top:14px}
#visit-panel .advanced-section h3{font-size:16px;line-height:1.4;margin:0 0 8px;color:#163d2c}
#visit-panel .advanced-section>summary{min-height:44px;font-size:15px;font-weight:650;padding:8px 0;color:#355545}
#visit-panel .tools .check{align-items:flex-start;gap:10px;font-size:16px}
#visit-panel .tools .check input{margin:2px 0 0}
#simulation-pause{min-height:48px;font-size:16px}
#visit-panel .tools .row{flex-wrap:wrap}
#visit-panel .tools .row>div{flex:1 1 135px}

body[data-walk-state=ready] #walk-state-title{display:none}
#camera-options{margin:12px 0 0;padding:10px 12px 12px;border:1px solid #c5d7cb;border-radius:10px;min-width:0}
#camera-options legend{font-size:14px;font-weight:650;color:#355545;padding:0 4px}
#camera-options:disabled{opacity:.55}
@media(max-width:420px){
  #visit-panel>summary{padding-right:112px;padding-left:8px}
  #motion-toggle{left:calc(12px + min(400px,100vw - 24px) - 108px);width:78px;font-size:10px;padding:5px 2px}
  #visit-panel>summary:after{width:28px}
  #visit-panel>summary .visit-title strong{font-size:14px}
  .header-distance{flex-basis:94px;font-size:9px}
}
@media(max-width:360px){#visit-panel>summary .visit-title strong{font-size:12px;letter-spacing:-.2px}}
