@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font:14px 'DM Sans',system-ui,sans-serif;color:#223c33;background:#f7f8f3;--green:#315d49;--line:#dce3d8;--muted:#7c8b80}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:1px solid #cfdace;background:white;color:#315342;border-radius:7px;padding:11px 16px;transition:background .15s}button:hover{background:#e6eee2}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d69d4a;outline-offset:3px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#234935}.quiet{background:transparent;border-color:transparent}.text-button{border:0;background:none;padding:4px;font-size:11px}.full{width:100%}header{height:90px;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fbfcf8}.brand{display:flex;gap:11px;align-items:center;font-size:35px;color:#315d49;text-decoration:none}.brand>span{font:800 27px Manrope,system-ui;letter-spacing:-1px}.brand small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:1px}.header-actions{display:flex;gap:12px;align-items:center}.public-note{font-size:11px;color:var(--muted);margin-right:15px}main{max-width:1700px;margin:auto;padding:0 4%}.hero{display:flex;align-items:center;justify-content:space-between;min-height:390px;padding:45px 0;gap:45px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#79927b}h1{font:500 clamp(34px,4.2vw,60px)/1.12 Manrope,system-ui;letter-spacing:-2.3px;margin:18px 0}p{color:#7a887c;line-height:1.7;font-size:13px}.hero p{font-size:14px;line-height:1.8;margin-bottom:25px}.hero button span{margin-left:25px}.hero-art{flex:1;max-width:500px;height:320px;border-radius:50%;background:radial-gradient(ellipse,#d8e4cc 0,#eef2e6 44%,transparent 68%);display:grid;place-items:center;position:relative}.plot{position:relative;width:220px;height:200px;background:#a8be91;transform:rotateX(52deg) rotateZ(-35deg);box-shadow:-14px 18px 0 #90a877,-15px 20px 25px #71915b33;border:2px solid #e3f0d4}.plot:after{content:'';position:absolute;inset:-25px;border:1px dashed #759563}.house{position:absolute;width:95px;height:85px;top:55px;left:62px;background:#d8c7aa;box-shadow:-13px 14px 0 #b3a68c}.house:after{content:'';position:absolute;inset:-8px;transform:translateY(-22px);background:linear-gradient(135deg,#c49f7a 50%,#a88361 50%);box-shadow:0 10px 8px #5a6e4033}.tree{position:absolute;border-radius:50%;width:35px;height:40px;background:#5b7e53;box-shadow:-8px 10px 0 #78975f}.t1{left:10px;top:20px}.t2{right:12px;top:23px;width:43px;height:48px}.t3{right:16px;bottom:15px}.pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;outline:3px solid #3f6e4e;z-index:2}.p1{left:-30px;top:-30px}.p2{right:-30px;top:-30px}.p3{right:-30px;bottom:-30px}.p4{left:-30px;bottom:-30px}.art-label{position:absolute;bottom:0;font:9px monospace;letter-spacing:3px;color:#7c9773}.collection-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:26px 0 22px}h2{font:600 24px Manrope,system-ui;letter-spacing:-.6px;margin:8px 0}h2 span,#cropCount{font:11px 'DM Sans';color:#8b9d87;background:#eaf0e4;border-radius:15px;padding:3px 8px;vertical-align:middle;margin-left:5px}input[type=search]{width:245px}input[type=text],input[type=password],input[type=search],select{padding:12px;border:1px solid #d6dfcf;border-radius:7px;background:#fff;color:#284a35;width:100%;min-width:0}.collection-heading input{max-width:245px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:0;text-align:left;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px #254b2905}.card-image{aspect-ratio:1.6;background:radial-gradient(ellipse,#d7e3ca,#e8eee1);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover}.card-image .placeholder{font-size:65px;color:#99af8c}.card-image>small{position:absolute;left:14px;top:14px;background:#fbfff2df;padding:5px 9px;border-radius:4px;font-size:9px;letter-spacing:1px}.card-body{padding:17px 20px}.card-body h3{font:600 18px Manrope,system-ui,sans-serif;margin:0 0 7px}.card-body p{font-size:11px;margin:0}.card-body .arrow{float:right;font-size:20px;color:#7d9774}.empty{padding:55px;text-align:center;border:1px dashed #cbd8c0;border-radius:12px;background:#f0f4ea}.empty>span{font-size:35px;color:#8aa37b}.empty h3{font:500 22px Manrope,system-ui,sans-serif;margin:10px}.gallery-foot{text-align:center;font-size:11px;margin:40px 0}.viewer-heading{display:flex;align-items:center;gap:20px;padding:22px 0}.viewer-heading>div{flex:1}.viewer-heading h2{font-size:21px;margin:0}.viewer-heading p{font-size:11px;margin:3px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;padding-bottom:26px}.viewport{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;align-self:start}#stage{height:calc(100vh - 245px);min-height:410px;position:relative;background:#18251f;overflow:hidden;touch-action:none}#stage canvas{display:block;width:100%;height:100%;touch-action:none}#boundary{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;touch-action:none}#boundary.drawing{pointer-events:auto;cursor:crosshair}#boundary circle{pointer-events:all;cursor:grab;fill:#fff;stroke:#5e9e71;stroke-width:3}#boundary path{fill:#b7e3a92b;stroke:#ccebb3;stroke-width:2;pointer-events:none}.view-label{position:absolute;top:18px;left:18px;color:#c0d3b7;font:9px monospace;letter-spacing:2px;display:flex;align-items:center;gap:7px;pointer-events:none}.live-dot{width:5px;height:5px;background:#b3d79e;border-radius:50%}#hint{position:absolute;bottom:18px;left:18px;color:#94aa95;font-size:10px;pointer-events:none;max-width:60%}.view-tools{position:absolute;bottom:13px;right:13px;display:flex;gap:4px;z-index:3}.view-tools button{background:#25382fd9;color:#c3d5bd;border-color:#4a6051;font-size:11px;padding:8px 10px}.viewer-footer{min-height:46px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7a8d77}aside{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;height:fit-content}.aside-head h3{font:600 21px Manrope,system-ui,sans-serif;margin:12px 0}.aside-head p{font-size:12px;margin-bottom:20px}h4{font-size:12px;font-weight:600;margin:0}.segmented{display:flex;margin:17px 0 10px;background:#f0f4ec;padding:3px;border-radius:7px}.segmented button{flex:1;font-size:10px;padding:9px 5px;border:0;background:transparent}.segmented button.selected{background:white;box-shadow:0 1px 4px #5266421a}.fine{font-size:10px;line-height:1.7}.height-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.range-label{display:block;font-size:10px;margin:14px 0;color:#788a70}.range-label output{float:right;color:#315c3e}input[type=range]{width:100%;accent-color:#52805a;margin:10px 0 0;cursor:pointer}.check{font-size:11px;display:flex;align-items:center;gap:6px;margin:15px 0}input[type=checkbox]{accent-color:#52805a}.saved-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.saved-section h4{margin-bottom:12px}.view-item{display:flex;width:100%;justify-content:space-between;gap:7px;font-size:11px;border-color:transparent;padding:11px 10px;text-align:left;overflow-wrap:anywhere}.view-item span{color:#92a287;font-size:9px;white-space:nowrap}.view-item.selected{background:#edf3e7;color:#386442}.thumbnail-section{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.thumbnail-section button{font-size:11px}.protection{border-top:1px solid var(--line);padding-top:15px;margin-bottom:0}#drawActions{display:flex;gap:5px}#drawActions button{font-size:10px;padding:8px}dialog{width:min(460px,92vw);padding:30px;border:1px solid #d4dfcd;border-radius:15px;color:#254331;box-shadow:0 20px 80px #152c2733}dialog::backdrop{background:#14261d88;backdrop-filter:blur(4px)}dialog h2{font-size:26px;margin-top:13px}dialog p{font-size:12px}dialog input,dialog select{margin:10px 0 20px}dialog label{font-size:11px;color:#6e8067}.close{position:absolute;top:12px;right:12px;border:0;background:none;font-size:22px;padding:5px 10px}#dialogError{color:#a34a35}#dialogBody img{width:100%;border-radius:8px;margin-bottom:15px}.link-row{display:flex;gap:6px}.link-row input{font-size:11px}.link-row button{margin:10px 0 20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 22px;border-radius:9px;background:#244333;color:white;box-shadow:0 4px 20px #142c2822;font-size:12px;z-index:20}#busy{position:fixed;inset:0;background:#15271b99;backdrop-filter:blur(4px);z-index:30;display:grid;place-items:center}.busy-card{background:#fafcf7;padding:35px;border-radius:14px;width:min(380px,90vw);text-align:center}.busy-card h3{font:600 20px Manrope}.busy-card p{font-size:12px}.spinner{margin:auto;width:32px;height:32px;border:2px solid #d7e5cd;border-top-color:#4c7850;border-radius:50%;animation:spin 1s linear infinite}progress{width:100%;accent-color:#4c7850}body.editing #editCrop{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.cards{grid-template-columns:repeat(4,1fr)}}@media(max-width:1000px){.public-note{display:none}.hero-art{max-width:330px;transform:scale(.85)}.workspace{grid-template-columns:minmax(0,1fr) 255px}.cards{grid-template-columns:repeat(2,1fr)}aside{padding:17px}}@media(max-width:700px){header{height:76px;padding:0 5%;gap:10px}.brand{font-size:28px;gap:6px}.brand>span{font-size:23px}.brand small{font-size:6px;letter-spacing:1.4px}.header-actions{gap:3px}.header-actions button{font-size:10px;padding:9px}.public-note{display:none}main{padding:0 5%}.hero{padding:35px 0;gap:0;min-height:0}.hero h1{font-size:38px}.hero p{font-size:12px}.hero-art{display:none}.hero .quiet{padding-left:10px}.hero button{font-size:11px}.collection-heading{gap:10px}.collection-heading h2{font-size:21px}.collection-heading input{max-width:140px;font-size:11px}.cards{grid-template-columns:1fr}.empty{padding:35px 20px}.workspace{grid-template-columns:1fr;gap:14px}#stage{height:55vh;min-height:360px}.viewer-heading{gap:10px;padding:17px 0;flex-wrap:wrap}.viewer-heading h2{font-size:17px}.viewer-heading>button{padding:7px;font-size:11px}.viewer-heading>div{min-width:100px}.viewer-heading p{font-size:9px}.viewer-footer{font-size:9px;padding:10px}#hint{font-size:9px;max-width:47%;bottom:14px;left:12px}.view-tools button{padding:8px;font-size:10px}aside{padding:22px}.aside-head p{margin-bottom:15px}.protection{margin-top:15px}.gallery-foot{font-size:10px}.view-item{font-size:13px;padding:13px}.range-label{font-size:12px}input[type=range]{height:30px}.fine{font-size:11px}}

