:root{--font-body:"Inter", -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei UI", sans-serif;--font-display:"Source Serif 4", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei UI", Georgia, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--card-shadow:none;--hero-title-size:24px;--hero-title-weight:600;--hero-title-tracking:-.2px;--section-title-size:16px;--section-title-weight:600;--section-title-transform:none;--section-title-tracking:0;--subpanel-title-transform:uppercase;--subpanel-title-tracking:.4px;--subpanel-title-weight:600;--panel-padding:24px;--subpanel-padding:16px;--control-height:38px;--table-head-size:12px;--table-body-size:14px;--bg:#f6f4ee;--text:#16130e;--muted:#6a6155;--surface:#fff;--surface-2:#fbfaf6;--surface-elev:#fff;--line:#e6e1d6;--line-strong:#d8d1c2;--primary:#44564b;--primary-2:#55675b;--danger:#b0271f;--ok:#15803d;--warn:#a9853f;--info:#356593;--nav-bg:#f1ede4;--nav-link:#3a342b;--nav-hover-bg:#ebe5d9;--nav-hover-border:#d8cfbd;--nav-active-bg:#44564b;--nav-active-border:#44564b;--nav-active-text:#f4f1e9;--log-bg:#201a15;--log-text:#efe5d8;--log-border:#3b3026}html[data-theme=karimoku-case]{--font-body:"Avenir Next", "Avenir", "SF Pro Text", -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei UI", sans-serif;--font-display:"Avenir Next", "Avenir", "SF Pro Text", "Noto Sans TC", "PingFang TC", sans-serif;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--card-shadow:none;--hero-title-size:24px;--hero-title-weight:700;--hero-title-tracking:-.2px;--section-title-size:16px;--section-title-weight:700;--section-title-transform:none;--section-title-tracking:0;--subpanel-title-transform:none;--subpanel-title-tracking:.35px;--subpanel-title-weight:700;--panel-padding:24px;--subpanel-padding:16px;--control-height:38px;--table-head-size:12px;--table-body-size:14px;--bg:#ede7dc;--text:#1e1a16;--muted:#696056;--surface:#f5f0e8;--surface-2:#eee4d4;--surface-elev:#faf6ee;--line:#cfc2af;--line-strong:#b9aa96;--primary:#3d2e1e;--primary-2:#5a4330;--danger:#dc2626;--ok:#16a34a;--warn:#d97706;--info:#3b82f6;--nav-bg:#e4dbcb;--nav-link:#312820;--nav-hover-bg:#d9cfbe;--nav-hover-border:#ad9b84;--nav-active-bg:#cec1ad;--nav-active-border:#8f7c64;--nav-active-text:#1f1812;--log-bg:#201a15;--log-text:#efe5d8;--log-border:#3b3026}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:var(--bg);font-family:var(--font-body);min-height:100vh}a{color:var(--primary);text-underline-offset:2px}.app-layout{min-height:100vh;display:flex}.app-shell{min-height:100vh;margin:0;display:flex}.app-main{flex:1;min-width:0;overflow-y:auto}.trading-freshness-banner{z-index:30;color:#713f12;background:#fffbeb;border-bottom:1px solid #fbbf24;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:13px;line-height:1.45;display:flex;position:sticky;top:0}.trading-freshness-banner div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trading-freshness-banner button{color:#7c2d12;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #d97706;border-radius:8px;padding:7px 12px;font-weight:700}.trading-freshness-banner button:disabled{cursor:wait;opacity:.65}.trading-freshness-banner-note{color:#92400e;font-weight:600}.side-nav{border-right:1px solid var(--line);background:var(--nav-bg);width:236px;height:100vh;padding:16px 12px;position:sticky;top:0}.side-nav-brand{border-bottom:1px solid var(--line);padding:10px 10px 12px}.side-nav-title{font-family:var(--font-display);letter-spacing:.1px;font-size:21px;font-weight:700}.side-nav-subtitle{color:var(--muted);margin-top:4px;font-size:12px}.side-nav-links{gap:6px;margin-top:10px;display:grid}.side-nav-link{color:var(--nav-link);border-radius:var(--radius-sm);letter-spacing:0;border:1px solid #0000;padding:12px 10px;font-size:16px;font-weight:700;text-decoration:none;transition:all .14s;display:block}.side-nav-link:hover{border-color:var(--nav-hover-border);background:var(--nav-hover-bg)}.side-nav-link.is-active{border-color:var(--nav-active-border);background:var(--nav-active-bg);color:var(--nav-active-text);box-shadow:inset 2px 0 0 var(--primary)}.side-nav-logout{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--nav-link);cursor:pointer;font:inherit;text-align:left;background:0 0;margin-top:18px;padding:10px;font-size:14px;font-weight:700}.side-nav-logout:hover{background:var(--nav-hover-bg);border-color:var(--nav-hover-border)}.app-content{flex:1;min-width:0}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elev);width:min(440px,100%);padding:28px}.auth-kicker{color:var(--muted);letter-spacing:.35px;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.auth-title{font-family:var(--font-display);margin:0;font-size:28px;line-height:1.2}.auth-copy{color:var(--muted);margin:8px 0 0;font-size:14px}.auth-form{gap:14px;margin-top:24px;display:grid}.auth-field{gap:6px;font-size:13px;font-weight:700;display:grid}.auth-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;min-height:var(--control-height);background:#fff;padding:8px 10px}.auth-error{border-radius:var(--radius-sm);color:var(--danger);background:#fff0f0;border:1px solid #f0a0a0;padding:10px;font-size:13px;font-weight:700}.auth-submit{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;font:inherit;min-height:var(--control-height);padding:9px 12px;font-weight:700}.auth-submit:disabled{cursor:progress;opacity:.65}.shell{max-width:none;margin:0;padding:28px 32px 44px}.page-header,.hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elev);box-shadow:var(--card-shadow);justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 24px;display:flex}.page-header-main{min-width:0}.page-header h1,.hero h1{font-family:var(--font-display);font-size:var(--hero-title-size);letter-spacing:var(--hero-title-tracking);line-height:1.2;font-weight:var(--hero-title-weight);margin:0}.page-header p,.hero p{color:var(--muted);margin:6px 0 0;font-size:13px}.page-header-action{flex:none;align-self:center}.hero-links{flex-wrap:wrap;gap:14px;margin-top:8px;font-size:14px;display:flex}.entry-grid{grid-template-columns:1.5fr 1fr;gap:14px;margin-top:12px;display:grid}.entry-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elev);padding:var(--panel-padding)}.entry-panel-title{letter-spacing:.2px;font-size:14px;font-weight:700}.entry-panel-desc{color:var(--muted);margin-top:6px;font-size:13px}.flow-list{margin:10px 0 0;padding-left:18px;font-size:13px}.flow-list li+li{margin-top:5px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px;display:grid}.feature-card{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--panel-padding);color:inherit;text-decoration:none;transition:border-color .16s;display:block}.feature-card:hover{border-color:#d8d1c2}.feature-card-title{font-size:14px;font-weight:800}.feature-card-desc{color:var(--muted);margin-top:5px;font-size:12px}.ui-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);margin-top:14px;overflow:hidden}.ui-card-header{background:var(--surface-2);border-bottom:1px solid var(--line);letter-spacing:.2px;font-weight:600;font-family:var(--font-display);padding:12px 14px}.ui-table-wrap{overflow:auto}.ui-table{border-collapse:collapse;width:100%;min-width:640px}.ui-table th{text-align:left;border-bottom:1px solid var(--line);font-size:var(--table-head-size);letter-spacing:.2px;background:#fbfaf6;padding:10px 12px;font-weight:600}.ui-table td{font-size:var(--table-body-size);border-top:1px solid #e6e1d6;padding:10px 12px}.optimizer-trial-table th,.optimizer-trial-table td{white-space:nowrap;vertical-align:middle}.optimizer-trial-table thead th{z-index:2;position:sticky;top:0}.optimizer-sticky-col{z-index:1;background:inherit;position:sticky;left:0}.optimizer-trial-table thead .optimizer-sticky-col{z-index:3}.optimizer-sort-btn{all:unset;cursor:pointer;font:inherit;flex-direction:column;align-items:flex-start;gap:1px;font-weight:600;line-height:1.1;display:inline-flex}.optimizer-sort-btn-main{align-items:center;gap:4px;display:inline-flex}.optimizer-sort-btn-sub{color:#6a6155;white-space:nowrap;font-size:11px;font-weight:500}.optimizer-benchmark-row{background:#4a556814}.optimizer-shadow-row{background:#4ade8014}.optimizer-batch-list{gap:8px;display:grid}.optimizer-batch-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elev);padding:10px 12px}.optimizer-batch-title{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.optimizer-batch-status{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.optimizer-batch-status.status-success{color:#166534;background:#dcfce7;border:1px solid #86efac}.optimizer-batch-status.status-running{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.optimizer-batch-status.status-failed{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.optimizer-batch-status.status-queued{color:#475569;background:#e2e8f0;border:1px solid #cbd5e1}.optimizer-shadow-tag{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:999px;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.optimizer-execution-context-cell{white-space:normal;word-break:break-word;max-width:340px;line-height:1.35}.optimizer-action-stack{flex-direction:column;gap:6px;display:flex}.optimizer-mock-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-elev);padding:18px 20px}.optimizer-mock-section-title{color:var(--text);font-size:15px;font-weight:700}.optimizer-mock-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.optimizer-mock-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.optimizer-mock-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.optimizer-mock-stars-inline{border-left:1px solid var(--line);align-items:center;gap:6px;min-height:36px;margin-left:4px;padding-left:14px;display:inline-flex}.optimizer-mock-stars-icon{font-size:15px}.optimizer-mock-stars-label{color:var(--text);font-size:13px;font-weight:700}.optimizer-mock-stars-sub{color:var(--muted);font-size:12px}.optimizer-gate-banner{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6;gap:2px;margin-top:8px;padding:8px 10px;display:grid}.optimizer-gate-banner.is-ready{border-color:#9ec8a7}.optimizer-gate-banner.is-degraded{border-color:#e6d8bc}.optimizer-gate-banner.is-blocked{border-color:#e0a5a5}.optimizer-gate-banner.is-unknown{border-color:#e6e1d6}.optimizer-gate-title{color:var(--text);font-size:12px;font-weight:700}.optimizer-gate-hint{color:var(--muted);font-size:11px}.optimizer-mock-log-toggle{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elev);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.optimizer-mock-log-dot{background:#9a9082;border-radius:999px;flex-shrink:0;width:8px;height:8px}.optimizer-mock-log-dot.is-running{background:var(--ok);animation:1.5s ease-in-out infinite ingest-pulse}.optimizer-mock-log-title{color:var(--text);font-size:13px;font-weight:700}.optimizer-mock-log-meta{color:var(--muted);flex:1;min-width:0;font-size:12px}.optimizer-mock-log-arrow{color:#9a9082;font-size:12px}.optimizer-mock-log-body{border-radius:var(--radius-md);color:#94a3b8;background:#1c1b22;border:1px solid #2a2838;max-height:240px;margin-top:8px;padding:12px 14px;overflow:auto}.optimizer-mock-candidate-table .optimizer-mock-arrow-cell{color:#9a9082;text-align:center;width:28px}.optimizer-trial-filter-panel{border-radius:var(--radius-md);background:#fbfaf6;border:1px solid #e6e1d6;gap:10px;padding:12px 14px;display:grid}.optimizer-trial-filter-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.optimizer-trial-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.optimizer-trial-filter-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.optimizer-trial-filter-counts>div{border-radius:var(--radius-sm);background:#fff;border:1px solid #e6e1d6;gap:2px;padding:7px 9px;display:grid}.optimizer-trial-filter-counts span{letter-spacing:.3px;color:#6a6155;font-size:10px}.optimizer-trial-filter-counts strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px}.optimizer-trial-filter-pending{border-radius:var(--radius-sm);color:#6d4d0f;background:#fff7df;border:1px solid #e6be77;padding:8px 10px;font-size:12px;line-height:1.45}.optimizer-trial-filter-grid>div{border-radius:var(--radius-sm);background:#fbfaf6;border:1px solid #e4d8c8;gap:3px;padding:8px 10px;display:grid}.optimizer-trial-filter-grid span{letter-spacing:.3px;color:#6a6155;font-size:10px}.optimizer-trial-filter-grid strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.optimizer-trial-filter-custom{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.optimizer-sort-header{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700}.optimizer-sort-header:hover,.optimizer-sort-header.is-active{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.optimizer-mock-data-row{cursor:pointer}.optimizer-mock-data-row:hover td{background:#3e2e1e0a}.optimizer-mock-data-row.is-open td{background:#3d2e1e0f}.optimizer-mock-factor-row td{background:#3d2e1e0a}.optimizer-mock-factor-grid{border-radius:var(--radius-md);background:#fbfaf6;border:1px solid #e6e1d6;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 12px;display:grid}.optimizer-mock-factor-item{flex-direction:column;gap:2px;display:flex}.optimizer-mock-factor-item span{color:#6a6155;letter-spacing:.3px;font-size:10px}.optimizer-mock-factor-item strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.optimizer-mock-factor-item.optimizer-mock-factor-wide{grid-column:span 2}.optimizer-replay-quick-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfaf6;gap:8px;padding:10px 12px;display:grid}.optimizer-replay-quick-card.tone-ok{border-color:#9ec8a7}.optimizer-replay-quick-card.tone-warn{border-color:#e6d8bc}.optimizer-replay-quick-card.tone-fail{border-color:#e0a5a5}.optimizer-replay-quick-card.tone-muted{border-color:var(--line)}.optimizer-replay-quick-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.optimizer-replay-quick-error{color:#8a3333;overflow-wrap:anywhere;background:#fff;border:1px solid #e6b7b7;border-radius:6px;padding:6px 8px;font-size:12px}.chip{border:1px solid var(--line-strong);color:#344054;background:#fbfaf6;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;display:inline-flex}.status-ok{color:var(--ok);font-weight:700}.status-bad{color:var(--danger);font-weight:700}code{background:#fbfaf6;border:1px solid #e6e1d6;border-radius:6px;padding:1px 5px;font-size:11px}@keyframes optimizer-bar-shift{0%{background-position:0%}to{background-position:200%}}@keyframes optimizer-read-sweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}.optimizer-progress-track{background:#1e293b;border-radius:4px;height:6px;position:relative;overflow:hidden}.optimizer-progress-track.is-reading:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff29 50%,#0000 100%);width:40%;animation:1.2s linear infinite optimizer-read-sweep;position:absolute;inset:0}.optimizer-progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#60a5fa 50%,#3b82f6 100%) 0 0/200% 100%;height:100%;transition:width .3s}.ui-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px;display:grid}.ui-field-label{color:var(--text);font-size:12px}.ui-field-input,.ui-field-select{width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:#fff;outline:none;margin-top:4px;padding:7px 10px;font-size:13px;line-height:1.2;transition:border-color .14s,box-shadow .14s}.ui-field-input:focus,.ui-field-select:focus{border-color:#6a6155;box-shadow:0 0 0 3px #6f5f4d24}.ui-field-select-inline{width:140px;margin-top:0}.ui-inline-input{min-width:240px;min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--line);padding:7px 10px;font-size:13px}.ui-inline-input:focus{border-color:#6a6155;outline:none;box-shadow:0 0 0 3px #6f5f4d24}.ui-inline-input-grow{flex:320px;min-width:220px}.ui-check-inline{align-items:center;gap:6px;font-size:12px;display:inline-flex}.ui-btn-gradient{background:linear-gradient(120deg,#44564b 0%,#55675b 100%)}.ui-heading-lg{font-family:var(--font-display);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-transform);margin-bottom:10px}.daily-decision-board{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0 12px}.plane-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plane-tab-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fbfaf6;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.plane-tab-button.is-active{color:#f4f1e9;background:#44564b;border-color:#44564b;box-shadow:0 6px 16px #44564b2e}.daily-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;display:flex}.ui-pill-tabs,.ops-tabs,.ops-subtabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ui-pill-tabs{margin:14px 0 0}.ui-pill-tabs-sm,.ops-subtabs{gap:6px}.ops-tabs{margin-top:16px}.ops-tabs-compact{margin-top:0;margin-bottom:12px}.ui-pill-tab-button,.daily-tab-button,.ops-tab-button,.ops-subtab-button{background:var(--surface-elev);border:1px solid var(--line);color:var(--muted);cursor:pointer;letter-spacing:0;border-radius:999px;font-weight:700;transition:all .14s}.ui-pill-tab-button,.daily-tab-button,.ops-tab-button{padding:7px 14px;font-size:13px}.ui-pill-tabs-sm .ui-pill-tab-button,.ops-subtab-button{padding:5px 11px;font-size:12px}.ui-pill-tab-button.is-active,.daily-tab-button.is-active,.ops-tab-button.is-active,.ops-subtab-button.is-active{background:var(--primary);border-color:var(--primary);color:var(--surface-elev);box-shadow:0 6px 16px #3e322724}.ui-pill-tab-button:disabled{cursor:not-allowed;opacity:.55}.ops-panel{margin-top:4px}.ops-status-hero{border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.ops-status-hero:before{content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.ops-status-hero-red{background:linear-gradient(135deg, #fff5f5 0%, #fff 58%, var(--surface-elev) 100%)}.ops-status-hero-red:before{background:var(--danger)}.ops-status-hero-green{background:linear-gradient(135deg, #f0fdf4 0%, #fff 58%, var(--surface-elev) 100%)}.ops-status-hero-green:before{background:var(--ok)}.ops-status-hero-yellow{background:linear-gradient(135deg, #fffbeb 0%, #fff 58%, var(--surface-elev) 100%)}.ops-status-hero-yellow:before{background:#d39a27}.ops-status-hero-body{flex:1;min-width:0}.ops-status-hero-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.ops-meta-chip{background:var(--surface-elev);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;margin:6px 6px 0 0;padding:5px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.ops-meta-chip-warn{color:var(--warn);background:#fffbeb;border-color:#fde68a}.ops-meta-chip-danger{color:var(--danger);background:#fef2f2;border-color:#fecaca}.ops-section-label{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin:14px 0 8px;font-size:11px;font-weight:800}.ops-metrics-tier1{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ops-metric-big{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;padding:14px 16px;position:relative;overflow:hidden}.ops-metric-big-label{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;font-size:10.5px;font-weight:800}.ops-metric-big-value{color:var(--text);overflow-wrap:anywhere;font-size:26px;font-weight:850;line-height:1.1}.ops-metric-big-sub{color:var(--muted);margin-top:4px;font-size:11px}.ops-metric-big-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;position:absolute;top:10px;right:10px}.ops-metric-big-badge-red{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.ops-metric-big-badge-warn{color:var(--warn);background:#fffbeb;border:1px solid #fde68a}.ops-metric-big-badge-green{color:var(--ok);background:#f0fdf4;border:1px solid #bbf7d0}.ops-metrics-tier2{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.ops-metric-compact{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;padding:10px 12px}.ops-metric-compact[title]{cursor:help}.ops-metric-compact-label{color:var(--muted);letter-spacing:.4px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:4px;font-size:10px;font-weight:800;overflow:hidden}.ops-metric-compact-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750;overflow:hidden}.ops-cache-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.ops-cache-stat{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;padding:8px 10px}.ops-cache-stat-label{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.ops-cache-stat-value{color:var(--text);margin-top:2px;font-size:17px;font-weight:850}.ops-cache-gap-banner{border-radius:var(--radius-sm);background:#fff7ed;border:1px solid #fed7aa;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.ops-cache-gap-banner.is-blocker{background:#fef2f2;border-color:#fecaca}.ops-cache-gap-title{color:var(--text);font-size:13px;font-weight:800}.ops-status-title{font-size:22px;font-weight:800}.ops-status-dot{border-radius:999px;flex:none;width:15px;height:15px;display:inline-block}.ops-status-dot-green{background:#36b56a}.ops-status-dot-yellow{background:#d39a27}.ops-status-dot-red{background:#c44a3a}.ops-status-dot-halo-green{box-shadow:0 0 0 4px #bbf7d0}.ops-status-dot-halo-yellow{box-shadow:0 0 0 4px #fde68a}.ops-status-dot-halo-red{box-shadow:0 0 0 4px #fecaca}.ops-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ops-action-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.ops-summary-grid-span2{grid-column:span 2}.ops-subcard-accent-danger{border-top:3px solid var(--danger)}.ops-subcard-accent-warn{border-top:3px solid var(--warn)}.ops-subcard-accent-ok{border-top:3px solid var(--ok)}.ops-subcard-accent-purple{border-top:3px solid var(--primary-2)}.ops-subcard-accent-info{border-top:3px solid var(--primary)}.ops-subcard-accent-muted{border-top:3px solid var(--muted)}.ops-subcard-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ops-subcard-badge{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.ops-subcard-badge-red{color:var(--danger);background:#fef2f2;border-color:#fecaca}.ops-subcard-badge-warn{color:var(--warn);background:#fffbeb;border-color:#fde68a}.ops-subcard-badge-green{color:var(--ok);background:#f0fdf4;border-color:#bbf7d0}.ops-subcard-badge-purple{color:var(--primary-2);background:#f5f3ff;border-color:#ddd6fe}.ops-subcard-badge-muted{background:var(--surface);border-color:var(--line);color:var(--muted)}.ops-inline-help{border:1px solid var(--line);color:var(--muted);cursor:help;vertical-align:text-top;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.ops-row-muted td{color:color-mix(in srgb, var(--muted) 82%, transparent)}.ops-blocker-list{gap:8px;margin-top:8px;display:grid}.ops-blocker{border-left:4px solid var(--line-strong);background:var(--surface-elev);padding:7px 8px}.ops-blocker-high{border-left-color:var(--danger)}.ops-blocker-warning{border-left-color:#d39a27}.ops-blocker-info{border-left-color:var(--muted)}.ops-blocker-title{font-size:13px;font-weight:700}.ops-blocker-action{color:var(--muted);margin-top:3px;font-size:12px}.ops-mini-list{color:var(--muted);gap:4px;margin-top:8px;font-size:13px;display:grid}.ops-action-list{gap:8px;margin-top:8px;display:grid}.ops-action-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-elev);padding:8px}.ops-action-title{color:var(--text);font-size:13px;font-weight:700}.ops-action-note{color:var(--muted);margin-top:3px;font-size:12px}.ops-log-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.ops-log-panel-header{background:var(--surface-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;display:flex}.ops-log-panel-title{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.ops-log-pulse{background:var(--ok);border-radius:999px;width:7px;height:7px}.ops-log-pulse-active{animation:1.5s ease-in-out infinite ops-pulse}@keyframes ops-pulse{0%,to{opacity:1}50%{opacity:.25}}.ops-log-filter-row{align-items:center;gap:8px;display:flex}@media (max-width:1180px){.ops-metrics-tier2{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:980px){.ops-status-hero{flex-direction:column;align-items:flex-start}.ops-status-hero-actions{justify-content:flex-start}.ops-metrics-tier1,.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-summary-grid-span2{grid-column:span 2}}@media (max-width:720px){.ops-metrics-tier1,.ops-metrics-tier2,.ops-summary-grid,.ops-cache-stat-grid{grid-template-columns:1fr}.ops-summary-grid-span2{grid-column:span 1}.ops-log-panel-header,.ops-log-filter-row{flex-direction:column;align-items:stretch}}.ops-subtabs{margin:0 0 12px}.daily-signal-date{color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:600}.daily-regime-line{font-family:var(--font-display);letter-spacing:-.025em;flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:16px;font-size:clamp(20px,2vw,26px);font-weight:760;display:flex}.daily-regime-dot{border-radius:999px;width:.72em;height:.72em;display:inline-block;box-shadow:inset 0 2px 5px #ffffff80,0 2px 8px #00000024}.daily-regime-dot-full{background:linear-gradient(#7ee35f 0%,#228b22 100%)}.daily-regime-dot-half{background:linear-gradient(#ffe082 0%,#c98900 100%)}.daily-regime-dot-out{background:linear-gradient(#ff9b90 0%,#b42318 100%)}.daily-regime-dot-unknown{background:linear-gradient(#d8d1c2 0%,#6a6155 100%)}.daily-regime-label{color:#2f7d3a}.daily-regime-hint{color:var(--muted);font-family:var(--font-body);letter-spacing:0;margin-left:6px;font-size:12px;font-weight:600}.daily-action-columns{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:18px;display:grid}.daily-action-title{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(18px,1.8vw,22px);font-weight:760}.daily-signal-list{gap:12px;display:grid}.daily-signal-card{border-bottom:1px solid var(--line);padding:0 0 14px}.daily-signal-main,.daily-signal-sub{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.daily-signal-main{color:var(--ink);font-size:15px;font-weight:700}.daily-signal-sub{color:var(--muted);margin-top:8px;font-size:13px;font-weight:600}.daily-signal-card-sell{border-color:#e6e1d6}.daily-empty-box{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);background:#fbfaf6;padding:14px 18px;font-size:14px;font-weight:700}.daily-empty-box-blue{color:#245da8;background:#eaf1ff;border-color:#d5e2f6}.daily-empty-note{color:#5f7190;margin-top:8px;font-size:12px;font-weight:600}@media (max-width:820px){.daily-action-columns{grid-template-columns:1fr}.daily-regime-line{padding-bottom:24px}}.ui-text-muted-sm{color:var(--muted);font-size:12px}.ui-text-muted-md{color:var(--muted);font-size:13px}.ui-row-wrap{flex-wrap:wrap;gap:8px;display:flex}.ui-grid-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.ui-grid-step-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.ingest-mock-head{flex-direction:column;gap:4px;display:flex}.ingest-mock-stepper{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid;position:relative}.ingest-mock-stepper:before{content:"";pointer-events:none;z-index:0;background:#e6e1d6;border-radius:999px;height:2px;position:absolute;top:14px;left:14px;right:14px}.ingest-mock-step{background:var(--surface);z-index:1;justify-self:start;align-items:center;gap:8px;width:max-content;min-width:0;max-width:100%;padding-right:12px;display:flex;position:relative}.ingest-mock-step:nth-child(2){justify-content:flex-start;padding-left:12px}.ingest-mock-step:nth-child(3){justify-content:flex-start;padding-left:12px;padding-right:0}.ingest-mock-step-dot{border:1px solid var(--line);color:#6a6155;background:#e6e1d6;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.ingest-mock-step-label{color:#9a9082;white-space:nowrap;font-size:13px;font-weight:600}.ingest-mock-step.is-done .ingest-mock-step-dot{background:var(--ok);color:#fff;border-color:var(--ok)}.ingest-mock-step.is-done .ingest-mock-step-label{color:#166534}.ingest-mock-step.is-active .ingest-mock-step-dot{background:var(--primary);color:#fff;border-color:var(--primary)}.ingest-mock-step.is-active .ingest-mock-step-label{color:var(--primary)}.ingest-mock-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ingest-mock-stat-card{border:1px solid var(--line);background:var(--surface-elev);border-radius:var(--radius-md);padding:14px 16px}.ingest-mock-stat-label{text-transform:uppercase;letter-spacing:.3px;color:#9a9082;font-size:11px;font-weight:700}.ingest-mock-stat-value{font-variant-numeric:tabular-nums;color:#16130e;margin-top:6px;font-size:30px;font-weight:800;line-height:1}.ingest-mock-stat-value.is-success{color:#15803d}.ingest-mock-stat-value.is-danger{color:#b91c1c}.ingest-mock-status{color:#6a6155;align-items:center;gap:8px;font-size:13px;display:flex}.ingest-mock-status-dot{background:#9a9082;border-radius:999px;flex-shrink:0;width:8px;height:8px}.ingest-mock-status-dot.is-running{background:var(--ok);animation:1.5s ease-in-out infinite ingest-pulse}.ingest-progress-line,.ingest-completion-notice,.ingest-cache-extend-notice,.ingest-trading-recalc-notice{border:1px solid var(--line);border-radius:var(--radius-sm);color:#16130e;padding:8px 10px;font-size:13px;line-height:1.5}.ingest-progress-line{background:#fff7ed;border-color:#fed7aa}.ingest-completion-notice{background:#ecfdf5;border-color:#bbf7d0}.ingest-cache-extend-notice{background:#eff6ff;border-color:#bfdbfe}.ingest-trading-recalc-notice{background:#f0fdf4;border-color:#86efac}.ingest-auto-chain-toggle{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.ingest-auto-chain-toggle input{accent-color:var(--ok)}@keyframes ingest-pulse{0%,to{opacity:1}50%{opacity:.45}}.ingest-mock-progress-head{color:#6a6155;justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.ingest-mock-progress-track{border:1px solid var(--line);background:#e6e1d6;border-radius:999px;height:6px;overflow:hidden}.ingest-mock-progress-fill{background:var(--primary);height:100%;transition:width .22s}.ingest-mock-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.ingest-mock-datasets{flex-wrap:wrap;gap:8px;display:flex}.ingest-mock-dataset-tag{border:1px solid var(--line);background:var(--surface-elev);color:#6a6155;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.ingest-mock-dataset-tag input{cursor:pointer;width:14px;height:14px;accent-color:var(--ok)}.ingest-mock-dataset-tag.is-checked{color:#166534;background:#dcfce7;border-color:#86efac}.ingest-dataset-chip-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.ingest-dataset-chip{cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;min-height:66px;padding:8px 10px;display:flex}.ingest-dataset-chip.ui-chip-active{border-color:var(--primary);background:#fbfaf6}.ingest-dataset-chip.ui-chip-inactive{background:var(--surface-elev)}.ingest-dataset-chip-title{color:var(--text);font-size:13px;font-weight:700;line-height:1.25}.ingest-dataset-chip-code{color:var(--muted);font-family:var(--font-mono);letter-spacing:0;font-size:11px}.ui-grid-metric{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.ui-grid-metric-wide{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.ui-subpanel{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--subpanel-padding);background:#fbfaf6;margin-top:12px}.ui-subpanel-header{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.ui-subpanel-title{font-weight:var(--subpanel-title-weight);letter-spacing:var(--subpanel-title-tracking);text-transform:var(--subpanel-title-transform);font-size:12px}summary.ui-subpanel-title{cursor:pointer;list-style:none}summary.ui-subpanel-title::-webkit-details-marker{display:none}.ui-subpanel-title-inline{color:var(--muted);margin-left:8px;font-weight:500}.ui-count-text{color:var(--muted);font-size:12px}.ui-mono{font-family:var(--font-mono)}.ui-weight-700{font-weight:700}.ui-text-danger{color:var(--danger)}.ui-text-ok{color:#065f46}.ui-value-warn{color:#b45309;font-weight:700}.ui-sev{text-align:center;letter-spacing:.3px;border:1px solid var(--line-strong);border-radius:999px;min-width:56px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.ui-sev-high{color:var(--danger);background:#fef2f2;border-color:#ef4444}.ui-sev-warning{color:#8a4b08;background:#fff7ed;border-color:#fb923c}.ui-sev-info{color:#16130e;background:var(--surface-2)}.ui-link-summary{cursor:pointer;color:#16130e}.ui-link-inline{color:var(--primary);font-size:13px;font-weight:700;text-decoration:none}.ui-link-inline:hover{text-decoration:underline}.ui-pre-json{white-space:pre-wrap;margin-top:6px}.ui-log-pre{background:var(--log-bg);color:var(--log-text);border-radius:var(--radius-md);border:1px solid var(--log-border);white-space:pre-wrap;height:320px;margin-top:0;padding:10px;font-size:12px;line-height:1.35;overflow:hidden auto}.ui-log-pre-alt{background:var(--log-bg);color:var(--log-text);border-radius:var(--radius-md);white-space:pre-wrap;margin-top:10px;padding:10px;font-size:12px}.ui-log-frame{border:1px solid var(--log-border);border-radius:var(--radius-md)}.ui-card-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--panel-padding);box-shadow:var(--card-shadow);margin-top:20px}.ui-summary-box{border-radius:var(--radius-md);padding:var(--subpanel-padding);color:#1e293b;background:#fbfaf6;border:1px solid #e6e1d6;margin-bottom:12px;font-size:13px}.ui-compare-wrap{margin-bottom:12px}.ui-grid-browser{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;display:grid}.ui-overview-box{border-radius:var(--radius-md);padding:var(--subpanel-padding);background:#fbfaf6;border:1px solid #e6e1d6;margin-top:10px}.ui-overview-title{color:#16130e;margin-bottom:8px;font-size:13px;font-weight:600}.ui-overview-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.ui-overview-item{border-radius:var(--radius-sm);background:var(--surface-elev);border:1px solid #e6e1d6;padding:8px}.ui-overview-item-label{color:#6a6155;font-size:12px}.ui-overview-item-value{font-size:20px;font-weight:800}.ui-overview-item-value-compact{color:#16130e;overflow-wrap:anywhere;word-break:break-word;font-size:13px;font-weight:600;line-height:1.35}.ui-history-box{border-radius:var(--radius-md);padding:var(--subpanel-padding);background:#fbfaf6;border:1px solid #e6e1d6;margin-top:10px}.ui-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ui-history-title{color:#4f4337;font-size:13px;font-weight:600}.ui-history-note{color:#7a7064;font-size:12px}.ui-check-chip{border:1px solid var(--line);background:#fbfaf6;border-radius:999px;padding:4px 10px;font-size:12px}.ui-card-header-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ui-card-body{padding:14px}.ui-log-pre-green{color:#e9f3ea;border-radius:var(--radius-md);white-space:pre-wrap;background:#27372c;border:1px solid #3f5d49;margin-top:10px;padding:10px;font-size:12px;overflow:auto}.ui-grid-two{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.ui-subhead-buy,.ui-subhead-sell{border:1px solid var(--line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:6px 8px;font-size:12px;font-weight:700}.ui-subhead-buy{background:#e9efe8}.ui-subhead-sell{background:#f8e9e6}.ui-table-shell-flat{border-top:none;border-radius:0 0 8px 8px;margin-top:0}.ui-chart-list{grid-template-columns:1fr;gap:8px;margin-top:8px;display:grid}.ui-chart-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--subpanel-padding);background:#fbfaf6}.ui-chart-title{font-size:12px;font-weight:700}.ui-chart-svg{border-radius:6px;margin-top:6px}.ui-chart-bg-blue{background:#fbfaf6}.ui-chart-bg-red{background:#f6ebe8}.ui-chart-bg-green{background:#e9efe8}.ui-warning-box{border:1px solid var(--line);border-radius:var(--radius-md);margin-top:8px;padding:8px}.ui-warning-title{font-size:12px;font-weight:700}.ui-warning-box-ok{background:#eaf1ea}.ui-warning-box-danger{background:#f8e9e6}.ui-warning-title-ok{color:var(--ok)}.ui-warning-title-danger{color:var(--danger)}.ui-warning-list{color:var(--danger);margin:6px 0 0 18px;padding:0;font-size:12px}.ui-white-box{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elev);margin-top:8px;padding:8px}.ui-status-box{border:1px solid var(--line);border-radius:var(--radius-md);color:#2f3e57;margin-bottom:10px;padding:10px 12px;font-size:12px}.ui-status-running{background:#fbfaf6}.ui-status-completed{background:#eaf1ea}.ui-status-error{background:#f8e9e6}.ui-status-limited{background:#f7efdf}.ui-progress-track{border:1px solid var(--line);background:#eceae3;border-radius:999px;width:100%;height:10px;overflow:hidden}.ui-progress-fill{background:linear-gradient(90deg,#44564b 0%,#55675b 100%);height:100%;transition:width .24s}.ui-stack-10{gap:10px;margin-top:10px;display:grid}.ui-mr-6{margin-right:6px}.ui-valign-top{vertical-align:top}.ui-self-center{align-self:center}.ui-mt-4{margin-top:4px}.ui-mt-6{margin-top:6px}.ui-mt-8{margin-top:8px}.ui-mt-10{margin-top:10px}.ui-mt-12{margin-top:12px}.ui-mb-0{margin-bottom:0}.ui-mb-6{margin-bottom:6px}.ui-mb-10{margin-bottom:10px}.ui-mb-12{margin-bottom:12px}.ui-mb-16{margin-bottom:16px}.ui-mb-8{margin-bottom:8px}.ui-prewrap-anywhere{white-space:pre-wrap;overflow-wrap:anywhere}.ui-break-anywhere{overflow-wrap:anywhere}.ui-inline-input-wide{min-width:260px}.ui-overview-grid-tight{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:8px;display:grid}.ui-value-22{font-size:22px}.ui-value-ok{color:var(--ok)}.ui-value-danger{color:var(--danger)}.ui-value-warning{color:var(--warn)}.ui-value-muted{color:var(--muted)}.ui-ml-6{margin-left:6px}.ui-ml-8{margin-left:8px}.ui-ml-10{margin-left:10px}.ui-text-status-ok{color:var(--ok);font-weight:700}.ui-text-status-danger{color:var(--danger);font-weight:700}.ui-text-status-muted{color:var(--muted);font-weight:700}.ui-font-14{font-size:14px}.ui-font-18{font-size:18px}.ui-block{display:block}.ui-grid-metric-mt8,.ui-grid-metric-wide-mt8{margin-top:8px}.ui-subpanel-title-mt10{margin-top:10px}.ui-subpanel-title-mt12{margin-top:12px}.ui-subpanel-title-mb8{margin-bottom:8px}.ui-table-shell-mt6{margin-top:6px}.ui-table-shell-mt8{margin-top:8px}.ui-table-shell-mt12{margin-top:12px}.ui-table-shell-radius6{border-radius:6px}.ui-table-shell-border-soft{border-color:#e2e8f0}.ui-table-shell-border-light{border-color:#e5e7eb}.ui-th-w-100{width:100px}.ui-th-w-170{width:170px}.ui-th-w-180{width:180px}.ui-th-w-240{width:240px}.ui-td-maxw-260{max-width:260px}.ui-td-w-80{width:80px}.ui-td-maxw-380{max-width:380px}.ui-chip-active{background:#e8f3ff}.ui-chip-inactive{background:#fff}.ui-section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--panel-padding);box-shadow:var(--card-shadow);margin-top:20px}.ui-sub-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--subpanel-padding);background:var(--surface-elev)}.ui-metric-label{color:var(--muted);letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:700}.ui-metric-value{font-size:26px;font-weight:800}.ui-step-pill{border:1px solid var(--line);background:var(--surface-elev);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.ui-inline-error{color:var(--danger);white-space:pre-wrap;margin-top:10px;font-size:13px}.ui-technical-details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-elev);margin-top:10px}.ui-technical-summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;padding:10px 12px;font-size:12px;font-weight:700;list-style:none}.ui-technical-summary::-webkit-details-marker{display:none}.ui-technical-body{border-top:1px solid var(--line);padding:10px 12px 12px}.ui-action-bar{flex-wrap:wrap;gap:10px;display:flex}.ui-action-gap-10{gap:10px}.ui-error-card{background:#fff5f5;border-color:#f8b4b4}.ui-error-card-head{background:#fff1f1;border-bottom-color:#f8b4b4}.ui-error-card-body{padding:14px;font-size:13px}.ui-table-shell{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:8px;overflow:auto}.ui-table-compact{border-collapse:collapse;width:100%;font-size:13px}.ui-table-head-row{text-align:left;background:#fbfaf6}.ui-table-th,.ui-table-td{padding:8px 10px}.ui-table-row{border-top:1px solid #e6e1d6}html[data-theme=karimoku-case] body{letter-spacing:.01em;line-height:1.6}html[data-theme=karimoku-case] .side-nav{background:var(--bg);border-right-color:#d8d1c2;width:216px;padding:26px 14px}html[data-theme=karimoku-case] .side-nav-brand{border-bottom:none;padding:0 0 14px}html[data-theme=karimoku-case] .side-nav-title{letter-spacing:1.3px;text-transform:uppercase;font-family:Avenir Next,Avenir,SF Pro Text,sans-serif;font-size:13px;font-weight:650}html[data-theme=karimoku-case] .side-nav-subtitle{letter-spacing:.8px;text-transform:uppercase;margin-top:6px;font-size:10px}html[data-theme=karimoku-case] .side-nav-links{gap:2px;margin-top:14px}html[data-theme=karimoku-case] .side-nav-link{letter-spacing:0;text-transform:none;border:none;border-bottom:1px solid #0000;border-radius:0;padding:12px 2px;font-size:13px}html[data-theme=karimoku-case] .side-nav-link.is-active{box-shadow:none;border-color:var(--primary);background:0 0}html[data-theme=karimoku-case] .shell{max-width:1380px;padding:42px 52px 56px}html[data-theme=karimoku-case] .hero{box-shadow:none;background:0 0;border:none;padding:4px 0 26px}html[data-theme=karimoku-case] .hero h1{letter-spacing:.8px;text-transform:uppercase;font-family:Avenir Next,Avenir,SF Pro Text,sans-serif;font-size:46px;font-weight:560;line-height:1.06}html[data-theme=karimoku-case] .ui-card,html[data-theme=karimoku-case] .ui-card-shell,html[data-theme=karimoku-case] .ui-section-card,html[data-theme=karimoku-case] .ui-sub-card,html[data-theme=karimoku-case] .ui-subpanel{box-shadow:none;background:0 0;border-color:#d8d1c2;border-radius:0}html[data-theme=karimoku-case] .ui-heading-lg{letter-spacing:.65px;text-transform:uppercase;font-family:Avenir Next,Avenir,SF Pro Text,sans-serif;font-size:20px;font-weight:650}html[data-theme=karimoku-case] .ui-table-th{letter-spacing:.7px;text-transform:uppercase;font-size:10px}html[data-theme=karimoku-case] .ui-table-head-row{background:0 0}html[data-theme=karimoku-case] .ui-table-row{border-top-color:#e6e1d6}html[data-theme=karimoku-case] .side-nav-link{border-radius:var(--radius-sm);letter-spacing:0;text-transform:none;border:1px solid #0000;padding:12px 10px;font-size:16px;font-weight:700}html[data-theme=karimoku-case] .side-nav-link:hover{background:var(--nav-hover-bg);border-color:var(--nav-hover-border)}html[data-theme=karimoku-case] .side-nav-link.is-active{box-shadow:inset 2px 0 0 var(--primary);background:var(--nav-active-bg);border-color:var(--nav-active-border)}html[data-theme=karimoku-case] .shell{max-width:none;margin:0;padding:28px 32px 44px}html[data-theme=karimoku-case] .hero{border:1px solid var(--line);background:var(--surface-elev);box-shadow:var(--card-shadow);padding:22px 24px}html[data-theme=karimoku-case] .hero h1{font-family:var(--font-display);font-size:var(--hero-title-size);font-weight:var(--hero-title-weight);letter-spacing:0;text-transform:none;line-height:1.2}html[data-theme=karimoku-case] .hero p{max-width:none;font-size:13px}html[data-theme=karimoku-case] .ui-card,html[data-theme=karimoku-case] .ui-card-shell,html[data-theme=karimoku-case] .ui-section-card,html[data-theme=karimoku-case] .ui-sub-card,html[data-theme=karimoku-case] .ui-subpanel{border-radius:var(--radius-lg);box-shadow:var(--card-shadow);background:var(--surface);border-color:var(--line)}html[data-theme=karimoku-case] .ui-heading-lg{font-family:var(--font-display);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-transform)}html[data-theme=karimoku-case] .ui-subpanel-title{letter-spacing:var(--subpanel-title-tracking);text-transform:var(--subpanel-title-transform);font-size:12px}html[data-theme=karimoku-case] .ui-table-th{font-size:var(--table-head-size);letter-spacing:.2px;text-transform:none}html[data-theme=karimoku-case] .ui-action-bar button{text-transform:none;letter-spacing:0;border-radius:var(--radius-sm)!important;font-size:14px!important}.replay-dashboard-shell{max-width:min(1680px,100vw - 48px)}.replay-viz{color:#e6edf3;letter-spacing:0;background:#0d1117;border:1px solid #30363d;border-radius:10px;flex-direction:column;gap:0;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;display:flex;overflow:hidden;box-shadow:0 22px 50px #0d111747}.replay-viz .ui-text-muted-sm{color:#8b949e}.replay-viz-picker{background:#161b22;border-bottom:1px solid #30363d;grid-template-columns:minmax(280px,1fr) minmax(360px,.92fr);align-items:end;gap:24px;padding:16px 22px;display:grid}.replay-viz-title span,.replay-viz-session-control label,.replay-viz-summary span,.replay-viz-day-grid span{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.35;display:block}.replay-viz-title h1{color:#c9a961;letter-spacing:0;margin:4px 0 6px;font-size:clamp(24px,3.2vw,36px);line-height:1}.replay-viz-title p,.replay-viz-session-control span{color:#8b949e;margin:0;font-size:13px;line-height:1.6}.replay-viz-session-control{gap:8px;display:grid}.replay-viz-picker select{color:#e6edf3;width:100%;min-width:0;font:inherit;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:10px 12px;font-size:12px}.session-picker{gap:6px;min-width:0;display:grid;position:relative}.session-picker-trigger{appearance:none;color:#e6edf3;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:#0d1117;border:1px solid #30363d;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.session-picker-trigger:hover,.session-picker-trigger:focus-visible{border-color:#58a6ff;outline:none}.session-picker-placeholder,.session-picker-finished{color:#8b949e;font-size:12px}.session-picker-chevron{color:#8b949e;flex:none;font-size:16px;line-height:1}.session-picker-backdrop{z-index:90;background:#010409bd;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.session-picker-dialog{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:8px;flex-direction:column;gap:12px;width:min(760px,100vw - 32px);max-height:min(760px,100vh - 48px);padding:16px;display:flex;box-shadow:0 24px 70px #0104098a}.session-picker-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.session-picker-head span{color:#8b949e;letter-spacing:.08em;font-size:10px;font-weight:900;display:block}.session-picker-head strong{color:#e6edf3;margin-top:3px;font-size:16px;display:block}.session-picker-close{appearance:none;color:#c9d1d9;width:30px;height:30px;font:inherit;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:6px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.session-picker-search,.session-picker-sort select{color:#e6edf3;width:100%;min-width:0;font:inherit;background:#010409;border:1px solid #30363d;border-radius:6px;padding:9px 10px;font-size:12px}.session-picker-toolbar{flex-wrap:wrap;gap:6px;display:flex}.session-picker-toolbar button,.session-picker-more{appearance:none;color:#8b949e;font:inherit;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.session-picker-toolbar button.active,.session-picker-toolbar button:hover,.session-picker-more:hover{color:#e6edf3;background:#58a6ff2e;border-color:#58a6ff}.session-picker-sort{color:#8b949e;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.session-picker-sort label{color:#8b949e;letter-spacing:.08em;grid-template-columns:auto minmax(160px,220px);align-items:center;gap:8px;margin:0;font-size:11px;font-weight:900;display:grid}.session-picker-list{background:#010409;border:1px solid #21262d;border-radius:8px;flex-direction:column;gap:6px;min-height:160px;padding:8px;display:flex;overflow:auto}.session-picker-option{appearance:none;color:#e6edf3;width:100%;font:inherit;text-align:left;cursor:pointer;background:#0d1117;border:1px solid #0000;border-radius:6px;padding:10px}.session-picker-option:hover,.session-picker-option.selected{background:#58a6ff1f;border-color:#58a6ff}.session-picker-row{gap:5px;min-width:0;display:grid}.session-picker-row.compact{flex:auto}.session-picker-row-main,.session-picker-row-meta{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.session-picker-row-main strong{color:#f0f6fc;font-size:13px}.session-picker-row .replay-role-badge{margin-top:0}.session-picker-row-meta{color:#8b949e;font-size:11px}.session-picker-badge{color:#c9d1d9;background:#8b949e24;border:1px solid #30363d;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:900;display:inline-flex}.session-picker-badge.stale{color:#f2cc60;background:#d299221f;border-color:#d299226b}.session-picker-badge.included{color:#7ee787;background:#3fb9501f;border-color:#3fb9506b}.session-picker-empty,.session-picker-error{color:#8b949e;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:12px;font-size:12px}.session-picker-error{color:#ffb4ae;border-color:#f8514973}.session-picker-more{border-radius:6px;align-self:center}.session-picker-more:disabled{cursor:progress;opacity:.65}.replay-viz-loading,.replay-viz-error{color:#8b949e;background:#161b22;border:1px solid #30363d;border-radius:8px;margin:16px;padding:14px 16px}.replay-viz-error{color:#ffa198;background:#f851491a;border-color:#f8514985}.replay-queue{color:#e6edf3;background:#0d1117;border:1px solid #21262d;border-radius:10px;margin:12px 16px 16px;overflow:hidden}.replay-queue.is-compact{margin:10px 0 12px}.replay-queue.is-collapsed .replay-queue-head{border-bottom:0}.replay-queue.is-compact .replay-queue-head{padding:12px 14px}.replay-queue-head{background:#161b22;border-bottom:1px solid #21262d;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.replay-queue-head span{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.replay-queue-head h2{color:#e6edf3;letter-spacing:0;margin:4px 0;font-size:18px}.replay-queue-head p{color:#8b949e;margin:0;font-size:13px;line-height:1.5}.replay-queue-actions,.replay-queue-input{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.replay-queue-actions button,.replay-queue-input button,.replay-queue-pagination button,.replay-queue-table button{color:#e6edf3;font:inherit;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:7px;padding:8px 10px;font-size:12px;font-weight:700}.replay-queue-actions button:hover:not(:disabled),.replay-queue-input button:hover:not(:disabled),.replay-queue-pagination button:hover:not(:disabled),.replay-queue-table button:hover:not(:disabled){color:#79c0ff;border-color:#58a6ff}.replay-queue-actions button:disabled,.replay-queue-input button:disabled,.replay-queue-pagination button:disabled,.replay-queue-table button:disabled{cursor:not-allowed;opacity:.5}.replay-queue-input{border-bottom:1px solid #21262d;padding:14px 16px}.replay-queue-input input{color:#e6edf3;min-width:0;font:inherit;background:#010409;border:1px solid #30363d;border-radius:7px;flex:320px;padding:10px 12px;font-size:13px}.replay-queue-input input:focus{border-color:#58a6ff;outline:none;box-shadow:0 0 0 2px #58a6ff38}.replay-queue-active,.replay-queue-message,.replay-queue-error{color:#8b949e;background:#161b22;border:1px solid #30363d;border-radius:8px;margin:12px 16px 0;padding:10px 12px;font-size:12px;line-height:1.5}.replay-queue-active{color:#79c0ff;background:#58a6ff14;border-color:#58a6ff73}.replay-queue-active.stale,.replay-queue-error{color:#ffa198;background:#f851491a;border-color:#f8514985}.replay-queue-message{color:#7ee787;background:#2ea0431a;border-color:#3fb95080}.replay-queue-table-wrap{padding:12px 16px 16px;overflow-x:auto}.replay-queue-table{border-collapse:collapse;width:100%;min-width:920px;font-size:12px}.replay-queue-table th,.replay-queue-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #21262d;padding:9px 10px}.replay-queue-table th{color:#8b949e;letter-spacing:.06em;text-transform:uppercase;background:#161b22;font-weight:800}.replay-queue-table td{color:#c9d1d9}.replay-queue-pagination{color:#8b949e;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 0;font-size:12px;display:flex}.replay-queue-page-buttons{align-items:center;gap:8px;display:flex}.replay-queue-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.replay-queue-page-buttons span{color:#c9d1d9;white-space:nowrap;font-weight:800}.replay-queue-status{color:#8b949e;white-space:nowrap;background:#161b22;border:1px solid #30363d;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.replay-queue-status.pending{color:#d29922;background:#bb80091f;border-color:#d2992280}.replay-queue-status.running{color:#79c0ff;background:#58a6ff1f;border-color:#58a6ff80}.replay-queue-status.paused{color:#f2cc60;background:#bb800924;border-color:#d299228c}.replay-queue-status.done{color:#7ee787;background:#2ea0431f;border-color:#3fb95080}.replay-queue-status.failed_3x{color:#ffa198;background:#f851491f;border-color:#f8514985}.replay-queue-status.skipped{color:#8b949e}.replay-queue-relocated{color:#8b949e;background:#161b22;border:1px solid #30363d;border-radius:8px;margin:12px 16px 16px;padding:12px 14px;font-size:13px;line-height:1.5}.replay-queue-relocated a{color:#79c0ff;font-weight:800;text-decoration:none}.replay-queue-relocated a:hover{text-decoration:underline}.optimizer-row-action-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.replay-viz-summary{background:#0d1117;border-bottom:1px solid #21262d;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.replay-viz-summary div{border-bottom:1px solid #21262d;border-right:1px solid #21262d;min-width:0;padding:13px 18px}.replay-viz-summary div:nth-child(4n){border-right:0}.replay-viz-summary strong{color:#e6edf3;overflow-wrap:anywhere;margin-top:6px;font-size:clamp(16px,1.55vw,22px);line-height:1.15;display:block}.replay-viz-alpha-robustness{background:#0d1117;border-bottom:1px solid #21262d;flex-direction:column;gap:10px;padding:12px;display:flex}.replay-viz-alpha-robustness-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.replay-viz-alpha-robustness-head span,.replay-viz-alpha-robustness-grid span{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.replay-viz-alpha-robustness-head h3{color:#e6edf3;margin:3px 0 0;font-size:16px}.replay-viz-alpha-robustness-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.replay-viz-alpha-robustness-grid div{background:#161b22;border:1px solid #21262d;border-radius:8px;min-height:76px;padding:10px}.replay-viz-alpha-robustness-grid strong{color:#e6edf3;overflow-wrap:anywhere;margin-top:5px;font-size:16px;line-height:1.25;display:block}.replay-viz-alpha-months{flex-wrap:wrap;gap:6px;display:flex}.replay-viz-alpha-months span{color:#c9d1d9;background:#58a6ff14;border:1px solid #58a6ff47;border-radius:999px;padding:5px 9px;font-size:12px}.replay-viz-chart-grid{background:#0d1117;grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.replay-viz-chart-card{background:#161b22;border:1px solid #21262d;border-radius:8px;overflow:hidden}.replay-viz-chart-head{border-bottom:1px solid #21262d;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;display:flex}.replay-viz-chart-head h3,.replay-viz-day-detail h3,.replay-viz-order-block h4{color:#e6edf3;margin:0}.replay-viz-chart-head span,.replay-viz-legend,.replay-viz-day-head span{color:#8b949e;font-size:12px}.replay-viz-chart-svg{cursor:crosshair;touch-action:manipulation;background:linear-gradient(#30363d7a 1px,#0000 1px) 0 0/100% 25%,linear-gradient(90deg,#30363d4d 1px,#0000 1px) 0 0/8.333% 100%,#161b22;border-radius:0;width:100%;min-height:210px;display:block}.replay-viz-line{fill:none;stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round}.replay-viz-line-replay{stroke:#58a6ff}.replay-viz-line-benchmark{stroke:#f0883e}.replay-viz-line-deployment{stroke:#d29922}.replay-viz-line-alpha-positive{stroke:#3fb950}.replay-viz-line-alpha-negative{stroke:#f85149}.replay-viz-area{fill:#d2992233;stroke:none}.replay-viz-alpha-area{fill:#8b949e1f;stroke:none}.replay-viz-alpha-label-bg{fill:#161b22f0;stroke:#30363d}.replay-viz-alpha-label{fill:#e6edf3;font-size:12px;font-weight:800}.replay-viz-zero-line{stroke:#8b949e8c;stroke-width:1.5px;stroke-dasharray:6 6}.replay-viz-selected-line{stroke:#e6edf3d9;stroke-width:2px}.replay-viz-hover-line{stroke:#8b949eb8;stroke-width:1.4px;stroke-dasharray:4 4}.replay-viz-bar-positive{fill:#3fb950d1}.replay-viz-bar-negative{fill:#f85149d1}.replay-viz-legend{border-top:1px solid #21262d;flex-wrap:wrap;gap:16px;margin-top:0;padding:9px 14px 12px;display:flex}.replay-viz-dot{border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.replay-viz-dot.replay{background:#58a6ff}.replay-viz-dot.benchmark{background:#f0883e}.replay-viz-dot.contribution,.replay-viz-dot.alpha,.replay-viz-dot.scatter-win{background:#3fb950}.replay-viz-dot.scatter-loss{background:#f85149}.replay-viz-contribution-dot{fill:#3fb950;stroke:#0d1117;stroke-width:1.3px}.replay-viz-analysis-heading{color:#e6edf3;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px 0;display:flex}.replay-viz-analysis-heading span{color:#8b949e;letter-spacing:.16em;font-size:11px;font-weight:800}.replay-viz-analysis-heading strong{font-size:14px}.replay-viz-chart-empty{color:#8b949e;background:#161b22;place-items:center;min-height:120px;font-size:13px;display:grid}.replay-viz-scatter-svg{min-height:320px}.replay-viz-scatter-risk-zone{fill:#f851490f}.replay-viz-diagonal-line{stroke:#e6edf361;stroke-width:1.5px;stroke-dasharray:5 5}.replay-viz-scatter-win{fill:#3fb950d1;stroke:#0d1117;stroke-width:1.4px}.replay-viz-scatter-loss{fill:#f85149d1;stroke:#0d1117;stroke-width:1.4px}.replay-viz-quadrant-label,.replay-viz-axis-label,.replay-viz-diagonal-label{fill:#8b949e;font-size:12px;font-weight:700}.replay-viz-tooltip{pointer-events:none}.replay-viz-tooltip rect{fill:#161b22f5;stroke:#30363d;stroke-width:1px}.replay-viz-tooltip-title{fill:#e6edf3;font-size:13px;font-weight:800}.replay-viz-tooltip-line{fill:#8b949e;font-size:12px}.replay-viz-tooltip-line.replay{fill:#58a6ff}.replay-viz-tooltip-line.benchmark{fill:#f0883e}.replay-viz-tooltip-line.green{fill:#3fb950}.replay-viz-tooltip-line.red{fill:#f85149}.replay-viz-day-detail{background:#161b22;border:1px solid #21262d;border-radius:8px;margin:0 12px 12px;overflow:hidden}.replay-viz-day-head{border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.replay-viz-day-head h3{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.replay-viz-day-head strong{color:#e6edf3;margin-top:4px;font-size:20px;display:block}.replay-viz-detail-content{grid-template-columns:280px minmax(0,1fr);display:grid}.replay-viz-day-grid{background:#0d1117;border-right:1px solid #21262d;flex-direction:column;gap:0;padding:14px;display:flex}.replay-viz-day-grid div{border-bottom:1px solid #30363d9e;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:7px 0;display:flex}.replay-viz-day-grid div:last-child{border-bottom:0}.replay-viz-day-grid strong{color:#e6edf3;text-align:right;overflow-wrap:anywhere;font-size:13px;display:block}.replay-viz-orders-panel{min-width:0;padding:14px}.replay-viz-order-block{margin-top:0}.replay-viz-order-block+.replay-viz-order-block{margin-top:18px}.replay-viz-order-block h4{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px}.replay-viz-table-wrap{border:1px solid #30363d;border-radius:6px;overflow-x:auto}.replay-viz-table{border-collapse:collapse;color:#e6edf3;width:100%;min-width:840px;font-size:12px}.replay-viz-table th,.replay-viz-table td{text-align:left;border-bottom:1px solid #21262d;padding:8px 10px}.replay-viz-table th{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;background:#0d1117;font-weight:800}.replay-viz-buy{color:#58a6ff;font-weight:800}.replay-viz-sell{color:#f85149;font-weight:800}.replay-viz-mode-toggle{background:#0d1117;border:1px solid #30363d;border-radius:8px;align-self:flex-start;align-items:center;gap:0;margin-top:8px;display:inline-flex;overflow:hidden}.replay-viz-mode-toggle button{appearance:none;color:#8b949e;font:inherit;cursor:pointer;background:0 0;border:0;border-right:1px solid #30363d;padding:7px 12px;font-size:12px;font-weight:800}.replay-viz-mode-toggle button:last-child{border-right:0}.replay-viz-mode-toggle button.active{color:#e6edf3;background:#58a6ff33}.replay-compare{color:#e6edf3;background:#0d1117;border-top:1px solid #21262d;flex-direction:column;gap:16px;padding:18px 20px 24px;display:flex}.replay-compare-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px;gap:12px;display:grid}.replay-compare-controls label{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.replay-compare-controls select{color:#e6edf3;width:100%;font:inherit;background:#0b0f14;border:1px solid #30363d;border-radius:8px;padding:8px 10px;font-size:13px}.replay-role-badge{color:#c9d1d9;letter-spacing:.08em;text-transform:uppercase;background:#8b949e24;border:1px solid #30363d;border-radius:999px;align-items:center;width:max-content;margin-top:7px;padding:3px 8px;font-size:10px;font-weight:900;display:inline-flex}.replay-role-badge.sun{color:#7ee787;background:#3fb9501f;border-color:#3fb95073}.replay-role-badge.stars{color:#79c0ff;background:#58a6ff24;border-color:#58a6ff7a}.replay-role-badge.oxygen{color:#d2a8ff;background:#a371f724;border-color:#a371f780}.replay-role-badge.watch{color:#f0c674;background:#d2992221;border-color:#d2992280}.replay-compare-hint{color:#8b949e;background:#161b22b8;border:1px solid #30363d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font-size:12px;line-height:1.45;display:flex}.replay-compare-hint button{color:#79c0ff;font:inherit;cursor:pointer;background:#58a6ff1f;border:1px solid #58a6ff80;border-radius:999px;flex:none;padding:5px 10px;font-size:11px;font-weight:900}.replay-compare-grid,.replay-compare-two-col{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.replay-compare-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-compare-card,.replay-compare-table-wrap,.replay-compare-position-diffs{background:#161b22;border:1px solid #21262d;border-radius:10px}.replay-compare-card{min-width:0;padding:14px}.replay-compare-card span,.replay-compare-card h4{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:900;display:block}.replay-compare-card strong{color:#e6edf3;font-size:24px;line-height:1.15;display:block}.replay-compare-card p{color:#8b949e;overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.replay-compare-card small{color:#6e7681;margin-top:8px;font-size:11px;line-height:1.35;display:block}.replay-compare-card.correlation.low strong{color:#3fb950}.replay-compare-card.correlation.medium strong{color:#d29922}.replay-compare-card.correlation.high strong{color:#f85149}.replay-compare-verdict{background:#161b22;border:1px solid #30363d;border-left-width:4px;border-radius:12px;padding:16px}.replay-compare-verdict.pass{background:#3fb95014;border-left-color:#3fb950}.replay-compare-verdict.warn{background:#d2992214;border-left-color:#d29922}.replay-compare-verdict.fail{background:#f8514914;border-left-color:#f85149}.replay-compare-verdict-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.replay-compare-verdict-head span{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.replay-compare-verdict-head strong{color:#e6edf3;margin-top:4px;font-size:22px;display:block}.replay-compare-verdict-suggested{color:#c9d1d9;text-align:right;max-width:42%;font-size:13px;line-height:1.45}.replay-compare-verdict-checks{gap:8px;display:grid}.replay-compare-verdict-row{background:#0d1117b3;border:1px solid #21262d;border-radius:8px;grid-template-columns:190px 92px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.replay-compare-verdict-row b{color:#e6edf3;font-size:12px}.replay-compare-verdict-row span{font-size:12px;font-weight:900}.replay-compare-verdict-row em{color:#8b949e;overflow-wrap:anywhere;font-size:12px;font-style:normal}.replay-compare-verdict-row.pass span{color:#3fb950}.replay-compare-verdict-row.warn span{color:#d29922}.replay-compare-verdict-row.fail span{color:#f85149}.replay-compare-verdict-row.info span{color:#8b949e}.replay-compare-verdict-row button{color:#79c0ff;font:inherit;cursor:pointer;background:#58a6ff1a;border:1px solid #58a6ff80;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.replay-compare-verdict-rationale,.replay-compare-verdict-context{color:#8b949e;margin:10px 0 0;font-size:12px}.replay-compare-verdict-failures{color:#c9d1d9;margin:10px 0 0;padding-left:18px;font-size:12px}.replay-compare-table-wrap,.replay-compare-position-diffs{padding:14px;overflow-x:auto}.replay-compare-table-wrap h3,.replay-compare-position-diffs h3{color:#e6edf3;margin:0 0 10px;font-size:14px}.replay-compare-table-caption{color:#8b949e;margin:-2px 0 12px;font-size:12px}.replay-compare-table{border-collapse:collapse;width:100%;min-width:780px;font-size:12px}.replay-compare-table th,.replay-compare-table td{text-align:left;border-bottom:1px solid #21262d;padding:8px 10px}.replay-compare-table th{color:#8b949e;letter-spacing:.06em;text-transform:uppercase;font-weight:900}.replay-compare-table .positive{color:#3fb950;font-weight:800}.replay-compare-table .negative{color:#f85149;font-weight:800}.replay-compare-table tr.year-negative td{background:#f851490f}.replay-compare-table .evaluated-year{color:#e6edf3;text-underline-offset:3px;font-weight:900;-webkit-text-decoration:underline #58a6ff;text-decoration:underline #58a6ff}.replay-compare-sort-button{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.replay-compare-month-list{flex-direction:column;gap:8px;display:flex}.replay-compare-month-list div{background:#0d1117;border:1px solid #21262d;border-radius:8px;grid-template-columns:74px minmax(0,1fr) 86px;align-items:center;gap:10px;padding:8px 10px;display:grid}.replay-compare-month-list div.shared{background:#58a6ff14;border-color:#58a6ff8c}.replay-compare-month-list strong{font-size:13px}.replay-compare-month-list span,.replay-compare-month-list em{color:#8b949e;font-size:12px;font-style:normal}.replay-compare-month-list em{color:#3fb950;text-align:right;font-weight:800}.replay-compare-position-card{border-top:1px solid #21262d;margin-top:12px;padding-top:12px}.replay-compare-position-head,.replay-compare-position-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.replay-compare-position-head{color:#8b949e;grid-template-columns:1fr auto;margin-bottom:10px;font-size:12px}.replay-compare-position-head strong{color:#e6edf3;font-size:15px}.replay-compare-monsters{color:#8b949e;background:#58a6ff12;border:1px solid #58a6ff47;border-radius:8px;align-items:baseline;gap:10px;margin-bottom:10px;padding:8px 10px;font-size:12px;display:flex}.replay-compare-monsters b{color:#79c0ff;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.replay-compare-position-grid h4{color:#8b949e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.replay-compare-stock-list{flex-wrap:wrap;gap:6px;display:flex}.replay-compare-stock-list span{color:#c9d1d9;white-space:nowrap;background:#0d1117;border:1px solid #30363d;border-radius:999px;padding:4px 8px;font-size:12px}@media (max-width:760px){.app-shell{flex-direction:column}.app-main{width:100%;min-width:0}html[data-theme=karimoku-case] .side-nav,.side-nav{border-right:none;border-bottom:1px solid var(--line);width:100%;height:auto;padding:16px 12px;position:static}.side-nav-links{grid-template-columns:repeat(2,minmax(0,1fr))}.side-nav-link{text-align:center;font-size:14px}.shell{padding:18px 14px 32px}.hero h1{font-size:31px}.entry-grid{grid-template-columns:1fr}.ingest-mock-stepper{grid-template-columns:1fr;gap:8px}.ingest-mock-stepper:before{display:none}.ingest-mock-step,.ingest-mock-step:nth-child(2),.ingest-mock-step:nth-child(3){background:0 0;justify-content:flex-start;justify-self:start;padding-left:0;padding-right:0}.ingest-mock-stats,.ingest-mock-form-grid,.optimizer-mock-form-grid,.optimizer-trial-filter-grid,.optimizer-trial-filter-counts,.optimizer-trial-filter-custom{grid-template-columns:1fr}.optimizer-mock-stars-inline{border-left:none;flex-wrap:wrap;width:100%;margin-left:0;padding-left:0}.optimizer-mock-factor-grid{grid-template-columns:1fr}.optimizer-mock-factor-item.optimizer-mock-factor-wide{grid-column:auto}.replay-viz-summary,.replay-viz-detail-content,.replay-viz-alpha-robustness-grid{grid-template-columns:1fr 1fr}.replay-viz-picker{grid-template-columns:1fr;align-items:stretch}.replay-viz-picker select{min-width:100%}.session-picker-backdrop{align-items:stretch;padding:12px}.session-picker-dialog{width:100%;max-height:calc(100vh - 24px)}.session-picker-sort,.session-picker-sort label{grid-template-columns:1fr;align-items:stretch}.replay-viz-detail-content{grid-template-columns:1fr}.replay-viz-day-grid{border-bottom:1px solid #21262d;border-right:0}.replay-viz-alpha-robustness-head{flex-direction:column}.replay-dashboard-shell{max-width:none}.replay-compare-controls,.replay-compare-grid,.replay-compare-two-col,.replay-compare-position-grid{grid-template-columns:1fr}}
