:root{--ink: #131e2b;--ink-soft: #1c2a3b;--ink-muted: #66758c;--paper: #f4f1ea;--paper-soft: #ffffff;--hairline: #d9d3c4;--brass: #c79a3c;--mint: #4f9e87;--rust: #b8533a;--display-font: "Fraunces", Georgia, serif;--body-font: "IBM Plex Sans", -apple-system, sans-serif;--mono-font: "IBM Plex Mono", "SFMono-Regular", monospace}.app.light{--ink: #1a1a1a;--ink-soft: #2d2d2d;--ink-muted: #666666;--paper: #ffffff;--paper-soft: #f8f8f8;--hairline: #e0e0e0}.app.light body{background:#f5f5f5}.app.light .card{background:var(--paper);color:var(--ink)}.app.light .portfolio-card{background:var(--ink-soft);color:var(--paper)}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body-font)}.app{max-width:1040px;margin:0 auto;padding:0 24px 48px}.ticker{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 4px;font-family:var(--mono-font);font-size:13px;color:var(--ink-muted);border-bottom:1px solid var(--ink-soft)}.ticker--loading{justify-content:center}.ticker-outlook{display:flex;align-items:center;gap:6px;color:var(--brass);font-weight:600;letter-spacing:.04em}.ticker-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticker .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-muted)}.ticker .up{color:var(--mint)}.ticker .down{color:var(--rust)}.ticker .flat{color:var(--ink-muted)}.header{padding:40px 4px 28px}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.header-eyebrow{font-family:var(--mono-font);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}.header-actions{display:flex;gap:8px}.icon-btn{display:flex;align-items:center;justify-content:center;padding:8px;border:none;border-radius:8px;background:var(--ink-soft);color:var(--paper);cursor:pointer;transition:background .2s;position:relative}.icon-btn:hover{background:var(--brass)}.badge{position:absolute;top:-4px;right:-4px;background:var(--rust);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:999px;min-width:18px;text-align:center}.header h1{font-family:var(--display-font);font-weight:600;font-size:clamp(28px,4vw,40px);margin:8px 0 6px}.header p{color:var(--ink-muted);margin:0;max-width:520px}.layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}@media (max-width: 820px){.layout{grid-template-columns:1fr}}.card{background:var(--paper);color:var(--ink);border-radius:14px;padding:24px}fieldset{border:none;margin:0 0 18px;padding:0}legend{font-family:var(--mono-font);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px;padding:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px}.field-header{display:flex;align-items:center;gap:4px}.field span{color:var(--ink-muted)}.tooltip-trigger{color:var(--ink-muted);cursor:help;opacity:.6;transition:opacity .2s}.tooltip-trigger:hover{opacity:1}.field input{font-family:var(--mono-font);font-size:14px;padding:8px 10px;border:1px solid var(--hairline);border-radius:8px;background:var(--paper-soft);color:var(--ink)}.field input:focus{outline:2px solid var(--brass);outline-offset:1px}.field input.error{border-color:var(--rust)}.field-error{color:var(--rust);font-size:11px;margin-top:2px}.submit-btn{width:100%;margin-top:6px;padding:12px 16px;border:none;border-radius:10px;background:var(--ink);color:var(--paper);font-family:var(--body-font);font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.submit-btn:disabled{opacity:.7;cursor:progress}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:var(--rust);font-size:13px;margin-top:10px}.result-card h2{font-family:var(--display-font);font-size:20px;margin:0 0 16px}.placeholder{color:var(--ink-muted);font-size:14px}.gauge{display:flex;flex-direction:column;align-items:center}.gauge-svg{width:100%;max-width:240px}.gauge-arc{fill:none;stroke-width:14;stroke-linecap:round}.gauge-arc--low{stroke:var(--mint)}.gauge-arc--mid{stroke:var(--brass)}.gauge-arc--high{stroke:var(--rust)}.gauge-labels{display:flex;justify-content:space-between;width:80%;font-family:var(--mono-font);font-size:11px;color:var(--ink-muted);margin-top:-8px}.decision-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 16px}.risk-level{font-family:var(--display-font);font-size:18px;font-weight:600}.chips{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.chip{font-size:13px;font-weight:500;padding:8px 12px;border-radius:8px;text-align:center}.chip--yes{background:#4f9e8726;color:var(--mint)}.chip--no{background:#b8533a1f;color:var(--rust)}.proba-bars{display:flex;flex-direction:column;gap:8px}.proba-row{display:grid;grid-template-columns:56px 1fr 40px;align-items:center;gap:8px;font-family:var(--mono-font);font-size:12px}.proba-track{height:6px;background:var(--hairline);border-radius:4px;overflow:hidden}.proba-fill{height:100%;transition:width .6s ease}.proba-value{text-align:right;color:var(--ink-muted)}.llm-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media (max-width: 820px){.llm-section{grid-template-columns:1fr}}.llm-header{display:flex;align-items:center;gap:8px;color:var(--brass)}.llm-header h2{font-family:var(--display-font);font-size:18px;margin:0;color:var(--ink)}.llm-sub{font-size:13px;color:var(--ink-muted);margin:8px 0 16px}.llm-form{display:flex;flex-direction:column;gap:10px}.llm-form textarea{font-family:var(--body-font);font-size:14px;padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;background:var(--paper-soft);color:var(--ink);resize:vertical}.llm-form textarea:focus{outline:2px solid var(--brass);outline-offset:1px}.llm-form button{align-self:flex-start;padding:10px 18px;border:none;border-radius:10px;background:var(--ink);color:var(--paper);font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}.llm-form button:disabled{opacity:.6;cursor:not-allowed}.llm-result{margin-top:18px;display:flex;flex-direction:column;gap:8px}.llm-sentiment-chip{align-self:flex-start;font-family:var(--mono-font);font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid currentColor}.llm-confidence-track{height:6px}.llm-confidence-value{font-family:var(--mono-font);font-size:12px;color:var(--ink-muted)}.llm-model-used{font-family:var(--mono-font);font-size:11px;color:var(--ink-muted);opacity:.7}.headlines-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:240px;overflow-y:auto}.headline-item{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:10px;font-size:13px;padding-bottom:8px;border-bottom:1px solid var(--hairline)}.headline-dot{width:8px;height:8px;border-radius:50%}.headline-text{color:var(--ink)}.headline-confidence{font-family:var(--mono-font);font-size:11px;color:var(--ink-muted)}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}@media (max-width: 600px){.portfolio{grid-template-columns:1fr}}.portfolio-card{background:var(--ink-soft);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.portfolio-card--wide{grid-column:span 1}.portfolio-label{font-family:var(--mono-font);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.portfolio-value{font-family:var(--display-font);font-size:26px}.portfolio-badge{font-family:var(--mono-font);font-size:10px;padding:2px 6px;background:var(--mint);color:#fff;border-radius:999px;margin-left:8px;text-transform:uppercase;letter-spacing:.05em}.risk-bar{display:flex;height:10px;border-radius:6px;overflow:hidden}.risk-bar-segment--low{background:var(--mint)}.risk-bar-segment--medium{background:var(--brass)}.risk-bar-segment--high{background:var(--rust)}.charts-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media (max-width: 820px){.charts-section{grid-template-columns:1fr}}.chart-card{padding:20px}.chart-card h3{font-family:var(--display-font);font-size:16px;margin:0 0 16px;color:var(--ink)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--paper);color:var(--ink);border-radius:14px;padding:24px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-family:var(--display-font);font-size:20px;margin:0}.empty-state{color:var(--ink-muted);text-align:center;padding:40px 0}.clear-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--rust);border-radius:8px;background:transparent;color:var(--rust);font-size:13px;cursor:pointer;margin-bottom:16px}.clear-btn:hover{background:#b8533a1a}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{padding:12px;border:1px solid var(--hairline);border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s}.history-item:hover{border-color:var(--brass);background:var(--paper-soft)}.history-date{font-family:var(--mono-font);font-size:11px;color:var(--ink-muted);margin-bottom:6px}.history-summary{display:flex;align-items:center;gap:8px;font-size:13px}.risk-badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.risk-badge.low{background:#4f9e8726;color:var(--mint)}.risk-badge.medium{background:#c79a3c26;color:var(--brass)}.risk-badge.high{background:#b8533a26;color:var(--rust)}.calculator{display:flex;flex-direction:column;gap:20px}.calc-result{text-align:center;padding:20px;background:var(--ink-soft);border-radius:12px;color:var(--paper)}.calc-label{font-family:var(--mono-font);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.calc-value{font-family:var(--display-font);font-size:32px;font-weight:600;margin-top:8px}.calc-details{display:flex;flex-direction:column;gap:12px}.calc-detail{display:flex;justify-content:space-between;padding:12px;background:var(--paper-soft);border-radius:8px;font-size:14px}.calc-detail span:first-child{color:var(--ink-muted)}.calc-detail span:last-child{font-family:var(--mono-font);font-weight:600}
