/* Public city guides. All guide presentation stays within its mounted root. */
.wn-guide-public{--guide-red:var(--red,#ce1425);--guide-line:var(--line,#85858c55);--guide-paper:var(--paper,#fff);--guide-ink:var(--ink,#19191e);display:grid;gap:24px;width:100%;max-width:100%;min-width:0;color:var(--guide-ink);font:400 17px/1.65 var(--body,Arial,sans-serif)}
.wn-guide-public *{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
.wn-guide-public [hidden]{display:none!important}
.wn-guide-public h2,.wn-guide-public h3,.wn-guide-public h4{color:inherit;font-family:var(--display,Arial,sans-serif);font-weight:850;letter-spacing:-.025em}
@media(min-width:601px){.wn-guide-public h2,.wn-guide-public h3,.wn-guide-public h4{font-weight:400;font-synthesis:none}}
.wn-guide-public h2{font-size:clamp(30px,5vw,56px);line-height:1.1;margin:12px 0 22px}
.wn-guide-public h3{font-size:clamp(25px,3.3vw,35px);line-height:1.22;margin:0 0 18px}
.wn-guide-public h4{font-size:clamp(23px,2.8vw,29px);line-height:1.25;margin:12px 0 20px}
.wn-guide-public p{font-size:17px;line-height:1.7;margin:14px 0}
.wn-guide-public .wn-guide-note,.wn-guide-public .wn-guide-map-credit{font-size:15px;line-height:1.6}
.wn-guide-text{white-space:pre-wrap}
.wn-guide-public a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
.wn-guide-public a:hover{text-decoration-color:var(--guide-red)}
.wn-guide-public button,.wn-guide-public input,.wn-guide-public select{font:inherit;font-size:16px;max-width:100%;min-height:48px;border:1px solid var(--guide-line);border-radius:10px;color:var(--guide-ink);background:var(--guide-paper)}
.wn-guide-public button{cursor:pointer;padding:12px 18px;line-height:1.45;text-align:start;white-space:normal}
.wn-guide-public button:hover:not(:disabled){border-color:var(--guide-red)}
.wn-guide-public button:disabled{opacity:.5;cursor:not-allowed}
.wn-guide-public input,.wn-guide-public select{width:100%;padding:12px}
.wn-guide-public :focus-visible{outline:3px solid var(--guide-red);outline-offset:4px}
.wn-guide-public .wn-guide-primary{background:var(--guide-red);border-color:var(--guide-red);color:#fff;font-weight:750}
.wn-guide-public .wn-guide-eyebrow{display:block;color:var(--guide-red);font-size:14px;font-weight:800;letter-spacing:.09em;line-height:1.5;text-transform:uppercase}
.wn-guide-hero{padding:clamp(22px,5vw,52px);border:1px solid var(--guide-line);border-top:5px solid var(--guide-red);border-radius:18px;background:radial-gradient(ellipse at top right,#ce142518,transparent 75%),var(--guide-paper)}
.wn-guide-hero>p{max-width:740px}
.wn-guide-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px;border:1px solid var(--guide-line);border-radius:16px;background:var(--guide-paper)}
.wn-guide-filter>label{display:grid;align-content:start;gap:10px;font-weight:700;font-size:16px}
.wn-guide-filter>label:has(input[type=search]){grid-column:span 2}
.wn-guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.wn-guide-filter>.wn-guide-actions,.wn-guide-district-options{grid-column:1/-1}
.wn-guide-district-options{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;border-top:1px solid var(--guide-line);padding-top:14px}
.wn-guide-district-options>p{flex:1 1 240px;margin:0}
.wn-guide-status{margin:0!important;border-left:4px solid var(--guide-red);padding:12px 18px;background:#ce14250a;min-height:50px}
.wn-guide-content{display:grid;gap:24px}
.wn-guide-results-title{margin-bottom:0!important;scroll-margin-top:110px}
.wn-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.wn-guide-card,.wn-guide-panel{padding:24px;border:1px solid var(--guide-line);border-top:3px solid var(--guide-red);border-radius:15px;background:var(--guide-paper)}
.wn-guide-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.wn-guide-card>h3{margin:0;font-size:clamp(25px,3.2vw,34px)}
.wn-guide-card>p{margin:0}
.wn-guide-district-link,.wn-guide-open,.wn-guide-back{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.5}
.wn-guide-open{font-weight:800;margin-top:auto}
.wn-guide-tags{display:flex;flex-wrap:wrap;gap:9px}
.wn-guide-tags>button{font-size:15px;padding:8px 12px;border-radius:30px;min-height:44px;background:#ce14250a}
.wn-guide-empty{padding:24px;border:1px solid var(--guide-line);border-radius:12px}
.wn-guide-detail{display:grid;gap:28px;padding:clamp(20px,4vw,44px);border:1px solid var(--guide-line);border-top:5px solid var(--guide-red);border-radius:18px;background:var(--guide-paper)}
.wn-guide-detail-heading h2{max-width:100%;scroll-margin-top:110px}
.wn-guide-detail .wn-guide-lead{font-size:clamp(18px,2.2vw,22px);line-height:1.65}
.wn-guide-body{font-size:17px;line-height:1.85}
.wn-guide-articles{border-top:1px solid var(--guide-line);padding-top:24px}
.wn-guide-articles ul{display:grid;gap:12px;padding-left:24px;margin:0}
.wn-guide-articles a{display:inline-block;min-height:44px;padding:8px 0}
.wn-guide-stations{display:grid;gap:20px;border-top:1px solid var(--guide-line);padding-top:26px}
.wn-guide-stations>h3,.wn-guide-stations>p{margin:0}
.wn-guide-station-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wn-guide-station-list li{display:flex}
.wn-guide-station-list button{display:flex;align-items:flex-start;gap:12px;width:100%;font-size:16px;line-height:1.5}
.wn-guide-station-list button[aria-current=step]{border-color:var(--guide-red);box-shadow:inset 3px 0 0 var(--guide-red);background:#ce14250a}
.wn-guide-station-number{flex:0 0 auto;font-size:20px;font-weight:850;color:var(--guide-red);font-variant-numeric:tabular-nums}
.wn-guide-station-panel{padding:24px;border:1px solid var(--guide-line);border-radius:12px;background:linear-gradient(110deg,#ce14250b,transparent);scroll-margin-top:110px}
.wn-guide-map{display:grid;gap:16px;padding-top:24px;border-top:1px solid var(--guide-line)}
.wn-guide-map>h3,.wn-guide-map>p{margin:0}
.wn-guide-public .wn-guide-map-viewport{position:relative;width:100%;height:clamp(300px,52vw,580px);overflow:hidden;border:1px solid var(--guide-line);border-radius:14px;background:#1e2832;touch-action:none;cursor:grab;isolation:isolate}
.wn-guide-map-viewport.is-dragging{cursor:grabbing}
.wn-guide-public .wn-guide-map-world{position:absolute;left:0;top:0;transform-origin:0 0}
.wn-guide-map-world>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;max-width:none}
.wn-guide-map-tiles{position:absolute;inset:0;pointer-events:none}
.wn-guide-map-tiles>img{position:absolute;display:block;max-width:none!important;pointer-events:none;user-select:none}
.wn-guide-public .wn-guide-map-pin{position:absolute;display:grid;place-items:center;min-width:44px;min-height:44px;max-width:120px;padding:8px 10px;border:2px solid #fff;border-radius:50% 50% 50% 4px;background:var(--guide-red);color:#fff;font:800 16px/1 Arial,sans-serif;box-shadow:0 2px 10px #0008;transform:translate(-50%,-70%) scale(var(--inverse-zoom,1));transform-origin:50% 70%;z-index:2;text-align:center}
.wn-guide-public .wn-guide-map-pin[data-selected=true]{background:#fff;color:#a70d1b;outline:3px solid var(--guide-red);z-index:3}
.wn-guide-public .wn-guide-map-controls{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:max-content;max-width:calc(100% - 24px);padding:8px;border:1px solid var(--guide-line);border-radius:12px;background:var(--guide-paper);cursor:auto;box-shadow:0 2px 10px #0005}
.wn-guide-map-controls output{min-width:50px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.wn-guide-map-controls button[aria-label]{font-size:23px;min-width:50px;text-align:center;padding:8px}
.wn-guide-map-fallback{padding:18px;border:1px dashed var(--guide-line);border-radius:12px}
.wn-guide-server-stations{padding-left:28px;display:grid;gap:18px}
.wn-guide-server-stations li{padding-left:6px}
@media(min-width:1440px){.wn-guide-grid{gap:28px}.wn-guide-filter{gap:22px}.wn-guide-detail{gap:32px}}
@media(max-width:1024px){.wn-guide-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.wn-guide-filter>label:has(input[type=search]){grid-column:auto}}
@media(max-width:768px){.wn-guide-grid,.wn-guide-station-list{grid-template-columns:minmax(0,1fr)}.wn-guide-filter{gap:18px}.wn-guide-card{padding:22px}.wn-guide-public .wn-guide-map-viewport{height:360px}}
@media(max-width:540px){.wn-guide-public{gap:20px}.wn-guide-filter{grid-template-columns:minmax(0,1fr);padding:18px}.wn-guide-actions>*{flex:1 1 100%}.wn-guide-hero{padding:24px 18px}.wn-guide-detail,.wn-guide-card,.wn-guide-panel,.wn-guide-station-panel{padding:20px 18px}.wn-guide-public .wn-guide-map-viewport{height:360px}.wn-guide-map-controls>button:last-child{flex:1 1 100%}.wn-guide-station-list button{padding:14px 12px}.wn-guide-map-controls>button{min-height:50px}}
@media(max-width:412px){.wn-guide-public h2{font-size:32px}.wn-guide-public h3{font-size:27px}.wn-guide-status{padding:12px 14px}.wn-guide-detail{gap:24px}}
@media(max-width:390px){.wn-guide-hero,.wn-guide-card,.wn-guide-detail,.wn-guide-panel{padding-inline:16px}.wn-guide-public .wn-guide-note{font-size:15px}}
@media(max-width:360px){.wn-guide-filter,.wn-guide-station-panel{padding-inline:14px}.wn-guide-public button{padding-inline:14px}.wn-guide-public .wn-guide-map-viewport{height:360px}}
@media(max-width:320px){.wn-guide-public h2{font-size:30px}.wn-guide-public h3{font-size:25px}.wn-guide-public .wn-guide-map-pin{min-width:44px;min-height:44px;padding:8px}}
@media(prefers-reduced-motion:reduce){.wn-guide-public *,.wn-guide-public *::before,.wn-guide-public *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html[data-motion=paused] .wn-guide-public *,html[data-motion=paused] .wn-guide-public *::before,html[data-motion=paused] .wn-guide-public *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
