:root{--dark:#173d2b;--green:#3f7950;--cream:#f3eedf;--card:#fffdf6;--text:#213128;--muted:#718078;--gold:#d6a536}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--cream);color:var(--text);font:15px system-ui,-apple-system,Segoe UI,sans-serif}.auth{min-height:100dvh;display:grid;place-items:center;padding:20px}.card{background:var(--card);border:1px solid #ddd5c1;border-radius:18px;padding:20px;box-shadow:0 8px 22px #18382812}.auth-card{width:min(390px,100%);text-align:center}.brand{font-size:52px}.auth h1,header h1{font:700 38px Georgia,serif;margin:0}.auth p{color:var(--muted)}label{display:grid;text-align:left;gap:6px;margin:14px 0;font-weight:700}input{font:inherit;padding:13px;border:1px solid #c8c0ac;border-radius:10px;background:#fff}button{font:inherit;font-weight:750;border:0;border-radius:11px;background:var(--dark);color:#fff;padding:12px 15px;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.auth button{width:100%;margin-top:8px}.soft{background:#dfe8df;color:var(--dark)}.gold{background:#f2c954!important;color:#47350b!important}.error{color:#a32d2d;min-height:22px;margin-top:10px}main{max-width:1050px;margin:auto;padding:22px 16px 80px}header{display:flex;align-items:center;justify-content:space-between}header small,.eyebrow{font-size:11px;color:var(--muted);font-weight:850;letter-spacing:.13em}.icon{border-radius:50%;font-size:22px;width:44px;height:44px;padding:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stats article{display:flex;align-items:center;gap:12px;background:var(--dark);color:white;border-radius:15px;padding:15px}.stats article>span{font-size:25px}.stats small{display:block;opacity:.68}.stats strong{font-size:17px}nav{display:flex;gap:7px;margin-bottom:16px;overflow:auto}nav button{flex:1;min-width:105px;background:#ded8c8;color:#46534b;padding:10px}nav button.active{background:var(--green);color:white}.tab{display:none}.tab.active{display:block}.map-head{display:flex;align-items:end;justify-content:space-between;margin:8px 3px 12px}.map-head h2{margin:0}.map-head p{margin:4px 0;color:var(--muted)}.legend{display:flex;gap:12px;font-size:12px}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.mine-dot{background:#f2c64c}.free-dot{background:#8b8a75}.map-shell{border:8px solid #fff8e9;border-radius:22px;overflow:hidden;box-shadow:0 8px 25px #263e2b22;background:#b9cd91}.map-shell svg{display:block;width:100%;height:auto}.map-ground{fill:#b8ca91}.river{fill:none;stroke:#72b4cc;stroke-width:55}.road{fill:none;stroke:#e7ddc3;stroke-width:28}.road.small{stroke-width:18}.village rect{fill:#aa493d;stroke:#fff2d8;stroke-width:5}.village polygon{fill:#70402d}.village text{font-size:13px;font-weight:900;fill:#344a38;text-anchor:middle}.map-field{cursor:pointer;filter:url(#shadow);outline:none}.map-field polygon:first-child{stroke:#f3ead1;stroke-width:5;transition:.18s}.map-field:hover polygon:first-child,.map-field:focus polygon:first-child{stroke:#fff;stroke-width:9}.map-field.mine polygon:first-child{stroke:#f7ca4f;stroke-width:8}.field-label{pointer-events:none;text-anchor:middle;fill:#fff;font-size:17px;font-weight:900;paint-order:stroke;stroke:#26382b;stroke-width:3px}.field-crop{pointer-events:none;text-anchor:middle;font-size:22px}.section-title h2{margin-bottom:3px}.section-title p{margin-top:0;color:var(--muted)}.list{display:grid;gap:10px}.job{display:flex;justify-content:space-between;align-items:center}.job h3{margin:7px 0 2px}.job p{margin:0;color:var(--muted)}.status{font-size:10px;font-weight:900;letter-spacing:.1em;padding:4px 7px;border-radius:20px;background:#dfe9df;color:#28623c}.status.active{background:#f3e3ba;color:#80601d}.empty{text-align:center;color:var(--muted);padding:40px}.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.market-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.crop-icon{font-size:38px}.market-price{font:700 23px Georgia,serif;margin:4px 0}.market-item small{color:var(--muted)}#leaders{padding:0;list-style:none}#leaders li{display:flex;justify-content:space-between;padding:12px 4px;border-bottom:1px solid #e5decd}.notices{margin-top:22px}.notices h2{font-size:17px}.notices p{border-top:1px solid #e8e1d1;padding-top:10px}.notices small{display:block;color:var(--muted);margin-top:3px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:26px}.text{background:none;color:var(--muted);padding:0}dialog{border:0;background:transparent;width:min(520px,96%)}dialog::backdrop{background:#10251bd1}.field-modal{position:relative}.field-modal h2{font:700 31px Georgia,serif;margin:5px 0}.field-modal>p,.owner,.hint{color:var(--muted)}.owner{padding:10px 0 18px;border-bottom:1px solid #e5decc;margin-bottom:17px}.close{position:absolute;right:12px;top:12px;width:38px;height:38px;padding:0;border-radius:50%;background:#e8e2d3;color:#34483b;font-size:22px}.field-modal #fieldActions>button{width:100%}.crop-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.crop-picker button{display:grid;background:#e8efe3;color:var(--dark);text-align:left}.crop-picker span{font-size:25px}.crop-picker small{font-weight:500;color:var(--muted)}.modal-actions,.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.progress{height:12px;border-radius:20px;background:#dfe5d6;overflow:hidden}.progress span{display:block;width:65%;height:100%;background:var(--green);animation:pulse 1.7s infinite alternate}@keyframes pulse{to{opacity:.6}}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,18px);background:#15241b;color:white;padding:12px 18px;border-radius:12px;opacity:0;transition:.2s;pointer-events:none;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:650px){.stats{grid-template-columns:1fr 1fr}.stats article:last-child{grid-column:1/-1}.job{align-items:flex-start;gap:10px}.market-grid{grid-template-columns:1fr}.map-head{display:block}.legend{margin-top:8px}.map-shell{margin-left:-16px;margin-right:-16px;border-radius:0;border-left:0;border-right:0}.field-label{font-size:19px}}@media(max-width:390px){.market-item{grid-template-columns:auto 1fr}.market-item button{grid-column:1/-1}.crop-picker{grid-template-columns:1fr}}
