:root{--bg:#f4f2ec;--surface:#ffffff;--surface-2:#f5f2ea;--ink:#17161a;--ink-soft:#6b6660;--line:#e9e4d9;--brand:#0e8c80;--brand-ink:#0a655c;--brand-tint:#e2f4f0;--accent:#f4511e;--focus:#2563eb;--radius:24px;--radius-sm:16px;--touch:56px;--shadow-sm:0 1px 2px rgba(23,22,26,.06),0 2px 8px rgba(23,22,26,.05);--shadow-md:0 4px 12px rgba(23,22,26,.08),0 12px 32px rgba(23,22,26,.10);--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#141310;--surface:#1f1d18;--surface-2:#26231d;--ink:#f5f2ea;--ink-soft:#b7b1a4;--line:#332f28;--brand:#5eead4;--brand-ink:#99f6e4;--brand-tint:#123b37;--accent:#fb923c;--focus:#93c5fd}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:18px;-webkit-font-smoothing:antialiased}body{background:radial-gradient(1100px 460px at 100% -10%,color-mix(in srgb,var(--brand) 12%,transparent) 0,transparent 60%),radial-gradient(900px 460px at -10% -6%,color-mix(in srgb,var(--accent) 10%,transparent) 0,transparent 55%),var(--bg);background-attachment:fixed}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}.app{max-width:1040px;margin:0 auto;padding:0 18px 96px}.brand{display:flex;padding:22px 0}.brand,.brand-link{align-items:center;gap:14px}.brand-link{display:inline-flex;text-decoration:none;color:inherit;cursor:pointer}.brand .mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#12a394,var(--brand-ink));display:grid;place-items:center;color:#fff;font-weight:800;font-size:26px;box-shadow:0 5px 14px rgba(14,140,128,.3)}.brand h1{font-size:28px;margin:0;font-weight:850;letter-spacing:-.02em}.brand .tagline{font-size:14px;color:var(--ink-soft);border:0;background:none;padding:0;margin-top:1px}.searchbar{display:flex;gap:10px;align-items:center;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:8px 8px 8px 18px;box-shadow:var(--shadow-sm)}.searchbar:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}.searchbar input{flex:1 1;border:0;background:transparent;font-size:18px;color:var(--ink);padding:14px 0;font-family:inherit}.searchbar input::placeholder{color:#9a948b}.searchbar input:focus{outline:none}.searchbar input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-clear{border:0;background:var(--surface-2);color:var(--ink-soft);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.search-clear:hover{background:var(--line);color:var(--ink)}.parse-hint{display:flex;gap:6px;margin:8px 2px 0;color:var(--brand-ink);font-size:13px;font-weight:700}.btn,.parse-hint{align-items:center}.btn{font-family:inherit;font-weight:750;font-size:17px;cursor:pointer;border:2px solid transparent;border-radius:16px;text-decoration:none;min-height:var(--touch);padding:0 20px;display:inline-flex;justify-content:center;gap:8px}.btn-soft{background:var(--brand-tint);color:var(--brand-ink);border:0;font-size:15px}.btn-soft:hover{background:color-mix(in srgb,var(--brand) 22%,var(--surface))}.btn-primary{background:var(--brand);color:#fff}.btn-fc{background:var(--fc,var(--brand))}.btn-fc,.btn-near{color:#fff;border:0}.btn-near{background:linear-gradient(135deg,#cb4a0a,#c2410c 55%,#9a3412);box-shadow:0 5px 14px rgba(194,65,12,.34);flex:0 0 auto;font-size:15px}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.filter-row{display:flex;gap:10px;overflow-x:auto;padding:12px 0;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:48px;padding:0 18px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-weight:750;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.chip[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-ink)}.chip.fchip .cdot{width:10px;height:10px;border-radius:50%;background:var(--fc,#999);display:inline-block}.chip.fchip[aria-pressed=true]{background:var(--fc);border-color:var(--fc);color:#fff}.chip.fchip[aria-pressed=true] .cdot{background:rgba(255,255,255,.92)}.chip-soon{color:#065f46}.chip-soon .livedot{width:9px;height:9px;border-radius:50%;background:#059669;box-shadow:0 0 0 0 rgba(5,150,105,.5);animation:pulse 1.8s ease-out infinite}.chip-soon[aria-pressed=true]{background:#047857;border-color:#047857;color:#fff}.chip-soon[aria-pressed=true] .livedot{background:#fff;animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(5,150,105,.5)}70%{box-shadow:0 0 0 7px rgba(5,150,105,0)}to{box-shadow:0 0 0 0 rgba(5,150,105,0)}}@media (prefers-reduced-motion:reduce){.chip-soon .livedot{animation:none}}.soon{background:var(--surface-2);color:#065f46;font-weight:800;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid #a7f3d0}.soon-now{background:#047857;color:#fff;border-color:transparent}@media (prefers-color-scheme:dark){.chip-soon,.soon{color:#6ee7b7}.soon{border-color:#065f46}}.results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;flex-wrap:wrap}.results-count{font-weight:800}.count-line{font-weight:850;font-size:16px;padding:10px 2px 2px;color:var(--ink)}.loc-btn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:8px 14px;min-height:44px;font-family:inherit;font-weight:750;font-size:15px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.loc-btn:hover{border-color:var(--brand)}.loc-btn b{font-weight:850}.loc-change{color:var(--brand-ink);font-weight:750;font-size:13px;margin-left:2px}.loc-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.loc-form input{width:130px;border:2px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink)}.loc-form input:focus{outline:none;border-color:var(--brand)}.loc-link{border:0;background:none;color:var(--brand-ink);font-family:inherit;font-weight:750;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:44px}.loc-link:hover{text-decoration:underline;text-underline-offset:3px}.loc-err{color:var(--accent);font-size:13px;font-weight:750;flex-basis:100%}.seg{display:inline-flex;background:var(--surface-2);border-radius:14px;padding:4px;gap:4px;border:1px solid var(--line)}.seg button{font-family:inherit;font-weight:750;border:0;background:transparent;color:var(--ink-soft);padding:10px 16px;border-radius:10px;cursor:pointer;min-height:44px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.cards{display:flex;flex-direction:column;gap:14px;margin:14px 0;padding:0}.cards,.cards>li{list-style:none}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;display:grid;grid-template-columns:66px 1fr;grid-gap:14px;gap:14px;align-items:start;width:100%;text-align:left;font:inherit;color:inherit;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--fc) 45%,var(--line))}.timechip{width:66px;height:66px;border-radius:18px;background:var(--fc,var(--brand));color:#fff;display:grid;place-content:center;text-align:center;line-height:1.05;box-shadow:0 1px 2px rgba(23,22,26,.1)}.timechip .hh{font-size:20px;font-weight:850}.timechip .ap{font-size:11px;font-weight:800;opacity:.92;letter-spacing:.04em}.cardbody{min-width:0}.card h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em}.card .meta{color:var(--ink-soft);font-size:15px;margin-top:3px}.card .meta b{color:var(--ink)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.tag{font-size:12.5px;font-weight:750;padding:6px 11px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}.tag.fellow{background:color-mix(in srgb,var(--fc) 15%,var(--surface));color:var(--fc);border-color:transparent}.rt{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px;font-weight:650}.rt .line{width:12px;height:12px;border-radius:4px;flex:0 0 auto}.dist{margin-left:auto;color:var(--ink);font-weight:800;font-size:15px;white-space:nowrap}.map-wrap{height:64vh;min-height:400px;border-radius:var(--radius);overflow:hidden;border:2px solid var(--line);margin:14px 0}.state{text-align:center;color:var(--ink-soft);padding:48px 20px}.state h2{margin:0 0 6px;font-size:20px;color:var(--ink)}.state p{margin:0 auto 16px;max-width:34ch}.card--skeleton{cursor:default;pointer-events:none;grid-template-columns:66px 1fr;box-shadow:none}.sk{display:block;background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 37%,var(--surface-2) 63%);background-size:400% 100%;border-radius:8px;animation:sk 1.2s ease-in-out infinite}.sk-time{width:66px;height:66px;border-radius:18px}.sk-line{height:16px;margin:6px 0;width:80%}.sk-short{width:45%}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}.card{transition:none}}.sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:end center;z-index:100}.sheet-panel{background:var(--surface);width:100%;max-width:860px;border-radius:28px 28px 0 0;padding:20px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-md)}@media(min-width:760px){.sheet-overlay{place-items:center;padding:24px}.sheet-panel{border-radius:24px;max-height:86vh}}.sheet-panel h2{margin-top:4px;font-size:25px;font-weight:850;letter-spacing:-.02em}.sheet-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 2px;min-height:44px}.close-x{border:0;background:var(--surface-2);color:var(--ink-soft);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.close-x:hover{background:var(--line);color:var(--ink)}.share-btn{display:inline-flex;align-items:center;gap:7px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:750;font-size:15px;border-radius:999px;padding:8px 16px;min-height:44px;cursor:pointer}.share-btn:hover{border-color:var(--fc,var(--brand));color:var(--fc,var(--brand-ink))}.when{display:inline-flex;align-items:center;gap:8px;background:var(--fc,var(--brand));color:#fff;font-weight:800;font-size:15px;padding:10px 14px;border-radius:12px;margin:2px 0 8px;text-decoration:none;cursor:pointer;min-height:44px}.when:hover{filter:brightness(.94)}.when .icon-add{opacity:.9;margin-left:2px}.sheet-addr{color:var(--ink-soft);font-size:16px}.sheet-addr a{color:var(--fc,var(--brand-ink));text-decoration:none;font-weight:700}.access-grid{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;margin-top:24px}@media(min-width:520px){.access-grid{grid-template-columns:1fr 1fr}}.access-col h4{margin:0 0 10px;font-size:15px;font-weight:850;display:flex;align-items:center;gap:8px}.park-list{display:flex;flex-direction:column;gap:8px}a.park-item{display:flex;gap:12px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit}a.park-item:hover{border-color:var(--fc,var(--brand))}.park-item .pico{width:38px;height:38px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:var(--surface);color:var(--ink-soft)}.park-item .pt{font-weight:750;font-size:15px;display:block}.park-item .pd{color:var(--ink-soft);font-size:13px;display:block}.park-item .chev{margin-left:auto;color:var(--ink-soft)}.sheet-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.sheet-actions .btn{flex:1 1 132px;white-space:nowrap;padding:0 14px;gap:6px}.report-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--ink-soft);font-size:14px;font-weight:650;text-decoration:none}.report-link:hover{color:var(--fc,var(--brand-ink));text-decoration:underline;text-underline-offset:3px}.detail-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 2px}.detail-links .tlink{background:none;border:0;padding:0;cursor:pointer;font-family:inherit;font-weight:750;font-size:14px;color:var(--fc,var(--brand-ink));display:inline-flex;align-items:center;gap:6px;text-decoration:none}.detail-links .tlink:hover{text-decoration:underline;text-underline-offset:3px}.map-toggle{display:inline-flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px;margin:14px 0 8px}.map-toggle button{border:0;background:transparent;font-family:inherit;font-weight:750;font-size:14px;color:var(--ink-soft);padding:8px 16px;border-radius:9px;cursor:pointer;min-height:38px}.map-toggle button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.detail-map{height:240px;border-radius:16px;overflow:hidden;border:2px solid var(--line)}.detail-map iframe,.detail-map img{width:100%;height:100%;border:0;display:block;object-fit:cover}.sv-fallback{display:grid;place-items:center;height:100%;background:var(--surface-2)}.map-wrap-wrap{position:relative}.map-focus-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:5;background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow-md);max-width:520px;margin:0 auto}.map-focus-card .mfc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.map-focus-card .mfc-sub{color:var(--ink-soft);font-size:14px;margin:2px 0 4px}.map-focus-card .close-x{border:0;background:var(--surface-2);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:16px;flex:0 0 auto}.notes-block{border:1px solid var(--line);padding:16px;border-radius:14px}.mode-tabs,.notes-block{background:var(--surface-2)}.mode-tabs{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:16px;padding:5px;margin:0 0 6px}.mode-tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink-soft);font-family:inherit;font-weight:750;font-size:16px;padding:10px 18px;border-radius:12px;cursor:pointer;min-height:48px}.mode-tab[aria-selected=true]{color:var(--ink)}.chat-wrap,.mode-tab[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow-sm)}.chat-wrap{display:flex;flex-direction:column;height:min(70vh,640px);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:8px}.chat-loc{padding:10px 12px;border-bottom:1px solid var(--line)}.chat-thread{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.chat-intro{color:var(--ink-soft)}.chat-intro p{margin:0 0 10px}.chat-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.chat-fine{font-size:12.5px;margin-top:8px}.msg{display:flex;flex-direction:column;gap:8px;max-width:100%}.msg.user{align-items:flex-end}.msg.assistant{align-items:flex-start}.bubble{padding:12px 15px;border-radius:16px;font-size:16px;line-height:1.5;max-width:85%;white-space:pre-wrap}.msg.user .bubble{background:var(--brand);color:#fff;border-bottom-right-radius:5px}.msg.assistant .bubble{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:5px}.bubble.typing{display:inline-flex;gap:4px}.bubble.typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-soft);animation:blink 1.2s infinite}.bubble.typing span:nth-child(2){animation-delay:.2s}.bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:.9}}@media (prefers-reduced-motion:reduce){.bubble.typing span{animation:none}}.chat-cards{flex-direction:column;gap:8px;max-width:540px}.chat-card,.chat-cards{display:flex;width:100%}.chat-card{align-items:center;gap:12px;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:10px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer}.chat-card:hover{border-color:color-mix(in srgb,var(--fc) 45%,var(--line))}.chat-card .cc-chev{margin-left:auto;color:var(--ink-soft);flex:0 0 auto}.chat-card .cc-badge{flex:0 0 auto;min-width:46px;height:40px;padding:0 8px;border-radius:11px;background:var(--fc);color:#fff;font-weight:850;font-size:13px;display:grid;place-items:center;text-align:center}.cc-body{min-width:0;flex:1 1}.cc-name{display:block;font-weight:800;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-meta{display:block;color:var(--ink-soft);font-size:13.5px}.cc-link{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--surface-2);color:var(--brand-ink);text-decoration:none}.cc-link.cc-online{width:auto;padding:0 10px;font-size:12px;font-weight:800}.web-fallbacks{display:flex;flex-direction:column;gap:8px;width:100%;max-width:540px;margin-top:8px}.web-fallback{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;font-weight:800;font-size:15px;color:var(--brand-ink);text-decoration:none}.web-fallback:hover{border-color:var(--brand)}.web-fallback .wf-ext{margin-left:auto;color:var(--ink-soft)}.wf-official{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:color-mix(in srgb,var(--brand) 6%,var(--surface))}.sheet-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px}.sheet-tags .tag{background:var(--surface-2);color:var(--ink-soft);border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:700}.sheet-tags .freshness{color:var(--ink-soft);font-size:12.5px;font-weight:600;font-style:italic}.detail-contact-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 2px}.detail-contact{display:inline-flex;align-items:center;gap:6px;color:var(--brand-ink);font-weight:800;font-size:14.5px;text-decoration:none}.detail-contact:hover{text-decoration:underline}.expect{margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.expect summary{cursor:pointer;padding:11px 14px;font-weight:800;font-size:15px;color:var(--brand-ink);list-style:none}.expect summary::-webkit-details-marker{display:none}.expect summary:after{content:"＋";float:right;color:var(--ink-soft);font-weight:700}.expect[open] summary:after{content:"－"}.expect p{margin:0;padding:0 14px 13px;color:var(--ink-soft);font-size:14.5px;line-height:1.5}.btn-disabled{opacity:.55;cursor:default;pointer-events:none}.chat-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;max-width:540px}.chat-followups .chip{font-size:14px}.chat-mic{min-height:0;height:48px;width:48px;padding:0;border-radius:14px;flex:0 0 auto}.chat-mic.mic-on{background:var(--brand);color:#fff;border-color:var(--brand);animation:micpulse 1.3s ease-in-out infinite}@keyframes micpulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 45%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 0%,transparent)}}.chat-err{color:var(--accent);font-size:14px;font-weight:700;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.chat-err-switch{min-height:0;height:auto;padding:8px 12px;font-size:14px}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}.chat-input input{flex:1 1;border:2px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink)}.chat-input input:focus{outline:none;border-color:var(--brand)}.chat-input .btn{min-height:0;height:48px;width:52px;padding:0;border-radius:14px}.prose{max-width:760px;line-height:1.65}.prose h1{font-size:30px;font-weight:850;letter-spacing:-.02em;margin:6px 0 14px}.prose h2{font-size:21px;font-weight:800;margin:30px 0 8px}.prose h3{font-size:17px;font-weight:800;margin:22px 0 6px}.prose p,.prose ul{margin:10px 0}.prose ul{padding-left:22px}.prose li{margin:8px 0}.prose a{font-weight:650;text-underline-offset:3px}.prose .back,.prose a{color:var(--brand-ink)}.prose .back{display:inline-block;font-weight:750;text-decoration:none}.prose .back:hover{text-decoration:underline}.site-footer{margin-top:40px;padding:22px 0 8px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px;line-height:1.6}.site-footer p{margin:6px 0}.site-footer a{color:var(--brand-ink);font-weight:700;text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}