:root{--bg: #f4f6f9;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #f8f9fb;--surface-3: #eef1f5;--surface-inset: #f2f4f7;--border: rgba(16, 24, 40, .09);--border-strong: rgba(16, 24, 40, .16);--hairline: rgba(16, 24, 40, .06);--text: #14181f;--text-2: #5a6273;--text-3: #8a92a3;--text-inverse: #ffffff;--up: #d92d20;--up-soft: rgba(217, 45, 32, .1);--up-border: rgba(217, 45, 32, .24);--down: #0a8f53;--down-soft: rgba(10, 143, 83, .1);--down-border: rgba(10, 143, 83, .24);--accent: #1f6feb;--accent-hover: #1a5fd0;--accent-soft: rgba(31, 111, 235, .1);--accent-border: rgba(31, 111, 235, .28);--warning: #b45309;--warning-soft: rgba(180, 83, 9, .1);--warning-border: rgba(180, 83, 9, .24);--info: #0b7285;--info-soft: rgba(11, 114, 133, .1);--danger: #c92a2a;--danger-soft: rgba(201, 42, 42, .1);--grid: rgba(16, 24, 40, .06);--axis: #98a1b0;--chart-band: rgba(31, 111, 235, .08);--shadow-1: 0 1px 2px rgba(16, 24, 40, .05);--shadow-2: 0 1px 3px rgba(16, 24, 40, .06), 0 6px 20px rgba(16, 24, 40, .06);--shadow-3: 0 2px 6px rgba(16, 24, 40, .08), 0 18px 48px rgba(16, 24, 40, .14);--focus-ring: 0 0 0 3px rgba(31, 111, 235, .35);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-full: 999px;--fs-caption2: 11px;--fs-caption: 12px;--fs-footnote: 13px;--fs-body: 15px;--fs-headline: 17px;--fs-title3: 20px;--fs-title2: 22px;--fs-title1: 28px;--fs-large: 34px;--fs-display: 44px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--z-sticky: 100;--z-nav: 200;--z-dropdown: 400;--z-overlay: 600;--z-modal: 700;--z-toast: 900;--sidebar-w: 232px;--rail-w: 68px;--right-w: 320px;--content-max: 1440px;--tabbar-h: 56px;--topbar-h: 56px;--gutter: var(--s-5);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}[data-theme=dark]{--bg: #0c0e12;--bg-elevated: #14171d;--surface: #14171d;--surface-2: #191d24;--surface-3: #1f242c;--surface-inset: #101318;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--hairline: rgba(255, 255, 255, .06);--text: #e9ecf1;--text-2: #9ba4b4;--text-3: #6c7686;--text-inverse: #0c0e12;--up: #ff5f56;--up-soft: rgba(255, 95, 86, .14);--up-border: rgba(255, 95, 86, .3);--down: #2ec27e;--down-soft: rgba(46, 194, 126, .14);--down-border: rgba(46, 194, 126, .3);--accent: #4d94ff;--accent-hover: #6ba6ff;--accent-soft: rgba(77, 148, 255, .14);--accent-border: rgba(77, 148, 255, .32);--warning: #f0a339;--warning-soft: rgba(240, 163, 57, .14);--warning-border: rgba(240, 163, 57, .3);--info: #43bcc9;--info-soft: rgba(67, 188, 201, .14);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .14);--grid: rgba(255, 255, 255, .05);--axis: #6c7686;--chart-band: rgba(77, 148, 255, .12);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 3px rgba(0, 0, 0, .5), 0 6px 20px rgba(0, 0, 0, .36);--shadow-3: 0 2px 6px rgba(0, 0, 0, .5), 0 18px 48px rgba(0, 0, 0, .6);--focus-ring: 0 0 0 3px rgba(77, 148, 255, .45)}@media (prefers-contrast: more){:root{--text-2: #3d4453;--text-3: #59616f;--border: rgba(16, 24, 40, .28);--border-strong: rgba(16, 24, 40, .42)}[data-theme=dark]{--text-2: #c4cbd7;--text-3: #a2abb9;--border: rgba(255, 255, 255, .28);--border-strong: rgba(255, 255, 255, .44)}}@media (max-width: 1279px){:root{--gutter: var(--s-4)}}@media (max-width: 640px){:root{--gutter: var(--s-3);--tabbar-h: 52px;--topbar-h: 52px;--fs-title3: 18px;--fs-title2: 20px;--fs-title1: 25px;--fs-large: 29px;--fs-display: 34px}}[data-density=compact]{--s-4: 12px;--s-5: 14px;--s-6: 16px;--fs-body: 14px;--fs-headline: 15px;--r-lg: 10px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro SC,PingFang SC,Segoe UI,Microsoft YaHei,Helvetica Neue,sans-serif;font-size:var(--fs-body);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}h1,h2,h3,h4,h5,h6,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.accent{color:var(--accent)}.warn{color:var(--warning)}.t-caption{font-size:var(--fs-caption);line-height:1.4}.t-footnote{font-size:var(--fs-footnote);line-height:1.45}.t-body{font-size:var(--fs-body);line-height:1.5}.t-headline{font-size:var(--fs-headline);line-height:1.4;font-weight:600}.t-title3{font-size:var(--fs-title3);line-height:1.35;font-weight:600}.t-title2{font-size:var(--fs-title2);line-height:1.3;font-weight:600}.t-title1{font-size:var(--fs-title1);line-height:1.25;font-weight:650}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.gap-6{gap:var(--s-6)}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.between{justify-content:space-between}.center{justify-content:center}.end{justify-content:flex-end}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.45}}.anim-fade{animation:fade-in var(--dur-base) var(--ease-out)}.anim-up{animation:slide-up var(--dur-slow) var(--ease-out)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--r-md);border:1px solid transparent;font-size:var(--fs-footnote);font-weight:500;padding:0 14px;height:36px;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{height:30px;padding:0 11px;font-size:var(--fs-caption)}.btn-lg{height:44px;padding:0 20px;font-size:var(--fs-body)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-buy{background:var(--up);color:#fff}.btn-buy:hover:not(:disabled){filter:brightness(1.08)}.btn-sell{background:var(--down);color:#fff}.btn-sell:hover:not(:disabled){filter:brightness(1.08)}.spin{animation:spin .8s linear infinite}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border-radius:var(--r-md);color:var(--text-2);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);width:100%;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);text-align:left;transition:background-color var(--dur-fast) var(--ease-out)}.list-row:hover{background:var(--surface-3)}.list-row-start{display:flex;align-items:center;gap:var(--s-2);min-width:0}.list-row-end{display:flex;align-items:center;gap:var(--s-3);flex:none}.list-row-top{align-items:flex-start}.list-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.list-row-title{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;row-gap:2px}.list-row-note{font-size:var(--fs-caption);color:var(--text-3);line-height:1.45}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border)}.pagination-ctrl{display:flex;align-items:center;gap:4px;margin-left:auto}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-pos{display:none;font-size:var(--fs-footnote);color:var(--text-2)}.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:var(--r-md);font-size:var(--fs-caption);font-weight:500;color:var(--text-2);background:var(--surface-2);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.pg-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.pg-btn:disabled{opacity:.38;cursor:not-allowed}.pg-num{min-width:30px}.pg-num.is-active{background:var(--accent);color:#fff}.pg-gap{padding:0 2px;color:var(--text-3);font-size:var(--fs-caption)}.pg-edge{display:none}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.is-active{color:var(--accent);background:var(--accent-soft)}.input-wrap{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.input-wrap:focus-within{border-color:var(--accent);background:var(--surface)}.input-wrap.is-invalid{border-color:var(--danger)}.input-adorn{display:inline-flex;color:var(--text-3);flex-shrink:0}.input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:var(--fs-footnote);color:var(--text);height:100%}.input::placeholder{color:var(--text-3)}.input-clear{display:inline-flex;color:var(--text-3);padding:2px;border-radius:var(--r-sm)}.input-clear:hover{color:var(--text);background:var(--surface-3)}.search-box{position:relative;display:flex;align-items:center}.search-box .input-adorn{position:absolute;left:12px;pointer-events:none}.search-box .input{height:38px;padding:0 34px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none;font-size:var(--fs-footnote);width:100%;color:var(--text)}.search-box .input:focus{border-color:var(--accent);background:var(--surface)}.search-box .input-clear{position:absolute;right:8px}.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--z-dropdown);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);max-height:264px;overflow-y:auto;padding:4px}.suggest-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-footnote)}.suggest-item.is-active{background:var(--accent-soft)}.suggest-code{color:var(--text-3);font-size:var(--fs-caption);flex-shrink:0}.suggest-mkt{flex-shrink:0;padding:0 6px;font-size:var(--fs-caption);line-height:18px;color:var(--text-3);border:1px solid var(--border);border-radius:var(--r-sm)}.page-search{max-width:760px}.search-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.search-input-wrap{flex:1;min-width:0}.page-search .input-wrap{height:36px;padding:0 12px;border-radius:var(--r-full)}.page-search .input{font-size:var(--fs-footnote)}.page-search .input::placeholder{font-size:var(--fs-footnote)}.page-search .input:focus-visible{box-shadow:none}.search-clear{display:grid;place-items:center;width:22px;height:22px;border:none;border-radius:50%;background:var(--surface-3);color:var(--text-2);cursor:pointer}.search-clear:hover{color:var(--text)}.search-count{margin:2px 2px 6px;font-size:var(--fs-caption);color:var(--text-3)}.search-result{list-style:none;margin:0;padding:0}.search-row{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--border);cursor:pointer}.search-row:hover{background:var(--accent-soft)}.search-row:last-child{border-bottom:none}.search-row.is-skeleton{cursor:default}.search-row.is-skeleton:hover{background:transparent}.search-row-main{flex:1;min-width:0}.search-row-name{font-size:var(--fs-footnote);font-weight:600}.search-row-sub{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:var(--fs-caption);color:var(--text-3)}.hl{color:var(--up);font-weight:700}.search-add{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-2);cursor:pointer;transition:color .15s,border-color .15s}.search-add:hover{border-color:var(--accent);color:var(--accent)}.search-add.is-on{color:var(--down);border-color:var(--down)}.search-empty{padding:48px 16px;text-align:center;display:flex;flex-direction:column;gap:6px}.search-idle{margin-top:4px}.seg{display:inline-flex;padding:3px;background:var(--surface-3);border-radius:var(--r-md);gap:2px}.seg-btn{border:none;background:none;padding:0 12px;height:30px;border-radius:7px;font-size:var(--fs-footnote);color:var(--text-2);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.seg-btn.is-active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:var(--shadow-1)}.seg-sm .seg-btn{height:26px;padding:0 10px;font-size:var(--fs-caption)}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);height:30px;padding:0 12px;border-radius:var(--r-full);font-size:var(--fs-footnote);transition:all var(--dur-fast) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.chip-sm{height:26px;padding:0 10px;font-size:var(--fs-caption)}.chips-label{font-size:var(--fs-caption);color:var(--text-3);margin-right:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--s-4)}.card-flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.card-head-icon{color:var(--text-3);display:inline-flex}.card-title{font-size:var(--fs-headline);font-weight:600;line-height:1.3}.card-sub{font-size:var(--fs-caption);color:var(--text-3);margin-top:2px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);display:flex;flex-direction:column;gap:4px;min-width:0}.stat-card-label{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--text-3)}.stat-card-value{font-size:var(--fs-title2);font-weight:600;line-height:1.2}.stat-card-sub{font-size:var(--fs-caption);color:var(--text-3)}.stat-card-up .stat-card-value{color:var(--up)}.stat-card-down .stat-card-value{color:var(--down)}.stat-card-accent .stat-card-value{color:var(--accent)}.stat-card-warning .stat-card-value{color:var(--warning)}.align-center{align-items:center;text-align:center}.badge{display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:22px;border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:500;white-space:nowrap}.badge-sm{height:19px;padding:0 7px;font-size:11px}.badge-neutral{background:var(--surface-3);color:var(--text-2)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-up{background:var(--up-soft);color:var(--up)}.badge-down{background:var(--down-soft);color:var(--down)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;font-size:var(--fs-footnote)}.th{font-size:var(--fs-caption);font-weight:500;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1}.th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th.is-sortable:hover{color:var(--text)}.th-inner{display:inline-flex;align-items:center;gap:3px}.sort-ind{display:inline-flex}.td{padding:10px;border-bottom:1px solid var(--hairline)}.tr:hover .td{background:var(--surface-2)}.tr.is-clickable{cursor:pointer}.ta-r{text-align:right}.ta-c{text-align:center}.table-dense .td{padding:6px 10px}.table-cards{display:none}.gauge{position:relative;display:inline-flex;flex-shrink:0}.gauge svg{display:block}.gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.gauge-value{font-size:var(--fs-title1);font-weight:650;line-height:1}.gauge-value i{font-size:.5em;font-style:normal;margin-left:1px}.gauge-up .gauge-value{color:var(--up)}.gauge-down .gauge-value{color:var(--down)}.gauge-mid .gauge-value{color:var(--warning)}.gauge-label{font-size:var(--fs-caption);color:var(--text-3)}.gauge-sub{font-size:11px;color:var(--text-3)}.progress-row{display:flex;align-items:center;gap:10px}.progress{flex:1;height:8px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.progress-sm{height:6px}.progress-fill{height:100%;border-radius:var(--r-full);transition:width var(--dur-slow) var(--ease-out)}.tone-accent{background:var(--accent)}.tone-up{background:var(--up)}.tone-down{background:var(--down)}.tone-warning{background:var(--warning)}.progress-value{font-size:var(--fs-caption);color:var(--text-3);flex-shrink:0}.skeleton{display:block;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 37%,var(--surface-3) 63%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--r-sm)}.skeleton-card{display:flex;flex-direction:column;gap:10px}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:var(--s-8) var(--s-4);color:var(--text-2)}.state-compact{padding:var(--s-5) var(--s-3)}.state-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-3);font-size:17px;margin-bottom:2px}.state-title{font-size:var(--fs-footnote);font-weight:500;color:var(--text)}.state-desc{font-size:var(--fs-caption);color:var(--text-3);max-width:320px}.state-error .state-icon{background:var(--danger-soft);color:var(--danger)}.state-action{margin-top:6px}.toaster{position:fixed;z-index:var(--z-toast);bottom:calc(16px + var(--safe-b));right:calc(16px + var(--safe-r));display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:10px 12px;box-shadow:var(--shadow-3);animation:slide-up var(--dur-base) var(--ease-out)}.toast-success{border-left-color:var(--down)}.toast-error{border-left-color:var(--up)}.toast-warning{border-left-color:var(--warning)}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--fs-footnote);font-weight:500}.toast-msg{font-size:var(--fs-caption);color:var(--text-3);margin-top:2px}.toast-close{color:var(--text-3);padding:2px;border-radius:var(--r-sm)}.toast-close:hover{color:var(--text);background:var(--surface-3)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0000006b;display:flex;align-items:center;justify-content:center;padding:var(--s-4);animation:fade-in var(--dur-fast) var(--ease-out)}.overlay-top{align-items:flex-start;padding-top:12vh}.overlay-bottom{align-items:flex-end;padding:0}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:100%;max-height:84vh;display:flex;flex-direction:column;animation:slide-up var(--dur-base) var(--ease-out);outline:none}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:800px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border)}.modal-title{font-size:var(--fs-headline);font-weight:600}.modal-body{padding:var(--s-5);overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border)}.confirm-icon{color:var(--danger);display:inline-flex;flex-shrink:0}.sheet{background:var(--bg-elevated);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:88vh;display:flex;flex-direction:column;animation:sheet-up var(--dur-slow) var(--ease-out);padding-bottom:var(--safe-b)}.sheet-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5) var(--s-3);border-bottom:1px solid var(--border);position:relative}.sheet-grip{position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:var(--r-full);background:var(--border-strong)}.sheet-title{font-size:var(--fs-headline);font-weight:600;flex:1}.sheet-body{padding:var(--s-5);overflow-y:auto}.sheet-foot{display:flex;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border)}.sheet-foot .btn{flex:1}.tip-wrap{position:relative;display:inline-flex}.tip-trigger{display:inline-flex;outline:none}.tip{position:absolute;z-index:var(--z-dropdown);left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:6px 9px;font-size:var(--fs-caption);color:var(--text-2);white-space:normal;width:max-content;max-width:240px;line-height:1.45;pointer-events:none}.tip-top{bottom:calc(100% + 6px)}.tip-bottom{top:calc(100% + 6px)}.tabs-bar{display:flex;gap:2px;border-bottom:1px solid var(--border)}.tab{padding:8px 12px;font-size:var(--fs-footnote);color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tab:hover{color:var(--text)}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);cursor:pointer}.switch-text{display:flex;flex-direction:column;gap:1px}.switch-label{font-size:var(--fs-footnote)}.switch-desc{font-size:var(--fs-caption);color:var(--text-3)}.switch{width:44px;height:26px;border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border);position:relative;flex-shrink:0;transition:background-color var(--dur-base) var(--ease-out)}.switch.is-on{background:var(--accent);border-color:var(--accent)}.switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-spring)}.switch.is-on .switch-knob{transform:translate(18px)}.select-wrap{display:inline-flex;align-items:center;gap:8px}.select-label{font-size:var(--fs-caption);color:var(--text-3)}.select{height:34px;padding:0 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-footnote);color:var(--text)}.line-chart,.bar-chart,.radar-chart{position:relative;width:100%}.chart-tick{font-size:11px;fill:var(--text-3)}.chart-ref-label{font-size:11px}.chart-empty{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:var(--fs-caption);background:var(--surface-2);border-radius:var(--r-md)}.chart-tooltip{position:absolute;top:6px;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-2);padding:7px 9px;font-size:var(--fs-caption);min-width:120px;z-index:3}.chart-tooltip-title{color:var(--text-3);margin-bottom:4px}.chart-tooltip-row{display:flex;align-items:center;gap:6px;margin-top:2px}.chart-tooltip-row .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chart-tooltip-name{color:var(--text-2);flex:1}.chart-tooltip-val{font-weight:500}.chart-tooltip-note{font-size:var(--fs-caption)}.chart-tooltip-note.is-up .chart-tooltip-name{color:var(--up);font-weight:600}.chart-tooltip-note.is-down .chart-tooltip-name{color:var(--down);font-weight:600}.kline-panel{width:100%}.kline-panel,.kline-panel *{touch-action:pan-y!important;overscroll-behavior:auto!important}.sparkline{display:inline-block;vertical-align:middle}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-2)}.legend-item i{width:10px;height:10px;border-radius:2px;display:inline-block}.shell{min-height:100vh;display:flex}@supports (height: 100dvh){.shell{min-height:100dvh}.sidebar{height:100dvh}}.skip-link{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--accent);color:#fff;padding:8px 14px;border-radius:var(--r-md);font-size:var(--fs-footnote)}.skip-link:focus{left:12px}.sidebar{position:sticky;top:0;height:100vh;width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-3);padding-left:calc(var(--s-3) + var(--safe-l));background:var(--surface);border-right:1px solid var(--border);z-index:var(--z-nav);transition:width var(--dur-base) var(--ease-out)}.sidebar.is-collapsed{width:var(--rail-w)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:var(--s-2) var(--s-2) var(--s-4);min-height:44px}.brand-mark{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.5px}.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.brand-text b{font-size:var(--fs-footnote);font-weight:600}.brand-text i{font-size:11px;color:var(--text-3);font-style:normal}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:11px;height:42px;padding:0 11px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-footnote);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:500}.nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar-collapse{display:flex;align-items:center;gap:10px;height:38px;padding:0 11px;border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-caption);margin-top:auto}.sidebar-collapse:hover{background:var(--surface-2);color:var(--text)}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:var(--topbar-h);padding:6px var(--gutter);padding-left:calc(var(--gutter) + var(--safe-l));padding-right:calc(var(--gutter) + var(--safe-r))}.topbar-right{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0}.topbar-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:38px;padding:0 5px 0 12px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);font-size:var(--fs-footnote);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.topbar-search:hover{border-color:var(--border-strong)}.topbar-search-ph{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search-go{flex-shrink:0;height:26px;padding:0 14px;border:none;border-radius:var(--r-full);background:var(--accent);color:#fff;font-size:12px;font-weight:600;line-height:26px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.topbar-search-go:hover{background:var(--accent-hover)}.topbar-search-go:active{transform:scale(.96)}.topbar-search:active{transform:scale(.995)}.shell-content{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--gutter);padding-left:calc(var(--gutter) + var(--safe-l));padding-right:calc(var(--gutter) + var(--safe-r))}.shell-tabbar .shell-content{padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--s-5))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:flex;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:var(--safe-b)}.tabbar-item{flex:1;min-width:0;min-height:var(--tabbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-3);font-size:11px;padding:6px 2px;transition:color var(--dur-fast) var(--ease-out)}.tabbar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.tabbar-item.is-active{color:var(--accent);font-weight:500}.palette{width:100%;max-width:560px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden;animation:slide-up var(--dur-base) var(--ease-out)}.palette-input{display:flex;align-items:center;gap:10px;padding:0 var(--s-4);height:50px;border-bottom:1px solid var(--border);color:var(--text-3)}.palette-input input{flex:1;border:none;background:none;outline:none;font-size:var(--fs-body);color:var(--text);height:100%}.palette-input kbd{font-family:inherit;font-size:10px;padding:2px 6px;border-radius:4px;background:var(--surface-3);border:1px solid var(--border)}.palette-list{max-height:340px;overflow-y:auto;padding:5px}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 11px;border-radius:var(--r-sm);font-size:var(--fs-footnote);text-align:left;color:var(--text)}.palette-item.is-active{background:var(--accent-soft)}.palette-name{min-width:0}.palette-meta{font-size:var(--fs-caption);color:var(--text-3);flex-shrink:0}.palette-none{padding:var(--s-5);text-align:center;color:var(--text-3);font-size:var(--fs-caption)}@media (min-width: 1600px){.shell-content{max-width:var(--content-max)}}@media (min-width: 1024px) and (max-width: 1279px){.sidebar:not(.is-collapsed){width:var(--rail-w)}.sidebar:not(.is-collapsed) .nav-label,.sidebar:not(.is-collapsed) .brand-text,.sidebar:not(.is-collapsed) .sidebar-collapse span{display:none}}@media (max-width: 1023px){.period-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none}.period-chips::-webkit-scrollbar{display:none}.period-chips .chip{flex-shrink:0}}@media (max-height: 480px) and (max-width: 1023px){.topbar-inner{min-height:44px}.shell-content{padding-top:var(--s-3)}}.page{animation:slide-up var(--dur-slow) var(--ease-out)}.section-title{font-size:var(--fs-title3);font-weight:650}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-3);margin-bottom:var(--s-4)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--s-3) var(--s-5)}.metric{display:flex;flex-direction:column;gap:1px;min-width:0}.metric-label{font-size:var(--fs-caption);color:var(--text-3)}.metric-value{font-size:var(--fs-title3);font-weight:600;line-height:1.25}.two-col{display:grid;grid-template-columns:1fr;gap:var(--s-4)}@media (min-width: 1024px){.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.prob-bar{display:flex;flex-direction:column;gap:6px}.prob-bar-track{position:relative;display:flex;height:10px;border-radius:var(--r-full);overflow:visible;background:var(--surface-3)}.prob-bar-up{background:var(--up);border-radius:var(--r-full) 0 0 var(--r-full)}.prob-bar-down{background:var(--down);border-radius:0 var(--r-full) var(--r-full) 0}.prob-bar-baseline{position:absolute;top:-3px;width:2px;height:16px;background:var(--text);border-radius:1px;opacity:.55}.prob-bar-legend{display:flex;justify-content:space-between;font-size:var(--fs-caption)}.prob-bar-compact .prob-bar-track{height:6px}.prob-bar-compact .prob-bar-legend{display:none}.stock-hero{display:flex;flex-direction:column;gap:var(--s-3)}.quote-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.quote-title-main{min-width:0}.quote-row{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.quote-price{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.5px}.quote-change{font-size:var(--fs-footnote);font-weight:600}.quote-grid{display:grid;grid-template-columns:repeat(4,auto);gap:2px 16px;margin:0}.quote-grid>div{display:flex;flex-direction:column;gap:1px}.quote-grid dt{font-size:11px;color:var(--text-3)}.quote-grid dd{margin:0;font-size:var(--fs-footnote);font-weight:500}.stock-tabs{display:flex;gap:var(--s-5);margin-top:var(--s-4);padding:0 var(--s-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.stock-tabs::-webkit-scrollbar{display:none}.stock-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:10px 2px;font-size:var(--fs-body);color:var(--text-3);cursor:pointer;position:relative;white-space:nowrap;transition:color .15s}.stock-tab:hover{color:var(--text-1)}.stock-tab.is-active{color:var(--text-1);font-weight:650}.stock-tab.is-active:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translate(-50%);width:24px;height:2.5px;border-radius:2px;background:var(--up)}.stock-tab.is-active:focus-visible:after{outline:none}.stock-section.is-tabpane{border-top:none;margin-top:var(--s-2);padding-top:var(--s-4)}.prob-legend{display:flex;gap:var(--s-4);margin-top:var(--s-2);font-size:var(--fs-caption);color:var(--text-3)}.prob-legend span{display:inline-flex;align-items:center;gap:5px}.prob-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.prob-legend .dot-hit{background:var(--up)}.prob-legend .dot-miss{background:var(--down)}.prob-legend .dot-open{background:var(--surface);border:1.5px solid var(--text-3)}.stock-section{padding:var(--s-4) 0 0;margin-top:var(--s-4);border-top:1px solid var(--border)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.section-title h3{margin:0;font-size:var(--fs-headline);font-weight:650}.section-sub{font-size:var(--fs-caption);color:var(--text-3)}.factor-cols{align-items:center}.symbol-title{font-size:var(--fs-title2);font-weight:650;line-height:1.25}.symbol-sub{font-size:var(--fs-caption);color:var(--text-3);margin-top:3px}.watch-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption);flex-shrink:0;transition:all var(--dur-fast) var(--ease-out)}.watch-btn:hover{border-color:var(--border-strong);color:var(--text)}.watch-btn.is-on{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning);font-weight:500}.decision-body{display:flex;gap:var(--s-6);align-items:center;flex-wrap:wrap}.decision-gauge{flex-shrink:0}.decision-stats{flex:1;min-width:240px;display:flex;flex-direction:column;gap:var(--s-4)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--s-3)}.mini-stat{display:flex;flex-direction:column;gap:2px}.mini-label{font-size:11px;color:var(--text-3)}.mini-value{font-size:var(--fs-title3);font-weight:600;line-height:1.2}.mini-value i{font-size:.6em;font-style:normal;color:var(--text-3);font-weight:400}.calib-row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.settled-box{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-2)}.settled-head{font-size:12px;color:var(--text-3)}.settled-price{font-size:30px;font-weight:700;line-height:1.15}.settled-price span{font-size:16px;font-weight:600;margin-left:var(--s-2)}.settled-note{font-size:12px;margin:0}.radar-wrap{display:flex;justify-content:center}.factor-list{display:flex;flex-direction:column}.factor-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--s-3);padding:9px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-footnote)}.factor-list li:last-child{border-bottom:none}.factor-score{font-weight:500;min-width:58px;text-align:right}.factor-score i{font-style:normal;color:var(--text-3);font-weight:400;font-size:var(--fs-caption)}.mark-legend{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--hairline);font-size:var(--fs-caption)}.mark-legend li{display:flex;align-items:center;gap:6px}.heat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.heat-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:4px;min-height:64px;padding:8px 9px;border-radius:var(--r-md);color:#fff;text-align:left;transition:transform var(--dur-fast) var(--ease-out)}.heat-cell:hover{transform:translateY(-2px)}.heat-name{font-size:var(--fs-caption);font-weight:500;line-height:1.25;max-width:100%}.heat-val{font-size:var(--fs-headline);font-weight:650;line-height:1.1}.dash-list{display:flex;flex-direction:column}.dash-list li{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(96px,132px) 16px;align-items:center;gap:var(--s-3);padding:11px 0;border-bottom:1px solid var(--hairline);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.dash-list li:last-child{border-bottom:none}.dash-list li:hover{background:var(--surface-2)}.dash-name{font-size:var(--fs-footnote);font-weight:500}.dash-prob{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.dash-bar{width:100%}.recent-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-caption);color:var(--text)}.recent-chip:hover{border-color:var(--accent);color:var(--accent)}.paper-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4)}@media (min-width: 1024px){.paper-grid{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start}}.paper-order .col.gap-4{gap:var(--s-4)}.order-quote{padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline)}.table-cards li{cursor:pointer}.watch-card,.pos-card,.order-card,.sector-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:11px 12px;margin-bottom:8px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);font-size:var(--fs-footnote)}.watch-card:last-child,.pos-card:last-child,.order-card:last-child,.sector-card:last-child{margin-bottom:0}@media (max-width: 640px){.table-desktop{display:none}.table-cards{display:flex;flex-direction:column}.hide-phone{display:none}}.disclaimer{display:flex;align-items:flex-start;gap:7px;font-size:var(--fs-caption);color:var(--text-3);line-height:1.5;margin-top:var(--s-5)}.disclaimer-banner{padding:10px 12px;border-radius:var(--r-md);background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning)}.disclaimer-banner svg{color:var(--warning)}.disclaimer-inline{margin-top:var(--s-3)}.disclaimer svg{flex-shrink:0;margin-top:2px}.virtual-tag{display:inline-flex;align-items:center;height:19px;padding:0 7px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);font-size:11px;font-weight:500}@media (max-width: 640px){.decision-body{gap:var(--s-4);justify-content:center}.factor-list li{grid-template-columns:minmax(0,1fr) auto}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.metric-value{font-size:var(--fs-headline)}.metric-wide{grid-column:1 / -1}}.page-paper{--paper-pad: var(--gutter)}.paper-head{position:sticky;top:0;z-index:var(--z-sticky);margin:calc(var(--paper-pad) * -1);margin-bottom:var(--s-3);padding:var(--s-2) var(--paper-pad) var(--s-3);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.paper-head-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:40px}.paper-title{font-size:var(--fs-title3);font-weight:650;letter-spacing:-.01em}.paper-nav{display:flex;gap:var(--s-1);margin-top:var(--s-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.paper-nav::-webkit-scrollbar{display:none}.paper-nav-item{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-footnote);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.paper-nav-item:hover{color:var(--text);border-color:var(--border)}.paper-nav-item.is-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}@media (max-width: 640px){.paper-nav-item{padding:0 12px}.paper-nav-item svg{display:none}}.paper-live{display:flex;align-items:center;gap:6px;margin-bottom:var(--s-2);font-size:var(--fs-caption2);color:var(--text-3)}.paper-live i{width:6px;height:6px;border-radius:50%;background:var(--text-3);flex:none}.paper-live i.is-live{background:var(--down);animation:holdings-pulse 1.8s var(--ease-out) infinite}.holdings{display:flex;flex-direction:column;gap:var(--s-3)}.holdings-acctbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.holdings-acct{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-footnote);color:var(--text-2)}.holdings-flag{width:9px;height:9px;border-radius:2px;background:var(--up)}.holdings-ratio{padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);font-size:var(--fs-caption2);white-space:nowrap}.holdings-label{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--text-3);white-space:nowrap}.holdings-eye{display:inline-flex;padding:0;border:0;background:none;color:var(--text-3);cursor:pointer}.holdings-value{font-weight:650;letter-spacing:-.01em;white-space:nowrap}.holdings-delta{font-style:normal;font-size:var(--fs-caption);color:inherit;opacity:.8}.holdings-hero{display:flex;flex-direction:column;gap:4px;padding-bottom:var(--s-3);border-bottom:1px solid var(--hairline)}.holdings-hero .holdings-value{font-size:var(--fs-title1);line-height:1.15}.holdings-pnl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--hairline)}.holdings-pnl>div{display:flex;flex-direction:column;gap:4px;min-width:0}.holdings-pnl .holdings-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;font-size:var(--fs-title3)}.holdings-submetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--r-md)}.holdings-submetrics>div{display:flex;flex-direction:column;gap:2px;min-width:0}.holdings-submetrics span{font-size:var(--fs-caption2);color:var(--text-3)}.holdings-submetrics b{font-size:var(--fs-body);font-weight:600;white-space:nowrap}.holdings-toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.holdings-live{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption2);color:var(--text-3)}.holdings-live i{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.holdings-live.is-live i{background:var(--down);animation:holdings-pulse 1.8s var(--ease-out) infinite}@keyframes holdings-pulse{0%,to{opacity:1}50%{opacity:.3}}.chip-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-caption2);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.chip-toggle:hover{border-color:var(--border-strong)}.chip-toggle i{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.chip-toggle.is-on{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.chip-toggle.is-on i{background:var(--accent)}.holding-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.holding-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-caption)}.holding-table th{padding:7px 6px;text-align:right;white-space:nowrap;font-size:var(--fs-caption2);font-weight:500;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border)}.holding-table th.ht-c-name{text-align:left}.holding-table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.holding-table th.is-sortable:hover{color:var(--text)}.holding-table th:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ht-th{display:inline-flex;align-items:center;gap:2px}.ht-ind{display:inline-flex}.holding-table td{padding:8px 6px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--hairline);vertical-align:middle}.holding-table tbody tr:last-child td{border-bottom:0}.holding-table tbody tr{cursor:pointer}.holding-table tbody tr:hover td{background:var(--surface-2)}.holding-table tbody tr:focus-visible{outline:none;box-shadow:var(--focus-ring)}.holding-table td.ht-c-name{text-align:left;max-width:104px;overflow:hidden}.holding-table th.ht-c-name,.holding-table td.ht-c-name{position:sticky;left:0;z-index:2}.holding-table th.ht-c-name{z-index:3;background:var(--surface-2);box-shadow:inset -1px 0 0 var(--border)}.holding-table td.ht-c-name{background:var(--surface);box-shadow:inset -1px 0 0 var(--hairline)}.holding-table tbody tr:hover td.ht-c-name{background:var(--surface-2)}.holding-table tbody tr:focus-visible td.ht-c-name{background:var(--surface-2)}.holding-table-wrap.is-scrolled th.ht-c-name,.holding-table-wrap.is-scrolled td.ht-c-name{box-shadow:inset -1px 0 0 var(--border),6px 0 10px -6px #00000038}.ht-ident{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.ht-nm{font-size:var(--fs-caption);font-weight:600}.ht-num{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.ht-sub{font-size:var(--fs-caption2);color:var(--text-3);font-style:normal}.ht-sub-phone{display:inline-flex}.ht-sub-wide{display:none}@media (min-width: 720px){.ht-sub-phone{display:none}.ht-sub-wide{display:inline-flex}}.ht-trade{padding:2px 10px;border:1px solid var(--accent-border);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-caption2);cursor:pointer}.ht-trade:hover{background:var(--accent);color:var(--text-inverse)}.ht-guards{margin-top:var(--s-2);font-size:var(--fs-caption2);color:var(--text-3)}.board-wrap .holding-table th,.board-wrap .holding-table td{padding:6px 8px}.board-wrap .holding-table td.ht-c-name{padding-top:6px;padding-bottom:6px}.ht-name-line{display:flex;align-items:baseline;gap:6px;min-width:0}.ht-name-line .ht-nm{font-size:var(--fs-caption);font-weight:600}.ht-name-line .ht-sub{flex:none}.board-wrap .holding-table td.ht-c-rank,.board-wrap .holding-table td.ht-c-code{color:var(--text-3);font-size:var(--fs-caption)}.board-wrap .holding-table td.ht-c-score b,.board-wrap .holding-table td.ht-c-prob b{font-weight:600}.board-wrap .holding-table th.ht-c-name,.board-wrap .holding-table td.ht-c-name{min-width:max-content;max-width:none}.board-wrap.is-overflow th.ht-c-name,.board-wrap.is-overflow td.ht-c-name{box-shadow:inset -1px 0 0 var(--border),6px 0 10px -6px #00000038}.board-wrap .holding-table td.ht-c-prob .board-alt{display:block;font-size:var(--fs-caption);font-weight:400}.ht-wide{display:none}.ht-phone{display:inline-flex}@media (min-width: 720px){.ht-wide{display:table-cell}.ht-phone{display:none}.holding-table{font-size:var(--fs-footnote)}.holding-table th{padding:8px 10px}.holding-table td{padding:9px 10px}.holding-table td.ht-c-name{max-width:none}}.holdings-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--hairline);font-size:var(--fs-caption);color:var(--text-3);flex-wrap:wrap}@media (max-width: 640px){.card{padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none}.card+.card{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border)}.card-flush{padding:0;overflow:visible}.card-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.card-head-icon{display:none}.card-title{font-size:var(--fs-headline);font-weight:650}.card-sub{margin-top:1px}.stat-row+.card{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border)}.paper-grid{gap:var(--s-5)}.paper-grid>.card+.card{margin-top:0}.order-quote{margin-top:var(--s-3);padding:var(--s-3) 0 0;background:none;border:0;border-top:1px solid var(--hairline);border-radius:0}.holdings-submetrics{padding:var(--s-2) 0;background:none;border-radius:0;border-top:1px solid var(--hairline)}}@media (max-width: 640px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4);margin-bottom:var(--s-4)}.stat-card{padding:0;background:none;border:0;border-radius:0;box-shadow:none;gap:1px}.stat-card-label{white-space:nowrap;overflow:hidden;font-size:var(--fs-caption2)}.stat-card-value{font-size:var(--fs-title3)}.stat-card-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 640px){.table-cards{gap:0}.table-cards>li{-webkit-tap-highlight-color:transparent}.table-cards>li>*{margin:0;padding:11px 0;background:none;border:0;border-bottom:1px solid var(--hairline);border-radius:0;gap:var(--s-2)}.table-cards>li:last-child>*{border-bottom:0}.table-cards>li:active>*{opacity:.5}.list-row{padding:11px 0;background:none;border:0;border-bottom:1px solid var(--hairline);border-radius:0}.paper-order .col.gap-4{gap:var(--s-3)}}@media (max-width: 640px){.board-wrap{margin-left:0;margin-right:0}.board-wrap .holding-table th,.board-wrap .holding-table td{padding:4px 5px}.board-wrap .holding-table td.ht-c-name{padding-top:4px;padding-bottom:4px}.board-wrap .ht-ident .ht-nm{line-height:1.15}.board-wrap .holding-table th.ht-c-name,.board-wrap .holding-table td.ht-c-name{padding-left:0}.board-wrap .holding-table th:last-child,.board-wrap .holding-table td:last-child{padding-right:0}.pagination{margin-top:0}.pagination-info,.pagination-pages{display:none}.pagination-ctrl{width:100%;justify-content:space-between;gap:var(--s-2)}.pagination-pos{display:inline-flex;align-items:center;justify-content:center;min-width:56px;color:var(--text-2)}.pg-btn{min-width:34px;height:34px}.pg-edge{display:inline-flex}}@media (max-width: 640px){.kline-panel,.line-chart,.bar-chart{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}.holding-table-wrap{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);border-left:0;border-right:0;border-radius:0}.holding-table th.ht-c-name,.holding-table td.ht-c-name{padding-left:var(--gutter)}.holding-table th:last-child,.holding-table td:last-child{padding-right:var(--gutter)}.holding-table th{padding:7px 5px}.holding-table td{padding:8px 5px}.holding-table th.ht-c-act,.holding-table td.ht-c-act{position:sticky;right:0;z-index:2;padding-left:6px}.holding-table th.ht-c-act{z-index:3;background:var(--surface-2);box-shadow:inset 1px 0 0 var(--border)}.holding-table td.ht-c-act{background:var(--surface);box-shadow:inset 1px 0 0 var(--hairline)}.holding-table tbody tr:hover td.ht-c-act{background:var(--surface-2)}.holding-table-wrap.is-overflow th.ht-c-act,.holding-table-wrap.is-overflow td.ht-c-act{box-shadow:inset 1px 0 0 var(--border),-8px 0 12px -8px #0000004d}}@media (max-width: 640px){.stock-hero{gap:var(--s-3)}.quote-title-row{gap:var(--s-2);align-items:flex-start}.symbol-title{font-size:var(--fs-title3)}.quote-row{gap:var(--s-2) var(--s-4)}.quote-price{font-size:28px}.quote-grid{flex:1 0 100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px var(--s-2);margin-top:var(--s-1);padding-top:var(--s-2);border-top:1px solid var(--hairline)}.stock-tabs{gap:var(--s-4);margin-top:var(--s-3)}.stock-tab{padding:9px 2px}.stock-section{padding-top:var(--s-3);margin-top:var(--s-3)}.stock-section.is-tabpane{padding-top:var(--s-3);margin-top:var(--s-2)}.section-title{margin-bottom:var(--s-2);gap:var(--s-1) var(--s-2)}.decision-stats{min-width:100%;gap:var(--s-3)}.settled-price{font-size:27px}}@media (max-width: 640px){.heat-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.heat-cell{min-height:58px;padding:7px 8px;border-radius:var(--r-sm)}.heat-name{font-size:var(--fs-caption2)}.heat-val{font-size:var(--fs-headline)}.dash-list li{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:12px 0}.dash-list li>.dash-prob{grid-column:1 / -1;flex-direction:row;align-items:center;gap:var(--s-2)}.dash-list li>.dash-prob>.t-headline{min-width:46px;text-align:right}.dash-list li>.dash-prob>.prob-bar{flex:1;min-width:0;width:auto}.dash-list li>svg{display:none}.recent-chip{padding:8px 12px}.disclaimer{margin-top:var(--s-4)}}@media (max-width: 640px){.btn{height:40px;padding:0 14px}.btn-sm{height:34px}.btn-lg{height:46px}.chip{height:36px;padding:0 14px}.chip-sm{height:32px}.seg-btn{height:36px;padding:0 13px}.seg-sm .seg-btn{height:32px}.select{height:38px}.icon-btn{min-width:38px;min-height:38px}.input-wrap{height:44px;padding:0 12px}.input,.input::placeholder{font-size:16px}.search-box .input{height:44px;font-size:16px;padding:0 38px}.page-search .input-wrap{height:44px}.page-search .input{font-size:16px}.page-search .input::placeholder{font-size:16px}.search-add{width:36px;height:36px}.search-clear{width:26px;height:26px}.input-clear{min-width:30px;min-height:30px;justify-content:center}.paper-nav-item{height:38px}.topbar-search{height:40px}.topbar-search-go{height:30px;line-height:30px;padding:0 14px}.paper-order .row.gap-3{gap:var(--s-2)}.paper-order .btn{height:44px}}@media (max-width: 640px){.search-row{padding:12px 0;gap:var(--s-3)}.search-head{gap:6px}.search-count{margin:2px 0 4px}.search-empty{padding:40px 8px}.state{padding:var(--s-6) var(--s-2)}.state-compact{padding:var(--s-5) 0}.toaster{left:calc(var(--gutter) + var(--safe-l));right:calc(var(--gutter) + var(--safe-r));bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--s-3));max-width:none}.overlay{padding:var(--s-3)}.overlay-top{padding-top:8vh}.modal{max-height:88vh}.modal-head{padding:var(--s-3) var(--s-4)}.modal-title{font-size:var(--fs-body)}.modal-body{padding:var(--s-4) var(--s-4)}.modal-foot{padding:var(--s-3) var(--s-4);gap:var(--s-2)}.modal-foot .btn{flex:1}.sheet-body{padding:var(--s-4)}.sheet-head{padding:var(--s-3) var(--s-4) var(--s-3)}.sheet-foot{padding:var(--s-3) var(--s-4)}.palette-input{height:48px}.palette-list{max-height:50vh}}@media (max-width: 640px){.holdings{gap:var(--s-3)}.holdings-hero{padding-bottom:var(--s-2);gap:2px}.holdings-value{white-space:normal;overflow-wrap:anywhere}.holdings-hero .holdings-value{font-size:var(--fs-title1);line-height:1.2}.holdings-pnl{gap:var(--s-3) var(--s-4);padding-bottom:var(--s-2)}.holdings-pnl .holdings-value{font-size:var(--fs-title3)}.holdings-toolbar{gap:var(--s-2)}.ht-trade{padding:5px 12px}.holdings-foot{padding-top:var(--s-2)}}@media (max-width: 360px){:root{--gutter: 10px}.paper-nav-item{padding:0 10px}.quote-price{font-size:26px}.heat-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}.tabbar-item{font-size:10px}.tabbar-item span{max-width:100%}}@media (min-width: 641px) and (max-width: 1023px){.card{padding:var(--s-4)}.card-head{margin-bottom:var(--s-3)}.stat-card{padding:var(--s-3)}.modal-body,.sheet-body{padding:var(--s-4)}}
