:root{color-scheme:light;--bg: #f4f7f7;--surface: #ffffff;--surface-2: #eef5f4;--ink: #14201f;--muted: #667474;--line: #dbe5e3;--accent: #0c7a73;--accent-2: #0a5c58;--green: #16835b;--red: #b33939;--amber: #b97913;--shadow: 0 16px 45px rgba(12, 41, 39, .09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.site-footer{grid-column:1 / -1;padding:12px 18px;border-top:1px solid var(--line);background:#fffaf0;color:#74490d;font-size:13px;font-weight:800;text-align:center}.mobile-coach,.mobile-bottom-nav{display:none}.term-help{cursor:help;text-decoration:underline dotted rgba(12,122,115,.55);text-underline-offset:3px}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#10211f;color:#eef8f6;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#0c7a73;font-weight:800}.brand h1,.brand p{margin:0}.brand h1{font-size:21px;line-height:1.15;letter-spacing:0}.brand p{margin-top:4px;color:#a9bfbc;font-size:12px}.search-box{display:flex;align-items:center;gap:9px;height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff14}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:14px}.search-box input::placeholder{color:#a9bfbc}.directory-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:#8fb0ac;font-size:12px;line-height:1.45}.directory-status span{min-width:0}.directory-status button{flex:0 0 auto;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff14;color:#eef8f6;font-size:12px}.directory-status.warn{color:#ffd38a}.directory-status.fail{color:#ffaaa8}.directory-warning{margin-top:8px;padding:8px 10px;border:1px solid rgba(255,211,138,.28);border-radius:8px;background:#b9791324;color:#ffd38a;font-size:12px;line-height:1.45}.connection-panel{display:grid;gap:8px;margin:10px 0 12px;padding:10px;border:1px solid rgba(128,224,214,.16);border-radius:8px;background:#ffffff0f;color:#dcecea}.connection-head{display:flex;align-items:center;gap:7px;color:#eef8f6;font-size:13px}.connection-grid{display:grid;gap:5px}.connection-grid span{color:#a9bfbc;font-size:12px;font-weight:800}.connection-grid .pass{color:#89e4b0}.connection-grid .warn,.connection-grid .watch{color:#ffd38a}.connection-panel p{margin:0;color:#a9bfbc;font-size:12px;line-height:1.45}.connection-diagnostics{display:grid;gap:8px;margin-top:2px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.connection-diagnostics summary{color:#eef8f6;cursor:pointer;font-size:12px;font-weight:900}.connection-diagnostic-list{display:grid;gap:7px;margin-top:8px}.connection-diagnostic-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start;padding:7px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d}.connection-diagnostic-row strong,.connection-diagnostic-row span{display:block}.connection-diagnostic-row strong{color:#eef8f6;font-size:12px}.connection-diagnostic-row span{margin-top:2px;color:#a9bfbc;font-size:11px;line-height:1.4}.connection-diagnostic-row.pass svg{color:#89e4b0}.connection-diagnostic-row.watch svg,.connection-diagnostic-row.warn svg{color:#ffd38a}.connection-diagnostic-row.fail svg{color:#ffaaa8}.connection-diagnostic-note{margin-top:8px;color:#8fb0ac}.pool-runner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin:12px 0 10px}.pool-runner button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff17;color:#eef8f6;font-size:13px;font-weight:850;cursor:pointer}.pool-runner button:disabled{cursor:wait;opacity:.68}.pool-runner .pool-cancel{border-color:#ffaaa847;color:#ffaaa8}.pool-runner span{color:#a9bfbc;font-size:12px;font-weight:800}.pool-runner>em{grid-column:1 / -1;color:#ffd38a;font-size:12px;font-style:normal;font-weight:800}.pool-hint{grid-column:1 / -1;margin:0;color:#a9bfbc;font-size:12px;font-weight:750;line-height:1.45}.pool-hint.warn,.pool-hint.running{color:#ffd38a}.pool-results{display:grid;gap:6px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.11)}.pool-summary-actions{display:flex;align-items:center;gap:8px}.pool-summary-actions button{min-height:32px;padding:0 10px;border:1px solid rgba(128,224,214,.26);border-radius:8px;background:#80e0d61f;color:var(--mint);font-size:12px;font-weight:850}.pool-summary-actions span{color:var(--side-muted);font-size:12px;font-weight:750}.pool-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#ffffff0f;color:#eef8f6;text-align:left;cursor:pointer}.pool-row strong,.pool-row small,.pool-row em{display:block}.pool-row small{color:#a9bfbc;font-size:11px;margin-top:2px}.pool-row .pool-row-reason{color:#ffaaa8;line-height:1.35;white-space:normal}.pool-row em{max-width:82px;color:#a9bfbc;font-size:12px;font-style:normal;font-weight:900;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.pool-row.buy em{color:#89e4b0}.pool-row.watch em,.pool-row.loading em{color:#ffd38a}.pool-row.avoid em,.pool-row.fail em{color:#ffaaa8}.watchlist{display:grid;gap:8px;margin:18px 0 24px}.watch-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:58px;padding:7px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;text-align:left}.watch-row-main{display:flex;flex:1;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:42px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.watch-row:hover,.watch-row.active{border-color:#ffffff29;background:#ffffff14}.watch-row.focus{border-color:#ffffff14;background:#ffffff0a}.watch-row.focus.active,.watch-row.focus:hover{border-color:#ffd38a57;background:#b9791324}.watch-row-main>span:first-child{display:grid;gap:2px;min-width:0}.watch-row strong{font-size:15px}.watch-row small{overflow:hidden;color:#a9bfbc;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.watch-row .watch-quote{color:#c7d8d5;font-size:11px;font-weight:900}.watch-row .watch-quote.positive{color:#ffaaa8}.watch-row .watch-quote.negative{color:#89e4b0}.watch-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;min-height:30px;padding:0 7px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff14;color:#c7d8d5;font-size:12px;font-weight:800}.watch-toggle.add{color:#8be0d6}.watch-toggle.remove{color:#ffd38a}.mini-verdict{min-width:58px;padding:5px 8px;border-radius:999px;font-size:12px;text-align:center}.mini-verdict.buy{background:#16835b2e;color:#75e1b6}.mini-verdict.watch{background:#b979132e;color:#ffd38a}.mini-verdict.avoid{background:#b3393938;color:#ffaaa8}.mini-verdict.focus{background:#ffffff24;color:#ffe0a3}.mini-verdict.directory{background:#0c7a732e;color:#8be0d6}.mini-verdict.pending{background:#ffffff1a;color:#a9bfbc}.mini-verdict.sample{background:#ffffff1f;color:#c7d8d5}.empty-state{margin:0;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#a9bfbc;font-size:13px}.rule-stack{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#dff2ef;font-size:13px;font-weight:700}.weight-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.1);color:#c7d8d5;font-size:13px}.weight-row strong{color:#fff}.workspace{min-width:0;padding:26px}.official-risk-banner{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;padding:16px;border:1px solid rgba(179,57,57,.32);border-radius:8px;background:#fff1f1;color:var(--red);box-shadow:0 12px 28px #b3393914}.official-risk-banner svg{flex:0 0 auto;margin-top:2px}.official-risk-banner div{display:grid;gap:4px}.official-risk-banner span{color:#8f2d2d;font-size:13px;font-weight:900}.official-risk-banner strong{font-size:22px;line-height:1.15}.official-risk-banner p{margin:0;color:#8f2d2d;font-size:15px;font-weight:850;line-height:1.45}.today-brief-panel{display:grid;gap:14px;margin-bottom:16px;padding:18px;border:1px solid rgba(12,122,115,.16);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.today-brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.today-brief-head div{display:grid;gap:4px}.today-brief-head span{color:var(--accent);font-size:13px;font-weight:950}.today-brief-head h2{margin:0;font-size:30px;line-height:1.1;letter-spacing:0}.today-brief-head p{margin:0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.45}.today-market{max-width:320px;padding:9px 12px;border-radius:8px;background:#f4f7f6;color:var(--muted);font-size:14px;line-height:1.35;text-align:right}.today-market.positive{background:#b3393914;color:var(--red)}.today-market.negative{background:#16835b14;color:var(--green)}.today-main-grid{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(220px,1fr) minmax(220px,1fr);gap:12px}.today-focus-card,.today-list-card{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.today-focus-card>span,.today-list-card>span{color:var(--muted);font-size:13px;font-weight:950}.today-focus-card>strong{font-size:30px;line-height:1.1}.today-focus-card>p,.today-list-card>p{margin:0;color:var(--ink);font-size:15px;font-weight:850;line-height:1.45}.today-list-card button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.today-list-card button strong{min-width:0;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.today-list-card button em{font-size:13px;font-style:normal;font-weight:950;white-space:nowrap}.today-list-card button small{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.today-list-card.danger{border-color:#b3393933;background:#fff8f8}.today-list-card.danger>span,.today-list-card.danger button em{color:var(--red)}.money-temperature{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid rgba(185,121,19,.22);border-radius:8px;background:#b979130f;color:var(--amber)}.money-temperature.pass{border-color:#b3393938;background:#b339390f;color:var(--red)}.money-temperature.fail{border-color:#16835b38;background:#16835b0f;color:var(--green)}.money-temperature div{display:grid;gap:2px}.money-temperature b{color:inherit;font-size:16px}.money-temperature small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.mini-kbar-chart{display:grid;gap:5px}.mini-kbar-chart svg{width:100%;height:92px;border-radius:8px;background:#f4f7f6}.mini-kbar-chart rect{fill:#0c7a733d}.mini-kbar-chart polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.mini-kbar-chart span{color:var(--muted);font-size:12px;font-weight:850}.mini-kbar-chart.empty{min-height:70px;place-items:center;border:1px dashed var(--line);border-radius:8px;background:#f4f7f6}.today-strength-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:11px 12px;border-radius:8px;background:#eef5f4}.today-strength-row span{color:var(--muted);font-size:13px;font-weight:950}.today-strength-row strong{font-size:14px;line-height:1.35}.today-strength-row small{grid-column:1 / -1;color:var(--muted);font-size:12px;font-weight:800;line-height:1.4}.market-pulse-panel{display:grid;gap:14px;margin-bottom:16px;padding:18px;border:1px solid rgba(12,122,115,.16);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.market-pulse-panel.pass{border-color:#b3393938;background:snow}.market-pulse-panel.watch{border-color:#b9791347;background:#fffdf8}.market-pulse-panel.fail{border-color:#16835b3d;background:#fbfffd}.market-pulse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.market-pulse-head div{display:grid;gap:4px}.market-pulse-head span{color:var(--accent);font-size:13px;font-weight:950}.market-pulse-head h2{margin:0;font-size:32px;line-height:1.1}.market-pulse-head p{margin:0;color:var(--ink);font-size:16px;font-weight:900;line-height:1.45}.market-pulse-head strong{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:13px;line-height:1.35;white-space:nowrap}.market-pulse-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.market-pulse-action{display:grid;gap:6px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.market-pulse-action span{color:var(--muted);font-size:12px;font-weight:950}.market-pulse-action strong{color:var(--ink);font-size:17px;line-height:1.35}.market-pulse-action.pass{border-color:#b3393938;background:#b339390a}.market-pulse-action.pass strong{color:var(--red)}.market-pulse-action.fail{border-color:#16835b3d;background:#16835b0d}.market-pulse-action.fail strong{color:var(--green)}.market-pulse-action.watch{border-color:#b9791347;background:#b979130d}.market-pulse-action.watch strong{color:var(--amber)}.market-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.market-pulse-metric{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.market-pulse-metric span{color:var(--muted);font-size:12px;font-weight:900}.market-pulse-metric strong{color:var(--ink);font-size:24px;line-height:1.1}.market-pulse-metric small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.market-pulse-metric.pass{border-color:#b3393938}.market-pulse-metric.pass strong{color:var(--red)}.market-pulse-metric.fail{border-color:#16835b3d}.market-pulse-metric.fail strong{color:var(--green)}.market-pulse-metric.watch strong{color:var(--amber)}.market-pulse-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-pulse-lists>div{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.market-pulse-lists b{color:var(--ink);font-size:15px}.market-pulse-lists button{display:grid;gap:2px;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd;color:var(--ink);text-align:left}.market-pulse-lists button span{overflow:hidden;font-size:15px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.market-pulse-lists button em,.market-pulse-lists p{margin:0;color:var(--muted);font-size:13px;font-style:normal;font-weight:800;line-height:1.35}.market-pulse-lists .danger{border-color:#16835b38;background:#fbfffd}.market-pulse-lists .danger b,.market-pulse-lists .danger button em{color:var(--green)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h2{margin:4px 0 0;font-size:32px;line-height:1.1;letter-spacing:0}.muted{margin:0;color:var(--muted);font-size:13px}.segmented{display:flex;align-items:center;min-height:40px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.segmented button{min-width:68px;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.segmented button.selected{background:var(--accent);color:#fff}.mode-status{width:100%;padding:6px 9px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.35;text-align:right;transition:background .18s ease,border-color .18s ease,color .18s ease}.mode-status.active{border-color:#0c7a7338;background:#0c7a7314;color:var(--accent-2)}.mode-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-2);font-size:13px;font-weight:800}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.research-disclaimer{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;border:1px solid rgba(185,121,19,.24);border-radius:8px;background:#b9791314;color:#74490d;font-size:13px;line-height:1.45}.research-disclaimer svg{flex:0 0 auto}.data-readiness{display:grid;gap:10px;margin-bottom:18px;padding:14px 16px;border:1px solid rgba(102,116,116,.18);border-radius:10px;background:#fff;box-shadow:0 10px 28px #0c29270f}.data-readiness.pass{border-color:#16835b3d;background:linear-gradient(180deg,#16835b0f,#fff)}.data-readiness.warn{border-color:#b979133d;background:linear-gradient(180deg,#b9791314,#fff)}.data-readiness.watch{border-color:#0c7a732e;background:linear-gradient(180deg,#0c7a730f,#fff)}.readiness-main,.readiness-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.readiness-main>div{min-width:220px}.readiness-main strong{display:block;color:var(--ink);font-size:15px}.readiness-main p,.readiness-detail{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.readiness-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f4f7f6;color:var(--muted);font-size:12px;font-weight:900}.readiness-pill.pass,.readiness-detail.pass{color:var(--green)}.readiness-pill.warn,.readiness-pill.watch,.readiness-detail.warn,.readiness-detail.watch{color:var(--amber)}.readiness-pill.fail,.readiness-detail.fail{color:var(--red)}.readiness-pill.info,.readiness-detail.info{color:var(--accent)}.readiness-action{width:fit-content;margin-top:0}.data-readiness .loading-progress{margin-bottom:0}.auto-refresh-strip{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 12px;border:1px solid rgba(12,122,115,.18);border-radius:8px;background:#0c7a730f;color:var(--accent)}.auto-refresh-strip.pass{border-color:#16835b3d;background:#16835b12;color:var(--green)}.auto-refresh-strip.warn,.auto-refresh-strip.watch{border-color:#b9791342;background:#b9791314;color:var(--amber)}.auto-refresh-strip.fail{border-color:#b3393942;background:#b3393912;color:var(--red)}.auto-refresh-strip strong,.auto-refresh-strip span{display:block}.auto-refresh-strip strong{color:var(--ink);font-size:13px}.auto-refresh-strip span{margin-top:2px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.daily-scan-panel{display:grid;gap:12px;margin-bottom:18px;padding:14px;border:1px solid rgba(12,122,115,.18);border-radius:8px;background:#0c7a730f}.daily-scan-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-scan-head h3,.daily-scan-panel p{margin:0}.daily-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.daily-change-list{display:grid;gap:6px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px}.daily-change-list strong{color:var(--ink);font-size:13px}.daily-change-list span{color:var(--muted);line-height:1.4}.daily-change-list.buy{border-color:#16835b57;background:#16835b12}.daily-change-list.avoid{border-color:#b3393957;background:#b3393912}.daily-change-list.watch{border-color:#b979135c;background:#b9791314}.data-badge,.data-action,.watch-action,.inline-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 11px;border-radius:8px;font-size:13px;font-weight:800}.data-badge{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.data-badge.real{border-color:#16835b42;background:#16835b1a;color:var(--green)}.data-badge.sample{border-color:#b9791338;background:#b979131a;color:var(--amber)}.data-badge.pending{border-color:#66747438;background:#ffffffb8}.data-action,.inline-action{border:0;background:var(--accent);color:#fff}.watch-action{border:1px solid rgba(12,122,115,.22);background:#0c7a7314;color:var(--accent)}.watch-action.remove{border-color:#b979133d;background:#b979131a;color:var(--amber)}.data-action:disabled,.inline-action:disabled{cursor:wait;opacity:.72}.inline-action{width:fit-content;margin-top:14px;background:#fff3}.inline-error{display:block;margin-top:10px;color:#ffe0dd;font-size:12px;font-style:normal;font-weight:800}.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.data-error{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(179,57,57,.26);border-radius:8px;background:#b3393914;color:var(--red);font-size:13px;font-weight:800}.data-error.warn{border-color:#b9791342;background:#b9791314;color:#74490d}.data-error svg{flex:0 0 auto;margin-top:1px}.data-error span{flex:1;line-height:1.45}.data-error button{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid rgba(179,57,57,.26);border-radius:8px;background:#fff;color:var(--red);font-size:12px;font-weight:850}.first-run-guide{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(12,122,115,.2);border-radius:8px;background:#0c7a7312}.first-run-guide strong{display:block;margin-bottom:6px;color:var(--ink);font-size:15px}.first-run-guide ol{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding-left:18px;color:var(--muted);font-size:13px;font-weight:750}.first-run-guide button{min-height:34px;padding:0 13px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:850}.loading-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:16px}.loading-progress span{min-height:34px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.loading-progress span.active{border-color:#0c7a7338;background:#0c7a7314;color:var(--accent)}.grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:start;gap:16px}.verdict-panel,.price-strip,.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.verdict-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:190px;padding:26px;color:#fff}.verdict-panel.buy{background:linear-gradient(135deg,#0c7a73,#124c45)}.verdict-panel.watch{background:linear-gradient(135deg,#9a6412,#5b4218)}.verdict-panel.avoid{background:linear-gradient(135deg,#963434,#5d2727)}.verdict-copy p,.verdict-copy h3,.verdict-copy strong,.verdict-copy span{display:block;margin:0}.verdict-copy p{color:#ffffffb8;font-size:13px}.verdict-copy h3{margin-top:8px;font-size:46px;line-height:1;letter-spacing:0}.verdict-copy strong{margin-top:12px;font-size:18px}.verdict-copy span{margin-top:8px;color:#ffffffc7;font-size:14px}.verdict-alerts{display:grid;gap:6px;margin-top:12px}.verdict-alerts em{width:fit-content;max-width:100%;padding:7px 9px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff24;color:#fff;font-size:12px;font-style:normal;font-weight:800}.score-ring{--deg: calc(var(--score) * 3.6deg);position:relative;display:grid;width:132px;height:132px;place-items:center;flex:0 0 auto;border-radius:50%;background:conic-gradient(#fff var(--deg),rgba(255,255,255,.2) 0)}.score-ring:before{position:absolute;inset:15px;border-radius:50%;background:#0b332fb3;content:""}.score-ring span{position:relative;z-index:1;font-size:36px;font-weight:850}.score-ring small{position:relative;z-index:1;margin-top:-28px;color:#ffffffc7;font-size:12px}.score-ring.pending:before{background:#5b4218b8}.price-strip{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden}.metric{display:grid;gap:7px;min-height:96px;padding:18px;background:var(--surface)}.metric svg{color:var(--accent)}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:22px;line-height:1.05}.metric small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.25}.metric.positive strong,.metric.positive small{color:var(--red)}.metric.negative strong,.metric.negative small{color:var(--green)}.panel{min-width:0;padding:18px}.data-source-panel,.delta-panel,.premium-radar-panel{grid-column:1 / -1}.premium-radar-panel{display:grid;gap:14px}.premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.premium-card{display:grid;gap:8px;min-height:154px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.premium-card-head{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:850}.premium-card-head svg{color:var(--accent)}.premium-card strong{font-size:25px;line-height:1.05}.premium-card b{color:var(--ink);font-size:14px;line-height:1.3}.premium-card small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.premium-card.pass{border-color:#0e855733;background:#f4fbf8}.premium-card.pass strong,.premium-card.pass .premium-card-head svg{color:var(--green)}.premium-card.fail{border-color:#b3393938;background:#fff7f7}.premium-card.fail strong,.premium-card.fail .premium-card-head svg{color:var(--red)}.premium-card.watch{border-color:#b979132e}.premium-card.watch strong,.premium-card.watch .premium-card-head svg{color:var(--amber)}.premium-note{background:#fffaf0}.premium-empty{display:flex;align-items:center;gap:8px;min-height:58px;padding:12px;border:1px solid rgba(179,57,57,.22);border-radius:8px;background:#fff7f7;color:var(--red);font-weight:850}.premium-source-details{border-top:1px solid var(--line);padding-top:10px}.premium-source-details summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:850}.premium-source-details .source-list{margin-top:10px}.mode-anchor{grid-column:1 / -1;height:0;margin-top:-16px;scroll-margin-top:16px}.mode-anchor.active+.panel{animation:mode-panel-pulse .9s ease-out}@keyframes mode-panel-pulse{0%{box-shadow:0 0 #0c7a7352,var(--shadow)}to{box-shadow:0 0 0 12px #0c7a7300,var(--shadow)}}.source-list,.delta-list{display:grid;gap:8px}.source-health{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.source-health span{padding:6px 9px;border-radius:999px;background:#f4f7f6;color:var(--muted);font-size:12px;font-weight:850}.source-health .pass{color:var(--green)}.source-health .watch{color:var(--amber)}.source-health .fail{color:var(--red)}.source-row,.delta-row{display:grid;grid-template-columns:1fr 1.15fr .75fr;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.source-row strong,.delta-row strong{font-size:13px}.source-row span,.delta-row span{color:var(--muted);font-size:12px}.source-row em,.delta-row em{color:var(--ink);font-size:12px;font-style:normal;font-weight:850;text-align:right}.source-row small{grid-column:1 / -1;color:var(--muted);font-size:12px;line-height:1.4}.source-row.watch{border-color:#b9791338}.source-row.cached{background:#fffdf7}.source-row.cached em{color:#9a5b00}.source-row.stale-date{border-color:#b9791347;background:#b979130f}.source-row.fail{border-color:#b3393938}.history-panel,.backtest-panel{grid-column:1 / -1}.history-empty{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px;border:1px solid rgba(185,121,19,.24);border-radius:8px;background:#b9791312;color:var(--muted)}.history-empty p{margin:0;line-height:1.5}.history-list{display:grid;gap:8px}.history-return-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.history-return-summary div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.history-return-summary span,.history-return-summary small{color:var(--muted);font-size:12px;font-weight:750}.history-return-summary strong{font-size:16px}.snapshot-trend{display:grid;gap:8px;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.snapshot-trend div{display:flex;align-items:center;justify-content:space-between;gap:12px}.snapshot-trend span,.snapshot-trend small{color:var(--muted);font-size:12px;font-weight:750}.snapshot-trend strong{color:var(--ink);font-size:16px}.snapshot-trend svg{width:100%;height:88px}.snapshot-trend line{stroke:#66747433;stroke-width:1}.snapshot-trend polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.snapshot-trend circle{fill:#fff;stroke:var(--accent);stroke-width:2}.backtest-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.backtest-summary-card{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.backtest-summary-card.buy{border-color:#16835b33;background:#16835b0f}.backtest-summary-card.watch{border-color:#b9791333;background:#b9791312}.backtest-summary-card.avoid{border-color:#b339392e;background:#b339390f}.backtest-summary-card span,.backtest-summary-card small{color:var(--muted);font-size:12px;font-weight:750}.backtest-summary-card strong{font-size:20px}.batch-backtest-panel{display:grid;gap:12px}.batch-backtest-hero{display:grid;gap:6px;padding:13px 14px;border:1px solid rgba(12,122,115,.18);border-radius:8px;background:#0c7a730f}.batch-backtest-hero strong{color:var(--ink);font-size:16px;line-height:1.45}.batch-backtest-hero span{color:var(--muted);font-size:13px;line-height:1.5}.batch-score-table{display:grid;overflow-x:auto;border:1px solid var(--line);border-radius:8px}.batch-score-head,.batch-score-row{display:grid;grid-template-columns:1.1fr .6fr .8fr .8fr .8fr .7fr;gap:8px;align-items:center;min-width:640px;padding:9px 11px}.batch-score-head{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:850}.batch-score-row{border-top:1px solid var(--line);font-size:13px}.batch-score-row strong{color:var(--ink)}.backtest-fail-list{display:flex;flex-wrap:wrap;gap:6px}.backtest-fail-list span{padding:6px 8px;border:1px solid rgba(185,121,19,.22);border-radius:999px;background:#b9791314;color:var(--muted);font-size:12px;font-weight:750}.backtest-list{display:grid;gap:8px}.backtest-row{display:grid;grid-template-columns:.75fr 1.4fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.backtest-row.buy{border-left:4px solid var(--green)}.backtest-row.watch{border-left:4px solid var(--amber)}.backtest-row.avoid{border-left:4px solid var(--red)}.backtest-row>div:first-child{display:grid;gap:4px}.backtest-row strong{font-size:14px}.backtest-row span,.backtest-row small,.backtest-row p{color:var(--muted);font-size:12px}.backtest-row p{grid-column:1 / -1;margin:0}.backtest-metrics{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.backtest-metrics span,.backtest-metrics em{padding:5px 8px;border-radius:999px;background:#f4f7f6;font-style:normal;font-size:12px;font-weight:800}.positive{color:var(--red)}.negative{color:var(--green)}.history-strength{color:#1f7a4d}.history-weakness{color:#b33939}.history-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.history-row.buy{border-color:#2a7a523d}.history-row.watch{border-color:#b979133d}.history-row.avoid{border-color:#b339393d}.history-main,.history-metrics{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.history-main strong{font-size:14px}.history-main span{font-size:13px;font-weight:900}.history-main em{font-size:12px;font-style:normal;font-weight:900}.positive{color:#b33939}.negative{color:#1f7a4d}.neutral{color:var(--muted)}.history-metrics span{color:var(--muted);font-size:12px;font-weight:750}.history-row p{margin:0;font-size:12px;line-height:1.45}.gap-box{margin-top:12px;padding:12px;border:1px solid rgba(185,121,19,.24);border-radius:8px;background:#b9791312}.gap-box strong{display:block;color:var(--amber);font-size:13px}.gap-box ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.gap-box li{color:var(--muted);font-size:13px;line-height:1.45}.delta-row{grid-template-columns:.8fr 1fr 1fr}.delta-row em{color:var(--green)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-head h3{margin:4px 0 0;font-size:19px;line-height:1.2}.source-label,.change{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:var(--surface-2);color:var(--accent-2);font-size:12px;font-weight:800}.source-label.pass{background:#16835b1f;color:var(--green)}.source-label.watch,.source-label.warn{background:#b979131f;color:var(--amber)}.source-label.fail,.change.up{background:#b339391f;color:var(--red)}.change.down{background:#16835b1f;color:var(--green)}.checklist{display:grid;gap:10px}.check-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.check-row.pass svg{color:var(--green)}.check-row.watch svg,.check-row.warn svg{color:var(--amber)}.check-row.fail svg{color:var(--red)}.row-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-main strong{font-size:14px}.row-main span{color:var(--ink);font-size:13px;font-weight:800}.check-row p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.revenue-chart{position:relative;display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:8px;height:210px;padding-top:22px}.month{position:relative;display:flex;align-items:end;justify-content:center;gap:3px;height:162px}.month span{display:block;width:7px;min-height:5px;border-radius:6px 6px 0 0}.month .this{background:var(--accent)}.month .last{background:#cbd9d7}.legend{position:absolute;right:0;bottom:0;display:flex;gap:14px;color:var(--muted);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{display:block;width:8px;height:8px;border-radius:50%}.this-dot{background:var(--accent)}.last-dot{background:#cbd9d7}.revenue-detail,.dividend-summary,.institution-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.revenue-detail,.dividend-summary{margin-top:16px}.dividend-panel{display:grid;gap:14px}.savings-home-panel{gap:14px}.savings-signal{display:grid;gap:7px;padding:16px;border-radius:8px;background:#f4f7f6}.savings-signal strong{color:var(--ink);font-size:24px;line-height:1.2}.savings-signal p{margin:0;color:var(--muted);font-weight:850;line-height:1.5}.savings-home-panel.pass .savings-signal{background:#0c7a7314}.savings-home-panel.watch .savings-signal{background:#b9791317}.savings-home-panel.fail .savings-signal{background:#b3393914}.savings-quick-grid,.performance-truth-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.savings-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.savings-next-grid>div{display:grid;align-content:start;gap:8px;min-height:124px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.savings-next-grid strong{font-size:14px}.savings-next-grid span,.savings-next-grid button{color:var(--muted);font-size:13px;font-weight:850;line-height:1.45}.savings-next-grid button{cursor:pointer;padding:0;border:0;background:transparent;text-align:left}.dividend-records{display:grid;gap:8px}.dividend-row{display:grid;grid-template-columns:70px minmax(88px,1fr) minmax(88px,1fr) minmax(130px,1.1fr);align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd;color:var(--muted);font-size:13px}.dividend-row strong{color:var(--ink);font-size:14px}.dividend-row em{color:var(--muted);font-style:normal;text-align:right}.dividend-row.pending{grid-template-columns:70px minmax(0,1fr) auto}.info-pill{display:grid;gap:5px;min-height:64px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.info-pill span{color:var(--muted);font-size:12px}.info-pill strong{overflow-wrap:anywhere;font-size:15px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info-item{display:grid;gap:8px;min-height:94px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.info-item svg{color:var(--accent)}.info-item span{color:var(--muted);font-size:12px}.info-item strong{overflow-wrap:anywhere;font-size:16px}.business-bars{display:grid;gap:16px}.business-row div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px}.business-row span{color:var(--muted);font-weight:800}.business-row i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--accent),#45a99f)}.management-stack{display:grid;gap:14px}.management-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.management-evidence{display:grid;gap:8px}.evidence-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.evidence-row.pass svg{color:var(--green)}.evidence-row.watch svg,.evidence-row.warn svg{color:var(--amber)}.evidence-row.fail svg{color:var(--red)}.evidence-row strong{font-size:14px}.evidence-row p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.material-event-box{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.material-event-box strong{display:block;font-size:13px}.material-event-box ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.material-event-box li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;color:var(--muted);font-size:12px;line-height:1.4}.material-event-box li.watch{color:var(--amber)}.material-event-box li p,.material-event-box>p{margin:0}.redflag-box{padding:12px;border:1px solid rgba(185,121,19,.25);border-radius:8px;background:#b9791314}.redflag-box strong{display:block;font-size:13px}.redflag-box ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.redflag-box li{color:var(--muted);font-size:13px;line-height:1.45}.shareholder-stack{display:grid;gap:14px}.holder-list{display:grid;gap:8px}.holder-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.holder-row div{display:grid;gap:3px}.holder-row strong{font-size:14px}.holder-row span{color:var(--muted);font-size:12px}.holder-row em{color:var(--accent-2);font-size:15px;font-style:normal;font-weight:850}.flow-list{display:grid;gap:10px}.flow-row{display:grid;grid-template-columns:82px minmax(0,1fr) 54px;align-items:center;gap:9px;color:var(--muted);font-size:12px}.flow-row i{display:block;height:9px;overflow:hidden;border-radius:999px;background:#d8e4e2}.flow-row b{display:block;height:100%;border-radius:inherit}.flow-row.positive b{background:var(--red)}.flow-row.negative b{background:var(--green)}.flow-row strong{color:var(--ink);text-align:right}.panel-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:13px;line-height:1.45}.panel-note svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.panel-note.pass svg{color:var(--green)}.panel-note.watch svg,.panel-note.warn svg{color:var(--amber)}.panel-note.fail svg{color:var(--red)}.chip-stack{display:grid;gap:14px}.chip-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chip-section{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.chip-section h4{margin:0;font-size:14px}.chip-section p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.chip-flow-row{display:grid;grid-template-columns:54px minmax(88px,1fr) 74px 82px;align-items:center;gap:8px;color:var(--muted);font-size:12px}.chip-flow-row strong{color:var(--ink);font-size:13px}.chip-flow-row span{text-align:right}.chip-bars{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:4px;height:38px}.chip-bars i{display:flex;align-items:end;height:100%;border-radius:4px;background:#dce8e6;overflow:hidden}.chip-bars b{display:block;width:100%;min-height:8px;border-radius:4px 4px 0 0}.chip-bars .positive b{background:var(--red)}.chip-bars .negative b{background:var(--green)}.chip-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chip-metric{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.chip-metric span{color:var(--muted);font-size:12px}.chip-metric strong{font-size:13px}.pledge.warn{border-color:#b9791359;background:#b979130f}.pledge.danger{border-color:#b3393959;background:#b339390f}.chip-veto{padding:12px;border:1px solid rgba(179,57,57,.35);border-radius:8px;background:#b339391a;color:var(--red);font-size:13px;font-weight:850;line-height:1.45}.focus-grid .analysis-panel{grid-column:1 / -1}.focus-verdict,.focus-profile,.focus-queue{min-height:100%}.pending-list{display:grid;gap:8px}.pending-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd;color:var(--muted);font-size:13px}.pending-row svg{color:var(--amber)}.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.signal-card{display:grid;gap:12px;min-height:144px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd;color:var(--accent)}.signal-card.pass{color:var(--green)}.signal-card.watch,.signal-card.warn{color:var(--amber)}.signal-card.fail{color:var(--red)}.signal-card span{color:var(--muted);font-size:12px}.signal-card .signal-note{color:var(--muted);font-size:12px;line-height:1.4}.signal-card strong{display:block;margin-top:3px;color:var(--ink);font-size:16px}.sparkline{width:100%;height:54px}.volume-blocks{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:5px;height:54px}.volume-blocks span{display:block;border-radius:5px 5px 0 0;background:#d6e2e0}.volume-blocks span:nth-child(1){height:20%}.volume-blocks span:nth-child(2){height:38%}.volume-blocks span:nth-child(3){height:56%}.volume-blocks span:nth-child(4){height:74%}.volume-blocks span:nth-child(5){height:92%}.volume-blocks span.on{background:currentColor}.indicator-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.indicator-lines span{min-height:34px;padding:8px 6px;border-radius:8px;background:#eef5f4;color:var(--ink);font-weight:800;text-align:center}.heat-meter{position:relative;height:18px;overflow:hidden;border-radius:999px;background:#d6e2e0}.heat-meter:after{position:absolute;inset:0 auto 0 0;width:var(--heat, 0%);border-radius:inherit;background:currentColor;content:""}.tech-limit{margin-top:12px}.analysis-panel{grid-column:1 / -1}.analysis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analysis-column{min-height:140px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.analysis-column h4{margin:0;font-size:14px}.analysis-column ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.analysis-column li{color:var(--muted);font-size:13px;line-height:1.45}.evidence-row small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.analysis-column.boundary{background:#f3f7f7}.font-large{font-size:18px}.font-xlarge{font-size:20px}.font-large .panel,.font-large .today-brief-panel,.font-xlarge .panel,.font-xlarge .today-brief-panel{line-height:1.55}.font-xlarge button,.font-xlarge input{min-height:52px}.offline-banner{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid #edd6a7;border-radius:8px;background:#fff8e8;color:#74490d;font-weight:900}.morning-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.morning-actions button,.font-size-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#f4f7f6;color:var(--ink);font-weight:950}.morning-actions button:first-child{background:var(--accent);color:#fff}.morning-actions span{color:var(--accent);font-size:13px;font-weight:900}.report-preview{border-top:1px solid var(--line);padding-top:10px}.report-preview summary{cursor:pointer;color:var(--muted);font-weight:900}.report-preview pre{overflow:auto;margin:10px 0 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;color:var(--ink);white-space:pre-wrap;line-height:1.5}.dividend-health-panel,.dividend-calendar-panel,.performance-panel,.senior-settings-panel{display:grid;gap:14px}.store-stock-hero{display:grid;gap:6px;padding:16px;border:1px solid rgba(12,122,115,.16);border-radius:8px;background:linear-gradient(180deg,#0c7a730f,#fff)}.store-stock-hero strong{font-size:23px;line-height:1.25}.store-stock-hero span{color:var(--muted);font-size:13px;font-weight:800}.store-stock-grid,.dividend-health-cards,.performance-grid,.calendar-two-col{display:grid;gap:12px}.store-stock-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dividend-health-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dividend-health-cards article,.performance-bucket,.settings-block,.downside-audit,.verdict-change-strip{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.dividend-health-cards article.pass{border-color:#0c7a7338;background:#0c7a730d}.dividend-health-cards article.fail{border-color:#b3393940;background:#b339390f}.dividend-health-cards article svg{color:var(--accent)}.dividend-health-cards article b{color:var(--ink);font-size:25px}.dividend-health-cards article p,.dividend-health-cards article small,.downside-audit p,.downside-audit small,.settings-block span,.settings-block li,.calendar-list p{margin:0;color:var(--muted);line-height:1.45}.dividend-records.ten-year{max-height:360px;overflow:auto}.calendar-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-list{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.calendar-list>strong,.performance-bucket>strong,.settings-block strong,.downside-audit strong,.performance-changes strong{font-size:17px}.calendar-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.calendar-list button span,.calendar-list button small{color:var(--muted);font-size:12px;font-weight:800}.calendar-list button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-list button em{color:var(--red);font-style:normal;font-weight:950}.calendar-list button small{grid-column:1 / -1}.performance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.performance-bucket div{display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--line)}.performance-bucket div b{font-size:23px}.performance-bucket div span,.performance-bucket div small,.performance-changes span{color:var(--muted);font-size:13px;font-weight:850}.verdict-change-strip{grid-template-columns:auto minmax(0,1fr);align-items:center;background:#fff8e8;color:#74490d;font-weight:900}.verdict-change-strip.neutral{background:#f4f7f6;color:var(--muted)}.downside-audit{background:#fff}.performance-changes{display:grid;gap:7px;padding:14px;border:1px dashed var(--line);border-radius:8px}.settings-block{grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr);align-items:start}.settings-block>div:first-child{display:grid;gap:6px}.settings-block svg{color:var(--accent)}.settings-block ol{margin:0;padding-left:22px}.settings-block li+li{margin-top:8px}.settings-block.line li{display:grid;gap:3px}.font-size-buttons{display:flex;flex-wrap:wrap;gap:8px}.font-size-buttons button.selected{border-color:var(--accent);background:var(--accent);color:#fff}@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.watchlist,.price-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.analysis-grid,.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-shell{display:flex;flex-direction:column}.workspace{order:1}.sidebar{order:2}.rule-stack{display:none}.workspace{padding:16px}.topbar,.verdict-panel{align-items:stretch;flex-direction:column}.topbar h2{font-size:28px}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.topbar-actions,.data-action,.watch-action,.data-badge,.mode-pill{width:100%}.topbar-actions{justify-content:stretch}.segmented button{flex:1;min-width:0}.source-row,.delta-row,.dividend-row,.dividend-row.pending{grid-template-columns:1fr}.readiness-main,.readiness-meta{align-items:flex-start;flex-direction:column}.readiness-action{width:100%}.daily-scan-head{align-items:stretch;flex-direction:column}.daily-change-grid{grid-template-columns:1fr}.source-row em,.delta-row em,.dividend-row em{text-align:left}.first-run-guide{align-items:stretch;flex-direction:column}.first-run-guide ol{display:grid}.first-run-guide button{width:100%}.loading-progress{grid-template-columns:1fr}.batch-score-head,.batch-score-row{grid-template-columns:1fr .55fr .7fr .7fr .6fr;gap:5px;padding:8px;font-size:11px}.watchlist,.price-strip,.profile-grid,.history-return-summary,.backtest-summary,.backtest-row,.savings-quick-grid,.savings-next-grid,.performance-truth-row,.management-summary,.revenue-detail,.institution-summary,.chip-summary,.premium-grid,.chip-two-col,.tech-grid,.analysis-grid{grid-template-columns:1fr}.score-ring{width:112px;height:112px}.verdict-copy h3{font-size:40px}}.why-panel .panel-head{margin-bottom:10px}.why-list{display:grid;gap:8px}.why-row{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:8px;background:#fbfdfd;border:1px solid var(--line);font-size:13.5px;line-height:1.5}.why-row svg{flex-shrink:0;margin-top:2px}.why-row strong{font-weight:800}.why-row.fail{border-color:#b3393959;background:#b339390d}.why-row.fail svg{color:var(--red)}.why-row.warn,.why-row.watch{border-color:#b979134d;background:#b979130d}.why-row.warn svg,.why-row.watch svg{color:var(--amber)}.why-row.pass svg{color:var(--green)}.link-button{border:none;background:none;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer;padding:4px 0}.link-button:hover{text-decoration:underline}.check-group{display:grid;gap:10px}.check-group+.check-group{margin-top:8px}.check-group-title{font-size:13px;font-weight:800;padding:2px 0}.check-group-title.fail{color:var(--red)}.check-group-title.warn{color:var(--amber)}.check-group-title.pass{color:var(--green)}details.data-source-panel>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}details.data-source-panel>summary::-webkit-details-marker{display:none}details.data-source-panel>summary:before{content:"▸";color:var(--muted);font-size:12px}details.data-source-panel[open]>summary:before{content:"▾"}details.data-source-panel>summary .source-summary-title{font-size:14px;font-weight:800}details.data-source-panel>summary .source-label{margin-left:auto}details.data-source-panel[open]>summary{margin-bottom:12px}details.data-source-panel .source-health{margin:0}details.rule-stack>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}details.rule-stack>summary::-webkit-details-marker{display:none}details.rule-stack>summary:after{content:"▸";color:var(--muted);font-size:12px;margin-left:auto}details.rule-stack[open]>summary:after{content:"▾"}@media(max-width:760px){html{scroll-padding-bottom:92px}body{background:#eef5f4}.app-shell{gap:0;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.sidebar{position:relative;top:0;z-index:30;order:2;max-height:none;padding:12px;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 14px 28px #10211f38}.workspace{order:1;padding:12px 12px 18px}.site-footer{order:3;padding-bottom:calc(84px + env(safe-area-inset-bottom));font-size:12px}.brand{gap:10px;margin-bottom:10px}.brand-mark{width:38px;height:38px}.brand h1{font-size:20px}.brand p{font-size:12px}.search-box{height:50px;border-color:#8be0d647;background:#ffffff1a}.search-box input{font-size:17px;font-weight:800}.directory-status{align-items:center;margin-top:8px;font-size:12px}.directory-warning,.connection-panel,.pool-results,.rule-stack,.first-run-guide,.data-readiness,.topbar{display:none}.official-risk-banner{margin-bottom:10px;padding:13px}.official-risk-banner strong{font-size:20px}.official-risk-banner p{font-size:14px}.today-brief-panel{gap:11px;margin-bottom:12px;padding:14px}.today-brief-head{display:grid;gap:10px}.today-brief-head h2{font-size:28px}.today-market{max-width:none;text-align:left}.today-main-grid{grid-template-columns:1fr;gap:10px}.today-focus-card,.today-list-card{padding:12px}.today-focus-card>strong{font-size:28px}.today-list-card button{min-height:64px}.money-temperature b{font-size:15px}.mini-kbar-chart svg{height:78px}.today-strength-row{grid-template-columns:1fr;gap:4px}.today-strength-row small{grid-column:auto}.market-pulse-panel{gap:11px;margin-bottom:12px;padding:14px}.market-pulse-head{display:grid;gap:9px}.market-pulse-head h2{font-size:29px}.market-pulse-head p{font-size:15px}.market-pulse-head strong{width:100%;white-space:normal}.market-pulse-actions{grid-template-columns:1fr}.market-pulse-action{min-height:72px;padding:14px}.market-pulse-action strong{font-size:18px}.market-pulse-grid,.market-pulse-lists{grid-template-columns:1fr}.market-pulse-metric{grid-template-columns:minmax(0,1fr) auto;align-items:center}.market-pulse-metric small{grid-column:1 / -1}.market-pulse-lists button{min-height:64px}.pool-runner,.pool-runner>span,.pool-runner em,.pool-hint,.mobile-primary-action{display:none}.watchlist{display:flex;gap:8px;margin-top:10px;padding-bottom:4px;overflow-x:auto;scroll-snap-type:x mandatory}.watch-row{grid-template-columns:minmax(0,1fr) 38px;min-width:178px;padding:8px;scroll-snap-align:start}.watch-row-main{min-height:48px}.watch-row-main strong{font-size:19px}.watch-row-main small{font-size:12px}.watch-toggle{width:38px;height:38px;min-height:38px;padding:0}.watch-toggle span{display:none}.mobile-coach{display:grid;gap:12px;margin-bottom:12px;padding:16px;border:1px solid rgba(12,122,115,.18);border-radius:8px;background:#fff;box-shadow:0 14px 32px #0c29271a}.mobile-coach.buy{border-color:#16835b47}.mobile-coach.watch{border-color:#b9791352}.mobile-coach.avoid{border-color:#b3393947}.mobile-coach-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-coach-head div{display:grid;gap:4px;min-width:0}.mobile-coach-head span,.mobile-coach-head small{color:var(--muted);font-size:12px;font-weight:800}.mobile-coach-head .mobile-auto-status{width:fit-content;padding:4px 8px;border-radius:999px;background:#0c7a7314;color:var(--accent)}.mobile-coach-head .mobile-auto-status.pass{background:#16835b1a;color:var(--green)}.mobile-coach-head .mobile-auto-status.warn,.mobile-coach-head .mobile-auto-status.watch{background:#b979131a;color:var(--amber)}.mobile-coach-head .mobile-auto-status.fail{background:#b339391a;color:var(--red)}.mobile-coach-head strong{color:var(--ink);font-size:28px;line-height:1.1}.mobile-coach-head b{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#0c7a731a;color:var(--accent);font-size:15px}.mobile-coach.buy .mobile-coach-head b{background:#16835b1f;color:var(--green)}.mobile-coach.watch .mobile-coach-head b{background:#b979131f;color:var(--amber)}.mobile-coach.avoid .mobile-coach-head b{background:#b339391f;color:var(--red)}.mobile-coach-head b{min-width:56px;text-align:center}.mobile-signal-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 12px;border-radius:8px;background:#eef5f4}.mobile-signal-line strong{color:var(--ink);font-size:18px;line-height:1.1}.mobile-signal-line span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:900}.mobile-signal-line.buy{background:#16835b14}.mobile-signal-line.watch{background:#b9791314}.mobile-signal-line.avoid{background:#b3393912}.mobile-live-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.mobile-live-quote span,.mobile-live-quote small{color:var(--muted);font-size:12px;font-weight:850;line-height:1.25}.mobile-live-quote strong{color:var(--ink);font-size:26px;line-height:1}.mobile-live-quote em{align-self:center;justify-self:end;font-size:13px;font-style:normal;font-weight:950;white-space:nowrap}.mobile-live-quote small{grid-column:1 / -1}.mobile-live-quote.positive{border-color:#b339393d;background:#b339390f}.mobile-live-quote.negative{border-color:#16835b3d;background:#16835b0f}.mobile-live-quote.watch,.mobile-live-quote.fail{border-color:#b979133d;background:#b979130f}.mobile-data-coverage{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid rgba(185,121,19,.24);border-radius:8px;background:#b979130f;color:var(--amber);font-size:12px;font-weight:850;line-height:1.35}.mobile-data-coverage svg{flex:0 0 auto;margin-top:1px}.mobile-data-coverage.pass{border-color:#16835b38;background:#16835b12;color:var(--green)}.mobile-coach p{margin:0;color:var(--ink);font-size:16px;font-weight:850;line-height:1.5}.mobile-disclaimer{display:block;padding:9px 10px;border-radius:8px;background:#fffaf0;color:#74490d;font-size:12px;font-weight:900;line-height:1.4}.mobile-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-signal-grid div{display:grid;gap:4px;min-width:0;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd}.mobile-signal-grid span,.mobile-signal-grid small{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.mobile-signal-grid strong{min-width:0;color:var(--ink);font-size:17px;line-height:1.1}.mobile-signal-grid strong.pass{color:var(--green)}.mobile-signal-grid strong.watch{color:var(--amber)}.mobile-signal-grid strong.fail{color:var(--red)}.mobile-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:17px;font-weight:900}.mobile-primary-action:disabled{cursor:wait;opacity:.72}.mobile-key-reasons{display:grid;gap:8px}.mobile-reason{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfdfd;color:var(--ink);text-align:left}.mobile-reason span{font-size:13px;font-weight:800;line-height:1.45}.mobile-reason.fail{border-color:#b3393940;background:#b339390f}.mobile-reason.warn,.mobile-reason.watch{border-color:#b9791340;background:#b9791312}.mobile-simple-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-simple-steps span{min-height:36px;padding:9px 6px;border-radius:8px;background:#eef5f4;color:var(--accent-2);font-size:12px;font-weight:900;text-align:center}.grid,.real-data-grid,.sample-data-grid,.focus-grid{grid-template-columns:1fr;gap:12px}.verdict-panel{display:none}.why-panel,.price-strip,.data-source-panel,.premium-radar-panel,.daily-scan-panel,.panel{box-shadow:0 10px 24px #0c292712}.panel{padding:14px}.panel-head{gap:8px}.panel-head h3{font-size:20px}.price-strip,.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-card{min-height:132px;padding:12px}.premium-card strong{font-size:21px}.metric{min-height:86px;padding:14px}.metric strong{font-size:20px}.check-row,.why-row,.evidence-row,.history-row{padding:11px}details.data-source-panel>summary{gap:8px}details.data-source-panel>summary .source-label{width:100%;margin-left:0}.source-health{width:100%}.batch-score-table{margin-right:-2px}.directory-status button{min-height:40px;padding:8px 12px;font-size:14px;font-weight:900}.why-panel .panel-head button{min-height:40px;padding:8px 12px}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(12,41,39,.12);background:#fffffff5;box-shadow:0 -12px 30px #0c29271f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-bottom-nav button{display:grid;place-items:center;gap:3px;min-height:50px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:900}.mobile-bottom-nav button.selected{background:#0c7a731a;color:var(--accent)}.mobile-bottom-nav svg{width:18px;height:18px}}@media(max-width:760px){.font-large{font-size:17px}.font-xlarge{font-size:19px}.font-xlarge .today-brief-head h2,.font-xlarge .verdict-copy h3,.font-xlarge .store-stock-hero strong{font-size:30px}.morning-actions{display:grid;grid-template-columns:1fr 1fr}.morning-actions span,.report-preview{grid-column:1 / -1}.morning-actions button{width:100%;min-height:52px}.dividend-health-cards,.calendar-two-col,.performance-grid,.settings-block{grid-template-columns:1fr}.calendar-list button{grid-template-columns:1fr auto}.calendar-list button span{grid-column:1 / -1}.dividend-row,.dividend-row.pending{grid-template-columns:1fr;align-items:start}.dividend-row em{text-align:left}.performance-bucket div b,.dividend-health-cards article b{font-size:24px}.settings-block ol{padding-left:18px}.offline-banner{align-items:flex-start;font-size:14px}}
