:root{--ink:#3e3015;--muted:#635d52;--line:#e2dfd9;--paper:#f4f1ec;--accent:#745413;--gold:#b56a28;--nav:#3d2f12}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Noto Sans CJK SC",sans-serif;font-variant-numeric:tabular-nums}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d18a26;outline-offset:3px}button{border:1px solid var(--line);border-radius:5px;padding:8px 13px;background:#fff;color:var(--ink)}a{color:#583f0e;text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font:650 clamp(27px,3vw,39px)/1.28 "Noto Serif CJK SC",serif;letter-spacing:-.8px}h2{font-size:20px;line-height:1.4}h3{font-size:16px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:9px;font-weight:700}.subtitle{color:var(--muted);margin-top:10px}.skip{position:fixed;left:240px;top:-100px;padding:8px;background:#fff;z-index:10}.skip:focus{top:0}#sidebar{width:222px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#f5f3ee;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-weight:650;line-height:1.4}.brand small{font-size:12px;color:#d4cfc4;font-weight:400}.brandmark{font-family:Georgia,serif;font-size:27px;border:1px solid #a49a86;padding:5px 9px}.navcaption{font-size:11px;color:#cac4b7;margin:38px 13px 10px;letter-spacing:2px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#ebe7df;text-align:left;padding:12px 14px;display:flex;gap:14px}nav button:hover{background:#544424}nav button[aria-current]{background:#e7dfcf;color:#3e3117;font-weight:700}.navfoot{margin-top:auto;font-size:13px;padding:20px 12px 0;color:#dfdbd2;line-height:1.9}.navfoot small{font-size:11px;display:block;margin-top:13px;color:#ccc5b8}main{margin-left:222px;padding:35px 4vw 60px;max-width:1620px;min-height:100vh}.head{margin-bottom:23px}.lead{max-width:1050px;font-size:18px;margin-top:17px;line-height:1.65}.lead strong{color:#6c4e12}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:23px 0}.stat{padding:15px 20px;background:#fff;border-top:3px solid #9e947f}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-family:Georgia,serif;font-size:34px;line-height:1.3;color:#4d3b17}.stat small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.panel{background:#fff;border:1px solid var(--line);padding:22px;margin-top:19px;border-radius:5px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel p{margin-top:7px}.chart{height:340px;width:100%;margin-top:13px}.chart.tall{height:435px}.chart:focus-visible{outline:3px solid #b56a28;outline-offset:3px}.note{font-size:13px;color:var(--muted);line-height:1.65}.warning{padding:12px 16px;background:#fff4db;border-left:3px solid #b56a28;font-size:13px;margin-top:16px}.insight{padding:14px 16px;background:#eeeae3;border-left:3px solid #746038;margin-top:16px}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}.controls label{display:flex;gap:8px;align-items:center;font-size:13px}select,input{padding:8px 10px;border:1px solid #bfb8aa;border-radius:4px;background:#fff;max-width:100%;color:var(--ink)}select{max-width:450px}input{max-width:300px}.table-wrap{overflow-x:auto;max-width:100%;margin-top:14px}table{border-collapse:collapse;width:100%;font-size:13px;min-width:580px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{font-weight:550;color:var(--muted);background:#f8f6f2}td.num,th.num{text-align:right;white-space:nowrap}td button{padding:4px 8px;font-size:12px}details{margin-top:14px}summary{cursor:pointer;color:#6d4f12;font-size:14px;padding:7px 0}.duo{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.duo .panel{margin-top:0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.muted{color:var(--muted)}.tag{display:inline-block;background:#eeeae3;padding:2px 7px;font-size:11px;border-radius:3px}.positive{color:#6b4d12}.negative{color:#a34d27}.followups{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.followup{padding:19px;background:#fff;border:1px solid var(--line);border-top:3px solid #b6afa0}.followup p{font-size:14px;margin-top:8px}.followup button{margin-top:12px}.empty{padding:30px;background:#f6f4f0;text-align:center}.sources li{margin-top:12px;overflow-wrap:anywhere}.record{background:#f7f5f1;padding:15px;margin-top:12px;overflow-wrap:anywhere}.mobilebar{display:none}.titleline{display:flex;align-items:center;gap:12px;justify-content:space-between}.return{font-size:13px;margin-bottom:18px}.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.small{font-size:12px}.cliplist{max-height:500px;overflow:auto}.kicker{border-bottom:1px solid #bbb5a8;padding-bottom:12px;margin-bottom:16px;font-size:13px;color:#655c49}.metric-label{font-weight:650}.print-link{font-size:13px;white-space:nowrap}
@media(max-width:1000px){main{padding:30px 25px}.stats{gap:10px}.stat{padding:13px}.stat strong{font-size:29px}.duo{grid-template-columns:1fr}.followups{grid-template-columns:1fr}}
@media(max-width:720px){.mobilebar{display:flex;position:sticky;top:0;z-index:6;background:#3d2f12;color:#fff;align-items:center;gap:18px;padding:10px 14px}.mobilebar button{background:#ece5d8;padding:6px 12px}.mobilebar span{font-size:13px}#sidebar{top:58px;width:260px;z-index:5;box-shadow:10px 0 30px #3b2f1725;visibility:hidden}#sidebar.open{visibility:visible}main{margin:0;padding:25px 17px 40px}.stats{grid-template-columns:1fr;gap:9px;margin:18px 0}.stat{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:11px 14px}.stat strong{font-size:28px;text-align:right}.stat small{grid-column:1/-1}.lead{font-size:16px}h1{font-size:29px}.panel{padding:16px}.panel-head{display:block}.chart{height:310px}.chart.tall{height:420px}.controls{gap:10px}.controls label{flex-wrap:wrap;max-width:100%}select{width:100%;max-width:100%}.panel-head .controls{margin:10px 0}.followups{grid-template-columns:1fr}.skip{left:15px}.titleline{align-items:flex-start}.print-link{display:none}table{font-size:12px}.head{margin-bottom:18px}}
@media print{#sidebar,.mobilebar,.skip,.controls,button,.print-link{display:none!important}main{margin:0;padding:0}.panel{break-inside:avoid}.chart{height:300px}body{background:white}.stats{grid-template-columns:repeat(3,1fr)}a{color:inherit}}

.duo>*{min-width:0}.duo{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}@media(max-width:1000px){.duo{grid-template-columns:minmax(0,1fr)}}

.plantmonth{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}@media(max-width:720px){main[data-topic="budget"] .table-wrap{overflow:visible}main[data-topic="budget"] table{min-width:0;width:100%}main[data-topic="budget"] thead{display:none}main[data-topic="budget"] tr{display:block;margin:13px 0;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fbf9f5}main[data-topic="budget"] td{display:block;text-align:left;white-space:normal;border:0;padding:5px 0;overflow-wrap:anywhere}main[data-topic="budget"] td::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:2px}main[data-topic="budget"] td:first-child{font-weight:700;font-size:15px}}

.case-link{display:block;color:#f1eee7;margin-bottom:18px;font-size:12px}#plant-selected{scroll-margin-top:24px}#plant-selected .plantmonth{border-top:0;padding-top:0}#plant-records{border-top:1px solid var(--line);padding-top:8px;margin-top:24px}main[data-topic="budget"] td,main[data-topic="budget"] th{text-align:left;white-space:normal}main[data-topic="budget"] .duo{margin-top:18px;gap:28px}main[data-topic="budget"] .duo table{min-width:0}.return{background:#eeebe4;border-color:#cac3b6}.chart{margin-bottom:8px}.head .print-link{margin-top:8px}h3{overflow-wrap:break-word}
@media(max-width:720px){#plant-selected{scroll-margin-top:74px}.navfoot{padding-top:12px}.brand{margin-bottom:4px}.navcaption{margin-top:24px}.titleline{display:block}.head .print-link{display:inline-block;margin-top:12px}.controls input{width:100%;max-width:100%}.controls label{display:block;width:100%}.controls label input,.controls label select{display:block;margin-top:6px}.plantmonth .insight{font-size:14px}}

.detail-pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}.detail-pager>span{margin-right:auto;font-size:13px}.detail-records .table-wrap{max-height:620px;overflow:auto}
