:root{--ink:#223b31;--green:#204d3c;--forest:#153b2e;--muted:#758076;--line:#dce1d8;--paper:#f5f5ef;--white:#fffefa;--lime:#d6e6b4;--orange:#c9784d;--red:#b45e45;--blue:#627a96;--shadow:0 8px 30px #173e3206}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);padding:8px 13px;transition:.18s}button:hover{border-color:var(--green);background:#e9eee3}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a{color:var(--green)}#sidebar{width:238px;background:#fbfcf6;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:29px 20px;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:16px;font-weight:650;line-height:1.4;letter-spacing:.3px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-top:7px}.brand-mark{width:39px;height:42px;background:var(--green);color:#e4e6be;display:grid;place-items:center;border-radius:13px 3px;font-size:25px;font-weight:300}.nav-label{font-size:10px;letter-spacing:1.8px;color:#8d958a;margin:38px 12px 14px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:14px;text-decoration:none;color:#6b766b;padding:10px 13px;border-radius:5px;font-size:13px}nav a span{font-family:monospace;font-size:11px;opacity:.6}nav a.active{background:var(--green);color:var(--white)}nav a:hover:not(.active){background:#edf0e7}.sidebar-note{margin-top:auto;font-size:11px;line-height:2.1;color:#7f8d7e;padding:18px 8px 0}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#89a26d;margin-right:5px}.legend{display:flex;align-items:center;gap:6px;margin-top:15px;color:#818c7d}.legend i{height:5px;width:5px;border-radius:50%;background:#2b6f51}.legend i:nth-of-type(2){background:#7995ae;margin-left:10px}.legend i:nth-of-type(3){background:var(--orange);margin-left:10px}#shell{margin-left:238px}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#f9faf4}.breadcrumb{font-size:11px;letter-spacing:1.8px;color:#929b8f}.breadcrumb span{color:#475c4d;letter-spacing:.5px}.header-actions{display:flex;gap:10px}.ghost{background:transparent;font-size:12px}.primary{background:var(--green);color:white;font-size:12px;border-color:var(--green)}.primary:hover{background:#35644e;color:white}#menu{display:none}main{padding:33px 40px 50px;max-width:1660px;margin:auto;min-height:calc(100vh - 145px)}footer{padding:22px 40px;border-top:1px solid var(--line);font-size:10px;color:#8b9686;display:flex;gap:20px;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2px;color:#809176;font-weight:600;text-transform:uppercase}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:27px}.pagehead h1{font-size:29px;letter-spacing:-.6px;margin:4px 0 7px;line-height:1.3;font-weight:600}.pagehead p{font-size:12px;color:var(--muted);margin:0;max-width:790px}.badge{font-size:10px;border:1px solid #d9dece;color:#68765e;background:#f4f5ec;padding:5px 10px;border-radius:25px;white-space:nowrap}.badge.warn{color:#a76c42;background:#faf0e4;border-color:#ecd9c6}.badge.good{background:#e4ede0;color:#3e6b49}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.asym{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.card{border:1px solid var(--line);border-radius:9px;background:var(--white);padding:22px;box-shadow:var(--shadow);min-width:0}.card h2,.card h3{font-size:16px;font-weight:600;line-height:1.45;margin:0 0 12px}.card p{font-size:12px;line-height:1.85;margin:8px 0;color:#6d7c6c}.card .label{font-size:11px;color:var(--muted)}.metric{font-size:30px;font-weight:550;letter-spacing:-.6px;line-height:1.3;margin:11px 0 7px;font-variant-numeric:tabular-nums}.metric small{font-size:13px;letter-spacing:0;margin-left:4px;color:#8b9684;font-weight:400}.metric.negative{color:var(--red)}.metric.positive{color:#527b4a}.metric-sub{font-size:10px;color:#88947f}.hero{background:var(--forest);color:#f4f7e7;min-height:223px;border:0;padding:28px 31px;position:relative;overflow:hidden}.hero h2{font-size:34px;font-weight:500;line-height:1.42;letter-spacing:1px;margin:10px 0 16px;position:relative;z-index:1}.hero p{color:#b9c9af;max-width:70%;font-size:12px}.hero .eyebrow{color:#9cb58d}.hero-art{position:absolute;right:-26px;bottom:-42px;width:255px;height:240px;opacity:.22;transform:rotate(-23deg);border:1px solid #cde0bc;border-radius:50%}.hero-art::after,.hero-art::before{content:'';position:absolute;inset:21px;border:1px solid #cde0bc;border-radius:50%}.hero-art::after{inset:43px;box-shadow:0 0 0 20px #99b78420,0 0 0 40px #99b78415}.hero-bottom{font-size:11px;color:#c9d9be;border-top:1px solid #c5d5b72a;padding-top:13px;display:flex;gap:22px}.section-gap{margin-top:21px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px}.section-title h2{font-size:17px;margin:0}.section-title small{font-size:11px;color:#839079}.section-title button{font-size:10px;padding:5px 9px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;background:#eaf0e4;color:#54704c;margin-right:5px}.tag.infer{background:#eaf0f5;color:#667c94}.tag.assume{background:#f8eee2;color:#a27148}.divider{height:1px;background:var(--line);margin:15px 0}.small{font-size:11px;color:var(--muted)}.note{font-size:12px;background:#edf1e6;border-left:3px solid #879f68;padding:12px 16px;margin:15px 0;line-height:1.8;color:#607154}.note.warning{background:#f8f0e4;border-color:var(--orange);color:#946740}.chart{width:100%;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:#899381}.chart .value{fill:#405641;font-size:10px}.chart .gridline{stroke:#e8ecdf;stroke-width:1}.legend-inline{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#85917d;margin:9px 0}.legend-inline span:before{content:'';display:inline-block;width:7px;height:7px;background:var(--c,#3a6a50);margin-right:5px;border-radius:2px}.table-wrap{overflow-x:auto;border-radius:7px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:normal}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e9ece2;vertical-align:top}th{font-weight:500;font-size:10px;letter-spacing:.3px;background:#f2f5eb;color:#78856f}td strong{font-weight:550}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 17px}.tabs button{font-size:12px;padding:7px 13px}.tabs button.active{color:white;background:var(--green);border-color:var(--green)}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:15px 0}.controls label{font-size:11px;color:#6f7f68}.controls select,select{border:1px solid var(--line);padding:8px 12px;background:var(--white);color:var(--ink);border-radius:5px}.param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px}.param label{display:flex;align-items:center;justify-content:space-between;color:#75816f;font-size:11px;gap:8px}.param input[type=number]{width:89px;padding:5px 8px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:#fafbf6;text-align:right}.param input[type=range]{width:100%;accent-color:var(--green);height:3px;margin-top:14px}.param .small{font-size:9px}.cost-bar{height:10px;display:flex;border-radius:4px;overflow:hidden;margin:15px 0}.cost-bar span{height:100%}.score{height:5px;background:#ebeee4;border-radius:4px;margin:7px 0}.score>i{display:block;height:5px;background:#86a36e;border-radius:4px}.site-list{display:grid;gap:10px}.site-option{text-align:left;width:100%;padding:15px;background:var(--white);border-radius:8px}.site-option.active{border-color:#769164;background:#edf3e6}.site-option strong{font-size:13px}.site-option small{display:block;color:#8b957e;margin-top:4px;font-size:10px}.map-wrap{position:relative;background:#eaf0e3;border:1px solid #dbe1d3;border-radius:8px;overflow:hidden}.map-wrap svg{display:block;width:100%;height:490px}.map-controls{position:absolute;right:15px;top:15px;display:flex;gap:5px;z-index:2}.map-caption{position:absolute;bottom:12px;left:15px;font-size:9px;max-width:80%;color:#8b957c}.map-wrap button{font-size:11px}.pin{cursor:pointer}.pin text{font-size:14px;font-weight:600;fill:#234c3b}.farm-board{background:#e9ede0;border-radius:8px;padding:25px;position:relative}.farm-north{text-align:right;font-size:11px;color:#7c8a6b;margin-bottom:14px}.farm-group{display:grid;grid-template-columns:25px 1fr 1fr;gap:9px;margin:8px 0}.farm-group label{writing-mode:vertical-rl;align-self:center;color:#889879;font-size:9px}.plot{min-height:78px;text-align:left;padding:12px 16px;border:1px solid #9cb194;border-radius:5px;position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,#ffffff12 0,#ffffff12 2px,transparent 2px,transparent 13px),var(--plot)}.plot:after{content:'↗';position:absolute;right:12px;top:10px;opacity:.4}.plot strong{font-size:13px;color:#fff}.plot small{display:block;color:#ffffffbb;font-size:10px}.plot.selected{outline:3px solid #284d37;outline-offset:2px}.farm-road{font-size:9px;letter-spacing:3px;text-align:center;padding:8px;color:#8e947e;background:#dcdac7;margin-top:16px}.farm-utility{display:flex;gap:8px;margin-top:9px}.farm-utility span{flex:1;text-align:center;padding:11px;background:#d4ddc8;border-radius:4px;color:#738467;font-size:9px}.crop-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}.crop-button{text-align:left;padding:15px 13px;min-height:95px;border-top:3px solid var(--crop)}.crop-button.active{background:#e9efe1;border-color:var(--green)}.crop-button .crop-icon{font-size:21px;color:var(--crop);margin-bottom:5px}.crop-button b{font-size:12px;display:block}.crop-button small{font-size:9px;color:var(--muted)}details{border:1px solid var(--line);border-radius:7px;margin:10px 0;background:var(--white)}summary{padding:14px 18px;cursor:pointer;font-weight:550;font-size:13px}details[open] summary{border-bottom:1px solid var(--line);background:#f5f7ef}.details-body{padding:16px 19px;font-size:12px}.details-body p,.details-body li{color:#61705f;font-size:12px;line-height:1.9}.details-body ul{padding-left:20px}.kv{display:grid;grid-template-columns:135px 1fr;border-bottom:1px solid #e9ede2;padding:10px 0;gap:14px;font-size:12px}.kv:last-child{border-bottom:0}.kv dt{color:#819078}.kv dd{margin:0;color:#455b43;min-width:0}.timeline{display:flex;gap:5px;margin:17px 0}.timeline .stage{flex:1;background:#edf1e6;padding:13px 10px;border-top:3px solid #7f9b70;min-width:0}.timeline strong{display:block;font-size:11px}.timeline small{font-size:9px;color:#8b957e}.calendar td,.calendar th{font-size:10px;white-space:nowrap;text-align:center;padding:12px 5px}.calendar td:first-child{text-align:left;min-width:90px}.cell{display:block;padding:7px 2px;border-radius:3px;font-size:9px;color:#77906c;background:#f1f4ea}.cell.harvest{background:#dde9ca;color:#41613e}.cell.grow{background:#eaf0e1}.cell.seed{background:#f3e5d2;color:#a47d4c}.month-select{display:flex;gap:4px;flex-wrap:wrap}.month-select button{font-size:10px;padding:6px 10px}.month-select .active{background:var(--green);color:white}.source-list{display:grid;gap:11px}.source-item{padding:15px;background:var(--white);border:1px solid var(--line);border-radius:7px}.source-item a{font-size:12px;font-weight:550;word-break:break-word}.source-item small{display:block;color:#86917c;font-size:10px;margin-top:5px}.source-item p{font-size:11px;color:#65745d;margin:7px 0 0}.ref{font-size:10px;padding:0 4px;white-space:nowrap}.risk{border-left:3px solid var(--orange)}.risk.high{border-left-color:#a9523d}.roadmap{counter-reset:step;display:grid;gap:13px}.roadmap article{display:grid;grid-template-columns:65px 1fr 170px;gap:20px}.step-number{font-size:30px;color:#9baf8c;font-weight:300}.roadmap h3{margin:0 0 8px;font-size:15px}.roadmap p{margin:5px 0;font-size:12px;color:#77866b}.roadmap .budget{text-align:right;color:#587948;font-size:19px}.check-list label{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#52664a;padding:10px 0;border-bottom:1px solid var(--line)}input[type=checkbox]{accent-color:var(--green);margin-top:5px}dialog{border:1px solid var(--line);border-radius:11px;max-width:1000px;width:88vw;max-height:86vh;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#153b2e77;backdrop-filter:blur(4px)}.dialog-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:1}.dialog-bar h2{margin:0;font-size:16px}.dialog-bar button{border:0;background:none;font-size:22px;padding:0 5px}#dialogBody{padding:25px}#toast{position:fixed;bottom:28px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--forest);color:white;font-size:12px;padding:11px 20px;border-radius:6px;z-index:100;display:none}.no-margin{margin:0}.data-table{font-size:10px}h4{font-size:12px;margin:15px 0 6px}.action-link{cursor:pointer;color:var(--green);font-size:11px;text-decoration:none;border-bottom:1px solid #c1cbb6;padding-bottom:2px}.callout-num{font-size:26px;color:#6d8e54}.review-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:7px}@media(min-width:1550px){main{padding-left:55px;padding-right:55px}}@media(max-width:1200px){#sidebar{width:210px;padding:24px 14px}#shell{margin-left:210px}main{padding:27px 25px}header{padding:0 25px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h2{font-size:29px}.crop-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.asym{grid-template-columns:1.35fr 1fr}}@media(max-width:850px){#sidebar{transform:translateX(-100%);transition:.2s;width:235px}body.menu-open #sidebar{transform:translateX(0);box-shadow:10px 0 60px #0003}#shell{margin-left:0}#menu{display:block;padding:3px 8px}header{padding:0 18px;height:65px;gap:14px}.breadcrumb{margin-right:auto;font-size:9px;letter-spacing:.5px}.header-actions{gap:5px}.header-actions button{font-size:10px;padding:6px 8px}main{padding:24px 17px}.g2,.asym{grid-template-columns:1fr}.g3{grid-template-columns:1fr}.pagehead{margin-bottom:20px}.pagehead h1{font-size:26px}.pagehead>.badge{display:none}.hero{min-height:215px}.card{padding:19px}.param-grid{gap:17px}.crop-nav{gap:7px}.crop-button{padding:11px}.crop-button b{font-size:11px}.timeline{flex-wrap:wrap}.timeline .stage{min-width:28%}.kv{grid-template-columns:100px 1fr;gap:10px}footer{padding:20px;display:block;font-size:9px}footer span{display:block;margin-top:8px}.map-wrap svg{height:390px}.roadmap article{grid-template-columns:35px 1fr;gap:12px}.roadmap .budget{grid-column:2;text-align:left;font-size:16px}.metric{font-size:26px}#toast{left:50%;max-width:90%}}@media print{#sidebar,header,footer,button{display:none!important}#shell{margin:0}main{padding:0}.card,details{break-inside:avoid}.g4{grid-template-columns:repeat(4,1fr)}body{background:white}details:not([open])>.details-body{display:block}}
.kv{grid-template-columns:100px minmax(0,1fr)}.plot strong,.plot small{color:var(--plot-text,#173421)}.plot small{opacity:.8}.plot:hover{background:repeating-linear-gradient(90deg,#ffffff12 0,#ffffff12 2px,transparent 2px,transparent 13px),var(--plot);filter:brightness(.97)}.nested-fields{display:grid;gap:10px;margin:6px 0 13px}.nested-fields>div>b{display:block;font-size:10px;font-weight:500;color:#849078;margin-bottom:3px}.nested-fields>div>div{font-size:12px;line-height:1.9;color:#4f644b}.nested-fields ul{margin:4px 0;padding-left:18px}.details-body .kv dd>ul{padding-left:17px}.card>.details-body{padding:0}
.finance-live{position:sticky;top:8px;z-index:6;display:flex;justify-content:space-between;gap:12px;background:#eef3e8ed;backdrop-filter:blur(8px);border:1px solid #c9d8bd;border-radius:7px;padding:11px 17px;font-size:11px;margin:0 0 17px;box-shadow:0 5px 15px #273d2110}.finance-live span:first-child{color:#7f936c}.finance-live b{font-size:16px;font-weight:550}.details-body h3{font-size:14px}.card li{font-size:12px;line-height:1.9}.card dd>ul{padding-left:16px}body{overflow-x:hidden}@media(max-width:850px){.finance-live{gap:6px;padding:9px 8px;font-size:9px}.finance-live span:first-child{display:none}.finance-live b{font-size:13px}.timeline .stage{min-width:22%}.kv{grid-template-columns:85px minmax(0,1fr)}.hero-bottom{flex-wrap:wrap;gap:7px}.hero p{max-width:90%}.pagehead h1{font-size:24px}}
