:root{font-family:Inter,system-ui,sans-serif;color:#233d37;background:#f4f6f2;font-size:14px}*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}button,select{cursor:pointer;border:1px solid #d6ded6;background:white;color:#29463d;border-radius:7px;padding:9px 12px}button:hover{background:#eef4ea;border-color:#7c9c85}button:focus-visible,canvas:focus-visible{outline:3px solid #cb9f49;outline-offset:2px}button.selected{background:#234f40;color:white;border-color:#234f40}button:disabled{opacity:.48;cursor:not-allowed}header{height:72px;display:flex;align-items:center;gap:30px;padding:0 3%;background:#fff;border-bottom:1px solid #dce3da}header>span{font-size:10px;letter-spacing:2px;color:#748479}header button{margin-left:auto}.brand{font-weight:800;font-size:21px;text-decoration:none;color:#264d3d}main{max-width:1800px;margin:auto;padding:25px 3%}h1{font-size:34px;margin:4px 0 20px;letter-spacing:-1px}h1 span{font-size:15px;font-weight:400;letter-spacing:0;margin-left:15px;color:#6a7b71}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#6b826f}h2{font-size:18px;margin:0 0 12px}h3{font-size:14px;margin-top:23px}p{line-height:1.6;color:#65776c}small{font-size:11px;color:#718277}.heading,.paneltitle,.maphead{display:flex;justify-content:space-between;align-items:center}.time{display:flex;gap:5px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e0e6dc;border-radius:10px;padding:14px 18px}.stat strong{display:block;font-size:24px;margin:5px 0}.stat label{font-size:11px;color:#708176}.layout{display:grid;grid-template-columns:225px minmax(0,1fr) 255px;gap:16px;align-items:start}.build,.overview,.maparea,.bottom>div{background:white;border:1px solid #dce3d8;border-radius:12px;overflow:hidden}.build,.overview{padding:16px}.paneltitle small{white-space:nowrap}#catalog{display:grid;gap:5px}.building{text-align:left;padding:8px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;font-size:12px}.building .icon{font-size:21px}.building small{grid-column:2/4}.tools{display:flex;gap:4px;margin-top:12px}.tools button{font-size:12px;padding:8px}.policy{border-top:1px solid #e3e7df;margin-top:18px;padding-top:16px}label{display:block;font-size:12px}input[type=range]{width:100%;accent-color:#38694d;margin-top:14px}.policy b{float:right}.policy p{font-size:11px}.maphead{padding:14px;gap:8px}.maphead small{display:block;margin-top:4px;max-width:400px;line-height:1.5}.maphead button{padding:7px 10px}.canvaswrap{height:520px;position:relative;background:#dbe6cf;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.mapbadge{pointer-events:none;position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:2px;color:#507268}.mapbadge span{display:block;font-size:9px;letter-spacing:1px;margin-top:5px}.maphint{position:absolute;bottom:15px;left:0;right:0;text-align:center;pointer-events:none;font-size:10px;color:#355345;background:#f5f8eac9;padding:6px}#notice{padding:12px 16px;background:#edf4e7;font-size:12px;min-height:42px}#selection{padding:10px 16px;font-size:12px;line-height:1.6}.maplegend{padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#738277}.maplegend span:first-child{color:#b77d4e}.maplegend span:nth-child(2){color:#6699a2}.maplegend span:nth-child(3){color:#a78b43}.need{margin:14px 0;font-size:11px}.need b{float:right}progress{width:100%;height:7px;accent-color:#749861;border:0}.goalbox{background:#f3f5e9;padding:10px;font-size:12px;border-radius:7px}#budget div{display:flex;justify-content:space-between;margin:8px 0;font-size:12px}.negative{color:#a9553b}.positive{color:#397953}.message{border-left:2px solid #b0c296;padding:6px 10px;font-size:11px;line-height:1.6;margin:8px 0}.bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:18px}.bottom>div{padding:23px}textarea{width:100%;margin:8px 0;border:1px solid #d1dbcf;border-radius:7px;padding:10px;resize:vertical}#notes{font-size:12px;margin-top:10px;line-height:1.6}.trendrow{display:flex;gap:15px;margin:14px 0;font-size:12px}#trend svg{width:100%;height:100px;display:block}.bottom p{font-size:12px}details{margin-top:20px;border-top:1px solid #ddd;padding-top:15px}summary{cursor:pointer}details label{margin:10px 0}input[type=number]{width:85px;float:right;padding:3px;border:1px solid #ccd6c8}footer{font-size:11px;color:#7b897d;margin:22px 0}dialog{max-width:650px;border:1px solid #d5ded0;border-radius:14px;padding:28px;color:#294739}dialog::backdrop{background:#143d3655}dialog>button{float:right}dialog p,dialog li{line-height:1.7}#goal{font-size:12px}@media(min-width:1550px){.canvaswrap{height:620px}}@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}.overview{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.overview h3{margin:12px 0}.stats{gap:6px}.stat{padding:12px}.stat strong{font-size:21px}}@media(max-width:700px){header{height:60px;padding:0 14px}header>span{display:none}.brand{font-size:17px}header button{font-size:11px;padding:7px}main{padding:18px 10px}.heading{display:block}h1{font-size:28px;margin-bottom:12px}.time{margin-bottom:14px}.time button{flex:1;padding:8px}.stats{grid-template-columns:repeat(3,1fr)}.stat strong{font-size:18px}.stat small{font-size:9px}.stat:nth-child(n+4){grid-column:auto}.layout{display:flex;flex-direction:column}.build{width:100%;padding:12px}.build h2{font-size:15px}#catalog{display:flex;overflow:auto;padding-bottom:6px}.building{min-width:128px;grid-template-columns:25px 1fr auto}.building small{font-size:9px}.tools{display:inline-flex}.policy{display:inline-block;margin:4px 0 0 15px;padding:0;border:0;width:45%;vertical-align:top}.policy p{display:none}.policy input{margin:3px 0}.maparea{width:100%}.canvaswrap{height:420px}.maphead{padding:10px}.maphead small{font-size:10px;max-width:205px}.maphead button{padding:6px}.overview{display:block;width:100%}#needs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.bottom{grid-template-columns:1fr}.maphint{font-size:9px}h1 span{font-size:12px}}
