:root{--ink:#17221e;--muted:#697670;--line:#dce3df;--paper:#fff;--bg:#f2f6f3;--green:#176b4a;--green2:#0d5036;--mint:#dcefe6;--shadow:0 16px 40px rgba(20,50,37,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:68px;background:#102d22;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));box-shadow:0 1px 10px #0002}.brand{color:white;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.4px}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2b9a6e;margin-right:8px}.ghost{border:1px solid #ffffff55;background:transparent;color:white;border-radius:9px;padding:8px 14px;cursor:pointer}.shell{max-width:1120px;margin:auto;padding:42px 24px 70px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;margin-bottom:34px}.hero h1,.result-head h1{font-size:clamp(31px,4vw,49px);line-height:1.08;letter-spacing:-1.8px;margin:8px 0 12px}.hero p{color:var(--muted);font-size:17px;max-width:650px}.eyebrow{font-size:12px;font-weight:800;color:#21835d;letter-spacing:1.5px}.sample{min-height:170px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#344a42,#15251f);color:white;display:flex;align-items:end;padding:18px;gap:14px;box-shadow:var(--shadow);font-size:13px;text-align:right;justify-content:space-between}.map-mini{width:42%;align-self:stretch;display:grid;place-items:center;background:linear-gradient(135deg,#d7e4de 10%,#f8faf9 11% 19%,#bed3ca 20% 24%,#eef3f1 25%);color:#d73535;font-size:32px}.workspace{display:grid;gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 5px 20px rgba(20,50,37,.04)}.step{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.step span{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:var(--mint);color:var(--green);font-weight:800}.step h2{font-size:19px;margin:1px 0}.step p,.muted{color:var(--muted);margin:2px 0}.dropzone{min-height:140px;border:2px dashed #aac3b7;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:#f8fbf9;transition:.2s}.dropzone:hover,.dropzone.active{border-color:var(--green);background:#edf8f2}.dropzone input{position:absolute;opacity:0;pointer-events:none}.dropzone strong{font-size:17px}.dropzone small{color:var(--muted);margin-top:7px}.grid{display:grid;gap:16px;margin-top:16px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;color:#3d4944;font-weight:650;font-size:13px}input{width:100%;border:1px solid #cfd9d4;border-radius:10px;padding:11px 12px;background:white;color:var(--ink);font:inherit;outline:none}input:focus{border-color:#30906a;box-shadow:0 0 0 3px #30906a22}.primary,.secondary{border:0;border-radius:11px;padding:12px 19px;background:var(--green);color:white;text-decoration:none;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary:hover{background:var(--green2)}.primary.big{font-size:16px;padding:16px}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.login-card{max-width:430px;margin:7vh auto}.login-card h1{font-size:30px;margin:7px 0}.stack{display:grid;gap:16px;margin-top:25px}.alert{border-radius:10px;padding:12px 15px;margin-bottom:18px;background:#fff1ee;color:#9e3528}.result-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.result-head h1{font-size:34px}.actions{display:flex;gap:10px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#dfe5e2}.photo-card div{padding:12px;display:flex;align-items:center;gap:10px}.photo-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;color:var(--muted)}.photo-card a{color:var(--green);font-weight:750;text-decoration:none}@media(max-width:760px){.shell{padding:28px 16px}.hero{grid-template-columns:1fr}.sample{min-height:145px}.grid.two,.grid.three{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.result-head{align-items:stretch;flex-direction:column}.actions{flex-wrap:wrap}.card{padding:20px}}
