*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}img[src*="/img/species/"]{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}.skip-to-content{position:absolute;left:-9999px;top:0;z-index:9999;padding:0.75rem 1.5rem;background:var(--accent);color:var(--bg);font-weight:600;text-decoration:none;border-radius:0 0 6px 0}.skip-to-content:focus{left:0}:root{--bg-deep:#080c12;--bg:#0d1117;--bg-card:#151b23;--bg-elevated:#1c2430;--bg-hover:#1f2937;--bg-input:#111820;--text:#c9d1d9;--text-bright:#e6edf3;--text-muted:#6e7681;--text-faint:#484f58;--accent:#58a6ff;--accent-dim:rgba(88,166,255,0.12);--accent-green:#3fb950;--accent-yellow:#d29922;--accent-orange:#db6d28;--accent-red:#f85149;--border:#21262d;--border-light:#30363d;--radius:6px;--radius-lg:10px;--font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--font-mono:'JetBrains Mono','SF Mono','Fira Code',monospace;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 8px 24px rgba(0,0,0,0.5);--transition:150ms ease}body{font-family:var(--font);background:var(--bg-deep);color:var(--text);line-height:1.5;min-height:100vh;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.species-link{color:inherit;text-decoration:none;border-bottom:1px dashed transparent;transition:color var(--transition),border-color var(--transition);cursor:pointer}a.species-link:hover{color:var(--accent);border-bottom-color:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{color:#79c0ff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.dev-toolbar{display:flex;align-items:center;gap:6px;padding:4px 16px;background:linear-gradient(90deg,#1a1a2e,#16213e);border-bottom:1px solid #f59e0b44;font-size:0.75rem;z-index:1000}.dev-label{color:#f59e0b;font-weight:700;font-size:0.65rem;letter-spacing:0.1em;padding:2px 6px;border:1px solid #f59e0b;border-radius:3px;margin-right:4px}.dev-btn{background:transparent;color:#94a3b8;border:1px solid #334155;border-radius:4px;padding:3px 10px;font-size:0.7rem;cursor:pointer;transition:all 0.15s}.dev-btn:hover{color:#e2e8f0;border-color:#64748b}.dev-btn.active{background:#f59e0b22;color:#f59e0b;border-color:#f59e0b;font-weight:600}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:48px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px)}.nav-left{display:flex;align-items:center;gap:6px}.nav-right{display:flex;align-items:center;gap:12px}.nav-separator{width:1px;height:20px;background:var(--border);margin:0 8px}.nav-brand{display:flex;align-items:center}.nav-brand a{display:flex;align-items:center}.nav-logo{height:90px;width:auto;display:block}.nav-hamburger{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius);transition:color var(--transition)}.nav-hamburger:hover{color:var(--text-bright)}.nav-hamburger.open{color:var(--accent)}.nav-links{display:flex;gap:2px}.nav-links a{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);color:var(--text-muted);font-size:0.8125rem;font-weight:500;transition:all var(--transition)}.nav-links a svg{flex-shrink:0;opacity:0.6}.nav-links a:hover{background:var(--bg-hover);color:var(--text)}.nav-links a:hover svg{opacity:1}.nav-links a.active{background:var(--accent-dim);color:var(--accent)}.nav-links a.active svg{opacity:1;color:var(--accent)}.lang-switcher{display:flex;gap:2px;margin-left:auto;padding-left:12px}.lang-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font);font-size:0.6875rem;font-weight:600;padding:3px 8px;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);letter-spacing:0.03em}.lang-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-light)}.lang-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.content{padding:20px 24px;overflow-x:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-title{font-size:1.125rem;font-weight:600;color:var(--text-bright);letter-spacing:-0.01em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-body{padding:16px}.card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:0.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em;font-weight:600;border-bottom:1px solid var(--border)}.card-header svg{color:var(--text-faint);flex-shrink:0}.map-layer-toggle{display:flex;align-items:center;gap:4px;padding:2px 8px;font-size:0.625rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition);margin-left:8px}.map-layer-toggle:hover{color:var(--text-muted);border-color:var(--text-muted)}.map-layer-toggle.active{color:#fdd835;border-color:rgba(253,216,53,0.4);background:rgba(253,216,53,0.08)}.map-layer-toggle.active svg{color:#fdd835}.map-draw-toggle{display:flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;font-size:0.625rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all var(--transition)}.map-draw-toggle:hover{color:var(--text-muted);background:rgba(255,255,255,0.03)}.map-draw-toggle.active{color:#f0883e;background:rgba(240,136,62,0.12);border-color:rgba(240,136,62,0.4)}.map-draw-toggle.active svg{color:#f0883e}#btn-gps.active{color:var(--accent);border-color:rgba(88,166,255,0.4);background:rgba(88,166,255,0.08)}#btn-gps.active svg{color:var(--accent);animation:gpsPulse 1s ease infinite}#btn-gps.gps-denied{color:var(--accent-red);border-color:rgba(248,81,73,0.4)}@keyframes gpsPulse{0%,100%{opacity:1}50%{opacity:0.4}}#btn-home.active{color:var(--accent-green);border-color:rgba(63,185,80,0.4);background:rgba(63,185,80,0.08)}.preview-set-home{display:block;margin-top:6px;font-size:0.6875rem;color:var(--text-muted);text-decoration:none;text-align:center;transition:color var(--transition)}.preview-set-home:hover{color:var(--accent)}.leaflet-container.draw-mode{cursor:crosshair!important}.leaflet-container.draw-mode .leaflet-interactive{cursor:crosshair!important}.circle-radius-label{position:absolute;z-index:1000;background:rgba(13,17,23,0.9);color:#58a6ff;padding:2px 8px;border-radius:6px;font-size:0.75rem;font-weight:600;font-family:var(--font-mono);pointer-events:none;white-space:nowrap;border:1px solid rgba(88,166,255,0.3)}.wb-header{padding:12px 16px}.wb-header-name{font-size:1rem;font-weight:700;color:var(--text-bright);margin-bottom:4px}.wb-header-meta{display:flex;gap:12px;font-size:0.75rem;color:var(--text-muted)}.wb-header-meta span{display:flex;align-items:center;gap:4px}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.score-display{text-align:center;padding:20px}.score-value{font-size:3.5rem;font-weight:700;line-height:1;font-family:var(--font-mono)}.score-label{font-size:0.8125rem;margin-top:4px;color:var(--text-muted)}.score-excellent{color:var(--accent-green)}.score-good{color:var(--accent)}.score-fair{color:var(--accent-yellow)}.score-poor{color:var(--accent-orange)}.score-bad{color:var(--accent-red)}.metric{text-align:center;padding:16px}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-bright);font-family:var(--font-mono);letter-spacing:-0.02em}.metric-label{font-size:0.6875rem;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:0.04em}.station-list{list-style:none}.station-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);transition:background var(--transition)}.station-item:last-child{border-bottom:none}.station-item:hover{background:var(--bg-hover)}.station-name{font-weight:500;font-size:0.875rem}.station-score{font-weight:600;padding:2px 8px;border-radius:4px;font-size:0.75rem;font-family:var(--font-mono)}.map-container{height:calc(100vh - 140px);border-radius:var(--radius);overflow:hidden}#map{height:100%;width:100%}.map-sidebar{position:absolute;top:80px;right:24px;width:300px;z-index:999}.leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(1.1) contrast(0.9) saturate(2)}.leaflet-popup-content-wrapper{background:var(--bg-elevated)!important;color:var(--text)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-light)!important;font-family:var(--font)!important;font-size:0.8125rem!important}.leaflet-popup-tip{background:var(--bg-elevated)!important}.leaflet-popup-content b{color:var(--text-bright)}.preview-popup-wrapper .leaflet-popup-content{margin:10px 14px}.preview-popup{text-align:center}.preview-coords{font-size:0.75rem;color:var(--text-faint);margin-bottom:8px;font-variant-numeric:tabular-nums}.preview-confirm-btn{display:inline-block;padding:6px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:0.8125rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:background 0.15s;white-space:nowrap}.preview-confirm-btn:hover{background:#4493f0}@keyframes preview-pulse{0%,100%{opacity:0.85}50%{opacity:0.5}}.preview-marker-pulse{animation:preview-pulse 1.5s ease-in-out infinite}.chart-container{position:relative;height:280px;width:100%}.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.species-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.species-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.species-name-nl{font-size:1rem;font-weight:600;color:var(--text-bright)}.species-name-sci{font-size:0.8125rem;color:var(--text-muted);font-style:italic}.species-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.6875rem;font-weight:600;margin-top:8px;letter-spacing:0.02em}.status-open{background:rgba(63,185,80,0.15);color:var(--accent-green)}.status-closed{background:rgba(248,81,73,0.15);color:var(--accent-red)}.status-protected{background:rgba(219,109,40,0.15);color:var(--accent-orange)}.condition-bar{margin:8px 0}.condition-bar-label{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--text-muted);margin-bottom:4px}.condition-bar-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.condition-bar-fill{height:100%;border-radius:2px;transition:width 0.4s ease}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em}.hotspot-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em}.hotspot-high{background:rgba(248,81,73,0.12);color:var(--accent-red)}.hotspot-medium{background:rgba(219,109,40,0.12);color:var(--accent-orange)}.hotspot-low{background:rgba(210,153,34,0.12);color:var(--accent-yellow)}table{width:100%;border-collapse:collapse}th,td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:0.8125rem}th{color:var(--text-muted);font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.04em;font-weight:600;background:var(--bg-elevated);position:sticky;top:0}td{color:var(--text)}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}select,input[type="text"],input[type="search"]{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:7px 12px;border-radius:var(--radius);font-size:0.8125rem;font-family:var(--font);transition:border-color var(--transition);outline:none}select:hover,input:hover{border-color:var(--border-light)}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236e7681' viewBox='0 0 16 16'%3E%3Cpath d='M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}optgroup{color:var(--text-faint);font-style:normal;font-weight:600;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.04em}optgroup option{color:var(--text);font-weight:400;font-size:0.8125rem;text-transform:none;letter-spacing:normal}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:0.8125rem;font-weight:500;font-family:var(--font);cursor:pointer;border:1px solid transparent;transition:all var(--transition)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#79c0ff;border-color:#79c0ff}.btn-primary:disabled{opacity:0.4;cursor:default}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-light)}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-faint);font-size:0.8125rem;gap:10px}.spinner{width:28px;height:28px;display:inline-block;position:relative;filter:drop-shadow(0 0 8px rgba(88,166,255,0.45))}.spinner::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);animation:spinCW 1s cubic-bezier(0.5,0.1,0.4,0.9) infinite}.spinner::after{content:'';position:absolute;inset:5px;border-radius:50%;border:2px solid transparent;border-bottom-color:rgba(88,166,255,0.6);border-left-color:rgba(88,166,255,0.6);animation:spinCCW 0.7s cubic-bezier(0.5,0.1,0.4,0.9) infinite;box-shadow:inset 0 0 6px rgba(88,166,255,0.25)}@keyframes spinCW{to{transform:rotate(360deg)}}@keyframes spinCCW{to{transform:rotate(-360deg)}}.alert{padding:10px 14px;border-radius:var(--radius);margin-bottom:12px;font-size:0.8125rem;border:1px solid}.alert-warning{background:rgba(210,153,34,0.08);border-color:rgba(210,153,34,0.2);color:var(--accent-yellow)}.alert-danger{background:rgba(248,81,73,0.08);border-color:rgba(248,81,73,0.2);color:var(--accent-red)}.alert-info{background:rgba(88,166,255,0.08);border-color:rgba(88,166,255,0.2);color:var(--accent)}.footer{text-align:center;padding:16px;color:var(--text-faint);font-size:0.6875rem;border-top:1px solid var(--border);margin-top:32px;letter-spacing:0.02em}.finder-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.finder-species-select{display:flex;align-items:center;gap:10px}.finder-species-select label{font-weight:500;white-space:nowrap;color:var(--text-muted);font-size:0.8125rem}.finder-species-select select{min-width:280px}.species-ticker-wrapper{position:relative;margin-bottom:16px}.species-ticker-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint)}.species-ticker-tabs{display:flex;gap:4px;margin-left:auto}.species-ticker-tab{padding:3px 10px;font-size:0.6875rem;font-weight:600;letter-spacing:0.03em;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all var(--transition)}.species-ticker-tab:hover{color:var(--text-bright);border-color:var(--text-muted)}.species-ticker-tab.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.fishing-map-search{display:flex;align-items:center;gap:6px;margin-left:16px}.fishing-map-search .location-search{position:relative}.fishing-map-search .location-search input{width:180px;padding:4px 10px;font-size:0.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text)}.fishing-map-search .location-search input:focus{outline:none;border-color:var(--accent)}.fishing-map-search select{padding:4px 6px;font-size:0.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text)}.fishing-map-search .btn-sm{padding:4px 8px;font-size:0.75rem;line-height:1}.species-ticker-container{position:relative;overflow:hidden}.species-ticker-container::before,.species-ticker-container::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;transition:opacity 0.3s}.species-ticker-container::before{left:0;background:linear-gradient(to right,var(--bg-page) 0%,transparent 100%)}.species-ticker-container::after{right:0;background:linear-gradient(to left,var(--bg-page) 0%,transparent 100%)}.species-ticker-container.at-start::before{opacity:0}.species-ticker-container.at-end::after{opacity:0}.species-ticker-track{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;padding:4px 40px;scrollbar-width:none;-ms-overflow-style:none}.species-ticker-track::-webkit-scrollbar{display:none}.species-ticker-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);box-shadow:0 2px 8px rgba(0,0,0,0.3)}.species-ticker-arrow:hover{color:var(--text-bright);border-color:var(--text-muted);background:var(--bg-hover)}.species-ticker-arrow.left{left:2px}.species-ticker-arrow.right{right:2px}.species-ticker-card{flex-shrink:0;width:200px;cursor:pointer;text-align:center;border-radius:var(--radius);border:2px solid transparent;padding:6px;transition:all 0.2s ease;background:var(--bg-card);position:relative}.species-ticker-card:hover{border-color:var(--border);background:var(--bg-hover);transform:translateY(-2px)}.species-ticker-card.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 12px rgba(99,102,241,0.2)}.species-ticker-img{width:100%;height:120px;border-radius:8px;object-fit:cover;background:rgba(255,255,255,0.03);display:block;margin:0 auto 6px}.species-ticker-placeholder{width:100%;height:120px;border-radius:8px;background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center;color:var(--text-faint);margin:0 auto 6px}.species-ticker-name{font-size:0.8125rem;font-weight:500;color:var(--text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.species-ticker-card.selected .species-ticker-name{color:var(--text-bright)}.species-ticker-info-btn{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,0.5);border:none;color:var(--text-faint);display:flex;align-items:center;justify-content:center;font-size:0.625rem;font-weight:700;cursor:pointer;opacity:0;transition:opacity 0.2s}.species-ticker-card:hover .species-ticker-info-btn{opacity:1}.species-ticker-info-btn:hover{color:var(--text-bright);background:rgba(0,0,0,0.7)}.species-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease}.species-modal-overlay.open{opacity:1;pointer-events:auto}.species-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:480px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.5);transform:translateY(12px) scale(0.97);transition:transform 0.25s ease}.species-modal-overlay.open .species-modal{transform:translateY(0) scale(1)}.species-modal-hero{position:relative;width:100%;overflow:hidden;border-radius:12px 12px 0 0;background:#fff}.species-modal-hero img{width:100%;max-height:280px;object-fit:contain}.species-modal-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(99,102,241,0.03));display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.species-modal-hero-gradient{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,var(--bg-card),transparent)}.species-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(0,0,0,0.5);color:#fff;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:1}.species-modal-close:hover{background:rgba(0,0,0,0.7)}.species-modal-body{padding:20px 24px 24px}.modal-loading-state{display:flex;justify-content:center;padding:32px 0}.species-modal-title{font-size:1.25rem;font-weight:600;color:var(--text-bright);margin-bottom:2px}.species-modal-scientific{font-size:0.8125rem;color:var(--text-muted);font-style:italic;margin-bottom:16px}.species-modal-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.species-modal-badge{padding:3px 10px;border-radius:20px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em}.species-modal-badge.family{background:rgba(99,102,241,0.15);color:var(--accent)}.species-modal-badge.season-open{background:rgba(102,187,106,0.15);color:#66bb6a}.species-modal-badge.season-closed{background:rgba(239,83,80,0.15);color:#ef5350}.species-modal-badge.catchable{background:rgba(79,195,247,0.15);color:#4fc3f7}.species-modal-badge.catch-and-release{background:rgba(255,167,38,0.15);color:#ffa726}.species-modal-badge.protected{background:rgba(248,81,73,0.15);color:#ef5350}.species-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.species-modal-stat{background:rgba(255,255,255,0.03);border-radius:8px;padding:12px}.species-modal-stat-label{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-faint);font-weight:600;margin-bottom:4px}.species-modal-stat-value{font-size:0.9375rem;font-weight:500;color:var(--text-bright);font-family:var(--font-mono)}.species-modal-section-title{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);font-weight:600;margin:20px 0 8px}.species-modal-triggers{display:flex;gap:6px;flex-wrap:wrap}.species-modal-trigger{padding:4px 10px;background:rgba(255,255,255,0.04);border-radius:4px;font-size:0.75rem;color:var(--text-muted)}.modal-stats-tabs{display:flex;gap:2px;background:rgba(255,255,255,0.03);border-radius:8px;padding:3px;margin-bottom:12px}.modal-stats-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:var(--text-muted);font-size:0.75rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:6px}.modal-stats-tab:hover{background:rgba(255,255,255,0.04);color:var(--text)}.modal-stats-tab.active{background:rgba(88,166,255,0.1);color:var(--accent)}.modal-stats-tab-count{font-family:var(--font-mono);font-size:0.625rem;opacity:0.6}.modal-stats-panel.hidden{display:none}.modal-stats-meta{display:flex;gap:10px;align-items:center;margin-bottom:12px;font-size:0.6875rem;color:var(--text-faint)}.modal-stats-quality{text-transform:uppercase;font-weight:600;letter-spacing:0.04em;padding:2px 8px;border-radius:4px;font-size:0.625rem}.modal-stats-quality.high{background:rgba(59,130,246,0.15);color:#60a5fa}.modal-stats-quality.medium{background:rgba(250,204,21,0.12);color:#d29922}.modal-stats-quality.low{background:rgba(239,68,68,0.12);color:#ef5350}.modal-stats-subtitle{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-faint);margin:14px 0 8px}.modal-stats-ranges{display:flex;flex-direction:column;gap:8px}.modal-range-row{display:flex;flex-direction:column;gap:3px}.modal-range-label{font-size:0.6875rem;color:var(--text-muted);font-weight:500}.modal-range-track{position:relative;height:10px;background:rgba(255,255,255,0.04);border-radius:5px;overflow:visible}.modal-range-whisker{position:absolute;top:4px;left:0;right:0;height:2px;background:rgba(255,255,255,0.08);border-radius:1px}.modal-range-box{position:absolute;top:1px;height:8px;background:rgba(88,166,255,0.25);border:1px solid rgba(88,166,255,0.4);border-radius:3px}.modal-range-median{position:absolute;top:0;width:2px;height:10px;background:var(--accent);border-radius:1px;transform:translateX(-1px)}.modal-range-values{display:flex;justify-content:space-between;font-size:0.625rem;color:var(--text-faint);font-family:var(--font-mono)}.modal-range-median-val{color:var(--accent);font-weight:600}.modal-stats-wb{display:flex;flex-direction:column;gap:4px}.modal-stats-wb-row{display:flex;align-items:center;gap:8px}.modal-stats-wb-label{flex:0 0 90px;font-size:0.6875rem;color:var(--text-muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.modal-stats-wb-bar-bg{flex:1;height:6px;background:rgba(255,255,255,0.04);border-radius:3px;overflow:hidden}.modal-stats-wb-bar{height:100%;background:rgba(88,166,255,0.35);border-radius:3px}.modal-stats-wb-pct{flex:0 0 32px;font-size:0.625rem;color:var(--text-faint);font-family:var(--font-mono);text-align:right}.species-modal-placeholder{color:var(--text-faint);font-size:0.8125rem;font-style:italic;padding:12px 0}.modal-seasonal-chart{display:flex;gap:4px;align-items:flex-end;height:80px;padding:0 2px}.modal-seasonal-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.modal-seasonal-fill{width:100%;border-radius:3px 3px 0 0;background:var(--accent);opacity:0.6;transition:height 0.4s ease,opacity 0.2s;min-height:2px}.modal-seasonal-bar:hover .modal-seasonal-fill{opacity:1}.modal-seasonal-bar.current .modal-seasonal-fill{background:#66bb6a;opacity:0.9}.modal-seasonal-label{font-size:0.5625rem;color:var(--text-faint);margin-top:4px;text-transform:uppercase;letter-spacing:0.03em}.modal-seasonal-bar.current .modal-seasonal-label{color:#66bb6a;font-weight:600}.modal-correlations-list{display:flex;flex-direction:column;gap:6px}.modal-correlation-row{display:flex;align-items:center;gap:8px;font-size:0.75rem}.modal-correlation-name{flex:0 0 120px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-correlation-bar-bg{flex:1;height:6px;background:rgba(255,255,255,0.04);border-radius:3px;overflow:hidden}.modal-correlation-bar{height:100%;border-radius:3px;transition:width 0.4s ease}.modal-correlation-r{font-family:var(--font-mono);font-size:0.6875rem;color:var(--text-muted);flex:0 0 56px;text-align:right}.modal-habitat-metrics{display:flex;gap:12px;margin-bottom:8px;font-size:0.6875rem;color:var(--text-muted)}.modal-habitat-metrics span{font-family:var(--font-mono)}.modal-habitat-list{display:flex;flex-direction:column;gap:5px}.modal-habitat-row{display:flex;align-items:center;gap:8px;font-size:0.75rem}.modal-habitat-cell{flex:0 0 100px;color:var(--text-muted);font-family:var(--font-mono);font-size:0.6875rem}.modal-habitat-bar-bg{flex:1;height:6px;background:rgba(255,255,255,0.04);border-radius:3px;overflow:hidden}.modal-habitat-bar{height:100%;border-radius:3px;background:#4fc3f7;opacity:0.7;transition:width 0.4s ease}.modal-habitat-score{font-family:var(--font-mono);font-size:0.6875rem;color:var(--text-muted);flex:0 0 36px;text-align:right}.predictor-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease}.predictor-modal-overlay.open{opacity:1;pointer-events:auto}.predictor-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:440px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.5);transform:translateY(12px) scale(0.97);transition:transform 0.25s ease;position:relative}.predictor-modal-overlay.open .predictor-modal{transform:translateY(0) scale(1)}.predictor-modal-hero{position:relative;width:100%;height:180px;overflow:hidden;border-radius:12px 12px 0 0}.predictor-modal-hero img{width:100%;height:100%;object-fit:cover}.predictor-modal-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(99,102,241,0.03));display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.predictor-modal-hero-gradient{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--bg-card),transparent)}.predictor-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(0,0,0,0.5);color:#fff;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:1}.predictor-modal-close:hover{background:rgba(0,0,0,0.7)}.predictor-modal-body{padding:20px 24px 24px}.predictor-modal-title{font-size:1.125rem;font-weight:600;color:var(--text-bright);margin-bottom:2px}.predictor-modal-type{font-size:0.8125rem;color:var(--text-muted);margin-bottom:12px}.predictor-modal-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.predictor-modal-badge{padding:3px 10px;border-radius:20px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em}.predictor-modal-badge.high{background:rgba(102,187,106,0.15);color:#66bb6a}.predictor-modal-badge.medium{background:rgba(255,167,38,0.15);color:#ffa726}.predictor-modal-badge.low{background:rgba(239,83,80,0.15);color:#ef5350}.predictor-modal-badge.positive{background:rgba(102,187,106,0.1);color:#81c784}.predictor-modal-badge.negative{background:rgba(239,83,80,0.1);color:#e57373}.predictor-modal-badge.lag{background:rgba(99,102,241,0.15);color:var(--accent)}.predictor-modal-section-title{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);font-weight:600;margin:16px 0 8px}.predictor-modal-corr{display:flex;align-items:center;gap:12px}.predictor-modal-corr-bar-bg{flex:1;height:8px;background:rgba(255,255,255,0.06);border-radius:4px;overflow:hidden}.predictor-modal-corr-bar{height:100%;border-radius:4px;transition:width 0.4s ease}.predictor-modal-corr-value{font-family:var(--font-mono);font-size:0.875rem;font-weight:600;color:var(--text-bright);flex-shrink:0}.predictor-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.predictor-modal-effect{font-size:0.8125rem;color:var(--text-muted);line-height:1.5}.predictor-modal-effect strong{color:var(--text)}.predictor-modal-timespan{font-size:0.75rem;color:var(--text-faint);margin-top:12px;font-family:var(--font-mono)}.predictor-clickable{cursor:pointer;border-radius:6px;padding:6px 8px!important;margin:-2px -8px;transition:background 0.15s}.predictor-clickable:hover{background:rgba(255,255,255,0.04)}.predictor-compact-thumb{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}.predictor-compact-icon{flex-shrink:0;color:var(--text-faint);display:flex;align-items:center}.modal-correlation-row.predictor-clickable{padding:6px 8px;margin:0 -8px;border-radius:6px}.modal-correlation-row.predictor-clickable:hover{background:rgba(255,255,255,0.04)}.finder-conditions{display:flex;gap:16px;background:var(--bg-card);padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border)}.cond-item{display:flex;align-items:center;gap:5px;font-size:0.8125rem;color:var(--text-muted);font-family:var(--font-mono);font-weight:500}.cond-item svg{color:var(--text-faint);flex-shrink:0}.station-select{min-width:250px}.fishing-map-page{display:flex;flex-direction:column;min-height:calc(100vh - 48px - 40px)}.finder-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;margin-bottom:0;align-items:stretch;flex:1;min-height:360px}.finder-map-panel>.card{display:flex;flex-direction:column;height:100%}#mode-b-results{display:flex;flex-direction:column;height:100%}#mode-b-results>.card{display:flex;flex-direction:column;min-height:0}#species-detail-pane{flex:1;overflow-y:auto;min-height:0}.species-detail-header{display:flex;gap:12px;padding:12px;border-bottom:1px solid var(--border);align-items:flex-start}.species-detail-hero{width:80px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0}.species-detail-header-info{flex:1;min-width:0}.species-detail-name{font-size:1rem;font-weight:600}.species-detail-sci{font-size:0.75rem;color:var(--text-faint);font-style:italic}.species-detail-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.sdstat{font-size:0.6875rem;color:var(--text-muted);background:var(--bg-inset);padding:1px 8px;border-radius:8px}#species-detail-card{display:flex;flex-direction:column;min-height:0;flex:1}#species-detail-pane{display:flex;flex-direction:column;min-height:0;flex:1}.sd-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.sd-tab{flex:1;padding:8px 6px;font-size:0.6875rem;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color 0.15s,border-color 0.15s;text-align:center}.sd-tab:hover{color:var(--text)}.sd-tab.active{color:var(--accent,#58a6ff);border-bottom-color:var(--accent,#58a6ff)}.sd-tab-panel{display:none;padding:12px;overflow-y:auto;flex:1;min-height:0}.sd-tab-panel.active{display:block}.map-env-overlay{position:absolute;bottom:8px;left:8px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:4px;pointer-events:auto}.env-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:0.6875rem;font-weight:500;color:var(--text-muted);background:var(--bg-card,#151b23);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all 0.15s;box-shadow:0 2px 6px rgba(0,0,0,0.3)}.env-chip:hover{color:var(--text);border-color:var(--accent,#58a6ff)}.env-chip.active{color:var(--accent,#58a6ff);border-color:var(--accent,#58a6ff);background:rgba(88,166,255,0.1)}.env-panel{background:var(--bg-card,#151b23);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:0.75rem;max-width:280px;max-height:300px;overflow-y:auto;box-shadow:0 4px 16px rgba(0,0,0,0.4)}.env-section-title{font-weight:600;font-size:0.75rem;margin-bottom:2px}.env-section-sub{color:var(--text-faint);font-size:0.6875rem;margin-bottom:6px}.env-row{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid var(--border);font-size:0.6875rem}.env-row:last-child{border-bottom:none}.env-empty{color:var(--text-faint);padding:8px 0}.env-eco-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.env-eco-metric{text-align:center}.env-eco-val{font-size:0.875rem;font-weight:600;color:var(--text)}.env-eco-lbl{font-size:0.5625rem;color:var(--text-faint)}.ticker-catch-count{font-size:0.75rem;font-weight:500;color:var(--text-muted);text-align:center;margin-top:3px}.ticker-signals{display:flex;gap:4px;justify-content:center;margin-top:3px;flex-wrap:wrap}.ticker-signal{font-size:0.6875rem;font-weight:600;padding:1px 6px;border-radius:6px;line-height:1.6;white-space:nowrap}.ticker-signal.signal-good{background:rgba(102,187,106,0.2);color:var(--accent-green,#66bb6a)}.ticker-signal.signal-ok{background:rgba(255,167,38,0.15);color:var(--accent-orange,#ffa726)}.ticker-signal.signal-poor{background:rgba(239,83,80,0.12);color:var(--accent-red,#ef5350)}.ticker-signal.signal-trophy{background:rgba(255,215,0,0.15);color:#ffc107}.ticker-signal.signal-predicted{background:rgba(88,166,255,0.15);color:var(--accent,#58a6ff)}.spot-list{max-height:520px;overflow-y:auto}.spot-summary{padding:10px 16px;font-size:0.75rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;font-weight:600;border-bottom:1px solid var(--border)}.spot-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:all var(--transition)}.spot-item:last-child{border-bottom:none}.spot-item:hover{background:var(--bg-hover)}.spot-item.selected{background:var(--accent-dim);border-left:2px solid var(--accent)}.spot-rank{font-weight:700;font-size:0.75rem;color:var(--text-faint);min-width:28px;font-family:var(--font-mono)}.spot-info{flex:1;min-width:0}.spot-locality{font-weight:500;font-size:0.875rem;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spot-meta{font-size:0.75rem;color:var(--text-muted);margin-top:1px}.spot-score{font-weight:700;font-size:0.875rem;font-family:var(--font-mono);padding:4px 10px;border-radius:4px;background:rgba(255,255,255,0.04)}.spot-mode-tabs{display:flex;gap:6px;margin-bottom:8px}.spot-mode-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all var(--transition);text-align:center}.spot-mode-tab svg{color:var(--text-faint);transition:color var(--transition);flex-shrink:0}.spot-mode-tab-label{font-size:0.8125rem;font-weight:600;color:var(--text-muted);transition:color var(--transition);line-height:1.2}.spot-mode-tab-desc{font-size:0.625rem;color:var(--text-faint);line-height:1.3;transition:color var(--transition)}.spot-mode-tab:hover{border-color:rgba(88,166,255,0.3);background:rgba(88,166,255,0.04)}.spot-mode-tab:hover svg{color:#58a6ff}.spot-mode-tab:hover .spot-mode-tab-label{color:#fff}.spot-mode-tab:hover .spot-mode-tab-desc{color:var(--text-muted)}.spot-mode-tab.active{border-color:#58a6ff;background:rgba(88,166,255,0.08);box-shadow:0 0 12px rgba(88,166,255,0.1)}.spot-mode-tab.active svg{color:#58a6ff}.spot-mode-tab.active .spot-mode-tab-label{color:#fff}.spot-mode-tab.active .spot-mode-tab-desc{color:var(--text-muted)}.trophy-controls{display:flex;gap:6px;margin-left:auto}.trophy-controls select{padding:2px 6px;font-size:0.6875rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;cursor:pointer}.spot-trophy-value{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:60px}.trophy-avg{font-weight:700;font-size:0.875rem;font-family:var(--font-mono);color:var(--text-bright)}.trophy-pct{font-size:0.6875rem;font-family:var(--font-mono);color:var(--text-faint)}.trophy-pct.trophy-above{color:#3fb950}.trophy-pct.trophy-below{color:#f85149}.trophy-alt{display:block;font-size:0.7rem;color:var(--text-faint);font-weight:400;margin-top:1px}.detail-alt-measure{margin-top:6px;font-size:0.8rem;color:var(--text-muted)}.detail-alt-count{color:var(--text-faint);font-size:0.75rem}.trophy-catch-badge{display:inline-block;padding:1px 7px;border-radius:4px;font-weight:600;font-size:0.6875rem;background:rgba(180,77,255,0.1);color:rgba(200,140,255,0.7)}.trophy-catch-tier-2{background:rgba(180,77,255,0.15);color:rgba(200,150,255,0.85);box-shadow:0 0 4px rgba(180,77,255,0.2)}.trophy-catch-tier-3{background:rgba(180,77,255,0.2);color:rgba(210,160,255,0.95);box-shadow:0 0 6px rgba(180,77,255,0.35)}.trophy-catch-tier-4{background:rgba(180,77,255,0.25);color:#d0a0ff;box-shadow:0 0 8px rgba(180,77,255,0.5)}.trophy-catch-tier-5{background:rgba(180,77,255,0.3);color:#dbb5ff;box-shadow:0 0 12px rgba(180,77,255,0.6),0 0 4px rgba(200,120,255,0.4)}.trophy-cap-warning{display:inline-block;background:rgba(210,153,34,0.15);color:#d29922;font-size:0.625rem;padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;vertical-align:middle}.detail-score-big.trophy-gold{color:#b44dff}.trophy-glow-1{filter:drop-shadow(0 0 3px rgba(180,77,255,0.2))}.trophy-glow-2{filter:drop-shadow(0 0 6px rgba(180,77,255,0.35))}.trophy-glow-3{filter:drop-shadow(0 0 9px rgba(180,77,255,0.5))}.trophy-glow-4{filter:drop-shadow(0 0 13px rgba(180,77,255,0.65))}.trophy-glow-5{filter:drop-shadow(0 0 16px rgba(180,77,255,0.8)) drop-shadow(0 0 6px rgba(200,120,255,0.5))}.size-rank-dot{background:none!important;border:none!important}.size-glow-1{filter:drop-shadow(0 0 3px rgba(77,255,130,0.15))}.size-glow-2{filter:drop-shadow(0 0 6px rgba(77,255,130,0.3))}.size-glow-3{filter:drop-shadow(0 0 10px rgba(77,255,130,0.5)) drop-shadow(0 0 4px rgba(120,255,170,0.3))}.spot-detail{margin-top:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px}.detail-section h3{font-size:1rem;font-weight:600;color:var(--text-bright);margin-bottom:8px}.detail-section h4{margin:12px 0 6px;color:var(--text-faint);font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;font-weight:600}.detail-score-big{font-size:2.5rem;font-weight:700;line-height:1;margin:8px 0;font-family:var(--font-mono)}.detail-score-big span{font-size:0.875rem;font-weight:400;color:var(--text-faint)}.detail-meta{font-size:0.8125rem;color:var(--text-muted)}.reason-list{list-style:none;padding:0}.reason-list li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:0.8125rem;color:var(--text)}.reason-list li:last-child{border-bottom:none}.reason-list li::before{content:"";display:inline-block;width:6px;height:6px;min-width:6px;border-radius:50%;background:var(--accent-green);margin-top:6px}.spot-tooltip{background:var(--bg-card)!important;color:var(--text)!important;border:1px solid var(--border-light)!important;font-family:var(--font)!important;font-size:0.75rem!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius)!important;padding:4px 8px!important}.spot-tooltip::before{border-top-color:var(--border-light)!important}.spot-extra-section{margin-top:0}.predictors-compact{display:flex;flex-direction:column;gap:4px}.predictor-compact-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:0.8125rem}.predictor-compact-name{flex:1;color:var(--text)}.predictor-compact-r{font-family:var(--font-mono);font-size:0.75rem;color:var(--text-muted)}.eco-compact-metrics{display:flex;gap:16px;font-size:0.8125rem;color:var(--text-muted)}.eco-compact-metrics b{color:var(--text-bright)}.catches-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.catches-topbar h2{font-size:1.125rem;font-weight:600;color:var(--text-bright);letter-spacing:-0.01em}.catches-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.catches-filters select{min-width:200px}.location-search{display:flex;gap:4px;align-items:center;position:relative}.location-search input{min-width:220px}.location-dropdown{position:absolute;top:100%;left:0;width:300px;max-height:320px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.45);z-index:1000;margin-top:2px}.location-dropdown:empty{display:none}.location-dropdown .dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:0.8125rem;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border)}.location-dropdown .dropdown-item:last-child{border-bottom:none}.location-dropdown .dropdown-item:hover,.location-dropdown .dropdown-item.selected{background:var(--bg-input);color:var(--text-bright)}.location-dropdown .dropdown-item b{color:var(--accent);font-weight:600}.location-dropdown .place-type{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-faint);flex-shrink:0;margin-left:12px}.location-dropdown .no-match{color:var(--text-faint);font-style:italic;cursor:default}.location-dropdown .no-match:hover{background:transparent}#location-results{margin-bottom:12px}.location-summary{padding:10px 16px;font-size:0.75rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;font-weight:600;border-bottom:1px solid var(--border);margin-bottom:12px}#location-species-list{max-height:420px;overflow-y:auto}#catches-table-wrap{max-height:480px;overflow-y:auto}.species-bars{display:flex;flex-direction:column;gap:4px;padding:0 16px 16px}.species-bar-row{display:flex;align-items:center;gap:10px}.species-bar-name{flex:0 0 180px;font-size:0.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.species-bar-track{flex:1;height:14px;background:var(--border);border-radius:3px;overflow:hidden}.species-bar-fill{height:100%;border-radius:3px;transition:width 0.4s ease}.species-bar-value{flex:0 0 56px;text-align:right;font-size:0.75rem;font-weight:600;font-family:var(--font-mono);color:var(--text-muted)}.catches-layout{display:grid;grid-template-columns:1fr 340px;gap:12px;margin-top:12px}.anomaly-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:12px}.anomaly-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:all var(--transition)}.anomaly-card.clickable{cursor:pointer}.anomaly-card.clickable:hover{border-color:var(--border-light);background:var(--bg-hover);box-shadow:var(--shadow-sm)}.anomaly-card.active{border-color:var(--accent);background:var(--accent-dim)}.anomaly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.anomaly-sig{font-weight:600;font-size:0.75rem;color:var(--text-muted);font-family:var(--font-mono)}.anomaly-species{font-weight:600;font-size:0.9375rem;color:var(--text-bright)}.anomaly-detail{font-size:0.8125rem;color:var(--text-muted);margin-top:4px;line-height:1.4}.anomaly-loc{display:flex;align-items:center;gap:4px;font-size:0.75rem;color:var(--text-faint);margin-top:6px}.stat-numbers{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;margin:16px}.stat-numbers .metric{background:var(--bg-card);padding:14px}.mini-table{margin:0 16px 16px}.mini-table h4{font-size:0.6875rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;font-weight:600;margin-bottom:6px;padding:0}.mini-row{display:flex;justify-content:space-between;padding:5px 0;font-size:0.8125rem;border-bottom:1px solid var(--border)}.mini-row:last-child{border-bottom:none}.text-muted{color:var(--text-muted);font-family:var(--font-mono);font-size:0.75rem}.hotspots-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.hotspot-info-bar{padding:10px 16px;font-size:0.8125rem;color:var(--text-muted);border-bottom:1px solid var(--border);line-height:1.5}.eco-controls{display:flex;gap:8px;align-items:center}.layer-toggle{display:flex;gap:2px;background:var(--bg-card);padding:3px;border-radius:var(--radius);border:1px solid var(--border)}.layer-btn.active{background:var(--accent-dim)!important;color:var(--accent)!important;border-color:transparent!important}.eco-layout{display:grid;grid-template-columns:1fr 380px;gap:12px}.eco-detail-panel{display:flex;flex-direction:column;gap:12px;height:0;min-height:100%}#organism-breakdown-card{flex:1;display:flex;flex-direction:column;min-height:0;margin-top:0!important}#organism-breakdown-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.eco-legend{padding:8px 16px;border-top:1px solid var(--border);font-size:0.75rem;color:var(--text-muted)}.legend-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:middle}.cell-detail-body{padding:12px 16px}.cell-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.cell-metrics .metric{background:var(--bg-card);padding:12px}.kingdom-bars{padding:4px 0;display:flex;flex-direction:column;gap:4px}.organism-list{padding:12px 16px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;min-height:0}.organism-summary{padding:8px 16px;font-size:0.75rem;color:var(--text-faint);text-align:center;border-top:1px solid var(--border)}.eco-explainers{margin-top:16px}.eco-explainer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px}.eco-explainer-item h3{font-size:0.9rem;color:var(--text-bright);margin:0 0 8px}.eco-explainer-item p{font-size:0.82rem;color:var(--text-muted);line-height:1.55;margin:0}.eco-explainer-scale{margin-top:10px;display:flex;flex-direction:column;gap:4px;font-size:0.78rem;color:var(--text-muted)}.eco-scale-item{display:flex;align-items:center;gap:6px}.insights-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.insights-filters select{min-width:180px}.insights-summary{margin-bottom:16px}.insights-layout{display:grid;grid-template-columns:1fr 360px;gap:12px}.insight-cards{display:flex;flex-direction:column;gap:8px;padding:12px}.insight-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:all var(--transition)}.insight-card:hover{border-color:var(--border-light);background:var(--bg-hover)}.insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.insight-r{font-family:var(--font-mono);font-size:0.8125rem;font-weight:600}.insight-r.positive{color:var(--accent-green)}.insight-r.negative{color:var(--accent-red)}.insight-variables{display:flex;align-items:center;gap:8px;margin-bottom:6px}.insight-var{font-weight:600;font-size:0.875rem;color:var(--text-bright)}.insight-variables svg{color:var(--text-faint);flex-shrink:0}.insight-description{font-size:0.8125rem;color:var(--text-muted);line-height:1.5}.insight-footer{display:flex;gap:12px;margin-top:8px;font-size:0.6875rem;color:var(--text-faint);font-family:var(--font-mono);font-weight:500}.confidence-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em;text-transform:uppercase}.badge-high{background:rgba(63,185,80,0.15);color:var(--accent-green)}.badge-medium{background:rgba(88,166,255,0.15);color:var(--accent)}.badge-low{background:rgba(210,153,34,0.15);color:var(--accent-yellow)}.seasonal-chart{display:flex;gap:2px;padding:16px 12px 8px;align-items:flex-end;height:160px}.seasonal-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.seasonal-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end}.seasonal-bar{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px;transition:height 0.3s ease}.seasonal-label{font-size:0.625rem;color:var(--text-faint);margin-top:4px;font-weight:500}.seasonal-species-name{text-align:center;font-size:0.75rem;color:var(--text-muted);padding:4px 12px 12px}.predictors-list{padding:8px 12px}.predictor-item{padding:10px 0;border-bottom:1px solid var(--border)}.predictor-item:last-child{border-bottom:none}.predictor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.predictor-name{font-weight:600;font-size:0.875rem;color:var(--text-bright)}.predictor-detail{font-size:0.75rem;color:var(--text-muted);font-family:var(--font-mono)}.predictor-desc{font-size:0.8125rem;color:var(--text-muted);margin-top:4px;line-height:1.4}.location-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.location-search-group{display:flex;align-items:center;gap:8px}.location-search-group .location-search{min-width:280px}.location-layout{display:grid;grid-template-columns:1fr 380px;gap:12px;margin-bottom:12px}.species-scroll-list{overflow-y:auto;flex:1;min-height:0}.species-row{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border)}.species-row:last-child{border-bottom:none}.species-row:hover{background:var(--bg-hover)}.species-row-clickable{cursor:pointer}.species-row-clickable.active{background:var(--accent-dim);border-left:3px solid var(--accent-green)}.species-thumb{width:56px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--bg-inset)}.species-thumb-placeholder{width:56px;height:36px;border-radius:6px;flex-shrink:0;background:var(--bg-inset);display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.species-name{flex:1;min-width:0}.species-name-primary{font-size:0.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.species-name-secondary{font-size:0.6875rem;color:var(--text-faint);font-style:italic}.species-meta{text-align:right;flex-shrink:0}.species-meta-value{font-family:var(--font-mono);font-size:0.8125rem;font-weight:600;color:var(--text-bright)}.species-meta-label{font-size:0.625rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.03em}.species-badge{font-size:0.5625rem;padding:1px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;flex-shrink:0}.badge-recent{background:rgba(63,185,80,0.15);color:var(--accent-green)}.badge-moderate{background:rgba(253,216,53,0.12);color:var(--accent-yellow)}.badge-historic{background:rgba(139,148,158,0.15);color:var(--text-faint)}.badge-predicted{background:rgba(88,166,255,0.12);color:var(--accent)}.badge-closed{background:rgba(248,81,73,0.12);color:var(--accent-red)}.badge-catch-release{background:rgba(255,167,38,0.12);color:#ffa726}.badge-protected{background:rgba(248,81,73,0.15);color:var(--accent-red)}.species-locate-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary);opacity:0.7;transition:opacity 0.15s,color 0.15s;cursor:pointer}.species-row:hover .species-locate-btn{opacity:1;color:var(--accent)}.card-badge{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;background:var(--bg-inset);color:var(--text-muted);padding:1px 8px;border-radius:10px;margin-left:auto}.location-detail-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.location-detail-row>.card{display:flex;flex-direction:column;min-height:0;max-height:420px;overflow:hidden}.location-detail-row>.card>.card-body{flex:1;overflow-y:auto}.water-param-row{display:flex;justify-content:space-between;align-items:center;padding:6px 16px;border-bottom:1px solid var(--border)}.water-param-row:last-child{border-bottom:none}.water-param-name{font-size:0.8125rem;color:var(--text)}.water-param-value{font-family:var(--font-mono);font-size:0.8125rem;font-weight:600;color:var(--text-bright)}.station-header{padding:8px 16px;font-size:0.75rem;color:var(--text-faint);border-bottom:1px solid var(--border)}.station-header strong{color:var(--text-muted);font-weight:600}.eco-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.eco-metric{text-align:center}.eco-metric-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--text-bright)}.eco-metric-label{font-size:0.625rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.03em}.insight-item{display:flex;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);align-items:flex-start}.insight-item:last-child{border-bottom:none}.insight-item.insight-clickable{cursor:pointer;transition:background 0.15s}.insight-item.insight-clickable:hover{background:var(--bg-hover)}.insight-chevron{flex-shrink:0;color:var(--text-faint);margin-top:4px;transition:transform 0.15s}.insight-item.insight-clickable:hover .insight-chevron{transform:translateX(2px);color:var(--text-muted)}.insight-item.insight-locked{opacity:0.6}.insight-item.insight-locked .insight-title{filter:blur(3px)}.insight-item.insight-locked .insight-detail{display:none}.insight-lock-badge{display:flex;align-items:center;gap:4px;font-size:0.6875rem;font-weight:600;color:var(--accent);white-space:nowrap;flex-shrink:0}.insight-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.75rem}.insight-icon.warning{background:rgba(248,81,73,0.12);color:var(--accent-red)}.insight-icon.positive{background:rgba(63,185,80,0.12);color:var(--accent-green)}.insight-icon.info{background:rgba(88,166,255,0.12);color:var(--accent)}.insight-icon.feeding{background:rgba(219,109,40,0.12);color:var(--accent-orange)}.insight-text{flex:1;min-width:0}.insight-title{font-size:0.8125rem;font-weight:600;color:var(--text)}.insight-detail{font-size:0.75rem;color:var(--text-muted);margin-top:2px}.weather-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.weather-metric{text-align:center;padding:6px 4px}.weather-metric-score{grid-column:1 / -1;padding:8px 4px}.weather-metric-value{font-size:1.125rem;font-weight:700;color:var(--text);line-height:1.2}.weather-metric-score .weather-metric-value{font-size:1.5rem}.weather-metric-unit{font-size:0.75rem;font-weight:400;color:var(--text-muted)}.weather-metric-label{font-size:0.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.03em;margin-top:2px}.hotspot-item{display:flex;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);align-items:center}.hotspot-item:last-child{border-bottom:none}.hotspot-item.hotspot-clickable{cursor:pointer;transition:background 0.15s}.hotspot-item.hotspot-clickable:hover{background:var(--bg-hover)}.hotspot-item.hotspot-item-locked{cursor:pointer;opacity:0.7}.hotspot-item.hotspot-item-locked:hover{opacity:0.9;background:var(--bg-hover)}.hotspot-text{flex:1;min-width:0}.hotspot-name{font-size:0.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotspot-detail{font-size:0.75rem;color:var(--text-muted);margin-top:1px}.pct-badge{font-size:0.6875rem;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.pct-badge-default{background:rgba(63,185,80,0.12);color:var(--accent-green)}.pct-badge-silver{background:rgba(88,166,255,0.15);color:var(--accent)}.pct-badge-gold{background:rgba(219,109,40,0.15);color:var(--accent-orange)}.target-species-item{display:flex;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);align-items:center}.target-species-item:last-child{border-bottom:none}.target-species-locked{cursor:pointer;opacity:0.5}.target-species-locked:hover{background:var(--bg-hover)}.target-species-info{flex:1;min-width:0}.target-species-name{font-size:0.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-factors{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.target-multiplier{font-size:0.6875rem;font-weight:600;padding:1px 6px;border-radius:3px;white-space:nowrap;margin-left:4px}.target-mult-up{background:rgba(63,185,80,0.15);color:var(--accent-green)}.target-mult-down{background:rgba(248,81,73,0.12);color:var(--accent-red)}.target-mult-avg{background:rgba(255,255,255,0.06);color:var(--text-muted)}.factor-chip{font-size:0.625rem;padding:1px 6px;border-radius:3px;white-space:nowrap;font-weight:600;text-transform:capitalize}.factor-ideal{background:rgba(63,185,80,0.15);color:var(--accent-green)}.factor-poor{background:rgba(248,81,73,0.12);color:var(--accent-red)}.anomaly-badge{font-size:0.6rem;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:6px;white-space:nowrap;vertical-align:middle}.anomaly-bloom{background:rgba(255,152,0,0.15);color:#ff9800}.anomaly-decay{background:rgba(158,158,158,0.15);color:var(--text-muted)}.lure-ban-badge{font-size:0.6rem;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:6px;white-space:nowrap;vertical-align:middle;background:rgba(248,81,73,0.12);color:var(--accent-red)}.target-species-item.lure-banned{opacity:0.55}.driver-direction{font-size:0.75rem;font-weight:700;margin-left:4px}.driver-optimal{font-size:0.6rem;padding:1px 5px;border-radius:3px;margin-left:4px;background:rgba(var(--accent-rgb,99,102,241),0.1);color:var(--accent);white-space:nowrap}.pd-sparkline-wrap{margin:8px 0 4px}.pd-sparkline-label{font-size:0.65rem;color:var(--text-muted);margin-bottom:2px}.pd-sparkline{display:block;overflow:visible}.pd-tt-line,.pd-tt-dot{pointer-events:none}.pd-tt-overlay{pointer-events:auto}.pd-tt-value{float:right;font-weight:600;color:var(--accent)}.anomaly-detail{margin:8px 0;padding:8px 12px;border-radius:6px;font-size:0.8rem}.anomaly-detail.anomaly-bloom{background:rgba(255,152,0,0.1);border-left:3px solid #ff9800}.anomaly-detail.anomaly-decay{background:rgba(158,158,158,0.08);border-left:3px solid var(--text-muted)}.target-score-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.target-score{font-size:1.125rem;font-weight:700;min-width:28px;text-align:right}.target-stats-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;padding:3px 4px;display:flex;align-items:center;transition:color 0.15s,border-color 0.15s}.target-stats-btn:hover{color:var(--accent);border-color:var(--accent)}.target-range-current{position:absolute;top:-3px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--accent-green);transform:translateX(-5px);z-index:2}.target-range-current-val{color:var(--text);font-weight:600}.target-modal-breakdown{display:flex;gap:8px;margin-bottom:4px}.target-modal-component{flex:1;text-align:center;padding:8px 4px;background:rgba(255,255,255,0.03);border-radius:6px;border:1px solid var(--border)}.target-modal-component-label{display:block;font-size:0.625rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:2px}.target-modal-component-value{font-size:1.125rem;font-weight:700;color:var(--text)}.target-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px 20px;background:linear-gradient(transparent,rgba(0,0,0,0.7));display:flex;justify-content:space-between;align-items:flex-end}.target-hero-name{font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,0.5)}.target-hero-score{font-size:2rem;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,0.5)}.general-score-bar{background:var(--bg-card);border-top:1px solid var(--border);padding:8px 16px}.general-score-inner{display:flex;align-items:center;gap:10px}.general-score-inner svg{color:var(--text-faint);flex-shrink:0}.general-score-label{font-size:0.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:0.03em}.general-score-value{font-size:1.25rem;font-weight:800}.general-score-drivers{font-size:0.6875rem;color:var(--text-faint);margin-left:auto}.pct-filter{margin-left:auto;font-size:0.75rem;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);cursor:pointer}.suitability-bar{width:50px;height:6px;background:var(--bg-inset);border-radius:3px;overflow:hidden;flex-shrink:0}.suitability-fill{height:100%;border-radius:3px}@media (max-width:900px){.grid-2{grid-template-columns:1fr}.content{padding:12px 16px}.map-sidebar{display:none}.fishing-map-page{min-height:auto}.finder-layout{grid-template-columns:1fr;min-height:auto}.species-scroll-list{max-height:240px}.catches-layout{grid-template-columns:1fr}.hotspots-layout{grid-template-columns:1fr}.eco-layout{grid-template-columns:1fr}.eco-explainer-grid{grid-template-columns:1fr}.insights-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.species-ticker-card{width:100px}.species-ticker-img,.species-ticker-placeholder,.species-ticker-silhouette{height:52px}.species-ticker-container::before,.species-ticker-container::after{width:30px}.species-modal{width:100%;max-width:100vw;border-radius:12px 12px 0 0}.species-modal-grid{grid-template-columns:1fr}.finder-topbar{flex-direction:column;align-items:stretch}.catches-topbar{flex-direction:column;align-items:stretch}.location-topbar{flex-direction:column;align-items:stretch}.location-layout{grid-template-columns:1fr}.location-detail-row{grid-template-columns:1fr;max-height:none}.location-detail-row>.card{max-height:350px}}@media (max-width:768px){.navbar{padding:0 12px}.nav-hamburger{display:flex;align-items:center;justify-content:center}.nav-separator{display:none}.nav-logo{height:50px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;padding:8px 12px;gap:2px;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,0.4)}.nav-links.open{display:flex}.nav-links a{padding:10px 12px;font-size:0.875rem}.nav-right{gap:6px}.login-btn span{display:none}.login-btn{padding:6px}.lang-switcher{padding-left:4px}.lang-btn{padding:3px 6px;font-size:0.625rem}#main-map{height:350px!important}#eco-map{height:350px!important}#hotspot-map{height:300px!important}#mini-map{height:200px!important}.species-ticker-card{width:90px}.species-ticker-img,.species-ticker-placeholder,.species-ticker-silhouette{height:48px}.species-ticker-name{font-size:0.625rem}.species-ticker-label{flex-wrap:wrap;gap:6px}.finder-species-select select{min-width:0;width:100%}.fishing-map-search{margin-left:0;width:100%}.fishing-map-search .location-search input{width:100%}.station-select{width:100%}.finder-map-panel .card-header{flex-wrap:wrap}#map-hint{display:none}.map-draw-toggle span,.map-layer-toggle span{display:none}.map-draw-toggle,#btn-gps,#btn-home{padding:4px 6px}.spot-mode-tab-desc{display:none}.spot-mode-tab{padding:6px 4px}.spot-mode-tab-label{font-size:0.6875rem}.spot-mode-tabs{gap:4px}.finder-map-panel,.finder-list-panel{min-width:0}.content{padding:10px 12px}.card-body{padding:12px}.card-header{padding:10px 12px}.species-modal-body{padding:16px}.insight-modal{max-width:96vw}}@keyframes dashboardFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboardSlideLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes dashboardSlideRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes dashboardScaleIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes borderGlow{0%,100%{border-color:var(--border)}50%{border-color:rgba(88,166,255,0.3)}}@keyframes subtlePulse{0%,100%{opacity:1}50%{opacity:0.7}}@keyframes scanline{0%{top:-2px}100%{top:100%}}@keyframes gradientSlide{0%{transform:translateX(0)}50%{transform:translateX(33.3%)}100%{transform:translateX(0)}}@keyframes tickerSlideIn{from{opacity:0;transform:translateY(8px) scale(0.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes conditionPop{0%{opacity:0;transform:scale(0.8)}60%{transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}@keyframes scoreReveal{0%{opacity:0;transform:scale(0.5);filter:blur(8px)}60%{transform:scale(1.08);filter:blur(0)}100%{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes listItemSlide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}.finder-topbar{animation:dashboardFadeIn 0.5s ease both}.species-ticker-wrapper{animation:dashboardFadeIn 0.6s ease 0.1s both}.finder-map-panel{animation:dashboardSlideLeft 0.6s ease 0.2s both}.finder-list-panel{animation:dashboardSlideRight 0.6s ease 0.25s both;overflow:hidden;display:flex;flex-direction:column;height:0;min-height:100%;margin:0;padding:0}.finder-list-panel>div{flex:1;min-height:0}@media (max-width:900px){.finder-list-panel{height:auto;min-height:0;overflow:visible}}#empty-state{animation:dashboardScaleIn 0.5s ease 0.35s both}.cond-item{animation:conditionPop 0.4s ease both}.cond-item:nth-child(1){animation-delay:0.3s}.cond-item:nth-child(2){animation-delay:0.38s}.cond-item:nth-child(3){animation-delay:0.46s}.cond-item:nth-child(4){animation-delay:0.54s}.cond-item:nth-child(5){animation-delay:0.62s}.species-ticker-card{animation:tickerSlideIn 0.4s ease both}.species-ticker-card:nth-child(1){animation-delay:0.15s}.species-ticker-card:nth-child(2){animation-delay:0.19s}.species-ticker-card:nth-child(3){animation-delay:0.23s}.species-ticker-card:nth-child(4){animation-delay:0.27s}.species-ticker-card:nth-child(5){animation-delay:0.31s}.species-ticker-card:nth-child(6){animation-delay:0.35s}.species-ticker-card:nth-child(7){animation-delay:0.39s}.species-ticker-card:nth-child(8){animation-delay:0.43s}.species-ticker-card:nth-child(9){animation-delay:0.47s}.species-ticker-card:nth-child(10){animation-delay:0.51s}.species-ticker-card:nth-child(11){animation-delay:0.55s}.species-ticker-card:nth-child(12){animation-delay:0.59s}.species-ticker-card:nth-child(n+13){animation-delay:0.63s}.species-ticker-card{position:relative;overflow:hidden}.species-ticker-card::after{content:'';position:absolute;top:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity 0.3s}.species-ticker-card:hover::after{opacity:1}.species-ticker-card.selected{box-shadow:0 0 16px rgba(88,166,255,0.15),0 0 4px rgba(88,166,255,0.1)}.species-ticker-card.selected::after{opacity:1;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:shimmer 2s linear infinite;background-size:200% 100%}.card{transition:border-color 0.3s ease,box-shadow 0.3s ease}.card:hover{border-color:rgba(88,166,255,0.15);box-shadow:0 0 20px rgba(88,166,255,0.04)}.card-header{position:relative;overflow:hidden}.card-header::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(88,166,255,0.2),transparent);top:-2px;opacity:0;transition:opacity 0.3s}.card:hover .card-header::after{opacity:1;animation:scanline 2s linear}.spot-item{animation:listItemSlide 0.35s ease both;position:relative}.spot-item:nth-child(1){animation-delay:0s}.spot-item:nth-child(2){animation-delay:0.04s}.spot-item:nth-child(3){animation-delay:0.08s}.spot-item:nth-child(4){animation-delay:0.12s}.spot-item:nth-child(5){animation-delay:0.16s}.spot-item:nth-child(6){animation-delay:0.2s}.spot-item:nth-child(7){animation-delay:0.24s}.spot-item:nth-child(8){animation-delay:0.28s}.spot-item:nth-child(9){animation-delay:0.32s}.spot-item:nth-child(10){animation-delay:0.36s}.spot-item:nth-child(n+11){animation-delay:0.4s}.spot-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);opacity:0;transform:scaleY(0);transition:opacity 0.25s,transform 0.25s}.spot-item:hover::before{opacity:1;transform:scaleY(1)}.spot-item.selected::before{opacity:1;transform:scaleY(1);background:var(--accent);box-shadow:0 0 8px rgba(88,166,255,0.4)}.spot-score{transition:all 0.3s ease}.spot-item:hover .spot-score{box-shadow:0 0 12px rgba(88,166,255,0.15)}.score-excellent{text-shadow:0 0 12px rgba(63,185,80,0.4)}.score-good{text-shadow:0 0 12px rgba(88,166,255,0.4)}.species-row{animation:listItemSlide 0.3s ease both;position:relative;transition:background 0.2s,transform 0.15s}.species-row:nth-child(1){animation-delay:0s}.species-row:nth-child(2){animation-delay:0.03s}.species-row:nth-child(3){animation-delay:0.06s}.species-row:nth-child(4){animation-delay:0.09s}.species-row:nth-child(5){animation-delay:0.12s}.species-row:nth-child(6){animation-delay:0.15s}.species-row:nth-child(7){animation-delay:0.18s}.species-row:nth-child(8){animation-delay:0.21s}.species-row:nth-child(n+9){animation-delay:0.24s}.species-row:hover{transform:translateX(3px)}.species-row-clickable.active{box-shadow:inset 3px 0 8px rgba(63,185,80,0.15)}.species-thumb{transition:transform 0.3s ease,box-shadow 0.3s ease}.species-row:hover .species-thumb{transform:scale(1.1);box-shadow:0 0 12px rgba(88,166,255,0.2)}.species-ticker-img{transition:transform 0.3s ease,filter 0.3s ease}.species-ticker-card:hover .species-ticker-img{filter:brightness(1.15)}#mode-a-detail,#mode-b-detail{animation:cardReveal 0.4s ease both}.location-detail-row>.card{animation:dashboardFadeIn 0.4s ease both}.location-detail-row>.card:nth-child(1){animation-delay:0.05s}.location-detail-row>.card:nth-child(2){animation-delay:0.12s}.water-param-row{animation:listItemSlide 0.3s ease both}.water-param-row:nth-child(1){animation-delay:0s}.water-param-row:nth-child(2){animation-delay:0.04s}.water-param-row:nth-child(3){animation-delay:0.08s}.water-param-row:nth-child(4){animation-delay:0.12s}.water-param-row:nth-child(5){animation-delay:0.16s}.water-param-row:nth-child(6){animation-delay:0.2s}.water-param-row:nth-child(n+7){animation-delay:0.24s}.insight-item{animation:listItemSlide 0.35s ease both}.insight-item:nth-child(1){animation-delay:0s}.insight-item:nth-child(2){animation-delay:0.06s}.insight-item:nth-child(3){animation-delay:0.12s}.insight-item:nth-child(4){animation-delay:0.18s}.insight-item:nth-child(n+5){animation-delay:0.24s}.insight-icon{transition:transform 0.2s,box-shadow 0.3s}.insight-item:hover .insight-icon{transform:scale(1.15);box-shadow:0 0 10px rgba(88,166,255,0.15)}.eco-metric-value{transition:text-shadow 0.3s}.eco-metric:hover .eco-metric-value{text-shadow:0 0 16px rgba(88,166,255,0.4)}.detail-score-big{animation:scoreReveal 0.6s ease 0.1s both}.confidence-badge{transition:transform 0.2s,box-shadow 0.2s}.confidence-badge:hover{transform:scale(1.08)}.badge-high:hover{box-shadow:0 0 8px rgba(63,185,80,0.3)}.badge-medium:hover{box-shadow:0 0 8px rgba(88,166,255,0.3)}.predictor-compact-item{transition:background 0.2s,box-shadow 0.2s}.predictor-compact-item:hover{box-shadow:0 0 12px rgba(88,166,255,0.08)}#main-map{position:relative}.finder-map-panel .card{overflow:hidden}.finder-map-panel .card::before{content:'';position:absolute;top:0;left:-100%;width:300%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-green),transparent);animation:gradientSlide 6s ease infinite;z-index:400;opacity:0.5;will-change:transform}.map-layer-toggle.active{box-shadow:0 0 8px rgba(253,216,53,0.2)}.species-modal-overlay.open .species-modal,.predictor-modal-overlay.open .predictor-modal{transform:translateY(0) scale(1);box-shadow:0 20px 60px rgba(0,0,0,0.5),0 0 40px rgba(88,166,255,0.06)}#season-warning:not([style*="display: none"]){animation:dashboardFadeIn 0.4s ease both}.finder-map-panel .card{position:relative}.map-loading-overlay{position:absolute;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(8,12,18,0.65);backdrop-filter:blur(2px);color:var(--text-muted);font-size:0.8125rem;letter-spacing:0.04em;pointer-events:all;cursor:wait}.map-loading-spinner{width:28px;height:28px;border:3px solid var(--border-light);border-top-color:#b44dff;border-radius:50%;animation:mapOverlaySpin 0.8s linear infinite}@keyframes mapOverlaySpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}.user-menu{display:flex;align-items:center;margin-left:8px}.login-buttons{display:flex;gap:6px;align-items:center}.login-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--bg-card);color:var(--text-muted);text-decoration:none;font-size:0.75rem;font-weight:500;border:1px solid var(--border);transition:background 0.15s,border-color 0.15s;white-space:nowrap}.login-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-bright)}.user-dropdown{position:relative}.user-btn{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-bright);cursor:pointer;font-size:0.8125rem;transition:background 0.15s}.user-btn:hover{background:var(--bg-hover)}.user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-avatar-icon{opacity:0.7}.user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tier-badge{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding:1px 6px;border-radius:4px}.tier-badge.tier-free{background:var(--bg-hover);color:var(--text-faint)}.tier-badge.tier-standard{background:rgba(59,130,246,0.15);color:#60a5fa}.tier-badge.tier-premium{background:rgba(234,179,8,0.15);color:#facc15}.user-dropdown-menu{display:none;position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:6px 0;box-shadow:0 8px 24px rgba(0,0,0,0.3);z-index:1000}.user-dropdown.open .user-dropdown-menu{display:block}.user-dropdown-tier{padding:8px 14px;font-size:0.75rem;color:var(--text-faint);border-bottom:1px solid var(--border)}.user-dropdown-cancel-notice{padding:6px 14px;font-size:0.7rem;color:var(--accent-orange);border-bottom:1px solid var(--border)}.user-dropdown-item{display:block;padding:8px 14px;font-size:0.8125rem;color:var(--text-muted);text-decoration:none;transition:background 0.15s}.user-dropdown-item:hover{background:var(--bg-hover);color:var(--text-bright)}.species-ticker-card.locked{opacity:0.75;cursor:pointer}.species-ticker-card.locked:hover{opacity:0.9}.species-ticker-card.locked .species-ticker-name{color:var(--text);font-weight:500;font-size:0.8125rem}.species-ticker-card.locked .ticker-catch-count{color:var(--text-muted)}.ticker-signal.signal-mystery{background:rgba(255,255,255,0.08);color:var(--text-faint)}.ticker-signal.signal-mystery-trophy{background:rgba(255,215,0,0.1);color:rgba(255,215,0,0.4)}.species-ticker-silhouette{width:100%;height:120px;border-radius:8px;background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center;color:var(--text-faint);overflow:hidden}.species-ticker-silhouette svg{width:85%;height:85%}.species-ticker-lock{position:absolute;top:4px;right:4px;background:rgba(0,0,0,0.6);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.85);z-index:2}.species-ticker-card.season-closed{opacity:0.6}.species-ticker-card.season-closed:hover{opacity:0.85}.species-ticker-season-badge{position:absolute;top:4px;left:4px;font-size:0.5rem;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;padding:1px 4px;border-radius:8px;white-space:nowrap;z-index:2;pointer-events:none;line-height:1.4;backdrop-filter:blur(4px)}.species-ticker-season-badge.badge-closed{background:rgba(248,81,73,0.8);color:#fff}.species-ticker-season-badge.badge-cr{background:rgba(255,167,38,0.8);color:#fff}.species-row-locked{cursor:pointer;opacity:0.7}.species-row-locked:hover{opacity:0.9;background:var(--bg-hover)}.species-thumb-locked{width:56px;height:36px;border-radius:6px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;color:var(--text-faint);flex-shrink:0}.species-name-mystery{font-style:italic;color:var(--text-faint);letter-spacing:2px}.badge-locked{background:rgba(234,179,8,0.15)!important;color:#facc15!important;display:inline-flex;align-items:center;gap:3px}.species-modal-lock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;opacity:0.9}.locked-badge{background:rgba(234,179,8,0.15)!important;color:#facc15!important;display:inline-flex;align-items:center;gap:4px}.locked-upgrade-prompt{text-align:center;padding:24px 16px}.locked-upgrade-prompt h3{font-size:1.125rem;margin:0 0 8px;color:var(--text-bright)}.locked-upgrade-prompt p{font-size:0.8125rem;color:var(--text-muted);margin:0 0 16px;line-height:1.5}.locked-feature-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:6px}.locked-feature-list li{font-size:0.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;justify-content:center}.locked-feature-list li::before{content:"\2713";color:#34d399;font-weight:700}.btn-upgrade{display:inline-block;padding:10px 28px;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:white;font-weight:600;font-size:0.875rem;border:none;cursor:pointer;transition:transform 0.15s,box-shadow 0.15s}.btn-upgrade:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(124,58,237,0.4)}.upgrade-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.2s ease}.upgrade-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:40px;max-width:900px;width:92%;max-height:90vh;overflow-y:auto;position:relative;text-align:center}.upgrade-modal h2{margin:0 0 8px;font-size:1.5rem;color:var(--text-bright)}.upgrade-modal>p{color:var(--text-muted);font-size:0.875rem;margin:0 0 24px}.upgrade-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-faint);font-size:1.5rem;cursor:pointer;line-height:1;transition:color 0.15s}.upgrade-close:hover{color:var(--text-bright)}.tier-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.tier-card{position:relative;border-radius:12px;padding:0;text-align:left;overflow:hidden;border:1px solid rgba(255,255,255,0.08);background-size:cover;background-position:center;transition:transform 0.25s,border-color 0.25s,box-shadow 0.25s}.tier-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.4)}.tier-card-glass{padding:24px 18px;background:rgba(13,17,23,0.65);min-height:100%}.tier-card-free{border-color:rgba(88,166,255,0.15);background-image:url('/static/img/tier-free.webp');box-shadow:0 0 8px rgba(88,166,255,0.08)}.tier-card-free:hover{border-color:rgba(88,166,255,0.3);box-shadow:0 0 14px rgba(88,166,255,0.15),0 8px 24px rgba(0,0,0,0.4)}.tier-card-free .tier-card-glass{background:rgba(13,17,23,0.7)}.tier-card-explorer{border-color:rgba(52,211,153,0.2);background-image:url('/static/img/tier-explorer.webp');box-shadow:0 0 12px rgba(52,211,153,0.12),0 0 4px rgba(52,211,153,0.06)}.tier-card-explorer:hover{border-color:rgba(52,211,153,0.4);box-shadow:0 0 20px rgba(52,211,153,0.22),0 0 8px rgba(52,211,153,0.1),0 8px 24px rgba(0,0,0,0.4)}.tier-card-explorer .tier-card-glass{background:rgba(13,17,23,0.6)}.tier-card-specialist{border-color:rgba(250,204,21,0.25);background-image:url('/static/img/tier-specialist.webp');box-shadow:0 0 18px rgba(250,204,21,0.15),0 0 6px rgba(250,204,21,0.08)}.tier-card-specialist:hover{border-color:rgba(250,204,21,0.5);box-shadow:0 0 28px rgba(250,204,21,0.25),0 0 12px rgba(250,204,21,0.12),0 8px 24px rgba(0,0,0,0.4)}.tier-card-specialist .tier-card-glass{background:rgba(13,17,23,0.5)}.tier-card-current{border-color:var(--accent);box-shadow:0 0 0 1px rgba(88,166,255,0.2)}.tier-card-recommended{border-color:#facc15;box-shadow:0 0 12px rgba(250,204,21,0.15),0 0 0 1px rgba(250,204,21,0.3)}.tier-card-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding:3px 12px;border-radius:0 0 8px 8px;background:var(--accent);color:white;white-space:nowrap;z-index:2}.tier-card-badge-rec{background:linear-gradient(135deg,#facc15,#f59e0b);color:#1a1a2e}.tier-card-name{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:4px;text-shadow:0 1px 4px rgba(0,0,0,0.5)}.tier-card-price{font-size:0.875rem;color:rgba(255,255,255,0.55);margin-bottom:14px}.tier-card-features{list-style:none;padding:0;margin:0}.tier-card-features li{font-size:0.75rem;color:rgba(255,255,255,0.7);padding:3px 0;display:flex;align-items:baseline;gap:6px}.upgrade-login-hint{font-size:0.8125rem;color:var(--text-faint);margin:0 0 12px}.upgrade-login-buttons{display:flex;gap:10px;justify-content:center}.upgrade-login-buttons .login-btn{padding:8px 16px;font-size:0.8125rem}.tier-card-btn{display:block;width:100%;padding:10px 16px;margin-top:16px;border:none;border-radius:8px;font-size:0.8125rem;font-weight:600;cursor:pointer;transition:background 0.15s,opacity 0.15s}.tier-card-btn-upgrade{background:linear-gradient(135deg,var(--accent),#3b82f6);color:#fff;box-shadow:0 2px 8px rgba(88,166,255,0.3)}.tier-card-specialist .tier-card-btn-upgrade{background:linear-gradient(135deg,#facc15,#f59e0b);color:#1a1a2e;box-shadow:0 2px 8px rgba(250,204,21,0.3)}.tier-card-btn-upgrade:hover{opacity:0.9;transform:translateY(-1px)}.tier-card-btn-current{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.4);cursor:default;backdrop-filter:blur(4px)}.tier-card-btn-downgrade{background:rgba(255,255,255,0.06);color:var(--text-muted);border:1px solid rgba(255,255,255,0.1)}.tier-card-btn-downgrade:hover{background:rgba(255,255,255,0.1);color:var(--text-bright)}.tier-card-btn:disabled{opacity:0.5;cursor:not-allowed}.downgrade-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:36px 32px;max-width:420px;width:90%;position:relative;text-align:center}.downgrade-icon{color:var(--accent-orange);margin-bottom:12px}.downgrade-icon svg{stroke:var(--accent-orange)}.downgrade-modal h2{margin:0 0 6px;font-size:1.3rem;color:var(--text-bright)}.downgrade-subtitle{color:var(--text-muted);font-size:0.85rem;margin:0 0 16px}.downgrade-lost-list{list-style:none;padding:0;margin:0 0 16px;text-align:left}.downgrade-lost-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:6px;border-radius:8px;background:rgba(248,81,73,0.06);border:1px solid rgba(248,81,73,0.12);font-size:0.82rem;color:var(--accent-red)}.downgrade-lost-item svg{flex-shrink:0;stroke:var(--accent-red)}.downgrade-note{font-size:0.8rem;color:var(--text-faint);margin:0 0 20px}.downgrade-actions{display:flex;gap:10px}.downgrade-btn-cancel{flex:1;padding:10px 16px;border-radius:8px;border:1px solid var(--border-light);background:transparent;color:var(--text-bright);font-size:0.85rem;font-weight:600;cursor:pointer;transition:background 0.15s}.downgrade-btn-cancel:hover{background:rgba(255,255,255,0.06)}.downgrade-btn-confirm{flex:1;padding:10px 16px;border-radius:8px;border:none;background:rgba(248,81,73,0.12);color:var(--accent-red);font-size:0.85rem;font-weight:600;cursor:pointer;transition:background 0.15s}.downgrade-btn-confirm:hover{background:rgba(248,81,73,0.2)}.downgrade-btn-confirm:disabled{opacity:0.5;cursor:not-allowed}.checkout-success{text-align:center;padding:80px 20px;max-width:480px;margin:0 auto}.checkout-success h1{font-size:1.75rem;margin-bottom:12px}.checkout-success p{color:var(--text-muted);margin-bottom:24px}.checkout-success .btn-primary{display:inline-block;padding:12px 32px;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-weight:600}.lock-icon{vertical-align:middle}.feature-locked-banner{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(234,179,8,0.06);border:1px dashed rgba(234,179,8,0.25);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);margin:8px 0}.feature-locked-banner:hover{background:rgba(234,179,8,0.12)}.feature-locked-icon{color:#facc15;flex-shrink:0}.feature-locked-text{flex:1;min-width:0}.feature-locked-title{font-size:0.8125rem;font-weight:600;color:var(--text)}.feature-locked-subtitle{font-size:0.75rem;color:var(--text-muted);margin-top:2px}.feature-locked-cta{flex-shrink:0;padding:6px 14px;font-size:0.75rem;font-weight:600;background:linear-gradient(135deg,#facc15,#f59e0b);color:#1a1a2e;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity var(--transition)}.feature-locked-cta:hover{opacity:0.85}.feature-locked-tab{position:relative;opacity:0.75}.feature-locked-tab .tab-lock-icon{display:inline-flex;align-items:center;margin-left:4px;color:#facc15;vertical-align:middle}.modal-feature-locked{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;background:rgba(234,179,8,0.06);border:1px dashed rgba(234,179,8,0.2);border-radius:var(--radius);text-align:center;cursor:pointer;transition:background var(--transition)}.modal-feature-locked:hover{background:rgba(234,179,8,0.1)}.modal-feature-locked-icon{color:#facc15}.modal-feature-locked-label{font-size:0.8125rem;font-weight:600;color:var(--text)}.modal-feature-locked-tier{font-size:0.75rem;color:var(--text-muted)}.insights-locked-preview{opacity:0.4;pointer-events:none;filter:blur(1px);margin-top:8px}.tier-feature-included::before{content:"\2713";color:#34d399;margin-right:6px;font-weight:600}.tier-feature-locked{color:var(--text-faint);display:flex;align-items:center;gap:4px}.tier-feature-locked .lock-icon{width:10px;height:10px;opacity:0.6}@media (max-width:640px){.tier-cards{grid-template-columns:1fr}.user-name{display:none}.tier-badge{display:none}#main-map{height:280px!important}#eco-map{height:280px!important}#hotspot-map{height:250px!important}#mini-map{height:160px!important}.finder-conditions{flex-wrap:wrap;gap:6px}.species-ticker-card{width:70px}.species-ticker-img,.species-ticker-placeholder,.species-ticker-silhouette{height:40px}.species-ticker-name{font-size:0.5625rem}.species-ticker-track{padding:4px 20px;gap:6px}.species-ticker-arrow{width:26px;height:26px}.content{padding:8px 10px}}.insight-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease}.insight-modal-overlay.active{opacity:1;pointer-events:auto}.insight-modal{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:520px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.5);transform:translateY(12px) scale(0.97);transition:transform 0.25s ease}.insight-modal-overlay.active .insight-modal{transform:translateY(0) scale(1)}.insight-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(0,0,0,0.5);color:#fff;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background 0.2s}.insight-modal-close:hover{background:rgba(0,0,0,0.7)}.insight-modal-hero{min-height:60px}.insight-modal-body{padding:20px 24px 24px}.insight-modal-body h3{font-size:1.125rem;font-weight:700;color:var(--text);margin:0 0 8px}.insight-summary{font-size:0.875rem;color:var(--text-muted);line-height:1.55;margin:0 0 16px}.insight-dual-hero{display:flex;align-items:stretch;height:200px;border-radius:12px 12px 0 0;overflow:hidden}.insight-hero-half{flex:1;position:relative;overflow:hidden}.insight-hero-half img{width:100%;height:100%;object-fit:cover}.insight-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(99,102,241,0.03));display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.insight-hero-label{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);color:#fff;font-size:0.75rem;font-weight:600;text-align:center}.insight-hero-connector{width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-inset);color:var(--text-faint)}.insight-single-hero{position:relative;height:200px;border-radius:12px 12px 0 0;overflow:hidden}.insight-single-hero img{width:100%;height:100%;object-fit:cover}.insight-icon-hero{height:100px;display:flex;align-items:center;justify-content:center;border-radius:12px 12px 0 0}.insight-icon-hero svg{width:40px;height:40px}.insight-hero-warning{background:linear-gradient(135deg,rgba(248,81,73,0.15),rgba(248,81,73,0.05));color:var(--accent-red)}.insight-hero-positive{background:linear-gradient(135deg,rgba(63,185,80,0.15),rgba(63,185,80,0.05));color:var(--accent-green)}.insight-hero-info{background:linear-gradient(135deg,rgba(88,166,255,0.15),rgba(88,166,255,0.05));color:var(--accent)}.insight-correlation-bar{position:relative;height:24px;background:var(--bg-inset);border-radius:6px;overflow:hidden;margin:12px 0}.insight-correlation-fill{height:100%;border-radius:6px;transition:width 0.4s ease}.insight-correlation-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:600;color:var(--text)}.insight-metrics{display:flex;gap:12px;margin:16px 0}.insight-metric{flex:1;background:var(--bg-inset);border-radius:8px;padding:12px;text-align:center}.insight-metric-value{display:block;font-size:1.25rem;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text)}.insight-metric-label{display:block;font-size:0.6875rem;color:var(--text-faint);margin-top:4px;text-transform:uppercase;letter-spacing:0.03em}.insight-drivers{margin-top:14px}.insight-drivers-title{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-faint);margin:0 0 8px}.insight-driver-item{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden;cursor:pointer;transition:border-color 200ms ease}.insight-driver-item:hover{border-color:var(--text-muted)}.insight-driver-item:last-child{margin-bottom:0}.driver-summary{display:flex;align-items:center;gap:10px;padding:8px 10px}.driver-thumb{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--bg-card)}.driver-thumb-icon{width:32px;height:32px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(88,166,255,0.08);color:var(--accent)}.driver-info{flex:1;min-width:0}.driver-name-line{display:flex;align-items:center;gap:6px;margin-bottom:3px}.driver-local{font-size:0.6875rem;font-weight:500;padding:1px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.driver-local-high{color:#4caf50;background:rgba(76,175,80,0.10)}.driver-local-mid{color:#ffa726;background:rgba(255,167,38,0.10)}.driver-local-low{color:var(--text-muted);background:var(--bg-elevated)}.driver-local-absent{color:var(--text-faint);background:var(--bg-elevated);font-style:italic}.driver-local-neutral{color:var(--text-secondary);background:var(--bg-elevated)}.driver-local-dot-above,.driver-local-dot-below{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.driver-local-dot-above{background:#4fc3f7}.driver-local-dot-below{background:var(--text-faint)}.driver-type-badge{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-faint);background:var(--bg-elevated);padding:1px 5px;border-radius:3px;flex-shrink:0}.insight-driver-name{font-size:0.8125rem;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-bar-line{display:flex;align-items:center;gap:8px}.insight-driver-bar-bg{flex:1;height:5px;background:var(--bg-card);border-radius:3px;overflow:hidden}.insight-driver-bar{height:100%;background:#4fc3f7;border-radius:3px}.insight-driver-value{flex:0 0 40px;font-size:0.6875rem;color:var(--text-muted);text-align:right}.driver-expand-chevron{flex-shrink:0;color:var(--text-faint);transition:transform 200ms ease}.insight-driver-item.expanded .driver-expand-chevron{transform:rotate(180deg)}.driver-expanded{max-height:0;overflow:hidden;transition:max-height 300ms ease,padding 200ms ease;padding:0 10px}.insight-driver-item.expanded .driver-expanded{max-height:400px;padding:0 10px 10px}.driver-expanded-img{width:100%;max-height:200px;object-fit:contain;border-radius:6px;background:rgba(255,255,255,0.95);margin-bottom:8px;background:var(--bg-card)}.driver-explanation{margin:0;font-size:0.8rem;color:var(--text-muted);line-height:1.5}.insight-ai-explanation{margin-top:16px;padding:14px 16px;background:linear-gradient(135deg,rgba(99,102,241,0.06),rgba(99,102,241,0.02));border:1px solid rgba(99,102,241,0.15);border-radius:8px}.insight-ai-explanation p{margin:0;font-size:0.8125rem;color:var(--text-muted);line-height:1.6}@media (max-width:560px){.insight-modal{width:100%;max-width:100vw;max-height:100vh;border-radius:0}.insight-dual-hero{height:150px}.insight-single-hero{height:150px}.insight-metrics{flex-wrap:wrap}}.queue-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:24px}.queue-card{text-align:center;max-width:480px;width:100%;padding:48px 32px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.queue-icon{margin-bottom:24px;color:var(--accent);animation:queue-wave 2s ease-in-out infinite}@keyframes queue-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.queue-title{font-size:1.5rem;font-weight:600;color:var(--text-bright);margin-bottom:12px}.queue-message{color:var(--text-muted);font-size:0.9rem;margin-bottom:24px;line-height:1.6}.queue-countdown{font-size:2rem;font-weight:700;color:var(--accent);font-family:var(--font-mono);margin-bottom:12px}.queue-progress{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:32px}.queue-progress-bar{height:100%;background:var(--accent);width:0%;transition:width 1s linear}.queue-upgrade{border-top:1px solid var(--border);padding-top:24px}.queue-upgrade-label{font-size:0.85rem;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.05em;font-weight:500}.queue-upgrade-btn{padding:10px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:0.9rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.queue-upgrade-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.queue-login-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:8px}.queue-hint{margin-top:12px;font-size:0.78rem;color:var(--text-muted)}.rate-limit-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--bg-dark,#1a1a2e);color:#fff;padding:12px 24px;border-radius:8px;font-size:0.9rem;z-index:10000;box-shadow:0 4px 12px rgba(0,0,0,0.3);animation:toast-fade 4s ease-in-out forwards}@keyframes toast-fade{0%{opacity:0;transform:translateX(-50%) translateY(12px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1}100%{opacity:0}}.legal-page{max-width:800px;margin:2rem auto;padding:0 1.5rem 3rem;line-height:1.75;color:var(--text)}.legal-page h1{font-size:1.75rem;color:var(--text-bright);margin-bottom:0.25rem}.legal-page .legal-updated{color:var(--text-muted);font-size:0.875rem;margin-bottom:2rem}.legal-page h2{font-size:1.2rem;color:var(--text-bright);margin-top:2rem;margin-bottom:0.75rem;padding-bottom:0.25rem;border-bottom:1px solid var(--border)}.legal-page h3{font-size:1.05rem;color:var(--text-bright);margin-top:1.25rem;margin-bottom:0.5rem}.legal-page p{margin-bottom:0.875rem}.legal-page ul{margin-bottom:1rem;padding-left:1.5rem}.legal-page li{margin-bottom:0.3rem}.legal-page a{color:var(--accent);text-decoration:none}.legal-page a:hover{text-decoration:underline}.legal-page table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.9rem}.legal-page th,.legal-page td{padding:0.5rem 0.75rem;border:1px solid var(--border-light);text-align:left}.legal-page th{background:var(--bg-card);color:var(--text-bright);font-weight:600}.legal-page td{background:var(--bg)}.legal-page code{background:var(--bg-card);padding:0.15em 0.4em;border-radius:3px;font-size:0.875em}.footer-sources{margin-bottom:6px}.footer-legal{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.footer-legal a{color:var(--text-faint);text-decoration:none;transition:color 0.15s}.footer-legal a:hover{color:var(--text-muted);text-decoration:underline}@media (max-width:600px){.legal-page{padding:0 1rem 2rem}.legal-page h1{font-size:1.4rem}.legal-page table{font-size:0.8rem}.legal-page th,.legal-page td{padding:0.35rem 0.5rem}}.forecast-layout{padding:0 24px}.forecast-top{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:16px}.forecast-map-card{margin-bottom:0}.forecast-map{height:300px;border-radius:0 0 var(--radius) var(--radius)}.forecast-factors-body{padding:14px;color:var(--text-secondary);font-size:0.85rem;line-height:1.5;overflow-y:auto;max-height:340px}.forecast-factors-intro{margin-bottom:10px}.forecast-factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:10px}.forecast-factor{display:flex;flex-direction:column;gap:5px;padding:8px 10px;background:var(--bg-elevated);border-radius:calc(var(--radius) - 2px);border:1px solid var(--border)}.forecast-factor-header{display:flex;justify-content:space-between;align-items:center}.forecast-factor-header strong{font-size:0.82rem;color:var(--text)}.forecast-factor-pct{font-size:0.8rem;font-weight:700;color:var(--accent);white-space:nowrap}.forecast-factor-bar-bg{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.forecast-factor-bar{height:100%;background:var(--accent);border-radius:2px;transition:width 0.4s ease}.forecast-factor-dir{font-size:0.75rem;color:var(--text-muted)}.forecast-explainer-footnote{font-size:0.78rem;opacity:0.7}.forecast-faq-list{padding:0}.forecast-faq-item{border-bottom:1px solid var(--border)}.forecast-faq-item:last-child{border-bottom:none}.forecast-faq-item summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:0.88rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.forecast-faq-item summary::-webkit-details-marker{display:none}.forecast-faq-item summary::before{content:"›";font-size:1.1rem;color:var(--text-muted);transition:transform 0.2s;flex-shrink:0}.forecast-faq-item[open] summary::before{transform:rotate(90deg)}.forecast-faq-item summary:hover{color:var(--accent)}.forecast-faq-item p{padding:0 14px 14px 28px;font-size:0.85rem;color:var(--text-secondary);line-height:1.6}.forecast-faq-item a{color:var(--accent);text-decoration:none;font-weight:600}.forecast-faq-item a:hover{text-decoration:underline}@media (max-width:768px){.forecast-top{grid-template-columns:1fr}.forecast-factors-body{max-height:none}}.forecast-province-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border-light);border-radius:var(--radius);padding:4px 8px;font-size:0.8rem;cursor:pointer;outline:none}.forecast-province-select:hover{border-color:var(--accent)}.forecast-province-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.forecast-strip{display:flex;gap:10px;overflow-x:auto;overflow-y:visible;padding:12px 0 8px;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.forecast-day{position:relative;flex:1 1 0;min-width:150px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 10px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color 0.2s;overflow:visible}.forecast-day:hover{border-color:var(--accent)}.forecast-day.forecast-best{border-color:var(--accent-green);box-shadow:0 0 12px rgba(63,185,80,0.15)}.forecast-best-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--accent-green);color:#fff;font-size:0.65rem;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap;text-transform:uppercase;letter-spacing:0.03em}.forecast-day-name{font-size:0.85rem;font-weight:600;color:var(--text-bright);text-transform:capitalize}.forecast-day-date{font-size:0.72rem;color:var(--text-muted)}.forecast-weather-icon{font-size:1.8rem;line-height:1;margin:2px 0}.forecast-temp{display:flex;gap:8px;font-size:0.85rem}.forecast-temp .temp-max{color:var(--accent-orange);font-weight:600}.forecast-temp .temp-min{color:var(--accent)}.forecast-details{display:flex;flex-direction:column;gap:1px;font-size:0.7rem;color:var(--text-muted)}.forecast-moon{font-size:1rem}.forecast-score{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;margin-top:4px}.forecast-score-label{font-size:0.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.03em}.forecast-multiplier{font-size:0.75rem;font-weight:600;color:var(--accent-green)}.forecast-card-species-list{width:100%;margin-top:6px;border-top:1px solid var(--border);padding-top:6px;display:flex;flex-direction:column;gap:4px}.forecast-card-species{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:var(--radius);transition:background 0.15s}.forecast-card-species:hover{background:var(--bg-hover)}.forecast-card-species.locked{opacity:0.5;cursor:pointer}.forecast-card-species-thumb{width:24px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0}.forecast-card-species-thumb-placeholder{width:24px;height:24px;border-radius:4px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.forecast-card-species-thumb-placeholder svg{width:12px;height:12px}.forecast-card-species-name{font-size:0.7rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;text-align:left}.forecast-card-species-mult{font-size:0.65rem;font-weight:600;flex-shrink:0}.forecast-section-explainer{font-size:0.8rem;color:var(--text-muted);line-height:1.5;margin:8px 0 4px}.forecast-day-locked{position:relative;pointer-events:none}.forecast-day-locked>*:not(.forecast-lock-overlay){filter:blur(4px);opacity:0.4;user-select:none}.forecast-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:auto;cursor:pointer;border-radius:var(--radius-lg);color:#facc15;transition:background 0.2s}.forecast-lock-overlay:hover{background:rgba(234,179,8,0.08)}.forecast-maintenance{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:48px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center}.forecast-maintenance-icon{color:var(--accent);margin-bottom:20px;animation:queue-wave 2s ease-in-out infinite}.forecast-maintenance-title{font-size:1.25rem;font-weight:600;color:var(--text-bright);margin-bottom:8px}.forecast-maintenance-message{color:var(--text-muted);font-size:0.88rem;line-height:1.6;max-width:380px;margin-bottom:20px}.forecast-maintenance-dots{display:flex;gap:6px;justify-content:center}.forecast-maintenance-dots span{width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:0.3;animation:maintenance-dot 1.4s ease-in-out infinite}.forecast-maintenance-dots span:nth-child(2){animation-delay:0.2s}.forecast-maintenance-dots span:nth-child(3){animation-delay:0.4s}@keyframes maintenance-dot{0%,80%,100%{opacity:0.3;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}@media (max-width:768px){.forecast-strip{flex-wrap:nowrap}.forecast-day{flex:0 0 150px}.forecast-score{width:38px;height:38px;font-size:0.9rem}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--bg-card);border-top:1px solid var(--border);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,0.4);animation:cookie-slide-up 0.3s ease-out}@keyframes cookie-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner-text{color:var(--text-muted);font-size:0.8125rem;line-height:1.5;max-width:600px}.cookie-banner-text a{color:var(--accent);text-decoration:underline}.cookie-banner-buttons{display:flex;gap:0.5rem;flex-shrink:0}.cookie-btn{padding:0.5rem 1.25rem;border-radius:6px;border:none;font-size:0.8125rem;font-weight:600;cursor:pointer;transition:background 0.15s,opacity 0.15s}.cookie-btn:hover{opacity:0.85}.cookie-btn-accept{background:var(--accent);color:var(--bg)}.cookie-btn-reject{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}@media (max-width:600px){.cookie-banner{flex-direction:column;text-align:center;padding:1rem}.cookie-banner-buttons{width:100%;justify-content:center}}