:root{color-scheme:light;--paper: #f4f1e8;--paper-deep: #eae5d8;--card: #faf9f4;--ink: #25322d;--muted: #777a70;--line: #dcd8cb;--line-dark: #c8c4b8;--green: #456f63;--coral: #c96b4b;--ochre: #bd924d;--mono: "SFMono-Regular", Menlo, Consolas, monospace;--sans: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;--display: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.shell{min-height:100vh}.rail{position:fixed;z-index:3;inset:0 auto 0 0;display:flex;flex-direction:column;width:228px;padding:29px 21px 22px;background:#e9e5d9;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font:800 17px var(--display);letter-spacing:-.7px;text-decoration:none}.brand-dot{color:var(--coral)}.brand-mark{display:flex;align-items:flex-end;gap:2px;height:20px;padding:2px 0}.brand-mark i{display:block;width:4px;border-radius:1px;background:var(--green)}.brand-mark i:nth-child(1){height:8px}.brand-mark i:nth-child(2){height:13px}.brand-mark i:nth-child(3){height:17px;background:var(--coral)}.rail-label{margin:72px 0 14px;color:#939184;font:10px var(--mono);letter-spacing:1.4px}.rail nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 11px;color:#71746b;font-size:13px;text-decoration:none;border-radius:2px;transition:background .2s ease,color .2s ease}.nav-link:hover{color:var(--ink);background:#f1eee5}.nav-link.active{color:var(--ink);background:#f7f5ee;font-weight:700;box-shadow:0 1px #d9d4c7}.nav-glyph{width:17px;color:var(--green);font-size:17px;text-align:center}.rail-bottom{display:flex;align-items:flex-start;gap:10px;margin-top:auto;padding:15px 2px 0;border-top:1px solid var(--line)}.rail-bottom strong,.rail-bottom small{display:block}.rail-bottom strong{font-size:11px;font-weight:600}.rail-bottom small{margin-top:4px;color:var(--muted);font-size:10px}.rail-dot{width:7px;height:7px;margin:3px 0 0 2px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px #d5e1d9}main{max-width:1660px;margin-left:228px;padding:0 48px 25px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:76px;border-bottom:1px solid var(--line)}.breadcrumb,.local-badge{font:10px var(--mono);letter-spacing:1.05px}.breadcrumb{color:#858478}.breadcrumb span{margin:0 8px;color:#b4b0a2}.top-actions{display:flex;align-items:center;gap:20px}.local-badge{display:flex;align-items:center;gap:7px;color:#6c756b;font-size:9px}.local-badge i{width:6px;height:6px;border-radius:50%;background:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:0 15px;border:1px solid transparent;border-radius:2px;cursor:pointer;font-size:12px;font-weight:600;transition:transform .2s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px)}.button-ink{color:#f7f4ec;background:var(--ink)}.button-ink:hover{background:#35443d}.button-ink span{font-size:17px;font-weight:400}.button-outline{color:var(--ink);background:transparent;border-color:#bcb9ad}.button-outline:hover{border-color:var(--ink);background:#f4f1e8}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:54px 0 39px}.eyebrow{display:flex;align-items:center;gap:9px;color:#898779;font:9px var(--mono);letter-spacing:1.2px}.eyebrow-rule{width:22px;height:1px;background:var(--coral)}h1,h2,p{margin:0}h1{margin-top:16px;font:700 clamp(34px,4vw,49px)/1.08 var(--display);letter-spacing:-2.4px}.intro-copy p{max-width:605px;margin-top:13px;color:#73766d;font-size:13px;line-height:1.8}.dataset-stamp{min-width:244px;padding:13px 16px 14px;background:#ebe7dc;border-left:2px solid var(--ochre)}.dataset-stamp span,.dataset-stamp strong,.dataset-stamp small{display:block}.stamp-label{color:#8c897e;font:9px var(--mono);letter-spacing:.8px}.dataset-stamp strong{margin-top:7px;font-size:13px;font-weight:700}.dataset-stamp small{margin-top:4px;color:#7c7d73;font-size:10px}.toolbar{display:flex;align-items:flex-end;gap:24px;padding:16px 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-group{display:grid;gap:6px}.control-group label{color:#838175;font-size:9px}.control-group select,.project-filters select,.project-filters input{min-height:31px;padding:0 26px 0 0;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #bdb9ab;border-radius:0;font-size:11px}.control-group select{min-width:108px}.project-filters select,.project-filters input{padding:0 8px 0 0}.project-filters input{width:150px}.toolbar-spacer{flex:1}.text-button{margin-bottom:5px;padding:0;color:#8d897d;background:none;border:0;font-size:10px;cursor:pointer}.text-button:hover:not(:disabled){color:var(--coral)}.text-button:disabled{opacity:.35;cursor:default}.metrics{display:grid;grid-template-columns:1.12fr 1fr 1fr .86fr;gap:0;margin:24px 0 45px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.metric{min-height:124px;padding:17px 18px 15px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{padding-right:0;border-right:0}.metric-primary .metric-value{color:var(--green)}.metric-head,.metric-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-head{color:#73766d;font-size:11px}.metric-index{color:#aaa79b;font:9px var(--mono)}.metric-value{display:block;margin:12px 0 9px;font:700 28px/1 var(--display);letter-spacing:-1.2px}.metric-value.negative{color:var(--coral)}.metric-value.positive{color:var(--green)}.metric-foot{color:#89887d;font-size:9px}.metric-arrow{color:var(--green);font-size:16px}.metric-arrow.negative{color:var(--coral)}.down-mark{color:var(--coral);font-size:15px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading h2{margin-top:9px;font:700 20px var(--display);letter-spacing:-.7px}.chart-context,.unit-note{color:#8b897e;font:10px var(--mono)}.chart-frame{position:relative;min-height:350px;margin-top:19px;overflow:hidden;background:#f8f6ef;border:1px solid var(--line)}#trend-chart{display:block;width:100%;height:auto;min-height:340px;overflow:visible}.chart-grid line{stroke:#e5e1d6;stroke-width:1}.chart-grid text,.chart-x-label{fill:#979487;font:10px var(--mono)}.trend-line{animation:draw-in .75s cubic-bezier(.2,.8,.2,1) both}.trend-dot{stroke:#f8f6ef;stroke-width:2}.chart-overlay{cursor:crosshair}@keyframes draw-in{0%{stroke-dasharray:1400;stroke-dashoffset:1400}to{stroke-dasharray:1400;stroke-dashoffset:0}}.chart-tooltip{position:absolute;z-index:2;top:12px;width:max-content;min-width:180px;padding:10px 12px;color:var(--ink);background:#fffdf7;border:1px solid var(--line-dark);box-shadow:0 5px 20px #26322d15;pointer-events:none}.chart-tooltip strong{display:block;margin-bottom:8px;font:10px var(--mono)}.chart-tooltip span{display:flex;align-items:center;gap:6px;margin-top:5px;color:#6e7068;font-size:10px}.chart-tooltip i,.legend i{display:inline-block;width:7px;height:7px;border-radius:50%}.chart-tooltip b{margin-left:auto;color:var(--ink);font:10px var(--mono)}.empty-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;padding:30px 20px;text-align:center}.empty-chart strong{margin-top:20px;font:700 15px var(--display)}.empty-chart p{max-width:370px;margin:7px 0 16px;color:#838277;font-size:11px;line-height:1.65}.empty-illustration{position:relative;display:flex;align-items:flex-end;gap:9px;height:58px;width:98px;padding:0 9px 5px;border-bottom:1px solid #c8c4b8}.empty-illustration span{width:11px;height:22px;background:#d2d9ce;animation:bar-in .6s ease both;transform-origin:bottom}.empty-illustration span:nth-child(2){height:37px;background:#b8c8bc;animation-delay:.08s}.empty-illustration span:nth-child(3){height:29px;background:#decdb2;animation-delay:.16s}.empty-illustration span:nth-child(4){height:48px;background:#d18a69;animation-delay:.24s}.empty-illustration i{position:absolute;left:11px;right:5px;top:11px;height:22px;border-top:1.5px solid var(--green);transform:skewY(-17deg)}@keyframes bar-in{0%{transform:scaleY(.1)}to{transform:scaleY(1)}}.legend{display:flex;flex-wrap:wrap;gap:20px;min-height:35px;padding:13px 2px 0}.legend span{display:flex;align-items:center;gap:7px;color:#73766d;font-size:10px}.chart-note{margin:7px 0 0;color:#939184;font-size:9px;line-height:1.6}.lower-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr);gap:35px;margin:50px 0 39px;padding-top:25px;border-top:1px solid var(--line-dark)}.section-heading.compact h2{margin-top:7px;font-size:18px}.table-wrap{margin-top:18px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:0 12px 11px;color:#929083;font:9px var(--mono);letter-spacing:.2px;text-align:right}th:first-child,td:first-child{padding-left:0;text-align:left}td{padding:12px;border-top:1px solid #e3dfd4;color:#5d655e;font-size:11px;text-align:right}.sector-name{color:var(--ink);font-weight:600}.table-muted{color:#a3a093;font-size:9px}.negative{color:var(--coral)!important}.positive{color:var(--green)!important}.method-card{align-self:start;margin-top:7px;padding:19px 20px 17px;background:#ebe7dc}.method-card h2{max-width:230px;margin-top:13px;font:700 18px/1.3 var(--display);letter-spacing:-.5px}.method-card p{margin-top:9px;color:#73766d;font-size:10px;line-height:1.7}.method-rule{height:1px;margin:17px 0 12px;background:#d5d0c3}.method-line{display:flex;align-items:center;gap:9px;margin:9px 0;color:#64685f;font-size:10px}.method-swatch{width:8px;height:8px;border-radius:50%}.method-swatch.coral{background:var(--coral)}.method-swatch.ochre{background:var(--ochre)}.method-swatch.green{background:var(--green)}.method-link{display:flex;justify-content:space-between;margin-top:18px;padding-top:13px;color:var(--ink);border-top:1px solid #d5d0c3;font-size:10px;text-decoration:none}.method-link span{color:var(--coral)}.projects-section{margin:25px 0 40px;padding-top:25px;border-top:1px solid var(--line-dark)}.project-filters{display:flex;align-items:center;gap:15px}.project-table-wrap{margin-top:16px}.project-table-wrap th,.project-table-wrap td{text-align:right}.project-table-wrap td:first-child,.project-table-wrap th:first-child{text-align:left}.project-name{display:block;max-width:280px;overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis}.project-table-wrap td small{display:flex;align-items:center;gap:6px;margin-top:3px;color:#99978a;font:9px var(--mono)}.ai-tag{padding:2px 4px;color:#99563c;background:#efdfd5;font:8px var(--mono)}.movement{display:inline-block;min-width:40px;padding:4px 6px;color:#77776b;background:#e9e5da;font-size:9px;text-align:center}.movement.down{color:#a64f35;background:#f0ddd5}.movement.up{color:#3c6b5e;background:#dce8dd}.empty-row td{padding:18px 0;color:#9a978b;text-align:center!important}.table-caption{margin-top:9px;color:#949184;font-size:9px}.footer{display:flex;justify-content:space-between;padding:15px 0 0;color:#969386;border-top:1px solid var(--line);font:9px var(--mono);letter-spacing:.4px}.footer b{color:var(--coral)}.help-dialog{position:fixed;width:min(550px,calc(100vw - 30px));padding:32px;color:var(--ink);background:var(--card);border:1px solid var(--line-dark);box-shadow:0 20px 80px #1e2b2450}.help-dialog::backdrop{background:#202b2680}.dialog-close{position:absolute;top:13px;right:15px;width:30px;height:30px;color:#72746a;background:transparent;border:0;font-size:23px;cursor:pointer}.help-dialog h2{margin-top:12px;font:700 23px var(--display)}.help-dialog ul{display:grid;gap:10px;margin:20px 0;padding-left:17px;color:#686d64;font-size:11px;line-height:1.75}.help-dialog code{padding:1px 4px;background:var(--paper-deep);font:10px var(--mono)}.dialog-callout{padding:12px 14px;color:#6e6559;background:#f1ece1;border-left:2px solid var(--ochre);font-size:10px;line-height:1.7}@media(max-width:1120px){main{padding-right:30px;padding-left:30px}.rail{width:205px;padding-right:17px;padding-left:17px}main{margin-left:205px}.toolbar{gap:15px}.metric{padding-right:12px;padding-left:12px}.metric-value{font-size:25px}}@media(max-width:900px){.rail{position:static;width:100%;height:auto;padding:13px 22px;flex-direction:row;align-items:center;gap:22px;border-right:0;border-bottom:1px solid var(--line)}.rail-label,.rail-bottom{display:none}.rail nav{display:flex;gap:3px}.nav-link{min-height:34px;padding:0 10px;font-size:11px}main{margin-left:0;padding-right:34px;padding-left:34px}.intro{padding-top:43px}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-top:1px solid var(--line)}.metric:nth-child(3){padding-left:0}.metric:nth-child(4){padding-right:0}.metric{min-height:112px}}@media(max-width:640px){.rail{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:11px 16px 7px}.brand{font-size:15px}.brand-mark{transform:scale(.88);transform-origin:left center}.rail nav{width:100%;justify-content:space-between}.nav-link{flex:1;justify-content:center;padding:0 5px;font-size:10px}.nav-glyph{width:auto;font-size:15px}main{padding:0 17px 18px}.topbar{min-height:61px}.breadcrumb{font-size:8px;letter-spacing:.5px}.breadcrumb span{margin:0 4px}.top-actions{gap:9px}.local-badge{font-size:8px}.button{min-height:34px;padding:0 10px;font-size:10px}.intro{align-items:flex-start;flex-direction:column;gap:20px;padding:36px 0 25px}h1{margin-top:13px;font-size:37px;letter-spacing:-2px}.intro-copy p{font-size:11px}.dataset-stamp{width:100%;min-width:0}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;padding:14px 0}.toolbar-spacer{display:none}.text-button{justify-self:start;margin:5px 0 0}.control-group select{width:100%;min-width:0}.metrics{margin:20px 0 34px}.metric{min-height:105px;padding:13px 10px}.metric:first-child,.metric:nth-child(3){padding-left:0}.metric:last-child,.metric:nth-child(2){padding-right:0}.metric-head{font-size:10px}.metric-value{margin:11px 0 8px;font-size:24px}.metric-foot{font-size:8px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2{font-size:18px}.chart-context{font-size:9px}.chart-frame{min-height:270px;margin-top:13px}.empty-chart{min-height:270px}.empty-chart p{font-size:10px}#trend-chart{min-height:270px}.chart-grid text,.chart-x-label{font-size:9px}.legend{gap:12px}.legend span{font-size:9px}.lower-grid{grid-template-columns:1fr;gap:24px;margin-top:36px;padding-top:22px}.method-card{margin:0}.projects-section{margin-top:30px;padding-top:22px}.project-filters{width:100%;justify-content:space-between}.project-filters select{max-width:135px}.project-filters input{width:130px}.project-name{max-width:130px}.footer{gap:12px;font-size:8px}.help-dialog{padding:27px 22px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dashboard-section{margin:48px 0 56px;padding-top:28px;border-top:1px solid var(--line)}.dashboard-section:first-of-type{border-top:none}.outlier-bar{background:#ebe7dc;padding:14px 18px;border-radius:4px;margin-top:18px}.clean-stats-pill{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--muted);font-family:var(--mono)}.clean-stats-pill b{color:var(--green)}.overview-metric-pills{display:flex;gap:12px;flex-wrap:wrap}.mini-pill{background:#f7f5ee;border:1px solid var(--line);padding:8px 14px;border-radius:3px;display:flex;flex-direction:column;gap:3px}.mini-pill span{font-size:10px;color:var(--muted)}.mini-pill strong{font-size:16px;color:var(--ink);font-family:var(--display)}.mini-pill.highlight strong{color:var(--coral)}.chart-tab-bar{display:flex;gap:8px;margin-top:16px}.tab-btn{background:transparent;border:1px solid var(--line);padding:6px 14px;font-size:11px;color:var(--muted);cursor:pointer;border-radius:2px;transition:all .15s ease}.tab-btn:hover{border-color:var(--ink);color:var(--ink)}.tab-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.control-group.inline{display:flex;align-items:center;gap:8px}.metrics-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.insight-box{background:#fdfcf9;border:1px solid var(--line);padding:18px 20px;border-radius:4px;position:relative}.box-tag{display:inline-block;font-size:10px;font-family:var(--mono);background:#ebe7dc;color:#635f52;padding:2px 7px;border-radius:2px;margin-bottom:8px}.insight-box h4{margin:0 0 8px;font-size:15px;color:var(--ink)}.insight-box p{margin:0;font-size:12px;line-height:1.6;color:#63665e}.metrics-custom{margin:20px 0 24px}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media(max-width:900px){.grid-2-col{grid-template-columns:1fr}}.chart-card{background:#faf8f2;border:1px solid var(--line);padding:18px 20px;border-radius:4px}.chart-card h3{margin:0 0 4px;font-size:14px}.chart-subhead{font-size:11px;color:var(--muted);margin:0 0 12px}.fun-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}.fun-card{background:#fdfcf9;border:1px solid var(--line);padding:22px 20px;border-radius:4px;border-left:3px solid var(--ochre)}.fun-num{font-size:20px;font-weight:800;color:#d1ccbf;font-family:var(--mono);margin-bottom:8px}.fun-card h3{margin:0 0 10px;font-size:14px;color:var(--ink)}.fun-card p{margin:0;font-size:12px;line-height:1.65;color:#5c5f56}.badge{display:inline-block;padding:2px 6px;border-radius:2px;font-size:10px;background:#ebe7dc;color:#666}.badge-ai{background:#faeae3;color:#c96b4b;font-weight:600}
