:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#ecfff9;background:#071613;--bg:#071613;--panel:#0c211d;--panel2:#102b25;--line:#214d43;--line2:#173a32;--mint:#79f2c6;--mint2:#c5ffe9;--green:#3dd69d;--bad:#ff8585;--warn:#ffd375;--text:#ecfff9;--muted:#90b5aa;--ink:#03110e}*{box-sizing:border-box}html{background:#071613}body{margin:0;min-width:320px;background:radial-gradient(circle at 78% 0%,rgba(88,255,193,.13),transparent 24%),linear-gradient(180deg,#0b211c 0,#06130f 60%,#071613);color:var(--text)}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid var(--line2);background:linear-gradient(180deg,#08211cfa,#04120ffa);display:flex;flex-direction:column;gap:16px}.brand{display:flex;gap:11px;align-items:center;padding:4px 6px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),#2ca67e);color:#032219;font-weight:1000;box-shadow:0 0 34px #72f0c22e}.brand-mark.big{width:58px;height:58px;border-radius:18px;font-size:24px;margin-bottom:18px}.brand strong{display:block;font-size:13px;letter-spacing:.14em}.brand span{display:block;font-size:8px;letter-spacing:.17em;color:var(--muted);margin-top:3px}.private-pill{margin:0 6px;padding:8px 9px;border:1px solid #285a4f;border-radius:10px;color:#88e7c4;background:#0d2b25;font-size:8px;font-weight:900;letter-spacing:.08em;text-align:center}.sidebar nav{display:grid;gap:4px;overflow:auto}.sidebar nav button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:#91b3aa;text-align:left;font-size:10.5px;font-weight:750;cursor:pointer}.sidebar nav button>span{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#0c2924;color:#80dcbc}.sidebar nav button:hover,.sidebar nav button.active{background:#102f29;border-color:#265c50;color:#f2fff9}.sidebar nav button.active>span{background:#163f36;color:var(--mint)}.side-note{margin-top:auto;border:1px solid #1c443b;border-radius:13px;padding:12px;background:#0a211d}.side-note b{display:block;font-size:10px;color:var(--mint2)}.side-note span{display:block;margin-top:5px;font-size:9px;line-height:1.55;color:#7fa69b}.main{min-width:0;padding:24px 28px 96px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.topbar h1{margin:4px 0 3px;font-size:25px;letter-spacing:-.03em}.topbar p{margin:0;color:var(--muted);font-size:10px}.eyebrow{color:#7dddbb;font-size:8px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.provider{padding:8px 10px;border:1px solid #6e5c2d;border-radius:999px;background:#2b2414;color:#ffe19a;font-size:8px;font-weight:950;letter-spacing:.08em}.provider.good{border-color:#27634f;background:#0e3028;color:#85efc8}.primary,.ghost,.mini{border-radius:10px;cursor:pointer;font-weight:900;transition:.15s}.primary{border:1px solid #74e3bd;background:linear-gradient(180deg,#95f7d3,#4bd9aa);color:#05241c;padding:10px 14px;box-shadow:0 8px 28px #42ddb724}.primary:hover{filter:brightness(1.05)}.primary:disabled{opacity:.55;cursor:not-allowed}.ghost{border:1px solid #28574d;background:#0b2722;color:#b7d9d0;padding:10px 13px}.mini{border:1px solid #2a6052;background:#0e3028;color:#a9f2d7;padding:7px 9px;font-size:9px}.message{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 12px;border:1px solid #315e53;border-radius:10px;background:#0d2924;color:#baf3dd;font-size:10px}.message button{border:0;background:none;color:#baf3dd;font-size:17px}.market-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.market-strip>div{padding:10px 12px;border:1px solid var(--line2);border-radius:11px;background:#081e1ac7}.market-strip span,.kpi span{display:block;color:#719b8f;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.market-strip strong{display:block;margin-top:5px;font-size:10px;color:#d7f6eb}.page-grid{display:grid;gap:14px}.panel{border:1px solid var(--line2);border-radius:16px;background:linear-gradient(180deg,#0c2520eb,#071916f5);padding:18px;box-shadow:0 16px 48px #00000021}.hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:26px;align-items:center;min-height:230px;background:radial-gradient(circle at 88% 25%,rgba(101,245,190,.13),transparent 25%),linear-gradient(135deg,#0e3029,#081d1a)}.hero h2,.thesis-hero h2,.learning-hero h2,.portfolio-hero h2{font-size:31px;line-height:1.08;letter-spacing:-.04em;margin:8px 0 10px;max-width:850px}.hero p,.thesis-hero p,.learning-hero p,.portfolio-hero p{color:#9abdb4;font-size:11px;line-height:1.65;max-width:800px}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.consensus-orb{width:155px;height:155px;border-radius:50%;display:grid;place-items:center;align-content:center;border:1px solid #347765;background:radial-gradient(circle at 50% 34%,#69ffc729,#071714ad);box-shadow:inset 0 0 0 12px #52dca906}.consensus-orb span{font-size:8px;color:#7bc5ae;letter-spacing:.14em;font-weight:950}.consensus-orb strong{font-size:42px;color:var(--mint);line-height:1}.consensus-orb small{font-size:8px;color:#7fa69b;margin-top:6px}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.kpi{min-height:92px;border:1px solid var(--line2);border-radius:13px;background:#091f1b;padding:12px}.kpi strong{display:block;font-size:22px;margin:9px 0 4px;color:#effff9}.kpi small{font-size:8.5px;color:#759d91}.section-title{margin-bottom:14px}.section-title h3{font-size:15px;margin:0 0 4px}.section-title p{margin:0;color:#789f93;font-size:9.5px;line-height:1.5}.defense-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.defense{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px;border:1px solid #20493f;border-radius:12px;background:#09221d}.defense>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#103b30;color:#82ecc7;font-weight:950}.defense strong{font-size:10px}.defense p{margin:4px 0 0;color:#7fa69b;font-size:9px;line-height:1.5}.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.timeline>div{padding:12px;border-left:2px solid #2b7560;background:#09221d;border-radius:0 10px 10px 0}.timeline b{display:block;font-size:8px;color:#5ba88f}.timeline strong{display:block;font-size:11px;margin:4px 0}.timeline span{display:block;font-size:8.5px;color:#7b9f95;line-height:1.5}.table-wrap{overflow:auto;border:1px solid var(--line2);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:900px;background:#081d19}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid #17352f;font-size:9.5px}th{position:sticky;top:0;background:#0d2a25;color:#79a99a;text-transform:uppercase;letter-spacing:.07em;font-size:7.5px}td strong{display:block;font-size:10.5px}td small{display:block;margin-top:3px;color:#6d9287}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:950;letter-spacing:.07em;margin-top:5px}.badge.pass{background:#103b30;color:#86f1cb;border:1px solid #2a6a57}.badge.watch{background:#332b17;color:#ffd77c;border:1px solid #695728}.badge.reject{background:#351d20;color:#ff9c9c;border:1px solid #6e373d}.score{display:inline-grid;grid-template-columns:auto 58px;gap:7px;align-items:center}.score b{font-size:11px}.score:after{content:"";grid-column:2;grid-row:1;width:58px;height:5px;background:#12312b;border-radius:999px}.score i{grid-column:2;grid-row:1;height:5px;border-radius:999px;background:linear-gradient(90deg,#2bb580,#85f2c9);z-index:1}.bad{color:#ff9a9a}.good-text{color:#7ce5be}.basket-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.basket-grid>div{border:1px solid #1f463d;border-radius:13px;background:#081e1a;padding:12px}.basket-grid h3{font-size:12px;margin:0 0 10px}.basket-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 8px;border-top:1px solid #17372f}.basket-row:first-of-type{border-top:0}.rank{font-size:11px;color:#4c917b;font-weight:950}.basket-row small{display:block;color:#74998f;font-size:8.5px;margin-top:2px}.mini-metrics{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.mini-metrics span{font-size:7.5px;border:1px solid #244d43;border-radius:999px;padding:3px 5px;color:#87afa4}.basket-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.cash-box{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:13px;border:1px solid #2f6758;border-radius:12px;background:#0c2b24}.cash-box span{font-size:9px;color:#90baae}.cash-box strong{font-size:24px;color:#90f3cf;grid-row:1/3;grid-column:2}.cash-box small{font-size:8.5px;color:#719b8f}.cards,.holdings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stock-card,.holding-card,.mobile-stock-card{padding:14px;border:1px solid #1f4c41;border-radius:13px;background:#091f1b}.stock-head{display:flex;justify-content:space-between;gap:10px}.stock-head span{font-size:7px;color:#71a394}.stock-head h3{margin:3px 0 1px;font-size:17px}.stock-head p{margin:0;color:#789e93;font-size:8.5px}.stock-price{font-size:26px;font-weight:950;margin:14px 0}.stock-price small{font-size:8px;color:#799f94}.score-row{display:flex;justify-content:space-between;align-items:center}.stock-card>p,.holding-card>p{font-size:9px;line-height:1.55;color:#89ada3}.thesis-hero,.portfolio-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.thesis-hero>div:last-child{display:grid;justify-items:end;gap:6px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bullet{position:relative;padding-left:18px;color:#9cbdb4;font-size:9.5px;line-height:1.55}.bullet:before{position:absolute;left:0;top:0;font-weight:950}.good-bullet:before{content:"+";color:#6de6bb}.risk-bullet:before{content:"!";color:#ffd072}.veto-bullet:before{content:"×";color:#f88}.ai-box{white-space:pre-wrap;border:1px solid #254f45;border-radius:12px;background:#071c18;padding:14px;color:#b9d7cf;font-size:10px;line-height:1.7}.learning-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.trend-score{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;align-content:center;border:1px solid #347361;background:#0b2b24;font-size:35px;font-weight:950;color:#88f0ca}.trend-score small{font-size:8px;color:#77a799;font-weight:700}.connection-grid,.regime-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.connection,.regime{border:1px solid #1d483e;border-radius:12px;background:#091f1b;padding:12px}.connection>div{display:flex;justify-content:space-between;align-items:center}.connection strong,.regime strong{font-size:10.5px}.connection p{font-size:8.7px;line-height:1.5;color:#789f93;min-height:40px}.connection small,.regime span{font-size:7.5px;color:#769b91;text-transform:uppercase;letter-spacing:.06em}.dot{width:9px;height:9px;border-radius:50%;background:#8d6b31;box-shadow:0 0 0 3px #8d6b3121}.good-dot{background:#53dca9;box-shadow:0 0 0 3px #53dca921}.upload-box{display:grid;gap:7px;padding:17px;border:1px dashed #2d7460;border-radius:13px;background:#0a241f;cursor:pointer}.upload-box input{color:#8fb5aa}.upload-box strong{font-size:11px}.upload-box span{font-size:9px;line-height:1.5;color:#789f93}.panel pre{overflow:auto;padding:13px;border:1px solid #1e443b;border-radius:11px;background:#051512;color:#9fd5c5;font-size:9px}.disclaimer{border-color:#5c512b;background:#251f11}.disclaimer b{color:#ffe08e}.disclaimer p{color:#cbbf9b;font-size:9px;line-height:1.55}.empty{text-align:center;padding:60px 20px}.empty.compact{padding:28px 15px}.mobile-nav,.mobile-stock-list{display:none}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.holding-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}.holding-numbers>div{padding:9px;border:1px solid #1d443a;border-radius:10px;background:#071a16}.holding-numbers small{display:block;color:#739b8f;font-size:7px;text-transform:uppercase}.holding-numbers strong{display:block;margin-top:4px;font-size:12px}.decision{font-size:7px;font-weight:950;padding:5px 7px;border-radius:999px;border:1px solid #4a5b54}.decision.buy{color:#8af2cb;border-color:#2e715e;background:#0d332a}.decision.hold{color:#e9ddb0;border-color:#6e6237;background:#29230f}.decision.reduce{color:#ffc08f;border-color:#805536;background:#321d0c}.decision.exit{color:#ff9c9c;border-color:#78383e;background:#321417}.mini-chart{height:210px;border:1px solid #1d473d;border-radius:12px;background:linear-gradient(180deg,#0a241f,#061814);padding:12px}.mini-chart svg{width:100%;height:165px}.mini-chart polyline{stroke:#77efc3;stroke-width:2}.chart-labels{display:flex;justify-content:space-between;color:#6f998d;font-size:8px}.scenario-picker{display:flex;gap:8px;flex-wrap:wrap}.scenario-picker button{border:1px solid #28594e;background:#0b2822;color:#9bbfb5;border-radius:999px;padding:9px 12px;cursor:pointer}.scenario-picker button.active{background:#174739;color:#98f2d1;border-color:#3b8a72}.scenario-result{margin-top:16px;padding:18px;border:1px solid #2a6656;border-radius:14px;background:#0b2a23}.scenario-result span{font-size:8px;color:#7ca69a;text-transform:uppercase}.scenario-result strong{display:block;font-size:40px;color:#9bf4d3;margin:8px 0}.scenario-result p{font-size:9.5px;line-height:1.55;color:#8fb0a6}.regime-chip{padding:14px 18px;border-radius:14px;border:1px solid #347765;background:#0d342a;color:#8ff0ce;font-weight:950}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 18%,rgba(89,247,187,.13),transparent 28%),linear-gradient(180deg,#0a211c,#05120f)}.login-card{width:min(430px,100%);padding:28px;border:1px solid #285e50;border-radius:20px;background:linear-gradient(180deg,#0d2c25,#081c18);box-shadow:0 30px 90px #00000059}.login-card h1{font-size:31px;letter-spacing:-.04em;margin:8px 0}.login-card>p{color:#89afa4;font-size:10px;line-height:1.6}.login-card form{display:grid;gap:12px;margin:22px 0}.login-card label{display:grid;gap:6px;color:#7fa69b;font-size:9px}.login-card input{width:100%;height:48px;border:1px solid #2a6354;border-radius:11px;background:#071b17;color:#eafff8;padding:0 12px;font-size:16px}.login-card small{display:block;color:#6f9589;font-size:8px;line-height:1.5}.login-error{margin-bottom:12px;color:#ff9c9c;font-size:9px}@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.defense-grid,.connection-grid,.regime-grid,.cards,.holdings-grid{grid-template-columns:1fr 1fr}}@media(max-width:860px){body{background:linear-gradient(180deg,#0a211c,#061612)}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:12px 12px 96px}.topbar{position:sticky;top:0;z-index:20;display:grid;gap:10px;margin:-12px -12px 12px;padding:12px;border-bottom:1px solid #1d433a;background:#061814f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{font-size:20px}.topbar p{display:none}.top-actions{justify-content:flex-start}.market-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2px;margin:0 -2px 12px}.market-strip>div{min-width:160px;scroll-snap-align:start}.hero{grid-template-columns:1fr;min-height:0}.consensus-orb{width:100%;height:auto;border-radius:12px;display:flex;justify-content:space-between;align-items:center;padding:13px 16px}.consensus-orb strong{font-size:28px}.consensus-orb small{margin:0}.timeline{grid-template-columns:1fr 1fr}.basket-grid,.split{grid-template-columns:1fr}.desktop-table{display:none}.mobile-stock-list{display:grid;gap:10px}.mobile-stock-card{padding:14px}.mobile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.mobile-metrics>div{padding:9px 7px;border:1px solid #1d443a;border-radius:10px;background:#071a16}.mobile-metrics small{display:block;color:#72998e;font-size:7px}.mobile-metrics strong{display:block;margin-top:4px;font-size:12px}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;overflow-x:auto;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#051411f7;border-top:1px solid #21493f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{flex:0 0 66px;min-height:52px;border:0;background:transparent;color:#6f998d;padding:6px 3px;border-radius:10px;display:grid;gap:2px;justify-items:center;align-content:center}.mobile-nav button span{font-size:16px}.mobile-nav button small{font-size:7px;white-space:nowrap}.mobile-nav button.active{background:#12382f;color:#8df2cc}.thesis-hero,.learning-hero,.portfolio-hero{display:grid}.thesis-hero>div:last-child{justify-items:start}.trend-score{width:100%;height:auto;border-radius:12px;display:flex;justify-content:space-between;padding:12px 14px}.hero h2,.thesis-hero h2,.learning-hero h2,.portfolio-hero h2{font-size:25px}.cards,.holdings-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.main{padding-left:10px;padding-right:10px}.topbar{margin-left:-10px;margin-right:-10px}.topbar h1{font-size:19px}.top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.top-actions .provider{grid-column:1/-1;text-align:center}.top-actions .primary{grid-column:1/-1;min-height:44px}.top-actions button{min-height:44px}.kpi-grid,.defense-grid,.timeline,.connection-grid,.regime-grid,.cards,.holdings-grid{grid-template-columns:1fr 1fr}.hero{padding:15px}.hero h2{font-size:23px}.panel{padding:14px;border-radius:14px}.basket-row{grid-template-columns:30px minmax(0,1fr)}.basket-actions{grid-column:2;justify-content:flex-start}.cash-box{grid-template-columns:1fr auto}.connection-grid{grid-template-columns:1fr}.stock-card,.holding-card{padding:13px}.holding-numbers{grid-template-columns:1fr 1fr}.row-actions button{min-height:42px;flex:1}.primary,.ghost,.mini{min-height:42px}.scenario-picker{display:grid;grid-template-columns:1fr 1fr}.scenario-picker button{min-height:44px}.mobile-metrics{grid-template-columns:1fr 1fr}.login-wrap{padding:14px}.login-card{padding:22px 18px}.market-strip>div{min-width:145px}.market-strip strong{font-size:9px}}@media(max-width:380px){.kpi-grid,.defense-grid,.timeline,.cards,.holdings-grid,.top-actions{grid-template-columns:1fr}.top-actions .provider,.top-actions .primary{grid-column:auto}.mobile-nav button{flex-basis:62px}.scenario-picker{grid-template-columns:1fr}}:root{color:#183c33;background:#eef8f3;--bg:#eef8f3;--panel:#fbfffd;--panel2:#f3fbf7;--line:#bcd9cf;--line2:#cfe5dd;--mint:#35c998;--mint2:#0f7257;--green:#1e9f73;--bad:#b33c49;--warn:#a66a0c;--text:#183c33;--muted:#5f7e74;--ink:#102c25}html{background:#eef8f3;font-size:17px}body{background:radial-gradient(circle at 78% 0%,rgba(65,201,156,.16),transparent 26%),linear-gradient(180deg,#f5fcf8,#eaf6f0 55%,#eef8f3);color:var(--text);font-size:16px;line-height:1.55}.app-shell{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:24px 18px;border-right:1px solid #bfdacf;background:linear-gradient(180deg,#e7f5ef,#dff0e8);box-shadow:8px 0 30px #1f59460f}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6be0b8,#29b887);color:#0b392d;box-shadow:0 8px 24px #34b0872e}.brand strong{font-size:18px;letter-spacing:.09em;color:#163d33}.brand span{font-size:12px;letter-spacing:.11em;color:#5a7a70;margin-top:4px}.private-pill{padding:11px 12px;border:1px solid #91c6b3;background:#f5fffa;color:#276b56;font-size:12px;letter-spacing:.06em}.sidebar nav{gap:7px}.sidebar nav button{gap:13px;padding:14px 15px;border-radius:13px;color:#4d6d63;font-size:15px;font-weight:800}.sidebar nav button>span{width:32px;height:32px;border-radius:9px;background:#d4eee4;color:#217d61;font-size:15px}.sidebar nav button:hover,.sidebar nav button.active{background:#fff;border-color:#85bda9;color:#153f34;box-shadow:0 8px 22px #23624d14}.sidebar nav button.active>span{background:#b9e8d7;color:#136c52}.side-note{border:1px solid #a8cfc0;background:#f8fffb;padding:15px}.side-note b{font-size:14px;color:#175d49}.side-note span{font-size:13px;line-height:1.6;color:#617f75}.main{padding:30px 34px 110px}.topbar{margin-bottom:24px}.topbar h1{font-size:36px;line-height:1.1;color:#123b31;margin:5px 0 7px}.topbar p{font-size:15px;color:#58766d}.eyebrow{font-size:12px;color:#247b60;letter-spacing:.12em}.provider{padding:10px 14px;font-size:12px;border-color:#d4bb72;background:#fff8df;color:#765516}.provider.good{border-color:#7fc3aa;background:#e9fbf3;color:#176348}.primary,.ghost,.mini{border-radius:12px;font-size:15px;min-height:48px}.primary{padding:12px 18px;border-color:#38b789;background:linear-gradient(180deg,#7ce5bd,#46cb9b);color:#103c31;box-shadow:0 8px 24px #2fa77e29}.ghost{padding:12px 17px;border-color:#9ac7b6;background:#fff;color:#285d4e}.mini{padding:9px 12px;font-size:13px;border-color:#99c8b7;background:#effaf5;color:#266a55}.message{padding:13px 15px;border-color:#a7d0c0;background:#f3fff9;color:#285e50;font-size:14px}.message button{color:#285e50}.market-strip{gap:12px;margin-bottom:22px}.market-strip>div{padding:14px 16px;border-color:#c6dfd6;background:#ffffffdb;box-shadow:0 6px 18px #2a604d0d}.market-strip span,.kpi span{font-size:12px;color:#557d6e;letter-spacing:.06em}.market-strip strong{font-size:15px;color:#173f34;margin-top:7px}.page-grid{gap:18px}.panel{border-color:#c4dfd5;background:linear-gradient(180deg,#fff,#f9fdfa);padding:24px;box-shadow:0 12px 34px #1d524112}.hero{grid-template-columns:minmax(0,1fr) 190px;min-height:270px;background:radial-gradient(circle at 88% 25%,rgba(74,211,166,.18),transparent 28%),linear-gradient(135deg,#fff,#effaf5)}.hero h2,.thesis-hero h2,.learning-hero h2,.portfolio-hero h2{font-size:42px;line-height:1.08;color:#123d31;margin:10px 0 14px}.hero p,.thesis-hero p,.learning-hero p,.portfolio-hero p{font-size:16px;line-height:1.7;color:#55796d;max-width:900px}.hero-actions{gap:10px;margin-top:22px}.consensus-orb{width:175px;height:175px;border-color:#7bbba3;background:radial-gradient(circle at 50% 34%,#60e0b53d,#f5fffaeb);box-shadow:inset 0 0 0 12px #3aa67f0a}.consensus-orb span{font-size:12px;color:#337d65}.consensus-orb strong{font-size:52px;color:#16966c}.consensus-orb small{font-size:12px;color:#67867b}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kpi{min-height:120px;border-color:#c9e0d7;background:#fff;padding:17px}.kpi strong{font-size:31px;margin:12px 0 5px;color:#153f34}.kpi small{font-size:13px;color:#68877c}.section-title{margin-bottom:18px}.section-title h3{font-size:21px;color:#173f34;margin-bottom:6px}.section-title p{font-size:14px;color:#658479;line-height:1.6}.defense-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.defense{grid-template-columns:38px minmax(0,1fr);gap:13px;padding:16px;border-color:#c2ded3;background:#fbfffd}.defense>span{width:36px;height:36px;border-radius:10px;background:#d8f3e8;color:#177455;font-size:17px}.defense strong{font-size:15px;color:#1f5043}.defense p{font-size:13px;line-height:1.65;color:#647f76}.timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline>div{padding:16px;border-left:4px solid #48b88d;background:#fbfffd;box-shadow:0 5px 14px #245c490a}.timeline b{font-size:12px;color:#3e866f}.timeline strong{font-size:16px;color:#1b4b3e;margin:6px 0}.timeline span{font-size:13px;color:#67837a;line-height:1.6}.table-wrap{border-color:#c5ddd5;background:#fff}table{min-width:1100px;background:#fff}th,td{padding:15px 14px;border-bottom:1px solid #dcece6;font-size:14px;color:#294f43}th{background:#edf8f3;color:#4e786a;font-size:12px}td strong{font-size:15px;color:#173f34}td small{font-size:12px;color:#718d84}.badge{padding:6px 9px;font-size:11px}.badge.pass{background:#e1f8ef;color:#17684f;border-color:#86c6ad}.badge.watch{background:#fff5d8;color:#8a651d;border-color:#ddc06c}.badge.reject{background:#ffe7e9;color:#9c3441;border-color:#dda0a7}.score{grid-template-columns:auto 76px;gap:9px}.score b{font-size:16px}.score:after,.score i{width:76px;height:7px}.score:after{background:#d9ebe4}.good-text{color:#177957}.bad{color:#b33c49}.basket-grid{gap:16px}.basket-grid>div{border-color:#c6dfd5;background:#fff;padding:17px}.basket-grid h3{font-size:18px;color:#1a4b3d}.basket-row{grid-template-columns:44px minmax(0,1fr) auto;gap:13px;padding:15px 10px;border-top-color:#dceae5}.rank{font-size:15px;color:#3e8069}.basket-row small{font-size:12px;color:#6c897f}.mini-metrics{gap:8px;margin-top:8px}.mini-metrics span{font-size:12px;border-color:#bedbd0;color:#4c7668;background:#f7fcf9;padding:5px 8px}.cash-box{padding:16px;border-color:#a8d1c1;background:#eefaf5}.cash-box span{font-size:13px;color:#54796d}.cash-box strong{font-size:31px;color:#177d5b}.cash-box small{font-size:12px;color:#69887d}.cards,.holdings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stock-card,.holding-card,.mobile-stock-card{padding:18px;border-color:#c4dfd4;background:#fff}.stock-head span{font-size:12px;color:#557f70}.stock-head h3{font-size:24px;color:#173f34}.stock-head p{font-size:13px;color:#67857b}.stock-price{font-size:34px;color:#163f34}.stock-price small{font-size:12px;color:#68877c}.stock-card>p,.holding-card>p{font-size:14px;line-height:1.65;color:#59786e}.bullet{font-size:14px;line-height:1.7;color:#526f66}.ai-box{border-color:#bedbd0;background:#f7fcf9;color:#2b5548;font-size:14px;line-height:1.8;padding:18px}.trend-score{width:140px;height:140px;border-color:#8fc8b2;background:#ecfaf4;font-size:43px;color:#177b59}.trend-score small{font-size:12px;color:#66867a}.connection-grid,.regime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.connection,.regime{border-color:#c5dfd5;background:#fff;padding:16px}.connection strong,.regime strong{font-size:15px;color:#1b4a3d}.connection p{font-size:13px;line-height:1.6;color:#637f75;min-height:0}.connection small,.regime span{font-size:11px;color:#6b887e}.upload-box{gap:9px;padding:20px;border-color:#85bea9;background:#f6fdf9}.upload-box input{color:#496d61}.upload-box strong{font-size:16px}.upload-box span{font-size:13px;color:#638076}.panel pre{padding:16px;border-color:#c3ddd4;background:#f2faf6;color:#315f50;font-size:13px}.disclaimer{border-color:#e4cd8c;background:#fff9e7}.disclaimer b{color:#7f5e17}.disclaimer p{color:#756b50;font-size:13px;line-height:1.6}.holding-numbers>div,.mobile-metrics>div{border-color:#c8dfd6;background:#f7fcf9}.holding-numbers small,.mobile-metrics small{font-size:11px;color:#68867c}.holding-numbers strong,.mobile-metrics strong{font-size:16px;color:#19493c}.decision{font-size:11px;padding:7px 10px}.decision.buy{color:#176b50;border-color:#83c5ac;background:#e6f8f0}.decision.hold{color:#755d1b;border-color:#d7bf74;background:#fff7dd}.decision.reduce{color:#92581f;border-color:#d9a66e;background:#fff0df}.decision.exit{color:#993743;border-color:#d9a0a7;background:#ffe9eb}.mini-chart{height:240px;border-color:#c6dfd5;background:linear-gradient(180deg,#fff,#f3faf7)}.mini-chart svg{height:190px}.mini-chart polyline{stroke:#22956d;stroke-width:2.4}.chart-labels{font-size:12px;color:#667f76}.scenario-picker button{font-size:14px;border-color:#a5cebe;background:#fff;color:#315f50;padding:11px 15px}.scenario-picker button.active{background:#dff5ec;color:#176448;border-color:#79baa2}.scenario-result{border-color:#9bcab8;background:#f0fbf6;padding:21px}.scenario-result span{font-size:12px;color:#5a7f71}.scenario-result strong{font-size:48px;color:#177b59}.scenario-result p{font-size:14px;line-height:1.65;color:#5d786f}.regime-chip{border-color:#89c4ae;background:#e6f8f0;color:#17694e;font-size:15px}.login-wrap{background:radial-gradient(circle at 50% 18%,rgba(91,214,170,.2),transparent 30%),linear-gradient(180deg,#f4fcf8,#e4f4ed)}.login-card{border-color:#a4cdbd;background:linear-gradient(180deg,#fff,#f8fdfa);box-shadow:0 24px 70px #1e534221}.login-card h1{font-size:40px;color:#153f34}.login-card>p{font-size:15px;color:#5c7c71}.login-card label{font-size:13px;color:#58776d}.login-card input{height:54px;border-color:#9bc8b7;background:#fff;color:#183f34;font-size:18px}.login-card small{font-size:12px;color:#68877c}.login-error{font-size:13px}@media(max-width:1180px){.app-shell{grid-template-columns:270px minmax(0,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.cards,.holdings-grid{grid-template-columns:1fr}}@media(max-width:860px){body{background:linear-gradient(180deg,#f4fbf7,#eaf6f0)}.main{padding:14px 14px 110px}.topbar{margin:-14px -14px 14px;padding:14px;border-bottom-color:#c2dcd2;background:#f7fdfaf2;box-shadow:0 8px 20px #2357460f}.topbar h1{font-size:29px}.topbar p{display:block;font-size:13px}.market-strip>div{min-width:220px}.market-strip strong{font-size:15px}.hero{padding:20px}.hero h2,.thesis-hero h2,.learning-hero h2,.portfolio-hero h2{font-size:32px}.hero p,.thesis-hero p,.learning-hero p,.portfolio-hero p{font-size:15px}.consensus-orb{background:#f1fbf6;border-color:#9bcbb9}.consensus-orb strong{font-size:37px}.consensus-orb span,.consensus-orb small{font-size:12px}.mobile-stock-card{padding:17px}.mobile-metrics>div{background:#f7fcf9;border-color:#c7ded5}.mobile-metrics small{font-size:11px}.mobile-metrics strong{font-size:16px}.mobile-nav{gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#f7fdfafa;border-top-color:#bad7cc;box-shadow:0 -8px 24px #26574714}.mobile-nav button{flex-basis:82px;min-height:62px;color:#59786e}.mobile-nav button span{font-size:20px}.mobile-nav button small{font-size:10px;font-weight:800}.mobile-nav button.active{background:#dff4eb;color:#17664d}}@media(max-width:560px){.topbar h1{font-size:27px}.topbar p{font-size:13px}.top-actions{grid-template-columns:1fr 1fr}.top-actions .provider{font-size:12px}.kpi-grid,.defense-grid,.timeline,.cards,.holdings-grid,.connection-grid,.regime-grid{grid-template-columns:1fr}.hero h2{font-size:30px}.panel{padding:18px}.section-title h3{font-size:20px}.section-title p{font-size:14px}.basket-row{grid-template-columns:34px minmax(0,1fr)}.stock-head h3{font-size:22px}.stock-head p{font-size:13px}.scenario-picker{grid-template-columns:1fr}.scenario-picker button{font-size:14px}.market-strip>div{min-width:205px}}@media(max-width:380px){.mobile-nav button{flex-basis:76px}.topbar h1{font-size:25px}.hero h2{font-size:27px}}.geo-themes{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 16px}.news-row{display:grid;gap:5px;padding:14px 4px;border-top:1px solid #dcece6}.news-row strong{font-size:15px;line-height:1.5;color:#173f34}.news-row small{font-size:12px;color:#6a887e}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.impact-grid .ai-box{grid-column:1/-1}@media(max-width:860px){.impact-grid{grid-template-columns:1fr 1fr}.news-row strong{font-size:14px}}@media(max-width:560px){.impact-grid{grid-template-columns:1fr}.news-row strong{font-size:14px}.news-row small{font-size:11px}}.alert-button{position:relative}.production-score{display:flex;align-items:baseline;gap:14px;margin:4px 0 18px;padding:16px 18px;border:1px solid #a8d6c5;border-radius:14px;background:#eefaf5}.production-score strong{font-size:42px;line-height:1;color:#177b59}.production-score span{font-size:15px;color:#4f7467;font-weight:800}.restore-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #93c8b4;border-radius:10px;background:#fff;color:#285c4c;font-weight:900;cursor:pointer}.restore-button input{display:none}.alert-list{display:grid;gap:10px}.alert-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:16px 17px;border:1px solid #c8dfd7;border-left:5px solid #7fae9d;border-radius:13px;background:#fff}.alert-card.watch{border-left-color:#d4a44b;background:#fffaf0}.alert-card.urgent{border-left-color:#d46770;background:#fff5f6}.alert-card.read{opacity:.64}.alert-card span{display:block;font-size:11px;color:#6c8b80;font-weight:900;letter-spacing:.06em}.alert-card strong{display:block;margin:4px 0 5px;font-size:16px;color:#153f34}.alert-card p{margin:0;font-size:13px;line-height:1.55;color:#58776d}.alert-card time{font-size:11px;color:#78948a;white-space:nowrap}.chart-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 10px;font-size:12px;color:#5e7e73}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{display:inline-block;width:22px;height:3px;border-radius:999px}.chart-legend .portfolio-line{background:#22956d}.chart-legend .benchmark-line{background:#82978e}.chart-legend b{margin-left:auto;color:#1e684f}.mini-chart .portfolio-series{stroke:#22956d}.mini-chart .benchmark-series{stroke:#82978e;stroke-dasharray:4 3}.fred-attribution{font-size:11px;color:#6c857c;line-height:1.55}.settings-note{font-size:12px;color:#617d73;line-height:1.6}.connection small{font-weight:800}@media(max-width:860px){.alert-card{grid-template-columns:1fr}.alert-card time{white-space:normal}.production-score{align-items:center}.production-score strong{font-size:36px}.chart-legend b{margin-left:0}.mobile-nav button{flex-basis:86px}}@media(max-width:560px){.production-score{display:grid;gap:4px}.production-score strong{font-size:34px}.alert-card{padding:14px}.alert-card strong{font-size:15px}.alert-card p{font-size:13px}.restore-button{width:100%}.hero-actions .restore-button{flex:1 1 100%}}.topbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,430px) minmax(320px,auto);align-items:start;gap:16px}.topbar-title{min-width:0}.global-search{position:relative;min-width:0;z-index:30}.global-search input{width:100%;height:46px;padding:0 42px;border:1px solid #a8d1c2;border-radius:13px;background:#fff;color:#173f34;font-size:14px;box-shadow:0 8px 24px #2357460f;outline:none}.global-search input:focus{border-color:#59b792;box-shadow:0 0 0 3px #4ab58c21}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:19px;color:#4e806d;pointer-events:none}.search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:29px;height:29px;border:0;border-radius:9px;background:#edf7f3;color:#477666;font-size:18px;cursor:pointer}.search-results{position:absolute;left:0;right:0;top:52px;padding:7px;border:1px solid #b8d8cc;border-radius:13px;background:#fff;box-shadow:0 18px 50px #1a4a3c2b;display:grid;gap:3px;max-height:360px;overflow:auto}.search-results button{display:grid;gap:2px;width:100%;padding:10px 11px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.search-results button:hover,.search-results button:focus{background:#eef8f4;outline:none}.search-results strong{font-size:13px;color:#183f34}.search-results span{font-size:11px;color:#66857a}.help-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#f3fbf7,#e5f6ee);border-color:#a8d5c4}.help-launch h2{margin:5px 0 7px;font-size:25px;color:#173f34}.help-launch p{margin:0;max-width:860px;color:#5a7a6f;font-size:14px;line-height:1.65}.help-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#f4fcf8,#e4f6ed);border-color:#9ecfb9}.help-hero h2{margin:5px 0 7px;font-size:34px;color:#153f34}.help-hero p{margin:0;max-width:880px;color:#58796d;font-size:15px;line-height:1.65}.help-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.help-search>span{font-size:24px;color:#48806c}.help-search input{height:52px;width:100%;padding:0 15px;border:1px solid #a5cfbf;border-radius:12px;background:#fff;color:#173f34;font-size:16px;outline:none}.help-search input:focus{border-color:#4fab86;box-shadow:0 0 0 3px #4ab58c1f}.help-search button{height:44px;padding:0 14px;border:1px solid #a7cdbf;border-radius:10px;background:#f4faf7;color:#315e4f;font-weight:850;cursor:pointer}.help-count{margin-top:9px;color:#6a887d;font-size:12px}.help-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.help-flow>div{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"n t" "n d";gap:2px 9px;padding:14px;border:1px solid #c3dfd4;border-radius:12px;background:#f9fdfb}.help-flow b{grid-area:n;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#daf2e8;color:#18694e;font-size:14px}.help-flow strong{grid-area:t;color:#173f34;font-size:14px}.help-flow span{grid-area:d;color:#647f75;font-size:12px;line-height:1.5}.help-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-topic{border:1px solid #c7dfd6;border-radius:12px;background:#fff;overflow:hidden}.help-topic summary{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:15px;cursor:pointer}.help-topic summary::-webkit-details-marker{display:none}.help-topic summary div{display:grid;gap:4px}.help-topic summary strong{color:#173f34;font-size:15px}.help-topic summary span:not(.help-plus){color:#66847a;font-size:12px;line-height:1.45}.help-plus{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:8px;background:#eaf6f1;color:#2a6d55;font-size:18px;font-weight:700;transition:.15s}.help-topic[open] .help-plus{transform:rotate(45deg)}.help-topic>p{margin:0;padding:0 15px 14px;color:#4f7065;font-size:13px;line-height:1.68}.help-tags{display:flex;gap:6px;flex-wrap:wrap;padding:0 15px 15px}.help-tags span{padding:4px 7px;border:1px solid #c9e0d7;border-radius:999px;background:#f5fbf8;color:#648177;font-size:10px}.help-category .section-title{margin-bottom:11px}@media(max-width:1250px){.topbar{grid-template-columns:minmax(220px,1fr) minmax(250px,390px)}.top-actions{grid-column:1/-1;justify-content:flex-start}.help-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.topbar{display:grid;grid-template-columns:1fr;gap:10px}.global-search{order:2}.top-actions{order:3;display:flex;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px}.top-actions>*{flex:0 0 auto}.help-launch,.help-hero{display:grid;gap:15px}.help-launch .primary,.help-hero .ghost{width:100%}.help-topic-grid{grid-template-columns:1fr}.help-flow{grid-template-columns:1fr 1fr}.global-search input{font-size:16px}.search-results{position:absolute;max-height:300px}}@media(max-width:560px){.help-flow{grid-template-columns:1fr}.help-hero h2{font-size:30px}.help-search{grid-template-columns:auto minmax(0,1fr)}.help-search button{grid-column:1/-1;width:100%}.help-topic summary{padding:14px}.help-topic summary strong{font-size:15px}.help-topic>p{font-size:13px}.help-launch h2{font-size:22px}}
