:root {
  --canvas: #04060c;
  --ink: rgba(255,255,255,.92);
  --body-ink: rgba(255,255,255,.78);
  --muted: rgba(255,255,255,.60);
  --border: rgba(255,255,255,.16);
  --soft-border: rgba(255,255,255,.08);
  --strong-border: rgba(255,255,255,.28);
  --paper: #0a0d16;
  --panel: #121622;
  --elevated: #1a1f2e;
  --link: #97fce4;
  --link-hover: #50d2c1;
  --accent: #97fce4;
  --danger: #ff5470;
  --success: #3fd68b;
  --warning: #ffd25f;
  --on-accent: #04060c;
  --page-bg: #04060c;
  --table-bg: #04060c;
  --sticky-bg: #04060c;
  --row-hover: #121622;
  --note-hover: #121622;
  --danger-soft: rgba(255,84,112,.14);
  --danger-ink: #ff5470;
  --success-soft: rgba(63,214,139,.14);
  --success-ink: #3fd68b;
  --warning-soft: rgba(255,210,95,.14);
  --warning-ink: #ffd25f;
  --info-soft: rgba(151,252,228,.12);
  --info-ink: #97fce4;
  --tooltip-bg: #1a1f2e;
  --tooltip-border: rgba(255,255,255,.28);
  --tooltip-ink: rgba(255,255,255,.92);
  --card-shadow: 0 12px 32px rgba(0,0,0,.55);
  --dialog-shadow: 0 12px 32px rgba(0,0,0,.65);
  --dialog-backdrop: rgba(2,3,7,.78);
  --sticky-shadow: -3px 0 7px rgba(0,0,0,.45);
  --tooltip-shadow: 0 8px 24px rgba(0,0,0,.55);
}

:root[data-theme="light"] {
  color-scheme: light;
  --canvas: #f6f6f6;
  --ink: #202122;
  --body-ink: #202122;
  --muted: #54595d;
  --border: #a2a9b1;
  --soft-border: #c8ccd1;
  --strong-border: #72777d;
  --paper: #ffffff;
  --panel: #f8f9fa;
  --elevated: #eaecf0;
  --link: #3366cc;
  --link-hover: #2a4b8d;
  --accent: #006699;
  --danger: #b32424;
  --success: #146b2e;
  --warning: #a66a00;
  --on-accent: #ffffff;
  --page-bg: #ffffff;
  --table-bg: #ffffff;
  --sticky-bg: #ffffff;
  --row-hover: #f8fbff;
  --note-hover: #f1f4f7;
  --danger-soft: #fee7e6;
  --danger-ink: #7d1a1a;
  --success-soft: #eaf7ed;
  --success-ink: #146b2e;
  --warning-soft: #fff4ce;
  --warning-ink: #755000;
  --info-soft: #eaf3ff;
  --info-ink: #245995;
  --tooltip-bg: #202122;
  --tooltip-border: #000000;
  --tooltip-ink: #ffffff;
  --card-shadow: 0 12px 32px rgba(0,0,0,.08);
  --dialog-shadow: 0 12px 32px rgba(0,0,0,.18);
  --dialog-backdrop: rgba(32,33,34,.45);
  --sticky-shadow: -3px 0 7px rgba(0,0,0,.06);
  --tooltip-shadow: 0 8px 24px rgba(0,0,0,.25);
}

