@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--bg:#0c1118;--surface:#151c27;--surface2:#1c2535;--border:#2a3548;--text:#e8edf5;--muted:#8b9bb4;--accent:#3dd68c;--accent-dim:#2a9d63;--warn:#f5b942;--bad:#f07178;--good:#3dd68c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.mono,code{font-family:IBM Plex Mono,monospace}a{color:var(--accent)}.page{max-width:1400px;margin:0 auto;padding:2rem 1.25rem 4rem}.page-header{margin-bottom:1.5rem}.eyebrow{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.page-header h1{font-size:2rem;font-weight:700;margin-top:4px}.subtitle{color:var(--muted);margin-top:8px;max-width:640px}.badges{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;font-size:13px}.badge{border:1px solid var(--border);padding:4px 10px;border-radius:999px}.badge,.banner{background:var(--surface)}.banner{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:13px}.banner.activity,.banner.warn{color:var(--warn)}.banner.activity{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner.error{color:var(--bad)}.empty{color:var(--muted)}.day-tabs{display:flex;gap:8px;margin-bottom:1rem}.day-tab{flex:0 0 auto;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.day-tab:hover:not(:disabled){border-color:var(--accent-dim)}.day-tab.active{background:var(--surface2);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.day-tab:disabled{opacity:.55;cursor:wait}.day-tabs-with-date{flex-wrap:wrap;align-items:center}.card-date-picker{display:flex;align-items:flex-end;gap:8px;margin-left:auto}.card-date-picker label{display:flex;flex-direction:column;gap:4px}.card-date-picker-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.card-date-picker input[type=date]{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;min-height:38px}.card-date-picker input.card-date-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.card-date-load{min-height:38px;white-space:nowrap}.race-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:1.25rem;scrollbar-width:thin}.race-tab{flex:0 0 auto;min-width:140px;max-width:200px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.race-tab:hover{border-color:var(--accent-dim)}.race-tab.active{background:var(--surface2);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.race-tab-course{display:block;font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.course-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:.75rem;scrollbar-width:thin}.course-tab{flex:0 0 auto;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap}.course-tab:hover{border-color:var(--accent-dim)}.course-tab.active{background:var(--surface2);border-color:var(--accent)}.race-tab-time{display:block;font-weight:700;font-size:15px;color:var(--warn);font-family:IBM Plex Mono,monospace;margin-bottom:2px}.race-tab-name{font-size:12px;color:var(--muted);margin-top:2px}.race-tab-name,.race-tab-tip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-tab-tip{font-size:11px;color:var(--accent);margin-top:4px}.race-tab-outcome{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;padding:2px 6px;border-radius:4px}.race-tab-outcome-win{color:var(--good);background:color-mix(in srgb,var(--good) 18%,transparent)}.race-tab-outcome-place{color:var(--warn);background:color-mix(in srgb,var(--warn) 18%,transparent)}.race-tab-outcome-loss{color:var(--bad);background:color-mix(in srgb,var(--bad) 18%,transparent)}.race-tab.race-tab-outcome-win:not(.active){border-color:color-mix(in srgb,var(--good) 45%,var(--border));background:color-mix(in srgb,var(--good) 10%,var(--surface))}.race-tab.race-tab-outcome-place:not(.active){border-color:color-mix(in srgb,var(--warn) 45%,var(--border));background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.race-tab.race-tab-outcome-loss:not(.active){border-color:color-mix(in srgb,var(--bad) 45%,var(--border));background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.outcome-highlight-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.outcome-highlight-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px}.outcome-highlight-title{color:var(--muted);font-weight:600}.outcome-swatch{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.outcome-swatch-win{color:var(--good);background:color-mix(in srgb,var(--good) 18%,transparent)}.outcome-swatch-place{color:var(--warn);background:color-mix(in srgb,var(--warn) 18%,transparent)}.outcome-swatch-loss{color:var(--bad);background:color-mix(in srgb,var(--bad) 18%,transparent)}.outcome-highlight-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.outcome-places-select{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.outcome-places-select select{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;padding:6px 8px}.race-panel-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(360px,1fr) minmax(240px,280px);grid-template-areas:"leaderboards-left main leaderboards-right";grid-gap:1.25rem;gap:1.25rem;align-items:start}.race-leaderboards-left{grid-area:leaderboards-left;min-width:0}.race-panel-center{grid-area:main;min-width:0}.race-leaderboards-right{grid-area:leaderboards-right;min-width:0}.race-leaderboards{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 6rem);overflow-y:auto;overflow-x:hidden;position:-webkit-sticky;position:sticky;top:1rem;scrollbar-width:thin;padding-right:4px;min-width:0}.top-stats-board{background:var(--surface);border:1px solid var(--accent-dim);border-radius:10px;overflow:hidden;margin-bottom:12px;box-shadow:0 0 0 1px rgba(61,214,140,.08)}.top-stats-board-header{padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface2)}.top-stats-board-header h3{font-size:.95rem;font-weight:700}.top-stats-board-header p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}.top-stats-table{width:100%;border-collapse:collapse;font-size:13px}.top-stats-table td,.top-stats-table th{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.top-stats-table th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.top-stats-table tbody tr:last-child td{border-bottom:none}.top-stats-rank{width:2rem;text-align:center}.top-stats-num{text-align:center;width:3rem}.top-stats-highlight{color:var(--accent);font-weight:700}.top-stats-horse{font-weight:600;min-width:140px}.top-stats-tags{display:flex;flex-wrap:wrap;gap:4px}.top-stats-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(61,214,140,.12);border:1px solid rgba(61,214,140,.25);color:var(--text);white-space:nowrap}.top-stats-none{color:var(--muted)}.leaderboard-collapse-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:none;background:var(--surface2);color:inherit;cursor:pointer;text-align:left;font:inherit}.leaderboard-collapse-header:hover{background:rgba(255,255,255,.03)}.top-stats-board .leaderboard-collapse-header{background:var(--surface2);border-bottom:1px solid var(--border)}.leaderboard-collapse-text{flex:1 1;min-width:0}.leaderboard-collapse-header h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.top-stats-board .leaderboard-collapse-header h3{font-size:.95rem;font-weight:700;text-transform:none;letter-spacing:normal}.leaderboard-collapse-header p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}.top-stats-board .leaderboard-collapse-header p{font-size:12px;margin-top:4px;line-height:1.45}.leaderboard-collapse-arrow{flex-shrink:0;color:var(--muted);font-size:14px;line-height:1;margin-top:2px}.stat-board-controls{margin-bottom:12px}.stat-board-toggle{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:12px;padding:6px 10px}.stat-board-toggle:hover{border-color:var(--accent-dim);color:var(--text)}.leaderboard-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;overflow:hidden;min-width:0}.leaderboard-table-visual{table-layout:fixed;width:100%}.leaderboard-table-visual td:first-child,.leaderboard-table-visual th:first-child{width:1.6rem;padding-left:6px;padding-right:4px}.leaderboard-table-visual td:nth-child(2),.leaderboard-table-visual th:nth-child(2){width:36%;max-width:0;overflow:hidden}.leaderboard-table-visual td:nth-child(3),.leaderboard-table-visual th:nth-child(3){width:34%}.leaderboard-table-visual td:nth-child(4),.leaderboard-table-visual th:nth-child(4){width:22%}.leaderboard-card-header{padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.leaderboard-card-header h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.leaderboard-card-header p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}.leaderboard-table{width:100%;border-collapse:collapse;font-size:12px}.leaderboard-table td,.leaderboard-table th{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.leaderboard-table th{color:var(--muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.leaderboard-table tbody tr:last-child td{border-bottom:none}.leaderboard-table tbody tr:hover{background:rgba(255,255,255,.02)}.leaderboard-top{background:rgba(61,214,140,.08)}.leaderboard-top .leaderboard-rank{color:var(--accent);font-weight:700}.leaderboard-missing{opacity:.55}.leaderboard-rank{width:1.5rem;text-align:center}.leaderboard-cloth{color:var(--muted);margin-right:4px}.leaderboard-horse{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-more{font-size:10px;color:var(--muted);padding:6px 10px 8px;border-top:1px solid var(--border)}.leaderboard-value-col{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:11px;padding-right:6px!important}.leaderboard-graph-col{width:auto;min-width:0;padding-top:4px;padding-bottom:4px}.leaderboard-bar-track{height:8px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden}.leaderboard-bar-fill{height:100%;border-radius:4px;transition:width .25s ease}.leaderboard-bar-fill-good{background:linear-gradient(90deg,rgba(61,214,140,.55),var(--accent))}.leaderboard-bar-fill-neutral{background:linear-gradient(90deg,rgba(148,163,184,.45),rgba(148,163,184,.75))}.leaderboard-bar-fill-bad{background:linear-gradient(90deg,rgba(248,113,113,.35),rgba(248,113,113,.65))}.leaderboard-bar-empty{color:var(--muted);font-size:11px}.top-stats-graph-col{width:88px;min-width:72px}.leaderboard-table-visual td.leaderboard-value-col{font-size:11px}.race-tab .bet-signal-compact{margin-bottom:6px}.bet-signal{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;line-height:1.4;border:1px solid transparent;white-space:nowrap}.bet-signal-compact{padding:1px 6px;font-size:11px}.bet-signal-3{background:rgba(61,214,140,.15);border-color:rgba(61,214,140,.45);color:var(--good)}.bet-signal-2{background:rgba(240,180,80,.12);border-color:rgba(240,180,80,.4);color:var(--warn)}.bet-signal-1{background:rgba(240,113,120,.12);border-color:rgba(240,113,120,.4);color:var(--bad)}.bet-signal-label{font-family:inherit;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.bet-signal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}.bet-signal-legend-title{font-weight:600;color:var(--text);margin-right:4px}.bet-signal-legend-text{margin-right:8px}.race-panel-header-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.race-panel-header-top h2{flex:1 1;min-width:0}.race-panel-header h2{font-size:1.2rem;font-weight:600}.race-panel-header p{color:var(--muted);font-size:13px;margin-top:4px}.race-panel-note{font-size:12px!important;margin-top:8px!important;color:var(--muted);opacity:.85}.runner-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:1rem}.runner-row{background:var(--surface2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.runner-row-main{width:100%;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:none;border:none;color:inherit;text-align:left;cursor:pointer}.runner-row-main:hover{background:rgba(255,255,255,.02)}.rank-badge{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:700;font-size:13px;background:var(--border)}.rank-badge.top{background:var(--accent);color:#0c1118}.runner-row-body{flex:1 1;min-width:0}.runner-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.runner-name{font-weight:600;font-size:1rem}.win-pct{font-weight:700;color:var(--accent);font-size:1.05rem}.prob-bar-track{height:4px;background:var(--border);border-radius:2px;margin:8px 0 6px;overflow:hidden}.prob-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:2px;transition:width .3s ease}.runner-meta{font-size:12px;color:var(--muted)}.qualitative{font-size:12px;color:var(--text);opacity:.9;margin-top:6px;line-height:1.45}.expand-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:18px}.form-section-title{font-size:.95rem;font-weight:600;margin:1.25rem 0 .5rem}.form-table-wrap{margin-bottom:1rem;overflow-x:auto}.form-table-note{font-size:12px;color:var(--muted);margin-bottom:.5rem;line-height:1.5}.form-table-note.error{color:var(--bad)}.form-legend{color:var(--muted)}.form-table{width:100%;border-collapse:collapse;font-size:12px}.form-table td,.form-table th{border-bottom:1px solid var(--border);padding:8px 6px;text-align:left;vertical-align:top}.form-table th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.form-table tbody tr:hover{background:var(--surface2)}.card-rival,mark.card-rival{background:rgba(255,200,50,.35);color:inherit;padding:0 3px;border-radius:3px;font-weight:600}.rival-beat-placer,mark.rival-beat-placer{background:rgba(80,200,120,.35);color:inherit;padding:0 3px;border-radius:3px;font-weight:600}mark.card-rival.inline,mark.rival-beat-placer.inline{padding:0 4px}.h2h-won{color:var(--good);font-weight:600}.h2h-lost{color:var(--bad);font-weight:600}.runner-details{border-top:1px solid var(--border);padding:12px 14px 14px 54px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:10px;gap:10px}.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-weight:600;font-size:1rem}.stat-value.highlight{color:var(--accent)}.edge-hint{font-size:12px;color:var(--warn);margin:12px 0}.factors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:6px;gap:6px}.factor-chip{padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:2px}.factor-chip,.factor-chip strong{font-size:11px}.factor-chip span:last-child{color:var(--muted)}@media (max-width:1100px){.race-panel-layout{grid-template-columns:1fr;grid-template-areas:"main" "leaderboards-left" "leaderboards-right"}.race-leaderboards{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}}@media (max-width:600px){.runner-details{padding-left:14px}}.app-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1.25rem;flex-wrap:wrap}.app-nav{display:flex;gap:8px;margin-bottom:0}.app-nav-link{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;padding:6px 12px;border-radius:6px;border:1px solid transparent}.app-nav-link:hover{color:var(--text);border-color:var(--border)}.app-nav-link.active{color:var(--accent);background:rgba(61,214,140,.08);border-color:var(--accent-dim)}.model-mode-toggle{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.model-mode-toggle:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.model-mode-toggle:disabled{opacity:.6;cursor:wait}.model-mode-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent-dim)}.model-mode-toggle-switch{position:relative;width:36px;height:20px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);flex-shrink:0;transition:background .15s,border-color .15s}.model-mode-toggle-switch.on{background:color-mix(in srgb,var(--accent) 22%,var(--surface2));border-color:var(--accent-dim)}.model-mode-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.model-mode-toggle-switch.on .model-mode-toggle-knob{transform:translateX(16px);background:var(--accent)}.journal-filter-summary{font-size:13px;color:var(--muted);margin-bottom:12px}.journal-filters{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:8px}.journal-filter-hint{margin:0;font-size:12px;color:var(--muted);max-width:280px;line-height:1.45}.journal-filter-label,.journal-filter-stake span:first-child{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.journal-stake-input{display:flex;align-items:center;gap:6px}.journal-stake-prefix{color:var(--muted);font-weight:600}.journal-stake-input input{width:72px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;padding:6px 8px}.journal-stake-suffix{font-size:12px;color:var(--muted)}.journal-filter-pills{display:flex;gap:6px}.journal-pill{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.journal-pill:hover{border-color:var(--accent-dim);color:var(--text)}.journal-pill.active{background:rgba(61,214,140,.1);border-color:var(--accent-dim);color:var(--accent)}.journal-pick-line{font-size:13px;line-height:1.45}.journal-pick-line+.journal-pick-line{margin-top:4px}.journal-page .page-header{margin-bottom:1.25rem}.journal-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.journal-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.journal-kpi-good .journal-kpi-value{color:var(--good)}.journal-kpi-bad .journal-kpi-value{color:var(--bad)}.journal-kpi-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.journal-kpi-value{font-size:1.5rem;font-weight:700;margin-top:4px}.journal-kpi-sub{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}.journal-gauge-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;margin-bottom:12px}.journal-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.journal-panel h3{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.journal-panel-compact{min-width:160px}.journal-big-num{font-size:1.75rem;font-weight:700}.journal-muted{color:var(--muted);font-size:12px}.journal-gauge{position:relative;height:28px;background:var(--surface2);border-radius:6px;overflow:hidden}.journal-gauge-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:6px}.journal-gauge-baseline{position:absolute;top:0;bottom:0;width:2px;background:var(--warn);opacity:.9}.journal-gauge-label{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700}.journal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:12px}.journal-panel-wide{grid-column:1/-1}.journal-line-chart{width:100%;height:auto;display:block}.journal-chart-line{stroke:var(--accent);stroke-width:2}.journal-chart-zero{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.journal-chart-empty{color:var(--muted);font-size:13px;padding:2rem 0;text-align:center}.journal-radar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.journal-radar{width:100%;max-width:220px;height:auto}.journal-radar-grid{fill:none}.journal-radar-axis,.journal-radar-grid{stroke:var(--border);stroke-width:1}.journal-radar-label{fill:var(--muted);font-size:8px}.journal-radar-fill{fill:rgba(61,214,140,.25);stroke:var(--accent);stroke-width:1.5}.journal-radar-score{font-size:13px;color:var(--muted)}.journal-radar-score strong{color:var(--accent);font-size:1.25rem}.journal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.journal-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.journal-calendar-header h3{margin:0;flex:1 1;text-align:center;font-size:14px}.journal-cal-nav{background:var(--surface2);border:1px solid var(--border);color:var(--text);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:18px;line-height:1}.journal-cal-nav:hover{border-color:var(--accent)}.journal-backfill{margin:0 0 1.25rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.journal-backfill h3{margin:0 0 6px;font-size:14px}.journal-backfill-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px}.journal-backfill-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.journal-backfill-row input[type=date],.journal-backfill-row input[type=text]{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:13px;min-width:140px}.journal-backfill-check{flex-direction:row!important;align-items:center;gap:6px!important;padding-bottom:6px}.journal-backfill-step{align-self:flex-end;width:34px;height:34px;margin-bottom:1px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:18px;line-height:1;cursor:pointer}.journal-backfill-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.journal-backfill-step:disabled{opacity:.45;cursor:not-allowed}.journal-section-title{margin:0 0 4px;font-size:1.1rem}.journal-section-sub{margin:0 0 14px;font-size:13px}.journal-profit-section{margin:1.25rem 0}.journal-profit-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.journal-metric-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);flex-shrink:0}.journal-metric-toggle button{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 12px}.journal-metric-toggle button:hover{color:var(--text)}.journal-metric-toggle-active{background:var(--surface2)!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--accent-dim)}.journal-kpi-row-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.journal-profit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.journal-bar-chart{display:flex;flex-direction:column;gap:8px;margin-top:8px}.journal-bar-best .journal-bar-label{color:var(--accent);font-weight:600}.journal-bar-label{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-bar-track{height:10px;background:var(--surface2);border-radius:4px;overflow:hidden}.journal-bar-fill{height:100%;border-radius:4px;min-width:2px}.journal-bar-pos{background:var(--good)}.journal-bar-neg{background:var(--bad)}.journal-bar-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.journal-bar-meta{color:var(--muted);font-size:10px;text-align:right}.journal-bar-hint{font-size:11px;margin:0 0 8px}.journal-bar-row{display:grid;grid-template-columns:minmax(72px,88px) 1fr minmax(52px,64px) 28px;grid-gap:8px;gap:8px;align-items:center;font-size:12px;width:100%;padding:4px 6px;margin:0 -6px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.journal-bar-row:hover{background:rgba(255,255,255,.04);border-color:var(--border)}.journal-bar-active{background:rgba(61,214,140,.08);border-color:rgba(61,214,140,.35)}.journal-kpi-clickable{cursor:pointer;text-align:left;width:100%;font:inherit;transition:border-color .15s}.journal-kpi-active,.journal-kpi-clickable:hover{border-color:var(--accent)}.journal-kpi-active{box-shadow:0 0 0 1px rgba(61,214,140,.25)}.journal-stat-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px}.journal-stat-filter-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.journal-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;border-radius:999px;background:rgba(61,214,140,.12);border:1px solid rgba(61,214,140,.35);font-size:12px}.journal-stat-pill-type{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.journal-stat-pill-x{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.journal-stat-pill-x:hover{color:var(--text)}.journal-stat-clear{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:12px;text-decoration:underline}.journal-race-list-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.journal-race-list-header h3{margin:0}.journal-race-count{color:var(--muted);font-weight:400;font-size:13px}.journal-horse-search input{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 12px;font-size:13px;min-width:200px}.journal-horse-search input:focus{outline:none;border-color:var(--accent)}.journal-table-scroll{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:8px}.journal-table-scroll .journal-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.journal-cal-day{aspect-ratio:1;border-radius:6px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;border:1px solid var(--border);background:var(--surface2)}.journal-cal-profit{background:rgba(61,214,140,.12);border-color:rgba(61,214,140,.35)}.journal-cal-loss{background:rgba(240,113,120,.1);border-color:rgba(240,113,120,.35)}.journal-cal-flat{background:rgba(139,155,180,.08)}.journal-cal-empty{opacity:.45}.journal-cal-num{font-weight:700;font-size:11px}.journal-cal-pnl{font-weight:600;font-size:10px}.journal-cal-meta{color:var(--muted);font-size:9px}.journal-table-wrap{overflow-x:auto}.journal-table{width:100%;border-collapse:collapse;font-size:13px}.journal-table td,.journal-table th{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.journal-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.journal-pending{opacity:.65}.journal-pos{color:var(--good)}.journal-neg{color:var(--bad)}.header-refresh-btn,.journal-refresh-btn{background:var(--accent-dim,var(--surface));border:1px solid var(--accent,var(--border));border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.header-refresh-btn:hover:not(:disabled),.journal-refresh-btn:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.08)}.header-refresh-btn:disabled,.journal-refresh-btn:disabled{opacity:.6;cursor:wait}.journal-loading{color:var(--muted);text-align:center;padding:3rem}@media (max-width:900px){.journal-gauge-row,.journal-grid{grid-template-columns:1fr}}