:root { color-scheme: light; color: #18374b; background: #edf3f6; font: 16px/1.6 'Segoe UI', Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 780px; margin: 8vh auto; padding: 32px; }
.eyebrow { color: #087c91; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 700; }
h1, h2 { font-family: 'Trebuchet MS', 'Segoe UI', sans-serif; line-height: 1.15; }
h1 { font-size: clamp(36px, 7vw, 58px); letter-spacing: -.04em; margin: 20px 0; }
h2 { font-size: 21px; }
.lead { font-size: 20px; color: #526b7b; margin-bottom: 36px; }
section { background: #fff; border-top: 3px solid #087c91; padding: 20px 26px; margin: 24px 0; border-radius: 4px; }
.address { font: 14px/1.7 Menlo, Consolas, monospace; overflow-wrap: anywhere; color: #087c91; }
footer { font-size: 12px; color: #667c8c; margin-top: 36px; }
@media (max-width: 600px) { main { margin: 24px auto; padding: 22px; } section { padding: 18px; } }

/* Dashboard: the same maritime palette, with the ledger as the focal point. */
.dashboard { --ink: #18374b; --muted: #5c7280; --teal: #087c91; --line: #d9e3e9; --loss: #ae4545; }
.dashboard .topbar { padding: 20px max(24px, calc((100vw - 1180px) / 2)); display: flex; justify-content: space-between; align-items: center; gap: 24px; background: #fff; border-bottom: 1px solid var(--line); }
.dashboard .brand { display: flex; align-items: center; gap: 16px; text-decoration: none; color: var(--teal); font: bold 24px 'Trebuchet MS', sans-serif; }
.dashboard .brand span { color: var(--ink); font-size: 18px; line-height: 1.35; }
.dashboard .brand small { display: block; font: 11px 'Segoe UI', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.dashboard .topbar-right { display: flex; align-items: center; gap: 16px; }
.dashboard .tag, .dashboard .status-badge { display: inline-block; border-radius: 5px; padding: 6px 10px; background: #e3f2ed; color: #236a55; font-size: 12px; font-weight: 700; white-space: nowrap; }
.dashboard .tag.subtle { background: #ecf3f7; color: #45677b; }
.dashboard .status-badge.attention { color: #805b14; background: #fff0d1; }
.dashboard button, .dashboard select { background: white; color: var(--ink); border: 1px solid #a9becb; padding: 10px 13px; border-radius: 5px; font: inherit; font-size: 13px; cursor: pointer; }
.dashboard button:disabled { cursor: wait; opacity: .6; }
.dashboard a:focus-visible, .dashboard button:focus-visible, .dashboard select:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
.dashboard .navigation { display: flex; gap: 28px; max-width: 1180px; margin: 0 auto; padding: 16px 0; font-size: 13px; }
.dashboard .navigation a { color: var(--muted); text-decoration: none; }
.dashboard .navigation a:hover { color: var(--teal); }
.dashboard .workspace { max-width: 1240px; margin: 0 auto; padding: 12px 30px 36px; }
.dashboard .connection { background: #fff0d1; color: #805b14; border-left: 3px solid #b78629; padding: 12px 16px; font-size: 13px; }
.dashboard .connection.healthy { background: #e5f0f4; color: #45677b; border-color: #78a7b4; }
.dashboard .page-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 34px 0 26px; }
.dashboard h1 { font-size: clamp(30px, 4vw, 43px); margin: 7px 0 12px; }
.dashboard h2 { font-size: 22px; margin: 0; letter-spacing: -.025em; }
.dashboard h3 { font-size: 14px; margin: 0; }
.dashboard p { margin: 8px 0; }
.dashboard .eyebrow { margin: 0 0 6px; font-size: 10px; }
.dashboard .muted { color: var(--muted); }
.dashboard .small { font-size: 12px; }
.dashboard .account-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 22px; }
.dashboard .panel { padding: 26px 28px; border: 1px solid var(--line); border-radius: 8px; margin: 0 0 24px; scroll-margin-top: 20px; }
.dashboard .account-panel { border-top: 4px solid var(--teal); }
.dashboard .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.dashboard .balance { font: 42px/1.25 'Trebuchet MS', sans-serif; letter-spacing: -.045em; margin: 3px 0 25px; font-variant-numeric: tabular-nums; }
.dashboard .stats-row { display: flex; gap: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.dashboard .stats-row span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 4px; }
.dashboard .stats-row strong { font: 17px Menlo, Consolas, monospace; }
.dashboard .decision { background: #f0f6f8; border-left: 3px solid var(--teal); padding: 15px 18px; margin: 24px 0 16px; }
.dashboard .decision > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dashboard .decision strong { font: bold 16px 'Trebuchet MS', sans-serif; }
.dashboard .decision p { color: var(--muted); font-size: 12px; margin: 8px 0 0; }
.dashboard .facts { margin: 0; font-size: 13px; }
.dashboard .facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #edf2f5; }
.dashboard dt { color: var(--muted); } .dashboard dd { margin: 0; text-align: right; font-weight: 600; }
.dashboard .refit { margin-top: 24px; }
.dashboard .refit > div { display: flex; justify-content: space-between; font-size: 12px; gap: 12px; margin-bottom: 8px; }
.dashboard progress { width: 100%; height: 7px; appearance: none; border: 0; border-radius: 4px; background: #e3ebf0; accent-color: var(--teal); }
.dashboard progress::-webkit-progress-bar { background: #e3ebf0; border-radius: 4px; }
.dashboard progress::-webkit-progress-value { background: var(--teal); border-radius: 4px; }
.dashboard progress::-moz-progress-bar { background: var(--teal); border-radius: 4px; }
.dashboard .schedule { color: var(--teal); font-size: 12px; font-weight: 700; padding-top: 10px; }
.dashboard .workflow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 0 8px 22px; margin: 0 0 18px; background: transparent; border: 0; border-radius: 0; }
.dashboard .workflow div { border-left: 2px solid #a2c7d1; padding-left: 15px; }
.dashboard .workflow span { display: block; font-size: 11px; color: var(--muted); }
.dashboard .workflow strong { font-size: 13px; font-weight: 600; }
.dashboard .research-panel .eyebrow { margin-bottom: 8px; }
.dashboard .chart-filter { color: var(--muted); font-size: 12px; white-space: nowrap; }
.dashboard .chart-filter select { margin-left: 6px; }
.dashboard .research-note { font-size: 12px; color: #587082; background: #f2f6fa; padding: 12px 14px; }
.dashboard .chart-wrap { margin-top: 26px; }
.dashboard #equity-chart { width: 100%; height: auto; display: block; overflow: visible; }
.dashboard .chart-grid { stroke: #e0e9ee; stroke-width: 1; }
.dashboard .chart-axis { fill: #6b8190; font: 11px Menlo, monospace; }
.dashboard .equity-line { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.dashboard .ridge { stroke: #087c91; --series: #087c91; }
.dashboard .random_forest { stroke: #4e70c3; --series: #4e70c3; }
.dashboard .gradient_boosting { stroke: #8b69a7; --series: #8b69a7; }
.dashboard .momentum { stroke: #b18135; --series: #b18135; }
.dashboard .mean_reversion { stroke: #ae4545; --series: #ae4545; }
.dashboard .cash { stroke: #7893a0; stroke-dasharray: 5 5; --series: #7893a0; }
.dashboard .legend { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 8px 0 22px; font-size: 11px; color: var(--muted); }
.dashboard .legend span::before, .dashboard .method-name::before { content: ''; display: inline-block; width: 14px; height: 3px; background: var(--series); margin: 0 7px 3px 0; }
.dashboard .table-scroll { overflow-x: auto; }
.dashboard table { width: 100%; border-collapse: collapse; font-size: 12px; white-space: nowrap; }
.dashboard th { color: var(--muted); font-weight: 600; }
.dashboard th, .dashboard td { border-bottom: 1px solid var(--line); padding: 13px 12px; text-align: right; }
.dashboard th:first-child, .dashboard td:first-child { text-align: left; padding-left: 0; }
.dashboard td:not(:first-child) { font-family: Menlo, Consolas, monospace; }
.dashboard .negative { color: var(--loss); } .dashboard .positive { color: #236a55; }
.dashboard .research-conclusion { font-size: 13px; padding-top: 14px; font-weight: 600; }
.dashboard .resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 25px 0; }
.dashboard .resource p { margin: 10px 0; font-family: Menlo, Consolas, monospace; font-size: 12px; }
.dashboard .resource strong { font-size: 19px; font-weight: 500; }
.dashboard .resource p > span, .dashboard .resource small { color: var(--muted); font-size: 11px; }
.dashboard footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 10px; margin: 18px 0 0; }
.dashboard .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 900px) { .dashboard .topbar { padding: 18px 24px; } .dashboard .navigation { padding: 16px 24px; } .dashboard .account-grid { grid-template-columns: 1fr; gap: 0; } .dashboard .page-heading { align-items: flex-start; } .dashboard .resource-grid { gap: 20px; } }
@media (max-width: 600px) { .dashboard .workspace { padding: 10px 16px 28px; } .dashboard .topbar { align-items: flex-start; padding: 18px 16px; gap: 12px; } .dashboard .topbar-right { align-items: flex-end; flex-direction: column; gap: 8px; } .dashboard .brand { font-size: 19px; gap: 9px; } .dashboard .brand span { font-size: 14px; } .dashboard .brand small { font-size: 9px; } .dashboard .tag { font-size: 9px; } .dashboard .navigation { gap: 20px; padding: 14px 16px; font-size: 11px; } .dashboard .page-heading { flex-direction: column; gap: 12px; margin: 26px 0 20px; } .dashboard .panel { padding: 22px 18px; } .dashboard h2 { font-size: 20px; } .dashboard .balance { font-size: 38px; } .dashboard .stats-row { gap: 18px; } .dashboard .stats-row strong { font-size: 14px; } .dashboard .stats-row span { font-size: 10px; } .dashboard .section-heading { align-items: flex-start; } .dashboard .research-panel .section-heading { flex-direction: column; } .dashboard .workflow { grid-template-columns: 1fr; gap: 14px; padding-left: 6px; } .dashboard .resource-grid { grid-template-columns: 1fr; gap: 25px; } .dashboard .chart-axis { font-size: 15px; } .dashboard .decision > div { flex-wrap: wrap; gap: 8px; } }
@media (prefers-reduced-motion: reduce) { .dashboard * { scroll-behavior: auto; } }
