@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);--bg:#f4f7fb;--ink:#17252d;--muted:#63717b;--line:#d9e2ea;--panel:#fff;--soft:#eef4f8;--accent:#0f8fbd;--green:#10b981;--red:#dc3545;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Instrument Sans,Noto Sans KR,sans-serif;font-weight:500;line-height:1.5}:root[data-theme=dark],:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1216;--ink:#e3e8ee;--muted:#8a96a3;--line:#283341;--panel:#161c23;--soft:#1c242e;--accent:#3aa9d4;--green:#34d399;--red:#f87171}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1216;--ink:#e3e8ee;--muted:#8a96a3;--line:#283341;--panel:#161c23;--soft:#1c242e;--accent:#3aa9d4;--green:#34d399;--red:#f87171}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}button,input,select{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}.login-shell{background:var(--bg);background-image:radial-gradient(ellipse 60% 50% at 50% 50%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-hint{color:var(--muted);letter-spacing:.02em;min-height:1em;margin-top:6px;font-size:.74rem;transition:color .12s;display:block}.login-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:18px;width:100%;max-width:380px;padding:32px;display:flex;box-shadow:0 18px 60px #0f1e281a}.login-card h1{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.65rem}.login-sub{color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.login-field{flex-direction:column;gap:6px;display:flex}.login-field span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:700}.login-field input{border:1px solid var(--line);background:var(--bg);height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:0 14px;font-size:1rem;transition:border-color .12s,box-shadow .12s}.login-field input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.login-error{background:color-mix(in srgb, var(--red) 10%, transparent);color:var(--red);border:1px solid color-mix(in srgb, var(--red) 28%, transparent);border-radius:8px;padding:10px 12px;font-size:.86rem}.login-submit{height:48px;font-size:1rem}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-disclaimer{color:var(--muted);text-align:center;letter-spacing:.02em;margin:0;font-size:.74rem}.theme-toggle{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:1.05rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:6px;padding:10px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:top .12s;position:absolute;top:-100px;left:8px}.skip-link:focus-visible{top:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.search-input:focus-visible,.chart-modal-close:focus-visible,button:focus-visible,select:focus-visible{outline-offset:1px}.shell{width:min(1500px,100% - 28px);margin:0 auto;padding:18px 0 36px}.topbar{background:var(--panel);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px;padding:14px 18px;display:flex}.topbar h1{letter-spacing:-.01em;white-space:nowrap;color:var(--ink);font-size:clamp(1.4rem,2.4vw,1.85rem)}.topbar-meta{align-items:center;gap:18px;display:flex}.search-box{width:240px;position:relative}.search-input{border:1px solid var(--line);background:var(--panel);width:100%;height:34px;color:var(--ink);font:inherit;border-radius:8px;padding:0 12px;font-size:.9rem;transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0f8fbd2e}.search-input::placeholder{color:var(--muted)}.search-dropdown{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:8px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0f1e2829}.search-dropdown li{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;display:flex}.search-dropdown li.active,.search-dropdown li:hover{background:var(--soft)}.search-dropdown li strong{min-width:56px;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.search-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.search-exchange{color:var(--muted);white-space:nowrap;font-size:.78rem}.search-empty{color:var(--muted);text-align:center;padding:12px 10px;font-size:.88rem}.lookup-banner{color:var(--accent);background:#0f8fbd14;border:1px solid #0f8fbd33;border-radius:8px;margin:6px 0 10px;padding:8px 14px;font-size:.88rem}.metric{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.metric span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.metric strong{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.05rem}.status-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:.85rem;display:inline-flex}.freshness{border:1px solid var(--line);background:var(--panel);white-space:nowrap;cursor:default;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 6px;font-size:.82rem;display:inline-flex}.freshness-tag{letter-spacing:.08em;background:var(--soft);color:var(--muted);border-radius:999px;padding:2px 7px;font-size:.66rem;font-weight:800}.freshness.live .freshness-tag{color:#0b8a64;background:#10b98124}.freshness.sample .freshness-tag{color:#946718;background:#d69d292e}.freshness-time{color:var(--muted);font-variant-numeric:tabular-nums}.status-dot{background:#d69d29;border-radius:999px;width:7px;height:7px}.status-pill.ready .status-dot{background:var(--green)}.status-pill.error .status-dot{background:var(--red)}h2{letter-spacing:-.01em;font-size:1.5rem;line-height:1.1}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:.78rem}.filter-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:10px}.filter-row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.filter-row+.filter-row{border-top:1px solid var(--line);align-items:center;margin-top:10px;padding-top:10px}.field{flex-direction:column;flex:110px;gap:4px;min-width:96px;display:flex}.field-preset{flex:2 200px}.field span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}select{border:1px solid var(--line);background:var(--panel);width:100%;height:34px;color:var(--ink);border-radius:6px;padding:0 10px}select:focus{border-color:var(--accent);outline:2px solid #0f8fbd2e}.primary-button,.row-button,.chip,.view-toggle button,.chart-card{cursor:pointer;font:inherit}.primary-button{background:var(--ink);color:var(--bg);border:0;border-radius:6px;height:34px;padding:0 16px;font-weight:600;transition:opacity .16s,transform .16s}.primary-button:hover{transform:translateY(-1px)}.primary-button.small{height:30px;padding:0 12px;font-size:.88rem}.toggle{border:1px solid var(--line);background:var(--panel);height:34px;color:var(--muted);cursor:pointer;border-radius:6px;flex-direction:row;align-items:center;gap:6px;padding:0 12px;font-size:.88rem;display:inline-flex}.toggle input{margin:0}.chip-row{flex-wrap:wrap;align-items:center;row-gap:6px}.chip-group{flex-wrap:wrap;gap:5px;display:flex}.chip-divider{background:var(--line);align-self:stretch;width:1px;margin:0 4px}@media (width<=760px){.chip-divider{display:none}.chip-row{flex-direction:column;align-items:stretch;gap:8px}.chip-group,.sector-strip{width:100%}.view-toggle{align-self:flex-start;margin-left:0}}.chip{border:1px solid var(--line);background:var(--panel);height:28px;color:var(--muted);border-radius:999px;padding:0 12px;font-size:.82rem;font-weight:600;transition:background .16s,color .16s,border-color .16s}@media (pointer:coarse){.chip,.view-toggle button{min-width:44px;height:44px;padding:0 16px}.primary-button,.toggle,select,.row-button{min-width:44px;height:44px}.period-btn,.interval-btn,.overlay-btn{min-width:44px;height:44px;padding:0 14px}.search-input{height:44px}.search-dropdown li{min-height:44px}tbody tr{height:56px}}.chip:hover{color:var(--ink);border-color:#b3c1cc}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sector-strip{flex-wrap:wrap;flex:1;min-width:0}.sector-strip .chip{white-space:nowrap}.view-toggle{border:1px solid var(--line);border-radius:6px;margin-left:auto;display:inline-flex;overflow:hidden}.view-toggle button{background:var(--panel);height:28px;color:var(--muted);border:0;padding:0 14px;font-size:.82rem;font-weight:600}.view-toggle button.active{background:var(--ink);color:var(--bg)}.error-text{color:#b42331;background:#fff3f4;border:1px solid #dc35453d;border-radius:8px;margin-bottom:10px;padding:10px 14px}.workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:12px;display:grid}.results-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-height:680px;overflow:hidden}.table-wrap{background:linear-gradient(to right, var(--panel), var(--panel) 30%, color-mix(in srgb, var(--panel) 0%, transparent)) left center / 24px 100% no-repeat local, linear-gradient(to left, var(--panel), var(--panel) 30%, color-mix(in srgb, var(--panel) 0%, transparent)) right center / 24px 100% no-repeat local, linear-gradient(to right, #63717b2e, #63717b00) left center / 12px 100% no-repeat scroll, linear-gradient(to left, #63717b2e, #63717b00) right center / 12px 100% no-repeat scroll;max-height:78vh;position:relative;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:960px;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 12px}th.num,td.num{text-align:right}th{z-index:1;background:var(--soft);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700;position:sticky;top:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s,box-shadow .12s}th.sortable:hover{color:var(--ink);background:#e3eaf0}th.sortable:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink);outline:none}th.sortable[aria-sort=ascending],th.sortable[aria-sort=descending]{color:var(--ink)}.sort-arrow{color:var(--accent);margin-left:4px;font-size:.65rem;display:inline-block}td:first-child strong{font-size:.95rem;display:block}td:first-child span{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}td.pos{color:var(--green)}td.neg{color:var(--red)}td.zero,td.na{color:var(--muted)}td.na{opacity:.55}td.ma{color:var(--muted);letter-spacing:0;text-align:center;font-feature-settings:"tnum" on;min-width:40px;padding-left:6px;padding-right:6px;font-size:.95rem}td.symbol-cell{max-width:200px}td.symbol-cell span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}td.symbol-cell .symbol-cap{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.72rem}tbody tr{cursor:pointer;transition:background .12s}tbody tr:hover{background:#f6fafd}tbody tr.selected{background:color-mix(in srgb, var(--accent) 14%, var(--panel))}.score-bar{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:inline-flex}.score-bar strong{text-align:right;min-width:26px;font-size:.95rem}.score-track{background:var(--soft);border-radius:999px;width:56px;height:6px;display:inline-block;position:relative;overflow:hidden}.score-fill{border-radius:999px;transition:width .22s cubic-bezier(.2,.9,.3,1);position:absolute;inset:0 auto 0 0}.tone-high .score-fill{background:var(--green)}.tone-mid .score-fill{background:#f0a830}.tone-low .score-fill{background:#b3c1cc}.stage-badge{letter-spacing:.02em;color:#fff;border-radius:999px;place-items:center;height:22px;padding:0 8px;font-size:.74rem;font-weight:700;display:inline-grid}.stage-1{background:#64748b}.stage-2{background:var(--green)}.stage-3{background:#d69d29}.stage-4{background:var(--red)}.row-button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:background .12s,border-color .12s}.row-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.chart-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:14px;display:grid}.chart-card{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:8px;padding:10px;transition:border-color .12s,box-shadow .12s,transform .12s}.chart-card:hover{border-color:#9eb1bf;transform:translateY(-1px)}.chart-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chart-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.chart-head strong{font-size:1rem}.chart-head p{color:var(--ink);opacity:.7;white-space:nowrap;text-overflow:ellipsis;max-width:180px;margin-top:2px;font-size:.82rem;font-weight:500;overflow:hidden}.chart-meta{font-variant-numeric:tabular-nums;justify-content:space-between;margin:6px 0 4px;font-size:.85rem;display:flex}.chart-meta .pos{color:var(--green)}.chart-meta .neg{color:var(--red)}.mini-chart{aspect-ratio:5/3;background:var(--panel);border-radius:4px;width:100%;display:block}.mini-chart polyline{fill:none;stroke-width:1.8px}.mini-chart .spark-up{stroke:var(--green)}.mini-chart .spark-down{stroke:var(--red)}.mini-chart .mini-empty{fill:var(--muted);font-size:11px}.analysis-panel{background:var(--panel);border:1px solid var(--line);scrollbar-width:thin;border-radius:10px;flex-direction:column;max-height:calc(100vh - 24px);padding:16px;display:flex;position:sticky;top:12px;overflow-y:auto}.analysis-panel::-webkit-scrollbar{width:8px}.analysis-panel::-webkit-scrollbar-thumb{background:#63717b4d;border-radius:4px}.analysis-panel::-webkit-scrollbar-thumb:hover{background:#63717b80}.analysis-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.analysis-sub{color:var(--muted);margin-top:4px;font-size:.85rem}.stock-snapshot{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.stock-snapshot div{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:10px 12px}.stock-snapshot span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700;display:block}.stock-snapshot strong{font-variant-numeric:tabular-nums;font-size:1.1rem}.stock-snapshot strong.pos{color:var(--green)}.stock-snapshot strong.neg{color:var(--red)}.signal-row{background:var(--soft);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:.88rem;display:flex}.signal-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.signal-row strong{color:var(--ink);font-weight:700}.signal-row strong.pos{color:var(--green)}.signal-row strong.neg{color:var(--red)}.signal-row strong.na{color:var(--muted);opacity:.55}.signal-divider{background:var(--line);width:1px;height:16px;margin:0 6px}.signal-row-2{margin-top:-6px}.vcp-legs{color:var(--muted);letter-spacing:.02em;margin-left:4px;font-size:.72rem;font-weight:500}.short-cover{color:var(--muted);letter-spacing:.02em;margin-left:2px;font-size:.72rem;font-weight:500}sup.data-source{color:var(--ink);letter-spacing:.04em;vertical-align:super;background:#1f445814;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:.55rem;font-weight:700;line-height:1;display:inline-block}.signal-badges{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.signal-badges-empty{color:var(--muted);opacity:.5;font-size:.78rem}.signal-badge{letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:4px;align-items:center;padding:2px 6px;font-size:.7rem;font-weight:700;display:inline-flex}.signal-badge.tone-pos{color:var(--green);background:#0b8a6414;border-color:#0b8a6438}.signal-badge.tone-mid{color:var(--ink);background:#1f44580f;border-color:#1f44582e}.signal-badge.tone-neg{color:var(--red);background:#dc354514;border-color:#dc354538}th.signals-col{min-width:140px}td.signals-col{vertical-align:middle;font-size:.75rem}.show-chart-button{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-weight:600;transition:background .12s,border-color .12s}.show-chart-button:hover{background:var(--soft);border-color:#9eb1bf}.chart-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f1e2873;justify-content:center;align-items:center;padding:32px;animation:.14s ease-out backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.chart-modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(960px,100%);max-height:90vh;padding:18px 20px 20px;animation:.18s cubic-bezier(.2,.9,.3,1) modal-in;overflow:auto;box-shadow:0 30px 80px #0f1e2859}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.chart-modal-backdrop,.chart-modal{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.chart-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.chart-modal-head>div:first-child{flex-direction:column;gap:2px;display:flex}.chart-modal-head strong{letter-spacing:-.01em;font-size:1.5rem}.chart-modal-head span{color:var(--muted);font-size:.92rem}.chart-modal-meta{align-items:center;gap:12px;display:flex}.modal-price{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.05rem;font-weight:600}.chart-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;width:32px;height:32px;font-size:1.6rem;line-height:1;transition:background .12s,color .12s}.chart-modal-close:hover{background:var(--soft);color:var(--ink)}.chart-modal .lw-chart{height:480px}.chart-modal .lw-chart.has-rsi,.chart-modal .lw-chart.has-macd{height:580px}.chart-modal .lw-chart.has-rsi.has-macd{height:680px}.detail-chart-wrap{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.lw-chart{border:1px solid var(--line);border-radius:8px;width:100%;height:420px;overflow:hidden}.empty-chart{text-align:center;color:var(--muted);border:1px dashed var(--line);background:var(--soft);border-radius:8px;padding:60px 20px}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.interval-switcher{border:1px solid var(--line);background:var(--soft);border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:3px;display:flex}.overlay-switcher{border:1px solid var(--line);background:var(--soft);border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex}.overlay-btn{color:var(--muted);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:background .12s,color .12s}.overlay-btn:hover:not(.active){color:var(--ink)}.overlay-btn.active{background:var(--ink);color:#fff}.overlay-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.interval-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 10px;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.interval-btn:hover:not(.active){color:var(--ink)}.interval-btn.active{background:var(--ink);color:#fff}.chart-fetch-error{color:#b42331;background:#fff3f4;border:1px solid #dc35452e;border-radius:6px;padding:8px 12px;font-size:.85rem}.period-switcher{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.period-btn{border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.period-btn:hover:not(:disabled){color:var(--ink);border-color:#9eb1bf}.period-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}.period-btn:disabled{opacity:.4;cursor:not-allowed}.chart-legend-inline{border-left:1px solid var(--line);align-items:center;gap:12px;margin-left:10px;padding-left:12px;display:inline-flex}.legend-item{align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:1px;width:12px;height:2px;display:inline-block}.swatch-ma10{background:#1f4458}.swatch-ma40{background:#d28b1f}.swatch-high52{background:#d69d298c;border:0}.swatch-volume{background:linear-gradient(90deg,#10b9818c 50%,#dc35458c 50%);height:6px}.legend-price{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.empty-analysis{border:1px dashed var(--line);color:var(--muted);background:var(--soft);border-radius:8px;flex-direction:column;gap:6px;padding:18px;font-size:.92rem;display:flex}.empty-results-row td{border-bottom:none;padding:0}.empty-results{color:var(--muted);background:var(--soft);border-radius:8px;flex-direction:column;gap:10px;margin:20px;padding:40px 24px;display:flex}.empty-results strong{color:var(--ink);font-size:1.05rem;font-weight:700}.empty-results p{margin:0;font-size:.9rem;line-height:1.5}.empty-results ul{margin:4px 0 0;padding-left:22px;font-size:.86rem;line-height:1.7}.empty-results li{padding-left:4px;list-style:"→ "}.empty-analysis strong{color:var(--ink);font-size:.92rem;font-weight:700}.empty-analysis p{margin:0;font-size:.84rem;line-height:1.45}.empty-analysis-hint{color:var(--muted);opacity:.85;letter-spacing:.02em;margin-top:4px;font-size:.76rem}.empty-analysis.error{color:#b42331;background:#fff3f4;border-color:#dc354547}.analysis-body{flex-direction:column;flex:1;gap:14px;display:flex}.analysis-body section{flex-direction:column;display:flex}.analysis-body .summary{color:#143849;border-left:3px solid var(--accent);background:#eaf3f8;border-radius:8px;padding:12px 14px;line-height:1.6}.analysis-body ul{margin:0;padding-left:18px}.analysis-body li{margin-bottom:4px;line-height:1.55}.news-report{color:var(--ink);white-space:pre-wrap;background:#d69d2914;border-left:3px solid #d28b1f;border-radius:8px;padding:12px 14px;font-size:.92rem;line-height:1.65}.disclaimer{color:var(--muted);margin-top:auto;padding-top:14px;font-size:.76rem}@media (width<=1180px){.workspace{grid-template-columns:1fr}.analysis-panel{max-height:none;position:static;overflow-y:visible}.topbar-meta{gap:12px}}@media (width<=760px){.shell{width:calc(100% - 18px)}.topbar{flex-direction:column;align-items:stretch;gap:12px}.topbar h1{font-size:1.5rem}.topbar-meta{grid-template-columns:1fr;grid-template-areas:"search""metrics""status";gap:10px;width:100%;display:grid}.topbar-meta .search-box{grid-area:search;width:100%}.topbar-meta .search-input{width:100%}.topbar-meta .metric:first-of-type{grid-column:1}.topbar-meta .metric:nth-of-type(2){grid-column:2}.topbar-meta .metric:nth-of-type(3){grid-column:3}.topbar-meta{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"search search search""metrics metrics metrics""status status status"}.topbar-meta .freshness,.topbar-meta .status-pill{grid-area:status;justify-self:start}.topbar-meta .status-pill{justify-self:end}.chart-grid{grid-template-columns:1fr}.filter-row{align-items:stretch}.field{flex:calc(50% - 8px)}.primary-button{width:100%}.chip,.view-toggle button,.primary-button,.toggle,select,.row-button,.period-btn,.interval-btn,.overlay-btn,.search-input{min-height:44px}.chip,.view-toggle button,.period-btn,.interval-btn,.overlay-btn{padding-left:16px;padding-right:16px}tbody tr{height:56px}}
