:root{color:#1b1c1d;background:#f7f6f7;font-family:Inter,Microsoft YaHei,PingFang SC,Segoe UI,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #f7f6f7;--surface: #ffffff;--surface-low: #f2f1f2;--surface-high: #e8e7e8;--ink: #27282a;--ink-strong: #171819;--muted: #5f626b;--subtle: #7b7f89;--outline: #d8d9df;--outline-strong: #bfc2cc;--primary: #094cb2;--primary-hover: #003f96;--primary-soft: #e7edff;--primary-container: #3366cc;--positive: #b83f38;--negative: #18733d;--tertiary: #766300;--warning-soft: #f6efcf;--error: #b3261e;--error-soft: #ffdad6;--success: #176b43;--headline-font: "Noto Serif SC", "Songti SC", STSong, serif;--data-font: Inter, "SFMono-Regular", Consolas, ui-monospace, monospace;--radius: 8px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}html{background:var(--background)}body{min-width:320px;margin:0;overflow:hidden;background:var(--background)}button,input,select{font:inherit}button{-webkit-user-select:none;user-select:none}h1,h2,h3,p{margin:0}.app-shell{display:grid;grid-template-rows:64px minmax(0,1fr);width:100%;height:100vh;overflow:hidden;background:var(--background)}.top-navigation{display:grid;grid-template-columns:232px minmax(340px,1fr) 190px;align-items:stretch;border-bottom:1px solid #e1e1e5;background:var(--surface);padding:0 28px}.brand-lockup{display:flex;gap:10px;align-items:center;min-width:0;color:var(--primary)}.brand-lockup>div{display:grid;gap:2px;min-width:0}.brand-lockup strong{overflow:hidden;color:var(--primary);font-family:var(--headline-font);font-size:1.03rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.brand-lockup span{overflow:hidden;color:var(--subtle);font-size:.58rem;font-weight:650;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.primary-navigation{display:flex;gap:26px;align-items:stretch;min-width:0}.primary-navigation button{position:relative;display:inline-flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--muted);padding:0 2px;cursor:pointer;font-size:.82rem;font-weight:560;white-space:nowrap}.primary-navigation button:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:transparent;content:""}.primary-navigation button:hover{color:var(--primary)}.primary-navigation button.active{color:var(--primary);font-weight:700}.primary-navigation button.active:after{background:var(--primary)}.primary-navigation button span{min-width:18px;border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:2px 5px;font-family:var(--data-font);font-size:.62rem;text-align:center}.provider-status{display:flex;gap:9px;align-items:center;justify-content:flex-end;min-width:0}.provider-status>i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#4c9a72;box-shadow:0 0 0 3px #e5f2eb}.provider-status>i.syncing{background:#be8337;box-shadow:0 0 0 3px #f6ead9}.provider-status>div{display:grid;gap:2px;min-width:0;text-align:right}.provider-status strong{color:var(--ink);font-size:.76rem;font-weight:700}.provider-status span{overflow:hidden;color:var(--subtle);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.research-shell{display:grid;grid-template-rows:minmax(98px,auto) minmax(0,1fr);gap:16px;min-height:0;overflow:hidden;padding:18px 24px 22px}.research-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) auto;column-gap:24px;row-gap:6px;align-items:center;min-width:0}.instrument-context{display:grid;gap:6px;min-width:0}.instrument-title-row{display:flex;gap:10px;align-items:center;min-width:0}.instrument-title-row h1{overflow:hidden;color:var(--ink-strong);font-family:var(--headline-font);font-size:1.72rem;font-weight:700;letter-spacing:0;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.adjustment-badge,.source-badge{flex:0 0 auto;border-radius:3px;background:var(--surface-high);color:#50545e;padding:3px 7px;font-size:.66rem;font-weight:700}.instrument-meta{display:flex;gap:9px;align-items:center;min-width:0;color:var(--muted);font-size:.71rem}.instrument-meta>span:not(.source-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-meta>i{width:1px;height:11px;flex:0 0 auto;background:var(--outline)}.source-badge{background:var(--primary-soft);color:var(--primary)}.query-feedback{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px;grid-column:1 / -1;align-items:flex-start;min-width:0;color:var(--subtle);font-size:.68rem;line-height:1.4}.query-feedback svg{flex:0 0 auto;margin-top:1px}.query-feedback span{overflow-wrap:anywhere;white-space:normal}.history-coverage-note{justify-self:end;color:var(--muted);font-family:var(--data-font);font-variant-numeric:tabular-nums;white-space:nowrap!important}.query-feedback.ready{color:var(--success)}.query-feedback.error{color:var(--error)}.research-query{display:grid;grid-template-columns:108px 150px 150px 34px 82px 88px 116px 34px;gap:7px;align-items:end;min-width:0;border:1px solid #e1e2e7;border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 8px -5px #1f243047;padding:9px}.research-query label{display:grid;gap:4px;min-width:0}.research-query label>span,.date-parts-field>span{color:var(--muted);font-size:.62rem;font-weight:650;line-height:1}.research-query input,.research-query select,.developer-field input{width:100%;min-height:34px;border:1px solid #cfd1d9;border-radius:5px;outline:none;background:var(--surface);color:var(--ink);padding:6px 8px;font-size:.76rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.research-query input[inputmode=numeric]{font-family:var(--data-font);font-variant-numeric:tabular-nums;letter-spacing:0}.date-parts-field{display:grid;gap:4px;min-width:0}.date-parts-input{position:relative;display:grid;grid-template-columns:minmax(40px,1.6fr) 6px minmax(20px,1fr) 6px minmax(20px,1fr) 27px;align-items:center;width:100%;min-height:34px;overflow:hidden;border:1px solid #cfd1d9;border-radius:5px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.date-parts-input:hover{border-color:#aeb2bd}.date-parts-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #094cb224}.research-query .date-parts-input input{width:100%;min-width:0;min-height:32px;border:0;border-radius:0;outline:none;background:transparent;padding:0 1px;color:var(--ink);font-family:var(--data-font);font-size:.72rem;font-variant-numeric:tabular-nums;text-align:center;box-shadow:none}.research-query .date-parts-input input:hover,.research-query .date-parts-input input:focus{border:0;box-shadow:none}.research-query .date-parts-input input::placeholder{color:#858994;font-family:var(--sans-font);opacity:1}.date-part-separator{color:#8d919b;font-family:var(--data-font);font-size:.7rem;line-height:1;text-align:center;-webkit-user-select:none;user-select:none}.date-picker-button{display:grid;width:27px;height:32px;place-items:center;border:0;border-left:1px solid #d8dae1;outline:none;background:var(--surface-low);color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.date-picker-button:hover,.date-picker-button:focus-visible{background:var(--primary-soft);color:var(--primary)}.research-query .date-parts-input .date-picker-native{position:absolute;width:1px;min-width:1px;height:1px;min-height:1px;overflow:hidden;opacity:0;padding:0;pointer-events:none}.research-query input::placeholder{color:#727681}.research-query input:hover,.research-query select:hover,.developer-field input:hover{border-color:#aeb2bd}.research-query input:focus,.research-query select:focus,.developer-field input:focus,.drop-zone:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #094cb224}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;top:50%;left:9px;z-index:1;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.input-with-icon input{padding-left:29px}.primary-action-button,.secondary-action-button,.icon-action-button,.reset-params-button,.segmented-control button,.range-buttons button{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:34px;border-radius:5px;cursor:pointer;font-size:.74rem;font-weight:680;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.primary-action-button{border:1px solid var(--primary);background:var(--primary);color:#fff;padding:6px 12px}.primary-action-button:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.secondary-action-button,.icon-action-button,.reset-params-button,.segmented-control button,.range-buttons button{border:1px solid var(--outline);background:var(--surface);color:var(--ink);padding:6px 10px}.secondary-action-button:hover:not(:disabled),.icon-action-button:hover:not(:disabled),.reset-params-button:hover,.segmented-control button:hover,.range-buttons button:hover{border-color:#aeb7ce;background:var(--primary-soft);color:var(--primary)}.icon-action-button{width:34px;padding:0}.primary-action-button:disabled,.secondary-action-button:disabled,.icon-action-button:disabled{cursor:not-allowed;opacity:.46}.primary-action-button:focus-visible,.secondary-action-button:focus-visible,.icon-action-button:focus-visible,.reset-params-button:focus-visible,.segmented-control button:focus-visible,.range-buttons button:focus-visible,.primary-navigation button:focus-visible,.chart-controls input:focus-visible{outline:2px solid rgb(9 76 178 / 35%);outline-offset:2px}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.research-content{min-height:0;overflow:hidden}.analysis-dashboard{display:grid;grid-template-columns:clamp(280px,22vw,350px) minmax(0,1fr);gap:16px;height:100%;min-height:0}.metrics-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.25fr repeat(3,.9fr) 1fr;gap:10px;min-height:0}.metric-card,.structure-card{min-width:0;overflow:hidden;border:1px solid #e0e1e6;border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 8px -6px #1e222c57;padding:11px 13px}.metric-card{display:grid;gap:6px;align-content:center}.metric-card>span,.structure-card>span{overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:650;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}.metric-card>strong{overflow:hidden;color:var(--ink-strong);font-family:var(--data-font);font-size:1.02rem;font-variant-numeric:tabular-nums;font-weight:720;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.metric-lead,.metric-wide,.structure-card{grid-column:1 / -1}.metric-lead{align-content:center;background:#fdfdff;padding:13px 15px}.metric-value-row{display:flex;gap:7px;align-items:baseline;min-width:0}.metric-value-row strong{overflow:hidden;color:var(--ink-strong);font-family:var(--data-font);font-size:1.62rem;font-variant-numeric:tabular-nums;line-height:1;text-overflow:ellipsis;white-space:nowrap}.metric-value-row small{color:var(--subtle);font-size:.65rem}.metric-change{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.66rem}.metric-change b{font-family:var(--data-font);font-size:.74rem}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.structure-card{display:grid;gap:9px;align-content:center;background:var(--surface-low)}.structure-card>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.structure-card p{display:grid;gap:3px;min-width:0;border-right:1px solid var(--outline);padding:0 9px}.structure-card p:first-child{padding-left:0}.structure-card p:last-child{border-right:0;padding-right:0}.structure-card strong{overflow:hidden;color:var(--tertiary);font-family:var(--data-font);font-size:.92rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.structure-card small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.chart-panel{display:grid;grid-template-rows:48px 27px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid #dedfe4;border-radius:var(--radius);background:var(--surface);box-shadow:0 4px 8px -6px #1b202c5c}.chart-panel-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:0;border-bottom:1px solid var(--outline);background:var(--surface-low);padding:7px 11px}.segmented-control,.range-buttons,.chart-controls{display:inline-flex;gap:4px;align-items:center}.segmented-control{flex:0 0 auto;border:1px solid var(--outline);border-radius:6px;background:var(--surface);padding:2px}.segmented-control button{min-height:28px;border:0;background:transparent;color:var(--muted);padding:4px 8px;font-size:.7rem}.segmented-control button.active{background:var(--primary);color:#fff}.range-buttons{flex:1 1 auto;justify-content:center}.range-buttons button{min-height:27px;border-color:transparent;background:transparent;color:var(--muted);padding:4px 7px;font-size:.68rem}.range-buttons button:hover{border-color:transparent}.range-buttons button.active{background:var(--surface-high);color:var(--ink)}.chart-controls{flex:0 0 auto;gap:11px}.chart-controls label{display:inline-flex;gap:5px;align-items:center;color:var(--muted);cursor:pointer;font-size:.66rem;white-space:nowrap}.chart-controls input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.chart-scope-note{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0;border-bottom:1px solid #ececf0;color:var(--subtle);padding:0 12px;font-size:.62rem}.chart-scope-note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.interval-status-legend{display:inline-flex;flex:0 0 auto;gap:11px;align-items:center;color:var(--muted)}.interval-status-legend span{display:inline-flex;gap:5px;align-items:center;overflow:visible}.interval-status-legend i{display:inline-block;width:14px;height:8px;border:1px solid rgb(118 99 0 / 32%);background:#bfab4924}.interval-status-legend i.review{border-color:#a66a147a;border-style:dashed;background:#d0912724}.interval-status-legend i.rejected{border-color:#a14f427a;border-style:dashed;background:#be675621}.chart-stage{min-height:0;overflow:hidden;background:var(--surface)}.stock-chart-shell{position:relative;width:100%;height:100%;overflow:hidden}.stock-chart-canvas{width:100%;height:100%}.stock-chart-volume-label{position:absolute;z-index:3;top:calc(78% + 8px);left:10px;border:1px solid rgb(217 219 225 / 90%);border-radius:4px;background:#ffffffe0;color:var(--muted);padding:2px 6px;font-size:.64rem;font-weight:650;line-height:1.3;pointer-events:none}.stock-chart-empty{display:grid;height:100%;place-content:center;gap:7px;color:var(--muted);text-align:center}.stock-chart-empty-icon{display:grid;width:42px;height:42px;margin:0 auto 5px;place-items:center;border:1px solid var(--outline);border-radius:50%;background:var(--surface-low);color:var(--primary)}.stock-chart-empty strong{color:var(--ink);font-family:var(--headline-font);font-size:.96rem}.stock-chart-empty span{font-size:.72rem}.stock-interval-overlay{position:absolute;top:0;bottom:28px;z-index:2;overflow:hidden;pointer-events:none;border-top:1px solid rgb(118 99 0 / 28%);border-bottom:1px solid rgb(118 99 0 / 20%);background:#bfab491a;box-shadow:inset 1px 0 #7663003d,inset -1px 0 #7663003d}.stock-interval-overlay.sub{top:clamp(108px,16%,128px);bottom:34px;z-index:3;border:1px dashed rgb(39 79 147 / 48%);background:#274f930d;box-shadow:none}.stock-interval-overlay.review,.stock-interval-overlay.unrated{border-top-color:#a66a146b;border-bottom-color:#a66a1457;border-top-style:dashed;border-bottom-style:dashed;background:#d091271a;box-shadow:inset 1px 0 #a66a144d,inset -1px 0 #a66a144d}.stock-interval-overlay.rejected{border-top-color:#a14f4270;border-bottom-color:#a14f425c;border-top-style:dashed;border-bottom-style:dashed;background:#be675617;box-shadow:inset 1px 0 #a14f424d,inset -1px 0 #a14f424d}.stock-interval-overlay.sub.review,.stock-interval-overlay.sub.unrated{border-color:#a66a1485;background:#d0912712;box-shadow:none}.stock-interval-overlay.sub.rejected{border-color:#a14f4285;background:#be675612;box-shadow:none}.stock-interval-overlay.event-fallback{border:1px dashed rgb(112 80 145 / 58%);background:#70509112;box-shadow:none}.stock-interval-overlay.sub.event-fallback{top:clamp(108px,16%,128px);bottom:34px}.stock-interval-overlay.algorithm-parent{outline:1px solid rgb(31 102 95 / 46%);outline-offset:-2px}.stock-interval-kind-label{position:absolute;top:6px;left:7px;max-width:calc(100% - 14px);overflow:hidden;padding:2px 6px;border-radius:3px;background:#ffffffe5;color:#275f58;font-size:.65rem;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.stock-interval-summary{position:absolute;top:7px;right:5px;left:5px;z-index:2;box-sizing:border-box;display:grid;min-width:0;gap:4px;overflow:hidden;padding:5px 6px;border:1px solid rgb(31 102 95 / 30%);border-left:1px solid rgb(31 102 95 / 68%);border-radius:3px;background:#ffffffe0;color:#41464c;font-size:.56rem;line-height:1.25;pointer-events:none}.stock-interval-overlay.has-kind-label .stock-interval-summary{top:29px}.stock-interval-overlay.sub .stock-interval-summary{border-color:#8a6a2a52;border-left-color:#8a6a2ab8}.stock-interval-overlay.review .stock-interval-summary,.stock-interval-overlay.unrated .stock-interval-summary{border-color:#b6771b6b;border-left-color:#b6771bcc}.stock-interval-overlay.rejected .stock-interval-summary{border-color:#a14f426b;border-left-color:#a14f42cc}.stock-interval-summary-dates,.stock-interval-summary-values{display:grid;min-width:0;align-items:center}.stock-interval-summary-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;color:#1f5d57}.stock-interval-summary-dates span,.stock-interval-summary-values span{display:flex;min-width:0;align-items:baseline;gap:3px;overflow:hidden;white-space:nowrap}.stock-interval-summary small{flex:0 0 auto;color:var(--muted);font-size:inherit;font-weight:500}.stock-interval-summary i{font-style:normal}.summary-label-short,.summary-date-short{display:none}.stock-interval-summary b{min-width:0;overflow:hidden;color:var(--ink-strong);font-weight:700;text-overflow:ellipsis}.stock-interval-summary-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 7px;color:var(--muted);font-size:.52rem}.stock-interval-summary.compact .stock-interval-summary-values{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-interval-summary.narrow{right:3px;left:3px;gap:3px;padding:4px;font-size:.5rem}.stock-interval-summary.narrow .stock-interval-summary-dates,.stock-interval-summary.narrow .stock-interval-summary-values{grid-template-columns:minmax(0,1fr);gap:2px}.stock-interval-summary.narrow span{gap:2px}.stock-interval-summary.narrow b{text-overflow:ellipsis}.stock-interval-summary.narrow .summary-label-full,.stock-interval-summary.micro .summary-label-full,.stock-interval-summary.micro .summary-date-full{display:none}.stock-interval-summary.narrow .summary-label-short,.stock-interval-summary.micro .summary-label-short,.stock-interval-summary.micro .summary-date-short{display:inline}.stock-interval-summary.micro{top:3px;right:1px;left:1px;gap:1px;padding:2px;border-left-width:1px;font-size:.42rem;line-height:1.15}.stock-interval-overlay.has-kind-label .stock-interval-summary.micro{top:29px}.stock-interval-summary.micro .stock-interval-summary-dates,.stock-interval-summary.micro .stock-interval-summary-values{grid-template-columns:minmax(0,1fr);gap:0}.stock-interval-summary.micro span{gap:1px}.stock-chart-tooltip{position:absolute;z-index:5;display:grid;gap:9px;width:252px;border:1px solid #b6bac6;border-radius:7px;background:#fffffffa;box-shadow:0 6px 12px #1c202c29;color:var(--ink);padding:10px;font-size:.72rem;pointer-events:none}.tooltip-head,.tooltip-volume{display:flex;align-items:center;justify-content:space-between}.tooltip-head strong{color:var(--ink-strong);font-family:var(--data-font);font-size:.78rem}.tooltip-head span{font-family:var(--data-font);font-weight:720}.tooltip-ohlc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--outline);border-radius:5px;background:var(--outline)}.tooltip-ohlc>span{display:grid;gap:3px;background:var(--surface-low);padding:6px 7px}.tooltip-ohlc small,.tooltip-volume>span{color:var(--muted);font-size:.64rem}.tooltip-ohlc b,.tooltip-volume strong{color:var(--ink-strong);font-family:var(--data-font);font-size:.74rem;font-weight:680}.tooltip-volume{border-bottom:1px solid var(--outline);padding-bottom:8px}.tooltip-event-role{display:grid;gap:4px;border-bottom:1px solid var(--outline);padding-bottom:8px}.tooltip-event-role>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.tooltip-event-role span,.tooltip-event-role small{color:var(--muted);font-size:.62rem;line-height:1.45}.tooltip-event-role strong{color:var(--primary);font-size:.67rem;font-weight:680}.tooltip-pile-visibility{border-bottom:1px solid var(--outline);padding-bottom:5px}.tooltip-pile-visibility.candidate strong{color:#6d7280}.tooltip-pile-visibility.formal strong{color:#315f91}.tooltip-pile-visibility.premium strong{color:#8a6500}.tooltip-interval-visibility{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--outline);padding-bottom:8px}.tooltip-interval-visibility>span{flex:0 0 auto;color:var(--muted);font-size:.62rem;line-height:22px}.tooltip-interval-visibility>div{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.tooltip-interval-visibility .historical-visibility{min-height:20px;font-size:.6rem}.tooltip-flags{display:flex;flex-wrap:wrap;gap:5px}.tooltip-flags span{border:1px solid var(--outline);border-radius:999px;background:var(--surface-low);color:var(--subtle);padding:2px 6px;font-size:.62rem}.tooltip-flags span.active{border-color:#b1c5f2;background:var(--primary-soft);color:var(--primary)}.results-workspace,.tools-workspace{display:grid;grid-template-rows:62px minmax(0,1fr);height:100%;min-height:0;overflow:hidden;border:1px solid #dedfe4;border-radius:var(--radius);background:var(--surface);box-shadow:0 4px 8px -6px #1b202c5c}.workspace-head{display:flex;gap:16px;align-items:center;justify-content:space-between;min-width:0;border-bottom:1px solid var(--outline);background:#faf9fa;padding:10px 16px}.workspace-head>div:first-child{min-width:0}.workspace-head h2,.tool-heading h3{color:var(--ink-strong);font-family:var(--headline-font);font-size:1rem;font-weight:700}.workspace-head p,.tool-heading p{overflow:hidden;margin-top:4px;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.result-stats{display:flex;flex-wrap:wrap;gap:8px 13px;align-items:center;justify-content:flex-end;color:var(--muted);font-size:.72rem}.result-export-actions{display:inline-flex;gap:6px;align-items:center}.result-export-format{display:inline-flex;min-height:34px;align-items:center;border:1px solid var(--outline);border-radius:5px;background:var(--surface);color:var(--muted);overflow:hidden}.result-export-format>span{padding:0 7px;border-right:1px solid var(--outline);font-size:.68rem;line-height:32px}.result-export-format select{min-width:82px;height:32px;border:0;outline:0;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;font-size:.72rem;padding:0 24px 0 8px}.result-export-format:focus-within{border-color:color-mix(in srgb,var(--primary) 50%,var(--outline));box-shadow:0 0 0 2px #094cb21a}.result-export-format:has(select:disabled){opacity:.55}.result-export-primary{border-color:color-mix(in srgb,var(--primary) 34%,var(--outline));color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.result-stats>span+span{position:relative}.result-stats>span+span:before{position:absolute;top:50%;left:-7px;width:1px;height:11px;background:var(--outline);content:"";transform:translateY(-50%)}.table-wrap{min-height:0;overflow:auto}.result-table-wrap{height:100%}table{width:100%;min-width:1780px;border-collapse:separate;border-spacing:0;background:var(--surface)}th,td{border-bottom:1px solid #ececf0;padding:10px 14px}th{position:sticky;top:0;z-index:1;background:var(--surface-low);color:#555963;font-size:.68rem;font-weight:700;text-align:left;white-space:nowrap}td{color:var(--ink);font-size:.76rem;white-space:nowrap}th:nth-child(n+13),td:nth-child(n+13){font-family:var(--data-font);font-variant-numeric:tabular-nums;text-align:right}.interval-type{font-weight:700}.interval-type.primary{color:#274f93}.interval-type.parent{color:#1f665f}.interval-type.sub{color:#7a5c12}.algorithm-parent-row{background:#f3f8f6}.algorithm-parent-row:hover{background:#edf5f2}.sub-interval-row{background:#faf9f3}.sub-interval-row td:first-child{padding-left:18px}.event-fallback-row{background:#fbf8fd}.event-fallback-row:hover{background:#f5eef9}.boundary-source{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #d9dde4;border-radius:4px;background:#f7f8fa;color:#5f6470;font-size:.68rem;font-weight:700}.boundary-source.fallback{border-color:#d4c2e0;background:#f6f0fa;color:#684484}.result-nature{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #d9dde4;border-radius:4px;color:#4f5661;font-size:.68rem;font-weight:700;white-space:nowrap}.result-nature.algorithm{border-color:#c8d9d4;background:#f0f6f4;color:#275f58}.result-nature.nested{border-color:#ded3b5;background:#faf7ed;color:#735c20}.parent-interval-cell{min-width:310px;color:var(--secondary);font-family:var(--data-font);font-size:.72rem;line-height:1.45;white-space:normal}.historical-visibility{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #d9dde4;border-radius:4px;background:#f7f8fa;color:#5f6470;font-size:.68rem;font-weight:700}.historical-visibility.prominent{border-color:#b9d8cb;background:#eef7f3;color:#246c54}.historical-visibility.review{border-color:#dfd0a9;background:#faf7ed;color:#7a5c12}.historical-visibility.rejected{border-color:#e3c8bd;background:#fbf3ef;color:#8a4b35}.interval-importance{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #d9dde4;border-radius:4px;background:#f7f8fa;color:#5f6470;font-size:.68rem;font-weight:700}.interval-importance.key{border-color:#a9cfc1;background:#eaf5f1;color:#1f6650}.interval-importance.medium{border-color:#c9d4de;background:#f0f4f7;color:#425b6e}.interval-importance.weak{border-color:#dfd0a9;background:#faf7ed;color:#7a5c12}.interval-importance.rejected{border-color:#e3c8bd;background:#fbf3ef;color:#8a4b35}.interval-status-review,.interval-status-unrated{background:#fffdf7}.interval-status-rejected{background:#fff9f7}.sub-interval-row.interval-status-review,.sub-interval-row.interval-status-unrated{background:#fcf9ef}.sub-interval-row.interval-status-rejected{background:#fcf4f0}.interval-status-review:hover,.interval-status-unrated:hover{background:#faf5e7}.interval-status-rejected:hover{background:#faefeb}td:first-child{color:var(--tertiary);font-weight:700}.interval-change{font-weight:720}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#f5f6fb}tbody tr:last-child td{border-bottom:0}.empty-cell{height:240px;padding:0;text-align:center!important}.table-empty-state{display:grid;place-items:center;gap:7px;color:var(--subtle);font-family:inherit}.table-empty-state svg{margin-bottom:3px;color:#9599a4}.table-empty-state strong{color:var(--ink);font-family:var(--headline-font);font-size:.9rem}.table-empty-state span{font-size:.72rem}.tool-count{border-radius:999px;background:var(--surface-high);color:var(--muted);padding:4px 8px;font-size:.66rem;font-weight:680}.tools-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(300px,1fr) minmax(420px,1.35fr);gap:14px;min-height:0;overflow:auto;background:var(--surface-low);padding:14px}.tool-panel{display:grid;align-content:start;gap:14px;min-width:0;min-height:0;border:1px solid #dedfe4;border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 8px -6px #1b202c4d;padding:15px}.tool-heading{display:flex;gap:10px;align-items:flex-start;color:var(--primary)}.tool-heading>div{min-width:0}.drop-zone{position:relative;display:grid;min-height:150px;place-items:center;gap:8px;border:1px dashed #b7bac5;border-radius:7px;background:var(--surface-low);color:var(--ink);cursor:pointer;text-align:center;transition:background-color .15s ease,border-color .15s ease}.drop-zone:hover{border-color:var(--primary);background:var(--primary-soft)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.drop-zone span{font-size:.8rem;font-weight:700}.drop-zone small,.parse-message{color:var(--muted);font-size:.69rem;line-height:1.45}.parse-message{margin:0}.quality-grid,.developer-settings{display:grid;min-height:0;color:var(--muted);font-size:.72rem}.quality-grid span{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #ececf0;padding:8px 0}.quality-grid b{color:var(--ink);font-weight:620}.quality-note{border-radius:5px;background:var(--warning-soft);color:#665700;padding:9px 10px;font-size:.68rem;line-height:1.45}.pile-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #ececf0}.pile-audit-summary span{display:grid;gap:3px;min-width:0;padding:10px 8px;color:var(--muted);font-size:.65rem}.pile-audit-summary span+span{border-left:1px solid #ececf0}.pile-audit-summary b{color:var(--ink-strong);font-family:var(--data-font);font-size:1rem;font-weight:700}.pile-audit-summary .formal b{color:#315f91}.pile-audit-summary .premium b{color:#8a6500}.developer-settings{gap:0;overflow:auto;max-height:100%;padding-right:4px}.developer-field{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px;align-items:center;border-bottom:1px solid #ececf0;padding:9px 0}.developer-field:first-child{padding-top:0}.developer-field>span{display:grid;gap:3px}.developer-field strong{color:var(--ink);font-family:var(--data-font);font-size:.72rem;font-weight:680}.developer-field small{color:var(--muted);font-size:.66rem;line-height:1.35}.reset-params-button{justify-self:start}.market-scan-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;min-width:0;min-height:0;padding:20px 28px 26px;overflow:hidden;background:#f7f7f8}.market-scan-header{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;min-width:0}.market-scan-header h1{color:var(--ink-strong);font-family:var(--headline-font);font-size:1.72rem;font-weight:700;line-height:1.15}.market-scan-header p{margin-top:5px;color:var(--muted);font-size:.76rem}.scan-status{display:flex;gap:9px;align-items:center;min-width:130px;color:var(--muted)}.scan-status>span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#979ba4;box-shadow:0 0 0 4px #979ba41f}.scan-status-running>span,.scan-status-queued>span,.scan-status-cancelling>span{background:var(--primary);box-shadow:0 0 0 4px #094cb21f}.scan-status-completed>span{background:var(--success);box-shadow:0 0 0 4px #176b431f}.scan-status-failed>span{background:var(--error);box-shadow:0 0 0 4px #b3261e1f}.scan-status>div{display:grid;gap:1px}.scan-status b{color:var(--ink);font-size:.75rem}.scan-status small{max-width:180px;overflow:hidden;color:var(--subtle);font-family:var(--data-font);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.market-scan-layout{display:grid;grid-template-columns:292px minmax(0,1fr);min-width:0;min-height:0;border:1px solid var(--outline);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 2px 8px #1c222d0d}.scan-control-panel{display:flex;flex-direction:column;gap:14px;min-height:0;border-right:1px solid var(--outline);padding:18px;overflow-y:auto;background:#fafafa}.scan-control-heading,.scan-results-toolbar,.scan-result-tools,.scan-result-summary,.scan-actions,.scan-progress-caption{display:flex;align-items:center}.scan-control-heading,.scan-results-toolbar,.scan-progress-caption{justify-content:space-between}.scan-control-heading h2{color:var(--ink-strong);font-size:.9rem}.market-scan-workspace .icon-button{display:inline-grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border:1px solid var(--outline);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}.market-scan-workspace .icon-button:hover:not(:disabled){border-color:var(--outline-strong);color:var(--primary)}.market-scan-workspace .icon-button:disabled{cursor:not-allowed;opacity:.42}.market-scan-workspace .icon-button:focus-visible,.scan-primary-action:focus-visible,.scan-secondary-action:focus-visible,.scan-danger-action:focus-visible,.scan-filter-tabs button:focus-visible,.scan-stock-link:focus-visible,.scan-field input:focus-visible,.scan-date-mode button:focus-visible,.scan-search input:focus-visible{outline:2px solid rgb(9 76 178 / 30%);outline-offset:2px}.scan-field{display:grid;gap:6px}.scan-field>span,.scan-control-label,.scan-checkbox span{color:var(--muted);font-size:.69rem;font-weight:650}.scan-date-control{display:grid;gap:6px}.scan-date-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-height:36px;border:1px solid var(--outline);border-radius:6px;padding:2px;background:var(--surface-low)}.scan-date-mode button{min-width:0;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:.68rem;font-weight:650}.scan-date-mode button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #1c222d1a}.scan-date-mode button:disabled{cursor:not-allowed;opacity:.55}.scan-target-date-field{margin-top:2px}.scan-field input,.scan-search{border:1px solid var(--outline);border-radius:6px;background:var(--surface)}.scan-field input{width:100%;height:36px;color:var(--ink);padding:0 10px;font-family:var(--data-font);font-size:.75rem}.scan-field input:disabled{background:var(--surface-low);color:var(--subtle)}.scan-checkbox{display:flex;gap:8px;align-items:flex-start;line-height:1.45}.scan-checkbox input{margin:2px 0 0;accent-color:var(--primary)}.scan-actions{gap:8px;flex-wrap:wrap}.scan-primary-action,.scan-secondary-action,.scan-danger-action{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:34px;border-radius:6px;padding:0 12px;cursor:pointer;font-size:.72rem;font-weight:700}.scan-primary-action{border:1px solid var(--primary);background:var(--primary);color:#fff}.scan-primary-action:hover:not(:disabled){background:var(--primary-hover)}.scan-secondary-action{border:1px solid var(--outline-strong);background:var(--surface);color:var(--ink)}.scan-danger-action{border:1px solid #e0b7b3;background:#fff8f7;color:var(--error)}.scan-primary-action:disabled,.scan-secondary-action:disabled,.scan-danger-action:disabled{cursor:not-allowed;opacity:.46}.scan-progress-block{display:grid;gap:7px;border-top:1px solid var(--outline);padding-top:14px}.scan-progress-caption{color:var(--muted);font-family:var(--data-font);font-size:.67rem}.scan-progress-caption b{color:var(--ink)}.scan-progress-track{height:5px;border-radius:3px;overflow:hidden;background:#e4e6ea}.scan-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}.scan-progress-block p,.scan-footnote{color:var(--subtle);font-size:.66rem;line-height:1.55}.scan-metadata{display:grid;gap:8px;margin:0;border-top:1px solid var(--outline);padding-top:14px}.scan-metadata>div{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.scan-metadata dt{color:var(--subtle);font-size:.65rem}.scan-metadata dd{margin:0;color:var(--ink);font-family:var(--data-font);font-size:.68rem;text-align:right}.scan-footnote{margin-top:auto}.scan-results-panel{display:grid;grid-template-rows:56px 42px auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden}.scan-results-toolbar{gap:16px;min-width:0;border-bottom:1px solid var(--outline);padding:0 16px}.scan-result-summary{gap:18px;color:var(--muted);font-size:.7rem;white-space:nowrap}.scan-result-summary b{color:var(--ink-strong);font-family:var(--data-font);font-size:.78rem}.scan-result-tools{gap:8px;min-width:0}.scan-search{display:flex;gap:7px;align-items:center;width:190px;height:32px;color:var(--subtle);padding:0 9px}.scan-search:focus-within{border-color:#9ab2dc}.scan-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.7rem}.scan-filter-tabs{display:flex;gap:18px;align-items:flex-end;border-bottom:1px solid var(--outline);padding:0 16px}.scan-filter-tabs button{height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:0;cursor:pointer;font-size:.69rem;font-weight:600}.scan-filter-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:750}.scan-feedback{display:flex;gap:8px;align-items:center;border:1px solid;border-radius:6px;padding:8px 10px;font-size:.68rem}.scan-feedback-stack{display:grid;gap:6px;margin:10px 16px 0}.scan-feedback.info{border-color:#b9c9e8;background:#f5f8fe;color:#315b9b}.scan-feedback.warning{border-color:#e6c885;background:#fffaf0;color:#775600}.scan-feedback.error{border-color:#e6b5b0;background:#fff7f6;color:var(--error)}.scan-feedback.success{border-color:#b8d8c9;background:#f4fbf7;color:var(--success)}.scan-table-region{min-width:0;min-height:0;overflow:auto}.scan-results-table{width:100%;border-collapse:collapse;table-layout:fixed}.scan-results-table th,.scan-results-table td{border-bottom:1px solid #e8e9ed;padding:10px 12px;text-align:left;vertical-align:middle}.scan-results-table th{position:sticky;z-index:2;top:0;background:#f5f5f6;color:var(--muted);font-size:.65rem;font-weight:700}.scan-date-heading span,.scan-date-heading small{display:block}.scan-date-heading small{margin-top:2px;color:var(--subtle);font-family:var(--data-font);font-size:.58rem;font-weight:500}.scan-results-table th:nth-child(1){width:164px}.scan-results-table th:nth-child(2){width:190px}.scan-results-table th:nth-child(5){width:54px}.scan-results-table tbody tr{background:var(--surface)}.scan-results-table tbody tr:hover{background:#f8faff}.scan-stock-link{display:grid;gap:2px;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.scan-stock-link b{overflow:hidden;color:var(--primary);font-size:.72rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;text-overflow:ellipsis;transition:color .15s ease,text-decoration-color .15s ease;white-space:nowrap}.scan-stock-link:hover b,.scan-stock-link:focus-visible b{color:var(--primary-hover);text-decoration-color:currentColor}.scan-stock-link span,.scan-results-table td small{color:var(--subtle);font-size:.62rem}.scan-results-table td:nth-child(2){display:grid;gap:4px}.scan-change-badge{justify-self:start;border-radius:4px;padding:3px 6px;font-size:.61rem;font-weight:750}.scan-change-badge.new{background:#e4f3ea;color:#146a3c}.scan-change-badge.changed{background:#fff1d6;color:#795700}.scan-change-badge.disappeared{background:#fbe5e2;color:#9e302a}.scan-interval-cell{overflow:hidden;color:var(--ink);font-family:var(--data-font);font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.scan-empty-state{display:grid;gap:10px;min-height:100%;place-content:center;justify-items:center;color:#8b8f98}.scan-empty-state p{font-size:.72rem}.scan-failures{max-height:120px;border-top:1px solid var(--outline);background:snow;padding:10px 16px;overflow:auto;color:var(--error);font-size:.66rem}.scan-failures summary{cursor:pointer;font-weight:700}.scan-failures>div{display:grid;gap:5px;margin-top:8px}.scan-failures p{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px}@media(max-width:1280px){.top-navigation{grid-template-columns:210px minmax(300px,1fr) 156px;padding:0 20px}.research-shell{grid-template-rows:minmax(102px,auto) minmax(0,1fr);padding-inline:18px}.research-toolbar{grid-template-columns:minmax(270px,1fr) auto;column-gap:14px;row-gap:6px}.research-query{grid-template-columns:92px 136px 136px 34px 76px 78px 108px 34px}.instrument-title-row h1{font-size:1.5rem}.analysis-dashboard{grid-template-columns:270px minmax(0,1fr)}.chart-controls{gap:7px}.market-scan-workspace{padding-inline:18px}.market-scan-layout{grid-template-columns:260px minmax(0,1fr)}}@media(max-width:1040px){.top-navigation{grid-template-columns:190px minmax(280px,1fr) 120px}.brand-lockup span,.provider-status span{display:none}.research-shell{grid-template-rows:minmax(152px,auto) minmax(0,1fr)}.research-toolbar{grid-template-columns:1fr;gap:10px}.research-query{grid-template-columns:100px minmax(136px,1fr) minmax(136px,1fr) 34px 78px 84px 112px 34px}.analysis-dashboard{grid-template-columns:230px minmax(0,1fr)}.metrics-dashboard{gap:7px}.metric-card,.structure-card{padding:9px 10px}.range-buttons,.interval-status-legend,.chart-controls label span{display:none}.tools-grid{grid-template-columns:1fr}.market-scan-layout{grid-template-columns:230px minmax(0,1fr)}.scan-result-summary span:last-child{display:none}}@media(max-width:760px){.app-shell{grid-template-rows:102px minmax(0,1fr)}.top-navigation{grid-template-columns:1fr auto;grid-template-rows:54px 48px;padding:0 14px}.primary-navigation{grid-column:1 / -1;grid-row:2;gap:20px;overflow-x:auto}.provider-status{grid-column:2;grid-row:1}.research-shell{grid-template-rows:minmax(162px,auto) minmax(0,1fr);gap:10px;padding:12px}.instrument-title-row h1{font-size:1.24rem}.research-query{grid-template-columns:88px 136px 136px 34px 76px 78px 34px 34px;overflow-x:auto}.history-coverage-note{grid-column:2 / -1;justify-self:start;white-space:normal!important}.research-query .primary-action-button{width:34px;padding:0}.research-query .primary-action-button span{display:none}.analysis-dashboard{grid-template-columns:1fr;grid-template-rows:126px minmax(0,1fr)}.metrics-dashboard{grid-template-columns:repeat(7,minmax(118px,1fr));grid-template-rows:1fr;overflow-x:auto}.metric-lead,.metric-wide,.structure-card{grid-column:auto}.structure-card>div{gap:5px}.structure-card p{border-right:0;padding:0}.chart-panel-toolbar{overflow-x:auto}.chart-controls{display:none}.workspace-head{align-items:flex-start}.result-stats>span{display:none}.market-scan-workspace{gap:10px;padding:12px}.market-scan-header p,.scan-status{display:none}.market-scan-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.scan-control-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--outline);padding:12px}.scan-date-control{grid-column:1 / -1}.scan-progress-block,.scan-metadata,.scan-footnote{display:none}.scan-results-table{min-width:780px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
