@font-face{font-family:AutumnDisplay;src:url('assets/display.ttf');font-display:swap}:root{color-scheme:light;--ink:#4d391e;--muted:#796547;--paper:#fff9e9;--gold:#c98f25;--line:#e5d8b8;font:14px/1.6 'Microsoft YaHei','PingFang SC',sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#e9d6a1}main{height:100svh;width:100%;overflow:hidden;position:relative}#map{position:absolute;inset:0;background:#e9d6a1}a{color:inherit;text-underline-offset:4px}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #9f651a;outline-offset:4px}button:disabled{opacity:.4;cursor:default}::selection{background:#cc9c3a;color:white}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;flex-shrink:0}i{display:inline-flex;font-style:normal}button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px}input{caret-color:#a86c1d}.identity{position:absolute;left:28px;top:28px;width:310px;background:var(--paper);border-radius:15px;box-shadow:0 7px 30px #7a5c2226;padding:19px 22px 14px;z-index:5}.brand{display:flex;align-items:center;gap:9px;text-decoration:none}.brand>svg{color:#a66f22;width:29px;height:29px}.brand>span{font:32px/1.2 AutumnDisplay,serif;letter-spacing:3px}.brand small{font-size:8px;letter-spacing:1.4px;margin-left:auto;color:var(--muted)}nav{display:flex;gap:5px;margin-top:16px;background:#eee5cb;padding:4px;border-radius:7px;font-size:12px}nav>*{flex:1;text-align:center;padding:7px;text-decoration:none}nav span{background:#6b4a24;color:#fff9e9;border-radius:5px;box-shadow:0 2px 7px #66442112}.search-panel{position:absolute;top:188px;left:28px;width:310px;z-index:6;background:var(--paper);border-radius:12px;box-shadow:0 7px 25px #7a5c221c}.search-panel label{display:flex;gap:11px;padding:13px 17px;align-items:center}.search-panel label>i{color:#8b6a3b}.search-panel input{width:100%;min-width:0;border:0;background:none;font-size:12px;outline-offset:6px}.search-panel input::placeholder{color:#856f4c}.key{font-size:11px;color:#9a8661;border:1px solid #dfd2b1;border-radius:3px;padding:0 6px}#results{max-height:45vh;overflow:auto;padding:0 12px 10px}#results button{width:100%;text-align:left;background:none;display:block;padding:10px 6px;border-top:1px solid var(--line);font-size:12px}#results span{color:var(--muted);font-size:10px;display:block}#results p{font-size:12px;padding:10px}.filters{position:absolute;top:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:6px;background:var(--paper);border-radius:40px;box-shadow:0 6px 24px #7a5c2226;z-index:5;white-space:nowrap}.filters button{background:none;padding:8px 15px;border-radius:24px;font-size:12px;gap:6px;min-height:36px}.filters button svg{width:16px;height:16px}.filters button[aria-pressed=true]{background:#d8aa4e;color:#39270f}.filters button:hover{background:#efdfb7}.filters button[aria-pressed=true]:hover{background:#d8aa4e}.map-title{position:absolute;right:96px;top:118px;text-align:right;pointer-events:none;z-index:1}.map-title h1{font:400 42px/1.4 AutumnDisplay,serif;letter-spacing:1px;margin:0 0 8px;color:#6c522e}.map-title span{font-size:11px;color:#7c6946;letter-spacing:1px}.mode{position:absolute;right:28px;top:31px;z-index:5;display:flex;align-items:center;gap:8px;font-size:11px;background:#fff9e9d9;padding:10px 15px;border-radius:30px}.mode svg{width:15px;height:15px}.mode b{font-size:10px;font-weight:400;color:var(--muted)}.mode-dot{width:3px;height:3px;background:#b39765;border-radius:50%;margin:0 3px}.place-card{position:absolute;left:28px;bottom:52px;width:310px;background:var(--paper);border-radius:15px;box-shadow:0 13px 40px #70532533;z-index:5;overflow:hidden}.card-photo{height:173px;position:relative;background:#e2d7ac}.card-photo>img{display:block;width:100%;height:100%;object-fit:contain}.card-photo>span{position:absolute;bottom:10px;left:12px;padding:3px 8px;background:#26301fce;color:#fff8dc;font-size:9px;border-radius:4px;max-width:275px}.photo-close{position:absolute;right:10px;top:10px;background:#fff9e9e8;border-radius:50%;width:28px;height:28px;min-height:28px}.photo-close svg{width:14px;height:14px}.card-copy{padding:18px 20px 16px}.place-location{font-size:10px;color:var(--muted);letter-spacing:1px}.card-copy h2{font:400 29px/1.3 AutumnDisplay,serif;margin:7px 0 8px}.card-copy>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.window{display:flex;align-items:center;gap:11px;margin:16px 0;color:#8d6326;border-top:1px solid var(--line);padding-top:14px}.window>i svg{width:20px;height:20px}.window strong{font-weight:400;font-size:12px;display:block}.window span{font-size:9px;color:var(--muted);display:block;margin-top:2px}.card-actions{display:flex;gap:8px}.card-actions button:first-child{flex:1;background:#71502b;color:#fff8e7}.card-actions button{background:#eee4c9;border-radius:6px;font-size:11px;padding:8px 13px;min-height:37px}.card-actions svg{width:15px;height:15px}#save[aria-pressed=true]{background:#d4ad57;color:#39270f}.map-controls{position:absolute;right:28px;bottom:112px;display:flex;flex-direction:column;gap:11px;z-index:5}.map-controls>button,.zoom{background:var(--paper);box-shadow:0 5px 16px #7a5c2221;border-radius:11px}.map-controls button{width:45px;height:44px;background:var(--paper);border-radius:11px}.map-controls button:hover{background:#f2e0b6}.map-controls svg{width:18px;height:18px}.zoom{padding:2px 0;overflow:hidden}.zoom>span{display:block;height:1px;background:var(--line);margin:0 12px}.zoom button{box-shadow:none}.map-controls #compass{height:56px;flex-direction:column;gap:1px}#compass small{font-size:8px;color:var(--muted)}#compass svg{fill:#b78232;stroke:#986628;width:15px;height:20px}.bottom-hint{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#fff9e9de;padding:10px 16px;border-radius:30px;font-size:10px;color:#735c37;z-index:3;white-space:nowrap}.bottom-hint svg{width:14px;height:14px}.bottom-hint b{font-weight:400;margin:0 7px;color:#b29967}.map-legend{position:absolute;right:28px;bottom:53px;display:flex;gap:14px;padding:9px 13px;background:#fff9e9d9;border-radius:9px;font-size:9px;z-index:2}.map-legend>span{display:flex;align-items:center;gap:4px}.map-legend svg{width:14px;height:14px}.data-note{position:absolute;left:28px;bottom:19px;color:#65512f;font-size:9px;background:#fff9e9b0;padding:2px 5px;border-radius:3px;z-index:2}.maplibregl-ctrl-attrib{font-size:9px!important;background:#fff9e9cc!important;color:#6f5935!important}.maplibregl-ctrl-attrib a{color:#6f5935!important}.maplibregl-ctrl-scale{border-color:#8e7750!important;background:#fff9e9bb!important;color:#755b34!important;font-size:9px!important;margin-left:375px!important;margin-bottom:20px!important}.map-status{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#fff9e9f5;border-radius:9px;padding:15px 23px;z-index:4;font-size:12px;box-shadow:0 5px 25px #7a5c2226}.map-status:empty{display:none}.map-pin{position:relative;cursor:pointer;background:none;overflow:visible;border:0;min-height:36px;width:36px;height:36px;z-index:1;transition:filter .2s}.pin-disc{width:34px;height:34px;background:#fff5d8;border:1px solid #b79b59;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #7a5c2238;color:#705023}.pin-disc svg{width:19px;height:19px}.map-pin.selected{z-index:4!important}.map-pin.selected .pin-disc{background:#a97422;border-color:#fff8dc;color:#fff5cc;width:42px;height:42px;box-shadow:0 0 0 6px #c3913035,0 5px 12px #67471936}.map-pin:hover .pin-disc{background:#d6a240;color:#fff9e9}.pin-name{position:absolute;left:50%;top:42px;transform:translateX(-50%);background:#fff9e9ee;color:#644923;padding:2px 7px;font-size:10px;line-height:1.6;white-space:nowrap;border-radius:3px;box-shadow:0 2px 5px #7a5c2212;pointer-events:none}.map-pin.selected .pin-name{top:49px;background:#745025;color:#fff5d7}.map-pin:not(.named):not(.selected) .pin-name{display:none}dialog{border:0;border-radius:13px;padding:25px;background:var(--paper);max-width:90vw;max-height:90svh;box-shadow:0 18px 70px #2e250e55}dialog::backdrop{background:#31271099;backdrop-filter:blur(8px)}#lightbox>button{position:absolute;right:12px;top:12px;background:#fff9e9e8;border-radius:50%;width:36px;height:36px;min-height:36px}#lightbox>img{max-height:73vh;max-width:80vw;display:block;object-fit:contain}#lightbox>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);margin-top:17px}#lightbox a{color:#865b20}
@keyframes panel-enter{from{opacity:.2;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.place-card.entering{animation:panel-enter .55s cubic-bezier(.215,.61,.355,1) both}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#c6b17c;border-radius:4px}::-webkit-scrollbar-track{background:#f5ecd3}
@media(max-width:1150px){.filters{top:84px;left:auto;right:28px;transform:none}.map-title{top:155px;right:30px}.map-title h1{font-size:32px}.mode{top:28px}.identity{width:280px}.search-panel{width:280px}.place-card{width:280px}.map-legend{display:none}.maplibregl-ctrl-scale{margin-left:335px!important}}
@media(max-width:600px){.identity{left:14px;top:14px;width:calc(100% - 28px);padding:13px 17px 10px;border-radius:12px}.brand small{font-size:8px}.brand>span{font-size:28px}nav{margin-top:12px}.search-panel{top:139px;left:14px;width:calc(100% - 28px);border-radius:9px}.search-panel label{padding:11px 14px}.search-panel input{font-size:14px}.filters{left:14px;right:auto;top:198px;padding:4px;gap:0;max-width:calc(100% - 28px)}.filters button{font-size:10px;padding:7px 10px;min-height:34px}.filters svg{display:none}.map-title,.mode,.map-legend,.bottom-hint,.data-note{display:none}.place-card{left:14px;bottom:38px;width:calc(100% - 85px);max-width:310px;display:grid;grid-template-columns:88px 1fr;border-radius:11px}.card-photo{height:100%;min-height:170px}.card-photo>span{font-size:8px;left:4px;bottom:5px;max-width:80px;padding:2px 4px}.photo-close{right:4px;top:4px;width:23px;min-height:23px;height:23px}.card-copy{padding:13px}.place-location{font-size:9px}.card-copy h2{font-size:23px;margin:3px 0 6px}.card-copy>p{display:none}.window{margin:9px 0;padding-top:8px;gap:5px}.window>i{display:none}.window strong{font-size:10px}.window span{font-size:8px}.card-actions{gap:4px}.card-actions button{padding:5px 8px;min-height:30px;font-size:9px}.card-actions svg{width:12px;height:12px}.map-controls{right:14px;bottom:56px;gap:8px}.map-controls button{width:39px;height:39px;min-height:39px}.map-controls #compass{display:none}.maplibregl-ctrl-scale{margin-left:15px!important;margin-bottom:10px!important}.maplibregl-ctrl-attrib{font-size:8px!important}.pin-name{font-size:9px}}
@media(prefers-reduced-motion:reduce){.place-card.entering{animation:none}.map-pin{transition:none}}
.map-pin{position:absolute;padding:0}.pin-disc{flex-shrink:0}.map-pin.selected{width:42px;height:42px}.pin-name.label-hidden{display:none!important}

.place-card{max-height:calc(100svh - 285px);overflow:auto}.guide-data-stamp{margin:6px 0;color:var(--muted)}#lightbox{overflow:auto;max-height:92svh;width:min(1120px,94vw)}#lightbox>img{max-height:58svh}#guide-detail{padding:18px 28px;max-width:100%}.map-failed #map{background:#e9d6a1}.map-failed .map-status{max-width:85vw;white-space:normal}@media(max-width:600px){.place-card{max-height:48svh}#guide-detail{padding:14px}.guide-gallery{grid-template-columns:1fr}#lightbox{max-height:94svh}}
