/* 科创观察 · readable desktop workspace */
:root {
  --ink:#203630; --muted:#60716b; --teal:#176956; --teal-deep:#145545;
  --teal-soft:#edf5f1; --line:#dce5df; --paper:#f3f6f4; --white:#fff;
  --red:#bf4941; --green:#18745b; --gold:#89692f;
  --page-gutter:36px; --font-data:16px; --font-small:13px;
  font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;
  color:var(--ink); background:var(--paper); font-size:16px; line-height:1.5;
  font-synthesis:none; -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:var(--ink);border:0;background:none}
button:disabled{cursor:default;opacity:.5}
input,select{max-width:100%;color:var(--ink)}
input::placeholder{color:#63766a;opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5b9f89;outline-offset:3px}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
[hidden]{display:none!important}
h1,h2,h3,p{overflow-wrap:break-word}
h2{font-size:21px;font-weight:650;margin:0;letter-spacing:.2px}
.topbar{height:80px;padding:0 var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#ffffffed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}
.brand{display:flex;gap:13px;align-items:center;color:var(--ink);font-size:25px;letter-spacing:1px;font-weight:700;flex-shrink:0}
.brand:hover{text-decoration:none}
.brandmark{display:grid;place-items:center;background:var(--teal);color:#fff;width:46px;height:46px;border-radius:13px;box-shadow:0 3px 7px #144e4212}
.brandmark svg{width:28px;height:28px}
.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:2px;color:var(--muted);font-weight:500}
.topright{display:flex;gap:22px;align-items:center;font-size:14px;color:var(--muted)}
.local{color:var(--teal);background:#edf5ef;border:1px solid #dfeae2;border-radius:99px;padding:5px 12px;font-size:13px}
.quiet{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:9px 14px;border:1px solid #d6e1da;border-radius:9px;background:white;white-space:nowrap;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}
.quiet:hover{border-color:#8cafa0;background:#f2f8f4;text-decoration:none}
.link-button{display:inline-flex}
.text-btn{color:var(--teal);font-size:14px;padding:5px 8px;border-radius:6px}
.text-btn:hover{background:var(--teal-soft)}
main{max-width:3000px;margin:auto;padding:0 var(--page-gutter)}
.intro{display:flex;align-items:center;justify-content:space-between;padding:27px 0 25px;gap:24px}
.eyebrow{font-size:13px;letter-spacing:.6px;color:var(--teal);font-weight:500}
h1{font-size:36px;font-weight:700;letter-spacing:.4px;line-height:1.35;margin:7px 0 8px}
.intro p{font-size:15px;color:var(--muted);line-height:1.75;margin:0}
.intro-note{display:flex;gap:16px;align-items:center;padding:16px 20px;border-radius:12px;background:#eaf1ed;border:1px solid #dce7df;flex-shrink:0}
.note-line{display:block;height:38px;width:3px;border-radius:3px;background:#39836b}
.intro-note b{font-size:15px;font-weight:600}
.intro-note p{font-size:13px;margin-top:4px}
.tabs{display:flex;gap:6px;align-items:center;padding:6px;border:1px solid var(--line);background:#fff;border-radius:13px;margin:0 0 24px;overflow:auto;scrollbar-width:thin;box-shadow:0 2px 3px #20363002}
.tabs button{padding:12px 19px;color:var(--muted);border-radius:8px;white-space:nowrap;font-size:15px;line-height:1.3;font-weight:500;transition:background .15s,color .15s}
.tabs button:hover{background:#f0f5f1;color:var(--teal)}
.tabs button.active{color:white;background:var(--teal);font-weight:600}
.tabs span{font-size:12px;border-radius:6px;background:#edf2ee;color:#50655b;padding:2px 7px;margin-left:5px;font-variant-numeric:tabular-nums}
.tabs .active span{background:#ffffff24;color:white}
.tabs span:empty{display:none}
.layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:24px;align-items:start;min-width:0}
.workspace,.results,.detail,.sources-view{min-width:0}
.filters{padding:23px;background:white;border:1px solid var(--line);border-radius:16px;position:sticky;top:104px;max-height:calc(100dvh - 126px);overflow:auto;scrollbar-width:thin;scrollbar-color:#bccdc2 transparent;box-shadow:0 3px 12px #22372f03}
.filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.filter-head h2{font-size:20px}
.preset{border-radius:10px;background:#edf5f0;border:1px solid #d7e6dc;padding:16px;margin-bottom:24px}
.preset-btn{color:var(--teal-deep);font-size:15px;font-weight:650;padding:0;text-align:left}
.preset p{font-size:13px;line-height:1.9;margin:9px 0 0;color:#4f6e5d}
.filter-section{border-bottom:1px solid #e5ece7;padding-bottom:23px;margin-bottom:22px}
.section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;font-weight:650;margin:0 0 15px}
.section-label small{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}
.filters label{display:block;font-size:14px;color:#40594d;margin-top:16px;line-height:1.55}
.filters select,.filters input:not([type=checkbox]){display:block;width:100%;margin-top:8px;height:43px;padding:0 11px;border:1px solid #d6e1da;border-radius:8px;background:#fff;font-size:15px;min-width:0;transition:border-color .15s,box-shadow .15s}
.filters select:hover,.filters input:not([type=checkbox]):hover{border-color:#9bb9a8}
.filters select:focus,.filters input:not([type=checkbox]):focus{border-color:var(--teal);box-shadow:0 0 0 3px #1769560c}
.filters select{padding-right:5px;text-overflow:ellipsis}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.range-pair{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:5px;align-items:center}
.range-pair span{text-align:center;color:#8c9c92;margin-top:8px;font-size:13px}
.range-pair input[type=date]{font-size:12px;padding:0 5px;min-width:0}
.input-unit{position:relative}
.input-unit input{padding-right:36px!important}
.input-unit>span{position:absolute;right:13px;top:12px;font-size:14px;color:var(--muted)}
.helper{font-size:13px;color:var(--muted);line-height:1.8;margin:11px 0 0}
.filters label.check{display:flex;align-items:flex-start;line-height:1.7;gap:9px;font-size:13px}
.check input{accent-color:var(--teal);margin:4px 0 0;width:16px;height:16px;flex-shrink:0}
.filter-section summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;line-height:1.6}
.filter-section summary::-webkit-details-marker{display:none}
.filter-section>summary:before,.extra-filters>summary:before{content:'＋';margin-right:6px;color:var(--teal)}
.filter-section[open]>summary:before,.extra-filters[open]>summary:before{content:'−'}
.filter-section summary span{font-size:12px;color:var(--muted);font-weight:400;margin-left:3px}
.extra-filters{margin-top:20px;padding-top:18px;border-top:1px dashed #dce6df}
.extra-filters>summary{font-size:14px;color:#4c6858}
.save-controls{display:flex;gap:8px}
.save-controls button{font-size:13px;flex:1;padding-inline:9px}
.summary-strip{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:16px;margin-bottom:16px}
.summary-strip>div{padding:20px 24px;display:flex;flex-direction:column;gap:6px;position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px #20363003}
.summary-strip span{font-size:14px;color:var(--muted);font-weight:500}
.summary-strip strong{font-size:42px;font-weight:600;letter-spacing:-1.5px;line-height:1.3;font-variant-numeric:tabular-nums}
.summary-strip small{font-size:12px;color:var(--muted);line-height:1.65}
.summary-strip>.summary-primary{background:linear-gradient(115deg,#155c4b,#207963);border-color:#1a6854;color:white;box-shadow:0 5px 14px #175c4b12}
.summary-primary span,.summary-primary small{color:#e3f0e9}
.summary-primary strong{color:white}
.filter-summary{margin-bottom:20px;padding:20px 22px;background:#eaf3ee;border:1px solid #b5d2c4;border-left:4px solid var(--teal);border-radius:13px;min-width:0}
.filter-summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-bottom:16px}
.filter-summary-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.filter-summary-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--teal);color:white}
.filter-summary-icon svg{width:21px;height:21px}
.filter-summary-title h2{font-size:18px;font-weight:700;color:#164d3e}
#active-filter-count{padding:3px 9px;border-radius:6px;color:#225c47;background:#d6e8dd;font-size:13px;font-weight:600;white-space:nowrap}
.filter-summary-heading p{margin:0;color:#426654;font-size:14px}
.active-filters{display:flex;gap:10px;flex-wrap:wrap;min-width:0}
.chip{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;max-width:100%;padding:10px 14px;background:#fff;border:1px solid #c1d7c9;border-radius:9px;font-size:15px;line-height:1.6}
.chip-label{color:#425e50;overflow-wrap:anywhere}
.chip strong{color:#12553f;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.filter-summary-empty{margin:0;color:#426654;font-size:15px;line-height:1.8}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #20363003}
.results-toolbar{padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.results-toolbar p{margin:6px 0 0;font-size:14px;color:var(--muted);line-height:1.7}
#export{border-color:var(--teal);background:var(--teal);color:#fff;padding:9px 17px}
#export:hover{background:var(--teal-deep)}
.table-controls{display:flex;align-items:center;justify-content:space-between;padding:0 24px 19px;gap:14px;flex-wrap:wrap}
.search{display:flex;align-items:center;border:1px solid #d6e1da;border-radius:9px;flex:1;min-width:240px;max-width:400px;min-height:44px;padding:0 12px;gap:10px;color:var(--muted);background:#fbfcfb}
.search input{border:0;background:transparent;outline:none;min-width:0;width:100%;font-size:14px;height:42px}
.search:focus-within{border-color:#6b9b82;box-shadow:0 0 0 3px #1769560a}
.search>span{font-size:22px;line-height:1}
.sorts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sorts select{border:1px solid #d6e1da;border-radius:9px;padding:9px 11px;font-size:14px;background:#fff;height:44px;max-width:260px}
.sorts button{font-size:14px;padding:9px 12px;height:44px}
.column-settings{font-size:14px;position:relative;white-space:nowrap}
.column-settings summary{cursor:pointer;padding:10px 12px;border:1px solid #d6e1da;border-radius:9px;list-style:none;height:44px}
#column-options{position:absolute;right:0;top:52px;background:white;box-shadow:0 10px 32px #17382c20;z-index:12;width:280px;max-height:440px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px}
#column-options label{display:flex;gap:10px;align-items:center;padding:8px 6px;color:#435d4c;font-size:14px}
#column-options input{accent-color:var(--teal);width:16px;height:16px}
.table-wrap{overflow:auto;max-height:520px;border-top:1px solid var(--line);min-height:160px;scrollbar-width:thin;scrollbar-color:#b8cbbf #f4f7f4}
:where(.table-wrap,.subtable,.cmp-table) table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--font-data);font-variant-numeric:tabular-nums}
:where(.table-wrap,.subtable,.cmp-table) th{position:sticky;top:0;background:#f3f7f4;z-index:2;text-align:right;white-space:nowrap;border-bottom:1px solid #dce6df;padding:16px;font-weight:500;font-size:14px;color:#526b5a}
:where(.table-wrap,.subtable,.cmp-table) th button{padding:0;font-size:inherit;color:inherit;line-height:1.5}
:where(.table-wrap,.subtable,.cmp-table) td{padding:16px;border-bottom:1px solid #eaf0eb;text-align:right;white-space:nowrap;height:76px;font-weight:500;color:var(--ink)}
:where(.table-wrap,.subtable,.cmp-table) td:first-child,:where(.table-wrap,.subtable,.cmp-table) th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1;min-width:225px}
:where(.table-wrap,.subtable,.cmp-table) th:first-child{z-index:3;background:#f3f7f4}
:where(.table-wrap,.subtable,.cmp-table) tbody tr{cursor:pointer}
:where(.table-wrap,.subtable,.cmp-table) tbody tr:hover td{background:#f2f8f4}
:where(.table-wrap,.subtable,.cmp-table) tbody tr.selected td{background:#eaf4ee}
:where(.table-wrap,.subtable,.cmp-table) tbody tr.selected td:first-child{box-shadow:inset 4px 0 var(--teal)}
#company-table td:not(:first-child){min-width:119px}
.stock-name{display:block;font-weight:650;font-size:16px;text-align:left;padding:0;max-width:calc(100% - 58px);overflow:hidden;text-overflow:ellipsis}
.stock-code{font-size:13px;display:block;color:#596e60;margin-top:5px;letter-spacing:.7px;max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis}
.add-compare{position:absolute;right:14px;top:50%;transform:translateY(-50%);float:none;margin:0;font-size:12px;color:var(--teal);padding:5px 7px;border:1px solid #cbded1;border-radius:6px;background:#ffffffb8}
.add-compare:hover{border-color:var(--teal);background:#fff}
.badge{font-size:12px;border-radius:5px;padding:5px 8px;color:#4e6957;background:#edf3ec}
.red,.table-wrap td.red{color:var(--red)}
.green,.table-wrap td.green{color:var(--green)}
.missing,.table-wrap td.missing{color:#637568;font-size:13px;font-weight:400}
.table-foot{display:flex;justify-content:space-between;gap:16px;padding:15px 24px;font-size:12px;color:var(--muted);line-height:1.7;background:#fcfdfb}
.table-foot span:last-child{text-align:right}
.empty{text-align:center;padding:38px;color:var(--muted)}
.empty>span{font-size:32px}
.empty h3{font-size:19px;font-weight:600;color:#4c6555}
.empty p{font-size:14px;line-height:1.8}
.detail{margin-top:24px;padding:27px}
.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.detail-heading h2{font-size:29px;font-weight:650;margin:6px 0 8px}
.detail-heading h2 small{font-size:16px;font-weight:400;color:var(--muted);margin-left:14px}
.detail-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.75}
.detail-heading .eyebrow{font-size:13px}
.price-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:23px 0;margin-bottom:20px;border-bottom:1px solid var(--line)}
.price-item{padding:14px 16px;background:#f5f8f5;border-radius:10px;min-width:0}
.price-item>span{font-size:13px;color:var(--muted);display:block;line-height:1.6}
.price-item b{font-size:25px;font-weight:600;display:block;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.price-item small{font-size:12px;color:var(--muted);line-height:1.6;display:block}
.chart-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px;flex-wrap:wrap}
.segmented{background:#edf2ed;border:1px solid #e0e8df;border-radius:9px;display:flex;padding:4px}
.segmented button{font-size:14px;padding:8px 14px;border-radius:6px;color:var(--muted)}
.segmented .active{background:#fff;color:var(--teal);box-shadow:0 2px 5px #20382112;font-weight:600}
.chart-options{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chart-options select{font-size:14px;border:1px solid #d6e1da;background:#fff;border-radius:8px;padding:10px;max-width:100%;height:44px}
.chart-options button{font-size:14px}
.chart-legend{font-size:13px;color:var(--muted);min-height:30px;line-height:1.8;font-variant-numeric:tabular-nums;margin-bottom:8px}
#chart{height:410px;width:100%;position:relative}
.chart-caption{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);line-height:1.9;margin:14px 0 23px}
.chart-caption a{color:var(--teal)}
.price-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:#f3f7f2;border:1px solid #e3ebe0;border-radius:12px;padding:20px}
.timeline-node{position:relative;min-width:0}
.timeline-node:not(:last-child):after{content:'→';position:absolute;right:0;top:20px;color:#8fac97}
.timeline-node span{font-size:13px;color:var(--muted);display:block}
.timeline-node strong{font-size:17px;font-weight:600;display:block;margin:7px 0}
.timeline-node small{font-size:12px;color:var(--muted);line-height:1.8;display:block}
.detail-warning{font-size:13px;color:#766239;line-height:1.85;margin:16px 0 23px;padding:12px 16px;background:#faf7ee;border-radius:9px}
.detail-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}
.detail-tabs button{font-size:16px;color:var(--muted);padding:13px 0 15px;white-space:nowrap}
.detail-tabs .active{color:var(--teal);box-shadow:inset 0 -3px var(--teal);font-weight:600}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.info-item{padding:19px;background:#f5f8f3;border:1px solid #e7eee2;border-radius:10px;min-width:0}
.info-item span{font-size:13px;color:var(--muted);display:block}
.info-item b{display:block;font-weight:550;font-size:17px;margin-top:9px;overflow-wrap:anywhere;line-height:1.7}
.info-item small{color:var(--muted);font-size:12px;line-height:1.75;display:block;margin-top:7px}
.subtable{overflow:auto;max-height:410px;max-width:100%;margin-top:18px;border:1px solid var(--line);border-radius:10px;scrollbar-width:thin}
.subtable td{height:auto;padding:15px;font-size:14px;max-width:420px;font-weight:400}
.subtable th{font-size:14px;padding:14px}
.subtable td:first-child{min-width:130px}
.subtable tr{cursor:default}
.source-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.source-links a{font-size:14px;padding:10px 13px;border:1px solid var(--line);border-radius:8px}
.source-detail-text{font-size:14px;color:#526958;line-height:1.95;overflow-wrap:anywhere;white-space:pre-wrap}
.sources-view{max-width:1360px;margin:0 auto}
#compare-view{max-width:none}
.sources-view .card{padding:30px;margin-bottom:24px}
.sources-view h2{font-size:24px;margin-bottom:16px}
.sources-view h3{font-size:18px;font-weight:600;margin:24px 0 13px}
.sources-view p,.sources-view li{font-size:15px;line-height:1.9;color:var(--muted)}
.sources-view summary{font-size:15px;color:var(--teal);cursor:pointer;padding:10px 0;font-weight:500}
.sources-view :where(.subtable,.cmp-table) td,.sources-view :where(.subtable,.cmp-table) th{text-align:left;white-space:normal;padding:15px}
.sources-view :where(.subtable,.cmp-table) td:first-child{min-width:180px}
.sources-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:25px 0}
.sources-stats>div{background:#eff5ef;border-radius:10px;padding:20px}
.sources-stats strong{display:block;font-size:35px;color:var(--teal);font-weight:600;font-variant-numeric:tabular-nums}
.sources-stats small{font-size:14px;color:var(--muted)}
.error,.update-status{border:1px solid #e4d5b6;background:#faf6e9;color:#785f2d;font-size:14px;padding:15px 18px;border-radius:10px;margin:14px 0;line-height:1.8}
.error{border-color:#e8c2b9;background:#fff1ed;color:#a04435}
.update-status{margin:0 0 22px}
footer{padding:30px 0 27px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:20px;line-height:1.8}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#1c4f3c;color:white;padding:14px 22px;border-radius:11px;box-shadow:0 6px 28px #102f2a25;font-size:15px;z-index:100;max-width:calc(100vw - 32px)}
.info-note{font-size:14px;color:var(--muted);line-height:1.85;margin:12px 0}
.compare-card{padding:28px;margin-bottom:24px}
.cmp-add{display:flex;gap:12px;margin:24px 0 20px;flex-wrap:wrap}
.cmp-add input,.cmp-add select,.cmp-controls select,.cmp-dates input,#cmp-group{border:1px solid #d6e1da;background:white;border-radius:9px;padding:11px 13px;font-size:15px;min-height:45px;min-width:0}
.cmp-add input{flex:1;max-width:360px}
.cmp-add select{min-width:250px}
.cmp-selected{display:flex;flex-wrap:wrap;gap:10px;max-height:205px;overflow:auto;scrollbar-width:thin}
.compare-pill{border:1px solid #d3e3d7;border-radius:8px;display:flex;align-items:center;background:#eef5ed;padding:9px 11px;gap:12px;font-size:14px}
.compare-pill label{display:flex;align-items:center;gap:7px}
.compare-pill small{font-size:12px;color:var(--muted)}
.compare-pill input{accent-color:var(--teal);width:16px;height:16px}
.compare-pill button{padding:0 3px;color:#68826e;font-size:18px}
.cmp-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px}
.cmp-controls label{font-size:14px;color:#526b58}
.cmp-controls select{display:block;width:100%;margin-top:9px}
.cmp-dates{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--muted);margin:22px 0 17px;flex-wrap:wrap}
.cmp-dates input{font-size:14px}
.cmp-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:#496650;margin:17px 0 0}
.cmp-legend i{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:8px}
#compare-chart{height:440px;width:100%}
.cmp-table{overflow:auto;max-height:700px;border:1px solid var(--line);border-radius:11px;scrollbar-width:thin}
.cmp-table td{min-width:210px;max-width:300px;white-space:normal;overflow-wrap:anywhere;line-height:1.8;text-align:right;cursor:default;font-size:15px;font-weight:400}
.cmp-table th{min-width:210px;font-size:15px}
.cmp-table th small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.cmp-table td:first-child{min-width:270px;max-width:290px;font-size:14px;color:#526b58;text-align:left;background:#f6f9f3}
.cmp-table th:first-child{text-align:left;min-width:270px;max-width:290px}
.compare-card .results-toolbar{padding:0 0 22px}
.compare-card .detail-heading p{max-width:900px;line-height:1.8}
@media(min-width:1700px){
  :root{--page-gutter:44px;--font-data:17px}
  .layout{grid-template-columns:380px minmax(0,1fr);gap:26px}
  .filters{padding:25px}.filters label{font-size:15px}.filters select,.filters input:not([type=checkbox]){font-size:16px;height:46px}
  .range-pair input[type=date]{font-size:13px}
  .tabs button{font-size:16px;padding:13px 22px}
  .stock-name{font-size:17px}
  .summary-strip>div{padding:21px 27px}.summary-strip span{font-size:15px}.summary-strip strong{font-size:46px}.summary-strip small{font-size:13px}
  .chip{font-size:16px;padding:11px 15px}.chip strong{font-size:18px}
  .table-wrap{max-height:590px}
  #chart{height:460px}#compare-chart{height:480px}
  .detail{padding:30px}
}
@media(min-width:2400px){:root{--page-gutter:64px}.layout{grid-template-columns:410px minmax(0,1fr);gap:30px}.table-wrap{max-height:690px}.range-pair input[type=date]{font-size:14px}}
@media(max-width:1250px){
  :root{--page-gutter:24px;--font-data:15px}
  .layout{grid-template-columns:310px minmax(0,1fr);gap:20px}
  .filters{padding:19px}.filters select,.filters input:not([type=checkbox]){font-size:14px}.range-pair input[type=date]{font-size:11px}
  .intro-note{display:none}.topright{gap:12px}.topright .local{display:none}
  .summary-strip{gap:10px}.summary-strip>div{padding:17px}.summary-strip strong{font-size:34px}.summary-strip span{font-size:13px}.summary-strip small{font-size:12px}
  .table-controls{align-items:stretch;flex-direction:column;gap:12px}.search{max-width:none}.sorts{justify-content:flex-end}
  .price-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chart-caption{flex-direction:column;gap:6px}.price-timeline{gap:14px;padding:16px}.timeline-node strong{font-size:15px}
  .cmp-controls{gap:16px}.cmp-controls select{font-size:14px}
}
@media(max-width:950px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .filters{position:static;max-height:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;padding:24px}
  .filter-head,.preset,.save-controls,.filters>.helper,.filters #advanced{grid-column:1/-1}
  .preset p{display:inline;margin-left:20px}.preset p br{display:none}
  .filters select,.filters input:not([type=checkbox]){font-size:15px}.range-pair input[type=date]{font-size:13px}
  .table-controls{flex-direction:row;align-items:center}.search{max-width:330px}
  .topbar{height:76px}.topright{font-size:13px}.tabs button{padding:12px 16px}
  .intro{padding:24px 0}.intro .eyebrow{font-size:12px}h1{font-size:32px}
}
@media(max-width:650px){
  :root{--page-gutter:16px;--font-data:15px}
  .topbar{padding:10px 16px;height:76px;gap:10px}
  .brand{font-size:20px;gap:9px}.brandmark{width:38px;height:38px;border-radius:10px}.brandmark svg{width:25px;height:25px}.brand small{font-size:8px;letter-spacing:1px}
  .topright{gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:160px}.topright #asof{font-size:11px}.topright .quiet{font-size:12px;min-height:32px;padding:5px 9px}
  .intro{padding:23px 0 20px}.intro .eyebrow{font-size:12px;letter-spacing:0}h1{font-size:29px}.intro p{font-size:14px}
  .tabs{gap:4px;padding:5px;margin-bottom:18px;border-radius:11px}.tabs button{font-size:14px;padding:11px 13px}.tabs span{font-size:11px}
  .filters{display:block;padding:20px}.filter-head h2{font-size:20px}.preset p{display:block;margin:9px 0 0}.preset p br{display:initial}
  .filters label{font-size:14px}.filters .filter-section{padding-bottom:22px;margin-bottom:22px}.range-pair input[type=date]{font-size:13px}
  .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-strip>.summary-primary{grid-column:1/-1;padding:19px 22px}
  .summary-primary strong{font-size:43px}.summary-strip>div{padding:18px}.summary-strip span{font-size:13px}.summary-strip small{font-size:12px;line-height:1.7}
  .filter-summary{padding:17px 15px;margin-bottom:18px}
  .filter-summary-heading{gap:10px;margin-bottom:14px}.filter-summary-title{gap:8px}
  .filter-summary-title h2{font-size:17px}.filter-summary-heading p{font-size:13px}
  .active-filters{gap:9px}.chip{width:100%;justify-content:space-between;gap:4px 8px;font-size:14px;padding:10px 12px}.chip strong{font-size:16px}
  #active-filter-count{font-size:12px;padding:3px 7px}.filter-summary-empty{font-size:14px}
  .results-toolbar{padding:20px 18px 16px;align-items:flex-start}.results-toolbar h2{font-size:19px}.results-toolbar p{font-size:13px}.results-toolbar .quiet{font-size:13px;padding:8px 11px}
  .table-controls{padding:0 18px 18px;flex-direction:column;align-items:stretch}.search{max-width:none;min-width:0}.sorts{justify-content:flex-start}.sorts select{max-width:100%;flex:1;min-width:150px;font-size:13px}.sorts .quiet,.column-settings{font-size:13px}
  #column-options{width:255px;right:0}
  :where(.table-wrap,.subtable,.cmp-table) th{font-size:13px}
  .table-wrap{max-height:460px}.table-foot{font-size:12px;display:block;padding:13px 18px}.table-foot span{display:block}.table-foot span:last-child{text-align:left;margin-top:5px}
  .detail{padding:19px;margin-top:20px}.detail-heading{align-items:flex-start;flex-direction:column;gap:12px}.detail-heading h2{font-size:26px}.detail-heading h2 small{font-size:14px}
  .detail-heading .link-button{font-size:13px}.detail-heading p{font-size:13px}
  .price-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px 0}.price-item{padding:13px}.price-item b{font-size:23px}.price-item small{font-size:12px}
  .chart-options{width:100%;gap:8px}.chart-options select{width:100%;font-size:13px}.chart-options button{font-size:13px}.chart-legend{font-size:12px}
  #chart{height:330px}.chart-caption{font-size:12px}
  .price-timeline{grid-template-columns:1fr 1fr;gap:19px;padding:17px}.timeline-node:nth-child(2):after{display:none}
  .timeline-node strong{font-size:16px}.timeline-node span{font-size:12px}.timeline-node small{font-size:12px}
  .detail-warning{font-size:13px}.detail-tabs{gap:21px}.detail-tabs button{font-size:14px}
  .info-grid{grid-template-columns:minmax(0,1fr)}.info-item{padding:17px}.info-item b{font-size:17px}
  .sources-view .card{padding:22px 18px}.sources-view h2{font-size:22px}.sources-view p,.sources-view li{font-size:14px}
  .sources-stats{grid-template-columns:1fr 1fr;gap:12px}.sources-stats>div{padding:16px}.sources-stats strong{font-size:28px}.sources-stats small{font-size:12px}
  .compare-card .detail-heading{align-items:flex-start;flex-direction:column}
  .cmp-controls{grid-template-columns:1fr;gap:16px}.cmp-controls label{font-size:14px}
  .cmp-add{gap:9px}.cmp-add select{min-width:150px;flex:1;width:100%}.cmp-add input{max-width:none;width:100%;flex:auto}.cmp-add button{font-size:13px}
  .compare-pill{font-size:13px;padding:8px}.compare-pill small{font-size:11px}
  .cmp-table td:first-child,.cmp-table th:first-child{min-width:160px;max-width:160px;font-size:13px}
  .cmp-table td,.cmp-table th{min-width:170px}
  #compare-chart{height:330px}.compare-card .results-toolbar{align-items:flex-start;flex-direction:column}
  .cmp-dates{gap:8px;font-size:13px}.cmp-dates>span:first-child{flex-basis:100%}.cmp-dates input{width:130px;font-size:13px;padding:9px 6px}.cmp-legend{font-size:13px}
  #cmp-group{max-width:100%;font-size:14px}
  footer{font-size:12px;display:block;padding:24px 0}footer span{display:block;margin-top:7px;max-width:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}



/* Editable user default, separate from the current live filtering state. */
.preset-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.preset-heading strong{font-size:15px;color:var(--teal-deep)}
#default-state{font-size:11px;color:#506b58;white-space:nowrap;background:#e0ebe3;border-radius:5px;padding:3px 6px}
#default-state.modified{color:#7a5d22;background:#f3ead3}
.preset #default-summary{display:block;margin:11px 0 0;font-size:13px;line-height:1.85}
.preset .default-help{display:block;margin:9px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
.preset-actions{display:flex;gap:9px;margin-top:15px}
.preset-actions .quiet{flex:1;min-height:38px;padding:8px 10px;font-size:13px}
#save-default{background:var(--teal);border-color:var(--teal);color:#fff}
#save-default:hover:enabled{background:var(--teal-deep)}
.default-details{margin-top:13px;border-top:1px solid #d6e5db;padding-top:10px}
.default-details summary{cursor:pointer;font-size:12px;color:var(--teal)}
#default-values{display:grid;gap:6px;margin-top:12px;font-size:13px;color:#425e4c;line-height:1.7}
.preset #default-basis{display:block;font-size:12px;line-height:1.8;margin:12px 0}
#reset-default{font-size:12px;padding:4px 0}


/* A dedicated company screen, with a persistent way back to the saved list. */
.company-page{max-width:1920px;margin:0 auto;min-width:0}
.company-backbar{position:sticky;top:80px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;background:var(--paper)}
.back-button{display:inline-flex;align-items:center;gap:12px;padding:11px 18px;border:1px solid #c9dacf;border-radius:10px;background:#fff;color:var(--teal);font-size:16px;font-weight:600;box-shadow:0 2px 5px #20363005;white-space:nowrap}
.back-button:hover{background:var(--teal-soft);border-color:#9ebbaa}
.back-button span{font-size:22px;line-height:1}
#company-context{font-size:14px;color:var(--muted)}
.company-page .detail{margin-top:0}
.detail-status{padding:60px 24px;text-align:center;color:var(--muted);line-height:1.9}
@media(max-width:950px){.company-backbar{top:76px}}
@media(max-width:650px){
 .company-backbar{padding:14px 0;gap:10px;flex-wrap:wrap}
 .back-button{font-size:15px;padding:10px 14px}
 #company-context{font-size:12px}
 .company-page .detail{margin-top:0}
}

.date-input-help{display:block;margin-top:8px;font-size:12px;line-height:1.7;font-weight:400;color:var(--muted)}
[data-range="listed"]{font-variant-numeric:tabular-nums;letter-spacing:.3px}
