:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#10151d;color:#eef2f7}*{box-sizing:border-box}body{margin:0}main{display:flex;height:100dvh;min-height:420px}.sidebar{width:365px;max-width:42%;display:flex;flex-direction:column;background:#151c26;border-right:1px solid #303b4b;z-index:1000;overflow-y:auto}header{padding:22px 20px 14px;border-bottom:1px solid #293343}.brand{font-size:22px;font-weight:800;letter-spacing:1.3px}.brand span{color:#4e9fff}.sub{font-size:13px;color:#9eacbe;margin-top:7px}.controls{padding:17px 18px;display:flex;flex-direction:column;gap:10px}label{font-size:13px;color:#bac7d8;font-weight:600}input:not([type=checkbox]),select{width:100%;background:#222d3c;color:white;border:1px solid #405066;border-radius:11px;padding:13px;font-size:16px;outline:none}input:focus{border-color:#54a6ff}.actions{display:flex;gap:8px}.actions button{flex:1}button{cursor:pointer;background:#2c394b;color:#f7f9fc;border:1px solid #45576d;border-radius:11px;padding:13px 10px;font-size:14px;font-weight:700;min-height:47px}button:focus-visible{outline:3px solid #86bcff}button.primary{background:#267bdb;border-color:#267bdb}button:hover{filter:brightness(1.14)}.toggle{display:flex;align-items:center;gap:8px}.toggle input{width:18px;height:18px}.results{background:#263449;border-radius:9px;max-height:190px;overflow-y:auto}.results button{display:block;width:100%;text-align:left;border:0;border-radius:0;background:transparent;border-bottom:1px solid #3b4a5d;font-weight:500}.summary{padding:14px 18px;border-top:1px solid #354257}.metrics{display:flex;justify-content:space-between;font-size:22px}.next-turn{margin-top:12px;background:#26364b;border-radius:10px;padding:12px;font-size:16px;font-weight:650}#steps{padding-left:23px;max-height:220px;overflow-y:auto;color:#c8d4e4;font-size:13px}#steps li{margin:10px 0}.status{font-size:13px;line-height:1.45;color:#c4d1e0;padding:0 18px;margin:4px 0 15px}footer{padding:12px 18px;color:#8e9daf;font-size:11px;margin-top:auto;border-top:1px solid #293343}footer small{color:#d6b38e}.mapwrap{position:relative;flex:1;min-width:0}#map{height:100%;width:100%;background:#1c2935}.mapbadge{position:absolute;top:15px;right:15px;z-index:500;background:#172231e8;border-radius:10px;padding:10px 15px;font-size:13px}.follow{position:absolute;bottom:25px;right:18px;z-index:500;font-size:27px;width:55px;height:55px;border-radius:50%;background:#24344a}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#202b3a;color:#f4f7fb}.leaflet-control-attribution{font-size:10px!important}@media(max-width:720px){main{flex-direction:column}.sidebar{width:100%;max-width:none;height:45%;min-height:245px}.mapwrap{height:55%}header{padding:10px 14px}.brand{font-size:18px}.controls{padding:10px 14px;gap:7px}.summary{padding:8px 14px}.mapbadge{top:8px;right:8px}}

/* Leaflet layout fallback: prevents scattered tiles if CDN stylesheet is blocked */
.leaflet-container{overflow:hidden;position:relative;outline:0;touch-action:pan-x pan-y;background:#1c2935}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}
.leaflet-tile{visibility:hidden;user-select:none;-webkit-user-select:none}
.leaflet-tile-loaded{visibility:inherit}
.leaflet-zoom-animated{transform-origin:0 0}
.leaflet-container .leaflet-control-attribution{background:#ffffffbb;color:#333;padding:0 5px}
.leaflet-container .leaflet-control-attribution a{color:#1674c5}
.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{position:absolute;z-index:800;pointer-events:none}
.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}
.leaflet-control{position:relative;z-index:800;pointer-events:auto}
.leaflet-left .leaflet-control{margin-left:10px}.leaflet-top .leaflet-control{margin-top:10px}
.leaflet-right .leaflet-control{margin-right:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}
.leaflet-control-zoom a{display:block;width:30px;height:30px;line-height:30px;text-align:center;background:#fff;color:#333;text-decoration:none}
.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;border-radius:12px}.leaflet-popup-content{margin:13px 20px;line-height:1.3}.leaflet-popup-tip-container{position:absolute;left:50%;margin-left:-20px;width:40px;height:20px;overflow:hidden}.leaflet-popup-tip{width:17px;height:17px;margin:-10px auto 0;transform:rotate(45deg)}
