:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif;color:#233d30;background:#e8eee7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:#286d4b}[hidden]{display:none!important}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #4b926d;outline-offset:3px}.map-shell{height:100vh;height:100dvh;position:relative;overflow:hidden}#map{position:absolute;inset:0;background:#e8eee7}.map-header{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:10}.map-header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;background:#fffffff2;padding:8px 14px 8px 8px;border-radius:14px;box-shadow:0 3px 18px #17352618}.brand-icon{display:inline-grid;place-items:center;background:#245641;color:#fff;width:34px;height:34px;border-radius:10px;font-weight:700;font-size:18px}.brand strong{font-size:17px;letter-spacing:2px}nav{display:flex;gap:8px}.button,.tool,.icon-button{border:1px solid #dfe7df;background:#fff;color:#365c47;border-radius:10px;min-height:44px;padding:10px 15px;font-size:13px;font-weight:600}.button:hover,.tool:hover{background:#f1f6ef}.button[aria-expanded=true]{background:#245641;border-color:#245641;color:#fff}nav .button,.tool{box-shadow:0 3px 18px #17352618}#count{margin-left:3px;font-variant-numeric:tabular-nums}.map-tools{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;z-index:5}.tool{width:46px;height:46px;padding:0;font-size:23px}.map-status{position:absolute;bottom:calc(33px + env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:76px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:fit-content;max-width:calc(100% - 92px);padding:8px 12px;background:#fffffff0;border-radius:10px;font-size:11px;color:#5b7361;box-shadow:0 2px 12px #17352610;pointer-events:none}.live-dot{flex:none;width:6px;height:6px;border-radius:50%;background:#7ca78a}#data-indicator{color:#9c672e}.panel{position:absolute;top:78px;right:max(16px,env(safe-area-inset-right));width:360px;max-height:calc(100dvh - 180px - env(safe-area-inset-bottom));background:#fffffff7;box-shadow:0 8px 35px #17352626;border:1px solid #dfe7df;border-radius:16px;z-index:12;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e8eee7}.panel-heading h1,.panel-heading h2{font-size:18px;margin:0}.panel-heading small{display:block;margin-top:7px;color:#7b8f80;font-size:11px}.icon-button{border:0;background:transparent;font-size:23px;padding:0;width:44px;flex:none}.camera-panel{display:flex;flex-direction:column}.list{overflow:auto;overscroll-behavior:contain}.item{display:flex;align-items:start;width:100%;text-align:left;gap:12px;padding:16px 18px;background:transparent;border:0;border-bottom:1px solid #e9eee7;color:inherit;cursor:pointer}.item:hover,.item.active{background:#edf5ec}.item-index{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:#edf1e9;color:#617969;font-size:11px;font-weight:700}.item-main{flex:1;min-width:0}.item-main b{display:block;font-size:13px;line-height:1.6}.item-main small{display:block;color:#778c7c;font-size:11px;line-height:1.6;margin-top:4px}.item-distance{white-space:nowrap;color:#487456;font-size:11px;font-weight:700;padding-top:4px}.empty{padding:32px 20px;text-align:center;color:#819385;font-size:13px;line-height:1.8}.settings-body{padding:18px;overflow:auto;max-height:calc(100dvh - 260px - env(safe-area-inset-bottom))}.settings-body>label{display:block;font-size:12px;margin-bottom:10px;font-weight:600}.control-row{display:flex;gap:9px;margin-bottom:12px}.control-row select{min-width:0;flex:1;padding:10px;color:#365c47;border:1px solid #dfe7df;background:#fff;border-radius:10px}.full-width{width:100%}details{margin-top:18px;border-top:1px solid #e4ebe1;padding-top:15px;font-size:12px}summary{font-weight:600;padding:3px 0;min-height:28px}details p{line-height:1.8;color:#768978;margin:10px 0}#notice:not(:empty){color:#986827}.dot{display:inline-block;width:10px;height:10px;border:2px solid white;box-shadow:0 0 0 1px #b8c7b8;border-radius:50%;margin-right:8px}.current{background:#317dca}.major{background:#d94747}.other{background:#d98a54}.unknown{background:#829188}.map-instruction{position:absolute;bottom:calc(86px + env(safe-area-inset-bottom));left:16px;right:76px;padding:12px;background:#245641;color:white;border-radius:10px;font-size:13px;z-index:8}.map-instruction button{background:transparent;border:0;color:white;text-decoration:underline;font:inherit;min-height:30px;margin-left:12px}.map-overlay{position:absolute;inset:0;z-index:30;background:#e8eee7eb;display:grid;place-items:center;padding:20px;overflow:auto}.overlay-card{width:min(100%,360px);background:#fff;border:1px solid #dde6dc;box-shadow:0 8px 40px #17352612;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:13px}.overlay-card h2{font-size:22px;margin:5px 0 0}.overlay-card p{font-size:13px;color:#778b7c;line-height:1.7;margin:0 0 4px}.overlay-card label{font-size:12px}.overlay-card input{width:100%;border:1px solid #cddccb;border-radius:10px;padding:12px}.overlay-card small{font-size:11px;color:#819385;line-height:1.8}.primary{background:#245641;color:#fff;border-color:#245641}.primary:hover{background:#1b4936}dialog{border:0;border-radius:16px;padding:28px;width:min(460px,calc(100vw - 32px));max-height:85dvh;color:#233d30;box-shadow:0 20px 60px #162c1f44}dialog::backdrop{background:#1b302780}dialog h2{font-size:20px;margin-right:30px;line-height:1.5}dialog>small{color:#809582}.close{position:absolute;right:12px;top:10px}#detail-body{font-size:13px;color:#718575;line-height:1.8}#detail-body b{color:#365c47}#detail-body details{margin-bottom:12px}@media(max-width:600px){.map-header{top:max(12px,env(safe-area-inset-top));left:12px;right:12px}.brand{padding-right:10px;gap:7px}.brand strong{font-size:15px}.button{padding:10px 12px}.panel{top:74px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 185px - env(safe-area-inset-bottom))}.settings-body{max-height:calc(100dvh - 265px - env(safe-area-inset-bottom))}.map-tools{right:12px}.map-status{left:12px;font-size:10px}}
