@font-face{font-family:Pretendard;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pretendard-latin-400-normal-BhrLQoBv.woff2)format("woff2"),url(/assets/pretendard-latin-400-normal-D5CgADJ9.woff)format("woff")}@font-face{font-family:Pretendard;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pretendard-latin-700-normal-BYNivUXw.woff2)format("woff2"),url(/assets/pretendard-latin-700-normal-DD7wHHNl.woff)format("woff")}:root[data-theme=dark]{--bg:#101013;--card:#17171c;--up:#f5445a;--down:#4391ff;--accent:#3485fa;--text:#c3c3c6;--text-strong:#fff;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f5f8;--card:#fbfcfd;--up:#de2b39;--down:#2272eb;--accent:#3182f6;--text:#4e5968;--text-strong:#191f28;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--text)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Pretendard,Noto Sans KR,sans-serif}a{color:var(--accent);text-decoration:none}.card{background:var(--card);border-radius:var(--radius);padding:16px}.app{min-height:100vh}.app-top{z-index:10;position:sticky;top:0}:root{--app-top-clearance:116px}.app-nav{background:var(--bg);border-bottom:1px solid var(--card);flex-wrap:wrap;align-items:center;gap:20px;padding:12px 20px;display:flex}.app-brand{color:var(--text-strong);white-space:nowrap;font-weight:700}.app-links{gap:16px;display:flex}.app-links a{color:var(--text);white-space:nowrap}.app-links a.active{color:var(--text-strong);font-weight:700}@media (width<=560px){.app-nav{gap:12px;padding:12px}.app-links{gap:12px}.app-links a{padding:6px 0}}.app-main{max-width:1280px;margin:0 auto;padding:20px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-title{color:var(--text-strong);flex-shrink:0;margin:0;font-size:15px;font-weight:700}.card-action{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.theme-toggle,.retry-button{color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:6px 12px}.theme-toggle{background:var(--card);white-space:nowrap;margin-left:auto}.retry-button{background:var(--bg)}.theme-toggle:hover,.retry-button:hover{color:var(--text-strong)}.badge{border:1px solid var(--card);background:var(--bg);color:var(--text);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.6;display:inline-block}.error-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.error-message{margin:0}.spinner{border:2px solid var(--bg);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.empty{margin:0;font-size:13px}.dashboard{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}.dashboard-main,.dashboard-quotes{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboard-duo{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.dashboard-side{top:var(--app-top-clearance);min-width:0;position:sticky}@media (width<=900px){.dashboard,.dashboard-duo{grid-template-columns:1fr}.dashboard-side{position:static}}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.index-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.index-name{margin:0 0 6px;font-size:13px}.index-value{color:var(--text-strong);margin:0 0 4px;font-size:20px;font-weight:700}.breadth{gap:16px;font-size:13px;font-weight:700;display:flex}.breadth-bar{background:currentColor;border-radius:999px;height:6px;margin:8px 0 16px;overflow:hidden}.breadth-fill{background:currentColor;height:100%;display:block}.leader-lists{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.leader-label{margin:0 0 6px;font-size:12px}.leader-items{margin:0;padding:0;list-style:none}.leader-item{justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;font-size:13px;display:flex}.leader-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sector-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sector-row{grid-template-columns:92px 1fr 64px 52px;align-items:center;gap:8px;font-size:13px;display:grid}.sector-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sector-track{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.sector-fill{background:currentColor;border-radius:999px;height:100%;display:block}.sector-value{text-align:right;font-weight:700}.sector-count{text-align:right;font-size:12px}.tabs{gap:6px;display:flex}.tab{background:var(--card);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:6px 16px}.tab:hover{color:var(--text-strong)}.tab-active{background:var(--accent);color:var(--text-strong);font-weight:700}.table-scroll{overflow-x:auto}.stock-table{border-collapse:collapse;width:100%;font-size:13px}.stock-table th{text-align:left;white-space:nowrap;padding:0 8px 8px;font-weight:400}.stock-table td{color:var(--text);white-space:nowrap;padding:8px}.stock-table tbody tr{border-top:1px solid var(--bg);cursor:pointer}.stock-table tbody tr:hover,.stock-table tbody tr:focus-visible{background:var(--bg);outline:none}.cell-number{text-align:right}.stock-table td.cell-symbol,.stock-table td.cell-price,.stock-table td.cell-name{color:var(--text-strong)}.stock-table tbody tr.up td.cell-signed{color:var(--up)}.stock-table tbody tr.down td.cell-signed{color:var(--down)}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.th-sort:hover{color:var(--text-strong)}.price-chart{width:100%;height:360px}@media (width<=900px){.price-chart{height:280px}}.detail{flex-direction:column;gap:16px;display:flex}.detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.detail-wide{grid-column:1/-1;min-width:0}@media (width<=900px){.detail-grid{grid-template-columns:1fr}.detail-wide{grid-column:auto}}.detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;padding:4px 4px 0;display:flex}.detail-name{color:var(--text-strong);margin:0;font-size:20px;font-weight:700}.detail-meta{margin:4px 0 0;font-size:13px}.detail-quote{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.detail-price{color:var(--text-strong);margin:0;font-size:28px;font-weight:700;line-height:1.2}.detail-change{margin:0;font-size:14px}.detail-gauges{flex-direction:column;flex:320px;gap:8px;max-width:420px;display:flex}.range-gauge{align-items:center;gap:8px;font-size:12px;display:flex}.range-label{flex-shrink:0;width:32px}.range-low,.range-high{color:var(--text-strong);flex-shrink:0}.range-track{background:var(--card);border-radius:999px;flex:1;height:4px;position:relative}.range-marker{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.range-empty{color:var(--text)}.orderbook{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.orderbook-row{grid-template-columns:84px 1fr 68px;align-items:center;gap:8px;font-size:13px;display:grid}.orderbook-price{text-align:right;font-weight:700}.orderbook-track{background:var(--bg);border-radius:4px;height:12px;overflow:hidden}.orderbook-fill{opacity:.35;background:currentColor;height:100%;display:block}.orderbook-qty{color:var(--text);text-align:right}.orderbook-row-ask+.orderbook-row-bid{border-top:1px solid var(--bg);margin-top:6px;padding-top:6px}.investor-bars{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.investor-bar{grid-template-columns:52px 1fr 72px;align-items:center;gap:8px;font-size:13px;display:grid}.investor-name{color:var(--text-strong)}.investor-track{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.investor-fill{background:currentColor;border-radius:999px;height:100%;display:block}.investor-value{text-align:right;font-weight:700}.investor-table{border-collapse:collapse;width:100%;font-size:12px}.investor-caption{color:var(--text);text-align:left;margin-bottom:6px;font-size:12px}.investor-table th{text-align:left;white-space:nowrap;padding:0 8px 6px;font-weight:400}.investor-table td{border-top:1px solid var(--bg);color:var(--text);white-space:nowrap;padding:5px 8px}.investor-table td.up{color:var(--up)}.investor-table td.down{color:var(--down)}.fundamental-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fundamental-label{margin:0 0 6px;font-size:12px}.fundamental-value{color:var(--text-strong);margin:0;font-size:17px;font-weight:700}.returns-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.returns-item{flex-direction:column;gap:6px;display:flex}.returns-label{font-size:12px}.returns-value{font-size:16px;font-weight:700}@media (width<=560px){.fundamental-grid,.returns-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-button{background:var(--accent);color:var(--text-strong);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-weight:700}.ai-button:disabled{background:var(--bg);color:var(--text);cursor:default}.ai-pending{align-items:center;gap:12px;display:flex}.markdown{font-size:14px;line-height:1.65}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown strong{color:var(--text-strong)}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:20px 0 8px;font-size:15px}.markdown p,.markdown ul,.markdown ol{margin:0 0 12px}.markdown ul,.markdown ol{padding-left:20px}.markdown li{margin-bottom:4px}.markdown code{background:var(--bg);border-radius:4px;padding:1px 5px;font-size:13px}.markdown pre{background:var(--bg);border-radius:8px;padding:12px;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown table{border-collapse:collapse;width:100%;margin:8px 0 12px;font-size:13px}.markdown th,.markdown td{border:1px solid var(--bg);overflow-wrap:anywhere;text-align:left;padding:6px 10px}.markdown th{background:var(--bg);color:var(--text-strong)}.markdown blockquote{border-left:2px solid var(--bg);margin:0 0 12px;padding-left:12px}.article{flex-direction:column;gap:16px;max-width:860px;margin:0 auto;display:flex}.article-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.article-title{color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700;line-height:1.4}.article-source{white-space:nowrap;font-size:13px}.notice-back{margin:12px 0 0;font-size:13px}.news-list{max-height:calc(100vh - var(--app-top-clearance) - 116px);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.news-item{color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.news-item:hover{background:var(--bg)}.news-title{color:var(--text-strong);font-size:13px;line-height:1.45}.news-meta{font-size:11px}.news-list-inline{max-height:none}@media (width<=900px){.news-list{max-height:none}}.ticker-bar{background:var(--card);border-bottom:1px solid var(--bg);align-items:center;display:flex;overflow:hidden}.ticker-viewport{flex:1;padding:10px 0;overflow:hidden}.ticker-clock{color:var(--text);white-space:nowrap;border-left:1px solid var(--bg);flex:none;align-self:stretch;align-items:center;padding:10px 14px;font-size:12px;display:flex}.ticker-track{width:max-content;animation:40s linear infinite ticker-scroll;display:flex}.ticker-group{display:flex}.ticker-item{white-space:nowrap;align-items:baseline;gap:6px;padding:0 18px;font-size:13px;display:inline-flex}.ticker-name{color:var(--text)}.ticker-value{color:var(--text-strong);font-weight:700}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-viewport{overflow-x:auto}.spinner{animation-duration:2s}}
