html,body{height:100%}body.map-page{margin:0;background:var(--ink);color:var(--ink);font-family:"Noto Serif SC",Songti SC,serif;overflow:hidden}body.map-page:before{opacity:.03}.map-page .topnav{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:600;display:flex;align-items:center;gap:20px;padding:0 var(--page-pad);background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-family:"Noto Serif SC",Songti SC,serif;line-height:1}.map-page .topnav .page-title{font-size:14px;font-weight:600;letter-spacing:.18em;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease-ink);line-height:1}.map-page .topnav .page-title:hover{border-color:var(--ink)}.map-page .topnav .project-credit{margin-left:auto;font-size:11px;letter-spacing:.22em;color:color-mix(in srgb,var(--ink) 45%,var(--ground));font-weight:400;line-height:1}.map-page .back-link{font-size:12px;letter-spacing:.18em;color:color-mix(in srgb,var(--ink) 75%,var(--ground));text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease-ink);line-height:1}.map-page .back-link:hover{border-color:var(--ink)}#map{position:fixed;inset:var(--nav-h) 0 0 0;background:#0c1014;z-index:1}.map-controls{position:fixed;top:calc(var(--nav-h) + 16px);left:16px;width:268px;max-height:calc(100vh - var(--nav-h) - 32px);z-index:500;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bone) 94%,transparent);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:2px;box-shadow:0 18px 60px #00000059;overflow:hidden;font-size:var(--fs-caption)}.map-controls .controls-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}.map-controls .controls-body::-webkit-scrollbar{width:6px}.map-controls .controls-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 25%,transparent);border-radius:3px}.controls-head{padding:18px 18px 14px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:color-mix(in srgb,var(--bone) 100%,transparent)}.controls-head h2{margin:0;font-size:16px;letter-spacing:.08em;font-weight:600;color:var(--ink)}.controls-head .sub{margin:4px 0 0;font-size:var(--fs-micro);letter-spacing:.12em;color:color-mix(in srgb,var(--ink) 60%,var(--ground))}.ctrl-section{padding:14px 18px;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);flex-shrink:0}.ctrl-section:last-of-type{border-bottom:none}.ctrl-section h3{margin:0 0 8px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,var(--ground))}.ctrl-section h3.collapsible{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px;transition:color .15s}.ctrl-section h3.collapsible:hover{color:var(--ink)}.ctrl-section h3.collapsible:after{content:"▾";font-size:10px;letter-spacing:0;margin-left:8px;transition:transform .2s var(--ease-ink);display:inline-block}.ctrl-section.collapsed h3.collapsible{margin-bottom:0}.ctrl-section.collapsed h3.collapsible:after{transform:rotate(-90deg)}.ctrl-section.collapsed>*:not(h3){display:none!important}.ctrl-section .hint{margin:0 0 8px;font-size:11px;color:color-mix(in srgb,var(--ink) 55%,var(--ground))}.row{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1.5px solid color-mix(in srgb,var(--ink) 45%,var(--ground));border-radius:1px;background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:border-color .15s}.row input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}.row input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:var(--bone);clip-path:polygon(14% 50%,0 64%,40% 100%,100% 22%,86% 8%,38% 70%)}.city-list{list-style:none;margin:0;padding:0}.city-list .row .swatch{width:14px;height:14px;flex-shrink:0;border:1.5px solid color-mix(in srgb,var(--ink) 35%,transparent)}.city-list .row .city-name{flex:1;color:var(--ink);font-size:13px;letter-spacing:.04em}.city-list .row .province-tag{font-size:var(--fs-micro);color:color-mix(in srgb,var(--ink) 50%,var(--ground));letter-spacing:.1em}.toggle-row{padding:4px 0}.toggle-row span{color:var(--ink)}.waterway-actions{display:flex;gap:6px;margin-bottom:8px}.ghost-btn{font:inherit;font-size:var(--fs-micro);letter-spacing:.12em;background:transparent;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);color:color-mix(in srgb,var(--ink) 75%,var(--ground));padding:3px 8px;cursor:pointer;border-radius:1px;transition:all .15s}.ghost-btn:hover{border-color:var(--ink);color:var(--ink)}.waterway-list{list-style:none;margin:0;padding:0}.waterway-list .row .ww-name{flex:1;color:var(--ink);font-size:13px}.waterway-list .row .ww-count{font-size:var(--fs-micro);color:color-mix(in srgb,var(--ink) 45%,var(--ground))}.waterway-list .loading{padding:8px 0;color:color-mix(in srgb,var(--ink) 50%,var(--ground));font-size:var(--fs-micro);letter-spacing:.18em}.controls-foot{padding:10px 18px;display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:.06em;color:color-mix(in srgb,var(--ink) 50%,var(--ground));background:color-mix(in srgb,var(--bone) 100%,transparent);border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.controls-foot .refs-link{align-self:flex-start;margin-bottom:6px;padding-bottom:6px;font-size:11px;letter-spacing:.16em;color:color-mix(in srgb,#6f8aa3 80%,var(--ink) 20%);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,#6f8aa3 50%,transparent);transition:color .15s,border-color .15s}.controls-foot .refs-link:hover{color:var(--ink);border-bottom-color:var(--ink);border-bottom-style:solid}.leaflet-container{font-family:"Noto Serif SC",serif;background:#0c1014}.leaflet-control-zoom a{background:color-mix(in srgb,var(--bone) 94%,transparent)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--ink) 25%,transparent)!important}.leaflet-control-zoom a:hover{background:var(--bone)!important}.leaflet-control-attribution{background:color-mix(in srgb,var(--bone) 86%,transparent)!important;font-size:10px!important;color:color-mix(in srgb,var(--ink) 70%,var(--ground))!important}.leaflet-control-attribution a{color:var(--ink)!important}.leaflet-tooltip{background:color-mix(in srgb,var(--bone) 92%,transparent)!important;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent)!important;box-shadow:0 6px 14px #00000040!important;color:var(--ink)!important;font-family:"Noto Serif SC",serif!important;font-size:12px!important;letter-spacing:.06em!important;padding:4px 8px!important}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{display:none}.leaflet-overlay-pane svg path.waterway{filter:drop-shadow(0 0 4px rgba(120,200,255,.85)) drop-shadow(0 0 1px rgba(255,255,255,.7))}.leaflet-overlay-pane svg path.ancient-waterway{filter:drop-shadow(0 0 3px rgba(140,170,200,.75)) drop-shadow(0 0 1px rgba(220,230,245,.6))}.ancient-list{list-style:none;margin:0;padding:0}.ancient-list .row .ww-kind{font-size:var(--fs-micro);color:color-mix(in srgb,var(--ink) 50%,var(--ground));letter-spacing:.16em}.ancient-swatch{border-radius:1px}.leaflet-tooltip.ancient-tooltip{width:260px!important;max-width:260px!important;white-space:normal!important;word-break:break-word;line-height:1.55;padding:10px 14px!important;border-color:color-mix(in srgb,#6f8aa3 55%,var(--ink) 45%)!important}.leaflet-tooltip.ancient-tooltip .tt-name{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ink);display:block}.leaflet-tooltip.ancient-tooltip .tt-era{margin-top:3px;font-size:11px;letter-spacing:.12em;color:color-mix(in srgb,var(--ink) 60%,var(--ground))}.leaflet-tooltip.ancient-tooltip .tt-note{margin-top:6px;font-size:11.5px;line-height:1.6;color:color-mix(in srgb,var(--ink) 80%,var(--ground))}.leaflet-tooltip.ancient-tooltip .tt-approx{margin-top:6px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--ink) 18%,transparent);font-size:10px;letter-spacing:.18em;color:color-mix(in srgb,var(--ink) 45%,var(--ground))}.leaflet-tooltip.ancient-tooltip .tt-hint{margin-top:6px;font-size:10px;letter-spacing:.18em;color:color-mix(in srgb,#6f8aa3 75%,var(--ink) 25%)}.leaflet-popup.ancient-popup .leaflet-popup-content-wrapper{background:color-mix(in srgb,var(--bone) 96%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,#6f8aa3 55%,var(--ink) 45%);border-radius:2px;box-shadow:0 12px 36px #00000059;font-family:"Noto Serif SC",Songti SC,serif}.leaflet-popup.ancient-popup .leaflet-popup-content{margin:14px 16px;line-height:1.6;font-size:13px}.leaflet-popup.ancient-popup .leaflet-popup-tip{background:color-mix(in srgb,var(--bone) 96%,transparent)}.ancient-pp h4{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--ink)}.ancient-pp .pp-era{font-size:11px;letter-spacing:.12em;color:color-mix(in srgb,var(--ink) 60%,var(--ground));margin-bottom:6px}.ancient-pp .pp-note{margin:6px 0;font-size:12.5px;color:color-mix(in srgb,var(--ink) 80%,var(--ground))}.ancient-pp .pp-approx{font-size:10.5px;letter-spacing:.14em;color:color-mix(in srgb,var(--ink) 45%,var(--ground));border-top:1px dashed color-mix(in srgb,var(--ink) 18%,transparent);padding-top:6px;margin-top:6px}.ancient-pp .pp-sources{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;letter-spacing:.06em}.ancient-pp .pp-sources-label{font-size:10px;letter-spacing:.24em;color:color-mix(in srgb,var(--ink) 50%,var(--ground));margin-right:4px}.ancient-pp .pp-sources a{color:color-mix(in srgb,#6f8aa3 70%,var(--ink) 30%);text-decoration:none;border-bottom:1px solid color-mix(in srgb,#6f8aa3 50%,transparent);transition:color .15s,border-color .15s}.ancient-pp .pp-sources a:hover{color:var(--ink);border-color:var(--ink)}.ancient-pp .pp-sources .pp-sep{color:color-mix(in srgb,var(--ink) 30%,var(--ground))}.ancient-pp .pp-refs-link{display:inline-block;margin-top:10px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--ink) 18%,transparent);font-size:11px;letter-spacing:.14em;color:color-mix(in srgb,#6f8aa3 80%,var(--ink) 20%);text-decoration:none;width:100%}.ancient-pp .pp-refs-link:hover{color:var(--ink)}.leaflet-interactive:focus,.leaflet-interactive:focus-visible{outline:none}.leaflet-container svg{overflow:visible}.district-label{background:transparent!important;border:none!important;box-shadow:none!important;color:#f5efde!important;text-shadow:0 0 4px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.85);font-family:"Noto Serif SC",serif!important;font-size:12px!important;letter-spacing:.18em!important;padding:0!important;pointer-events:none!important;opacity:0;transition:opacity .24s var(--ease-ink)}.leaflet-container.zoom-deep .district-label{opacity:1}.leaflet-overlay-pane svg{transition:opacity .6s var(--ease-ink)}@media (max-width: 720px){.map-controls{width:calc(100vw - 32px);max-height:50vh}}:root{--note-slate: #7a8a98;--note-cinnabar: #8a3a2a;--note-jade: #5b8a6e;--note-ochre: #b89048;--note-indigo: #3d5a80;--notes-w: 280px}.yj-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.18em;fill:none;stroke:currentColor;flex-shrink:0}.notes-panel{position:fixed;top:calc(var(--nav-h) + 16px);right:16px;width:var(--notes-w);max-height:calc(100vh - var(--nav-h) - 32px);background:var(--bone);color:var(--ink);border:1px solid rgba(42,58,50,.12);border-radius:4px;box-shadow:0 6px 28px #141e191a;z-index:500;display:flex;flex-direction:column;font-family:var(--font-serif-cn, "Noto Serif SC", serif);transition:transform .28s var(--ease-ink, ease-out)}.notes-panel.collapsed{transform:translate(calc(var(--notes-w) + 24px))}.notes-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(42,58,50,.1);font-size:13px}.notes-head-actions{display:inline-flex;align-items:center;gap:6px}.notes-refresh-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--mid);cursor:pointer;padding:2px;line-height:0;border-radius:3px;transition:color .14s,background .14s,transform .6s}.notes-refresh-btn:hover{color:var(--ink);background:#2a3a320f}.notes-refresh-btn.spinning{animation:notes-spin .48s ease-in-out}@keyframes notes-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.notes-head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em}.notes-count{margin-left:6px;color:var(--mid);font-size:11px;font-variant-numeric:tabular-nums}.notes-collapse-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--mid);cursor:pointer;font-size:14px;line-height:1;padding:4px 6px;transition:color .16s}.notes-collapse-btn:hover{color:var(--ink)}.notes-tab{position:fixed;top:calc(var(--nav-h) + 16px);right:0;background:var(--bone);color:var(--ink);border:1px solid rgba(42,58,50,.12);border-right:0;border-radius:4px 0 0 4px;padding:8px 10px;font-size:12px;font-family:var(--font-serif-cn, "Noto Serif SC", serif);cursor:pointer;z-index:500;box-shadow:-3px 3px 14px #141e1914;display:none}.notes-panel.collapsed~.notes-tab{display:block}.notes-body{flex:1;overflow-y:auto;padding:8px 12px 12px}.notes-add-btn{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px dashed rgba(42,58,50,.3);background:transparent;color:var(--ink);font-family:inherit;font-size:12px;padding:8px;margin-top:4px;cursor:pointer;transition:border-color .16s,background .16s}.notes-add-btn:hover{border-color:var(--ink);background:#2a3a320a}.notes-form{margin-top:4px;padding:10px;border:1px solid rgba(42,58,50,.16);background:#ffffff80;border-radius:3px;font-size:12px;display:flex;flex-direction:column;gap:8px}.notes-form .nf-row{display:flex;align-items:center;gap:6px}.notes-form label.nf-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--mid)}.notes-form input[type=text],.notes-form textarea{width:100%;font:inherit;color:var(--ink);border:1px solid rgba(42,58,50,.2);background:#fff;padding:6px 8px;border-radius:2px;outline:0;transition:border-color .16s}.notes-form textarea{min-height:70px;resize:vertical;line-height:1.5}.notes-form input:focus,.notes-form textarea:focus{border-color:var(--ink)}.notes-form .nf-colors{display:flex;gap:6px}.notes-form .nf-color{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.notes-form .nf-color.active{border-color:var(--ink);transform:scale(1.08)}.notes-form .nf-color[data-color=slate]{background:var(--note-slate)}.notes-form .nf-color[data-color=cinnabar]{background:var(--note-cinnabar)}.notes-form .nf-color[data-color=jade]{background:var(--note-jade)}.notes-form .nf-color[data-color=ochre]{background:var(--note-ochre)}.notes-form .nf-color[data-color=indigo]{background:var(--note-indigo)}.notes-form .nf-actions{display:flex;gap:8px;justify-content:flex-end}.notes-form button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:pointer;border:1px solid rgba(42,58,50,.2);background:#fff;padding:5px 12px;border-radius:2px;color:var(--ink);transition:background .14s,border-color .14s}.notes-form button.primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}.notes-form button.primary:hover{background:#1d2924}.notes-form button:disabled{opacity:.5;cursor:not-allowed}.notes-form .nf-hint{font-size:11px;color:var(--mid);font-style:italic;min-height:14px}.notes-form .nf-hint.error{color:var(--note-cinnabar);font-style:normal}.notes-form .nf-coords{font-family:monospace;font-size:10px;color:var(--mid)}body.notes-picking #map,body.notes-picking .leaflet-grab,body.notes-picking .leaflet-interactive{cursor:crosshair!important}.notes-panel.collapsed-while-picking{transform:translate(calc(var(--notes-w) + 24px))}.notes-panel.collapsed-while-picking~.notes-tab{display:none}.nf-repick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(42,58,50,.2);background:transparent;cursor:pointer;font-size:11px;color:var(--mid);padding:1px 6px;border-radius:2px;margin-left:auto;transition:color .14s,border-color .14s}.nf-repick:hover{color:var(--ink);border-color:var(--ink)}.notes-filter{display:flex;gap:4px;margin:12px 0 6px;font-size:11px;border-bottom:1px solid rgba(42,58,50,.08);padding-bottom:4px}.notes-filter button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--mid);font:inherit;padding:3px 6px;cursor:pointer;border-radius:2px;transition:color .14s,background .14s}.notes-filter button:hover{color:var(--ink)}.notes-filter button.active{color:var(--ink);background:#2a3a3214}.notes-list{list-style:none;padding:0;margin:0}.notes-empty{color:var(--mid);font-size:12px;font-style:italic;padding:12px 0;text-align:center}.notes-loading{color:var(--mid);font-size:12px;padding:12px 0;text-align:center}.note-item{position:relative;padding:8px 8px 8px 18px;margin:0 -4px;border-radius:2px;cursor:default;transition:background .14s}.note-item:hover{background:#2a3a320a}.note-item:before{content:"";position:absolute;left:6px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--note-slate)}.note-item[data-color=cinnabar]:before{background:var(--note-cinnabar)}.note-item[data-color=jade]:before{background:var(--note-jade)}.note-item[data-color=ochre]:before{background:var(--note-ochre)}.note-item[data-color=indigo]:before{background:var(--note-indigo)}.note-item.flash{animation:notes-flash 1.5s var(--ease-ink, ease-out)}@keyframes notes-flash{0%{background:#b890485c}to{background:transparent}}.note-item.hover-from-map{background:#2a3a3212;outline:1px solid rgba(42,58,50,.18);outline-offset:-1px}.note-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:12.5px}.note-heading{line-height:1.3;flex:1}.note-heading.note-title{font-weight:600;color:var(--ink)}.note-heading.note-region{font-weight:500;color:var(--mid);font-size:12px;letter-spacing:.02em}.note-heading.empty{font-weight:400;color:var(--mid);font-style:italic;opacity:.7}.note-time{font-size:10px;color:var(--mid);white-space:nowrap;font-variant-numeric:tabular-nums}.note-body{font-size:11.5px;color:var(--ink);line-height:1.55;margin-top:3px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.note-actions{display:flex;gap:8px;margin-top:4px;font-size:10px}.note-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;color:var(--mid);cursor:pointer;padding:0;letter-spacing:.04em;transition:color .14s;display:inline-flex;align-items:center;gap:4px}.note-action:hover{color:var(--ink)}.note-action.danger:hover{color:var(--note-cinnabar)}.note-geo-tag{font-size:10px;color:var(--mid);letter-spacing:.04em}.note-actions.confirm-mode{align-items:center;background:#8a3a2a14;outline:1px solid rgba(138,58,42,.2);border-radius:3px;padding:3px 6px;margin-top:4px}.note-actions.confirm-mode .confirm-text{flex:1;font-size:11px;color:var(--note-cinnabar);letter-spacing:.02em}.note-actions.confirm-mode .note-action[data-action=delete-confirm]{color:var(--note-cinnabar);font-weight:600}.note-pin-icon{display:flex;align-items:center;justify-content:center;cursor:grab;background:transparent;border:0}.note-pin-icon:active{cursor:grabbing}.note-pin-icon .np-dot{display:block;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #141e1973;transition:transform .18s var(--ease-ink, ease-out),box-shadow .18s var(--ease-ink, ease-out)}.note-pin-icon:hover .np-dot,.note-pin-icon.highlight .np-dot{transform:scale(1.45);box-shadow:0 2px 6px #141e198c}.note-pin-icon.flash .np-dot{animation:pin-flash 1.5s var(--ease-ink, ease-out)}@keyframes pin-flash{0%{transform:scale(2.2);box-shadow:0 0 0 8px #b8904880}to{transform:scale(1);box-shadow:0 1px 3px #141e1973}}.note-pin-icon.ghost{pointer-events:none;cursor:crosshair}.note-pin-icon.ghost .np-dot{opacity:.55;border-style:dashed;border-color:var(--ink);animation:ghost-pulse 1.6s var(--ease-ink, ease-out) infinite}@keyframes ghost-pulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.25);opacity:.85}}.note-pin-icon.preview{pointer-events:none}.note-pin-icon.preview .np-dot{border-style:dashed;border-color:#fffffff2;box-shadow:0 0 #141e1959,0 1px 3px #141e1973;animation:preview-pulse 1.4s var(--ease-ink, ease-out) infinite}@keyframes preview-pulse{0%{box-shadow:0 0 #141e1959,0 1px 3px #141e1973}70%{box-shadow:0 0 0 10px #141e1900,0 1px 3px #141e1973}to{box-shadow:0 0 #141e1900,0 1px 3px #141e1973}}.note-popup{font-family:var(--font-serif-cn, "Noto Serif SC", serif);min-width:200px;max-width:280px}.note-popup .np-heading{line-height:1.3;margin-bottom:4px}.note-popup .np-heading.np-title{font-weight:600;font-size:13.5px;color:var(--ink)}.note-popup .np-heading.np-region{font-weight:500;font-size:12px;color:var(--mid);letter-spacing:.02em}.note-popup .np-body{font-size:12px;line-height:1.55;color:var(--ink);white-space:pre-wrap}.note-popup .np-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--mid);gap:6px}.note-popup .np-meta.confirm-mode{background:#8a3a2a14;outline:1px solid rgba(138,58,42,.2);border-radius:3px;padding:4px 6px}.note-popup .np-meta .np-confirm-text{flex:1;color:var(--note-cinnabar);font-size:11px}.note-popup .np-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--mid);font:inherit;cursor:pointer;padding:0;letter-spacing:.04em;font-size:inherit}.note-popup .np-delete:hover{color:var(--note-cinnabar)}.note-popup .np-delete.np-confirm-yes{color:var(--note-cinnabar);font-weight:600}@media (max-width: 720px){.notes-panel{top:auto;bottom:0;right:0;left:0;width:auto;max-height:50vh;border-radius:4px 4px 0 0}.notes-panel.collapsed{transform:translateY(calc(100% - 32px))}.notes-tab{display:none!important}}.notes-picking-banner{position:fixed;top:calc(var(--nav-h) + 12px);left:50%;transform:translate(-50%);z-index:700;background:var(--ink);color:var(--bone);font-family:var(--font-serif-cn, "Noto Serif SC", serif);font-size:12.5px;padding:8px 16px;border-radius:999px;box-shadow:0 6px 22px #141e194d;display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;animation:banner-in .24s var(--ease-ink, ease-out)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.notes-picking-banner[hidden]{display:none}.notes-picking-banner .npb-icon{display:inline-flex;align-items:center;font-size:16px}.notes-picking-banner .npb-hint{font-size:11px;opacity:.65;border-left:1px solid rgba(240,236,224,.25);padding-left:10px;margin-left:4px}.notes-picking-banner:hover .npb-hint{opacity:.9}.map-add-pin-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#fff;color:var(--ink);border:1px solid rgba(0,0,0,.18);border-radius:4px;cursor:pointer;box-shadow:0 1px 5px #0003;transition:background .16s,transform .16s}.map-add-pin-btn .yj-icon{width:1em;height:1em;vertical-align:middle}.map-add-pin-btn:hover{background:var(--bone);transform:translateY(-1px)}.map-add-pin-btn:active{transform:translateY(0)}body.notes-picking .map-add-pin-btn{background:var(--ink);color:var(--bone)}.notes-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);z-index:800;background:var(--ink);color:var(--bone);font-family:var(--font-serif-cn, "Noto Serif SC", serif);font-size:12.5px;padding:8px 14px;border-radius:4px;box-shadow:0 6px 18px #141e194d;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-ink, ease-out),transform .2s var(--ease-ink, ease-out)}.notes-toast.visible{opacity:1;transform:translate(-50%)}.notes-toast[data-kind=error]{background:var(--note-cinnabar)}.notes-map-form-popup .leaflet-popup-content-wrapper{background:var(--bone);color:var(--ink);border-radius:4px;box-shadow:0 8px 24px #141e192e;padding:0}.notes-map-form-popup .leaflet-popup-content{margin:0;width:260px!important}.notes-map-form-popup .leaflet-popup-tip{background:var(--bone)}.notes-map-form{display:flex;flex-direction:column;gap:8px;padding:12px;font-family:var(--font-serif-cn, "Noto Serif SC", serif)}.notes-map-form .nmf-title,.notes-map-form .nmf-body{width:100%;box-sizing:border-box;background:#fff;border:1px solid rgba(42,58,50,.18);border-radius:3px;padding:6px 8px;font:inherit;color:var(--ink);resize:none}.notes-map-form .nmf-title{font-size:13px;font-weight:600}.notes-map-form .nmf-body{font-size:12.5px;min-height:70px;line-height:1.5}.notes-map-form .nmf-title:focus,.notes-map-form .nmf-body:focus{outline:none;border-color:var(--ink)}.notes-map-form .nmf-colors{display:flex;gap:6px;align-items:center}.notes-map-form .nmf-color{width:16px;height:16px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px #141e192e}.notes-map-form .nmf-color[data-color=slate]{background:var(--note-slate)}.notes-map-form .nmf-color[data-color=cinnabar]{background:var(--note-cinnabar)}.notes-map-form .nmf-color[data-color=jade]{background:var(--note-jade)}.notes-map-form .nmf-color[data-color=ochre]{background:var(--note-ochre)}.notes-map-form .nmf-color[data-color=indigo]{background:var(--note-indigo)}.notes-map-form .nmf-color.active{box-shadow:0 0 0 2px var(--ink);transform:scale(1.15)}.notes-map-form .nmf-region{font-size:11px;color:var(--ink);letter-spacing:.02em;font-weight:500}.notes-map-form .nmf-coords{font-size:10.5px;color:var(--mid);letter-spacing:.02em}.notes-map-form .nmf-hint{font-size:11px;color:var(--mid);min-height:14px}.notes-map-form .nmf-hint.error{color:var(--note-cinnabar)}.notes-map-form .nmf-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:2px}.notes-map-form .nmf-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(42,58,50,.22);background:#fff;color:var(--ink);font:inherit;font-size:12px;border-radius:3px;padding:4px 10px;cursor:pointer;transition:background .12s}.notes-map-form .nmf-actions button:hover{background:#2a3a320d}.notes-map-form .nmf-actions button.primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}.notes-map-form .nmf-actions button.primary:hover{background:#1a2a22}.notes-map-form .nmf-actions button[disabled]{opacity:.5;cursor:default}.notes-map-form .nmf-actions button[data-action=repick]{margin-right:auto}
