@charset "UTF-8";
:root{--accent:#197e88;--accent-dark:#175e70;--accent-soft:#e8f3f5;--ink:#19344e;--muted:#697d90;--line:#e1e8ee;--surface:#fff;--page:#f3f6f9;--teal:#237e88;--blue:#476e9c;--gold:#899ab1;--font:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font);background:var(--page);font-size:14px;line-height:1.55}button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #55aeb8;outline-offset:3px}button{border:0;background:none}svg{display:block}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.skip{position:fixed;top:-80px;z-index:100;padding:10px 20px;background:white}.skip:focus{top:0}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column;padding:30px 18px 18px}.brand{display:flex;gap:11px;align-items:center;padding:0 7px 36px}.brand-mark{width:37px;height:39px;display:flex;align-items:center;justify-content:center;font-size:31px;font-style:italic;font-weight:850;color:white;background:var(--accent);border-radius:4px 13px 4px 4px;position:relative;overflow:hidden}.brand-mark:after{content:"";width:40px;height:5px;background:#fff5;position:absolute;transform:rotate(-37deg);bottom:4px;right:-10px}.brand b{font-size:17px;letter-spacing:1px}.brand small{display:block;font-size:8px;letter-spacing:1.2px;color:var(--muted);margin-top:4px}.nav-caption{padding:0 13px 14px;font-size:11px;color:#7d8d9b}.nav-caption span{font-size:8px;margin-left:10px;letter-spacing:1px}nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 15px;border-radius:7px;color:#526f89;transition:background .15s}.nav-link:hover{background:#f3f5f7}.nav-link.active{color:var(--accent-dark);background:var(--accent-soft);font-weight:650}.nav-link.active:after{content:"";background:var(--accent);width:5px;height:5px;border-radius:50%;margin-left:auto}.nav-divider{height:1px;background:var(--line);margin:15px 12px}.sidebar-bottom{margin-top:auto;padding-top:35px}.local-card{background:#f5f7f9;border:1px solid #e4e9ee;border-radius:8px;padding:15px 13px;font-size:11px}.local-card b{font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--teal);margin-right:7px}.local-card p{color:var(--muted);line-height:1.8;margin:10px 0 14px}.local-card a{display:flex;justify-content:space-between;font-weight:600;border-top:1px solid #dbe2e9;padding-top:11px}.local-card a span{color:var(--accent)}.sidebar-foot{padding:18px 8px 0;color:#798998;font-size:8px;letter-spacing:1.4px}.sidebar-foot span{display:block;font-size:10px;letter-spacing:.5px;margin-top:5px}.workspace{margin-left:236px}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#fff;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}.source-brand{font-weight:750;letter-spacing:1px;font-size:15px;white-space:nowrap}.source-brand i{color:#9ca8b3;font-style:normal;font-weight:400;padding:0 6px}.header-divider{height:18px;width:1px;background:var(--line)}.topbar-title{font-size:12px;color:#516e88;letter-spacing:.5px}.local-badge{font-size:11px;color:#56748f;display:flex;align-items:center;gap:7px;white-space:nowrap}.local-badge i{width:5px;height:5px;background:#516e88;border-radius:50%}.icon-button{display:flex;align-items:center;justify-content:center;border:1px solid #dbe2e8;border-radius:50%;width:28px;height:28px;font-size:14px;color:#567490;background:white}.icon-button:hover{background:var(--accent-soft);border-color:#afb8c1}.avatar{background:#eaeef2;border:1px solid #dee5eb;border-radius:50%;width:32px;height:32px;text-align:center;line-height:30px;font-size:11px}.mobile-menu{display:none}main{padding:32px 38px 0;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:26px}.eyebrow{color:var(--accent-dark);letter-spacing:2px;font-size:9px;font-weight:600;margin-bottom:7px}h1{font-size:27px;letter-spacing:1.5px;font-weight:700;margin:0}h2{margin:0;font-size:17px}h3{font-size:15px;margin:0;font-weight:650;letter-spacing:.4px}p{margin:0}.page-heading p{font-size:12px;color:var(--muted);margin-top:6px}.heading-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.heading-controls label{display:flex;align-items:center;font-size:11px;gap:10px;color:#60819f}select{border:1px solid #d3dce4;background:#fff;border-radius:5px;padding:9px 29px 9px 11px;font-size:12px;max-width:100%;cursor:pointer}.button{border-radius:5px;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-weight:500;padding:10px 14px;font-size:12px;transition:.15s;white-space:nowrap}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover{background:var(--accent-dark)}.button.secondary{background:#fff;border:1px solid #d3dce4}.button.secondary:hover{background:#f5f7f9}.button .icon{width:15px;height:15px}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:216px;display:flex;justify-content:space-between;align-items:center;background:#162f49;border:1px solid #294961;border-radius:10px;padding:28px 32px;margin-bottom:24px}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#172f48 0%,#1b3a54 42%,#214d63 100%)}.hero-copy{position:relative;z-index:2;max-width:620px}.hero-label{font-size:9px;letter-spacing:2px;color:#78b9c4;display:flex;align-items:center;gap:8px;margin-bottom:9px}.hero-label:before{content:"";width:19px;height:1px;background:#68b1be}.hero h2{font-size:28px;line-height:1.55;letter-spacing:1.5px;font-weight:650}.hero h2 em{font-style:normal;color:var(--accent-dark)}.hero p{color:#b5c9db;font-size:12px;margin:8px 0 18px}.hero-search{display:flex;align-items:center;border:1px solid #cadce5;background:#ffffffdf;border-radius:5px;width:440px;max-width:100%;padding-left:12px;box-shadow:0 3px 7px #17344a08}.hero-search .icon{color:#6f93aa;width:17px}.hero-search input{min-width:0;flex:1;border:0;background:transparent;padding:11px 10px;font-size:11px;outline:none}.hero-search button{margin:4px;background:var(--accent);color:white;border-radius:3px;width:34px;height:32px}.hero-art{width:365px;height:195px;flex:none;position:relative;align-self:flex-end;opacity:.9;margin-bottom:-28px;margin-right:-15px}.hero-art svg{width:100%;height:100%}.hero-art-label{position:absolute;top:6px;right:10px;font-size:8px;letter-spacing:2px;color:#7cb7c9}.section-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.section-label h2{font-size:14px}.section-label>span{font-size:10px;color:#7e8d9b}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{text-align:left;padding:18px 19px 13px;border:1px solid var(--line);background:#fff;border-radius:8px;position:relative;overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s}.kpi:hover{transform:translateY(-2px);border-color:#a2aeb8}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5a7995;font-size:11px}.kpi-icon{width:29px;height:29px;border-radius:7px;background:#f2f5f7;color:#3274a4;display:flex;align-items:center;justify-content:center}.kpi:nth-child(2) .kpi-icon{background:#eef1f4;color:var(--teal)}.kpi:nth-child(3) .kpi-icon{background:#eff2f5;color:var(--blue)}.kpi:nth-child(4) .kpi-icon{background:#e9edf1;color:#6f72a0}.kpi-value{font-size:29px;letter-spacing:-.8px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums;margin:9px 0 10px}.kpi-value small{font-size:11px;margin-left:7px;font-weight:400;letter-spacing:0}.kpi-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.kpi-note{font-size:10px;color:#708ea9}.change{font-size:10px;color:var(--teal);font-weight:600}.change.negative{color:#a55f76}.kpi-period{font-size:8px;color:#82919f;margin-top:5px}.spark{width:76px;height:29px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:19px;margin-bottom:20px}.dashboard-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0;overflow:hidden}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 21px 0}.panel-head p{font-size:10px;color:#708eaa;margin-top:5px}.panel-tools{display:flex;gap:8px;flex:none}.text-button{font-size:10px;color:#708ea9;padding:3px 0;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.text-button:hover{color:var(--accent-dark)}.text-button .icon{width:13px;height:13px}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 21px 2px}.legend{display:flex;gap:13px;font-size:9px;color:#587793;flex-wrap:wrap}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.segmented{display:flex;padding:3px;border:1px solid #e7ecf0;border-radius:5px;background:#f7f9fa;gap:2px}.segmented button{font-size:9px;padding:4px 9px;color:#7e8e9c;border-radius:3px}.segmented button.active{background:#fff;box-shadow:0 1px 3px #232e3a0e;color:var(--accent-dark)}.chart{width:100%;min-height:220px;position:relative}.chart svg{width:100%;height:auto;overflow:visible}.chart-note{border-top:1px solid #edf0f3;padding:10px 21px;font-size:9px;color:#7e8e9c;display:flex;justify-content:space-between;gap:8px}.chart-note a{color:#708ea9}.chart-note a:hover{color:var(--accent-dark)}.chart .domain{display:none}.chart .tick text{font-family:var(--font);fill:#7f8e9c;font-size:9px}.chart .tick line{stroke:#ebeff3}.chart .grid .domain{display:none}.insight-band{display:flex;gap:10px;align-items:flex-start;background:#f3f5f7;padding:12px 15px;border-radius:5px;margin:0 20px 15px;color:#54718c;font-size:10px;line-height:1.8}.insight-band .icon{width:16px;height:16px;margin-top:2px;color:#4c8f9e}.lower-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1fr);gap:19px;margin-bottom:20px}.map-combo{display:grid;grid-template-columns:42% 58%;padding:0 15px 5px;align-items:center}.map-chart{min-height:220px}.mini-rank{padding:8px 0}.mini-rank button{width:100%;text-align:left;display:grid;grid-template-columns:17px 1fr auto;gap:6px;align-items:center;padding:9px 3px;font-size:10px;border-bottom:1px solid #ebeff3}.mini-rank b{font-weight:500;color:#798fa7;font-size:9px}.mini-rank strong{font-weight:600;color:var(--teal)}.mini-rank button:hover{background:#f2f5f7}.growth-gauge{padding:22px;text-align:center}.growth-gauge .large{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-1px;color:var(--accent-dark)}.growth-gauge .large small{font-size:16px}.growth-gauge p{font-size:10px;color:#82919e;margin-top:7px}.insight-list{padding:7px 20px 10px}.insight-item{padding:14px 0;border-bottom:1px solid #e8ecf0;display:flex;gap:11px;width:100%;text-align:left}.insight-item:last-child{border:0}.insight-no{font-size:10px;font-weight:600;color:var(--accent);line-height:1.8}.insight-item h4{font-size:11px;line-height:1.65;font-weight:500;margin:0 0 5px}.insight-item p{font-size:9px;color:#8796a3}.insight-item:hover h4{color:var(--accent-dark)}.detail-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;margin-bottom:22px;border-radius:8px;background:#edf1f4;border:1px solid #dee4ea}.detail-banner h2{font-size:16px;margin-bottom:5px}.detail-banner p{font-size:11px;color:#6283a1}.detail-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.detail-controls label{font-size:11px;color:#587793}.wide-chart{min-height:340px}.small-note{font-size:11px;color:var(--muted);line-height:1.9}.callout{padding:17px 22px;border-left:3px solid #7aaaba;background:#eff2f5;margin-bottom:20px;font-size:12px;line-height:1.9;color:#516d87}.search-row{display:flex;gap:12px;align-items:center;margin-bottom:22px}.search-input{display:flex;align-items:center;gap:9px;background:white;border:1px solid #d3dce4;border-radius:6px;padding:0 13px;flex:1;max-width:560px}.search-input input{border:0;outline:none;width:100%;padding:12px 0;background:transparent;font-size:12px}.search-input .icon{width:16px;color:#81909e}.source-pills{display:flex;gap:6px}.source-pills button{padding:7px 12px;border-radius:5px;background:white;border:1px solid #e0e6eb;font-size:11px}.source-pills .active{border-color:#a5afb9;color:var(--accent-dark);background:var(--accent-soft)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.data-table th{text-align:left;padding:12px 17px;color:#6e8ca8;font-weight:500;background:#f5f7f9;border-bottom:1px solid var(--line)}.data-table td{padding:12px 17px;border-bottom:1px solid #e9eef2}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f7f9fa}.data-table td.numeric,.data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table .highlight{background:#f0f3f6;color:#245b83}.data-table .title-cell{white-space:normal;min-width:220px;max-width:500px;line-height:1.7}.data-table button{color:var(--accent-dark);font-size:11px}.tag{font-size:9px;display:inline-block;background:#edf0f3;color:#287c86;padding:3px 6px;border-radius:3px}.tag.fsc{background:#f0f3f5;color:#6283a1}.pagination{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;color:#7290ab;font-size:11px}.pagination button{border:1px solid #dde3e9;border-radius:4px;padding:5px 10px;margin-left:6px;background:white}.metric-detail{padding:20px;display:flex;gap:30px;flex-wrap:wrap}.metric-detail div{font-size:10px;color:#6a89a6}.metric-detail b{display:block;margin-top:4px;font-size:20px;color:#223e59}.api-box{background:#172f48;color:#d3dce4;padding:22px;border-radius:8px;margin-top:20px}.api-box h3{color:#fff}.api-box p{margin:7px 0 12px;font-size:11px;color:#a2aeb8}.api-box code{font-family:monospace;font-size:11px;word-break:break-all}.api-box a{text-decoration:underline}.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.research-card{padding:25px;display:flex;flex-direction:column;align-items:flex-start}.research-card .research-index{font-family:Georgia,serif;font-size:35px;color:#8da3bd}.research-card h3{margin:12px 0;font-size:18px;line-height:1.7}.research-card p{color:#6f8da8;font-size:12px;line-height:1.9;margin-bottom:22px}.research-card .button{margin-top:auto}.empty{padding:60px 20px;text-align:center;color:#7a8a98;font-size:13px}footer{border-top:1px solid #dfe5eb;padding:20px 0 22px;display:flex;justify-content:space-between;gap:12px;color:#8594a1;font-size:9px;margin-top:27px}dialog{border:1px solid #dde4ea;border-radius:12px;width:min(1100px,94vw);max-height:88vh;padding:0;color:var(--ink);box-shadow:0 20px 80px #17344a30}dialog::backdrop{background:#10294066;backdrop-filter:blur(3px)}.modal-top{position:sticky;top:0;background:white;z-index:2;padding:22px 26px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}#modal-content{padding:20px 26px 28px}#modal-content p{line-height:1.9;margin-bottom:12px;font-size:12px;color:#5a7a97}#modal-content a{color:var(--accent-dark);text-decoration:underline}#modal-content .table-wrap{max-height:52vh;border:1px solid var(--line);border-radius:6px;margin:15px 0}#modal-content .data-table th{position:sticky;top:0}#modal-content .modal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.modal-info{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:#6b8aa6;margin-bottom:16px}#tooltip{position:fixed;pointer-events:none;z-index:100;background:#17344aef;color:#fff;border-radius:5px;padding:10px 13px;font-size:11px;line-height:1.9;box-shadow:0 3px 12px #0002;max-width:290px;display:none}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(15px);padding:12px 24px;border-radius:6px;background:#17344a;color:white;font-size:12px;z-index:110;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.method-grid h3{margin-bottom:10px}.method-grid ul{padding-left:20px;color:#6182a0;font-size:12px;line-height:2}.full-span{grid-column:1/-1}.map-chart path{transition:opacity .15s;cursor:pointer}.map-chart path:hover{opacity:.72}.stat-row{display:flex;justify-content:space-between;padding:12px 20px;border-top:1px solid #e8ecf0;font-size:11px;color:#6b8aa6}.stat-row strong{font-weight:500;color:#375d7e}
@media(min-width:1550px){.hero-art{width:440px}.hero{min-height:232px}.hero h2{font-size:32px}.chart{min-height:240px}}
@media(max-width:1250px){.sidebar{width:212px;padding-left:14px;padding-right:14px}.workspace{margin-left:212px}.topbar{padding:0 25px}main{padding:27px 25px 0}.hero{padding:24px}.hero-art{width:245px;margin-right:-35px;opacity:.65}.hero h2{font-size:25px}.kpi-grid{gap:11px}.kpi{padding:15px 14px}.kpi-value{font-size:25px}.kpi-bottom{gap:3px}.spark{width:55px}.lower-grid{grid-template-columns:1fr 1fr}.lower-grid>.panel:last-child{grid-column:1/-1}.lower-grid .insight-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lower-grid .insight-item{border:0}.page-heading{align-items:flex-start}.heading-controls{justify-content:flex-end;gap:8px}.heading-controls label{font-size:10px}.header-divider,.topbar-title{display:none}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:980px){.hero-art{position:absolute;right:0;opacity:.3}.hero-copy{max-width:90%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.equal{grid-template-columns:1fr}.dashboard-grid.triple{grid-template-columns:1fr 1fr}.page-heading{flex-direction:column;gap:16px}.heading-controls{justify-content:flex-start}.chart{min-height:260px}.lower-grid{grid-template-columns:1fr 1fr}.research-grid{grid-template-columns:1fr}.chart-toolbar{flex-wrap:wrap}.detail-banner{align-items:flex-start;flex-direction:column}.source-pills{flex-wrap:wrap}.search-row{align-items:stretch;flex-direction:column}.search-input{max-width:none}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);width:236px;box-shadow:15px 0 40px #17344a15;transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{height:62px;padding:0 18px;position:sticky;top:0;z-index:25}.topbar-left{gap:13px}.topbar-right{gap:13px}.mobile-menu{display:flex;border:0;border-radius:4px;font-size:19px}.source-brand{font-size:13px}.avatar{display:none}.local-badge{font-size:10px}main{padding:22px 16px 0}.page-heading{margin-bottom:18px}h1{font-size:24px}.eyebrow{font-size:8px}.hero{padding:22px 20px;min-height:230px;margin-bottom:20px}.hero h2{font-size:24px}.hero-copy{max-width:100%}.hero p{max-width:270px;line-height:1.8}.hero-search{width:100%}.hero-art{right:-40px}.section-label>span{font-size:8px}.kpi-grid{gap:10px;margin-bottom:18px}.kpi{padding:14px 12px}.kpi-value{font-size:26px}.kpi-value small{font-size:10px}.kpi-icon{width:24px;height:24px}.kpi-icon .icon{width:16px}.kpi-top{font-size:10px}.kpi-note{font-size:8px}.spark{width:48px}.kpi-period{font-size:8px}.lower-grid,.dashboard-grid.triple{grid-template-columns:1fr}.lower-grid>.panel:last-child{grid-column:auto}.lower-grid .insight-list{display:block}.lower-grid .insight-item{border-bottom:1px solid #e8ecf0}.panel-head{padding:18px 17px 0}.chart-toolbar{padding-left:17px;padding-right:17px}.chart-note{padding:10px 17px;font-size:8px}.panel-head h3{font-size:14px}.heading-controls{width:100%;justify-content:space-between}.heading-controls .button{font-size:10px;padding:10px}.heading-controls label{gap:6px}.heading-controls select{font-size:11px;padding:9px 24px 9px 9px}.chart{min-height:220px}.map-combo{grid-template-columns:45% 55%}.chart-toolbar .legend{gap:10px;font-size:8px}.map-chart{min-height:250px}footer{flex-direction:column;font-size:8px;gap:5px}.method-grid{grid-template-columns:1fr}#modal-content{padding:18px}.modal-top{padding:18px}.modal-top h2{font-size:15px}.data-table{font-size:10px}.data-table td,.data-table th{padding:11px 12px}.page-heading p{font-size:11px}.research-card{padding:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.sidebar-close,.nav-overlay{display:none}
@media(max-width:700px){.hero-art-label{display:none}.sidebar-close{display:flex;position:absolute;right:10px;top:9px;width:23px;height:23px;font-size:16px}.sidebar.open+.nav-overlay{display:block;position:fixed;inset:0;background:#10294055;z-index:29;cursor:default}.sidebar .brand{padding-top:12px}}
@media print{.sidebar,.topbar,.heading-controls,.hero-search,.panel-tools,.segmented,footer{display:none!important}.workspace{margin:0}main{padding:0}.panel,.kpi{break-inside:avoid}.hero{min-height:150px}.page-heading{margin:10px 0}.dashboard-grid{display:block}.panel{margin-bottom:15px}}
/* Advanced analytical workbench */
.panel{box-shadow:0 3px 14px #2c3b4903}.panel-head{padding-bottom:4px}.panel-tools{align-items:center;gap:6px}.chart-action{padding:4px 5px;font-size:8px;color:#6d8ca8;border:1px solid #e0e6ec;border-radius:3px;line-height:1.5;background:#fff}.chart-action:hover{color:#195d78;border-color:#86b8c2;background:#edf6f8}.chart-action:last-child{font-size:15px;padding:0 4px;line-height:1.4}.analysis-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:25px 28px;background:linear-gradient(115deg,#eaf1f7,#eef7f7);border:1px solid #dce3e9;border-radius:9px}.analysis-strip h2{font-size:23px;letter-spacing:1px;margin:3px 0 8px}.analysis-strip p{font-size:12px;color:#708eaa}.analysis-strip label{font-size:11px;color:#6384a2;display:flex;gap:10px;align-items:center}.viz-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:13px 21px 4px}.viz-instruction{display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.8;color:#6f8da9;padding:12px 21px;background:#f8f9fa}.viz-instruction .icon{width:14px;height:14px;margin-top:2px;flex:none}.advanced-block{margin-bottom:22px}.advanced-svg text{font-family:var(--font);pointer-events:none}.advanced-svg .axis-caption{font-size:9px;fill:#6f8da8}.advanced-svg .domain{display:none}.advanced-svg .tick line{stroke:#e6ebef}.advanced-svg .tick text{font-size:9px;fill:#7290ab}.advanced-svg .zero-rule{stroke:#8f9ca9;stroke-dasharray:4 4;stroke-width:1}.advanced-svg .median-rule{stroke:#8c9aa7;stroke-dasharray:4 5;stroke-width:1}.advanced-svg .cursor-rule{stroke:#5f809e;stroke-dasharray:3 4;stroke-width:1}.time-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 21px 5px}.series-toggles{display:flex;gap:7px;flex-wrap:wrap}.series-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:#516d86;padding:5px 7px;border:1px solid #dfe5eb;border-radius:4px;transition:opacity .12s}.series-toggle i,.time-readout i{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.series-toggle.off{opacity:.4;text-decoration:line-through;background:#f0f3f5}.series-toggle:hover{border-color:#abb5be}.time-buttons{display:flex;gap:5px;flex:none}.micro-button{font-size:9px;padding:5px 8px;border-radius:4px;border:1px solid #dee5eb;color:#6e8ca8;background:#f8f9fa}.micro-button:hover,.micro-button[aria-pressed=true]{background:#e5eaee;color:#1b6980;border-color:#afb9c2}.time-readout{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:10px 21px;background:#f6f8f9;border-top:1px solid #e8edf1;font-size:9px;color:#6e8ca8;min-height:37px}.time-readout>b{font-size:10px;font-variant-numeric:tabular-nums;color:#355c7b;letter-spacing:.5px}.time-readout span{display:inline-flex;align-items:center;gap:5px}.time-readout strong{font-size:11px;color:#234d6f;font-weight:600;font-variant-numeric:tabular-nums}.range-selects{display:flex;align-items:center;gap:12px;padding:10px 21px;color:#808f9d;font-size:9px;border-top:1px solid #e8ecf0}.range-selects>span{margin-right:auto}.range-selects label{display:flex;gap:5px;align-items:center}.range-selects select{padding:4px 20px 4px 6px;font-size:9px;border-color:#dae1e8;background:#fff}.time-brush .selection{fill:#73aebb;fill-opacity:.19;stroke:#468e9d;stroke-width:1}.time-brush .handle{fill:#468e9d;rx:2}.time-brush .overlay{cursor:crosshair}.time-explorer{min-height:0}.tree-cell rect,.industry-bubble,.bank-bubble,.heat-cell,.county-shape{transition:opacity .12s,stroke-width .12s;cursor:pointer}.tree-cell.is-hovered rect{stroke:#227f8c;stroke-width:3}.industry-bubble.is-hovered,.bank-bubble.is-hovered{stroke:#227f8c;stroke-width:3;fill-opacity:1}.heat-cell.is-hovered{stroke:#19344e;stroke-width:2.5}.county-shape.is-hovered{stroke:#227f8c;stroke-width:2;filter:brightness(1.08)}.tree-cell:focus,.industry-bubble:focus,.bank-bubble:focus,.heat-cell:focus,.county-shape:focus{outline:none;stroke:#227f8c;stroke-width:3}.selection-ribbon{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:22px 27px;margin:0 0 20px;border:1px solid #dce3e9;border-left:3px solid #2d8d9b;background:#fbfcfc;border-radius:7px;box-shadow:0 4px 16px #445c7205}.selection-heading{display:flex;align-items:center;gap:12px;margin-right:auto}.selection-dot{width:7px;height:7px;border-radius:50%;background:#227f8c;display:inline-block;flex:none;box-shadow:0 0 0 4px #227f8c12}.selection-heading small,.selection-stat small{font-size:9px;color:#798998;display:block}.selection-heading h3{font-size:19px;letter-spacing:1px;margin-top:4px}.selection-stat b{font-size:22px;font-weight:600;letter-spacing:-.5px;color:#234a6a;display:block;margin-top:4px;font-variant-numeric:tabular-nums}.selection-stat em{font-size:10px;font-style:normal;letter-spacing:0;font-weight:400}.heat-selection{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f1f4f6;margin:0 21px 8px;padding:13px 17px;border:1px solid #d8dfe6;border-radius:5px;font-size:10px;color:#6787a4}.heat-selection b{color:#416780;font-size:12px}.heat-selection strong{font-size:17px;color:#2a6379;font-weight:600}.heat-selection label{margin-left:auto;display:flex;gap:7px;align-items:center}.heat-selection select{font-size:10px;padding:5px 20px 5px 7px}.viz-scroll{overflow-x:auto;overscroll-behavior-x:contain}.viz-scroll .chart{min-width:680px}.bank-focus{display:flex;gap:19px;align-items:center;flex-wrap:wrap;margin:0 21px 16px;background:#f1f4f6;border:1px solid #dae1e8;border-radius:5px;padding:12px 17px;font-size:10px;color:#6d8ba7}.bank-focus b{color:#216b81;font-size:12px}.chart-fullscreen{width:min(1500px,96vw);max-width:96vw;max-height:94vh;padding:0;background:#f3f6f8}.fullscreen-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;background:#fff;border-bottom:1px solid #dfe5eb;font-size:11px;color:#6d8ba7;position:sticky;top:0;z-index:5}.fullscreen-body{padding:20px;overflow:auto}.fullscreen-body .panel{max-width:1200px;margin:auto}.fullscreen-body .chart svg{max-height:65vh;min-height:320px}.fullscreen-body .chart-action:last-child{display:none}#tooltip.advanced-tip{background:#fffffff7;color:#566c80;border:1px solid #d9e0e7;box-shadow:0 8px 32px #17344a26;backdrop-filter:blur(8px);padding:13px 16px;min-width:210px;max-width:320px;font-size:11px;border-radius:8px}.tip-title{font-size:13px;font-weight:650;color:#244760;border-bottom:1px solid #e3e8ed;padding-bottom:8px;margin-bottom:7px}.tip-row{display:flex;gap:23px;justify-content:space-between;line-height:2.1;font-size:10px}.tip-row b{font-weight:600;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}.tip-foot{border-top:1px solid #e3e8ed;padding-top:7px;margin-top:7px;font-size:9px;color:#7f8f9d}.panel:has(#bank-landscape),.panel:has(#loan-distribution),.panel:has(#credit-heatmap){margin-bottom:22px}.county-rank{cursor:pointer}.county-rank.is-hovered text{fill:#216b81}.county-rank.is-hovered line{stroke:#227f8c}.series-toggle:focus-visible,.micro-button:focus-visible,.chart-action:focus-visible{outline:2px solid #67a6b6;outline-offset:3px}
@media(max-width:980px){.selection-ribbon{gap:22px}.selection-heading{width:100%}.analysis-strip{align-items:flex-start}.time-controls{padding:12px 17px 5px}.analysis-strip h2{font-size:20px}}
@media(max-width:700px){.sidebar{transition:none}.analysis-strip{flex-direction:column;padding:22px 20px;gap:15px}.analysis-strip h2{font-size:21px}.analysis-strip p{line-height:1.8;font-size:11px}.analysis-strip label{font-size:10px}.selection-ribbon{padding:18px 20px;gap:19px}.selection-stat b{font-size:20px}.selection-stat small{font-size:9px}.selection-heading h3{font-size:17px}.time-readout{padding:10px 16px;font-size:8px;gap:8px}.time-readout span{gap:4px}.time-readout strong{font-size:10px}.range-selects{padding:10px 16px;gap:7px;flex-wrap:wrap}.range-selects>span{width:100%;margin:0}.time-controls{flex-wrap:wrap}.series-toggle{font-size:9px}.time-buttons{margin-left:auto}.chart-action{font-size:7px;padding:4px}.panel-head{gap:9px}.panel-head h3{font-size:13px}.panel-head p{font-size:9px}.panel-tools{gap:4px}.panel-tools .text-button{font-size:9px}.heat-selection{margin:0 15px 10px;padding:12px;gap:10px}.heat-selection label{width:100%;margin:0}.bank-focus{margin:0 15px 13px;gap:8px 14px}.bank-focus b{width:100%}.viz-toolbar{padding:12px 16px 4px}.fullscreen-body{padding:8px}.fullscreen-bar{padding:10px;font-size:9px}.fullscreen-bar .button{font-size:10px;padding:7px}.fullscreen-body .chart svg{min-height:250px}.fullscreen-body .panel{overflow:auto}.advanced-svg .axis-caption{font-size:8px}#tooltip.advanced-tip{min-width:185px;max-width:280px}}

/* JCIC identity-inspired palette: midnight blue, mineral teal and platinum. */
:root{--brand-navy:#244f7b;--brand-teal:#54acb1;--accent:#197e88;--accent-dark:#175e70;--accent-soft:#e8f3f5;--ink:#19344e;--muted:#657b8f;--line:#e1e8ee;--page:#f3f6f9;--teal:#237e88;--blue:#476e9c;--gold:#879bb4}
body{background:radial-gradient(ellipse at 90% 0,#edf3f7,transparent 50%),var(--page)}
.sidebar{background:linear-gradient(165deg,#173550 0%,#11283f 70%,#14394c 100%);color:#edf5fb;border-right:0}
.brand b{color:#f2f7fc;font-weight:600}.brand small{color:#8faec6}.brand-mark{background:linear-gradient(140deg,#58adb3,#2b788d);box-shadow:0 5px 18px #061a3230;border-radius:7px 14px 7px 7px}
.nav-caption{color:#89a4bb}.nav-link{color:#b9cbd9;border:1px solid transparent}.nav-link:hover{background:#ffffff0c;color:white}.nav-link.active{color:#e4fcff;background:linear-gradient(90deg,#327c8b66,#3c718a22);border-color:#5da4b333}.nav-link.active:after{background:#76c7cb;box-shadow:0 0 9px #65c8cc60}.nav-divider{background:#ffffff16}.local-card{background:#ffffff07;border-color:#97bec222}.local-card p{color:#94afc2}.local-card a{border-color:#ffffff15;color:#c9e1ed}.local-card a span{color:#74bfc9}.status-dot{background:#69bec7}.sidebar-foot{color:#7d9ab0}.sidebar-close{background:#254960;color:#dcecf6;border-color:#557489}
.topbar{box-shadow:0 2px 12px #17344a03}.source-brand{color:var(--brand-navy)}.avatar{background:#edf4f8;color:#396082;border-color:#d9e5ee}.local-badge{color:#527484}.local-badge i{background:#32989f}.icon-button:hover{border-color:#8eb7c7}.button.primary{box-shadow:0 3px 8px #1c718515}.button.secondary:hover{border-color:#9ab7ca;background:#f4f8fb}
.hero{border-radius:12px;box-shadow:0 8px 24px #1c395412;color:#f2f7fb}.hero:before{background:radial-gradient(ellipse at 90% 95%,#337b8e55,transparent 55%),linear-gradient(115deg,#142d47,#1c3c57 62%,#22536a)}.hero h2{font-weight:600}.hero h2 em{color:#81ced1}.hero p{color:#b5c9db}.hero-search{background:#ffffffed;border-color:#ffffff50;color:var(--ink);box-shadow:0 4px 12px #071f3220}.hero-search button{background:#287f8e}.hero-art{opacity:.85}.hero-label{color:#82bdc9}.hero-art-label{color:#8dbbc9}
.kpi{box-shadow:0 3px 15px #183c5805;border-radius:10px}.kpi:hover{border-color:#92b8c8;box-shadow:0 6px 22px #183c5810}.kpi-icon{background:#eaf1f8;color:#467aa6}.kpi:nth-child(2) .kpi-icon{background:#e9f4f5;color:#2a8690}.kpi:nth-child(3) .kpi-icon{background:#edf0f8;color:#6c77a5}.kpi:nth-child(4) .kpi-icon{background:#eff3f7;color:#6c87a1}.kpi-value{font-weight:600;color:#183951}.kpi-top{color:#61788d}.kpi-period,.kpi-note{color:#78899b}.change.negative{color:#a55f76}
.panel{border-radius:10px;box-shadow:0 4px 18px #183c5804}.panel-head h3{color:#23445f}.panel-head p,.chart-note{color:#72869a}.chart-action{color:#688297;border-color:#e0e8ef}.chart-action:hover{background:#edf6f8;color:#186477;border-color:#8db6c4}.insight-band,.callout{background:#edf4f8;color:#536f87}.insight-band .icon{color:#4b8b9f}.insight-no{color:#337e93}.callout{border-left-color:#6a9cb6}.analysis-strip{background:linear-gradient(112deg,#e9f0f8,#edf7f7);border-color:#dce7ee}.analysis-strip h2{color:#244c6c}.analysis-strip p{color:#627c91}.selection-ribbon{background:linear-gradient(100deg,#ffffff,#f4f9fb);border-color:#dce8ee;border-left-color:#3a8b9c}.selection-dot{background:#328b9a;box-shadow:0 0 0 4px #328b9a13}.heat-selection,.bank-focus{background:#f0f6f9;border-color:#dfebf0}.time-readout{background:#f4f8fb}.time-brush .selection{fill:#548fae;fill-opacity:.15;stroke:#508ba5}.time-brush .handle{fill:#4e8fa5}.tree-cell.is-hovered rect,.industry-bubble.is-hovered,.bank-bubble.is-hovered,.county-shape.is-hovered{stroke:#173f60}.tree-cell:focus-visible rect{stroke:#173f60;stroke-width:3}.chart-action:focus-visible,.series-toggle:focus-visible,.micro-button:focus-visible{outline-color:#499eb0}#tooltip.advanced-tip{background:#fffffffa;border-color:#d9e6ef;box-shadow:0 10px 35px #0d2f4f24}#toast{background:#183a53;border:1px solid #3c6075}footer{color:#73889a}
@media print{.hero{color:#19344e;background:#edf4f8}.hero:before{background:#edf4f8}.hero p{color:#647c8e}.hero h2 em{color:#237e88}}
/* Research workbench v3: restrained chrome, vivid analytical marks. */
.research-tabs{display:flex;gap:30px;border-bottom:1px solid #dce6ee;margin:3px 0 0;overflow:auto;scrollbar-width:none}.research-tabs button{padding:15px 0 14px;position:relative;white-space:nowrap;color:#74899b;font-size:13px;letter-spacing:.5px;border-bottom:2px solid transparent}.research-tabs button span{font-size:9px;letter-spacing:1px;margin-right:8px;color:#9aafbf}.research-tabs button[aria-selected=true]{color:#285d7f;border-color:#39a6b6;font-weight:650}.research-tabs button[aria-selected=true] span{color:#28a5b4}.research-tabs button:hover{color:#258a9a}.research-rangebar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 0 22px}.research-rangebar>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.range-label-text{font-size:10px;color:#8498a8;margin-right:9px}.research-rangebar button{font-size:10px;color:#7a90a3;padding:5px 9px;border-radius:20px}.research-rangebar button.active{background:#e5eff7;color:#326f9c}.research-rangebar .reset-workbench{border:1px solid #dfe8f0;border-radius:5px;background:#ffffffa0;color:#597c95;font-size:10px;white-space:nowrap}.research-rangebar .reset-workbench:hover{background:#eaf4f8;border-color:#b4d4df}.heading-time-mode{display:flex;gap:2px;background:#eaf0f5;padding:3px;border-radius:6px}.heading-time-mode button{font-size:10px;color:#6d879d;padding:7px 10px;border-radius:4px;white-space:nowrap}.heading-time-mode button.active{background:#fff;color:#245e7a;box-shadow:0 2px 5px #284d7008}.research-brief{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;align-items:center;margin:0 0 20px;padding:8px 0 8px}.research-brief .eyebrow{color:#3193a4;font-size:9px;letter-spacing:2px}.research-brief h2{font-size:23px;font-weight:600;line-height:1.65;letter-spacing:.6px;color:#254961}.research-brief>div>p{font-size:12px;line-height:1.9;color:#778e9e;margin-top:9px;max-width:600px}.research-answer{padding:18px 22px;background:linear-gradient(110deg,#e9f4f7aa,#f7fbff);border-radius:8px;border-left:2px solid #73c3d1}.research-answer>span{font-size:9px;letter-spacing:1.5px;color:#4295aa}.research-answer p{font-size:12px!important;color:#426c85!important;line-height:1.9!important;margin-top:6px!important}.research-method{display:flex;gap:10px;align-items:flex-start;color:#8195a4;background:#eff4f880;padding:12px 16px;border-radius:6px;font-size:10px;line-height:1.9;margin-bottom:23px}.research-method .icon{width:14px;height:14px;margin-top:2px;flex:none;color:#7fabbf}.research-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:0 0 20px;color:#8b9eac;font-size:10px}.research-controls label{display:flex;align-items:center;gap:12px;font-size:11px;color:#55788f}.research-controls select{font-size:11px;min-width:130px}.research-panel{margin-bottom:22px}.research-grid-charts{align-items:start;gap:22px;margin-bottom:0}.research-panel .panel-head{padding:23px 24px 8px}.research-panel .panel-head h3{font-size:15px;letter-spacing:.4px;font-weight:600}.research-panel .panel-head p{font-size:10px;line-height:1.8;max-width:580px;margin-top:7px}.research-panel .chart-note{background:#fcfdfe;border-top-color:#f1f5f8}.panel{border:1px solid #e1eaf1;box-shadow:0 4px 20px #25496b03}.composition-legend{display:flex;flex-wrap:wrap;gap:9px 18px;padding:1px 24px 19px;color:#6a8399;font-size:10px}.composition-legend span{display:flex;align-items:center;gap:6px}.composition-legend i{height:7px;width:7px;border-radius:2px;display:block}.composition-area{transition:fill-opacity .18s;cursor:crosshair}.composition-area.is-hovered{fill-opacity:1;filter:brightness(1.04)}.research-bubble{cursor:pointer;transition:fill-opacity .18s}.research-bubble.is-hovered{fill-opacity:1;filter:drop-shadow(0 3px 5px #24597318)}.research-dumbbell{cursor:pointer}.research-dumbbell.is-hovered line{stroke:#5598b5}.bank-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 12px;padding:16px 20px;background:#fff;border:1px solid #e4ecf3;border-radius:8px;margin-bottom:23px}.bank-selector label{display:flex;gap:7px;align-items:center;font-size:10px;color:#66839a;cursor:pointer}.bank-selector input{accent-color:#3898ba;height:12px;width:12px;margin:0}.bank-selector label:has(input:checked){color:#277795;font-weight:600}
/* Selection uses contrast and a light highlight; no heavy enclosing strokes. */
.tree-cell rect{stroke:#ffffff;stroke-width:.6px;transition:filter .16s}.tree-cell{transition:opacity .18s;outline:none}.tree-cell.is-hovered rect{stroke:#ffffff;stroke-width:.8px;filter:brightness(1.06)}.tree-cell:focus-visible rect{stroke:#ffffff;stroke-width:1.1px;filter:brightness(1.1)}.tree-cell:focus{outline:none;stroke:none}.industry-bubble.is-hovered,.bank-bubble.is-hovered,.county-shape.is-hovered{stroke:#fff;stroke-width:1.1px;filter:brightness(1.05)}.industry-bubble:focus,.bank-bubble:focus,.county-shape:focus{stroke:#fff;stroke-width:1.1px}.heat-cell.is-hovered,.heat-cell:focus{stroke:#fff;stroke-width:1px}.selection-ribbon{border-left-width:2px;box-shadow:none}.advanced-svg .tick line{stroke:#eaf0f5;stroke-width:.6}.advanced-svg .zero-rule,.advanced-svg .median-rule{stroke-width:.6;stroke:#9ab3c7}.time-brush .selection{stroke-width:.6;fill:#50a8db;fill-opacity:.13}.time-brush .handle{fill:#85b9d1}.chart-action{font-size:8px;border-color:#e3edf4;color:#7293aa}.series-toggle{border-color:#e6edf4;border-radius:20px;padding:5px 9px}.series-toggle:hover{border-color:#b7d5e7}.series-toggle.off{opacity:.35}.series-toggle i{height:6px;width:6px}.chart-fullscreen .panel{border-color:#edf3f7}.research-grid-charts .panel{height:auto}.research-panel .advanced-svg text{letter-spacing:.1px}
@media(max-width:1250px){.research-brief{gap:23px;grid-template-columns:1.15fr 1fr}.research-brief h2{font-size:21px}.bank-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.heading-controls{max-width:480px}}
@media(max-width:980px){.research-brief{grid-template-columns:1fr;gap:16px}.research-answer{padding:14px 18px}.research-tabs{gap:24px}.heading-controls{max-width:none}.research-grid-charts .panel{margin-bottom:20px}}
@media(max-width:700px){.research-tabs{gap:22px}.research-tabs button{font-size:12px;padding:12px 0}.research-tabs button span{display:none}.research-rangebar{padding:14px 0 19px;gap:6px}.range-label-text{display:none}.research-rangebar button{font-size:9px;padding:5px 7px}.research-rangebar .reset-workbench{font-size:9px;padding:5px 7px}.research-brief{margin-bottom:16px}.research-brief h2{font-size:21px}.research-brief>div>p{font-size:11px}.research-answer p{font-size:11px!important}.research-method{font-size:9px;padding:11px 13px;margin-bottom:18px}.research-panel .panel-head{padding:18px 16px 8px;gap:8px}.research-panel .panel-head h3{font-size:13px}.research-panel .panel-head p{font-size:9px}.research-panel .panel-tools{gap:3px}.research-controls{gap:9px;margin-bottom:17px}.research-controls>span{font-size:9px}.composition-legend{font-size:9px;gap:8px 13px;padding:0 16px 16px}.bank-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 9px;padding:15px}.bank-selector label{font-size:9px}.heading-time-mode button{font-size:9px;padding:6px 9px}.heading-controls{flex-wrap:wrap;justify-content:flex-start;gap:8px}.heading-controls>.button{margin-left:auto}.research-tabs button:focus-visible{outline-offset:-3px}}
.research-guide-list{padding-left:17px;color:#5e7d93;font-size:12px;line-height:2;margin:0 0 18px}.research-card .eyebrow{line-height:1.8}.research-card h3{font-size:18px;font-weight:600}.research-card .research-index{font-size:29px;color:#83bfd0}

/* v3.1 — editorial chart proportions, legible marks and restrained controls */
main{max-width:1440px;padding-left:36px;padding-right:36px}
.research-brief{grid-template-columns:1.2fr 1fr;gap:36px;padding:5px 0 14px;margin-bottom:12px}
.research-brief h2{font-size:27px;letter-spacing:.4px;font-weight:650;line-height:1.5;margin-top:5px}
.research-brief>div>p{font-size:13px;line-height:1.8;color:#647e90}
.research-answer{background:linear-gradient(110deg,#e7f3f5,#f2f7fb);padding:19px 24px;border-left:0;border-radius:12px}
.research-answer p{font-size:13px!important}.research-answer strong{font-size:19px;color:#1c7791;font-weight:650}.research-answer b{font-weight:650;color:#2a526c}
.research-method{font-size:11px;background:none;padding:0 0 17px;margin-bottom:4px;line-height:1.8;color:#7c8e9c}
.research-panel{border-radius:14px;margin-bottom:24px;box-shadow:0 5px 24px #183e5504;overflow:hidden}
.research-panel .panel-head{padding:25px 26px 13px;gap:18px}
.research-panel .panel-head h3{font-size:18px;letter-spacing:.2px;font-weight:650;color:#213e54}
.research-panel .panel-head p{font-size:12px;line-height:1.7;margin-top:7px;max-width:850px;color:#7c8e9d}
.panel-tools{padding-top:3px}.panel-tools .text-button{font-size:11px}
.chart-action{font-size:10px;border:0;background:#f4f7f9;border-radius:5px;padding:5px 7px;color:#688296}
.chart-action:hover{background:#e7f0f6;color:#315b76}
.chart-note{font-size:11px!important;padding:11px 25px!important;color:#8a9ba7;background:#fff!important}
.advanced-svg .tick text,.advanced-svg .axis-caption{font-size:11px;fill:#7a8d9d}
.advanced-svg .tick line{stroke:#e8eef3;stroke-width:.8}
.time-controls{padding:3px 25px 17px;align-items:center;gap:20px}
.series-toggles{gap:8px 17px}.series-toggle{padding:4px 0;border:0;background:none;font-size:12px;border-radius:0;color:#557184;gap:7px}
.series-toggle:hover{color:#1c405b;background:none}.series-toggle i{height:8px;width:8px}
.series-toggle.off{opacity:.35;background:none}
.time-buttons{gap:9px}.micro-button{font-size:10px;padding:5px 8px;background:#f8fafb;border-color:#e9eff4;color:#7c91a1}
.time-explorer>.editorial-line{display:block;margin:0;max-height:none}
.trend-series,.end-label,.rank-series{transition:opacity .16s}
.time-readout.sr-only{position:absolute!important;display:block!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;min-height:0}
.time-range-detail{margin:5px 25px 12px;border-top:1px solid #edf1f5}
.time-range-detail summary{display:flex;align-items:center;gap:12px;padding:12px 0 2px;list-style:none;font-size:11px;color:#8094a3;cursor:pointer}
.time-range-detail summary::-webkit-details-marker{display:none}.time-range-detail summary>span:first-child{color:#55788e}.time-range-detail summary>span:nth-child(2){margin-left:auto;font-variant-numeric:tabular-nums}.time-range-detail summary>b{font-size:15px;line-height:1;font-weight:400}.time-range-detail[open] summary>b{transform:rotate(180deg)}
.time-range-detail .range-selects{border:0;padding:0 0 12px;font-size:11px}.time-range-detail .range-selects select{font-size:11px;padding:5px 20px 5px 7px}
.context-svg{display:block}.time-brush .selection{fill:#4c96b2;fill-opacity:.1;stroke-width:1;stroke:#6b9cb3}.time-brush .handle{fill:#7fa9bb}
#tooltip.advanced-tip{border-radius:12px;border-color:#e3eaf0;box-shadow:0 10px 35px #14354f1f;padding:15px 18px;max-width:360px}
.tip-title{font-size:14px;padding-bottom:10px}.tip-row{font-size:12px;line-height:2.1;gap:26px}.tip-row b{font-size:12px}.tip-foot{font-size:10px;line-height:1.7}
.research-rangebar button{font-size:12px;padding:6px 12px}.research-tabs button{font-size:14px}.research-rangebar .reset-workbench{font-size:11px}
.library-multiples .tick text{font-size:9px}.library-multiples .tick line{stroke:#edf1f4}.library-multiples .multiple-value{font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.library-bump text,.library-connected text{font-family:var(--font)}.rank-series{cursor:pointer;outline:none}.rank-series:focus-visible{filter:drop-shadow(0 1px 2px #193e5420)}
.cycle-dot{cursor:crosshair;transition:r .15s}.cycle-dot.is-hovered{r:8;filter:drop-shadow(0 2px 3px #25577b20)}
.trajectory-key{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#8193a1;padding:0 26px 14px}.trajectory-key>span:first-child{display:flex;align-items:center;gap:7px}.trajectory-key i{display:inline-block;width:50px;height:5px;border-radius:5px;background:linear-gradient(90deg,#c4b5fd,#7867e7,#387df1,#05a6b3)}
.research-next{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:20px 26px;border-radius:12px;background:#eaf2f6;color:#365f79}.research-next b{font-size:15px;font-weight:600}.research-next p{font-size:12px;margin-top:5px;color:#7d94a5}
.research-grid-charts{align-items:stretch}.research-grid-charts>.research-panel{display:flex;flex-direction:column}.research-grid-charts>.research-panel>.chart-note{margin-top:auto}
@media(min-width:1550px){.research-grid-charts .panel-head h3{font-size:18px}.research-grid-charts .panel-head p{font-size:11px}}
@media(max-width:1100px){main{padding-left:26px;padding-right:26px}.research-brief{grid-template-columns:1fr;gap:15px}.research-brief h2{font-size:25px}.research-answer{padding:14px 20px}.time-controls{flex-wrap:wrap;gap:8px}.time-buttons{margin-left:auto}.research-panel .panel-head h3{font-size:17px}}
@media(max-width:700px){main{padding:22px 16px 0}.research-brief h2{font-size:23px}.research-brief>div>p,.research-answer p{font-size:12px!important}.research-panel .panel-head{padding:20px 18px 12px;flex-wrap:wrap;gap:9px}.research-panel .panel-head h3{font-size:16px}.research-panel .panel-head p{font-size:11px}.panel-tools{margin-left:auto}.research-rangebar button{font-size:10px;padding:6px 8px}.research-tabs{gap:21px}.research-tabs button{font-size:12px}.research-rangebar .reset-workbench{font-size:10px}.time-controls{padding:1px 18px 14px}.series-toggle{font-size:11px}.series-toggles{gap:6px 15px}.time-range-detail{margin:4px 18px 12px}.time-range-detail summary{font-size:10px;gap:6px}.time-range-detail .range-selects{font-size:10px}.research-method{font-size:10px}.chart-note{font-size:10px!important;padding:11px 18px!important}.advanced-svg .tick text,.advanced-svg .axis-caption{font-size:10px}.research-next{padding:18px;align-items:flex-start;flex-direction:column}.trajectory-key{padding:0 18px 14px;flex-wrap:wrap;gap:5px}.research-next .button{font-size:12px}.fullscreen-body .chart .context-svg{min-height:0}.fullscreen-body .chart .editorial-line{min-height:0;max-height:none}}
@media(prefers-reduced-motion:reduce){.trend-series,.end-label,.rank-series,.cycle-dot{transition:none}}
/* Keep the analytical view above the fold without shrinking the chart. */
.topbar{height:60px;min-height:60px}main{padding-top:24px}.page-heading{margin-bottom:12px}.page-heading h1{font-size:28px}.page-heading p{display:none}.research-tabs button{padding-top:12px;padding-bottom:12px}.research-rangebar{padding-top:11px;padding-bottom:15px}
@media(max-width:700px){.topbar{height:60px}.page-heading h1{font-size:26px}.page-heading{gap:12px;margin-bottom:12px}.research-rangebar{padding-top:10px;padding-bottom:14px}.research-brief{padding-bottom:8px}.research-brief h2{font-size:22px}}
.research-grid-charts:has(.library-bump) .panel-head{display:block;position:relative;min-height:136px;padding:22px 26px 48px}.research-grid-charts:has(.library-bump) .panel-tools{position:absolute;right:26px;bottom:14px;padding:0}.research-grid-charts:has(.library-bump) .panel-head h3{font-size:18px}.research-grid-charts:has(.library-bump) .panel-head p{font-size:11px;max-width:none}
@media(max-width:700px){.research-grid-charts:has(.library-bump) .panel-head{padding:20px 18px 47px;min-height:133px}.research-grid-charts:has(.library-bump) .panel-tools{right:18px}.research-grid-charts:has(.library-bump) .panel-head h3{font-size:16px}}
