@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";:root{--bg:#f3f7f4;--card:#f8fbf9;--header:#08130e;--border:#dce6df;--text:#0e2118;--text-soft:#5c7168;--text-faint:#5e7a6c;--accent:#16db65;--accent-hover:#10c258;--on-accent:#08130e;--accent-text:#0e883f;--emerald:var(--accent);--gain:#22c58b;--loss:#e5484d;--input-bg:var(--card);--input-border:color-mix(in srgb, var(--border) 40%, var(--text-soft) 60%);--neutral-ind:#8a9c93;--warning:#e8b339;--rec-strongbuy:#279b7e;--rec-strongbuy-text:#1d7259;--rec-buy:#22c58b;--rec-buy-text:#17845d;--rec-accumulate:#a8c93a;--rec-accumulate-text:#677b22;--rec-hold:#e0c93a;--rec-hold-text:#857615;--rec-reduce:#e0973a;--rec-reduce-text:#a4671a;--rec-overvalued:#db6b39;--rec-overvalued-text:#a8481b;--rec-sell:#d6523b;--rec-sell-text:#a13621;--rec-strongbuy-bg:color-mix(in srgb, var(--rec-strongbuy) 16%, var(--card));--rec-buy-bg:color-mix(in srgb, var(--rec-buy) 16%, var(--card));--rec-accumulate-bg:color-mix(in srgb, var(--rec-accumulate) 16%, var(--card));--rec-hold-bg:color-mix(in srgb, var(--rec-hold) 16%, var(--card));--rec-reduce-bg:color-mix(in srgb, var(--rec-reduce) 16%, var(--card));--rec-overvalued-bg:color-mix(in srgb, var(--rec-overvalued) 16%, var(--card));--rec-sell-bg:color-mix(in srgb, var(--rec-sell) 16%, var(--card));--subtle-bg:#edf2ef;--subtle-bg-2:#f7faf8;--accent-bg:color-mix(in srgb, var(--accent) 12%, var(--card));--card-elevated:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#08130e;--card:#0a1d13;--header:#08130e;--border:#0b4228;--text:#eaf2ed;--text-soft:#73a188;--text-faint:#5a8773;--accent-text:#16db65;--rec-strongbuy-text:#12ac5d;--rec-buy-text:#22c58b;--rec-accumulate-text:#a8c93a;--rec-hold-text:#e0c93a;--rec-reduce-text:#e0973a;--rec-overvalued-text:#db6b39;--rec-sell-text:#eb7074;--subtle-bg:#1c3e2e;--subtle-bg-2:#163527;--card-elevated:#112d1f;--input-bg:var(--card);--input-border:color-mix(in srgb, var(--accent) 35%, var(--border) 65%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,-apple-system,sans-serif}.mono{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-family:IBM Plex Mono,monospace}input::placeholder,textarea::placeholder{color:var(--text-faint);opacity:1}header.app-header{background:var(--header);color:#eaf2ed;z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 28px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0d,0 4px 20px #00000038}.brand{align-items:center;gap:12px;display:flex}.brand .mark{background:var(--accent);width:38px;height:38px;color:var(--on-accent);border-radius:12px;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700;display:flex}.brand h1{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand .sub{color:#7e9689;letter-spacing:.04em;text-transform:uppercase;margin-top:1px;font-family:IBM Plex Mono,monospace;font-size:11px}.header-right{align-items:center;gap:16px;display:flex}.theme-toggle{cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:background .15s;display:flex}.theme-toggle:hover{background:#ffffff29}.app-body{background:var(--card);border:1px solid var(--border);border-radius:22px;align-items:stretch;min-height:calc(100vh - 122px);margin:20px 24px 28px;display:flex;box-shadow:0 1px 2px #0000000d,0 18px 40px #0000001a}.app-content{text-align:left;flex:1;min-width:0;padding:28px 32px 28px 0}.app-sidebar{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:3px;width:194px;min-height:calc(100vh - 122px);padding:28px 0 24px 14px;display:flex;position:sticky;top:20px}.app-sidebar button{color:var(--text-soft);cursor:pointer;text-align:left;z-index:2;background:0 0;border:1px solid #0000;border-right:none;border-radius:13px 0 0 13px;align-items:center;gap:10px;margin-right:-1px;padding:11px 14px 11px 13px;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:flex;position:relative}.app-sidebar .tab-icon{text-align:center;opacity:.65;flex-shrink:0;width:14px}.app-sidebar button:hover{color:var(--text);background:var(--subtle-bg)}.app-sidebar button:hover .tab-icon{opacity:.9}.app-sidebar button.active{color:var(--accent-text);background:var(--card-elevated);border-color:var(--border)}.app-sidebar button.active .tab-icon{opacity:1}.app-content.content-flush-tl .view{border-top-left-radius:0}.view{background:var(--card-elevated);border:1px solid var(--border);border-radius:18px;animation:.25s fadein;box-shadow:0 1px 2px #0000000a}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}section.block{padding:24px}section.block+section.block{border-top:1px solid var(--border)}.block-head{flex-wrap:wrap;align-items:flex-start;gap:10px 16px;margin-bottom:14px;display:flex}.block-head-title{flex-direction:column;flex:1;gap:5px;min-width:220px;display:flex}.block-head h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.block-head .hint{color:var(--text-faint);font-size:12px;line-height:1.5}.block-head-controls{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.block-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:18px;display:flex}.block-controls-row>.btn{margin-left:auto}.block-head-sort{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sort-by-label{color:var(--text-faint);font-size:11.5px;font-weight:600}.sort-toggle{background:var(--subtle-bg);border-radius:12px;flex-shrink:0;gap:2px;padding:3px;display:flex}.sort-toggle button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:6px 12px;font-family:IBM Plex Sans,sans-serif;font-size:11.5px;font-weight:600;transition:background-color .15s,color .15s}.sort-toggle button:hover{color:var(--text)}.sort-toggle button.active{background:var(--card-elevated);color:var(--accent-text);box-shadow:0 1px 2px #00000014}:root[data-theme=dark] .sort-toggle button.active{background:#1e4432}.heatgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.tile{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:18px;width:100%;padding:14px 88px 12px 16px;font-family:inherit;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 1px 2px #0000000a}.tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px #00000029}.tile:active{transform:translateY(-1px)}.tile .sym{font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700}.tile .sec{text-overflow:ellipsis;white-space:nowrap;color:hsl(from currentColor h s l / 55%);margin-top:2px;font-size:11px;overflow:hidden}.tile .disc{letter-spacing:-.02em;margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:700}.tile-prices{color:hsl(from currentColor h s l / 55%);flex-direction:column;gap:1px;margin-top:2px;font-size:14px;font-weight:700;display:flex}.tile-price-row{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.tile-price-label{font-size:11px;font-weight:600}.tile-badge{flex-direction:column;align-items:flex-end;gap:6px;width:72px;display:flex;position:absolute;top:12px;right:12px}.tile-badge .severity-icon,.tile-badge .tile-badge-label{opacity:.55}.severity-icon{color:currentColor;flex-direction:column;align-items:flex-end;line-height:0;display:flex}.tile-badge-label{text-transform:uppercase;letter-spacing:.01em;text-align:right;color:currentColor;width:100%;font-size:9.5px;font-weight:700;line-height:1.25}.rec-strongbuy{background:var(--rec-strongbuy-bg);color:var(--rec-strongbuy-text)}.rec-strongbuy .disc{color:var(--rec-strongbuy-text)}.rec-buy{background:var(--rec-buy-bg);color:var(--rec-buy-text)}.rec-buy .disc{color:var(--rec-buy-text)}.rec-accumulate{background:var(--rec-accumulate-bg);color:var(--rec-accumulate-text)}.rec-accumulate .disc{color:var(--rec-accumulate-text)}.rec-hold{background:var(--rec-hold-bg);color:var(--rec-hold-text)}.rec-hold .disc{color:var(--rec-hold-text)}.rec-reduce{background:var(--rec-reduce-bg);color:var(--rec-reduce-text)}.rec-reduce .disc{color:var(--rec-reduce-text)}.rec-overvalued{background:var(--rec-overvalued-bg);color:var(--rec-overvalued-text)}.rec-overvalued .disc{color:var(--rec-overvalued-text)}.rec-sell{background:var(--rec-sell-bg);color:var(--rec-sell-text)}.rec-sell .disc{color:var(--rec-sell-text)}:root[data-theme=dark] .tile.rec-strongbuy{color:#0c1a12;background:#3fc57a}:root[data-theme=dark] .tile.rec-strongbuy .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-buy{color:#0c1a12;background:#6bcb8a}:root[data-theme=dark] .tile.rec-buy .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-accumulate{color:#0c1a12;background:#a8d671}:root[data-theme=dark] .tile.rec-accumulate .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-hold{color:#0c1a12;background:#e8c24c}:root[data-theme=dark] .tile.rec-hold .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-reduce{color:#0c1a12;background:#e8a662}:root[data-theme=dark] .tile.rec-reduce .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-overvalued{color:#0c1a12;background:#e17f6e}:root[data-theme=dark] .tile.rec-overvalued .disc{color:#0c1a12}:root[data-theme=dark] .tile.rec-sell{color:#0c1a12;background:#d9615c}:root[data-theme=dark] .tile.rec-sell .disc{color:#0c1a12}.tile-nodata{background:var(--subtle-bg);color:var(--text-faint)}.tile-nodata .tile-badge-label{color:var(--text-faint)}.badge{white-space:nowrap;letter-spacing:.02em;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 16%, transparent);border-radius:999px;padding:6px 14px;font-size:10px;font-weight:700;display:inline-block}.badge.rec-strongbuy{background:var(--rec-strongbuy-bg);color:var(--rec-strongbuy-text)}.badge.rec-buy{background:var(--rec-buy-bg);color:var(--rec-buy-text)}.badge.rec-accumulate{background:var(--rec-accumulate-bg);color:var(--rec-accumulate-text)}.badge.rec-hold{background:var(--rec-hold-bg);color:var(--rec-hold-text)}.badge.rec-reduce{background:var(--rec-reduce-bg);color:var(--rec-reduce-text)}.badge.rec-overvalued{background:var(--rec-overvalued-bg);color:var(--rec-overvalued-text)}.badge.rec-sell{background:var(--rec-sell-bg);color:var(--rec-sell-text)}.intel-badge{border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 12px 5px 10px;display:inline-flex}.intel-badge-label{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;font-size:10px;font-weight:700}.intel-badge.rec-strongbuy{background:var(--rec-strongbuy-bg);color:var(--rec-strongbuy-text)}.intel-badge.rec-buy{background:var(--rec-buy-bg);color:var(--rec-buy-text)}.intel-badge.rec-accumulate{background:var(--rec-accumulate-bg);color:var(--rec-accumulate-text)}.intel-badge.rec-hold{background:var(--rec-hold-bg);color:var(--rec-hold-text)}.intel-badge.rec-reduce{background:var(--rec-reduce-bg);color:var(--rec-reduce-text)}.intel-badge.rec-overvalued{background:var(--rec-overvalued-bg);color:var(--rec-overvalued-text)}.intel-badge.rec-sell{background:var(--rec-sell-bg);color:var(--rec-sell-text)}:root[data-theme=dark] .intel-badge.rec-strongbuy{color:#0c1a12;background:#3fc57a}:root[data-theme=dark] .intel-badge.rec-buy{color:#0c1a12;background:#6bcb8a}:root[data-theme=dark] .intel-badge.rec-accumulate{color:#0c1a12;background:#a8d671}:root[data-theme=dark] .intel-badge.rec-hold{color:#0c1a12;background:#e8c24c}:root[data-theme=dark] .intel-badge.rec-reduce{color:#0c1a12;background:#e8a662}:root[data-theme=dark] .intel-badge.rec-overvalued{color:#0c1a12;background:#e17f6e}:root[data-theme=dark] .intel-badge.rec-sell{color:#0c1a12;background:#d9615c}.grid2{grid-template-columns:1.3fr 1fr;gap:16px;display:grid}@media (width<=900px){.grid2{grid-template-columns:1fr}}.sector-row{align-items:center;gap:8px;padding:8px 0;font-size:12.5px;display:flex}.sector-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sector-name{color:var(--text-soft);flex:1}.sector-bar-track{background:var(--subtle-bg);border-radius:4px;width:90px;height:6px;overflow:hidden}.sector-bar-fill{border-radius:4px;height:100%}.sector-count{text-align:right;width:18px;font-family:IBM Plex Mono,monospace;font-weight:600}.mix-label{justify-content:space-between;margin-bottom:5px;font-size:12px;display:flex}.mix-label b{font-family:IBM Plex Mono,monospace}.mix-legend{flex-direction:column;gap:6px;margin-top:10px;display:flex}.mix-legend span{color:var(--text-soft);text-align:left;align-items:center;gap:5px;font-size:11px;display:flex}.mix-legend i{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.intel-chart-row{align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.intel-chart-col{flex:1;min-width:0}.intel-chart-col .sparkline{margin-bottom:0}.intel-mix-col{flex-direction:column;flex-shrink:0;align-items:center;width:132px;display:flex}@media (width<=480px){.intel-chart-row{flex-direction:column;align-items:center;gap:12px}.intel-mix-col{width:100%}}.snapshot-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=700px){.snapshot-grid{grid-template-columns:repeat(2,1fr)}}.snapshot-item{padding:4px 0}.snapshot-item .label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:10.5px}.snapshot-item .value{font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700}.opp-list{flex-direction:column;gap:2px;display:flex}.opp-row{border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:12px;width:100%;padding:8px 4px;font-family:inherit;display:flex}.opp-row:last-child{border-bottom:none}.opp-row:hover{background:var(--subtle-bg-2)}.opp-rank{color:var(--text-faint);width:16px;font-family:IBM Plex Mono,monospace;font-size:11px}.opp-sym{width:64px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.opp-company{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.opp-disc{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:12.5px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);border-bottom:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:8px 12px;font-size:10.5px;font-weight:700}thead th:hover{color:var(--text-soft)}thead th .sort-arrow{opacity:.35;margin-left:4px;font-size:9px}thead th .sort-arrow-active{opacity:1;color:var(--accent-text)}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:12px}tbody tr:hover{background:var(--subtle-bg-2)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-family:IBM Plex Mono,monospace}.sym-cell{font-family:IBM Plex Mono,monospace;font-weight:700}.company-cell .name{font-weight:500}.company-cell .cat{color:var(--text-faint);margin-top:1px;font-size:10.5px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap table{min-width:680px}tr.cat-header-row td{color:#fff;text-transform:uppercase;letter-spacing:.04em;border-bottom:none;padding:8px 16px;font-size:11.5px;font-weight:700}tr.subgroup-row td{background:var(--subtle-bg);color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;border-bottom:none;padding:8px 20px;font-size:10.5px;font-weight:600}tr.subtotal-row td{background:var(--subtle-bg-2);color:var(--text-soft);border-bottom:1.5px solid var(--border);font-size:11.5px;font-weight:600}tr.subtotal-row{border-top:1px solid var(--border)}.intel-overlay{background:color-mix(in srgb, var(--header) 70%, transparent);-webkit-backdrop-filter:blur(6px);z-index:100;justify-content:center;align-items:center;padding:40px 20px;display:flex;position:fixed;inset:0}.intel-panel{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:680px;max-height:calc(100vh - 80px);padding:34px 38px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000059}.intel-panel-close{background:var(--card-elevated);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-soft);border-radius:11px;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.intel-panel-close:hover{color:var(--text)}.intel-top{justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-right:40px;display:flex}.intel-top .sym{font-family:IBM Plex Mono,monospace;font-size:25px;font-weight:700}.intel-top .company{color:var(--text-soft);margin-top:3px;font-size:14.5px}.sparkline{margin-bottom:16px}.sparkline-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.sparkline-label{color:var(--text-faint);align-items:center;gap:10px;font-size:11px;display:inline-flex}.sparkline-fv-legend{align-items:center;gap:4px;display:inline-flex}.sparkline-fv-legend i{border-top:1.5px dashed var(--text-faint);width:9px;height:0;display:inline-block}.sparkline-change{font-size:12.5px;font-weight:700}.sparkline-skeleton{border-radius:8px;height:64px;margin-bottom:16px}.intel-row{border-bottom:1px dashed var(--border);justify-content:space-between;padding:7px 0;font-size:14px;display:flex}.intel-row:last-of-type{border-bottom:none}.intel-row .k{color:var(--text-faint)}.intel-row .v{text-align:right;font-weight:600}.stat-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:24px 0 10px;font-size:12.5px;font-weight:700}.key-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.key-stat{background:var(--card-elevated);border-radius:13px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.key-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);font-size:11px}.key-stat-value{font-size:16px;font-weight:700}.iv-breakdown{background:var(--card-elevated);border-radius:13px;margin-top:12px;padding:14px 16px}.iv-breakdown-head{text-transform:uppercase;letter-spacing:.03em;color:var(--text-soft);justify-content:space-between;margin-bottom:9px;font-size:12.5px;font-weight:700;display:flex}.iv-breakdown-total{color:var(--text);font-size:14px}.iv-row{color:var(--text-soft);align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.iv-row-largest{color:var(--text);font-weight:700}.iv-method{flex:1}.iv-weight{text-align:right;opacity:.8;width:40px}.iv-fv{text-align:right;width:80px}.iv-driver{color:var(--text-faint);border-top:1px dashed var(--border);margin-top:9px;padding-top:9px;font-size:11.5px}.iv-driver b{color:var(--text-soft)}.iv-fit{text-transform:uppercase;letter-spacing:.02em;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-block}.iv-fit-high{background:var(--rec-buy-bg);color:var(--rec-buy-text)}.iv-fit-medium{background:var(--rec-hold-bg);color:var(--rec-hold-text)}.iv-fit-low{background:var(--rec-sell-bg);color:var(--rec-sell-text)}.iv-fit-na{background:var(--card-elevated);color:var(--text-faint)}.iv-fit-note{color:var(--text-faint);border-top:1px dashed var(--border);margin-top:9px;padding-top:9px;font-size:11.5px;font-style:italic}.notes{color:var(--text-faint);margin-top:14px;font-size:12.5px;font-style:italic;line-height:1.6}.btn{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:11px;padding:12px 20px;font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:600;transition:background-color .15s,box-shadow .15s,transform .1s;box-shadow:0 1px 2px #00000014}.btn:hover{background:var(--accent-hover);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent)}.btn:active{transform:translateY(1px)}.btn.secondary{color:var(--text);border:1px solid var(--border);box-shadow:none;background:0 0}.btn.secondary:hover{background:var(--subtle-bg);box-shadow:none}.btn:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.btn.sm{padding:7px 13px;font-size:11.5px}.btn-with-spinner{align-items:center;gap:8px;display:inline-flex}.btn-spinner{border:2px solid #08130e4d;border-top-color:var(--on-accent);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spin}.note-box{background:var(--subtle-bg);border-left:3px solid var(--text-faint);color:var(--text-soft);border-radius:0 11px 11px 0;margin-top:16px;padding:12px 16px;font-size:11.5px;line-height:1.6}footer{text-align:center;color:var(--text-faint);padding:30px 20px 40px;font-family:IBM Plex Mono,monospace;font-size:11px}.methodology-badge{background:var(--subtle-bg);color:var(--text-soft);letter-spacing:.01em;cursor:default;border-radius:999px;margin-top:10px;padding:4px 12px;font-size:10px;display:inline-block}.disclaimer{opacity:.85;max-width:640px;margin:14px auto 0;font-size:10.5px;line-height:1.6}.live-banner{text-align:center;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:12.5px;font-weight:600;display:flex}.live-banner-loading{background:var(--subtle-bg);color:var(--text-soft)}.live-banner-error{background:var(--rec-sell-bg);color:var(--rec-sell-text);flex-wrap:wrap}.live-banner-spinner{border:2px solid var(--text-faint);border-top-color:var(--text);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.live-banner-retry{color:#fff;cursor:pointer;background:#e12d33;border:none;border-radius:9px;padding:4px 10px;font-size:11.5px;font-weight:700}.live-banner-retry:hover{opacity:.85}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.confirm-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-card{background:var(--card);border:1px solid var(--border);border-radius:18px;width:100%;max-width:400px;padding:20px 24px;box-shadow:0 20px 48px #0000004d}.confirm-card p{color:var(--text);font-size:13px;line-height:1.5}.stock-search-hit{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.stock-search-hit:hover{background:var(--subtle-bg)}.stock-search-hit-sym{flex-shrink:0;width:64px;font-family:IBM Plex Mono,monospace;font-size:12.5px;font-weight:700}.stock-search-hit-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.stock-search-hit-sector{color:var(--text-faint);white-space:nowrap;flex-shrink:0;font-size:10.5px}.stock-search-empty{color:var(--text-faint);text-align:center;padding:14px 4px;font-size:12px}.stock-search-bulk-hint{z-index:20;background:var(--card-elevated);border:1px solid var(--border);color:var(--text-soft);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 4px);left:0;right:0}.stock-search-target-label{color:var(--text-faint);border-bottom:1px solid var(--border);margin-bottom:2px;padding:6px 10px 8px;font-size:11px}.stock-search-target-label b{color:var(--text-soft)}.stock-search-bulk-hint .stock-search-target-label{margin-bottom:8px;padding:0 0 8px}.stock-search-toggle{border:1px solid var(--border);color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px 6px 12px;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:600;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.stock-search-toggle:hover{background:var(--subtle-bg);color:var(--text);border-color:var(--text-faint)}.stock-search-bar{width:240px;max-width:100%;animation:.16s searchExpand;position:relative}@keyframes searchExpand{0%{opacity:0;transform:scaleX(.85)}to{opacity:1;transform:scaleX(1)}}.stock-search-bar-input-wrap{align-items:center;display:flex;position:relative}.stock-search-bar-input{border:none;border-bottom:1.5px solid var(--input-border);width:100%;color:var(--text);background:0 0;border-radius:0;padding:6px 30px 7px 2px;font-family:IBM Plex Sans,sans-serif;font-size:13.5px}.stock-search-bar-input:focus{border-bottom-color:var(--accent);border-bottom-width:2px;outline:none}.stock-search-bar-spinner{border:2px solid var(--text-faint);border-top-color:var(--text);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute;right:12px}.stock-search-bar-results{z-index:20;background:var(--card-elevated);border:1px solid var(--border);border-radius:14px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #00000026}.kanban-board{flex-direction:column;gap:16px;display:flex}.kanban-row{border:1px solid #0000;border-radius:18px;padding:16px;transition:background .15s,border-color .15s}.kanban-row.drag-over{background:var(--accent-bg);border-color:var(--accent)}.kanban-row-head{cursor:pointer;align-items:center;gap:8px;margin-bottom:8px;display:flex}.kanban-collapse-btn{color:var(--text-faint);flex-shrink:0;width:18px;padding:2px 4px;font-size:12px;display:inline-flex}.kanban-row-head:hover .kanban-collapse-btn{color:var(--text)}.kanban-row-title{flex:0 auto;align-items:center;gap:4px;min-width:48px;font-size:14px;font-weight:700;display:flex}.kanban-row-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kanban-rename-btn{opacity:.6;flex-shrink:0;font-size:11px}.kanban-rename-btn:hover{opacity:1}.kanban-row-title input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:7px;padding:3px 6px;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:700}.kanban-row-search{flex:0 auto;min-width:0;display:flex;position:relative}.kanban-row-search-tip{z-index:21;background:var(--card-elevated);border:1px solid var(--input-border);color:var(--text-soft);white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:11.5px;animation:.15s fadein;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 16px #0000002e}.kanban-row-search-tip-success{color:var(--rec-buy-text);border-color:color-mix(in srgb, var(--accent) 40%, var(--input-border))}.kanban-row-actions{flex-shrink:0;gap:2px;margin-left:auto;display:flex}.kanban-row-sort-row{justify-content:flex-end;align-items:center;gap:10px;margin:10px 0 12px;display:flex}.kanban-icon-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:3px 5px;font-size:12px}.kanban-icon-btn:hover{color:var(--text);background:var(--subtle-bg)}.kanban-empty{color:var(--text-faint);text-align:center;border:1.5px dashed var(--border);border-radius:11px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:18px 6px;font-size:11.5px;display:flex}.watchlist-tile{cursor:grab;touch-action:none;padding-top:22px}.watchlist-tile:active{cursor:grabbing}.watchlist-tile.dragging{opacity:.4}.kanban-stock-row-new{animation:.4s cubic-bezier(.16,1,.3,1) zoomFadeIn}@keyframes zoomFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.kanban-stock-row-highlight{animation:.6s ease-in-out 2 ringPulse}@keyframes ringPulse{0%,to{box-shadow:0 1px 2px #0000000a}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}}.tile-remove{z-index:2;cursor:pointer;color:currentColor;opacity:0;background:#0000002e;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;transition:opacity .15s,background-color .15s;display:flex;position:absolute;top:8px;left:8px}.watchlist-tile:hover .tile-remove,.tile-remove:focus-visible{opacity:.7}.tile-remove:hover{background:#00000052;opacity:1!important}.watchlist-tile .tile-badge{top:34px}.idx-fundamentals-wrap table{min-width:1500px}.idx-table-row{cursor:pointer}.idx-table-row .badge{white-space:nowrap}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-block{background:var(--subtle-bg);border-radius:7px;animation:1.3s ease-in-out infinite skeleton-pulse;display:inline-block}.tile.skeleton-tile{cursor:default}.tile.skeleton-tile:hover{transform:none;box-shadow:0 1px 2px #0000000a}.skeleton-row .skeleton-block{vertical-align:middle}.kr-price-editable{cursor:text;border-radius:7px;margin:-2px -4px;padding:2px 4px}.kr-price-editable:hover{background:var(--subtle-bg);outline:1px dashed var(--text-faint)}.kr-price-input{text-align:right;border:1px solid var(--accent);background:var(--input-bg);width:80px;color:var(--text);border-radius:7px;flex-shrink:0;padding:2px 4px;font-size:12px}.kanban-card-subgroup{color:var(--text-faint);background:var(--subtle-bg);border-radius:5px;padding:1px 5px;font-size:9px}.kanban-new-row-input{border:1.5px dashed var(--border);background:var(--input-bg);width:240px;color:var(--text);border-radius:14px;margin-top:16px;padding:8px 12px;font-family:IBM Plex Sans,sans-serif;font-size:12.5px}.kanban-add-row{margin-top:16px}@media (width<=860px){.app-sidebar{width:60px;padding:22px 0 20px 8px}.app-sidebar button{justify-content:center;margin-right:8px;padding:12px 8px}.app-sidebar .tab-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-content{padding:22px 20px 22px 0}}@media (width<=640px){header.app-header{padding:16px}.brand h1{font-size:15px}.brand .sub{font-size:10px}.updated{text-align:left;font-size:10.5px}.app-sidebar{padding-top:16px}.app-content{padding:16px 16px 16px 0}.block-head h2{font-size:14px}section.block{padding:16px}table{font-size:11.5px}thead th{padding:8px;font-size:9.5px}tbody td{padding:8px}.heatgrid{grid-template-columns:1fr}}@media (width<=480px){.opp-company{max-width:110px}.idx-row{gap:8px;padding:8px}.badge{padding:3px 6px;font-size:9px}}
