@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap");:root{--ink:#0a0c10;--ink-soft:#1a1d24;--surface:#f4f0e5;--surface-soft:#fbf9f2;--surface-sunk:#ece7d8;--surface-inverted:#0a0c10;--lego-yellow:#f7c600;--lego-yellow-ink:#1a1300;--lego-yellow-soft:rgba(247,198,0,.14);--lego-yellow-line:rgba(247,198,0,.42);--signal-green:#0e8a55;--signal-green-soft:rgba(14,138,85,.1);--signal-red:#c52a1d;--signal-red-soft:rgba(197,42,29,.1);--signal-amber:#b87305;--signal-amber-soft:rgba(184,115,5,.12);--text:#0a0c10;--text-strong:#000;--text-muted:#6b6f78;--text-faint:#9aa0a8;--text-inverted:#f4f0e5;--text-inverted-muted:hsla(44,41%,93%,.55);--line:rgba(10,12,16,.08);--line-strong:rgba(10,12,16,.16);--line-inverted:hsla(44,41%,93%,.1);--focus-ring:0 0 0 3px rgba(247,198,0,.32);--r-card:8px;--r-input:6px;--r-pill:4px;--font-sans:"Geist",-apple-system,"Segoe UI",system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--sidebar-w:240px;--stage-px:36px;--muted:var(--text-muted);--graphite:var(--ink-soft)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{background:var(--lego-yellow);color:var(--lego-yellow-ink)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--surface-inverted);color:var(--text-inverted);border-right:1px solid var(--line-inverted);padding:22px 16px 18px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:10;overflow-y:auto}.brand-lockup{display:flex;align-items:center;gap:12px;padding:0 6px 20px}.brand-mark{width:34px;height:34px;background:var(--lego-yellow);color:var(--lego-yellow-ink);border-radius:var(--r-pill);display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:-.02em;flex-shrink:0}.brand-lockup strong{display:block;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text-inverted);line-height:1.15}.brand-lockup small{display:block;font-size:11px;font-weight:400;color:var(--text-inverted-muted);line-height:1.2;margin-top:2px}.nav-list{display:flex;flex-direction:column;gap:1px;list-style:none;flex:1 1}.nav-list a{display:flex;align-items:center;gap:11px;padding:7px 10px;border-radius:var(--r-input);color:var(--text-inverted-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease;position:relative;border:1px solid transparent}.nav-list a:hover{background:hsla(44,41%,93%,.05);color:var(--text-inverted)}.nav-list a.active{background:hsla(44,41%,93%,.07);color:var(--text-inverted);border-color:var(--line-inverted)}.nav-list a.active:before{content:"";position:absolute;left:-16px;top:9px;bottom:9px;width:2px;background:var(--lego-yellow);border-radius:0 2px 2px 0}.nav-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;fill:none;opacity:.9}.sidebar-footer{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-inverted-muted);padding:14px 6px 0;border-top:1px solid var(--line-inverted);margin-top:auto}.main-stage{padding:32px var(--stage-px) 64px;min-width:0}.page-stack{display:flex;flex-direction:column;gap:24px;max-width:1200px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.page-header h1{font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin-bottom:4px}.page-header p{color:var(--text-muted);font-size:13px;letter-spacing:-.005em;max-width:680px}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.stat-cell{padding:16px 20px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px;min-width:0}.stat-cell:last-child{border-right:0}.stat-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.stat-value{font-size:26px;font-weight:600;letter-spacing:-.028em;line-height:1;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.positive,.stat-value.positive{color:var(--signal-green)}.negative,.stat-value.negative{color:var(--signal-red)}.stat-sub{font-size:12px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.panel-heading strong{font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--text)}.panel-heading span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.data-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px;border-top:1px solid var(--line);min-height:48px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:background .1s ease}.data-row:first-child{border-top:0}.data-row:hover{background:var(--surface-sunk);border-radius:var(--r-input)}.data-row span{color:var(--text-muted);font-size:11px;display:block}.data-row strong{font-weight:600;font-size:14px;display:block}.data-row em{font-style:normal;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-danger,.btn-ghost,.btn-primary,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:-.005em;border-radius:var(--r-input);border:1px solid transparent;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap}.btn-primary,.secondary-action{background:var(--ink);color:var(--lego-yellow);border-color:var(--ink);font-weight:600}.btn-primary:hover,.secondary-action:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn-primary:disabled,.secondary-action:disabled{opacity:.45;cursor:not-allowed}.btn-ghost:focus-visible,.btn-primary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--surface-sunk);border-color:var(--text-muted)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:transparent;color:var(--signal-red);border-color:rgba(197,42,29,.3);height:28px;font-size:12px;padding:0 10px}.btn-danger:hover{background:var(--signal-red-soft);border-color:var(--signal-red)}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.text-action{background:none;border:0;color:var(--text);text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:var(--lego-yellow);text-decoration-color:var(--lego-yellow);text-decoration-thickness:1.5px;padding:0;font:500 13px var(--font-sans);cursor:pointer}.text-action:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.text-action:disabled{opacity:.45;cursor:not-allowed}.trend-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:10px;font-weight:600;line-height:1;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.trend-up{background:var(--signal-green-soft);color:var(--signal-green)}.trend-down{background:var(--signal-red-soft);color:var(--signal-red)}.trend-flat{color:var(--text-muted);border-color:var(--line-strong)}.trend-flat,.trend-na{background:var(--surface-sunk)}.trend-na{color:var(--text-faint)}.score-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:3px 8px 4px;border-radius:var(--r-pill)}.score-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.score-green{background:var(--signal-green-soft);color:var(--signal-green)}.score-unknown,.score-yellow{background:var(--signal-amber-soft);color:var(--signal-amber)}.score-red{background:var(--signal-red-soft);color:var(--signal-red)}.status-analyzed{background:var(--surface-sunk);color:var(--text-muted)}.status-analyzed,.status-watching{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:500;border-radius:var(--r-pill);border:1px solid transparent}.status-watching{background:var(--lego-yellow-soft);color:var(--lego-yellow-ink);border-color:var(--lego-yellow-line)}.status-bought{background:var(--signal-green-soft);color:var(--signal-green)}.status-bought,.status-discarded{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:500;border-radius:var(--r-pill);border:1px solid transparent}.status-discarded{background:var(--signal-red-soft);color:var(--signal-red)}.signal-up{background:var(--signal-green-soft);color:var(--signal-green)}.signal-down{background:var(--signal-red-soft);color:var(--signal-red)}.signal-stable,.signal-unknown{background:var(--surface-sunk);color:var(--text-muted)}.workbench-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.analyze-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) 120px}.analyze-form input{height:40px;padding:0 14px;background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:var(--r-input);font-family:var(--font-sans);font-size:13.5px;color:var(--text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.analyze-form input::placeholder{color:var(--text-faint)}.analyze-form input:focus{border-color:var(--ink);box-shadow:var(--focus-ring)}.analyze-form button{height:40px;background:var(--ink);border:0;border-radius:var(--r-input);color:var(--lego-yellow);cursor:pointer;font:600 13px var(--font-sans);transition:background .12s ease}.analyze-form button:hover{background:var(--ink-soft)}.analyze-form button:disabled{opacity:.45;cursor:not-allowed}.result-stack{display:flex;flex-direction:column;gap:16px}.watchlist-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.status-tabs{display:flex;flex-wrap:wrap;gap:6px}.status-tabs button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;font-family:var(--font-sans);font-size:12px;font-weight:500;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap}.status-tabs button:hover{background:var(--surface-sunk)}.status-tabs button.active{background:var(--ink);color:var(--lego-yellow);border-color:var(--ink)}.status-tabs button span{font-family:var(--font-mono);font-size:10px;font-weight:500;padding:1px 5px;background:var(--surface-sunk);color:var(--text-muted);border-radius:4px;margin:0;display:inline-flex;height:auto;min-width:auto;align-items:center;justify-content:center}.status-tabs button.active span{background:rgba(247,198,0,.2);color:var(--lego-yellow)}.watchlist-table{display:flex;flex-direction:column}.watchlist-row{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(88px,.5fr)) minmax(200px,.8fr);grid-gap:14px;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);min-height:72px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.watchlist-main{display:flex;align-items:center;gap:10px;min-width:0}.watchlist-main span,.watchlist-main strong,.watchlist-metric span,.watchlist-metric strong{display:block}.watchlist-main div{min-width:0}.watchlist-main div>span{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-metric span{color:var(--text-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.watchlist-metric strong{font-size:14px;font-weight:600;margin-top:3px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.row-actions button{background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-input);color:var(--text);cursor:pointer;font:500 12px var(--font-sans);height:28px;padding:0 8px;transition:background .1s ease}.row-actions button:hover{background:var(--surface-sunk)}.row-actions button:disabled{opacity:.4;cursor:not-allowed}.position-list{display:flex;flex-direction:column}.position-row{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(4,minmax(110px,1fr)) auto;grid-gap:14px;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line);min-height:64px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.position-row span{color:var(--text-muted);display:block;font-size:12px}.position-row strong{display:block;font-size:14px;font-weight:600}.add-position-toggle{display:flex;justify-content:flex-end;margin-top:4px}.add-position-form{border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface-soft);padding:20px;display:flex;flex-direction:column;gap:14px}.add-position-form h3{font-size:14px;font-weight:600;color:var(--text)}.add-position-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}.form-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,1fr)}.form-field{display:flex;flex-direction:column;gap:5px}.form-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.form-input,.inline-form input,.inline-form select{height:36px;padding:0 12px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-input);font-family:var(--font-sans);font-size:13.5px;color:var(--text);width:100%;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.form-input::placeholder{color:var(--text-faint)}.form-input:focus,.inline-form input:focus,.inline-form select:focus{border-color:var(--ink);box-shadow:var(--focus-ring)}.set-summary-block{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px;margin-top:24px;padding-top:20px}.set-summary-block p{color:var(--text);font-size:14px;line-height:1.7;max-width:720px}.chart-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-soft);min-height:200px;padding:14px 6px 6px 0}.research-toolbar{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(240px,.4fr) minmax(0,1fr);align-items:end;margin-bottom:18px}.research-toolbar label{display:grid;grid-gap:6px;gap:6px}.research-toolbar label span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.research-toolbar input{height:36px;padding:0 12px;background:var(--surface-soft);border:1px solid var(--line-strong);border-radius:var(--r-input);font-family:var(--font-sans);font-size:13.5px;color:var(--text);outline:none}.research-toolbar input:focus{border-color:var(--ink);box-shadow:var(--focus-ring)}.theme-filter{display:flex;flex-wrap:wrap;gap:6px}.theme-filter button{display:inline-flex;align-items:center;height:28px;padding:0 12px;font-size:12px;font-weight:500;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer;transition:background .12s ease,color .12s ease}.theme-filter button:hover{background:var(--surface-sunk)}.theme-filter button.active{background:var(--ink);color:var(--lego-yellow);border-color:var(--ink)}.candidate-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.candidate-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;min-height:200px;transition:border-color .12s ease}.candidate-card:hover{border-color:var(--line-strong)}.evidence-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px 16px;display:grid;grid-gap:10px;gap:10px}.evidence-card h2{font-size:15px;font-weight:600;line-height:1.25;color:var(--text)}.evidence-card p{color:var(--text-muted);font-size:12px;line-height:1.55}.evidence-card em{border-top:1px solid var(--line);color:var(--text-muted);font-size:10px;font-style:normal;font-weight:600;padding-top:8px;text-transform:uppercase;letter-spacing:.08em}.evidence-counts{display:flex;flex-wrap:wrap;gap:6px}.evidence-counts span{border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 8px}.candidate-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-card-header strong{font-size:18px;font-weight:700;font-family:var(--font-mono)}.candidate-card h2{font-size:14px;font-weight:600;line-height:1.25;color:var(--text)}.candidate-card p{color:var(--text-muted);font-size:12px;line-height:1.5}.candidate-card em{align-self:flex-end;border-top:1px solid var(--line);color:var(--text-muted);font-size:10px;font-style:normal;font-weight:600;padding-top:8px;text-transform:uppercase;letter-spacing:.08em;margin-top:auto}.readiness-meter{height:4px;background:var(--surface-sunk);border-radius:2px;overflow:hidden}.readiness-meter span{display:block;height:100%;background:var(--lego-yellow);border-radius:2px}.readiness-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.readiness-meta strong{font-size:12px;font-weight:600;color:var(--text)}.briefing-text{font-size:13.5px;line-height:1.65;color:var(--text);white-space:pre-line}.metric-list{display:flex;flex-direction:column}.metric-list div{display:flex;align-items:center;justify-content:space-between;min-height:42px;border-top:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-list dt{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.metric-list dd{font-weight:600;margin:0}.microcopy{color:var(--text-muted)}.error-text,.microcopy{font-size:13px;line-height:1.6}.error-text{color:var(--signal-red)}.success-text{color:var(--signal-green);font-size:13px;line-height:1.6}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-card);padding:28px;background:transparent;min-height:120px}.empty-state span{color:var(--text-muted);font-size:13px;line-height:1.55}.kpi-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-card);padding:18px}.kpi-card span{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:block}.kpi-card strong{display:block;font-size:26px;font-weight:600;letter-spacing:-.025em;margin-top:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.data-quality-panel{grid-column:1/-1}@media (max-width:1024px){.kpi-grid,.stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-grid{grid-template-columns:1fr}}@media (max-width:960px){:root{--stage-px:20px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;scrollbar-width:none;padding:12px 16px;gap:16px;border-right:0;border-bottom:1px solid var(--line-inverted)}.sidebar::-webkit-scrollbar{display:none}.brand-lockup{padding-bottom:0}.nav-list{flex-direction:row;flex:none;margin:0;gap:2px}.nav-list a.active:before{display:none}.nav-list a.active{box-shadow:inset 0 -2px 0 var(--lego-yellow)}.sidebar-footer{display:none}.main-stage{padding:20px var(--stage-px) 40px}.page-stack{gap:16px}.page-header{flex-direction:column;gap:12px}.page-header h1{font-size:22px}.stat-strip{grid-template-columns:repeat(2,1fr)}.content-grid,.workbench-grid{grid-template-columns:1fr}.watchlist-row{grid-template-columns:1fr 1fr;align-items:start}.row-actions,.watchlist-main{grid-column:1/-1}.row-actions{justify-content:flex-start}.research-toolbar{grid-template-columns:1fr}.position-row{grid-template-columns:1fr 1fr;align-items:start;padding:12px 0}}@media (max-width:640px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:1fr 1fr}.analyze-form,.candidate-grid,.evidence-grid,.form-grid,.position-row{grid-template-columns:1fr}}