:root{--ink:#17231d;--muted:#66736c;--green:#1c6b48;--lime:#b7df4b;--cream:#f5f3eb;--line:#dfe4df;--white:#fff;--shadow:0 22px 70px #1b39241a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:72px;padding:0 max(4vw,28px);display:flex;align-items:center;gap:45px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:18px;font-weight:700}.brand b{color:var(--green)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--green);color:#fff;font-family:Georgia;font-style:italic}.topbar nav{display:flex;gap:30px;flex:1;height:100%}.topbar nav a{display:flex;align-items:center;text-decoration:none;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.topbar nav a.active{color:var(--green);border-bottom-color:var(--green)}button{font:inherit;cursor:pointer}.quiet,.back{background:transparent;border:0;color:var(--muted)}main{max-width:1400px;margin:auto;padding:0 4vw 55px}.hero{display:flex;justify-content:space-between;align-items:flex-end;padding:58px 0 42px}.eyebrow,.panel-head small{font-size:11px;letter-spacing:.18em;color:var(--green);font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,66px);line-height:1.02;margin:12px 0 16px;font-weight:500}.hero h1 em{color:var(--green);font-weight:500}.hero p{color:var(--muted);font-size:17px;max-width:650px;line-height:1.6;margin:0}.status-card{background:#fff;padding:16px 18px;border-radius:14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);min-width:300px}.status-card div{display:flex;flex-direction:column;flex:1}.status-card small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.status-card strong{font-size:13px;margin-top:3px}.pulse{width:10px;height:10px;border-radius:50%;background:#48ad69;box-shadow:0 0 0 5px #48ad6920}.tag{font-size:10px;background:#edf5e5;color:var(--green);padding:6px 8px;border-radius:7px}.workspace{display:grid;grid-template-columns:250px 1fr;background:#fff;min-height:670px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.steps{padding:32px 18px;background:#183428;color:#fff;display:flex;flex-direction:column}.step{border:0;background:transparent;color:#9fb2a9;display:flex;text-align:left;gap:13px;padding:15px;border-radius:12px;margin-bottom:4px}.step>span{border:1px solid #ffffff35;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex:none;font-size:12px}.step div{display:flex;flex-direction:column;gap:3px}.step b{font-size:13px}.step small{font-size:11px}.step.active{background:#ffffff10;color:#fff}.step.active>span{background:var(--lime);color:#183428;border-color:var(--lime)}.learning-note{margin-top:auto;border-top:1px solid #ffffff20;padding:24px 12px 4px}.learning-note>span{color:var(--lime);font-size:22px}.learning-note b{display:block;font-size:12px;margin-top:8px}.learning-note p{font-size:11px;color:#9fb2a9;line-height:1.5}.panel{padding:42px 48px}.screen{display:none}.screen.active{display:block;animation:enter .25s ease}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.panel-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:30px}.panel-head h2{font-family:Georgia,serif;font-size:31px;font-weight:500;margin:6px 0}.info,.success{font-size:11px;color:var(--muted);background:#f3f5f3;padding:8px 10px;border-radius:7px}.success{color:var(--green);background:#eaf6ed}.dropzone{height:245px;border:1.5px dashed #aebbb4;border-radius:16px;background:#fafbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer}.dropzone.drag{background:#f0f7e8;border-color:var(--green)}.dropzone input{display:none}.dropzone b{font-size:16px}.dropzone small{color:var(--muted)}.dropzone button{margin-top:12px;border:1px solid var(--green);color:var(--green);border-radius:9px;background:#fff;padding:9px 15px}.upload-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e9f1e4;color:var(--green);font-size:22px}.file-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);padding:14px;border-radius:12px;margin-top:14px}.file-card div:nth-child(2){display:flex;flex-direction:column;flex:1}.file-card small{color:var(--muted)}.file-icon{background:#edf4e9;color:var(--green);font-size:10px;font-weight:800;padding:12px;border-radius:8px}.ok{font-size:12px;color:var(--green)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.choice{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:30px 1fr;column-gap:10px;cursor:pointer}.choice input{display:none}.choice>span{grid-row:1/3;font-size:23px;color:var(--green)}.choice b{font-size:13px}.choice small{color:var(--muted);font-size:11px;margin-top:3px}.choice.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.primary,.secondary{border:0;border-radius:10px;padding:12px 20px;background:var(--green);color:#fff;font-weight:700;font-size:12px}.secondary{background:#edf3ef;color:var(--green);margin-right:8px}.primary b{margin-left:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field span,.confidence b,.toggle b{font-size:12px}.field select,.field input{height:43px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;color:var(--ink)}.unit{display:flex;position:relative}.unit input{width:100%}.unit i{position:absolute;right:12px;top:13px;font-style:normal;font-size:11px;color:var(--muted)}.confidence{display:grid;grid-template-columns:220px 1fr 48px;align-items:center;gap:18px;margin:25px 0}.confidence div{display:flex;flex-direction:column}.confidence small,.toggle small,.hardware small{font-size:10px;color:var(--muted);margin-top:3px}.confidence input{accent-color:var(--green)}.confidence output{font-size:12px;font-weight:700}.toggle{display:flex;align-items:center;gap:12px;margin:20px 0}.toggle input{display:none}.toggle>span{width:38px;height:21px;background:var(--green);border-radius:20px;position:relative}.toggle>span:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;right:3px;top:3px}.toggle div{display:flex;flex-direction:column}.hardware{display:flex;align-items:center;gap:14px;background:#f2f7ed;border:1px solid #dceacb;padding:14px;border-radius:11px}.hardware>span{font-size:10px;background:var(--green);color:#fff;padding:7px;border-radius:7px}.hardware div{display:flex;flex-direction:column;flex:1}.hardware b{font-size:12px}.hardware strong{font-size:11px;color:var(--green)}.results-layout{display:grid;grid-template-columns:1fr 180px;gap:16px}.map{height:405px;border-radius:13px;overflow:hidden;position:relative;background:#819369}.map>img{width:100%;height:100%;object-fit:cover;display:none}.fallback-land{position:absolute;inset:-30px;transform:rotate(-8deg);background:#7c8e63}.fallback-land i{display:block;height:16%;margin:2% 0;background:repeating-linear-gradient(90deg,#506640 0 4px,#879a6c 4px 12px);opacity:.8}.weed{position:absolute;background:#f2d34e80;border:2px solid #f8da4e;filter:drop-shadow(0 1px 2px #0004)}.w1{width:100px;height:50px;left:16%;top:28%;border-radius:45% 65% 35% 55%}.w2{width:70px;height:95px;left:59%;top:16%;border-radius:65% 35%}.w3{width:120px;height:65px;left:50%;top:66%;border-radius:50% 40% 65% 35%}.w4{width:65px;height:45px;left:77%;top:48%;border-radius:50%}.legend{position:absolute;left:14px;bottom:14px;background:#fff;padding:8px 10px;border-radius:7px;font-size:10px}.legend span{display:inline-block;width:9px;height:9px;border:2px solid #d1b323;background:#f2d34e66;margin-right:5px}.map-tools{position:absolute;right:12px;top:12px;background:#fff;border-radius:8px;width:30px;text-align:center;padding:7px 0;line-height:18px}.map-tools hr{border:0;border-top:1px solid var(--line);margin:3px 0}.metrics{display:flex;flex-direction:column;gap:9px}.metrics article{background:#f6f7f4;border-radius:11px;padding:15px;display:flex;flex-direction:column;flex:1}.metrics small{font-size:8px;letter-spacing:.1em;color:var(--muted)}.metrics b{font-family:Georgia,serif;font-size:25px;font-weight:500;margin-top:6px}.metrics b i{font-family:inherit;font-size:12px;font-style:normal}.metrics em{font-size:9px;color:var(--muted);font-style:normal}.metrics .saving{background:#eaf3dc}.review-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}.review-image{min-height:330px;position:relative;background:#667f4e}.crop-lines{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 26px,#a5b66b 28px 39px,transparent 41px 65px);opacity:.8}.outline{position:absolute;width:110px;height:90px;left:39%;top:38%;border:3px solid var(--lime);border-radius:40% 60% 50% 45%;box-shadow:0 0 0 999px #09281618}.review-image>span{position:absolute;bottom:12px;left:12px;background:#fff;padding:7px;border-radius:6px;font-size:9px}.review-content{padding:35px}.prediction{font-size:9px;color:var(--green);font-weight:800;letter-spacing:.12em}.review-content h3{font-family:Georgia,serif;font-size:28px;margin:8px 0}.review-content p{font-size:11px;color:var(--muted)}.review-content hr{border:0;border-top:1px solid var(--line);margin:26px 0}.review-content>b{font-size:12px}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.review-actions button,.correction button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:11px;font-size:11px}.review-actions .yes{color:var(--green);border-color:#a9ceb7}.review-actions .no{color:#9f4941;border-color:#ddb6b2}.correction{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:7px}.correction span{grid-column:1/-1;font-size:10px}.correction select{border:1px solid var(--line);border-radius:8px;padding:8px}.correction button{background:var(--green);color:#fff}.learning-progress{margin-top:18px;background:#f6f7f4;border-radius:11px;padding:15px}.learning-progress div{display:flex;justify-content:space-between;font-size:11px}.learning-progress progress{width:100%;height:6px;accent-color:var(--green)}.learning-progress small{display:block;color:var(--muted);font-size:9px;margin-top:8px}.processing{position:fixed;inset:0;background:#0e231de8;z-index:50;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.processing h3{font-family:Georgia,serif;font-size:30px;margin:20px 0 5px}.processing p{color:#b7c4bd}.processing>div:not(.spinner){width:280px;height:5px;background:#ffffff20;border-radius:8px;overflow:hidden}.processing>div span{display:block;height:100%;width:0;background:var(--lime);transition:width .25s}.processing>b{margin-top:8px;font-size:11px}.spinner{width:50px;height:50px;border:3px solid #ffffff30;border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:25px;bottom:25px;background:#183428;color:#fff;padding:13px 18px;border-radius:10px;font-size:12px;transform:translateY(100px);opacity:0;transition:.25s;z-index:60}.toast.show{transform:none;opacity:1}.hidden{display:none!important}@media(max-width:900px){.hero{align-items:flex-start;flex-direction:column;gap:25px}.workspace{grid-template-columns:1fr}.steps{flex-direction:row;overflow:auto}.step small,.learning-note{display:none}.panel{padding:30px 22px}.results-layout{grid-template-columns:1fr}.metrics{display:grid;grid-template-columns:1fr 1fr}.review-card{grid-template-columns:1fr}.topbar nav{display:none}}@media(max-width:560px){main{padding:0 14px 30px}.topbar{padding:0 16px}.status-card{min-width:100%}.panel-head{flex-direction:column;gap:8px}.choice-grid,.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.confidence{grid-template-columns:1fr 45px}.confidence>div{grid-column:1/-1}.review-actions{grid-template-columns:1fr}.actions>div{display:flex}.info{display:none}}
