:root{color:#17252d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel:#fff;--panel-soft:#f8fafb;--panel-border:#d9e2e7;--muted:#657785;--accent:#137f7a;--accent-warm:#b85f26;--danger:#b94b45;--positive:#16865f;--shadow:0 10px 22px #17252d14;background:#f3f6f7;font-family:Segoe UI,Hiragino Sans,Yu Gothic UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app-shell{max-width:1280px;margin:0 auto;padding:20px 16px 40px}.hero-shell{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.hero-copy h1,.panel-heading h2,.panel-heading h3{margin:0}.hero-copy p:last-child,.panel-copy,.preview-meta,.disclaimer,.summary-subtext,.risk-box,.empty-copy,.progress-meta{color:var(--muted)}.hero-copy h1{margin-bottom:10px;font-size:2.25rem;line-height:1.08}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#7b654b;margin:0 0 6px;font-size:.76rem}.hero-stat{background:var(--panel);border:1px solid var(--panel-border);min-width:180px;box-shadow:var(--shadow);border-radius:8px;padding:14px 18px}.hero-stat span{color:var(--muted);margin-bottom:6px;display:block}.layout-grid{gap:18px;margin-top:18px;display:grid}.content-column,.tab-stack{gap:18px;display:grid}.layout-grid>*,.content-column>*,.tab-stack>*{min-width:0}.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:8px;min-width:0;padding:18px}.panel-heading.compact{margin-bottom:14px}.form-group,.threshold-grid{gap:10px;display:grid}.form-group{margin-bottom:14px}.threshold-grid{grid-template-columns:repeat(2,minmax(0,1fr))}input,select{color:#17252d;background:#fff;border:1px solid #c9d6dd;border-radius:8px;width:100%;min-width:0;padding:14px 16px}.primary-button,.secondary-button,.tab-button{cursor:pointer;border:0;border-radius:8px}.primary-button,.secondary-button{padding:14px 16px}.primary-button{background:var(--accent);color:#fff;margin-top:6px;font-weight:700}.secondary-button{color:#17252d;background:#eaf1f3;border:1px solid #c9d6dd}.market-preview{border-top:1px solid var(--panel-border);margin-top:18px;padding-top:16px}.preview-label{color:#7b654b;margin:0 0 6px;font-size:.8rem}.preview-value{margin:0;font-size:1.05rem}.disclaimer{margin-bottom:0;font-size:.88rem}.status-panel{gap:12px;display:grid}.status-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.status-chip{border-radius:8px;padding:8px 12px;font-size:.86rem}.status-completed{color:var(--positive);background:#e5f5ee}.status-running,.status-queued{color:#a4511d;background:#fff0e6}.status-error{color:var(--danger);background:#fdebea}.progress-track{background:#e5ecef;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-warm));height:100%}.tab-bar{gap:10px;display:flex;overflow-x:auto}.tab-button{color:#17252d;white-space:nowrap;background:#eaf1f3;padding:12px 18px}.tab-button.active{color:#0e5d59;background:#d5efec;font-weight:700}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summary-card{border:1px solid var(--panel-border);background:var(--panel-soft);border-radius:8px;padding:16px}.summary-label{color:var(--muted);margin:0 0 8px}.summary-value{margin:0 0 6px;font-size:1.5rem;font-weight:700}.tone-positive .summary-value{color:var(--positive)}.tone-negative .summary-value{color:var(--danger)}.tone-accent .summary-value{color:var(--accent-warm)}.chart-grid{gap:18px;display:grid}.chart-shell{width:100%;height:260px}.table-shell{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:620px}.data-table th,.data-table td{border-bottom:1px solid var(--panel-border);text-align:left;padding:12px 10px}.reason-list{gap:8px;margin:0;padding-left:20px;display:grid}.risk-box{background:#fff7ef;border:1px solid #f1c4a6;border-radius:8px;margin-top:18px;padding:14px}.risk-title{color:var(--accent-warm);margin-top:0}.backtest-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.metric-pill{background:var(--panel-soft);border-radius:8px;padding:12px 14px}.contribution-list{gap:12px;display:grid}.contribution-item{gap:8px;display:grid}.contribution-copy{justify-content:space-between;gap:10px;display:flex}.contribution-copy p,.contribution-copy span{margin:0}.contribution-bar{background:#e5ecef;border-radius:999px;width:100%;height:14px;overflow:hidden}.contribution-fill{border-radius:inherit;height:100%}.direction-positive{background:linear-gradient(90deg,#78d7aef2,#29a19cf2)}.direction-negative{background:linear-gradient(90deg,#f27d42f2,#d56b66f2)}.direction-neutral{background:#c9d6dd}.daily-panel{gap:16px;display:grid}.daily-heading,.pick-title-line,.pick-action{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.daily-heading h2,.pick-title-line h3{margin:0}.compact-button{min-width:82px;padding:10px 12px}.inline-error,.daily-loading{color:var(--danger);background:#fdebea;border:1px solid #efb8b4;border-radius:8px;padding:14px}.daily-loading{background:var(--panel-soft);border-color:var(--panel-border);color:var(--muted)}.daily-summary-grid,.index-strip,.pick-metrics{gap:10px;display:grid}.daily-summary-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.daily-summary,.index-pill{background:var(--panel-soft);border:1px solid var(--panel-border);border-radius:8px;padding:12px}.daily-summary span,.daily-summary small,.index-pill span,.pick-metrics span,.pick-title-line span,.pick-action span,.news-item span{color:var(--muted)}.daily-summary strong,.daily-summary small,.index-pill strong{display:block}.index-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.index-pill{justify-content:space-between;align-items:center;display:flex}.pick-list,.news-list{gap:10px;display:grid}.pick-row{border:1px solid var(--panel-border);background:#fff;border-radius:8px;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px;display:grid}.pick-rank{color:#0e5d59;background:#e2f3f1;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.pick-main{gap:10px;display:grid}.pick-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.move-badge{border-radius:6px;align-items:center;min-height:24px;padding:3px 8px;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.move-positive{color:#0b6254;background:#dff3ec;border:1px solid #9ed8c6}.move-negative{color:#963f39;background:#fde9e7;border:1px solid #efb6b1}.move-accent{color:#6d4d00;background:#fff1bd;border:1px solid #e9cc68}.move-neutral{color:#445761;background:#edf2f4;border:1px solid #cbd7dc}.pick-metrics{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.9rem}.pick-action{grid-column:2;justify-content:flex-end;align-items:center}.pick-action strong{font-size:1.4rem}.compact-list{font-size:.92rem}.pick-risk{border-left:3px solid var(--danger);color:#7d3834;background:#fff3f1;margin:0;padding:9px 10px;font-size:.86rem;line-height:1.5}.news-mini-list{gap:6px;display:grid}.news-mini-list a,.news-item{color:#145f7d;text-decoration:none}.news-section{gap:10px;display:grid}.news-item{border:1px solid var(--panel-border);background:var(--panel-soft);border-radius:8px;gap:4px;padding:12px;display:grid}.sentiment-positive{border-left:4px solid var(--positive)}.sentiment-negative{border-left:4px solid var(--danger)}.sentiment-neutral{border-left:4px solid #9aabb5}@media (width>=960px){.layout-grid{grid-template-columns:360px minmax(0,1fr);align-items:start}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.index-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.pick-row{grid-template-columns:42px minmax(0,1fr) 132px;align-items:start}.pick-action{grid-column:auto;justify-items:end;display:grid}.pick-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
