.flood-visual {--bg: #ffffff;--fg: #222222;--muted: #666666;--border: #cccccc;--panel: #f5f5f5;--c-start: #2563eb;--c-warning: #dc2626;--c-entry: #059669;--c-rain: #0ea5e9;--c-prevail: #d97706;--c-mount: #9333ea;--c-raven: #7c3aed;--c-doves: #2563eb;--c-dry: #059669;--c-exit: #dc2626;font-family: system-ui, sans-serif;background: var(--bg);color: var(--fg);padding: 1.5rem;border-radius: 1rem;border: 1px solid var(--border);max-width: 1100px;margin: 2rem auto;line-height: 1.45;}@media (prefers-color-scheme: dark) {.flood-visual {--bg: #121212;--fg: #e5e5e5;--muted: #aaaaaa;--border: #333333;--panel: #1e1e1e;}}.flood-visual h2 {margin: 1.2rem 0 0.6rem;font-size: 1.35rem;font-weight: 600;}.flood-visual h3 {margin: 1rem 0 0.4rem;font-size: 1.05rem;font-weight: 600;color: var(--muted);}.timeline-row {display: grid;grid-template-columns: 130px 1fr;gap: 1rem;margin: 1.2rem 0;}.timeline-label {font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.06em;color: var(--muted);padding-top: 0.4rem;}.timeline-bar {position: relative;height: 34px;background: var(--panel);border-radius: 6px;border: 1px solid var(--border);overflow: hidden;}.segment {position: absolute;top: 0;bottom: 0;color: white;font-size: 0.7rem;padding-left: 6px;display: flex;align-items: center;white-space: nowrap;font-weight: 500;}.seg-start { background: var(--c-start); }.seg-warning { background: var(--c-warning); }.seg-entry { background: var(--c-entry); }.seg-rain { background: var(--c-rain); }.seg-prevail { background: var(--c-prevail); }.seg-mount { background: var(--c-mount); }.seg-raven { background: var(--c-raven); }.seg-doves { background: var(--c-doves); }.seg-dry { background: var(--c-dry); }.seg-exit { background: var(--c-exit); }.panel {background: var(--panel);border: 1px solid var(--border);border-radius: 0.6rem;padding: 1rem;margin: 1rem 0;}.panel pre {margin: 0;font-family: ui-monospace, monospace;font-size: 0.85rem;white-space: pre-wrap;}.compare-grid {display: grid;grid-template-columns: 180px 1fr 1fr 1fr;gap: 0.75rem;margin-top: 1rem;}.compare-grid div {padding: 0.6rem 0.75rem;border-radius: 0.5rem;background: var(--panel);border: 1px solid var(--border);font-size: 0.85rem;}.compare-grid .head {font-weight: 600;background: transparent;border: none;padding: 0;color: var(--muted);}