*{box-sizing:border-box}body{margin:0;background:#f1f6f9;color:#24465c;font:15px/1.45 system-ui,sans-serif}header{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#194c6e;color:white;padding:12px 18px}header a{color:white;text-decoration:none}header span{font-size:10px;background:#ffffff25;padding:3px 6px;border-radius:4px}main{max-width:1200px;margin:auto;padding:12px}h1{font-size:22px;margin:3px 0 12px}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}button,select{font:600 14px system-ui;border:1px solid #a8bfce;border-radius:6px;padding:10px;background:white;color:#24465c;cursor:pointer}#start,#follow[aria-pressed=true]{background:#246986;color:white}button:disabled{opacity:.5;cursor:default}#status{min-height:22px;margin:10px 0}#map{height:65vh;min-height:360px;border-radius:10px;border:1px solid #b7cbd7}.details{padding:5px 12px;background:white;border-radius:0 0 8px 8px}.details p{margin:7px 0}.note{font-size:12px;color:#536b7b;margin:8px 0}.moving-weather{border:1px solid #afc4d0;border-radius:8px;background:#fffffff5;box-shadow:0 2px 12px #1234;padding:9px 11px;color:#24465c;font:13px/1.5 system-ui;min-width:180px;max-width:230px;white-space:normal}.moving-weather img{width:42px;height:42px;vertical-align:middle}.moving-weather strong{font-size:23px}.moving-weather .minor{font-size:11px;color:#536b7b}.moving-weather p{margin:3px 0}.moving-weather .stale{color:#9b4d15}.leaflet-tooltip-left.moving-weather:before{border-left-color:#afc4d0}@media(max-width:600px){header{gap:10px;font-size:12px;padding:10px}main{padding:8px}h1{font-size:19px}#map{height:62vh}.moving-weather{min-width:145px;max-width:170px;padding:6px 8px;font-size:12px}.moving-weather strong{font-size:20px}}

.drive-position-marker{background:transparent;border:0}.drive-position-marker span{display:block;width:24px;height:24px;margin:2px;border:3px solid #fff;border-radius:50%;background:#147ba3;box-shadow:0 1px 6px #1238;cursor:grab}.drive-position-marker.leaflet-drag-target span{cursor:grabbing}

#expand{position:fixed;right:10px;top:10px;z-index:1100;width:38px;height:38px;padding:0;background:white;font-size:27px;line-height:1;box-shadow:0 1px 5px #1234}
body.drive-fullscreen{overflow:hidden}.drive-fullscreen #map{position:fixed;inset:0;height:100dvh;width:100%;min-height:0;border:0;border-radius:0;z-index:900}
.drive-fullscreen header,.drive-fullscreen h1,.drive-fullscreen .note,.drive-fullscreen .details{display:none}
.drive-fullscreen .controls{position:fixed;top:10px;left:56px;right:56px;z-index:1000;gap:5px;pointer-events:none}.drive-fullscreen .controls>*{pointer-events:auto}.drive-fullscreen .controls label{background:white;border-radius:6px;padding-left:7px;font-size:12px}
.drive-fullscreen #status{position:fixed;bottom:28px;left:10px;right:10px;z-index:1000;background:#fffffff0;border-radius:7px;padding:7px 10px;margin:0;font-size:12px;max-height:25dvh;overflow:auto;box-shadow:0 1px 5px #1232}
@media(max-width:600px){.drive-fullscreen .controls button,.drive-fullscreen .controls select{font-size:12px;padding:8px 6px}.drive-fullscreen .controls{left:50px;right:52px}}

#map .margin-weather{position:absolute;right:12px;top:30%;z-index:650;max-height:55%;overflow:auto;width:200px;pointer-events:auto}
.weather-connector{position:absolute;inset:0;width:100%;height:100%;z-index:450;pointer-events:none;overflow:hidden}.weather-connector line{stroke:#246986;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}
@media(max-width:600px){#map .margin-weather{right:8px;width:160px;min-width:0;max-width:45%;top:32%}}

#open-chrome{display:inline-block;padding:10px;border:1px solid #a8bfce;border-radius:6px;background:#fff4d7;color:#24465c;font:600 14px system-ui;text-decoration:none;cursor:pointer}#open-chrome[hidden]{display:none!important}@media(max-width:600px){.drive-fullscreen #open-chrome{font-size:12px;padding:8px 6px}}

#chrome-help{flex-basis:100%;max-width:460px;padding:7px 10px;border:1px solid #d4dfe6;border-radius:6px;background:#fffffff5;color:#355469;font:12px/1.4 system-ui}#chrome-help[hidden]{display:none!important}

#srm-home{display:inline-block;padding:10px;border:1px solid #a8bfce;border-radius:6px;background:white;color:#24465c;font:600 14px system-ui;text-decoration:none}#srm-home:hover{background:#e3edf4}@media(max-width:600px){.drive-fullscreen #srm-home{font-size:12px;padding:8px 6px}}

#map .margin-weather{top:56%;right:12px;max-height:calc(44% - 90px)}
@media(max-width:600px){#map .margin-weather{top:56%;right:8px;max-height:calc(44% - 90px)}}
