.explore-destination-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 0}.explore-destination-header h2,.explore-destination-header p{margin:0}.explore-destination-header h2 button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0;border:0;background:none;color:var(--text);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:650;letter-spacing:-.035em;text-align:left;box-shadow:none}.explore-destination-header h2 .icon{width:20px;height:20px;flex:none;color:var(--ocean)}.explore-destination-header p{color:var(--muted);font-size:.9375rem;margin-top:4px}.explore-coast-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.875rem}.screen.places-screen,.screen.coast-weather-screen,.screen.coast-species-screen{gap:20px}.explore-view-switch.explore-tabs{display:flex;justify-content:flex-start;width:100%;max-width:none;gap:4px;margin:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none}.explore-view-switch.explore-tabs button{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;flex:0 1 auto;gap:8px;min-height:52px;min-width:0;padding:10px 20px;border:0;border-radius:0;color:var(--muted);background:none;box-shadow:none;font-size:.9375rem;font-weight:600}.explore-view-switch.explore-tabs button .icon{width:18px;height:18px;color:inherit}.explore-view-switch.explore-tabs button.active{color:var(--ocean);background:none;box-shadow:none}.explore-view-switch.explore-tabs button:after{display:none}.explore-view-switch.explore-tabs button.active:after{display:block;content:"";position:absolute;bottom:-1px;left:18px;right:18px;height:3px;border-radius:3px;background:var(--ocean)}.explore-tabs button:hover{color:var(--text);background:var(--soft)}.explore-places-layout{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(0,1.3fr);gap:28px;align-items:start}.explore-places-list{min-width:0}.explore-places-list .catalog-toolbar{margin:0;gap:8px}.explore-places-list .search-field{min-height:50px;border-radius:12px;background:var(--surface-strong);box-shadow:none}.explore-places-list .filter-button{min-height:50px;border-radius:12px;box-shadow:none;padding:10px 12px}.explore-places-list .places-results-head{margin:16px 0 4px;min-height:28px}.explore-places-list .places-results-head p{margin:0;font-size:.875rem;color:var(--muted)}.explore-places-list .place-catalog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.explore-places-list .place-catalog-card{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:start;gap:16px;padding:20px 0;min-height:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;transition:background .18s ease;overflow:visible}.explore-places-list .place-catalog-card.is-selected{background:color-mix(in srgb,var(--ocean) 5%,transparent)}.explore-places-list .place-catalog-image{width:116px;height:136px;min-height:0;aspect-ratio:auto;border-radius:14px;overflow:hidden}.explore-places-list .place-catalog-image img{width:100%;height:100%;object-fit:cover}.explore-places-list .place-catalog-image .favorite-button{top:4px;right:4px;width:48px;height:48px;min-width:48px;background:#081c219e}.explore-places-list .place-catalog-body{padding:0;gap:5px;min-width:0}.explore-places-list .place-catalog-heading{gap:4px}.explore-places-list .place-catalog-heading .pill{padding:0;background:none;border:0;font-size:.75rem;color:var(--ocean)}.explore-places-list .place-catalog-heading small{display:none}.explore-places-list .place-catalog-body h3{margin:0;font-size:1.125rem;font-weight:650;letter-spacing:-.02em;line-height:1.3}.explore-places-list .place-catalog-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0;min-height:0;font-size:.875rem;line-height:1.45;color:var(--muted)}.explore-places-list .place-catalog-facts{display:flex;flex-wrap:wrap;gap:8px;margin:3px 0;font-size:.75rem;border:0;padding:0}.explore-places-list .place-catalog-facts span{padding:0;background:none;border:0}.explore-places-list .place-catalog-facts span:last-child{display:none}.explore-places-list .card-actions{display:flex;flex-direction:row;gap:10px;margin:0;padding:0}.explore-places-list .card-actions button{flex:0 1 auto;min-height:48px;padding:5px 0;border:0;border-radius:8px;background:none;color:var(--ocean);font-size:.8125rem;box-shadow:none;white-space:normal}.explore-places-list .card-actions button:hover{text-decoration:underline}.explore-places-list .card-actions .icon{width:16px;height:16px}.explore-places-list .catalog-more{margin-top:20px}.explore-places-list .explore-mobile-map{display:none}.explore-map-aside{position:sticky;top:90px;height:calc(100dvh - 300px);min-height:420px;max-height:760px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--soft);isolation:isolate}.explore-map-surface{position:absolute;inset:0;z-index:0}.explore-map-status{position:absolute;z-index:3;top:44%;left:20px;right:20px;padding:12px;text-align:center;border-radius:12px;background:var(--surface-strong);color:var(--muted);font-size:.875rem}.explore-map-expand{position:absolute;z-index:4;top:16px;left:16px;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);color:var(--text);font-size:.8125rem;box-shadow:0 4px 18px #051b2312}.explore-map-selection{position:absolute;z-index:4;left:16px;right:16px;bottom:32px;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);color:var(--text);box-shadow:0 8px 24px #051b231a}.explore-map-selection[hidden]{display:none}.explore-map-selection img{width:60px;height:64px;object-fit:cover;border-radius:10px}.explore-map-selection>div{display:grid;flex:1;gap:4px;min-width:0}.explore-map-selection small,.explore-map-selection span{color:var(--muted);font-size:.75rem}.explore-map-selection strong{font-size:.9375rem}.explore-map-aside .maplibregl-ctrl-top-right{top:12px;right:12px}.explore-map-aside .maplibregl-ctrl-group{box-shadow:0 4px 18px #051b231a;border-radius:14px;overflow:hidden}.explore-map-aside .maplibregl-ctrl-group button{width:48px;height:48px}.explore-map-aside .maplibregl-canvas{outline-offset:-4px}.coast-species-screen .coast-explore-content>.destination-context{display:none}.coast-species-screen .fish-catalog-intro h2{font-size:1.5rem}.coast-species-screen .fish-catalog-intro .eyebrow{display:none}.coast-species-screen .species-scope-switch{margin-top:12px}.explore-weather-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.explore-weather-controls label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.875rem;min-width:0}.explore-weather-controls select{max-width:100%;min-width:0;width:auto;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:8px 32px 8px 12px;background:var(--surface-strong);color:var(--text)}.explore-weather-controls>button{min-height:48px;font-size:.875rem;flex:none}.explore-weather-overview{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:40px;border-radius:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--ocean) 14%,var(--surface-strong)),var(--surface-strong))}.explore-weather-current{display:grid;justify-items:center;gap:5px}.explore-weather-current>span{font-size:.875rem;color:var(--muted)}.explore-weather-current>strong{font-size:5.5rem;font-weight:400;line-height:1.05;letter-spacing:-.065em}.explore-weather-current p{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:1.125rem}.explore-weather-current small{font-size:.875rem;color:var(--muted)}.explore-weather-context{border-left:1px solid var(--line);padding-left:32px}.explore-weather-context>span{display:flex;align-items:center;gap:8px;color:var(--ocean);font-size:.8125rem}.explore-weather-context h3{margin:14px 0 10px;font-size:1.5rem;font-weight:600;letter-spacing:-.025em}.explore-weather-context p{color:var(--muted);line-height:1.6;font-size:.9375rem}.explore-weather-context button{display:flex;align-items:center;gap:8px;min-height:48px;border:0;background:none;color:var(--ocean);padding:0;font-size:.875rem;font-weight:600}.explore-weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.explore-weather-days button{display:grid;justify-items:center;gap:4px;min-height:60px;border:0;border-radius:12px;color:var(--muted);background:none;padding:8px 4px}.explore-weather-days button[aria-pressed=true]{background:var(--ocean);color:var(--surface-strong)}.explore-weather-days button span{font-size:.875rem;font-weight:600}.explore-weather-days small{font-size:.75rem}.explore-hourly{min-width:0;border-radius:18px;padding:20px 24px;background:var(--surface-strong);border:1px solid var(--line)}.explore-hourly h3,.explore-weather-tile h3{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8125rem;font-weight:500;margin:0 0 18px}.explore-hourly h3 .icon,.explore-weather-tile h3 .icon{width:18px;height:18px}.explore-hourly-track{display:flex;gap:28px;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}.explore-hourly-track>div{display:grid;justify-items:center;gap:12px;flex:1 0 66px}.explore-hourly-track span{font-size:.8125rem;white-space:nowrap}.explore-hourly-track .icon{color:var(--ocean);width:24px;height:24px}.explore-hourly-track strong{font-size:1.125rem;font-weight:500}.explore-hourly-track small{font-size:.75rem;color:var(--muted)}.explore-weather-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.explore-weather-tile{position:relative;padding:24px;min-height:174px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line);overflow:hidden}.explore-weather-value{display:block;font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:400;letter-spacing:-.035em;line-height:1.2}.explore-weather-tile p{color:var(--muted);font-size:.8125rem;line-height:1.5;margin:20px 0 0}.explore-wind-tile{padding-right:100px}.explore-wind-compass{position:absolute;top:46px;right:14px;width:80px;height:80px;border:1px solid var(--line);border-radius:50%}.explore-wind-compass>span{position:absolute;color:var(--muted);font-size:10px}.explore-wind-compass>span:nth-child(1){top:2px;left:35px}.explore-wind-compass>span:nth-child(2){right:4px;top:31px}.explore-wind-compass>span:nth-child(3){bottom:2px;left:35px}.explore-wind-compass>span:nth-child(4){left:4px;top:31px}.explore-wind-compass i{position:absolute;inset:22px;transform:rotate(var(--wind-degrees));color:var(--ocean)}.explore-wind-compass .icon{width:34px;height:34px}.explore-weather-source p,.explore-weather-empty{color:var(--muted);font-size:.8125rem;line-height:1.6;margin:4px 0}.explore-weather-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--soft);font-size:.875rem}.explore-weather-notice>span{flex:1}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm .fishing-map-toolbar{width:min(540px,calc(100% - 96px));left:24px;top:18px;gap:8px}.is-map-calm .fishing-map-search,.is-map-calm .map-view-toggle{border-radius:16px;box-shadow:0 4px 20px #051b2315}.is-map-calm .map-view-toggle button{min-height:48px}.is-map-calm .map-view-toggle button span{display:inline;font-size:.8125rem}.is-map-calm .map-context-row{flex-wrap:nowrap;gap:8px}.is-map-calm .map-context-row>button,.is-map-calm .map-weather-menu>summary{min-height:48px;padding:8px 12px;border-radius:14px;font-weight:500;box-shadow:0 4px 20px #051b2312}.is-map-calm .map-destination-button{flex:1 1 130px}.is-map-calm .map-weather-menu{flex:0 1 auto}.is-map-calm .map-weather-menu>summary>span{display:block}.is-map-calm .map-weather-menu>summary small{display:block;margin-top:2px;font-size:11px;font-weight:400}.is-map-calm .map-options-button{flex:0 0 48px;padding:0!important}.is-map-calm .map-options-button>span{display:none}.is-map-calm .map-connection-state{font-size:12px;border-radius:12px;box-shadow:none;font-weight:500}.is-map-calm .map-connection-state>span{white-space:normal}.is-map-calm .map-connection-state[data-status=ready]{display:none}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm .fishing-map-controls{top:18px;right:20px;grid-auto-flow:row;grid-template-columns:48px;gap:1px;padding:4px;background:var(--surface-strong);border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 20px #051b231a}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm .fishing-map-controls button{width:48px;height:48px;border:0;border-radius:12px;box-shadow:none;background:none;color:var(--text)}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm>.fishing-bottom-sheet{border-radius:22px!important;box-shadow:0 12px 40px #051b2326;border:1px solid var(--line)}.is-map-calm .sheet-closed .zone-facts-strip{display:none}.is-map-calm .sheet-closed .sheet-zone-button:after{display:none}.is-map-calm .sheet-closed .sheet-zone-button em{font-weight:500;font-size:12px}.is-map-calm .map-weather-panel{width:min(480px,calc(100vw - 32px))}.is-map-calm .map-weather-panel>.text-button{min-height:48px;margin-bottom:8px}.explore-destination-header button:focus-visible,.explore-tabs button:focus-visible,.explore-places-layout button:focus-visible,.coast-weather-screen button:focus-visible,.coast-weather-screen select:focus-visible,.explore-hourly-track:focus-visible{outline:3px solid var(--ocean);outline-offset:3px}@media(hover:hover){.coast-weather-screen button:hover:not(:disabled),.explore-map-expand:hover{filter:brightness(.97)}}@media(max-width:1100px){.explore-wind-tile{padding-right:24px}.explore-wind-compass{display:none}}@media(max-width:999px){.explore-places-layout{display:block}.explore-map-aside{display:none}.explore-places-list .explore-mobile-map{position:fixed;z-index:90;left:50%;transform:translate(-50%);bottom:calc(94px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;min-height:48px;padding:12px 20px;border:1px solid var(--line);border-radius:24px;background:var(--surface-strong);color:var(--text);box-shadow:0 6px 24px #051b2326}.explore-places-list .place-catalog-card{grid-template-columns:140px minmax(0,1fr)}.explore-places-list .place-catalog-image{width:140px;height:145px}.explore-weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-weather-overview{padding:28px 24px;gap:24px}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm .fishing-map-toolbar{left:12px;width:calc(100% - 24px);top:12px}.is-map-calm .map-toolbar-row{grid-template-columns:minmax(0,1fr) auto}.is-map-calm .map-destination-button{flex:1 1 100px}.is-map-calm .map-weather-menu{flex:0 0 auto}.fishing-map-screen.is-map-immersive.is-map-fullscreen.is-map-calm .fishing-map-controls{top:calc(var(--map-toolbar-h,112px) + 24px);right:12px}}@media(max-width:600px){.screen.places-screen,.screen.coast-weather-screen,.screen.coast-species-screen{gap:16px}.explore-destination-header{padding:0;gap:8px}.explore-coast-label{display:none}.explore-destination-header h2 button{font-size:1.5rem}.explore-destination-header p{font-size:.8125rem}.explore-view-switch.explore-tabs button{flex:1;padding:8px 4px;font-size:.8125rem;gap:5px}.explore-view-switch.explore-tabs button.active:after{left:8px;right:8px}.explore-places-list .place-catalog-card{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:16px 0}.explore-places-list .place-catalog-image{width:104px;height:132px}.explore-places-list .place-catalog-body h3{font-size:1rem}.explore-places-list .place-catalog-body>p{font-size:.8125rem}.explore-places-list .card-actions{gap:12px}.explore-places-list .card-actions .place-map-action span{display:none}.explore-places-list .card-actions .place-map-action{min-width:48px;justify-content:center}.explore-places-list .filter-button{padding:10px;min-width:48px}.explore-places-list .filter-button>span{display:none}.explore-weather-controls{gap:8px;align-items:flex-end}.explore-weather-controls label{display:grid;gap:4px;flex:1;font-size:.75rem}.explore-weather-controls select{width:100%;font-size:.8125rem}.explore-weather-controls button{padding:8px;font-size:.75rem}.explore-weather-overview{grid-template-columns:1fr;gap:24px;padding:28px 20px}.explore-weather-current>strong{font-size:5rem}.explore-weather-context{padding:20px 0 0;border-left:0;border-top:1px solid var(--line);text-align:center}.explore-weather-context>span{display:none}.explore-weather-context h3{margin:0;font-size:1.125rem}.explore-weather-context p{margin:8px 0;font-size:.8125rem}.explore-weather-context button{margin:auto;font-size:.8125rem}.explore-weather-days{display:flex;overflow-x:auto;gap:4px;scrollbar-width:thin}.explore-weather-days button{flex:1 0 52px}.explore-weather-days button{padding:8px 0}.explore-weather-days button span{font-size:.75rem}.explore-weather-days small{font-size:.6875rem}.explore-hourly{padding:16px}.explore-hourly-track{gap:16px}.explore-weather-grid{gap:12px}.explore-weather-tile{padding:18px 16px;min-height:160px}.explore-weather-value{font-size:1.75rem}.explore-weather-tile p{font-size:.75rem}.is-map-calm .map-context-row>button,.is-map-calm .map-weather-menu>summary{font-size:12px;gap:6px;padding:8px}.is-map-calm .map-destination-button>.icon:first-child{display:none}.is-map-calm .map-weather-menu>summary>.icon:last-child{display:none}}@media(prefers-reduced-motion:reduce){.explore-places-list .place-catalog-card{transition:none}}body.coast-overview-active,[data-theme=dark] body.coast-overview-active{background:var(--bg)}.screen.coast-overview{--coast-glass: color-mix(in srgb,var(--surface-strong) 78%,transparent);--coast-border: color-mix(in srgb,var(--text) 9%,transparent);display:flex;flex-direction:column;gap:16px;max-width:1120px;margin-inline:auto;padding-top:0}.coast-overview-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0 15px}.coast-hero-eyebrow{display:flex;align-items:center;gap:5px;font-size:.625rem;font-weight:650;letter-spacing:.11em;color:var(--muted)}.coast-hero-eyebrow .icon{width:11px;height:11px;fill:currentColor}.coast-overview-hero h2{margin:0}.coast-overview-hero h2 button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;min-height:48px;border:0;background:none;box-shadow:none;color:var(--text);font-size:clamp(1.7rem,2.5vw,2.15rem);font-weight:450;letter-spacing:-.04em;line-height:1.2}.coast-overview-hero h2 .icon{width:16px;height:16px;color:var(--muted);flex:none}.coast-hero-temperature{display:block;font-size:4.75rem;line-height:1;letter-spacing:-.07em;font-weight:300;padding-left:.15em}.coast-overview-hero p{margin:0;line-height:1.5}.coast-hero-condition{margin-top:6px!important;font-size:1rem;font-weight:500}.coast-hero-range{font-size:.8125rem}.coast-hero-range span{padding:0 5px;color:var(--muted)}.coast-overview-hero>small{margin-top:5px;font-size:.6875rem;color:var(--muted)}.coast-surface,.coast-overview .explore-weather-tile{min-width:0;border:1px solid var(--coast-border);border-radius:20px;background:var(--coast-glass);box-shadow:0 4px 20px #153f4805;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}.coast-overview-hourly{padding:0 20px 14px}.coast-hourly-heading,.coast-card-heading,.coast-conditions-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.coast-hourly-heading{min-height:48px;margin-bottom:12px;border-bottom:1px solid var(--coast-border)}.coast-hourly-heading h3,.coast-card-heading h3{display:flex;align-items:center;gap:7px;margin:0;font-size:.75rem;font-weight:550;color:var(--muted)}.coast-hourly-heading h3 .icon,.coast-card-heading h3 .icon{width:15px;height:15px}.coast-hourly-heading>button,.coast-conditions-heading>button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:48px;border:0;padding:0;background:none;box-shadow:none;color:var(--ocean);font-size:.75rem;font-weight:500}.coast-hourly-heading>button .icon,.coast-conditions-heading>button .icon{width:15px;height:15px}.coast-overview-hourly .explore-hourly-track{gap:18px;padding-bottom:0}.coast-overview-hourly .explore-hourly-track>div{flex:1 0 62px;gap:9px}.coast-overview-hourly .explore-hourly-track .icon{width:21px;height:21px}.coast-overview-hourly .explore-hourly-track strong{font-size:1rem}.coast-overview-hourly .explore-hourly-track span{font-size:.75rem}.coast-overview-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto;gap:16px}.coast-card-heading{padding:0 8px 0 18px;min-height:48px}.coast-card-heading>button{display:grid;place-items:center;width:48px;height:48px;padding:0;background:none;box-shadow:none;border:0;border-radius:50%;color:var(--muted)}.coast-card-heading>button .icon{width:19px;height:19px}.coast-map-card{grid-row:span 2;display:flex;flex-direction:column}.coast-map-preview{position:relative;flex:1;min-height:300px;margin:0 8px;border-radius:13px;overflow:hidden;isolation:isolate;background:var(--soft)}.coast-map-preview .explore-map-surface{position:absolute;inset:0}.coast-map-open-area{position:static;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:48px;width:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ocean);font-size:13px;font-weight:600;line-height:1.3;box-shadow:none;cursor:pointer}.coast-map-open-area:hover{border-color:var(--ocean);background:color-mix(in srgb,var(--ocean) 8%,var(--surface-strong))}.coast-map-open-area .icon{width:16px;height:16px}.coast-map-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:64px;padding:8px 12px;margin:0;color:var(--muted);font-size:12px}.coast-map-caption>span{display:flex;flex:1 1 110px;align-items:center;gap:5px;min-width:0;overflow-wrap:anywhere}.coast-map-caption>span .icon{width:12px;height:12px;flex-shrink:0}.coast-map-preview .maplibregl-ctrl-bottom-left{z-index:4;max-width:100%}.coast-map-preview .maplibregl-ctrl-attrib{font-size:10px}.coast-map-preview .maplibregl-ctrl-attrib-button{min-width:24px;min-height:24px}.coast-place-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px}.coast-place-preview{position:relative;min-width:0;height:145px;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--soft);box-shadow:none;text-align:left}.coast-place-preview img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.coast-place-preview:after{position:absolute;content:"";inset:20% 0 0;background:linear-gradient(transparent,#071b21d9);pointer-events:none}.coast-place-preview>span{position:absolute;z-index:1;left:12px;right:12px;bottom:12px;display:grid;gap:3px;color:#fff}.coast-place-preview strong{font-size:.875rem;font-weight:600;line-height:1.25}.coast-place-preview small{font-size:.6875rem}.coast-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:8px 18px;border:0;background:none;color:var(--muted);border-radius:0;font-size:.75rem;font-weight:450;box-shadow:none;text-align:left}.coast-card-footer .icon{width:15px;height:15px;flex:none}.coast-species-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 12px;gap:8px}.coast-species-previews>button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;padding:0 4px 6px;border:0;border-radius:10px;background:none;color:var(--text);box-shadow:none}.coast-species-previews img{width:100%;height:62px;object-fit:contain}.coast-species-previews strong{font-size:.6875rem;line-height:1.3;font-weight:550;text-align:center;margin-top:6px}.coast-preview-empty{margin:0;padding:12px 0;color:var(--muted);font-size:.8125rem;line-height:1.5;grid-column:1/-1}.coast-place-previews .coast-preview-empty,.coast-species-previews .coast-preview-empty{padding-inline:8px}.coast-conditions-heading{margin:0 4px 3px;min-height:48px}.coast-conditions-heading h3{font-weight:550;font-size:1rem;margin:0;letter-spacing:-.02em}.coast-overview .explore-weather-grid{gap:16px}.coast-overview .explore-weather-tile{min-height:164px;padding:20px}.coast-overview .explore-weather-value{font-size:2rem}.coast-overview .explore-weather-tile h3{margin-bottom:16px;font-size:.75rem}.coast-overview .explore-weather-tile p{margin-top:18px}.coast-overview .explore-wind-tile{padding-right:110px}.coast-overview .explore-wind-compass{display:block;top:53px}.coast-overview .explore-weather-source{text-align:center;padding-top:4px}.coast-overview .explore-weather-source p{font-size:.6875rem}.coast-expanded-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;border-bottom:1px solid var(--line)}.coast-expanded-header h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.035em;font-weight:550;margin:4px 0 0}.coast-expanded-header p{font-size:.8125rem;color:var(--muted);margin:0}.coast-close{display:grid;place-items:center;flex:none;width:48px;height:48px;min-width:48px;border:1px solid var(--line);border-radius:50%;background:var(--surface-strong);color:var(--text);padding:0;box-shadow:0 3px 14px #153f480c}.coast-close .icon{width:22px;height:22px}.is-map-calm .map-toolbar-row{grid-template-columns:48px minmax(0,1fr) auto!important;gap:8px}.coast-overview button:focus-visible,.coast-close:focus-visible{outline:3px solid var(--ocean);outline-offset:3px}.coast-map-open-area:focus-visible{outline-offset:-4px;border-radius:12px}@media(hover:hover){.coast-card-heading>button:hover,.coast-species-previews>button:hover,.coast-card-footer:hover{background:color-mix(in srgb,var(--ocean) 7%,transparent)}.coast-place-preview:hover img{transform:scale(1.04)}.coast-map-open-area:hover>span{background:var(--soft)}}@media(min-width:1500px){.screen.coast-overview{max-width:1240px}.coast-map-preview{min-height:320px}.coast-place-preview{height:160px}}@media(max-width:900px){.coast-overview .explore-wind-tile{padding-right:20px}.coast-overview .explore-wind-compass{display:none}}@media(max-width:700px){.screen.coast-overview{gap:12px}.coast-overview-hero{padding:0 0 12px}.coast-hero-temperature{font-size:4.5rem}.coast-overview-grid{grid-template-columns:minmax(0,1fr);gap:12px}.coast-map-card{grid-row:auto}.coast-map-preview{min-height:252px}.coast-place-preview{height:156px}.coast-species-previews img{height:80px}.coast-species-previews strong{font-size:.75rem}.coast-overview-hourly{padding:0 16px 16px}.coast-overview-hourly .explore-hourly-track{gap:16px}.coast-overview-hourly .explore-hourly-track>div{flex-basis:56px}.coast-overview .explore-weather-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coast-overview .explore-weather-tile{padding:18px 16px}.coast-overview .explore-weather-value{font-size:1.75rem}.coast-expanded-header h2{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){.coast-place-preview img{transition:none}}body.coast-overview-active .coast-overview .coast-hero-temperature{font-weight:300}body.coast-overview-active .coast-overview .explore-weather-value{font-weight:400}body.coast-overview-active .coast-overview :is(h3,strong){font-weight:550}body.coast-overview-active .coast-overview .explore-hourly-track strong{font-weight:500}body.coast-expanded-active :is(.desktop-sidebar,.app-bar,.bottom-nav){display:none}body.coast-expanded-active .app-shell{display:block;padding:0}body.coast-expanded-active .app-column{margin:0;padding:0;width:100%;max-width:none}body.coast-expanded-active .app-view{margin:0 auto;width:100%;max-width:1240px;padding:24px 24px calc(24px + var(--safe-bottom))}body.coast-expanded-active[data-sos-current-page=map] .app-view{max-width:none;padding:0}body.coast-expanded-active[data-sos-current-page=map] .fishing-map-screen.is-map-immersive.is-map-fullscreen{inset:0!important;--map-nav-space:16px}body.coast-expanded-active .coast-expanded-header{position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top,0px);background:var(--bg)}body.coast-expanded-active .coast-expanded-header h2{font-weight:550}body.coast-expanded-active[data-sos-current-page=map] .fishing-map-toolbar{top:calc(18px + env(safe-area-inset-top,0px))}@media(max-width:600px){body.coast-expanded-active .app-view{padding:16px 14px calc(24px + var(--safe-bottom))}}.coast-species-screen,.coast-weather-screen,.places-screen{min-width:0;grid-template-columns:minmax(0,1fr)}.coast-species-screen .coast-explore-content{min-width:0}.coast-species-screen .fish-catalog-intro h2{display:none}.coast-species-screen .fish-catalog-intro p{margin:0 0 16px;font-size:.875rem;line-height:1.5}.coast-species-screen .species-scope-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:var(--soft);border-radius:14px}.coast-species-screen .species-scope-switch>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:56px;padding:8px;border:0;border-radius:10px;box-shadow:none;background:none;text-align:center}.coast-species-screen .species-scope-switch>button.active{background:var(--surface-strong);box-shadow:0 2px 6px #1639430d}.coast-species-screen .species-scope-switch>button>.icon,.coast-species-screen .species-scope-switch small{display:none}body.coast-expanded-active .coast-species-screen .species-scope-switch strong{font-size:.8125rem;font-weight:550}.coast-species-screen .species-zone-context{display:block;padding:16px;border-radius:16px;box-shadow:none}.coast-species-screen .species-zone-context>img,.coast-species-screen .species-zone-context>div>small,.coast-species-screen .species-zone-context h3{display:none}.coast-species-screen .species-zone-context>div{padding:0}.coast-species-screen .species-zone-picker{padding:0;border:0;background:none}.coast-species-screen .species-zone-picker select{min-width:0;min-height:48px;border-radius:10px}.coast-species-screen .species-zone-picker>small{display:none}.coast-species-screen .species-zone-context .card-actions{display:flex;gap:12px;margin:4px 0 0}.coast-species-screen .species-zone-context .card-actions button{padding:6px 0;border:0;background:none;box-shadow:none;min-height:48px;font-size:.75rem;font-weight:550;color:var(--ocean)}.coast-species-screen .catalog-toolbar,.coast-species-screen .catalog-toolbar .search-field{min-width:0}.coast-species-screen .catalog-filter-row{display:flex;overflow-x:auto;min-width:0;gap:6px}.coast-species-screen .catalog-filter-row button{min-height:48px;flex-shrink:0;font-size:.75rem}.coast-map-preview .costa-maplibre-canvas>.maplibregl-control-container,.explore-map-aside .costa-maplibre-canvas>.maplibregl-control-container,.is-map-calm .costa-maplibre-canvas>.maplibregl-control-container{position:absolute;inset:0;pointer-events:none}.coast-map-preview .maplibregl-ctrl,.explore-map-aside .maplibregl-ctrl,.is-map-calm .maplibregl-ctrl{pointer-events:auto}.coast-place-preview:only-child{grid-column:1/-1}.is-map-calm .maplibregl-ctrl-bottom-left{top:calc(var(--map-toolbar-h,150px) + 10px);bottom:auto;left:8px}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-bottom-left{max-width:100%}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:border-box;width:50px;min-width:50px;min-height:50px;margin:8px;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong);color:var(--text);font:inherit;font-size:12px;line-height:1.6;box-shadow:0 4px 16px #051b2320}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact[open]{width:min(340px,calc(100vw - 64px));max-width:calc(100% - 16px);padding:0;border-radius:14px}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact:after{display:none}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact>summary.maplibregl-ctrl-attrib-button{position:static;display:flex;align-items:center;justify-content:center;gap:8px;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:13px;background:none;color:var(--text);box-shadow:none;list-style:none}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact>summary:before{content:"i";display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;font-size:12px;font-weight:700;line-height:1}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact>summary:after{content:none}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact[open]>summary{width:100%;justify-content:flex-start;padding:0 12px}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact[open]>summary:after{content:attr(data-expanded-label);color:var(--text);font-size:12px;font-weight:600}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none;white-space:normal;overflow-wrap:anywhere;max-height:130px;overflow-y:auto;padding:10px 12px 14px;border-top:1px solid var(--line);color:var(--muted)}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact[open] .maplibregl-ctrl-attrib-inner{display:block}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact a{color:var(--ocean);text-decoration:underline;text-underline-offset:2px}:is(.coast-map-preview,.explore-map-aside,.is-map-calm) .maplibregl-ctrl-attrib.maplibregl-compact>summary:focus-visible{outline:3px solid var(--ocean);outline-offset:2px}@media(max-width:600px){.is-map-calm .map-toolbar-row{grid-template-columns:48px minmax(0,1fr) 48px!important}.is-map-calm .map-view-toggle{width:48px;min-width:48px}.is-map-calm .map-view-toggle button{min-width:48px;width:48px;padding:0}.is-map-calm .map-view-toggle button span{display:none}}@media(max-width:600px){.coast-species-screen .fish-catalog-grid{grid-template-columns:minmax(0,1fr)}.coast-species-screen .catalog-toolbar .filter-button{min-width:48px;padding:8px}.coast-species-screen .catalog-toolbar .filter-button>span{display:none}body.coast-expanded-active .coast-species-screen .species-scope-switch strong{font-size:.75rem}}body.coast-overview-active .app-view{padding-top:0;padding-inline:0}body.coast-overview-active .screen.coast-overview{width:100%;max-width:none}.screen.coast-overview>:not(.coast-overview-hero){width:min(calc(100% - 48px),1120px);margin-inline:auto}.coast-overview .coast-overview-hero{position:relative;isolation:isolate;overflow:hidden;min-height:404px;padding:32px 24px 116px;margin-bottom:-42px;color:#fff;background:#183b48}.coast-overview-hero:before,.coast-overview-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.coast-overview-hero:before{background:radial-gradient(ellipse at 50% 28%,#071e2ba6,#071e2b26 68%),linear-gradient(#08151c20,transparent 65%)}.coast-overview-hero:after{background:linear-gradient(to bottom,transparent 64%,var(--bg) 100%)}[data-theme=light] .coast-overview-hero:has(.coast-overview-ocean[data-weather-phase=day]:not([data-weather-mode=unknown])):before{background:radial-gradient(ellipse at 50% 28%,#07354eaf,#0b567236 70%),linear-gradient(to bottom,#14648a24 30%,#087f9838 63%,#009eaa70 82%,#009eaa20)}[data-theme=light] .coast-overview-hero:after{background:linear-gradient(to bottom,transparent 76%,var(--bg) 100%)}.coast-overview-hero>:not(.coast-overview-ocean){position:relative;z-index:2;max-width:100%;text-shadow:0 2px 12px #071e2b80}.coast-overview-hero>.coast-overview-ocean{z-index:0}.coast-overview .coast-overview-hero h2 button{color:#fff;flex-wrap:wrap;font-size:clamp(1.85rem,3vw,2.6rem)}.coast-overview .coast-overview-hero :is(.coast-hero-eyebrow,h2 .icon,.coast-hero-range span){color:#e5f4f6}.coast-overview .coast-overview-hero>small{color:#e5f4f6;font-size:.75rem;margin-top:8px}.coast-overview .coast-hero-temperature{font-size:clamp(5rem,7vw,6.4rem);margin-top:8px}.coast-overview .coast-hero-range{font-size:.9375rem}.coast-overview .coast-overview-hero button:focus-visible{outline-color:#a4fff0;outline-offset:3px;border-radius:12px}.screen.coast-overview>.tn-explore-entry{position:relative;z-index:2;margin-inline:auto}@media(min-width:1500px){.screen.coast-overview>:not(.coast-overview-hero){width:min(calc(100% - 80px),1240px)}}@media(max-width:700px){.screen.coast-overview>:not(.coast-overview-hero){width:calc(100% - 28px)}.coast-overview .coast-overview-hero{min-height:350px;padding:26px 20px 98px;margin-bottom:-36px}.coast-overview .coast-overview-hero h2 button{font-size:clamp(1.7rem,7vw,2rem)}.coast-overview .coast-hero-temperature{font-size:5rem}}