* { box-sizing: border-box; }
html { background: var(--canvas); color: var(--ink); color-scheme: dark; font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { background: var(--canvas); color: var(--body-ink); margin: 0; }
a { color: var(--link); text-decoration: none; }
a:hover, a:focus { color: var(--link-hover); text-decoration: underline; }
.topbar { align-items: center; background: var(--paper); border-bottom: 1px solid var(--soft-border); display: flex; justify-content: space-between; min-height: 58px; padding: 0 2rem; }
.main-nav { align-items: center; display: flex; gap: 1.25rem; }
.main-nav a { font-weight: 600; }
.account { align-items: center; color: var(--muted); display: flex; gap: 1rem; }
.account form { margin: 0; }
.theme-toggle { align-items: center; display: inline-flex; font-size: 18px; height: 2rem; justify-content: center; line-height: 1; min-width: 2rem; padding: 0; width: 2rem; }
.theme-toggle [data-theme-icon] { display: block; transform: translateY(-.02em); }
.theme-corner { position: fixed; right: 1rem; top: 1rem; z-index: 20; }
.page { background: var(--page-bg); border-left: 1px solid var(--soft-border); border-right: 1px solid var(--soft-border); margin: 0 auto; min-height: calc(100vh - 58px); padding: 2rem 2.25rem 4rem; width: min(1760px, calc(100% - 2rem)); }
h1 { border-bottom: 1px solid var(--border); font: 400 30px/1.2 Georgia, "Times New Roman", serif; margin: 0 0 .5rem; padding-bottom: .35rem; }
button, input, textarea { font: inherit; }
button, input, textarea, select { background: var(--paper); border-color: var(--border); color: var(--ink); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
button { background: var(--panel); border: 1px solid var(--border); border-radius: 2px; color: var(--ink); cursor: pointer; padding: .35rem .75rem; }
button:hover, button:focus { background: var(--elevated); border-color: var(--strong-border); }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); font-weight: 600; margin-top: .75rem; padding: .55rem .9rem; width: 100%; }
.primary:hover, .primary:focus { background: var(--link-hover); color: var(--on-accent); }
.link-button { background: transparent; border: 0; color: var(--link); padding: 0; }
.login-card { background: var(--paper); border: 1px solid var(--border); box-shadow: var(--card-shadow); margin: 11vh auto 0; max-width: 390px; padding: 2rem; }
.login-card h1 { margin-bottom: 1.4rem; }
.login-card label { display: block; font-weight: 600; margin: .85rem 0 .3rem; }
.login-card input { border: 1px solid var(--border); border-radius: 2px; padding: .55rem .6rem; width: 100%; }
.error { background: var(--danger-soft); border-left: 4px solid var(--danger); color: var(--danger-ink); padding: .6rem .75rem; }
.content-header { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1.25rem; }
.count { color: var(--muted); margin: 0; }
.search { display: flex; gap: .4rem; }
.search input { border: 1px solid var(--border); min-width: 280px; padding: .4rem .55rem; }
.table-wrap { background: var(--table-bg); border: 1px solid var(--border); overflow: auto; }
table { background: var(--table-bg); border-collapse: collapse; width: 100%; }
th { background: var(--panel); border-bottom: 2px solid var(--border); font-size: 13px; position: sticky; text-align: left; top: 0; white-space: nowrap; z-index: 1; }
th, td { border-right: 1px solid var(--soft-border); padding: .35rem .45rem; vertical-align: top; }
tbody tr { border-bottom: 1px solid var(--soft-border); }
tbody tr:hover { background: var(--row-hover); }
.address code { font-size: 12px; white-space: nowrap; }
.rank { color: var(--muted); width: 3rem; }
.address-line { align-items: center; display: inline-flex; gap: .35rem; white-space: nowrap; }
.copy-address { align-items: center; display: inline-flex; font-size: 15px; justify-content: center; line-height: 1; min-height: 1.65rem; min-width: 1.65rem; padding: .15rem; }
.number { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.positive { color: var(--success); }
.negative { color: var(--danger); }
.wallet-table { font-size: 12px; }
.note { min-width: 240px; width: 28%; }
.note-editor { display: grid; gap: .2rem; }
.note-text { cursor: text; line-height: 1.35; min-height: 1.35em; overflow-wrap: anywhere; padding: .15rem .2rem; white-space: pre-wrap; }
.note-text:hover, .note-text:focus { background: var(--note-hover); outline: 1px solid var(--border); }
.note-placeholder, .note-text.is-placeholder { color: var(--muted); font-style: italic; }
.note-input { border: 1px solid var(--border); line-height: 1.35; min-height: 58px; padding: .35rem .4rem; resize: vertical; width: 100%; }
.note-meta { align-items: center; display: flex; gap: .45rem; justify-content: flex-end; min-height: 1rem; }
.note-meta form { margin: 0; }
.note-edited-at, .note-status { color: var(--muted); font-size: 10px; line-height: 1.2; margin: 0; }
.detail-note-editor, .detail-note-readonly { background: var(--panel); border: 1px solid var(--soft-border); padding: .65rem .75rem; }
.detail-note-editor .note-text { min-height: 2.7em; }
.detail-note-editor .note-input { min-height: 76px; }
.detail-note-readonly { line-height: 1.45; min-height: 2.7em; overflow-wrap: anywhere; white-space: pre-wrap; }
.delete-button { background: var(--panel); border-color: var(--border); color: var(--ink); }
.compact-delete-button { font-size: 11px; line-height: 1.15; padding: .16rem .38rem; white-space: nowrap; }
.delete-button:hover, .delete-button:focus { background: var(--elevated); border-color: var(--strong-border); color: var(--ink); }
.observation-remove-button { background: var(--panel); border-color: var(--border); color: var(--ink); white-space: nowrap; }
.observation-remove-button:hover, .observation-remove-button:focus { background: var(--elevated); border-color: var(--strong-border); }
.actions { padding-left: .2rem; padding-right: .2rem; text-align: center; white-space: nowrap; width: 2rem; }
.action-menu { min-width: 0; position: relative; text-align: left; }
.action-menu summary { align-items: center; background: transparent; border: 0; border-radius: 2px; color: var(--link); cursor: pointer; display: flex; font-size: 16px; font-weight: 700; height: 1.25rem; justify-content: center; line-height: 1; list-style: none; margin: 0 auto; outline: 0; padding: 0; width: 1.5rem; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu summary:hover, .action-menu[open] summary { background: var(--elevated); }
.action-menu summary:focus-visible { box-shadow: 0 0 0 1px var(--link); }
.action-menu-panel { background: var(--paper); border: 1px solid var(--border); box-shadow: var(--card-shadow); display: grid; gap: .3rem; min-width: 7.5rem; padding: .35rem; position: absolute; right: 0; top: calc(100% + .15rem); z-index: 5; }
.action-menu-panel form { margin: 0; }
.action-menu-panel button { font-size: 11px; line-height: 1.2; padding: .25rem .4rem; text-align: left; width: 100%; }
.menu-button { background: var(--panel); border-color: var(--border); color: var(--ink); }
.menu-status { color: var(--muted); font-size: 11px; padding: .2rem .4rem; }
.detail-delete-button { align-self: end; flex: 0 0 auto; }
.delete-dialog { background: var(--paper); border: 1px solid var(--border); box-shadow: var(--dialog-shadow); color: var(--ink); max-width: min(580px, calc(100vw - 2rem)); padding: 1.25rem; width: 100%; }
.delete-dialog::backdrop { background: var(--dialog-backdrop); }
.delete-dialog h2 { font: 400 23px/1.2 Georgia, "Times New Roman", serif; margin: 0 0 .65rem; }
.delete-dialog code { overflow-wrap: anywhere; }
.delete-dialog label { display: block; font-weight: 600; margin: .8rem 0 .3rem; }
.delete-dialog textarea { border: 1px solid var(--border); padding: .5rem; resize: vertical; width: 100%; }
.delete-dialog form { margin: 0; }
.reason-link { font-weight: 600; white-space: nowrap; }
.outcome-list { display: grid; gap: .65rem; list-style: none; margin: 1rem 0; padding: 0; }
.outcome-list li { border: 1px solid var(--soft-border); padding: .65rem .75rem; }
.actions form { margin: 0; }
.wallet-table th:last-child { right: 0; z-index: 3; }
.wallet-table th:last-child, .wallet-table .actions { max-width: 2.75rem; min-width: 2.75rem; padding-left: .2rem; padding-right: .2rem; width: 2.75rem; }
.wallet-table .actions { background: var(--sticky-bg); box-shadow: var(--sticky-shadow); overflow: visible; position: sticky; right: 0; z-index: 2; }
.wallet-table .actions.menu-is-open { z-index: 20; }
.wallet-table .actions.menu-is-open .action-menu-panel { z-index: 21; }
.wallet-table tbody tr:hover .actions { background: var(--row-hover); }
.compact-time { align-items: center; display: inline-grid; font-variant-numeric: tabular-nums; gap: .02rem; line-height: 1.15; white-space: nowrap; }
.compact-time span, .compact-time small { display: block; }
.compact-time small { color: var(--muted); font-size: inherit; }
.compact-time-cell { min-width: 5.8rem; white-space: normal; }
.wallet-tier-tabs { border-bottom: 1px solid var(--border); display: flex; gap: .35rem; margin: 0 0 .8rem; }
.wallet-tier-tabs a { background: var(--panel); border: 1px solid var(--soft-border); border-bottom: 0; color: var(--body-ink); font-weight: 600; padding: .5rem .8rem; }
.wallet-tier-tabs a.is-active { background: var(--elevated); color: var(--link); }
.wallet-tier-tabs a span { color: var(--muted); font-size: 12px; margin-left: .25rem; }
.wallet-tier-overview { margin: 0 0 .8rem; }
.wallet-tier-overview .section-heading { margin-bottom: .45rem; }
.wallet-tier-overview h2 { font-size: 16px; margin: 0 0 .2rem; }
.wallet-tier-cards { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-navigation-cards { grid-auto-rows: 1fr; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-dashboard-card { align-content: start; background: var(--panel); border: 1px solid var(--soft-border); color: var(--body-ink); display: grid; gap: .18rem; min-height: 8.5rem; min-width: 0; padding: .7rem .8rem; }
a.home-dashboard-card:hover { background: var(--elevated); border-color: var(--border); text-decoration: none; }
.home-dashboard-card > strong { color: var(--link); font-size: 15px; }
.home-dashboard-card > span { font-size: 13px; font-weight: 600; }
.home-dashboard-card > small { color: var(--muted); font-size: 11px; }
.add-wallet { flex: 1; margin: 0; max-width: 720px; }
.add-wallet label { display: block; font-weight: 600; margin-bottom: .25rem; }
.inline-form { display: flex; gap: .4rem; }
.inline-form input { border: 1px solid var(--border); flex: 1; min-width: 260px; padding: .4rem .55rem; }
.home-add-card .add-wallet { margin-top: .2rem; max-width: none; }
.home-add-card .add-wallet label { color: var(--muted); font-size: 11px; font-weight: 400; }
.home-add-card .inline-form { align-items: stretch; flex-direction: column; }
.home-add-card .inline-form input { min-width: 0; width: 100%; }
.home-add-card .inline-form button { width: 100%; }
.home-update-links { color: var(--muted); font-size: 12px; line-height: 1.5; }
.home-update-card .progress-box { min-width: 0; padding-top: .2rem; }
.home-update-card progress { height: .45rem; width: 100%; }
.home-update-card .update-detail { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-update-card .last-update-time { font-size: 10px; margin-top: .15rem; }
.progress-box { padding-top: .1rem; }
.update-summary { font-size: 12px; font-weight: 600; }
.update-detail { color: var(--muted); font-size: 11px; margin-top: .15rem; overflow-wrap: anywhere; }
.last-update-time { color: var(--muted); font-size: 12px; margin-top: .3rem; }
.compact-daily-summary { align-items: baseline; color: var(--muted); display: flex; font-size: 11px; gap: .3rem; margin-top: .2rem; }
.compact-daily-line { overflow-wrap: anywhere; }
.current-positions-entry { background: var(--panel); border: 1px solid var(--soft-border); margin-bottom: 1rem; padding: .65rem .75rem; }
.current-positions-entry h2 { font-size: 14px; margin: 0 0 .25rem; }
.current-positions-entry p { color: var(--muted); font-size: 12px; margin: 0; }
.monitor-status { align-items: baseline; background: var(--panel); border: 1px solid var(--soft-border); display: flex; gap: 1rem; margin: 0 0 .75rem; padding: .65rem .75rem; }
.monitor-status span { color: var(--muted); font-size: 12px; }
.monitor-table .note { max-width: 34rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.monitor-table form { margin: 0; }
.trade-extremes-entry { background: var(--panel); border: 1px solid var(--soft-border); margin-bottom: 1rem; padding: .65rem .75rem; }
.trade-extremes-entry h2 { font-size: 14px; margin: 0 0 .25rem; }
.trade-extremes-entry p { color: var(--muted); font-size: 12px; margin: 0; }
.codex-profile-leaderboard { margin: 0 0 1.25rem; }
.codex-missing-report-list { align-items: baseline; background: var(--panel); border: 1px solid var(--soft-border); display: flex; flex-wrap: wrap; gap: .3rem .55rem; margin: -.55rem 0 .8rem; padding: .5rem .65rem; }
.codex-missing-report-list strong { font-size: 12px; }
.codex-missing-report-list span { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: .2rem .35rem; overflow-wrap: anywhere; }
.codex-profile-leaderboard h2 { font-size: 18px; }
.codex-ranking-table { font-size: 12px; table-layout: fixed; width: 100%; }
.codex-ranking-table th:nth-child(1) { width: 3.2rem; }
.codex-ranking-table th:nth-child(2) { width: 7.2rem; }
.codex-ranking-table th:nth-child(3), .codex-ranking-table th:nth-child(4) { width: 6.2rem; }
.codex-ranking-table th:nth-child(5), .codex-ranking-table th:nth-child(6) { width: 7.2rem; }
.codex-ranking-table th:nth-child(7) { width: 10rem; }
.codex-ranking-table th:nth-child(8) { width: 9rem; }
.codex-ranking-table th:nth-child(9) { width: 6.2rem; }
.codex-ranking-table th, .codex-ranking-table td { padding: .3rem .38rem; }
.codex-ranking-table td { vertical-align: middle; }
.codex-ranking-table .codex-score, .codex-ranking-table .hyperx-score { color: var(--link); font-size: 15px; font-weight: 700; }
.codex-profile-conclusion { overflow-wrap: anywhere; }
.codex-profile-conclusion strong, .codex-profile-conclusion span { display: block; }
.codex-profile-conclusion span { color: var(--muted); font-size: 11px; margin-top: .12rem; }
.codex-wallet-note { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; line-height: 1.35; overflow: hidden; overflow-wrap: anywhere; }
.codex-wallet-note.is-empty { color: var(--muted); display: block; }
.codex-rules { margin-top: 1.5rem; }
.codex-rule-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.codex-rule-grid article, .codex-score-caps { background: var(--panel); border: 1px solid var(--soft-border); padding: .8rem 1rem; }
.codex-rule-grid h3, .codex-score-caps h3 { font-size: 15px; margin: 0 0 .45rem; }
.codex-rule-grid ul, .codex-score-caps ul { margin: 0; padding-left: 1.2rem; }
.codex-rule-grid li, .codex-score-caps li { margin: .25rem 0; }
.codex-score-heading { margin-top: 1.25rem; }
.codex-rule-table { table-layout: fixed; }
.codex-rule-table th:nth-child(1) { width: 10rem; }
.codex-rule-table th:nth-child(2) { width: 5rem; }
.codex-rule-table td { vertical-align: middle; }
.codex-score-caps { margin-top: 1rem; }
.codex-score-caps p { color: var(--muted); margin: .65rem 0 0; }
.trade-extremes { margin: 0 0 1.25rem; }
.trade-extremes h2 { font: 400 23px/1.2 Georgia, "Times New Roman", serif; margin: 0; }
.trade-extremes-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trade-extremes-grid article { min-width: 0; }
.trade-extremes-grid h3 { font-size: 15px; margin: 0 0 .4rem; }
.trade-extreme-table { min-width: 720px; }
.trade-extreme-table td { white-space: nowrap; }
.daily-run-list { display: grid; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.daily-run { background: var(--paper); border-left: 3px solid var(--accent); font-size: 12px; padding: .35rem .5rem; }
.daily-run.error { border-color: var(--danger); }
.daily-run.partial { border-color: var(--warning); }
.daily-run-detail, .daily-empty { color: var(--muted); overflow-wrap: anywhere; }
progress { accent-color: var(--accent); display: block; height: .7rem; margin-top: .45rem; width: 100%; }
.notice { border-left: 4px solid var(--accent); margin: 0 0 .75rem; padding: .55rem .7rem; }
.notice.success { background: var(--success-soft); border-color: var(--success); }
.notice.warning { background: var(--warning-soft); border-color: var(--warning); }
.confirmation-card { background: var(--paper); border: 1px solid var(--border); margin: 8vh auto 0; max-width: 620px; padding: 1.5rem; }
.confirmation-card code { overflow-wrap: anywhere; }
.warning-text { background: var(--warning-soft); border-left: 4px solid var(--warning); padding: .6rem .75rem; }
.confirm-actions { align-items: center; display: flex; gap: 1rem; justify-content: flex-end; margin-top: 1rem; }
.detail-header { align-items: end; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.detail-actions { align-items: center; display: flex; flex: 0 0 auto; gap: .5rem; }
.fund-flow-summary { display: grid; gap: .55rem; grid-template-columns: repeat(4, minmax(150px, 1fr)); margin: 0 0 .8rem; }
.fund-flow-summary > div { background: var(--panel); border: 1px solid var(--soft-border); padding: .6rem .7rem; }
.fund-flow-summary span { color: var(--muted); display: block; font-size: 12px; }
.fund-flow-summary strong { display: block; font-size: 17px; font-variant-numeric: tabular-nums; margin-top: .15rem; }
.fund-flow-summary .fund-coverage { font-size: 12px; line-height: 1.35; }
.fund-filters { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .55rem; }
.fund-filter { background: var(--panel); border: 1px solid var(--border); color: var(--ink); padding: .28rem .55rem; }
.fund-filter:hover, .fund-filter:focus, .fund-filter.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); text-decoration: none; }
.fund-flow-table { min-width: 1180px; }
.fund-event-type { color: var(--muted); display: block; font-size: 10px; margin-top: .08rem; }
.fund-confidence { background: var(--warning-soft); color: var(--warning-ink); display: inline-block; font-size: 10px; margin-left: .3rem; padding: .05rem .25rem; }
.fund-confidence.low { background: var(--danger-soft); color: var(--danger-ink); }
.fund-counterparty { font-size: 12px; white-space: nowrap; }
.fund-evidence { max-width: 320px; }
.fund-evidence summary { color: var(--link); cursor: pointer; white-space: nowrap; }
.fund-evidence p { font-size: 11px; line-height: 1.35; margin: .3rem 0; overflow-wrap: anywhere; }
.wallet-export-button {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 2px;
  color: var(--ink);
  display: inline-block;
  padding: .35rem .75rem;
  white-space: nowrap;
}
.wallet-export-button:hover, .wallet-export-button:focus {
  background: var(--elevated);
  border-color: var(--strong-border);
  color: var(--ink);
  text-decoration: none;
}
.back-link { display: inline-block; margin-bottom: .55rem; }
.detail-address-line { align-items: center; display: flex; gap: .4rem; min-width: 0; }
.detail-address-line .copy-address { flex: 0 0 auto; }
.detail-address { font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
.metric-grid { display: grid; gap: .6rem; grid-template-columns: repeat(6, minmax(130px, 1fr)); margin: 0 0 1rem; }
.metric-grid > div { background: var(--panel); border: 1px solid var(--soft-border); padding: .65rem .75rem; }
.metric-grid span { color: var(--muted); display: block; font-size: 12px; }
.metric-grid strong { display: block; font-size: 18px; font-variant-numeric: tabular-nums; margin-top: .15rem; }
.detail-section { margin-top: 1.35rem; }
.detail-section h2 { font: 400 23px/1.2 Georgia, "Times New Roman", serif; margin: 0; }
.position-count { color: var(--muted); font: 400 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; margin-left: .35rem; white-space: nowrap; }
.section-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .55rem; }
.section-note { color: var(--muted); font-size: 13px; margin: .2rem 0 0; }
.live-summary { font-size: 13px; font-variant-numeric: tabular-nums; margin: .25rem 0 .55rem; text-align: left; }
.detail-table { min-width: 1120px; }
.sort-link, .sort-button { align-items: center; color: var(--link); display: inline-flex; font-weight: 600; gap: .2rem; white-space: nowrap; }
.sort-button { background: transparent; border: 0; border-radius: 0; padding: 0; }
.detail-table th.number .sort-link, .detail-table th.number .sort-button { justify-content: flex-end; width: 100%; }
.sort-button:hover, .sort-button:focus { background: transparent; border: 0; color: var(--link-hover); text-decoration: underline; }
.time-cell { font-variant-numeric: tabular-nums; white-space: nowrap; }
.has-tooltip { cursor: help; text-decoration: underline dotted; text-underline-offset: 3px; }
.field-tooltip { background: var(--tooltip-bg); border: 1px solid var(--tooltip-border); border-radius: 3px; box-shadow: var(--tooltip-shadow); color: var(--tooltip-ink); font-size: 12px; line-height: 1.45; padding: .55rem .65rem; position: fixed; z-index: 1000; }
.field-tooltip[hidden] { display: none; }
.is-loading { opacity: .55; pointer-events: none; transition: opacity .12s ease; }
.fee-cell small { color: var(--muted); display: block; font-size: 11px; font-weight: 400; margin-top: .1rem; white-space: nowrap; }
.overview-section h2 { font: 400 23px/1.2 Georgia, "Times New Roman", serif; margin: 0 0 .55rem; }
.position-refresh-progress { background: var(--panel); border: 1px solid var(--soft-border); margin: .75rem 0 1rem; padding: .6rem .75rem; }
.position-refresh-progress > div { align-items: baseline; display: flex; gap: .75rem; justify-content: space-between; }
.position-refresh-progress strong { font-size: 13px; }
.position-refresh-progress span { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.position-refresh-progress progress { height: .55rem; margin-top: .35rem; }
.aggregate-summary { display: grid; gap: .6rem; grid-template-columns: repeat(6, minmax(150px, 1fr)); margin: 1rem 0; }
.aggregate-summary > div { background: var(--panel); border: 1px solid var(--soft-border); min-height: 82px; padding: .65rem .75rem; }
.aggregate-summary span { color: var(--muted); display: block; font-size: 12px; }
.aggregate-summary strong { display: block; font-size: 18px; font-variant-numeric: tabular-nums; margin-top: .2rem; }
.summary-filter-pair { display: flex; gap: .35rem; margin-top: .35rem; }
.summary-filter-pair button { font-size: 13px; padding: .22rem .48rem; }
#all-long-count { color: var(--success); }
#all-short-count, #all-loss-count { color: var(--danger); }
#all-profit-count { color: var(--success); }
.summary-filter-pair button.is-active, .group-controls button.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
#all-long-count.is-active, #all-short-count.is-active, #all-profit-count.is-active, #all-loss-count.is-active { color: var(--on-accent); }
.aggregate-controls { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 0 0 .55rem; }
.group-controls { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem; }
.group-controls > span { color: var(--muted); font-size: 13px; }
.position-subcategories { align-items: stretch; display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 .65rem; }
.position-subcategories[hidden] { display: none; }
.position-subcategories button { align-items: flex-start; background: var(--paper); border-color: var(--soft-border); display: flex; flex: 0 1 auto; flex-direction: column; gap: .12rem; max-width: 320px; min-width: 150px; padding: .38rem .55rem; text-align: left; }
.position-subcategories button:hover { background: var(--elevated); border-color: var(--border); }
.position-subcategories button.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.position-subcategories button strong { font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.position-subcategories button span { font-size: 10px; line-height: 1.35; }
.position-subcategories button.is-active span { color: var(--on-accent); }
.position-subcategories[data-mode="win_rate"] button { flex: 0 1 260px; }
.position-subcategories[data-mode="coin"] button { min-width: 175px; }
.position-subcategories[data-mode="wallet"] button { min-width: 210px; }
.aggregate-position-table { min-width: 1680px; }
.position-group-row td { background: var(--panel); border-bottom: 1px solid var(--border); border-top: 1px solid var(--border); font-size: 13px; font-weight: 700; padding: .42rem .55rem; }

.detail-table th, .log-table th { top: 0; }
.empty-state { color: var(--muted); padding: 1.2rem !important; text-align: center; }
.neutral { color: var(--muted); }
.pagination { align-items: center; display: flex; gap: 1rem; justify-content: flex-end; margin-top: .75rem; }
.log-table { min-width: 900px; }
.log-table td { max-width: 520px; overflow-wrap: anywhere; }
.trash-table { min-width: 1320px; }
.trash-table .trash-reason { min-width: 300px; max-width: 520px; overflow-wrap: anywhere; }
.trash-table .trash-note { min-width: 300px; max-width: 520px; overflow-wrap: anywhere; }
.trash-type { background: var(--panel); border: 1px solid var(--soft-border); border-radius: 2px; display: inline-block; font-size: 12px; padding: .08rem .35rem; white-space: nowrap; }
.trash-restore-button { font-size: 12px; line-height: 1.2; padding: .22rem .48rem; white-space: nowrap; }
.page-intro { color: var(--muted); margin: .35rem 0 1.2rem; }

.reconstruction-panel { border-top: 1px solid var(--border); padding-top: 1rem; }
.reconstruction-panel .section-heading a { white-space: nowrap; }
.reconstruction-progress {
  background: var(--panel);
  border: 1px solid var(--border);
  margin: .75rem 0;
  padding: .65rem .75rem;
}
.reconstruction-progress-heading {
  align-items: center;
  display: flex;
  font-size: .85rem;
  justify-content: space-between;
  margin-bottom: .4rem;
}
.reconstruction-progress progress {
  accent-color: var(--accent);
  display: block;
  height: .75rem;
  width: 100%;
}
.reconstruction-progress small {
  color: var(--muted);
  display: block;
  font-size: .75rem;
  margin-top: .35rem;
}
.reconstruction-summary {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  margin: .75rem 0 1rem;
}
.reconstruction-summary > div {
  background: var(--surface-soft);
  border: 1px solid var(--border);
  min-width: 0;
  padding: .6rem .7rem;
}
.reconstruction-summary span {
  color: var(--muted);
  display: block;
  font-size: .78rem;
  margin-bottom: .18rem;
}
.reconstruction-summary strong { overflow-wrap: anywhere; }
.reconstruction-status {
  border: 1px solid var(--border);
  display: inline-block;
  font-size: .78rem;
  line-height: 1.4;
  padding: .08rem .38rem;
  white-space: nowrap;
}
.reconstruction-status.complete {
  background: var(--success-soft);
  border-color: var(--success);
  color: var(--success);
}
.reconstruction-status.incomplete,
.reconstruction-status.error {
  background: var(--warning-soft);
  border-color: var(--warning);
  color: var(--warning);
}
.reconstruction-reason,
.event-fill-count {
  color: var(--muted);
  display: block;
  font-size: .72rem;
  margin-top: .18rem;
  max-width: 22rem;
}
.event-classification-reason {
  color: var(--muted);
  display: block;
  font-size: .7rem;
  line-height: 1.45;
  margin-top: .28rem;
  max-width: 30rem;
  min-width: 15rem;
}
.campaign-liquidation-label { color: var(--negative); }
.reconstruction-table { min-width: 1000px; }
.liquidation-trades-section { margin: .8rem 0; }
.liquidation-trades-section .section-heading { margin-bottom: .35rem; }
.liquidation-trades-table { min-width: 720px; width: auto; }
.liquidation-trades-table th,
.liquidation-trades-table td { padding: .3rem .45rem; white-space: nowrap; }
.reconstruction-table th,
.reconstruction-table td,
.campaign-table th,
.campaign-table td,
.event-table th,
.event-table td,
.order-evidence .detail-table th,
.order-evidence .detail-table td {
  line-height: 1.3;
  padding: .25rem .3rem;
}
.campaign-table {
  min-width: 1320px;
  table-layout: fixed;
}
.campaign-table th:nth-child(1) { width: 3%; }
.campaign-table th:nth-child(2) { width: 9%; }
.campaign-table th:nth-child(3) { width: 18%; }
.campaign-table th:nth-child(4) { width: 17%; }
.campaign-table th:nth-child(5) { width: 8%; }
.campaign-table th:nth-child(6) { width: 7%; }
.campaign-table th:nth-child(7) { width: 9%; }
.campaign-table th:nth-child(8) { width: 8%; }
.campaign-table th:nth-child(9) { width: 8%; }
.campaign-table th:nth-child(10) { width: 7%; }
.campaign-table th:nth-child(11) { width: 5%; }
.campaign-table td:nth-child(2),
.campaign-table td:nth-child(3),
.campaign-table td:nth-child(4) { white-space: normal; }
.campaign-table .event-classification-reason {
  line-height: 1.3;
  max-width: none;
  min-width: 0;
}
.campaign-liq-cell,
.campaign-liq-price { white-space: nowrap; }
.campaign-automation {
  background: var(--warning-soft);
  border: 1px solid var(--warning);
  color: var(--warning);
  display: inline-block;
  font-size: .7rem;
  line-height: 1.35;
  margin-top: .25rem;
  padding: .04rem .28rem;
}
.event-table {
  min-width: 1240px;
  table-layout: fixed;
}
.event-table th:nth-child(1) { width: 3%; }
.event-table th:nth-child(2) { width: 10%; }
.event-table th:nth-child(3) { width: 18%; }
.event-table th:nth-child(4) { width: 13%; }
.event-table th:nth-child(5) { width: 6%; }
.event-table th:nth-child(6),
.event-table th:nth-child(7),
.event-table th:nth-child(9) { width: 7%; }
.event-table th:nth-child(8) { width: 10%; }
.event-table th:nth-child(10) { width: 8%; }
.event-table th:nth-child(11) { width: 7%; }
.event-table th:nth-child(12) { width: 5%; }
.event-table td:nth-child(2) { white-space: normal; }
.event-table td:nth-child(3),
.event-table td:nth-child(4) { white-space: normal; }
.event-table .event-classification-reason {
  line-height: 1.3;
  max-width: none;
  min-width: 0;
}
.order-evidence .detail-table {
  min-width: 1260px;
  table-layout: fixed;
}
.order-evidence .detail-table th:nth-child(1) { width: 3%; }
.order-evidence .detail-table th:nth-child(2) { width: 10%; }
.order-evidence .detail-table th:nth-child(3) { width: 11%; }
.order-evidence .detail-table th:nth-child(4) { width: 15%; }
.order-evidence .detail-table th:nth-child(5) { width: 5%; }
.order-evidence .detail-table th:nth-child(6),
.order-evidence .detail-table th:nth-child(7) { width: 7%; }
.order-evidence .detail-table th:nth-child(8) { width: 9%; }
.order-evidence .detail-table th:nth-child(9) { width: 9%; }
.order-evidence .detail-table th:nth-child(10) { width: 14%; }
.order-evidence .detail-table th:nth-child(11) { width: 6%; }
.order-evidence .detail-table th:nth-child(12) { width: 5%; }
.order-evidence .detail-table td:nth-child(2) code {
  font-size: .68rem;
  overflow-wrap: anywhere;
}
.order-evidence .detail-table td:nth-child(3),
.order-evidence .detail-table td:nth-child(4) {
  white-space: normal;
}
.risk-evidence-cell { white-space: normal; }
.risk-evidence-cell > strong,
.risk-evidence-cell > small { display: block; }
.risk-evidence-cell > small {
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.35;
  margin-top: .12rem;
}
.risk-evidence-cell > small.positive { color: var(--positive); }
.risk-evidence-cell > small.negative { color: var(--negative); }
.risk-unavailable { color: var(--muted); }
.risk-evidence-overview {
  background: var(--panel);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  padding: .85rem 1rem;
}
.risk-evidence-overview .section-heading { align-items: center; }
.risk-evidence-overview .section-note { margin: .22rem 0 0; }
.risk-detail-link {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: 2px;
  display: inline-block;
  font-weight: 600;
  padding: .38rem .65rem;
  white-space: nowrap;
}
.risk-overview-grid {
  display: grid;
  gap: .5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: .65rem 0;
}
.risk-overview-grid > div {
  background: var(--paper);
  border: 1px solid var(--soft-border);
  padding: .48rem .58rem;
}
.risk-overview-grid span,
.risk-overview-grid strong { display: block; }
.risk-overview-grid span { color: var(--muted); font-size: .78rem; }
.risk-overview-grid strong { margin-top: .12rem; }
.context-grid,
.context-dataset-grid {
  display: grid;
  gap: .5rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: .65rem 0;
}
.context-grid > div,
.context-dataset-grid > div {
  background: var(--paper);
  border: 1px solid var(--soft-border);
  min-width: 0;
  padding: .5rem .58rem;
}
.context-grid span,
.context-grid strong,
.context-grid small,
.context-dataset-grid strong,
.context-dataset-grid span { display: block; }
.context-grid span,
.context-grid small,
.context-dataset-grid span { color: var(--muted); font-size: .75rem; }
.context-grid strong { margin: .12rem 0; }
.context-dataset-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.context-dataset-grid strong { margin-bottom: .2rem; }
.context-badge {
  border: 1px solid var(--soft-border);
  border-radius: 2px;
  font-size: .75rem;
  padding: .22rem .48rem;
  white-space: nowrap;
}
.context-badge.complete { background: var(--success-soft); color: var(--success-ink); }
.context-badge.partial,
.context-badge.pending { background: var(--warning-soft); color: var(--warning-ink); }
.context-run-table { min-width: 1420px; }
.context-run-items { border: 1px solid var(--soft-border); margin-top: .8rem; padding: .65rem; }
.context-run-items summary { cursor: pointer; font-weight: 600; }
@media (max-width: 760px) {
  .risk-evidence-overview .section-heading { align-items: flex-start; }
  .risk-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .context-grid,
  .context-dataset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.stacked-time {
  display: inline-grid;
  font-variant-numeric: tabular-nums;
  gap: .08rem;
  line-height: 1.2;
  white-space: nowrap;
}
.stacked-time > span { display: block; }
.stacked-time-date { color: var(--muted); }
.stacked-time small {
  color: var(--muted);
  display: inline-block;
  font-size: .7em;
  margin-right: .25rem;
  min-width: 2em;
}
.wave-evidence > p,
.order-evidence > p { color: var(--muted); font-size: .8rem; }
.audit-pagination {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: .8rem;
  gap: .7rem;
  justify-content: flex-end;
  margin-top: .65rem;
}
.audit-pagination a { white-space: nowrap; }
.wallet-codex-report { background: var(--surface-soft); border: 1px solid var(--border); padding: 0; }
.wallet-codex-report-summary { align-items: center; cursor: pointer; display: flex; gap: 1rem; justify-content: space-between; list-style-position: inside; padding: .8rem .9rem; }
.wallet-codex-report-summary::marker { color: var(--link); }
.wallet-codex-report-heading { display: inline-grid; gap: .15rem; }
.wallet-codex-report-heading > strong { font: 400 22px/1.2 Georgia, "Times New Roman", serif; }
.wallet-codex-report-heading > small { color: var(--muted); font-size: 12px; }
.wallet-codex-report-body { border-top: 1px solid var(--soft-border); padding: 0 .9rem .9rem; }
.wallet-summary-ratings { align-items: stretch; display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; margin-left: auto; }
.wallet-summary-rating { background: var(--panel); border: 1px solid var(--soft-border); display: inline-grid; justify-items: end; min-width: 118px; padding: .42rem .55rem; }
.wallet-summary-rating strong { color: var(--link); font-size: 22px; line-height: 1.05; margin: .12rem 0; }
.wallet-summary-rating small { color: var(--muted); font-size: 11px; }
.wallet-summary-rating--hyperx { border-left: 3px solid var(--info-ink); }
.codex-score-grid { display: grid; gap: .45rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: .8rem 0; }
.codex-score-grid > div { background: var(--panel); border: 1px solid var(--soft-border); padding: .5rem .6rem; }
.codex-score-grid span { color: var(--muted); display: block; font-size: 11px; }
.codex-score-grid strong { display: block; font-size: 16px; margin-top: .1rem; }
.hyperx-score-grid { display: grid; gap: .45rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: .8rem 0; }
.hyperx-score-card { background: var(--panel); border: 1px solid var(--soft-border); border-left: 4px solid var(--strong-border); padding: .5rem .6rem; }
.hyperx-score-card > span { color: var(--muted); display: flex; font-size: 11px; gap: .4rem; justify-content: space-between; }
.hyperx-score-card > strong { display: block; font-size: 16px; margin-top: .1rem; }
.hyperx-score-card > small:last-child { color: var(--muted); display: block; font-size: 11px; line-height: 1.4; margin-top: .35rem; }
.hyperx-score-card--copy-fit { background: var(--info-soft); border-left-color: var(--info-ink); }
.hyperx-score-card--stability { background: var(--success-soft); border-left-color: var(--success-ink); }
.hyperx-score-card--risk-control { background: var(--warning-soft); border-left-color: var(--warning-ink); }
.hyperx-copy-priority { color: currentColor; font-size: 10px; font-weight: 700; white-space: nowrap; }
.codex-score-explanation { color: var(--muted); display: block; font-size: 11px; line-height: 1.4; margin-top: .35rem; }
.wallet-codex-report-document { background: var(--paper); border: 1px solid var(--soft-border); font: .9rem/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow: hidden; }
.wallet-codex-report-document .codex-report-example-link { color: var(--link); font-weight: 650; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.wallet-codex-report-document > p { margin: .5rem .65rem; }
.codex-report-title { background: var(--surface-soft); border-bottom: 1px solid var(--soft-border); font: 400 19px/1.3 Georgia, "Times New Roman", serif; margin: 0; padding: .7rem .85rem; }
.codex-report-section-title { border-top: 1px solid var(--soft-border); color: var(--text); font-size: 16px; margin: .8rem 0 0; padding: .6rem .65rem .25rem; }
.codex-report-title + .codex-report-lead { font-weight: 650; margin-bottom: .15rem; }
.codex-report-evidence { color: var(--muted); font-size: 12px; margin-top: 0 !important; }
.codex-report-subtitle { color: var(--text); font-size: 14px; margin: .65rem .65rem .3rem; }
.codex-report-inline-scores { display: grid; gap: .45rem; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: .2rem .85rem .75rem; }
.codex-report-inline-scores > div { background: var(--surface-soft); border: 1px solid var(--soft-border); padding: .45rem .5rem; text-align: left; }
.codex-report-inline-scores strong { display: block; font-size: 12px; }
.codex-report-inline-scores small { color: var(--muted); display: block; font-size: 11px; line-height: 1.4; margin-top: .25rem; }
.codex-report-table-wrap { border-left: 0; border-right: 0; margin: .3rem 0 .65rem; }
.codex-report-table { border-collapse: collapse; min-width: 580px; width: 100%; }
.codex-report-table th { background: var(--surface-soft); color: var(--muted); font-size: 12px; font-weight: 650; padding: 0; text-align: left; white-space: nowrap; }
.codex-report-table td { border-top: 1px solid var(--soft-border); padding: .34rem .42rem; text-align: left !important; vertical-align: top; }
.codex-report-table th.number,
.codex-report-table td.number { text-align: left !important; white-space: nowrap; }
.codex-report-sort-button { background: transparent; border: 0; color: inherit; display: block; font-size: inherit; font-weight: inherit; padding: .35rem .42rem; text-align: left; white-space: nowrap; width: 100%; }
.codex-report-sort-button:hover,
.codex-report-sort-button:focus { background: var(--elevated); color: var(--ink); text-decoration: none; }
.codex-key-metrics-table { min-width: 720px; }
.codex-key-metrics-table th:nth-child(2),
.codex-key-metrics-table td:nth-child(2) { color: var(--muted); min-width: 390px; text-align: left; white-space: normal; }
.codex-key-metrics-table th:last-child,
.codex-key-metrics-table td:last-child { min-width: 120px; text-align: left !important; white-space: nowrap; }
.codex-liquidation-count-link { font-weight: 700; text-decoration: underline; text-underline-offset: .15em; }
.codex-excursion-table td:first-child { min-width: 95px; }
.codex-report-section-summary { background: var(--surface-soft); border-left: 3px solid var(--link); color: var(--muted); margin: .65rem; padding: .55rem .65rem; }
.codex-report-risk-list { margin: .45rem .85rem .9rem; padding-left: 1.25rem; }
.codex-report-risk-list li { margin: .25rem 0; }
.codex-pnl-chart { background: var(--paper); border: 1px solid var(--soft-border); margin: 0 0 .8rem; padding: .75rem .85rem .55rem; }
.codex-pnl-chart .section-heading { margin-bottom: .25rem; }
.codex-pnl-chart h3 { margin: 0; }
.codex-curve-metric-grid { display: grid; gap: .45rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: .65rem 0 .45rem; max-width: 1200px; }
.codex-curve-metric-card { border: 1px solid var(--soft-border); min-width: 0; padding: .55rem .65rem; }
.codex-curve-metric-card > span { color: var(--muted); display: block; font-size: 11px; font-weight: 650; }
.codex-curve-metric-card > strong { display: block; font-size: 18px; margin-top: .35rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.codex-curve-metric-card > small { color: var(--muted); display: block; font-size: 11px; margin-top: .1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.codex-curve-metric-card > small.positive { color: var(--positive); }
.codex-curve-metric-card > small.negative { color: var(--negative); }
.codex-pnl-plot { max-width: 1200px; position: relative; }
.codex-pnl-chart svg { aspect-ratio: 920 / 270; display: block; height: auto; overflow: visible; touch-action: none; width: 100%; }
.codex-pnl-grid-line { stroke: var(--soft-border); stroke-width: 1; }
.codex-pnl-grid-line-vertical { stroke-dasharray: 2 4; }
.codex-pnl-zero { stroke: var(--border); stroke-dasharray: 5 5; stroke-width: 1; }
.codex-pnl-area { fill: color-mix(in srgb, var(--link) 12%, transparent); }
.codex-pnl-drawdown-area { fill: color-mix(in srgb, var(--negative) 24%, transparent); pointer-events: none; stroke: none; }
.codex-pnl-line { fill: none; stroke: var(--link); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.codex-pnl-peak { fill: var(--positive); stroke: var(--paper); stroke-width: 2; }
.codex-pnl-axis { fill: var(--muted); font: 11px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.codex-pnl-hit { cursor: grab; fill: transparent; pointer-events: all; }
.codex-pnl-chart.is-dragging .codex-pnl-hit { cursor: grabbing; }
.codex-pnl-chart.is-pnl-pinned .codex-pnl-hit { cursor: pointer; }
.codex-pnl-hover-guide { stroke: var(--muted); stroke-dasharray: 3 3; stroke-width: 1; }
.codex-pnl-hover-marker { fill: var(--paper); stroke: var(--link); stroke-width: 2.5; }
.codex-pnl-tooltip { background: var(--tooltip-bg); border: 1px solid var(--tooltip-border); box-shadow: var(--tooltip-shadow); color: var(--tooltip-ink); font-size: 12px; font-weight: 650; letter-spacing: .01em; max-width: 280px; padding: .45rem .55rem; pointer-events: none; position: absolute; white-space: normal; z-index: 2; }
.codex-pnl-chart.is-pnl-pinned .codex-pnl-tooltip { pointer-events: auto; }
.codex-pnl-tooltip strong { display: block; }
.codex-pnl-tooltip span { color: var(--tooltip-ink); display: block; font-weight: 400; margin-top: .2rem; opacity: .8; }
.codex-pnl-tooltip a { color: #97fce4; display: block; font-weight: 650; margin-top: .25rem; text-decoration: underline; }
.codex-pnl-tooltip .codex-pnl-pinned-hint { border-top: 1px solid color-mix(in srgb, var(--tooltip-ink) 25%, transparent); font-weight: 650; margin-top: .4rem; opacity: 1; padding-top: .35rem; }
.codex-pnl-range-buttons { align-items: center; display: flex; gap: .25rem; }
.codex-pnl-range-buttons button { background: transparent; border: 1px solid var(--soft-border); color: var(--muted); cursor: pointer; font-size: 12px; padding: .28rem .5rem; }
.codex-pnl-range-buttons button[aria-pressed="true"] { border-color: var(--link); color: var(--link); font-weight: 650; }
.codex-pnl-window-control { align-items: center; color: var(--muted); display: grid; font-size: 11px; gap: .45rem; grid-template-columns: auto minmax(120px, 1fr) auto; margin: .1rem 0 .35rem; }
.codex-pnl-window-control input { accent-color: var(--link); margin: 0; width: 100%; }
.codex-pnl-window-control output { font-variant-numeric: tabular-nums; min-width: 180px; text-align: right; }
.codex-pnl-chart-summary { display: flex; flex-wrap: wrap; gap: .45rem 1.4rem; justify-content: flex-end; }
.codex-pnl-chart-summary span { color: var(--muted); font-size: 12px; }
.codex-pnl-chart-summary strong { color: var(--text); margin-left: .25rem; }
@media (max-width: 720px) {
  .codex-report-inline-scores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .codex-curve-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .codex-curve-metric-card:last-child { grid-column: span 2; }
  .codex-pnl-chart .section-heading { align-items: flex-start; gap: .5rem; }
  .codex-pnl-window-control { grid-template-columns: 1fr; }
  .codex-pnl-window-control output { min-width: 0; text-align: left; }
}
.pnl-transition span { display: block; white-space: nowrap; }
.pnl-transition .metric-arrow { color: var(--muted); line-height: 1; }
.position-transition span { display: block; white-space: nowrap; }
.position-transition small {
  color: var(--muted);
  font-size: .68rem;
  margin-right: .25rem;
}
.reconstruction-error { color: var(--danger); font-size: .85rem; }
.reconstruction-trade-heading {
  align-items: flex-end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.reconstruction-trade-heading h1 { margin-bottom: .2rem; }
.reconstruction-trade-heading p { color: var(--muted); margin: 0; }
.plain-trade-summary { font-size: 1rem; line-height: 1.75; }
.codex-evidence {
  border: 1px solid var(--border);
  margin-top: 1.35rem;
  padding: .7rem;
}
.codex-evidence summary { cursor: pointer; font-weight: 600; }
.codex-evidence pre {
  background: var(--surface-soft);
  border: 1px solid var(--border);
  font: .78rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  max-height: 42rem;
  overflow: auto;
  padding: .7rem;
  white-space: pre-wrap;
}
.codex-structured-evidence { padding: 1rem; }
.codex-structured-evidence .section-heading { margin-bottom: .7rem; }
.codex-structured-evidence pre { margin: 0; }
.rules-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rule-card { background: var(--panel); border: 1px solid var(--soft-border); padding: 1rem 1.1rem; }
.rule-card h2 { font: 400 22px/1.2 Georgia, "Times New Roman", serif; margin: 0 0 .35rem; }
.rule-card p { color: var(--muted); margin: 0 0 .65rem; }
.rule-card ol { margin: 0; padding-left: 1.35rem; }
.rule-card li + li { margin-top: .45rem; }
.compact-rules { font-size: 12px; line-height: 1.42; }
.compact-rules h2 { font-size: 18px; }
.compact-rules p { font-size: 12px; margin-bottom: .45rem; }
.compact-rules li + li { margin-top: .28rem; }
.update-history { margin-top: 1.4rem; }
.update-log-table { min-width: 1280px; }
.run-status { background: var(--panel); border: 1px solid var(--soft-border); border-radius: 2px; display: inline-block; font-size: 12px; padding: .08rem .35rem; white-space: nowrap; }
.run-status.complete { background: var(--success-soft); color: var(--success-ink); }
.run-status.running, .run-status.queued { background: var(--info-soft); color: var(--info-ink); }
.run-status.partial { background: var(--warning-soft); color: var(--warning-ink); }
.run-status.error { background: var(--danger-soft); color: var(--danger-ink); }
.daily-history-list { display: grid; gap: .8rem; }
.daily-history-card { background: var(--paper); border: 1px solid var(--soft-border); border-left: 4px solid var(--accent); padding: .8rem 1rem; scroll-margin-top: 1rem; }
.daily-history-card.partial { border-left-color: var(--warning); }
.daily-history-card.error { border-left-color: var(--danger); }
.daily-history-head { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.daily-history-head h3 { font-size: 16px; margin: 0; }
.daily-history-card > p { color: var(--muted); font-size: 12px; margin: .25rem 0 .65rem; }
.run-metrics { display: grid; gap: .45rem; grid-template-columns: repeat(6, minmax(120px, 1fr)); margin: 0; }
.run-metrics > div { background: var(--panel); padding: .45rem .55rem; }
.run-metrics dt { color: var(--muted); font-size: 11px; }
.run-metrics dd { font-variant-numeric: tabular-nums; margin: .1rem 0 0; }
.address-diff { color: var(--muted); font-size: 12px; margin-top: .65rem; overflow-wrap: anywhere; }
.address-diff div + div { margin-top: .25rem; }
.address-diff code { color: var(--ink); }

@media (min-width: 761px) and (max-width: 1100px) {
  .home-navigation-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .topbar { align-items: flex-start; gap: .75rem; padding: .75rem 1rem; }
  .main-nav { flex-wrap: wrap; gap: .75rem; }
  .page { padding: 1.25rem 1rem 3rem; width: 100%; }
  .content-header { align-items: stretch; flex-direction: column; gap: 1rem; }
  .search input { min-width: 0; width: 100%; }
  .inline-form { align-items: stretch; flex-direction: column; }
  .inline-form input { min-width: 0; width: 100%; }
  .metric-grid, .fund-flow-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .codex-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hyperx-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .codex-ranking-table th:nth-child(2) { width: 7rem; }
  .codex-ranking-table th:nth-child(3), .codex-ranking-table th:nth-child(4) { width: 6rem; }
  .codex-ranking-table th:nth-child(5), .codex-ranking-table th:nth-child(6) { width: 7rem; }
  .codex-ranking-table th:nth-child(7) { width: 9rem; }
  .codex-ranking-table th:nth-child(8) { width: 8rem; }
  .codex-ranking-table th:nth-child(9) { width: 5.8rem; }
  .codex-rule-grid { grid-template-columns: 1fr; }
  .codex-rule-table th:nth-child(1) { width: 6rem; }
  .codex-rule-table th:nth-child(2) { width: 3.5rem; }
  .aggregate-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aggregate-controls { align-items: stretch; flex-direction: column; }
  .position-refresh-progress > div { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .position-subcategories button, .position-subcategories[data-mode="win_rate"] button { flex: 1 1 100%; max-width: none; }
  .rules-grid { grid-template-columns: 1fr; }
  .trade-extremes-grid { grid-template-columns: 1fr; }
  .wallet-tier-cards { grid-template-columns: 1fr; }
  .run-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .live-summary { text-align: left; }
  .login-card { margin-top: 7vh; }
  .theme-corner { right: .75rem; top: .75rem; }
}
.history-liquidation-badge {
  display: block;
  margin-top: 0.2rem;
  color: var(--danger, #b42318);
  font-weight: 700;
  white-space: nowrap;
}
