:root { color-scheme: light dark; --canvas: light-dark(#f2f5ee, #071719); --surface-elevated: light-dark(#ffffff, #0d2325); --surface-raised: light-dark(#fbfcf9, #10282a); --surface-control: light-dark(#f3f6f1, #0a1d1f); --text-primary: light-dark(#092226, #edf5ef); --text-secondary: light-dark(#526662, #b8c7c3); --text-tertiary: light-dark(#647572, #93a7a2); --text-on-dark: #f5f8f3; --border-strong: light-dark(#cbd6ce, #3a5658); --border-subtle: light-dark(#d6dfd7, #294244); --shadow-color: light-dark(#14333812, #00000052); --paper: var(--canvas); --surface: var(--surface-elevated); --surface-soft: var(--surface-raised); --surface-field: var(--surface-control); --ink: var(--text-primary); --text: var(--text-primary); --text-muted: var(--text-secondary); --text-subtle: var(--text-tertiary); --line: var(--border-strong); --border: var(--border-strong); --border-soft: var(--border-subtle); --focus: light-dark(#7da529, #c9f45b); --success: light-dark(#426315, #c9ec8a); --success-soft: light-dark(#e2efcf, #243e25); --warning: light-dark(#73550c, #f3ce7a); --warning-soft: light-dark(#fff0c7, #46391d); --danger: light-dark(#842f25, #ffafa3); --danger-soft: light-dark(#f5d8d2, #4b2928); --info: light-dark(#59438d, #c9baf2); --info-soft: light-dark(#e8e2f4, #302844); --accent-muted: light-dark(#6d8d2a, #c0e562); --decorative-water: light-dark(#315f63, #72a9ad); --skeleton: light-dark(#e7ede7, #1c3537); --skeleton-strong: light-dark(#d8e2d8, #294548); --status-healthy: light-dark(#5f8c26, #a8d85e); --status-warning: light-dark(#9a741d, #e8c768); --status-changed: light-dark(#a44236, #ff9587); --source-official: light-dark(#815713, #e3b65b); --source-rf4db: light-dark(#245d78, #74bee3); --source-rf4stat: light-dark(#60499a, #b7a2ed); --source-rf4map: light-dark(#2f704f, #79c79e); --source-rf4posts: light-dark(#984a33, #ee9a7e); --source-players: light-dark(#4b6419, #add066); --graphic-line: light-dark(#3f7779, #79b5b8); --graphic-grid: light-dark(#dce5de, #294244); --tackle-orange: light-dark(#b96b27, #f0a55f); --tackle-green: light-dark(#648b2b, #a8cf62); --tackle-teal: light-dark(#34777a, #78bec1); --tackle-violet: light-dark(#845787, #c795ca); --tackle-red: light-dark(#a95041, #ed8e7c); --hero-image-filter: light-dark(saturate(.92) contrast(1.02), brightness(.78) saturate(.82) contrast(1.08)); } :root[data-theme="light"] { color-scheme: light; } :root[data-theme="dark"] { color-scheme: dark; } body { background: var(--canvas); color: var(--text-primary); } .brand-name span, .topbar nav a, .live-badge, .eyebrow, .overline, .intro-copy > p, .active-filters a, .result-count, .spot-rank, .spot-topline, .spot-meta, .bait-line div span, .spot-stats span, .data-note, .principles p, .principles article > span, .official-note, .privacy, .field-help, .record-row > span, .record-row > time, .report-form label, .screenshot-retry label, .back, .note, .moderation-summary > p, .moderation-summary dt, .moderation-provenance summary, .legal-page p, .legal-page li { color: var(--text-secondary); } .topbar nav a.active, .eyebrow b, .state h2, .admin-kpis strong, .data-passport, .data-passport dd, .legal-page h1, .legal-page h2 { color: var(--text-primary); } .active-filters span, .spot-card, .record-table, .report-form, .periods, .detail-grid aside, .screenshot-retry, .moderation-card, .admin-kpis > a, .admin-kpis > article, .admin-dashboard-grid > section, .source-health-grid article, .state, .load-more, .signal-more { background: var(--surface-elevated); border-color: var(--border-subtle); } .alpha-banner { background: linear-gradient(90deg, light-dark(#e8efdf, #132a26), light-dark(#f7f9f3, #102426)); color: var(--text-secondary); border-color: var(--border-strong); } .alpha-banner strong { color: var(--text-primary); } .alpha-banner__cta { background: light-dark(var(--deep), var(--lime)); color: light-dark(#fff, #082226); } .spot-card:hover { background: var(--surface-raised); border-color: var(--border-strong); box-shadow: 0 18px 40px var(--shadow-color); } .report-form input, .report-form textarea, .report-form select, .moderation-actions textarea { background: var(--surface-control); color: var(--text-primary); border-color: var(--border-strong); } .record-head, .no-proof { background: var(--surface-raised); } .record-row, .periods > div, .catch-list article, .detail-grid aside li, .bait-line, .spot-stats, .moderation-summary dl div, .moderation-actions, .how-it-works, .signal-heading { border-color: var(--border-subtle); } .signal-card { background: linear-gradient(145deg, light-dark(#fffdf5, #20291f), light-dark(#f8f5e9, #151f20)); border-color: light-dark(#d6cda9, #756b3d); } .signal-card > p, .signal-card dd, .signal-heading p { color: var(--text-secondary); } .signal-card dt { color: light-dark(#776f56, #b9ae82); } .signal-card .missing-note { background: light-dark(#efe5bd, #453c20); color: light-dark(#6b550f, #f0d889); } .signal-card .data-passport { background: light-dark(#fffdf7, #172628); border-color: light-dark(#ddd3af, #59605a); } .source-chip { background: color-mix(in srgb, var(--chip) 24%, var(--surface-elevated)); box-shadow: 0 5px 14px var(--shadow-color); } .source-chip[data-source="rf4-official"] { --chip: var(--source-official); } .source-chip[data-source="rf4db"] { --chip: var(--source-rf4db); } .source-chip[data-source^="rf4stat"] { --chip: var(--source-rf4stat); } .source-chip[data-source="rf4map"] { --chip: var(--source-rf4map); } .source-chip[data-source="rf4posts-spot"] { --chip: var(--source-rf4posts); } .source-chip[data-source="players"] { --chip: var(--source-players); } .notice.success { background: var(--success-soft); color: var(--success); } .notice.warning, .data-quality { background: var(--warning-soft); color: var(--warning); } .notice.error { background: var(--danger-soft); color: var(--danger); } .moderation-summary blockquote { background: var(--surface-raised); color: var(--text-secondary); } .moderation-actions .reject { background: var(--danger-soft); color: var(--danger); } .moderation-actions .delete { color: var(--danger); border-color: light-dark(#d8aaa1, #82504c); } .header-tools { justify-self: end; display: flex; align-items: center; gap: 14px; min-width: 0; } .theme-switcher { display: inline-flex; padding: 3px; border: 1px solid var(--border-strong); border-radius: 999px; background: var(--surface-elevated); } .theme-switcher button { min-height: 34px; display: inline-flex; align-items: center; gap: 5px; padding: 0 9px; border: 0; border-radius: 999px; background: transparent; color: var(--text-secondary); font-size: 11px; } .theme-switcher button[aria-pressed="true"] { background: var(--deep); color: var(--lime); box-shadow: 0 2px 8px var(--shadow-color); } .theme-switcher button:focus-visible { outline-offset: 2px; } .theme-switcher b { font: inherit; } @media (max-width: 1320px) { .header-tools .live-badge { display: none; } } @media (max-width: 720px) { .header-tools { margin-left: auto; } .theme-switcher button { width: 34px; justify-content: center; padding: 0; } .theme-switcher b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } } .activity-timeline { background: var(--surface-elevated); border-color: var(--border-subtle); } .timeline-chart { border-color: var(--border-strong); background: repeating-linear-gradient(to top, transparent 0, transparent 35px, var(--border-subtle) 36px); } .timeline-slot strong { color: var(--text-primary); } .timeline-slot small, .activity-legend { color: var(--text-tertiary); } .catalog-hero { border-color: var(--border-strong); } .catalog-hero p, .catalog-results aside a, .catalog-grid span { color: var(--text-secondary); } .catalog-results aside { background: var(--surface-elevated); border-color: var(--border-subtle); } .catalog-results aside a { border-color: var(--border-subtle); } .catalog-grid > a { background: linear-gradient(145deg,var(--surface-elevated),var(--surface-raised)); border-color: var(--border-subtle); } .catalog-grid > a:hover { border-color: var(--border-strong); box-shadow: 0 14px 30px var(--shadow-color); } .catalog-grid i, .catalog-grid > a > i b { color: var(--accent-muted); } .waterbody-mark, .fish-silhouette { color: var(--decorative-water); stroke: currentColor; } .signal-more, .load-more { color: var(--text-secondary); background: var(--surface-elevated); border-color: var(--border-strong); box-shadow: 0 8px 22px var(--shadow-color); } .signal-more span, .load-more span { color: var(--text-secondary); } .signal-more:hover, .load-more:hover { background: var(--surface-raised); border-color: var(--border-strong); } .state { color: var(--text-secondary); border-color: var(--border-strong); } .state::before { border-color: var(--border-strong); } .state::after { border-color: var(--decorative-water); box-shadow: 0 -7px 0 -6px var(--decorative-water),0 7px 0 -6px var(--decorative-water); } .data-passport header strong[data-passport-status="unverified"] { background: var(--info-soft); color: var(--info); } .record-table, .report-form, .moderation-card { background: var(--surface-elevated); border-color: var(--border-subtle); box-shadow: 0 30px 80px var(--shadow-color); } .record-row, .optional-fields, .moderation-summary dl div, .moderation-actions { border-color: var(--border-subtle); } .record-head, .no-proof { background: var(--surface-raised); } .record-head span, .record-row > span, .record-row > time, .report-form label, .field-help, .privacy, .moderation-summary > p, .moderation-summary dt, .moderation-actions label { color: var(--text-secondary); } .report-form input, .report-form textarea, .report-form select, .moderation-actions textarea { background: var(--surface-control); color: var(--text-primary); border-color: var(--border-strong); } .report-form input:focus, .report-form textarea:focus, .report-form select:focus { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb,var(--focus) 28%,transparent); } .report-form input:user-invalid, .report-form select:user-invalid { border-color: var(--danger); } .moderation-summary blockquote { background: var(--surface-raised); color: var(--text-secondary); } .data-legend { border-color: var(--border-strong); } .data-legend__intro p, .legend-sources > div > span, .legend-quality span { color: var(--text-secondary); } .legend-sources > div { border-color: var(--border-subtle); } .legend-quality > div { background: var(--surface-elevated); } .legend-quality i { background: var(--success-soft); color: var(--success); } .legend-quality i[data-quality="unverified"] { background: var(--info-soft); color: var(--info); } .legend-quality i[data-quality="incomplete"] { background: var(--warning-soft); color: var(--warning); } .health-state i { background: var(--status-warning); } .source-health-grid [data-status="healthy"] .health-state i { background: var(--status-healthy); } .source-health-grid [data-status="source_changed"] .health-state i { background: var(--status-changed); } .activity-timeline header p { color: var(--text-secondary); } .timeline-line { background: var(--graphic-line); } .timeline-line i { box-shadow: 0 0 0 4px color-mix(in srgb,var(--lime) 12%,transparent); } .coordinate-radar svg { stroke: color-mix(in srgb,var(--text-on-dark) 13%,transparent); } .coordinate-radar .radar-sweep { fill: color-mix(in srgb,var(--lime) 5%,transparent); stroke: color-mix(in srgb,var(--lime) 22%,transparent); } .admin-dashboard-grid > section, .admin-kpis > a, .admin-kpis > article, .source-health-grid article { background: var(--surface-elevated); border-color: var(--border-subtle); } .admin-history li small, .source-health-grid p, .health-state { color: var(--text-secondary); } .lake-card { background: var(--surface-raised); box-shadow: 0 24px 70px var(--shadow-color); } .lake-card img { filter: var(--hero-image-filter); } .moderation-proof { border-radius: 11px; background: var(--surface-raised); } .moderation-proof img { background: var(--surface-raised); } @media print { :root { color-scheme: light; } .lake-card img { filter: none; } } @media (forced-colors: active) { .theme-switcher, .theme-switcher button, .spot-card, .record-table, .report-form, .moderation-card, .catalog-grid > a, .data-passport, .source-chip, .notice, .state { border: 1px solid CanvasText; } .theme-switcher button[aria-pressed="true"] { background: Highlight; color: HighlightText; } .source-chip i, .health-state i, .quality-chip i, .activity-pill i { forced-color-adjust: none; } .fish-silhouette, .waterbody-mark, .tackle-glyph, .coordinate-radar { color: CanvasText; } }