/* App-first v9. Retains the +10% font scale. */
.preflight-panel{padding:18px;margin:18px 0 22px;border:1px solid #c8d9be;background:#f0f5e9;border-radius:14px}.preflight-panel h3{font:700 24.2px/1.3 system-ui,sans-serif;margin:12px 0}.preflight-panel p{font-size:15.4px;line-height:1.7;overflow-wrap:anywhere}.preflight-panel .check-item{padding:12px 0;font-size:16.5px;align-items:start}.preflight-panel input{flex-shrink:0;width:22px;height:22px}.preflight-panel .primary{display:flex;justify-content:center;text-align:center;min-height:48px}.preflight-panel details{border-top:1px solid #d0dcc8;margin-top:15px;padding-top:4px;font-size:14.3px}.preflight-panel summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:600}.preflight-panel>small{display:block;font-size:12.1px;color:var(--muted);margin-top:15px;line-height:1.6}
.spot-crop{display:block;width:100%;height:auto;aspect-ratio:2/1;overflow:hidden}
.preflight-panel a,.preflight-panel button,.preflight-panel span,.detail-section li{overflow-wrap:anywhere}.preflight-panel .small-button{white-space:normal;min-width:0;max-width:100%}
:root{--pocket-nav:78px}html{scroll-padding-top:70px}body{padding-bottom:calc(var(--pocket-nav) + 84px + env(safe-area-inset-bottom))}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tabs{top:0;z-index:20;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:16px;gap:20px}.tabs::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.bottom-nav{z-index:40!important;padding-bottom:env(safe-area-inset-bottom);min-height:var(--pocket-nav);background:#fffffff5!important;backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottom-nav button{font-size:11px!important;line-height:1.3;min-height:58px!important}.bottom-nav button.active{background:#e7efe9;border-radius:12px}.pocket-dock{position:fixed;z-index:30;bottom:calc(var(--pocket-nav) + 10px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:620px;margin:auto;background:#173f38;color:#fff;border:1px solid #42635b;border-radius:15px;display:flex;align-items:center;gap:2px;padding:6px;box-shadow:0 5px 22px #173f3830}.pocket-dock button{background:transparent;border:0;color:inherit;font-family:inherit;font-weight:600;font-size:13.2px;line-height:1.3;min-height:44px;padding:8px 10px;white-space:nowrap;border-radius:10px}.pocket-dock button:hover,.pocket-dock button:focus-visible{background:#315a51}.dock-context{font-size:12.1px;line-height:1.35;flex:1;min-width:0;padding:0 8px;overflow-wrap:anywhere}.pocket-controls{background:var(--cream);padding:10px 0 12px;scroll-margin-top:64px}.pocket-controls input{font:inherit!important;font-size:17.6px!important;min-height:48px}.pocket-controls .filters,.catalog-controls .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;margin:10px 0 0;scrollbar-width:none}.pocket-controls .filter{flex-shrink:0;min-height:44px;padding:8px 13px}.result-count{display:block;font-size:12.1px;color:var(--muted);margin:12px 0 0}.pocket-disclaimer{background:#edf1e9;border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin:12px 0 18px;font-size:14.3px;line-height:1.65}.pocket-disclaimer summary{font-weight:600;cursor:pointer;min-height:25px}.pocket-disclaimer p{margin:9px 0}.attraction-card{padding:18px!important;overflow:hidden}.spot-image{margin:-18px -18px 16px;position:relative;background:#dce7dd;overflow:hidden}.spot-atlas{background-image:url('assets/attractions-v8.webp');background-size:400% 600%;background-repeat:no-repeat;width:100%;aspect-ratio:2/1}.spot-image figcaption{position:absolute;right:0;bottom:0;font-size:9.9px;line-height:1.5;background:#fffffff0;color:#394d44;padding:3px 7px;border-radius:6px 0 0 0}.attraction-card h3{font:700 22px/1.3 system-ui,sans-serif;margin:12px 0 10px}.spot-description{font-size:15.4px;line-height:1.65;margin:9px 0 13px;color:#4b6056}.spot-facts{display:flex;gap:6px;flex-wrap:wrap;font-size:12.1px;color:#4e6258}.spot-facts span{background:#f0f3ec;border-radius:7px;padding:6px 8px}.attr-cost{font-size:14.3px;line-height:1.6;padding:10px 12px;margin:12px 0}.attraction-card .food-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attraction-card .food-actions a,.attraction-card .food-actions button{min-width:0;font-size:13.2px}.attraction-map-details{margin-top:14px;font-size:13.2px}.attraction-map-details>summary{min-height:44px!important;padding:12px 0!important}.attraction-map-details .map-panel{padding:0;border:0}.map-place details{font-size:13.2px;margin-top:8px}.map-place details summary{padding:6px 0;min-height:32px}.map-caution{font-size:13.2px;line-height:1.7;margin:12px 0}.map-caution summary{cursor:pointer;min-height:40px}.map-how{font-size:14.3px!important}.map-place .food-actions{display:flex;flex-wrap:wrap!important}.map-place .food-actions>*{flex:auto;min-width:0}.map-place .food-actions>[data-native-amap]{flex-basis:100%;justify-content:center}.map-place .map-web-fallback{flex:1}.live-map-links{display:flex;flex-wrap:wrap;gap:7px}.live-map-links>[data-native-amap]{flex-basis:100%}.live-trip h3{font:700 26.4px/1.25 system-ui,sans-serif}.live-trip{margin-bottom:16px}.live-trip>small{display:block;margin-top:12px;line-height:1.6}.meal-controls,.catalog-controls,#view>.filters{scroll-margin-top:72px}.meal-plan-note{font-size:14.3px;line-height:1.65}.meal-slot h3{font:700 22px/1.3 system-ui,sans-serif}.meal-slot>p{line-height:1.65}.food-card h3{font:700 24.2px/1.3 system-ui,sans-serif}.food-card p{line-height:1.65}.food-mode{margin:12px 0}.food-grid,.attractions-grid{gap:16px}.section-head{margin-top:12px}.section-head h2{font:700 28.6px/1.2 system-ui,sans-serif;letter-spacing:-.5px}.section-head .eyebrow{font-size:11px;letter-spacing:1.3px}.drive-panel h3{font:700 24.2px/1.3 system-ui,sans-serif}.drive-panel p{font-size:15.4px;line-height:1.7}.drive-panel details{margin-top:20px;font-size:14.3px}.drive-panel summary{min-height:44px;cursor:pointer}.drive-symbol{font-size:44px;color:var(--green)}#openTripDrive{display:flex;justify-content:center;width:100%;margin:20px 0;min-height:52px;font-size:16.5px}.footer{margin-top:25px;padding-bottom:20px}.footer p{font-size:12.1px;line-height:1.65}.hero-copy{padding:18px 20px}.hero h1{font-size:33px;margin:10px 0}.hero-art{height:135px}.hero p{font-size:14.3px;line-height:1.5}.hero-button{margin-top:10px}.art-label{top:107px}.utility-strip{margin:12px 0;font-size:11px}.hero .eyebrow{font-size:9.9px!important}.food-actions a,.food-actions button{overflow-wrap:anywhere}.small-button:focus-visible,.filter:focus-visible{outline:3px solid #ba8048;outline-offset:2px}#detailBody>.spot-image{margin:0 0 18px;border-radius:12px}#detail{padding-bottom:22px}#toast{z-index:100;bottom:calc(var(--pocket-nav) + 86px)}
.tabs [data-drive-nav]{display:inline-flex;align-items:center;min-height:48px;font-size:14.3px;color:var(--muted);text-decoration:none;flex-shrink:0}.bottom-nav [data-drive-nav]{flex:1;min-width:0;min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px;line-height:1.3;color:var(--muted);text-decoration:none;padding:10px 1px}.bottom-nav [data-drive-nav] span{display:block;font-size:20.9px;margin-bottom:4px}.meal-jumps{display:flex;gap:7px;overflow-x:auto;margin:12px 0}.meal-jumps button{flex:1;white-space:nowrap;min-width:0;padding:8px 10px}.meal-slot{scroll-margin-top:70px}
@media(max-width:899px){.hero{display:grid;grid-template-columns:1fr 1fr;margin:0 12px}.hero-art{grid-column:2;grid-row:1;height:148px}.hero-copy{grid-column:1;grid-row:1;padding:14px}.hero h1{font-size:25.3px;line-height:1.1;margin:7px 0}.hero-copy>.eyebrow{font-size:8.8px!important;letter-spacing:.6px}.hero p{display:none}.hero-button{font-size:12.1px;gap:6px;padding:8px;min-height:44px}.art-label{display:none}}
@media(max-width:359px){.dock-context{font-size:11px;padding:0 4px}.pocket-dock button{padding:8px 7px;font-size:12.1px}.pocket-dock{left:8px;right:8px}.bottom-nav button{font-size:9.9px!important}.attraction-card h3{font-size:20.9px}}
@media(min-width:900px){body{padding-bottom:100px}.pocket-dock{bottom:18px;left:auto;right:24px;width:480px}.hero{min-height:230px;grid-template-columns:1fr 1fr;max-height:280px}.hero-art{min-height:230px;height:100%}.hero-copy{padding:24px}.hero h1{font-size:44px}.art-label{top:auto}.attractions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attraction-card h3{font-size:23.1px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
