/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--ease-out:cubic-bezier(0,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg-base:#fafbfc;--bg-sidebar:#f4f6f9;--bg-surface:#fff;--bg-surface-2:#f2f4f7;--bg-elevated:#fff;--bg-muted:#eceef2;--border-subtle:#0f111714;--border-default:#0f111724;--border-emphasis:#0f111738;--text-primary:#0f1011;--text-secondary:#4a4e58;--text-tertiary:#6e727b;--positive:#1e9e5e;--negative:#d33a3a;--neutral:#5c606a;--brand:#4f58b8;--highlight:#b8761a;--warning:#c8950f;--shadow-card:0 1px 2px #0f111708;--shadow-hover:0 2px 8px #0f11170f;--font-sans:"Inter","Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,monospace;--ease-out:cubic-bezier(.16,1,.3,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.55}body{min-height:100vh}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:0}.pos{color:var(--positive)}.neg{color:var(--negative)}.neu{color:var(--neutral)}.muted{color:var(--text-secondary)}.dim{color:var(--text-tertiary)}.app{grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);flex-direction:column;gap:18px;height:100vh;padding:14px 12px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .logo{align-items:center;gap:8px;height:48px;margin-bottom:4px;padding:0 6px;display:flex}.sidebar .logo-mark{background:var(--brand);border-radius:5px;width:18px;height:18px;display:inline-block}.sidebar .logo-text{letter-spacing:-.018em;color:var(--text-primary);font-size:14px;font-weight:510}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section .section-label{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.02em;text-transform:uppercase;margin-bottom:4px;padding:0 10px}.nav-item{height:32px;color:var(--text-secondary);cursor:pointer;letter-spacing:-.011em;transition:background .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex;position:relative}.nav-item.active,.nav-item:hover{background:var(--bg-muted);color:var(--text-primary)}.nav-item.active{font-weight:510}.nav-item.active:before{content:"";background:var(--brand);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:-4px}.nav-item .icon{color:currentColor;flex-shrink:0;width:14px;height:14px}.nav-item .badge{font-family:var(--font-mono);color:var(--text-tertiary);margin-left:auto;font-size:11px}.nav-item .badge.dim{background:var(--bg-muted);border:1px solid var(--border-subtle);text-transform:uppercase;border-radius:8px;padding:1px 6px;font-size:9px}a.nav-item{color:var(--text-secondary);text-decoration:none}a.nav-item.disabled{color:var(--text-tertiary)}a.nav-item.disabled:hover{background:var(--bg-muted)}a.logo{color:inherit;text-decoration:none}.mini-row{cursor:pointer;transition:background .12s var(--ease-out);border-radius:6px;grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:6px 10px;display:grid}.mini-row:hover{background:var(--bg-muted)}.mini-row .name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mini-row .val{font-family:var(--font-mono);font-size:12px;font-weight:500}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-top:auto;padding:10px 10px 0;display:flex}.footer-row{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);letter-spacing:0;align-items:center;gap:8px;display:flex}.status-dot{background:var(--positive);border-radius:50%;width:6px;height:6px;display:inline-block}.main{min-width:0}header.app-header{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);z-index:10;align-items:center;gap:16px;height:48px;padding:0 24px;display:flex;position:sticky;top:0}.search-bar{background:var(--bg-base);border:1px solid var(--border-default);max-width:480px;height:32px;color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.011em;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);border-radius:6px;flex:1;padding:0 12px;font-size:13px}.search-bar:focus{border-color:var(--brand);outline:none}.search-bar::placeholder{color:var(--text-tertiary)}.header-meta{font-size:12px;letter-spacing:0;gap:10px;margin-left:auto;display:flex}.header-meta,.pill{color:var(--text-secondary);font-family:var(--font-mono);align-items:center}.pill{background:var(--bg-muted);height:22px;font-size:11px;border-radius:11px;padding:0 8px;display:inline-flex}main.dashboard{flex-direction:column;gap:12px;max-width:1400px;padding:16px 24px 32px;display:flex}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);transition:background .15s var(--ease-out),box-shadow .15s var(--ease-out),border-color .15s var(--ease-out);border-radius:8px;padding:16px}.card:hover{background:var(--bg-surface-2)}.card-header{justify-content:space-between;margin-bottom:12px}.card-header,.card-title{align-items:baseline;display:flex}.card-title{color:var(--text-secondary);letter-spacing:0;white-space:nowrap;gap:8px;font-size:12px;font-weight:500}.widget-id{font-size:11px;font-weight:400}.card-meta,.widget-id{font-family:var(--font-mono);color:var(--text-tertiary)}.card-meta{font-size:12px;letter-spacing:0}.w0 .findings{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.finding{background:var(--bg-base);border:1px solid var(--border-subtle);cursor:pointer;transition:background .15s var(--ease-out),border-color .15s var(--ease-out);border-radius:6px;padding:14px;position:relative}.finding:hover{background:var(--bg-surface-2);border-color:var(--border-default)}.finding:first-child{border-left:3px solid var(--brand)}.finding:first-child .headline{letter-spacing:-.018em;font-size:17px;line-height:1.3}.finding .cat{color:var(--text-tertiary);text-transform:lowercase;letter-spacing:0;font-size:11px;font-family:var(--font-mono);margin-bottom:8px}.finding .headline{color:var(--text-primary);letter-spacing:-.014em;margin-bottom:10px;font-size:14px;font-weight:510;line-height:1.4}.finding .raw{color:var(--text-secondary);font-size:12px}.finding .evidence{color:var(--brand);font-size:11px;font-family:var(--font-mono);letter-spacing:0;margin-top:8px}.finding-clickable{cursor:default;padding:0}.finding-button{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:14px;display:block}.finding-button:hover{background:var(--bg-surface-2)}.finding-toggle{color:var(--text-tertiary);margin-left:6px;font-size:11px}.finding-clickable.is-open{background:var(--bg-surface-2);border-color:var(--border-default)}.finding-clickable.is-open .finding-button{background:0 0}.finding-reason{border-top:1px solid var(--border-subtle);color:var(--text-secondary);padding:12px 14px 14px;font-size:12px;line-height:1.55}.finding-reason .reason-section+.reason-section{margin-top:10px}.finding-reason .reason-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:4px;font-size:11px;font-weight:600}.finding-reason p{margin:0}.finding-reason ul{margin:0;padding-left:16px;list-style:outside}.finding-reason li+li{margin-top:2px}.finding-reason .reason-cta{border-top:1px dashed var(--border-subtle);margin-top:12px;padding-top:10px}.finding-reason .reason-link{color:var(--brand);font-size:12px;text-decoration:none}.finding-reason .reason-link:hover{text-decoration:underline}.grid-body{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}@media (max-width:1100px){.grid-body{grid-template-columns:1fr}}.col-left,.col-right{flex-direction:column;gap:12px;display:flex}.w0{min-height:clamp(180px,22vh,240px)}.w1-summary{gap:20px;margin-bottom:8px;display:flex}.w1-summary .item .label{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);margin-bottom:2px}.w1-summary .item .value{font-family:var(--font-mono);font-size:14px;font-weight:500}.w1-chart{width:100%;height:130px}.w2-toggle{gap:4px;margin-bottom:12px;display:flex}.toggle-btn{color:var(--text-tertiary);border:1px solid var(--border-subtle);font-size:12px;font-family:var(--font-mono);cursor:pointer;letter-spacing:0;transition:all .15s var(--ease-out);background:0 0;border-radius:6px;padding:3px 10px}.toggle-btn:hover{color:var(--text-secondary);border-color:var(--border-default)}.toggle-btn.active{background:var(--bg-muted);color:var(--text-primary);border-color:var(--border-emphasis)}.w2-stats{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);letter-spacing:0;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.w2-stats .sep{opacity:.5}.w2-scroll{border:1px solid var(--border-subtle);border-radius:4px;max-height:192px;overflow-y:auto}.w2-scroll::-webkit-scrollbar{width:8px}.w2-scroll::-webkit-scrollbar-track{background:0 0}.w2-scroll::-webkit-scrollbar-thumb{background:#0f11171a;border-radius:4px}.w2-scroll::-webkit-scrollbar-thumb:hover{background:#0f11172e}.w2-grid-list{background:var(--border-subtle);grid-template-columns:1fr 1fr;gap:1px;display:grid}.stock-tile{background:var(--bg-surface);cursor:pointer;transition:box-shadow .12s var(--ease-out);grid-template-columns:50px 50px 1fr auto;align-items:baseline;gap:8px;padding:8px 10px;display:grid;position:relative}.stock-tile:hover{box-shadow:inset 0 0 0 1.5px var(--brand);z-index:1}.stock-tile .sector{font-size:9px;white-space:nowrap;text-overflow:ellipsis;text-transform:lowercase;overflow:hidden}.stock-tile .sector,.stock-tile .ticker{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:0}.stock-tile .ticker{font-size:11px}.stock-tile .name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.011em;font-size:12px;overflow:hidden}.stock-tile .ret{font-family:var(--font-mono);letter-spacing:0;text-align:right;min-width:48px;font-size:12px;font-weight:500}.stock-tile[data-tone=sp]{background:#bfe5cc}.stock-tile[data-tone=sp] .ret{color:#0e5d36}.stock-tile[data-tone=p]{background:#daefe1}.stock-tile[data-tone=p] .ret{color:#167046}.stock-tile[data-tone=wp]{background:#ecf5ef}.stock-tile[data-tone=wp] .ret{color:#1e9e5e}.stock-tile[data-tone=wn]{background:#f8ecec}.stock-tile[data-tone=wn] .ret{color:#b83434}.stock-tile[data-tone=n]{background:#efd3d3}.stock-tile[data-tone=n] .ret{color:#9c2828}.stock-tile[data-tone=sn]{background:#dc8585}.stock-tile[data-tone=sn] .name,.stock-tile[data-tone=sn] .ret,.stock-tile[data-tone=sn] .sector,.stock-tile[data-tone=sn] .ticker{color:#fff}.w3-list{flex-direction:column;display:flex}.stock-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s var(--ease-out);grid-template-columns:1fr auto auto;align-items:baseline;gap:12px;padding:8px 4px;display:grid}.stock-row:last-child{border-bottom:none}.stock-row:hover{background:var(--bg-surface-2)}.stock-row .name{color:var(--text-primary);letter-spacing:-.011em;font-size:13px}.stock-row .ticker{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:0;margin-left:6px;font-size:11px}.stock-row .price{color:var(--text-secondary)}.stock-row .change,.stock-row .price{font-family:var(--font-mono);font-size:12px}.stock-row .change{text-align:right;min-width:56px;font-weight:500}.w4-chart{width:100%;height:200px}.axis-label{fill:var(--text-tertiary)}.annot-label,.axis-label{font-size:11px;font-family:var(--font-mono)}.annot-label{fill:var(--highlight);letter-spacing:0}.w5-chart{width:100%;height:180px}.radar-legend{flex-direction:column;gap:6px;margin-top:10px;display:flex}.radar-legend .item{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.radar-legend .item .name{font-family:var(--font-sans);letter-spacing:-.011em}.radar-legend .swatch{border-radius:2px;width:8px;height:8px}.radar-legend .item .meta{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:0;margin-left:auto;font-size:11px}.w6-list{flex-direction:column;display:flex}.dd-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto;align-items:baseline;gap:8px;padding:10px 4px;display:grid;position:relative}.dd-row:last-child{border-bottom:none}.dd-row .bar{background:var(--negative);width:2px;position:absolute;top:0;bottom:0;left:-16px}.dd-row.warn .bar{background:var(--warning)}.dd-row .name{letter-spacing:-.011em;font-size:13px}.dd-row .ticker{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:0;margin-left:6px;font-size:11px}.dd-row .mdd{font-family:var(--font-mono);color:var(--negative);font-size:13px;font-weight:500}.dd-row.warn .mdd{color:var(--warning)}.w6-list-wrap{padding-left:16px;position:relative}.reset-btn{color:var(--text-secondary);border:1px solid var(--border-subtle);font-size:12px;font-family:var(--font-mono);cursor:pointer;letter-spacing:0;transition:all .15s var(--ease-out);background:0 0;border-radius:6px;padding:4px 10px}.reset-btn:hover{color:var(--text-primary);border-color:var(--border-emphasis);background:var(--bg-surface-2)}.answer-headline{border-left:3px solid var(--brand)}.a9-card{background:linear-gradient(180deg,#4f58b80d 0,#4f58b803 60%,var(--bg-surface) 100%);border:1px solid #4f58b838;border-left:3px solid var(--brand);position:relative;box-shadow:0 1px #4f58b80f}.a9-card .card-title{gap:8px}.a9-card-title-text{letter-spacing:-.011em;color:var(--text-primary);font-weight:510}.a9-badge{background:var(--brand);color:#fff;letter-spacing:.02em;height:20px;font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:10px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.a9-badge-dot{font-size:9px;line-height:1}.a9-card .widget-id{color:var(--brand);background:#4f58b81a}.a9-card-fallback{background:linear-gradient(180deg,#b8761a1a 0,#b8761a05 70%,var(--bg-surface) 100%);border:1px solid #b8761a73;border-left:4px solid #b8761a;box-shadow:0 1px #b8761a1a}.a9-card-fallback .a9-badge{background:#b8761a}.a9-card-fallback .widget-id{color:#b8761a;background:#b8761a24}.a9-fallback-chip{color:#8a580e;height:20px;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;background:#b8761a29;border:1px solid #b8761a59;border-radius:10px;align-items:center;padding:0 8px;display:inline-flex}.a9-headline-fallback{color:#8a580e;font-size:18px;font-weight:600}.a9-fallback-icon{color:#b8761a;vertical-align:-1px;margin-right:6px;font-size:18px}.a9-q{font-size:12px;font-family:var(--font-mono);letter-spacing:0;margin-bottom:8px}.a9-headline{letter-spacing:-.018em;margin-bottom:8px;font-size:17px;font-weight:510;line-height:1.3}.a9-body,.a9-headline{color:var(--text-primary)}.a9-body{white-space:pre-wrap;font-size:13px;line-height:1.55}.a9-pulse{color:var(--brand);vertical-align:middle;margin-left:6px;font-size:8px;animation:a9pulse 1.4s ease-in-out infinite;display:inline-block}@keyframes a9pulse{0%,to{opacity:.3}50%{opacity:1}}.citation-chip{font-family:var(--font-mono);letter-spacing:0;vertical-align:1px;border-radius:4px;margin:0 1px;padding:1px 5px;font-size:11px;display:inline-block}.citation-chip.ok{color:var(--brand);background:#4f58b81a}.citation-chip.warn{color:var(--negative);background:#d33a3a1a}.disclaimer-toggle{margin-top:8px}.disclaimer-toggle>summary{cursor:pointer;padding:4px 0;font-size:12px;list-style:none}.disclaimer-toggle>summary::-webkit-details-marker{display:none}.kv-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;display:grid}.kv-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;padding:4px 0;font-size:12px;display:flex}.kv-key{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:0;font-size:11px}.kv-val{color:var(--text-primary);text-align:right;font-size:12px}.dag-list{flex-direction:column;gap:2px;display:flex}.dag-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:40px 1fr auto auto;align-items:baseline;gap:12px;padding:6px 4px;font-size:12px;display:grid}.dag-status{font-family:var(--font-mono);font-size:12px;font-weight:500}.dag-row:last-child{border-bottom:none}.dag-id{color:var(--brand);font-size:12px}.dag-name{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:0;font-size:12px}.dag-deps{color:var(--text-tertiary);text-align:right;font-size:11px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-muted);border:1px solid var(--border-subtle);height:24px;color:var(--text-primary);border-radius:12px;align-items:center;gap:4px;padding:0 10px;font-size:12px;display:inline-flex}.results-list{flex-direction:column;gap:4px;display:flex}.result-row{border-bottom:1px solid var(--border-subtle);padding:6px 0}.result-row:last-child{border-bottom:none}.result-row>summary{cursor:pointer;grid-template-columns:40px auto 1fr;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;list-style:none;display:grid}.result-row>summary::-webkit-details-marker{display:none}.result-id{color:var(--brand);font-size:12px}.result-name{color:var(--text-primary)}.result-name,.result-summary{font-size:12px}.result-name,.result-raw,.result-summary{font-family:var(--font-mono);letter-spacing:0}.result-raw{background:var(--bg-muted);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:300px;margin-top:6px;padding:10px 12px;font-size:11px;line-height:1.5;overflow:auto}.disclaimer{border-left:1px solid var(--brand);background:#0f111708}.disclaimer-list,.notice-list{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;list-style:none;display:flex}.disclaimer-list li,.notice-list li{border-bottom:1px solid var(--border-subtle);padding:4px 0}.disclaimer-list li:last-child,.notice-list li:last-child{border-bottom:none}.skill-tag-bar{background:#4f58b80a;border:1px solid #4f58b824;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 12px;display:flex}.skill-tag-prefix{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:0;text-transform:uppercase;margin-right:2px}.skill-chip{background:var(--bg-surface);height:22px;color:var(--text-primary);border:1px solid #4f58b840;border-radius:11px;gap:6px;padding:0 8px 0 4px;font-size:12px}.skill-chip,.skill-chip-id{align-items:center;display:inline-flex}.skill-chip-id{background:var(--brand);color:#fff;letter-spacing:0;border-radius:8px;height:16px;padding:0 6px;font-size:9px;font-weight:600}.skill-chip-label{letter-spacing:-.005em;font-size:12px;font-weight:500}.skill-chip-meta{border-color:var(--border-subtle);background:var(--bg-muted)}.skill-chip-meta .skill-chip-id{background:var(--bg-base);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.answer-grid{align-items:start;gap:12px;display:grid}.answer-grid-1{grid-template-columns:1fr}.answer-grid-2{grid-template-columns:1fr 1fr}.answer-grid-3{grid-template-columns:1fr 1fr 1fr}.answer-grid-4{grid-template-columns:1fr 1fr}@media (max-width:1024px){.answer-grid-2,.answer-grid-3,.answer-grid-4{grid-template-columns:1fr}}.answer-widget{min-height:0}.metric-cell{background:var(--bg-base);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.metric-label{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:0}.metric-value{letter-spacing:-.014em;font-size:18px;font-weight:510}.metric-detail{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);letter-spacing:0}.risk-table{flex-direction:column;gap:2px;display:flex}.risk-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr repeat(6,60px);align-items:baseline;gap:8px;padding:6px 4px;font-size:12px;display:grid}.risk-row:last-child{border-bottom:none}.risk-head{font-size:11px;font-family:var(--font-mono);letter-spacing:0}.risk-name{color:var(--text-primary);letter-spacing:-.011em;font-size:12px}.sector-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px;display:grid}.sector-cell{background:var(--bg-muted);cursor:pointer;transition:transform .12s var(--ease-out);border-radius:6px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sector-cell:hover{transform:scale(1.02)}.sector-cell-name{letter-spacing:-.011em;font-size:12px;font-weight:500}.sector-cell-ret{letter-spacing:-.014em;font-size:16px;font-weight:510}.sector-cell-count{letter-spacing:0;font-size:11px}.sector-cell[data-tone=sp]{color:#0e5d36;background:#bfe5cc}.sector-cell[data-tone=p]{color:#167046;background:#daefe1}.sector-cell[data-tone=wp]{color:#1e9e5e;background:#ecf5ef}.sector-cell[data-tone=wn]{color:#b83434;background:#f8ecec}.sector-cell[data-tone=n]{color:#9c2828;background:#efd3d3}.sector-cell[data-tone=sn]{color:#fff;background:#dc8585}.rank-list{flex-direction:column;display:flex}.rank-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:24px 1fr 80px 60px auto;align-items:center;gap:10px;padding:8px 4px;font-size:12px;display:grid}.rank-row:last-child{border-bottom:none}.rank-i{font-size:12px}.rank-mid{flex-direction:column;gap:1px;min-width:0;display:flex}.rank-label{letter-spacing:-.011em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rank-sub{font-size:11px;font-family:var(--font-mono);letter-spacing:0}.rank-bar-wrap{background:var(--bg-muted);border-radius:3px;height:6px;position:relative;overflow:hidden}.rank-bar{transition:width .2s var(--ease-out);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.rank-bar.pos{background:var(--positive)}.rank-bar.neg{background:var(--negative)}.corr-grid{background:var(--border-subtle);border-radius:4px;gap:1px;max-width:100%;padding:1px;display:grid;overflow:auto}.corr-cell{background:var(--bg-surface);font-family:var(--font-mono);letter-spacing:0;justify-content:center;align-items:center;font-size:11px;display:flex}.corr-head{background:var(--bg-base);padding:4px;font-size:9px}.bt-list{flex-direction:column;display:flex;overflow-x:auto}.bt-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(120px,1fr) 60px 60px 60px 60px;align-items:center;gap:12px;min-width:380px;padding:8px 4px;font-size:12px;display:grid}.bt-row:last-child{border-bottom:none}.bt-row.bt-head{font-size:11px;font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase}.bt-row.bt-head>*{text-align:right}.bt-row.bt-head>div:first-child{text-align:left}.bt-row>span{text-align:right}.bt-name{font-family:var(--font-mono);letter-spacing:0;flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.bt-bar-wrap{background:var(--bg-muted);border-radius:2px;height:4px;position:relative;overflow:hidden}.bt-bar{transition:width .2s var(--ease-out);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.bt-bar.pos{background:var(--positive)}.bt-bar.neg{background:var(--negative)}.corr-legend{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.legend-swatch{border:1px solid #0f111714;border-radius:2px;width:16px;height:12px;display:inline-block}.debug-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px}.debug-panel>summary{cursor:pointer;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;list-style:none;display:flex}.debug-panel>summary::-webkit-details-marker{display:none}.debug-body{flex-direction:column;gap:12px;margin-top:12px;display:flex}.footer-note{color:var(--text-tertiary);text-align:center;font-size:11px;font-family:var(--font-mono);letter-spacing:0;padding:16px 0}@media (max-width:1024px){.app{grid-template-columns:1fr}aside.sidebar{display:none}.grid-body{grid-template-columns:1fr}.col-left,.col-right{min-height:auto}.w0 .findings{grid-template-columns:1fr}}.placeholder-header{color:var(--text-primary);align-items:center;gap:10px;font-size:13px;font-weight:510;display:flex}.placeholder-header .widget-id{background:var(--bg-muted);font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:0;border-radius:4px;padding:2px 6px;font-size:11px}.placeholder-card{border-left:3px solid var(--brand)}.placeholder-body{flex-direction:column;gap:10px;padding:8px 4px;display:flex}.placeholder-body .lead{color:var(--text-primary);font-size:14px}.placeholder-cta{color:var(--brand);transition:background .12s var(--ease-out);background:#4f58b814;border-radius:6px;align-self:flex-start;margin-top:4px;padding:6px 12px;font-size:12px;text-decoration:none}.placeholder-cta:hover{background:#4f58b829}.axis-tick{font-size:9px}.axis-name,.axis-tick{font-family:var(--font-mono);letter-spacing:0}.axis-name{fill:var(--text-tertiary);font-size:11px}.legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.w2-legend{flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0 6px;display:flex}.legend-cell,.w2-legend{font-family:var(--font-mono);font-size:11px}.legend-cell{letter-spacing:0;border-radius:4px;padding:2px 6px}.legend-cell.sp{color:#0f6e3d;background:#1e9e5e33}.legend-cell.p{color:#1e9e5e;background:#1e9e5e1a}.legend-cell.wp{color:#5c606a;background:#1e9e5e0a}.legend-cell.wn{color:#5c606a;background:#d33a3a0a}.legend-cell.n{color:#d33a3a;background:#d33a3a1a}.legend-cell.sn{color:#9a2828;background:#d33a3a33}.my-controls{flex-direction:column;gap:10px;display:flex}.my-add{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-add-btn{background:var(--bg-base);border:1px dashed var(--border-default);height:24px;font-size:12px;font-family:var(--font-mono);color:var(--brand);cursor:pointer;transition:background .12s var(--ease-out),border-color .12s var(--ease-out);border-radius:12px;padding:0 10px}.my-add-btn:hover{border-color:var(--brand);background:#4f58b80f}.my-actions{align-items:center;gap:8px;display:flex}.my-action-btn{background:var(--bg-base);border:1px solid var(--border-default);height:26px;color:var(--text-secondary);cursor:pointer;transition:background .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;padding:0 12px;font-size:12px}.my-action-btn:hover{background:var(--bg-muted)}.my-action-btn.neg{color:var(--negative)}.my-action-btn.neg:hover{background:#d33a3a14}.my-action-btn:disabled{opacity:.4;cursor:not-allowed}.my-layout{flex-direction:column;gap:12px;display:flex}.my-slot{position:relative}.my-slot-toolbar{z-index:5;background:var(--bg-base);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:6px;align-items:center;gap:4px;padding:2px 4px;display:flex;position:absolute;top:8px;right:8px}.my-slot-toolbar .dim{padding:0 4px;font-size:9px}.slot-btn{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-mono);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.slot-btn:hover:not(:disabled){background:var(--bg-muted)}.slot-btn:disabled{opacity:.3;cursor:not-allowed}.slot-btn.neg{color:var(--negative)}.slot-btn.neg:hover:not(:disabled){background:#d33a3a14}.watchlist-table{flex-direction:column;display:flex}.watchlist-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr 1fr 1fr .6fr 1.4fr;align-items:baseline;gap:12px;padding:8px 4px;font-size:12px;display:grid}.watchlist-row.head{letter-spacing:0;font-size:11px}.watchlist-row .name{color:var(--text-primary)}.watchlist-row .name .ticker{font-family:var(--font-mono);color:var(--text-tertiary);margin-left:6px;font-size:11px}.watchlist-row .sector,.watchlist-row .strategy{font-size:12px}.watchlist-row:last-child{border-bottom:none}.shell-with-chat{grid-template-columns:1fr min-content;min-height:100vh;display:grid}.shell-main{min-width:0}.chat-panel{background:var(--bg-sidebar);border-left:1px solid var(--border-subtle);height:100vh;max-height:100vh;transition:width .22s var(--ease-out);top:0}.chat-panel.open{width:360px}.chat-panel.closed{width:40px}.chat-toggle{background:var(--bg-base);border:1px solid var(--border-default);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;z-index:12;font-size:14px;font-family:var(--font-mono);box-shadow:var(--shadow-card);transition:background .12s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;left:-12px}.chat-toggle:hover{background:var(--bg-muted);color:var(--brand)}.chat-collapsed-label{writing-mode:vertical-rl;letter-spacing:.1em;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex;transform:rotate(180deg)}.chat-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:10px;height:48px;padding:0 14px}.chat-header,.chat-title{align-items:center;display:flex}.chat-title{gap:8px;font-size:12px;font-weight:510}.chat-title .dim{letter-spacing:.04em;text-transform:uppercase;font-size:9px}.chat-clear{border:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 8px}.chat-clear:hover{color:var(--text-primary);background:var(--bg-muted)}.chat-body{flex-direction:column;flex:1;gap:8px;padding:14px;display:flex;overflow-y:auto}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:10px;max-width:95%;padding:8px 12px;font-size:12px;line-height:1.5}.chat-bubble.user{background:var(--brand);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.chat-bubble.assistant{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-bottom-left-radius:3px;align-self:flex-start}.chat-bubble.chat-error{border-color:var(--negative);color:var(--negative)}.chat-proposal{border:1px solid var(--brand);background:#4f58b80f;border-radius:8px;flex-direction:column;align-self:stretch;gap:6px;padding:10px 12px;display:flex}.proposal-head{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:9px}.proposal-summary{color:var(--text-primary);font-size:13px;font-weight:510}.proposal-q{font-size:12px;font-family:var(--font-mono);letter-spacing:0}.proposal-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.proposal-btn{border:1px solid var(--border-default);cursor:pointer;background:var(--bg-base);border-radius:6px;height:26px;padding:0 12px;font-size:12px;font-weight:500}.proposal-btn.yes{background:var(--brand);color:#fff;border-color:var(--brand)}.proposal-btn.yes:hover{background:#3f47a0}.proposal-btn.no{color:var(--text-secondary)}.proposal-btn.no:hover{background:var(--bg-muted)}.proposal-actions .dim{letter-spacing:0;font-size:9px}.proposal-status{font-size:12px;font-family:var(--font-mono);letter-spacing:0}.proposal-status.accepted{color:var(--brand)}.proposal-status.rejected{color:var(--text-tertiary)}.chat-input{border-top:1px solid var(--border-subtle);background:var(--bg-base);flex-shrink:0;gap:6px;padding:10px;display:flex}.chat-input-text{background:var(--bg-base);border:1px solid var(--border-default);height:32px;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:6px;flex:1;padding:0 10px}.chat-input-text:focus{border-color:var(--brand);outline:none}.chat-input-text:disabled{background:var(--bg-muted);cursor:not-allowed}.chat-send{background:var(--brand);color:#fff;cursor:pointer;width:32px;height:32px;font-size:14px;font-family:var(--font-mono);border:none}.chat-send:hover:not(:disabled){background:#3f47a0}.chat-send:disabled{background:var(--bg-muted);color:var(--text-tertiary);cursor:not-allowed}@media (max-width:1280px){.chat-panel.open{width:320px}}@media (max-width:980px){.chat-panel.open{width:280px}}.stock-search-wrap{flex:1;max-width:480px;display:flex;position:relative}.stock-search-input{flex:1;max-width:none}.stock-search-drop{background:var(--bg-base);border:1px solid var(--border-default);box-shadow:var(--shadow-hover);z-index:30;border-radius:6px;flex-direction:column;display:flex;position:absolute;top:38px;left:0;right:0;overflow:hidden}.stock-search-item{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);grid-template-columns:64px 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;font-size:13px;text-decoration:none;display:grid}.stock-search-item:last-of-type{border-bottom:none}.stock-search-item.active,.stock-search-item:hover{background:var(--bg-surface-2)}.ssi-code{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.ssi-name{letter-spacing:-.011em;font-weight:510}.ssi-sector{color:var(--text-tertiary);font-size:12px}.ssi-market{font-family:var(--font-mono);background:var(--bg-muted);height:16px;color:var(--text-secondary);border-radius:8px;align-items:center;padding:0 6px;font-size:9px;display:inline-flex}.ssi-market.m-kospi{color:var(--brand);background:#4f58b81a}.ssi-market.m-kosdaq{color:var(--highlight);background:#b8761a1a}.stock-search-foot{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);background:var(--bg-surface-2);border-top:1px solid var(--border-subtle);padding:6px 12px}.stock-search-drop.empty .stock-search-empty{color:var(--text-secondary);padding:12px 12px 4px;font-size:12px}.stock-search-cta{color:var(--brand);padding:8px 12px 12px;font-size:12px;text-decoration:none;display:block}.stock-search-cta:hover{text-decoration:underline}main.stock-page{flex-direction:column;gap:12px;max-width:1400px;padding:16px 24px 32px;display:flex}.quote-header{padding:18px 22px}.quote-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.quote-name-block{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.quote-name{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:22px;font-weight:600}.quote-code{color:var(--text-secondary);font-size:12px}.quote-code,.quote-market{font-family:var(--font-mono)}.quote-market{border-radius:9px;align-items:center;height:18px;padding:0 6px;font-size:11px;display:inline-flex}.quote-market.m-kospi{color:var(--brand);background:#4f58b81a}.quote-market.m-kosdaq{color:var(--highlight);background:#b8761a1a}.quote-sector{color:var(--text-tertiary);font-size:12px}.quote-price-block{align-items:baseline;gap:12px;display:flex}.quote-price{letter-spacing:-.02em;font-size:28px;font-weight:510}.quote-price-row{align-items:baseline;gap:8px;display:inline-flex}.currency-toggle{border:1px solid var(--border,#dde2ec);background:var(--surface-2,#f6f8fc);cursor:pointer;color:var(--text-primary,#1a1d24);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;line-height:1;transition:background-color .15s}.currency-toggle:hover{background:var(--surface-3,#eceff5)}.quote-change{gap:6px;font-size:13px;font-weight:500;display:flex}.quote-change.pos{color:var(--positive)}.quote-change.neg{color:var(--negative)}.quote-change.neu{color:var(--neutral)}.quote-meta{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.stock-grid{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);align-items:stretch;gap:12px;display:grid}.stock-chart-area{flex-direction:column;gap:12px;min-width:0;display:flex}.stock-chat-area{align-self:start;min-width:0;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.stock-chat-card{flex-direction:column;width:100%;display:flex}.stock-chart-card{flex-direction:column;min-height:360px;display:flex}.chart-placeholder{background:linear-gradient(180deg,var(--bg-surface-2) 0,var(--bg-surface) 100%);border:1px dashed var(--border-default);border-radius:8px;flex-direction:column;flex:1;gap:12px;min-height:280px;padding:20px;display:flex}.chart-placeholder-hero{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.ph-tag{font-family:var(--font-mono);height:18px;color:var(--brand);background:#4f58b81a;border-radius:9px;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.ph-text{color:var(--text-secondary);font-size:13px}.chart-placeholder-frames,.chart-placeholder-indicators{flex-wrap:wrap;gap:6px;display:flex}.ph-frame,.ph-ind{border:1px solid var(--border-default);background:var(--bg-base);height:24px;color:var(--text-secondary);border-radius:4px;align-items:center;padding:0 10px;display:inline-flex}.chart-placeholder-note,.ph-frame,.ph-ind{font-family:var(--font-mono);font-size:12px}.chart-placeholder-note{margin-top:auto}.stock-chat-card{min-height:360px}.chat-intro{margin-bottom:12px;font-size:12px;line-height:1.6}.chat-stub{gap:6px;margin:0;display:flex}.chat-input{font-family:var(--font-sans);flex:1;padding:0 10px}.chat-input,.chat-send{border:1px solid var(--border-default);background:var(--bg-muted);height:36px;color:var(--text-tertiary);font-size:13px;border-radius:6px}.chat-send{cursor:not-allowed;white-space:nowrap;flex-shrink:0;min-width:60px;padding:0 16px}.chat-tips{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding-top:10px;display:flex}.tip-row{grid-template-columns:60px 1fr;gap:10px;font-size:12px;display:grid}.tip-key{font-family:var(--font-mono);color:var(--text-tertiary)}.tip-val{color:var(--text-secondary)}@media (max-width:1100px){.stock-grid{grid-template-columns:1fr}}.chart-card{flex-direction:column;flex:1;gap:8px;min-height:420px;display:flex}.chart-toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;display:flex}.tf-group{background:var(--bg-muted);border-radius:6px;gap:2px;padding:2px;display:inline-flex}.tf-btn{font-family:var(--font-mono);height:24px;color:var(--text-secondary);cursor:pointer;transition:all .12s var(--ease-out);background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:12px}.tf-btn.is-active,.tf-btn:hover{color:var(--text-primary)}.tf-btn.is-active{background:var(--bg-base);box-shadow:0 1px 1px #0f12190d}.chart-state{color:var(--text-tertiary);font-size:12px;flex-wrap:wrap;gap:8px;display:flex}.chart-state,.tag{font-family:var(--font-mono);align-items:center}.tag{border:1px solid var(--border-subtle);background:var(--bg-muted);height:18px;color:var(--text-secondary);border-radius:9px;padding:0 7px;font-size:11px;display:inline-flex}.tag-db{color:var(--positive);background:#1e9e5e1a;border-color:#1e9e5e40}.tag-fixture{color:var(--brand);background:#4f58b814;border-color:#4f58b840}.tag-warn{color:var(--negative);background:#d33a3a14;border-color:#d33a3a40}.chart-canvas{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:6px;flex:1;min-height:360px;position:relative;overflow:hidden}.chart-loading{border:1px dashed var(--border-default);border-radius:6px;flex:1;min-height:380px;font-size:12px}.chart-empty,.chart-loading{justify-content:center;align-items:center;display:flex}.chart-empty{text-align:center;pointer-events:none;flex-direction:column;gap:6px;padding:16px;position:absolute;inset:0}.chart-empty-title{color:var(--text-secondary);font-size:13px;font-weight:600}.chart-empty-sub{color:var(--text-tertiary);max-width:360px;font-size:12px;line-height:1.5}.chart-footer{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:6px;padding-top:6px;display:flex}.chart-footer a{color:var(--text-secondary);text-decoration:none}.chart-footer a:hover{color:var(--brand);text-decoration:underline}.indicator-toolbar{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;font-size:12px;display:flex}.ind-group-label{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-right:2px;font-size:11px}.ind-divider{background:var(--border-subtle);width:1px;height:16px;margin:0 4px}.ind-btn{font-family:var(--font-mono);border:1px solid var(--border-subtle);background:var(--bg-base);height:24px;color:var(--text-secondary);cursor:pointer;transition:all .12s var(--ease-out);border-radius:4px;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.ind-btn:hover{color:var(--text-primary);border-color:var(--border-default)}.ind-btn.is-active{border-color:var(--brand);color:var(--brand);background:#4f58b814}.ind-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.ind-clear{font-family:var(--font-mono);border:1px dashed var(--border-default);height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:0 8px;font-size:11px}.ind-clear:hover{color:var(--negative);border-color:var(--negative)}.chat-panel{height:100%;position:relative;overflow:hidden}.chat-panel,.chat-scroll{flex-direction:column;gap:8px;min-height:0;display:flex}.chat-scroll{flex:1;justify-content:flex-end;padding:4px 4px 8px;font-size:13px;line-height:1.55;overflow-y:auto}.chat-msg{border-radius:8px;flex-direction:column;gap:4px;max-width:95%;padding:8px 10px;display:flex}.chat-msg-user{color:var(--text-primary);background:#4f58b812;border:1px solid #4f58b833;align-self:flex-end}.chat-msg-assistant{background:var(--bg-surface-2);border:1px solid var(--border-subtle);color:var(--text-primary);align-self:flex-start}.chat-msg-body{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.55}.chat-typing{letter-spacing:.3em;color:var(--text-tertiary);animation:chat-pulse 1s ease-in-out infinite;display:inline-block}@keyframes chat-pulse{0%,to{opacity:.45}50%{opacity:1}}.chat-flag{font-family:var(--font-mono);border-radius:4px;width:fit-content;padding:2px 6px;font-size:11px;display:inline-block}.chat-flag-warn{color:var(--negative);background:#d33a3a14;border:1px solid #d33a3a38}.chat-flag-ok{color:var(--positive);background:#1e9e5e1a;border:1px solid #1e9e5e40}.chat-action-card{border:1px solid var(--brand);background:#4f58b80f;border-radius:6px;flex-direction:column;gap:6px;margin-top:4px;padding:8px 10px;display:flex}.chat-action-title{color:var(--brand);font-size:12px;font-weight:600}.chat-action-explain{font-size:12px}.chat-action-actions{gap:6px;display:flex}.chat-action-btn{font-family:var(--font-mono);cursor:pointer;border:1px solid var(--border-default);background:var(--bg-base);height:26px;color:var(--text-primary);border-radius:4px;padding:0 12px;font-size:12px}.chat-action-apply{background:var(--brand);color:#fff;border-color:var(--brand)}.chat-action-apply:hover{filter:brightness(1.05)}.chat-action-cancel:hover{color:var(--text-secondary)}.chat-suggestions{flex-wrap:wrap;gap:4px;margin:0;padding:0 0 6px;display:flex}.chat-suggest{font-family:var(--font-mono);border:1px solid var(--border-subtle);background:var(--bg-muted);height:24px;color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:0 10px;font-size:12px}.chat-suggest:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-default)}.chat-suggest:disabled{opacity:.4;cursor:not-allowed}.chat-input-active{background:var(--bg-base);color:var(--text-primary);cursor:text}.chat-input-active:focus{border-color:var(--brand);outline:none}.chat-send-active{background:var(--brand);color:#fff;border-color:var(--brand);cursor:pointer}.chat-send-active:disabled{background:var(--bg-muted);color:var(--text-tertiary);border-color:var(--border-default);cursor:not-allowed}.chat-stop{background:var(--bg-base);color:var(--negative);border-color:var(--negative)}.material-attach{flex-direction:column;display:flex}.material-attach-cta{border:1px dashed var(--border-default);height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:12px;align-self:flex-start;padding:0 10px;font-size:12px}.material-attach-cta:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.material-attach-panel{border:1px solid var(--border-default);background:var(--bg-surface-2);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.material-attach-tabs{align-items:center;gap:2px;display:flex}.mat-tab{font-family:var(--font-mono);border:1px solid var(--border-subtle);background:var(--bg-base);height:22px;color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:0 10px;font-size:12px}.mat-tab.is-active{border-color:var(--brand);color:var(--brand);background:#4f58b814}.material-attach-close{border:1px solid var(--border-subtle);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto}.mat-textarea{resize:vertical;min-height:76px;font-family:var(--font-sans);padding:8px}.mat-textarea,.mat-url{border:1px solid var(--border-default);background:var(--bg-base);color:var(--text-primary);border-radius:4px;font-size:12px}.mat-url{height:30px;font-family:var(--font-mono);padding:0 10px}.mat-textarea:focus,.mat-url:focus{border-color:var(--brand);outline:none}.mat-actions{justify-content:flex-end;font-size:12px}.mat-actions,.material-pill{align-items:center;gap:8px;display:flex}.material-pill{border:1px solid var(--brand);background:#4f58b80f;border-radius:6px;padding:6px 8px}.material-pill-icon{font-size:14px}.material-pill-body{flex:1;min-width:0}.material-pill-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.material-pill-source{font-family:var(--font-mono);background:var(--brand);color:#fff;letter-spacing:.04em;border-radius:7px;height:14px;margin-right:6px;padding:0 5px;font-size:9px;display:inline-block}.material-pill-meta{font-size:11px;font-family:var(--font-mono)}.material-pill-remove{border:1px solid var(--border-subtle);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;font-size:14px}.material-pill-remove:hover{color:var(--negative);border-color:var(--negative)}.lwc-line-card{flex-direction:column;gap:6px;width:100%;display:flex}.lwc-line-legend{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);flex-wrap:wrap;gap:12px;display:flex}.lwc-legend-item{align-items:center;gap:6px;display:inline-flex}.lwc-legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.lwc-line-canvas{flex:1;width:100%}.card-with-chart,.lwc-line-canvas{position:relative}.exp-chart-toolbar{z-index:5;position:absolute;top:10px;right:12px}.exp-chart-btn{border:1px solid var(--border-subtle);background:var(--bg-surface);width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;transition:all .12s var(--ease-out);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.exp-chart-btn:hover{color:var(--brand);border-color:var(--brand);background:#4f58b80f}.exp-chart-placeholder{border:1px dashed var(--border-default);border-radius:6px;min-height:240px;font-size:12px}.exp-chart-overlay,.exp-chart-placeholder{justify-content:center;align-items:center;display:flex}.exp-chart-overlay{z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f111773;padding:4vh 4vw;position:fixed;inset:0}.exp-chart-modal{background:var(--bg-base);border:1px solid var(--border-default);border-radius:10px;flex-direction:column;width:min(1280px,92vw);height:min(86vh,900px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0f11172e}.exp-chart-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);align-items:center;gap:12px;padding:12px 16px;display:flex}.exp-chart-modal-title{color:var(--text-primary);font-size:13px;font-weight:600}.exp-chart-modal-meta{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);margin-left:auto}.exp-chart-close{border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.exp-chart-close:hover{color:var(--negative);border-color:var(--negative)}.exp-chart-modal-body{flex-direction:column;flex:1;min-height:0;padding:14px 16px;display:flex}.exp-chart-modal-body .lwc-line-card{height:100%}.exp-chart-modal-body .lwc-line-canvas{min-height:calc(86vh - 120px)}.card .lwc-line-canvas{min-height:220px}@media (max-width:1100px){.card .lwc-line-canvas{min-height:200px}}main.explore-page{max-width:1400px;padding:16px 24px 32px}.explore-bucket-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}@media (max-width:720px){.explore-bucket-summary{grid-template-columns:1fr}}.ebs-cell{background:var(--surface-2,#f6f8fc);border:1px solid var(--border,#dde2ec);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.ebs-label{color:var(--text-primary,#1a1d24);font-size:13px;font-weight:600}.ebs-count{letter-spacing:-.2px;font-size:22px;font-weight:700}.ebs-count .dim{color:var(--text-muted,#6b7280);margin-left:4px;font-size:12px;font-weight:500}.ebs-link{color:var(--accent,#2563eb);margin-top:auto;font-size:12px;text-decoration:none}.ebs-link:hover{text-decoration:underline}.explore-all-filter{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.explore-pill-divider{border-top:1px dashed var(--border,#dde2ec);align-items:center;gap:8px;width:100%;margin:8px 0 2px;padding-top:8px;display:inline-flex}.explore-pill-divider:first-child{border-top:0;margin-top:4px;padding-top:0}.epd-label{color:var(--text-primary,#1a1d24);white-space:nowrap;font-size:13px;font-weight:600}.epd-line{flex:1}.epd-count{font-size:11px}.explore-bucket-section{margin-bottom:12px}.explore-bucket-meta{margin-top:8px;font-size:12px}.explore-bucket-section .card-meta{align-items:center;gap:12px;display:flex}.explore-bucket-sectors{flex-direction:column;gap:14px;margin-top:8px;display:flex}.explore-sector-block{gap:6px}.explore-sector-block-head{border-bottom:1px dashed var(--border,#dde2ec);align-items:baseline;gap:8px;padding:4px 0}.esb-sector{color:var(--text-primary,#1a1d24);font-size:13px;font-weight:600}.esb-count{font-size:11px}.explore-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}@media (max-width:1280px){.explore-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:880px){.explore-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.explore-card{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);transition:all .15s var(--ease-out);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none;display:flex}.explore-card:hover{border-color:var(--brand);box-shadow:var(--shadow-hover)}.ec-top{justify-content:space-between;align-items:center;display:flex}.ec-name{letter-spacing:-.011em;font-size:13px;font-weight:510}.ec-market{font-family:var(--font-mono);background:var(--bg-muted);height:16px;color:var(--text-secondary);border-radius:8px;padding:0 5px;font-size:9px}.ec-market.m-kospi{color:var(--brand);background:#4f58b81a}.ec-market.m-kosdaq{color:var(--highlight);background:#b8761a1a}.ec-mid{justify-content:space-between;align-items:baseline;display:flex}.ec-code{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px}.ec-price{font-size:13px;font-weight:510}.ec-change{font-size:12px;font-family:var(--font-mono);font-weight:510}.ec-change.pos{color:var(--positive)}.ec-change.neg{color:var(--negative)}.ec-change.neu{color:var(--text-tertiary)}.market-page{flex-direction:column;gap:16px;padding:16px;display:flex}.market-grid{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);flex-direction:row;align-items:start;gap:14px;display:grid}.market-main{flex-direction:column;gap:16px;min-width:0;display:flex}.market-chat-area{height:var(--chat-height,50vh);align-self:start;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.market-chat-area .chat-panel{flex-direction:column;width:100%;display:flex}@media (max-width:1100px){.market-grid{grid-template-columns:1fr}.market-chat-area{height:auto;position:static}}.hot-hero{background:linear-gradient(120deg,var(--bg-elevated) 0,var(--bg-muted) 100%);border:1px solid var(--border-default);border-radius:12px;grid-template-columns:1fr auto;grid-template-areas:"label cta""body cta";align-items:center;gap:6px 24px;padding:18px 22px;display:grid}.hot-hero-pos{border-left:3px solid var(--positive)}.hot-hero-neg{border-left:3px solid var(--negative)}.hot-hero-neu{border-left:3px solid var(--border-default)}.hot-hero-label{color:var(--text-tertiary);grid-area:label;align-items:center;gap:10px;font-size:12px;display:flex}.hot-hero-tag{letter-spacing:.04em;color:var(--brand);background:var(--brand);font-size:12px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.hot-hero-tag{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.hot-hero-tag{text-transform:uppercase;border-radius:999px;padding:2px 8px}.hot-hero-body{grid-area:body;gap:14px 22px}.hot-hero-body,.hot-hero-name{flex-wrap:wrap;align-items:baseline;display:flex}.hot-hero-name{gap:8px}.hot-hero-stock-name{color:var(--text-primary);font-size:22px;font-weight:600}.hot-hero-stock-code{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.hot-hero-market{letter-spacing:.04em;border:1px solid var(--border-default);color:var(--text-tertiary);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.hot-hero-market.m-kospi{color:#2c5fb6;border-color:#b9c9e6}.hot-hero-market.m-kosdaq{color:#b56b00;border-color:#e6cb9b}.hot-hero-sector{color:var(--text-tertiary);background:var(--bg-muted);border-radius:4px;padding:2px 8px;font-size:12px}.hot-hero-price{align-items:baseline;gap:10px;display:flex}.hot-hero-price-num{font-size:22px;font-weight:600}.hot-hero-change{gap:6px;font-size:13px;font-weight:600;display:flex}.hot-hero-change.pos{color:var(--positive)}.hot-hero-change.neg{color:var(--negative)}.hot-hero-change.neu{color:var(--text-tertiary)}.hot-hero-cta{grid-area:cta;align-items:center;display:flex}.hot-hero-btn{color:#fff;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .12s;display:inline-block}.hot-hero-btn,.hot-hero-btn:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.hot-hero-btn:hover{background:color-mix(in srgb,var(--brand) 88%,black)}}@media (max-width:720px){.hot-hero{grid-template-columns:1fr;grid-template-areas:"label""body""cta"}}.market-index-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;display:grid}.market-index-pane{flex-direction:column;min-width:0;display:flex}@media (max-width:880px){.market-index-grid{grid-template-columns:1fr}}.chat-input-multiline{resize:none;height:auto;min-height:32px;max-height:120px;padding:7px 10px;line-height:1.4;overflow-y:auto}.radar-source{color:var(--text-tertiary);text-align:right;margin-top:4px;font-size:11px}.slot-empty{color:var(--text-secondary);padding:16px;font-size:13px;line-height:1.6}.slot-empty strong{color:var(--text-primary);background:var(--brand);font-weight:600}@supports (color:color-mix(in lab,red,red)){.slot-empty strong{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.slot-empty strong{border-radius:4px;padding:1px 6px}.slot-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:4px 0;display:grid}.slot-card{border:1px solid var(--border-default);background:var(--bg-elevated);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.slot-card-head{justify-content:space-between;align-items:center;display:flex}.slot-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.slot-card-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 4px;font-size:16px;line-height:1}.slot-card-remove:hover{background:var(--bg-muted);color:var(--negative)}.slot-card-desc,.slot-card-reason{font-size:11px;line-height:1.5}.slot-card-reason{color:var(--text-secondary);border-top:1px dashed var(--border-subtle);padding-top:6px}.slot-card-foot{text-align:right;font-size:10px}.strategies-page{flex-direction:column;gap:14px;padding:16px;display:flex}.custom-builder-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:900px){.custom-builder-grid{grid-template-columns:1fr}}.builder-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.builder-tab{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;transition:background-color .12s,border-color .12s}.builder-tab:hover{background:var(--bg-muted)}.builder-tab.is-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.builder-tab.is-active{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.builder-tab.is-active{color:var(--brand);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.builder-tab.is-active{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}}.builder-hint{background:var(--bg-muted);border-left:3px solid var(--brand);border-radius:6px;margin-bottom:12px;padding:8px 10px;font-size:12px}@supports (color:color-mix(in lab,red,red)){.builder-hint{border-left:3px solid color-mix(in srgb,var(--brand) 30%,transparent)}}.builder-sliders{gap:14px;margin-bottom:12px}.builder-sliders,.slider-row{flex-direction:column;display:flex}.slider-row{gap:6px}.slider-label{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.slider-label .slider-value{color:var(--text-primary);font-weight:600}.slider{appearance:none;background:var(--bg-muted);cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px}.slider::-webkit-slider-thumb{appearance:none;background:var(--brand);cursor:pointer;border:2px solid var(--bg-surface);border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000026}.slider::-moz-range-thumb{background:var(--brand);cursor:pointer;border:2px solid var(--bg-surface);border-radius:50%;width:18px;height:18px}.slider:disabled{opacity:.4;cursor:not-allowed}.slider-ticks{flex-wrap:wrap;gap:4px;display:flex}.slider-tick{font-size:11px;font-family:var(--font-mono);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;border-radius:4px;padding:2px 8px}.slider-tick:hover{background:var(--bg-muted)}.slider-tick.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.slider-tick:disabled{opacity:.4;cursor:not-allowed}.combo-row{background:var(--bg-muted);border-radius:6px;flex-direction:column;gap:8px;margin:12px 0;padding:10px 12px;display:flex}.combo-toggle{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.combo-controls,.combo-toggle{align-items:center;gap:8px;display:flex}.combo-controls{flex-wrap:wrap}.combo-base-select{background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;padding:4px 8px;font-size:12px}.combo-base-select,.combo-logic-toggle{border:1px solid var(--border-default);border-radius:4px}.combo-logic-toggle{display:inline-flex;overflow:hidden}.combo-logic-btn{font-size:11px;font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border:none;padding:4px 10px}.combo-logic-btn.is-active{background:var(--brand);color:#fff}.builder-preview{background:var(--brand);margin-top:12px;padding:12px}@supports (color:color-mix(in lab,red,red)){.builder-preview{background:color-mix(in srgb,var(--brand) 5%,var(--bg-surface))}}.builder-preview{border:1px dashed var(--brand)}@supports (color:color-mix(in lab,red,red)){.builder-preview{border:1px dashed color-mix(in srgb,var(--brand) 30%,transparent)}}.builder-preview{border-radius:6px}.preview-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px}.preview-name{font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);margin-bottom:8px}.preview-metrics{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.preview-warn{margin-top:6px;font-size:11px}.builder-add-row{gap:8px;margin-top:12px;display:flex}.custom-name-input{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);border-radius:4px;flex:1;padding:8px 10px;font-size:13px}.btn-add-custom{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:500}.btn-add-custom:disabled{opacity:.4;cursor:not-allowed}.builder-feedback{background:var(--bg-muted);border-radius:4px;margin-top:8px;padding:6px 10px;font-size:12px}.custom-list{flex-direction:column;gap:10px;display:flex}.custom-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:10px 12px}.custom-item-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.custom-item-name{color:var(--text-primary);font-size:13px;font-weight:600}.custom-item-remove{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;font-size:16px;line-height:1}.custom-item-remove:hover{background:var(--neg)}@supports (color:color-mix(in lab,red,red)){.custom-item-remove:hover{background:color-mix(in srgb,var(--neg) 12%,transparent)}}.custom-item-remove:hover{color:var(--neg)}.custom-item-def{font-size:11px;font-family:var(--font-mono);margin-bottom:6px}.custom-item-metrics{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.strategies-grid{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);align-items:start;gap:14px;display:grid}.strategies-main{flex-direction:column;gap:14px;min-width:0;display:flex}.strategies-chat-area{height:var(--chat-height,50vh);align-self:start;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.strategies-chat-area .chat-panel{flex-direction:column;width:100%;display:flex}@media (max-width:1100px){.strategies-grid{grid-template-columns:1fr}.strategies-chat-area{height:auto;position:static}}.strategy-chat .card-meta{font-size:11px}.strategies-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.cached-badge{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cached-badge{background:color-mix(in srgb,var(--brand) 14%,transparent)}}.cached-badge{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.strategies-disclaimer{border:1px solid var(--negative);margin-top:10px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.strategies-disclaimer{border:1px solid color-mix(in srgb,var(--negative) 25%,var(--border-default))}}.strategies-disclaimer{background:var(--negative)}@supports (color:color-mix(in lab,red,red)){.strategies-disclaimer{background:color-mix(in srgb,var(--negative) 4%,transparent)}}.strategies-disclaimer{color:var(--text-secondary);border-radius:6px;font-size:12px;line-height:1.55}.strategies-disclaimer strong{color:var(--text-primary)}.strategy-rank-table{flex-direction:column;gap:0;min-width:0;font-size:12px;display:flex;overflow-x:auto}.strategy-rank-table .strategy-rank-row{min-width:540px}.strategy-ticker-table{min-width:0;overflow-x:auto}.strategy-ticker-table .strategy-ticker-row{min-width:640px}.strategy-rank-row{border-bottom:1px solid var(--border-subtle);color:inherit;grid-template-columns:40px 1.5fr 80px 90px 90px 70px 80px;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:grid}.strategy-rank-row.head{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-default);font-size:11px;font-weight:600}.strategy-rank-link:hover{background:var(--bg-muted)}.strategy-rank-link.is-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.strategy-rank-link.is-active{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.strategy-rank-link.is-active{border-left:2px solid var(--brand);padding-left:10px}.rank-num{color:var(--text-tertiary);font-size:12px}.rank-name{color:var(--text-primary);flex-direction:column;gap:2px;font-size:12px;display:flex}.rank-key{font-size:11px;font-family:var(--font-mono)}.strategy-def{flex-direction:column;gap:10px;padding:4px 0;display:flex}.def-section{font-size:12px}.def-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.def-params{flex-wrap:wrap;gap:8px;display:flex}.def-param{border:1px solid var(--border-default);background:var(--bg-muted);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.def-param-label{color:var(--text-secondary)}.def-param-value{color:var(--brand);font-weight:600}.strategy-ticker-table{flex-direction:column;font-size:12px;display:flex}.strategy-ticker-row{border-bottom:1px solid var(--border-subtle);color:inherit;grid-template-columns:1.6fr 1fr 70px 90px 80px 60px 60px 80px;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:grid}.strategy-ticker-row.head{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.strategy-ticker-link:hover{background:var(--bg-muted)}.strategy-ticker-link.is-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.strategy-ticker-link.is-active{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.strategy-ticker-link.is-active{border-left:2px solid var(--brand);padding-left:10px}.t-name{color:var(--text-primary);align-items:baseline;gap:6px;display:flex}.t-name .ticker{color:var(--text-tertiary);font-size:11px}.strategy-chart-pane{padding:4px 0}.lwc-line-canvas-wrap{position:relative}.marker-tooltip{z-index:5;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;min-width:160px;padding:8px 10px;font-size:12px;line-height:1.5;position:absolute;box-shadow:0 4px 12px #0f11171a}.marker-tooltip-buy{border-left:3px solid var(--positive)}.marker-tooltip-sell{border-left:3px solid var(--negative)}.marker-tooltip-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.marker-tooltip-side{letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);font-size:11px;font-weight:700}.marker-tooltip-buy .marker-tooltip-side{color:var(--positive)}.marker-tooltip-sell .marker-tooltip-side{color:var(--negative)}.marker-tooltip-date{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary)}.marker-tooltip-body{color:var(--text-primary);flex-direction:column;gap:2px;display:flex}.marker-tooltip-body .small{border-top:1px dashed var(--border-subtle);margin-top:2px;padding-top:4px;font-size:11px}.strategy-chart-legend{gap:12px}.strategy-chart-legend strong{font-weight:600}.strategy-chart-disclaimer{text-align:right;margin-top:6px;font-size:11px}.lwc-marker-arrow{margin-right:4px;font-size:12px;font-weight:700}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.metric-cell{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:6px;padding:10px 12px}.metric-label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px}.metric-value{font-size:16px;font-weight:600}.metric-value.pos{color:var(--positive)}.metric-value.neg{color:var(--negative)}.trade-table{flex-direction:column;font-size:12px;display:flex}.trade-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:110px 60px 80px 100px 90px 90px;align-items:center;gap:8px;padding:6px 12px;display:grid}.trade-row.head{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.trade-side{font-size:12px;font-weight:600}.trade-buy{color:var(--positive)}.trade-sell{color:var(--negative)}.trade-empty{text-align:center;padding:24px}@media (max-width:880px){.strategy-rank-row,.strategy-ticker-row,.trade-row{font-size:12px}}.explore-shell{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);align-items:start;gap:14px;min-height:100vh;display:grid}.explore-main{flex-direction:column;gap:12px;min-width:0;display:flex}.explore-chat-area{height:var(--chat-height,50vh);align-self:start;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.explore-chat-area .chat-panel{flex-direction:column;width:100%;display:flex}main.explore-page .card{border-color:var(--border-subtle)}@supports (color:color-mix(in lab,red,red)){main.explore-page .card{border-color:color-mix(in srgb,var(--border-subtle) 82%,transparent)}}main.explore-page .card{box-shadow:0 1px 2px #0f11170a}.explore-all-filter{flex-direction:column;gap:10px;margin-top:12px;display:flex}.explore-sector-toggle{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;gap:7px 6px;margin-top:12px;padding:10px}.eaf-row{background:var(--bg-base);border:1px solid var(--border-subtle);border-left:4px solid var(--bucket-accent,transparent);border-radius:10px;grid-template-columns:180px 1fr;align-items:start;gap:14px;width:100%;padding:12px 14px;display:grid}.explore-active-filter{color:var(--text-primary);background:#4f58b81a;border-radius:12px;align-items:center;gap:8px;margin-left:8px;padding:3px 10px;font-size:12px;display:inline-flex}.explore-active-filter strong{color:var(--brand);font-weight:700}.filter-clear{color:var(--negative);background:#d33a3a1a;border-radius:8px;padding:1px 6px;font-size:11px;font-weight:600;text-decoration:none}.filter-clear:hover{background:#d33a3a2e}.eaf-row-head{flex-direction:column;gap:2px;padding-top:4px;display:flex}.eaf-label{color:var(--text-primary);letter-spacing:-.01em;align-items:baseline;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.eaf-icon{text-align:center;width:1.5em;font-size:16px;line-height:1;display:inline-block}.eaf-count{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono)}.eaf-pills{flex-wrap:wrap;gap:6px 5px;display:flex}.sector-tab{border-radius:14px;align-items:center;gap:4px;padding:6px 10px;line-height:1;display:inline-flex}.sector-tab .st-count{font-family:var(--font-mono);color:var(--text-tertiary);font-size:10px}.sector-tab:hover{border-color:var(--border-emphasis);color:var(--text-primary)}.sector-tab.is-active{color:#fff;box-shadow:0 4px 10px #4f58b82e}.sector-tab.is-active .st-count{color:#ffffffd9}@media (max-width:900px){.eaf-row{grid-template-columns:1fr;gap:8px}.eaf-row-head{padding-top:0}}.explore-card{gap:7px;min-height:112px;padding:12px 12px 11px;transition:transform .15s,box-shadow .15s,border-color .15s}.explore-card:hover{border-color:var(--bucket-accent,var(--brand));transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.explore-card:hover{border-color:color-mix(in srgb,var(--bucket-accent,var(--brand)) 70%,var(--border-default))}}.explore-card:hover{box-shadow:0 8px 20px #0f111714}.explore-card .ec-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.explore-card .ec-price{color:var(--text-primary);text-align:right;font-size:14px;font-weight:700}.explore-card .ec-change{border-radius:5px;width:fit-content;margin-top:auto;padding:2px 6px;font-size:12px;font-weight:700}.explore-card .ec-change.pos{color:var(--positive);background:var(--positive)}@supports (color:color-mix(in lab,red,red)){.explore-card .ec-change.pos{background:color-mix(in srgb,var(--positive) 10%,transparent)}}.explore-card .ec-change.neg{color:var(--negative);background:var(--negative)}@supports (color:color-mix(in lab,red,red)){.explore-card .ec-change.neg{background:color-mix(in srgb,var(--negative) 9%,transparent)}}.explore-card .ec-change.neu{color:var(--text-tertiary);background:var(--bg-muted)}.explore-bucket-section{background:linear-gradient(90deg,var(--bucket-accent,transparent) 0 3px,transparent 3px),var(--bg-surface)}.bucket-kr{--bucket-accent:#4f58b8b3}.bucket-us{--bucket-accent:#1e9e5ead}.bucket-crypto{--bucket-accent:#b8761ac2}.explore-sector-block{background:var(--bg-base);border:1px solid var(--border-subtle);border-left:4px solid var(--bucket-accent,var(--border-emphasis));border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.explore-sector-block-head{background:linear-gradient(180deg,var(--bucket-accent,var(--brand)),transparent);align-items:center;gap:10px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.explore-sector-block-head{background:linear-gradient(180deg,color-mix(in srgb,var(--bucket-accent,var(--brand)) 6%,transparent),transparent)}}.explore-sector-block-head{border-bottom:1px solid var(--border-subtle)}.esb-sector{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:700}.esb-count{font-size:12px;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;margin-left:auto;padding:2px 8px}.explore-sector-block .explore-grid{padding:12px}.explore-sector-block .explore-card{background:var(--bg-surface)}.explore-shell{grid-template-columns:minmax(0,1fr) minmax(320px,var(--chat-width,360px));gap:16px}.explore-chat-area{height:min(72vh,760px)}.explore-sector-toggle{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sector-tab{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none;transition:background-color .12s,border-color .12s}.sector-tab:hover{background:var(--bg-muted)}.sector-tab.is-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.sector-tab.is-active{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.sector-tab.is-active{color:var(--brand);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.sector-tab.is-active{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}}@media (max-width:1100px){.explore-shell{grid-template-columns:1fr}.explore-chat-area{height:auto;position:static}}.watchlist-grid,main.dashboard.watchlist-grid{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);align-items:start;gap:14px;display:grid}.watchlist-main{flex-direction:column;gap:12px;min-width:0;display:flex}.watchlist-chat-area{height:var(--chat-height,50vh);align-self:start;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.watchlist-chat-area .chat-panel{flex-direction:column;width:100%;display:flex}@media (max-width:1100px){.watchlist-grid{grid-template-columns:1fr}.watchlist-chat-area{height:auto;position:static}}.my-grid,main.dashboard.my-grid{grid-template-columns:minmax(0,1fr) var(--chat-width,360px);align-items:start;gap:14px;display:grid}.my-main{flex-direction:column;gap:12px;min-width:0;display:flex}.my-chat-area{height:var(--chat-height,50vh);align-self:start;max-height:calc(100vh - 80px);display:flex;position:sticky;top:64px}.my-chat-area .chat-panel{flex-direction:column;width:100%;display:flex}@media (max-width:1100px){.my-grid{grid-template-columns:1fr}.my-chat-area{height:auto;position:static}}.chat-header-meta-row{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.chat-width-controls{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.chat-width-reset{font-size:11px;font-family:var(--font-mono);border:1px solid var(--border-default);background:var(--bg-elevated);height:24px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:0 8px;transition:background-color .12s,color .12s}.chat-width-reset:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary)}.chat-width-reset:disabled{opacity:.45;cursor:default}.chat-resize-bar{z-index:4;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute}.chat-resize-bar-left{cursor:ew-resize;width:18px;top:0;bottom:0;left:-9px}.chat-resize-bar-bottom{cursor:ns-resize;height:18px;bottom:-9px;left:0;right:0}.chat-resize-grip{background:var(--brand);opacity:.85;border-radius:4px;transition:background-color .12s,opacity .12s,width .12s,height .12s;position:absolute;box-shadow:0 0 0 1px #fff9}.chat-resize-grip-vert{width:6px;height:100px;top:50%;left:6px;transform:translateY(-50%)}.chat-resize-grip-horiz{width:100px;height:6px;top:6px;left:50%;transform:translate(-50%)}.chat-resize-bar:active .chat-resize-grip,.chat-resize-bar:hover .chat-resize-grip{background:var(--brand);opacity:1}.chat-resize-bar-left:active .chat-resize-grip-vert,.chat-resize-bar-left:hover .chat-resize-grip-vert{border-radius:0;height:100%}.chat-resize-bar-bottom:active .chat-resize-grip-horiz,.chat-resize-bar-bottom:hover .chat-resize-grip-horiz{border-radius:0;width:100%}.chat-resize-corner{cursor:nesw-resize;z-index:5;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:flex-start;align-items:flex-end;width:22px;height:22px;display:flex;position:absolute;bottom:-8px;left:-8px}.chat-resize-corner-grip{color:var(--brand);opacity:.7;font-size:18px;font-weight:700;line-height:1;transition:color .12s,opacity .12s;transform:rotate(90deg)}.chat-resize-corner:active .chat-resize-corner-grip,.chat-resize-corner:hover .chat-resize-corner-grip{color:var(--brand);opacity:1}.watchlist-btn{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;font-size:12px;transition:background-color .12s,border-color .12s;display:inline-flex}.watchlist-btn:hover{background:var(--bg-muted)}.watchlist-btn-on{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.watchlist-btn-on{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}}.watchlist-btn-on{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.watchlist-btn-on{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.watchlist-btn-on{color:var(--brand)}.watchlist-star{font-size:13px;line-height:1}.watchlist-label{font-weight:510}.watchlist-link{color:var(--text-primary);text-decoration:none}.watchlist-link:hover{text-decoration:underline}.watchlist-remove{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px}.watchlist-remove:hover{border-color:var(--negative);color:var(--negative)}.mini-empty{padding:6px 4px;font-size:12px}.mini-more{padding:4px;font-size:11px;text-decoration:none;display:block}.mini-more:hover{text-decoration:underline}.mini-row-link{color:inherit;border-radius:4px;margin:-2px -4px;padding:2px 4px;text-decoration:none;transition:background-color .12s;display:flex}.mini-row-link:hover{background:var(--bg-muted)}.backtesting-page{flex-direction:column;gap:16px;padding:16px 20px 32px;display:flex}.backtesting-form-card .live-badge{color:#1e9e5e;background:#e8f5ed;border-color:#b6e3c8}.backtesting-form{grid-template-columns:1.4fr 1.6fr 1fr 1fr 1fr auto;align-items:end;gap:12px;padding:12px 0 4px;display:grid}.bt-field{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.bt-field-strat{grid-column:span 1}.bt-field-label{letter-spacing:.02em;font-size:11px}.bt-field-hint{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.bt-input{font:inherit;border:1px solid var(--border,#dde2ec);color:var(--text-primary,#1a1d24);background:#fff;border-radius:6px;min-width:0;padding:7px 9px;font-size:13px}.bt-input:focus{outline-offset:-1px;border-color:#4f58b8;outline:2px solid #c5cdf4}.bt-empty{border:1px dashed #dde2ec;border-radius:6px;padding:7px 9px;font-size:12px}.bt-run-btn{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;background:#4f58b8;border:0;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:600}.bt-run-btn:disabled{cursor:not-allowed;background:#c5cdf4}.bt-run-btn:not(:disabled):hover{background:#3f48a3}.bt-error{color:#b13030;background:#fff1f1;border:1px solid #f3c4c4;border-radius:6px;margin-top:10px;padding:10px 12px;font-size:12.5px}.bt-cmp-grid{grid-template-columns:1fr 1fr auto;gap:16px;padding:8px 0;display:grid}.bt-cmp-col{background:#fbfcfe;border:1px solid #e6eaf2;border-radius:8px;padding:12px 14px}.bt-cmp-strategy{background:#f5f6ff;border-color:#c5cdf4}.bt-cmp-head{margin-bottom:2px;font-size:12px;font-weight:600}.bt-cmp-strategy .bt-cmp-head{color:#4f58b8}.bt-cmp-sub{margin-bottom:8px;font-size:10.5px}.bt-cmp-rows{flex-direction:column;gap:4px;font-size:12px;display:flex}.bt-cmp-rows>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bt-cmp-hl{border-top:1px solid #e6eaf2;margin-top:6px;padding-top:6px;font-size:13px;font-weight:600}.bt-cmp-alpha{background:#fbfcfe;border:1px solid #e6eaf2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:130px;padding:14px 18px;display:flex}.bt-cmp-alpha.pos{background:#e8f5ed;border-color:#b6e3c8}.bt-cmp-alpha.neg{background:#fdedec;border-color:#f3c4c4}.bt-cmp-alpha-label{font-size:11px}.bt-cmp-alpha-value{margin:2px 0 4px;font-size:22px;font-weight:700}.bt-cmp-alpha-hint{text-align:center;font-size:10.5px}.custom-list-hint{border-top:1px dashed #e6eaf2;margin-top:14px;padding:10px 12px;font-size:12px}.link-underline{color:#4f58b8;text-underline-offset:2px;text-decoration:underline}.link-underline:hover{color:#3f48a3}@media (max-width:1200px){.backtesting-form{grid-template-columns:1fr 1fr}.bt-run-btn{grid-column:1/-1}.bt-cmp-grid{grid-template-columns:1fr}}.bt-force-liq{color:#b97a05;background:#fff7e0;border:1px solid #f0d68a;border-radius:3px;padding:1px 6px;font-size:10.5px}.trade-table-bt .trade-row{grid-template-columns:100px 56px 72px 92px 110px 84px 84px}.heatmap-card{padding:12px 16px 18px}.heatmap-card-body{flex-direction:column;gap:10px;display:flex;position:relative}.heatmap-meta{font-size:11.5px}.heatmap-legend{align-items:center;gap:6px;font-size:11px;display:flex}.heatmap-legend-bar{background:linear-gradient(90deg,#d33a3a,#f0f2f7)}.heatmap-legend-bar,.heatmap-legend-bar2{border-radius:2px;width:60px;height:8px;display:inline-block}.heatmap-legend-bar2{background:linear-gradient(90deg,#f0f2f7,#1e9e5e)}.heatmap-legend-label{font-size:10.5px}.heatmap-scroll{background:#fff;border:1px solid #e6eaf2;border-radius:6px;position:relative;overflow:auto hidden}.heatmap-svg{display:block}.heatmap-tooltip{z-index:10;color:#fff;pointer-events:none;background:#1a1d24;border-radius:5px;max-width:240px;padding:7px 10px;font-size:11.5px;position:absolute;box-shadow:0 4px 12px #0000002e}.heatmap-tooltip .dim{color:#fff9}.heatmap-tooltip-pair{margin-bottom:2px;font-size:12px}.heatmap-tooltip-val{font-size:12.5px}.heatmap-tooltip .small{margin-top:4px;font-size:10px}.heatmap-loading{text-align:center;padding:30px 16px}.heatmap-legend-neutral{color:#444a57;background:#f0f2f7;border:1px solid #dde2ec;border-radius:3px;padding:1px 6px;font-size:10.5px;display:inline-block}.anomaly-card{padding:12px 16px 18px}.anomaly-body{flex-direction:column;gap:10px;display:flex}.anomaly-meta{font-size:11.5px}.anomaly-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.anomaly-group{background:#fbfcfe;border:1px solid #e6eaf2;border-radius:6px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.anomaly-group-neg{background:#fdedec;border-color:#f3c4c4}.anomaly-group-warn{background:#fff7e0;border-color:#f0d68a}.anomaly-group-info{background:#f5f6ff;border-color:#c5cdf4}.anomaly-group-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.anomaly-group-name{font-size:12.5px;font-weight:600}.anomaly-group-count{font-size:11.5px}.anomaly-group-hint{font-size:10.5px}.anomaly-list{gap:4px;margin:0;padding:0;list-style:none}.anomaly-list,.anomaly-row{flex-direction:column;display:flex}.anomaly-row{border-top:1px solid #0000000a;gap:1px;padding:4px 0;font-size:11.5px}.anomaly-row:first-child{border-top:0}.anomaly-link{color:var(--text-primary,#1a1d24);align-items:baseline;gap:6px;text-decoration:none;display:flex}.anomaly-link:hover{text-decoration:underline}.anomaly-name{font-weight:600}.anomaly-market{background:#0000000a;border-radius:2px;padding:0 4px;font-size:10px}.anomaly-detail{font-size:11px}.anomaly-group-empty{padding:4px 0;font-size:11px}.anomaly-empty{text-align:center;background:#fbfcfe;border:1px dashed #e6eaf2;border-radius:6px;padding:18px 14px;font-size:12.5px}@media (max-width:1100px){.anomaly-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.anomaly-grid{grid-template-columns:1fr}}.bt-disclaimer{background:#fbfcfe;border:1px dashed #dde2ec;border-radius:5px;margin-top:8px;padding:8px 10px;font-size:11px;line-height:1.5}.market-tabbar{border-bottom:1px solid var(--border-default);align-items:center;gap:16px;margin-bottom:12px;padding:4px 0 12px;display:flex}.market-tabs{gap:6px;display:flex}.market-tab{border:1px solid var(--border-default);color:var(--text-secondary);background:var(--surface-1,#fff);border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.market-tab:hover{background:var(--surface-2,#f6f8fc);color:var(--text-primary)}.market-tab.is-active{color:#fff;background:#1e3a8a;border-color:#2563eb}.latest-date{align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.overview-indices .indices-grid{grid-template-columns:repeat(5,1fr);gap:0;display:grid}.indices-grid .index-cell{border-right:1px solid var(--border-default);padding:14px}.indices-grid .index-cell:last-child{border-right:none}.index-name{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.index-value{font-size:18px;font-weight:700}.index-change{margin-top:2px;font-size:13px}.index-change.pos{color:var(--positive)}.index-change.neg{color:var(--negative)}.index-change.neu{color:var(--text-tertiary)}.spark{width:100%;height:36px;margin-top:6px}.index-extra{margin-top:4px;font-size:11px}@media (max-width:1100px){.overview-indices .indices-grid{grid-template-columns:repeat(2,1fr)}.indices-grid .index-cell{border-right:none;border-bottom:1px solid var(--border-default)}}.gainers-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:1100px){.gainers-grid{grid-template-columns:1fr}}.gainer-card .empty{color:var(--text-tertiary);padding:18px;font-size:13px}.gainer-table{border-collapse:collapse;width:100%;font-size:13px}.gainer-table thead th{text-align:left;color:var(--text-secondary);background:var(--surface-2,#f6f8fc);font-size:11px;font-weight:600}.gainer-table tbody td,.gainer-table thead th{border-bottom:1px solid var(--border-default);padding:8px 12px}.gainer-table tbody tr:last-child td{border-bottom:none}.gainer-table .num-col{text-align:right}.gainer-table .pos{color:var(--positive);font-weight:600}.gainer-table .neg{color:var(--negative);font-weight:600}.stock-link{color:var(--text-primary);align-items:baseline;gap:6px;text-decoration:none;display:flex}.stock-link:hover .stock-name{text-decoration:underline}.stock-name{font-weight:600}.stock-code{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:11px}.overview-callout{border-left:3px solid #2563eb}.callout-body{align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.callout-tag{color:#fff;white-space:nowrap;background:#1e3a8a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.callout-text{color:var(--text-secondary);line-height:1.5}.hot-hero-btn.no-link,.stock-link.no-link{cursor:not-allowed;opacity:.85;text-decoration:none}.stock-link.no-link:hover .stock-name{text-decoration:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}