.card-image img{position:absolute;inset:0}
.card{position:relative}.card-open{display:block;width:100%;border:0;padding:0;text-align:left;border-radius:0;background:transparent}.delete-card{font-size:11px;margin:0 18px 15px;padding:7px 10px}.danger{color:#a44433;border-color:#e1b8ae;background:#fff8f6}.danger:hover{background:#f8e5de}.display-tools{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:8px 14px;border-bottom:1px solid var(--line);font-size:11px}.display-tools label{display:flex;align-items:center;gap:6px}.display-tools select{width:auto;padding:5px 8px;font-size:11px}.loading-help{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.loading-help summary{font-size:11px;cursor:pointer;color:#61785c}#boundary,#boundary.drawing,#boundary circle,#boundary path,#boundary text,#boundary g{pointer-events:none!important}#boundary .height-outline{fill:none;stroke:#b3d29c;stroke-width:1;stroke-dasharray:5 5;opacity:.5}#boundary .midpoint circle{fill:#325e49;stroke:#e0f1c9;stroke-width:2}#boundary .midpoint text{fill:#fff;font:12px system-ui}#stage.light .view-label,#stage.light #hint{color:#344b3a}#stage.light #boundary .outline{stroke:#3d7050;fill:#70a36b22}#stage.light #boundary .height-outline{stroke:#466a48}#stage.light #boundary circle{stroke:#3c704b}#stage.expanded{position:fixed;inset:0;width:100vw;height:100dvh;min-height:0;border-radius:0;z-index:100}#stage:fullscreen{height:100vh;min-height:0}body.viewer-expanded{overflow:hidden}#stage.expanded .view-tools,#stage:fullscreen .view-tools{bottom:max(16px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right))}#stage.expanded #hint,#stage:fullscreen #hint{bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:700px){.viewer-heading>button.danger{font-size:10px;padding:6px}.display-tools{justify-content:space-between}.delete-card{min-height:36px}#fullscreen{min-width:53px}.view-tools{right:8px;gap:3px}#hint{bottom:50px;max-width:88%;font-size:10px}}
#toast{z-index:200}.card{background:white;border:1px solid var(--line)}
.orientation-section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.orientation-section button{font-size:11px}.orientation-section select{margin:10px 0 0;font-size:11px}.orientation-angles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.orientation-angles label{font-size:10px;color:#6e8067}.orientation-angles input{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;padding:8px 4px;margin-top:5px;font-size:12px}.orientation-preview{position:absolute;left:14px;top:42px;max-width:80%;font-size:10px;color:#f1d7a1;background:#3f3727dd;padding:6px 9px;border-radius:5px;pointer-events:none}
body:not(.editor-unlocked) [data-editor-only],.basic-mode [data-editor-only],.basic-mode #unlock,.basic-mode #upload,.basic-mode #deleteProperty,.basic-mode .delete-card,.basic-mode .public-note{display:none!important}.basic-badge{display:none;font-size:11px;color:#7c8b80}.basic-mode .basic-badge{display:inline}.share-option{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.share-option h3{font-size:14px;margin:0}.share-option p{font-size:11px;margin:5px 0 12px}.share-option .link-row{align-items:stretch}.share-option .link-row input{min-width:0}.share-option .link-row button{flex-shrink:0;font-size:12px}.share-option label{font-size:10px}.share-option:last-child{margin-bottom:15px}body:not(.editor-unlocked) .saved-section{border-top:0;margin-top:0;padding-top:0}
@media(max-width:700px){.basic-mode .header-actions{margin-left:auto}.basic-badge{font-size:10px}.share-option .link-row input{font-size:10px}}

.saved-view-row{display:flex;align-items:center;gap:5px}.saved-view-row .view-item{flex:1;min-width:0}.delete-crop{flex-shrink:0;font-size:10px;padding:9px 8px;min-height:36px}@media(max-width:700px){.delete-crop{min-height:44px;padding:10px;font-size:11px}}

.property-details{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.property-details p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}.property-details button{font-size:11px;margin-top:13px}.viewer-heading h2{overflow-wrap:anywhere}.viewer-heading>div{min-width:0}.card-body .card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 10px}.edit-card{font-size:11px;margin:0 0 15px 18px;padding:7px 10px}.edit-card+.delete-card{margin-left:8px}dialog textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:110px;max-height:40vh;border:1px solid #d6dfcf;border-radius:7px;background:white;color:#284a35;padding:12px;margin:10px 0 0;font:inherit;line-height:1.6}dialog textarea:focus-visible{outline:3px solid #d69d4a;outline-offset:3px}.optional{color:#8a9585;font-weight:400}@media(max-width:700px){.edit-card{min-height:40px}.property-details p{font-size:13px}.property-details button{min-height:44px}dialog{max-height:90dvh;overflow:auto}dialog input[type=text],dialog input[type=password],dialog textarea{font-size:16px}}

.basic-mode #download{display:none!important}
@media(max-width:700px){header{height:auto;min-height:76px;padding-top:10px;padding-bottom:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end}#compareProperties{min-height:36px}}

.compare-pick{display:flex;align-items:center;gap:9px;padding:12px 16px;background:#e9f2e4;color:#315d49;font-size:12px;font-weight:600;cursor:pointer}.compare-pick input{width:20px;height:20px;accent-color:#315d49}.compare-pick:focus-within{outline:3px solid #d69d4a;outline-offset:-3px}
