:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--line:#d9dee7;--line-strong:#cbd5e1;--tide-primary:#0b2d72;--tide-primary-hover:#0a2a55;--tide-secondary:#0992c2;--tide-accent:#0ac4e0;--tide-cream:#f6e7bc;--tide-gold:#d6a93f;--text:#18212f;--text-secondary:#475467;--text-muted:#667085;--success:#0b6e92;--success-bg:#e8f8fc;--success-line:#94dff0;--error:#b91c1c;--error-fill:#dc2626;--error-bg:#fef2f2;--error-line:#fecaca;--warning:#b45309;--warning-bg:#fef3c7;--ink:var(--text);--muted:var(--text-muted);--panel:var(--surface);--brand-gold:var(--tide-gold);--nav-bg:var(--tide-primary);--accent:var(--tide-primary);--radius-sm:6px;--radius-md:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280f, 0 1px 3px #1018280a;--shadow-md:0 6px 18px #1018281a;--focus-ring:0 0 0 3px #0992c259;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:geometricprecision;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}:where(a,button,input,select,[tabindex]):focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:2px solid var(--tide-secondary);outline-offset:2px}.app-shell{min-height:100vh}.topbar{background:var(--nav-bg);border-bottom:3px solid var(--brand-gold);color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:14px 28px;display:flex}.brand{flex-direction:row;align-items:center;gap:10px;display:flex}.brand-logo{border-radius:var(--radius-pill);color:var(--brand-gold);background:#ffffff12;border:1px solid #d6a93fb3;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.brand span:last-child{flex-direction:column;gap:2px;display:flex}.brand strong{letter-spacing:0;font-size:18px}.brand small,.topbar-nav{color:#dbeafe;font-size:13px}.topbar-nav{min-width:0}.topbar-nav-scroll{flex-wrap:wrap;gap:16px;display:flex}.topbar-nav a{border-radius:var(--radius-sm);align-items:center;min-height:28px;display:inline-flex}.topbar-nav a.active,.topbar-nav a[aria-current=page]{color:var(--surface);text-decoration:underline;-webkit-text-decoration-color:var(--brand-gold);text-decoration-color:var(--brand-gold);text-underline-offset:6px;font-weight:800;text-decoration-thickness:2px}.topbar-nav a:hover{color:var(--surface);text-decoration:underline;-webkit-text-decoration-color:var(--brand-gold);text-decoration-color:var(--brand-gold);text-underline-offset:5px}.page{gap:18px;width:100%;max-width:1280px;margin:0 auto;padding:24px 24px 52px;display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-header h1{color:var(--ink);margin:0;font-size:28px;line-height:1.15}.page-header p{color:var(--muted);margin:6px 0 0;font-size:14px}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.status-pill{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);padding:7px 11px;font-size:13px}.status-pill.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}.refresh-control{grid-template-columns:16px minmax(170px,230px) auto 16px;align-items:center;gap:8px;min-width:0;display:grid}.refresh-control input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);min-width:0;height:34px;padding:7px 9px;font-size:13px}.refresh-control button{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#75bdb6;border:0;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.refresh-control button:disabled{cursor:not-allowed;opacity:.55}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overview-status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.overview-status-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:8px;min-height:104px;padding:14px;display:grid}.overview-status-card span{color:var(--muted);font-size:12px}.overview-status-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:18px;line-height:1.15}.overview-status-card small{color:var(--muted);font-size:12px;line-height:1.3}.metric-good strong{color:var(--success)}.metric-warn strong{color:var(--warning)}.overview-decision-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.overview-decision-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:8px;min-height:108px;padding:14px;display:grid}.overview-decision-grid span{color:var(--muted);font-size:12px}.overview-decision-grid strong{color:var(--ink);overflow-wrap:anywhere;font-size:18px;line-height:1.2}.overview-decision-grid small{color:var(--muted);font-size:12px;line-height:1.35}.overview-main-stack{grid-template-columns:1fr;gap:18px;display:grid}.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:auto visible}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.section-header h2{color:var(--ink);margin:0;font-size:16px}.section-header span{color:var(--muted);font-size:12px;font-weight:700}.section-context{background:var(--surface-2);border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:10px;padding:11px 16px;display:grid}.section-context p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.section-context dl{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.section-context div{border:1px solid var(--line);border-radius:var(--radius-pill);align-items:baseline;gap:6px;min-width:0;padding:6px 9px;display:inline-flex}.section-context dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.section-context dd{color:var(--ink);margin:0;font-size:12px}.section-body{min-width:0}.regime-snapshot-grid{grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:16px;padding:16px;display:grid}.active-regime-card{border:1px solid var(--tide-gold);border-radius:var(--radius-md);background:linear-gradient(#fff 0%,#fbfcfe 100%);gap:12px;padding:16px;display:grid}.active-regime-card>span,.regime-mini-grid span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.active-regime-card>strong{color:var(--ink);font-size:28px;line-height:1.05}.confidence-ring{aspect-ratio:1;border-radius:999px;justify-self:center;align-items:center;width:100%;max-width:132px;padding:12px;display:grid}.confidence-ring>div{background:var(--surface);border-radius:inherit;align-content:center;justify-items:center;width:100%;height:100%;display:grid}.confidence-ring b{color:var(--ink);font-size:22px}.confidence-ring small{color:var(--muted);font-size:12px}.regime-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.regime-mini-grid div{border:1px solid var(--line);border-radius:var(--radius-sm);gap:5px;padding:10px;display:grid}.regime-mini-grid b{color:var(--ink);font-size:15px}.regime-bars{gap:10px;display:grid}.regime-bar-row{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:150px minmax(160px,1fr) 58px;align-items:center;gap:14px;min-height:56px;padding:0 12px;display:grid}.regime-bar-row.active{background:var(--surface-2)}.regime-bar-row>span{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.regime-bar-row i{border-radius:var(--radius-pill);width:9px;height:9px}.regime-bar-row>div{background:var(--surface-3);border-radius:var(--radius-pill);height:8px;overflow:hidden}.regime-bar-row b{border-radius:inherit;height:100%;display:block}.regime-bar-row strong{color:var(--ink);text-align:right;font-size:13px}.portfolio-overview-grid{grid-template-columns:minmax(420px,1.1fr) minmax(300px,.8fr);gap:16px;padding:16px;display:grid}.allocation-donut-layout{grid-template-columns:230px minmax(190px,1fr);align-items:center;gap:26px;display:grid}.allocation-donut{aspect-ratio:1;border:1px solid var(--line);border-radius:999px;justify-self:center;align-items:center;width:100%;max-width:210px;padding:26px;display:grid}.allocation-donut>div{background:var(--panel);text-align:center;border-radius:999px;align-content:center;justify-items:center;width:100%;height:100%;display:grid}.allocation-donut strong{color:var(--ink);font-size:20px}.allocation-donut span{color:var(--muted);font-size:12px}.allocation-legend{gap:8px;display:grid}.allocation-legend div{grid-template-columns:10px minmax(90px,1fr) 56px;align-items:center;gap:8px;display:grid}.allocation-legend span{border-radius:999px;width:10px;height:10px}.allocation-legend strong,.allocation-legend b{color:var(--ink);font-size:13px}.allocation-legend b{text-align:right}.portfolio-summary-panel{align-content:start;gap:14px;min-width:0;display:grid}.portfolio-summary-metrics{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.portfolio-summary-metrics div{gap:7px;min-height:76px;padding:12px;display:grid}.portfolio-summary-metrics div+div{border-left:1px solid var(--line)}.portfolio-summary-metrics span{color:var(--muted);font-size:12px}.portfolio-summary-metrics strong{color:var(--ink);font-size:18px}.cadence-strip{flex-wrap:wrap;gap:8px;display:flex}.cadence-strip-padded{border-bottom:1px solid var(--line);padding:12px 16px}.cadence-chip{border-radius:var(--radius-pill);padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.cadence-weekly,.cadence-daily{background:var(--success-bg);color:var(--success)}.cadence-rebalance{background:var(--warning-bg);color:var(--warning)}.sleeve-summary{gap:12px;display:grid}.weight-row{grid-template-columns:minmax(92px,1fr) minmax(120px,2fr) 64px;align-items:center;gap:12px;display:grid}.weight-row strong{color:var(--ink);font-size:14px;display:block}.weight-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.weight-row b{color:var(--ink);text-align:right;font-size:13px}.weight-bar{background:var(--line);border-radius:var(--radius-pill);height:10px;overflow:hidden}.weight-bar span{background:var(--accent);height:100%;display:block}.overview-visual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:16px;display:grid}.phase-space{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:340px;position:relative;overflow:hidden}.phase-space .recharts-surface{overflow:visible}.phase-space-labels{color:var(--text-secondary);pointer-events:none;z-index:1;grid-template-columns:1fr 1fr;row-gap:226px;font-size:12px;display:grid;position:absolute;inset:18px 28px auto 84px}.phase-space-labels span:nth-child(2n){text-align:right}.scatter-label{fill:var(--text-secondary);font-size:10px;font-weight:700}.activity-grid{grid-template-columns:1fr 1fr;gap:16px;padding:16px;display:grid}.activity-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-width:0;display:flex;overflow:hidden}.subsection-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.subsection-header h3{color:var(--ink);margin:0;font-size:15px}.subsection-header span{color:var(--muted);font-size:12px}.explorer-grid{grid-template-columns:minmax(230px,.26fr) minmax(0,1fr);gap:18px;padding:16px;display:grid}.control-panel{border-right:1px solid var(--line);flex-direction:column;gap:16px;padding-right:18px;display:flex}.control-panel label{gap:7px;display:grid}.control-panel label span,.control-panel dt{color:var(--muted);font-size:12px}.control-panel select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);width:100%;height:38px;padding:8px 10px;font-size:13px}.control-panel dl{gap:10px;margin:0;display:grid}.control-panel dl div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.control-panel dd{color:var(--ink);margin:0;font-size:16px;font-weight:700}.backtest-chart-stack{gap:14px;min-width:0;display:grid}.returns-regime-chart{border-top:1px solid var(--line);padding-top:4px}.chart-legend{flex-wrap:wrap;align-items:center;gap:14px;padding:0 4px;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.chart-legend i{border-radius:var(--radius-pill);width:18px;height:8px}.responsive-data{max-width:100%}.table-scroll{max-width:100%;overflow-x:auto}.mobile-card-list{display:none}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;white-space:nowrap;padding:10px 12px;font-size:13px}.data-table th{background:var(--surface-2);color:var(--muted);font-weight:700}.compact-table{min-width:620px}.compact-table th,.compact-table td{padding:9px 10px;font-size:12px}.heatmap-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.heatmap-table .data-table{min-width:520px}.heat-cell{padding:0!important}.heat-cell>span{text-align:center;min-width:96px;padding:13px 10px;font-weight:800;display:block}.signal-badge{border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:66px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.signal-badge.bullish{color:#047857;background:#dcfce7}.signal-badge.bearish{background:var(--error-bg);color:var(--error)}.signal-badge.neutral{background:var(--surface-3);color:var(--muted)}.empty-state,.loading-state,.inline-banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);align-items:center;gap:10px;min-height:64px;padding:14px 16px;display:flex}.inline-banner{justify-content:space-between;min-height:auto}.message-failed{background:var(--error-bg);border-color:var(--error-line);color:var(--error)}.recharts-wrapper text{fill:var(--text-secondary);font-size:11px}.recharts-tooltip-wrapper{outline:none}@media (width<=920px){.topbar,.page-header{flex-direction:column;align-items:flex-start}.topbar-nav{width:100%}.topbar-nav-scroll{scrollbar-width:thin;flex-wrap:nowrap;gap:10px;width:100%;padding-bottom:2px;overflow-x:auto}.topbar-nav a{white-space:nowrap}.page-actions{justify-content:flex-start;align-items:flex-start;width:100%}.overview-decision-grid,.portfolio-overview-grid,.allocation-donut-layout,.overview-visual-grid,.activity-grid,.explorer-grid{grid-template-columns:1fr}.control-panel{border-bottom:1px solid var(--line);border-right:0;padding:0 0 16px}.section-context{grid-template-columns:1fr;align-items:flex-start}.section-context dl{justify-content:flex-start}}@media (width<=640px){.topbar{gap:18px;padding:18px 20px}.brand strong{font-size:22px}.brand small,.topbar-nav{font-size:14px}.page{gap:18px;padding:20px 16px 34px}.page-header h1{font-size:28px}.page-header p{font-size:16px;line-height:1.25}.status-pill{align-self:flex-start;padding:7px 12px;font-size:14px}.overview-status-card,.overview-decision-grid>div{min-height:auto;padding:12px}.refresh-control{grid-template-columns:16px minmax(0,1fr) 16px;width:100%}.refresh-control button{grid-column:2}.portfolio-summary-metrics,.regime-snapshot-grid,.regime-mini-grid{grid-template-columns:1fr}.portfolio-summary-metrics div+div{border-left:0;border-top:1px solid var(--line)}.regime-bar-row{grid-template-columns:1fr 54px;min-height:auto;padding:12px}.regime-bar-row>div{grid-area:2/1/auto/-1}.table-scroll{display:none}.mobile-card-list{gap:10px;display:grid}.mobile-data-card{border:1px solid var(--line);border-radius:var(--radius-sm);gap:10px;padding:12px;display:grid}.mobile-data-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-data-card header span,.mobile-data-card dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.mobile-data-card header strong{color:var(--ink);text-align:right;font-size:14px}.mobile-data-card dl{gap:7px;margin:0;display:grid}.mobile-data-card dl div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mobile-data-card dd{color:var(--ink);text-align:right;word-break:break-word;margin:0;font-size:13px;font-weight:700}.phase-space-labels{display:none}.section-header{flex-direction:column;align-items:flex-start;gap:6px}.weight-row{grid-template-columns:80px minmax(0,1fr) 54px}}
