@import url('/static/fonts.css');
:root{--ink:#182e2a;--muted:#73807b;--line:#e2e7e3;--green:#1d5948;--lime:#d8eaa7;--bg:#f5f6f3;--free:#e4f1d6;--reserved:#fff0c8;--sold:#e9ecea;--signed:#dceafa;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #91b761;outline-offset:3px}button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;color:var(--ink);font-weight:600}button:hover{border-color:#a9b8ab;background:#f6f9f3}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#164434;color:white}.quiet{border:0;background:transparent}.small{font-size:13px;padding:7px 10px}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650;margin-bottom:8px}h2{font-size:21px;font-weight:650;letter-spacing:-.4px}h3{font-size:17px}p{line-height:1.6}.app{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{background:#173e35;color:#d3dfd8;padding:30px 18px;position:fixed;inset:0 auto 0 0;width:222px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:-.8px;font-weight:700;color:white;margin:0 8px 38px}.brand img{width:34px;height:34px}.brand small{font-size:10px;display:block;letter-spacing:2px;color:#a9bdad;margin-top:5px;font-weight:500}.nav-caption{font-size:10px;letter-spacing:1.5px;margin:20px 12px 12px;color:#93ac9e}.sidebar nav{display:grid;gap:5px}.sidebar nav button{text-align:left;display:flex;gap:12px;align-items:center;border:0;background:transparent;color:#c8d7ce;font-weight:500;padding:12px 14px}.sidebar nav button.active{background:#d9eaa9;color:#183c31}.sidebar nav button:hover:not(.active){background:#234d42}.nav-icon{width:20px;display:inline-block;text-align:center;font-size:18px}.sidebar-footer{margin-top:auto;padding:24px 10px 0;border-top:1px solid #3a594c;font-size:12px;line-height:1.7}.sidebar-footer strong{font-size:14px;color:white;display:block}.sidebar-footer button{color:#c8d7ce;padding:6px 0;font-size:12px}.main{grid-column:2;min-width:0}.topbar{height:75px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 36px;background:#fff;gap:16px}.breadcrumb{color:#8b958e;font-size:13px}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.avatar{width:34px;height:34px;border-radius:50%;background:#e9edde;display:grid;place-items:center;font-size:12px;font-weight:700}.content{padding:32px 36px 60px;max-width:1640px;margin:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{color:#738474;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;margin-bottom:12px}.subtitle{font-size:14px;color:var(--muted);margin:0}.title-actions{display:flex;gap:9px;align-items:center}.pill{display:inline-block;font-size:11px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:#fff;font-weight:500}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.stat{padding:19px 23px;border:1px solid var(--line);border-radius:10px;background:#fff;position:relative}.stat .number{display:block;font-size:29px;margin-top:10px;font-weight:600;letter-spacing:-1px}.stat .label{color:#738078;font-size:13px}.stat .dot{position:absolute;right:20px;top:24px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8f9b96;margin-right:7px}.dot.free{background:#97b65e}.dot.reserved{background:#dda839}.dot.signed{background:#759fce}.dot.sold{background:#b0b8b4}.workspace,.panel{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.workspace-toolbar{display:flex;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.segmented{display:flex;background:#f1f3ee;border-radius:7px;padding:3px;gap:2px}.segmented button{padding:8px 13px;background:transparent;border:0;font-size:13px;font-weight:500}.segmented button.active{background:white;box-shadow:0 1px 3px #20372017}.filters{display:flex;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);align-items:end;flex-wrap:wrap}.filters label{font-size:11px;color:var(--muted);display:grid;gap:7px;flex:1;min-width:105px}.filters input,.filters select{min-width:0;width:100%;height:39px;font-size:13px}.filters .reset{color:#7d8c82;font-size:12px;border:0;background:transparent;font-weight:400}.legend{padding:16px 22px;display:flex;gap:19px;align-items:center;font-size:11px;color:#6e7c73;flex-wrap:wrap}.legend .right{margin-left:auto}.grid-scroll{overflow:auto;padding:0 22px 22px}.chess{min-width:690px;display:grid;gap:7px}.floor-row{display:grid;grid-template-columns:38px repeat(12,minmax(43px,1fr));gap:6px;align-items:stretch}.floor-label{display:grid;place-items:center;border:0;background:none;color:#85928b;font-size:12px;padding:0}.apt{position:relative;border:1px solid transparent;border-radius:5px;padding:9px 3px;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;transition:transform .13s,box-shadow .13s}.apt small{font-size:10px;font-weight:400;opacity:.75}.apt.free{background:var(--free);color:#416530;border-color:#d6e7c6}.apt.reserved{background:var(--reserved);color:#916518;border-color:#f2dfad}.apt.signed{background:var(--signed);color:#4c6f91;border-color:#cbdff1}.apt.sold,.apt.hidden,.apt.repair{background:var(--sold);color:#919b96;border-color:#e1e6e2}.apt:hover{transform:translateY(-2px);box-shadow:0 4px 8px #183f3522;border-color:#59845a}.apt.filtered{opacity:.16}.apt.selected{outline:2px solid var(--green);outline-offset:1px}.grid-bottom{border-top:1px solid var(--line);padding:13px 22px;display:flex;justify-content:space-between;font-size:11px;color:#8a958e}.panel{padding:25px;margin-bottom:20px}.panel p{font-size:14px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label.field{display:grid;gap:7px;color:#64756a;font-size:12px}input,select,textarea{border:1px solid #dbe2dc;border-radius:7px;padding:10px 12px;background:white;color:var(--ink);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#7b9b65;box-shadow:0 0 0 3px #bacaa933}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.check{display:flex;align-items:start;gap:10px;font-size:13px;line-height:1.5;margin:15px 0}.check input{margin-top:2px;flex-shrink:0}.help{font-size:12px;color:#829085;line-height:1.6;margin:12px 0}.notice{background:#f2f5e9;color:#657448;border:1px solid #e3e9d4;border-radius:7px;padding:12px 15px;font-size:12px;line-height:1.6;margin:15px 0}.error{background:#fff0eb;color:#a24932;padding:12px;border-radius:7px;font-size:13px}.error:empty{display:none}.actions{display:flex;gap:10px;align-items:center;margin-top:22px;justify-content:flex-end}.empty{padding:65px 30px;text-align:center;color:#819083}.empty h2{color:#4c6757}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{color:#87948b;font-size:11px;font-weight:500;border-bottom:1px solid var(--line);padding:13px}td{border-bottom:1px solid #edf0ec;padding:13px}tbody tr:hover{background:#f7f9f4}td button{padding:6px 10px;font-size:12px}code{font-family:Consolas,monospace;word-break:break-all;font-size:12px;line-height:1.8}pre{white-space:pre-wrap;background:#f4f6f0;padding:18px;border-radius:8px}.status-tag{display:inline-block;padding:5px 8px;border-radius:5px;font-size:11px;background:var(--sold)}.status-tag.free{background:var(--free);color:#54733d}.status-tag.reserved{background:var(--reserved);color:#886618}.status-tag.signed{background:var(--signed);color:#496b87}.status-tag.sold{color:#818d84}dialog{border:0;border-radius:14px;padding:0;box-shadow:0 24px 100px #132f3540;width:min(620px,94vw);max-height:93vh;color:var(--ink)}dialog::backdrop{background:#132d2a55;backdrop-filter:blur(3px)}.dialog-head{padding:24px 26px 16px;display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}.dialog-body{padding:24px 26px}.close{border:0;background:#f0f3ed;border-radius:50%;width:30px;height:30px;padding:0;flex-shrink:0}.layout-preview{background:#f7f8f4;border-radius:9px;padding:20px;text-align:center;margin-bottom:22px}.layout-preview img{height:265px;max-width:100%;object-fit:contain;mix-blend-mode:multiply}.price-big{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:20px 0}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.details span{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.details strong{font-size:17px;font-weight:500}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#173e35;color:#d7e4d2;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-art .brand{margin:0}.login-art h1{font-size:48px;line-height:1.15;color:#f3f5e9;max-width:460px}.login-art p{color:#abc1af;max-width:410px}.abstract-building{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-width:440px;transform:skewY(-6deg);margin:38px 0}.abstract-building i{height:34px;background:#31564a;border-radius:3px}.abstract-building i:nth-child(7n){background:#bdd288}.abstract-building i:nth-child(9n){background:#849773}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-box{width:350px}.login-box .field{margin:18px 0}.login-box button{width:100%;margin-top:15px}.login-box h1{font-size:29px}.loading{display:grid;place-items:center;min-height:80vh;color:#71836f}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173e35;color:white;padding:14px 22px;border-radius:9px;z-index:20;max-width:90vw;box-shadow:0 5px 25px #10251e33;display:none;font-size:14px}#toast.show{display:block}.widget{max-width:1280px;padding:32px;margin:auto}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.widget-logo{font-size:12px;color:#819081;letter-spacing:2px}.widget h1{font-size:32px}.widget .workspace{box-shadow:0 8px 35px #304b1d06}.floor-view{display:grid;grid-template-columns:62px minmax(0,1fr) 240px;min-height:620px}.floor-picker{padding:20px 10px;border-right:1px solid var(--line);max-height:760px;overflow:auto;display:flex;flex-direction:column;gap:5px}.floor-picker button{border:0;background:transparent;padding:8px;font-size:12px}.floor-picker button.active{background:var(--green);color:white}.plan-stage{padding:22px;display:grid;place-items:start center;background:#fafbf8;overflow:auto}.plan-canvas{position:relative;width:100%;max-width:520px;line-height:0;user-select:none}.plan-canvas img{width:100%;display:block}.plan-canvas svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hotspot{fill:#356b4b20;stroke:#407847;stroke-width:2;cursor:pointer;transition:fill .15s}.hotspot:hover,.hotspot.current{fill:#b5d08288;stroke-width:4}.hotspot.sold{fill:#808d8940;stroke:#8b9992}.hotspot.reserved{fill:#ffce4360;stroke:#ce962d}.hotspot.signed{fill:#7caffb40;stroke:#649bd9}.draft-shape{fill:#92c54c60;stroke:#387343;stroke-width:3;pointer-events:none}.floor-apartments{padding:18px;border-left:1px solid var(--line);max-height:780px;overflow:auto}.floor-apartments h3{font-size:14px}.floor-card{width:100%;text-align:left;display:block;margin:10px 0;padding:14px;font-size:13px;line-height:1.6;font-weight:500}.floor-card span{display:block;color:#809080;font-size:11px}.floor-card strong{display:block;margin-top:6px;font-size:14px}.floor-card .status-tag{display:inline-block;margin:6px 0 0}.editor{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px}.editor .plan-canvas{max-width:660px;cursor:crosshair}.editor-controls{align-self:start;position:sticky;top:20px}.editor-controls button{width:100%;margin-top:10px}.editor-controls select{font-size:13px}.plan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px}.plan-tile{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white;padding:0;text-align:left}.plan-tile img{height:175px;width:100%;object-fit:contain;padding:15px;background:#fafbf8}.plan-tile div{padding:14px;font-size:13px}.plan-tile small{display:block;margin-top:5px;color:var(--muted)}.feed-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feed-name{display:flex;justify-content:space-between;align-items:center}.feed-name h2{margin:0}.feed-errors{font-size:12px;color:#a37538;line-height:1.7;padding-left:18px}.link-row{display:flex;gap:8px;align-items:center;margin:16px 0}.link-row code{flex:1;padding:10px;background:#f4f6f1;border-radius:6px}.source-note{font-size:11px;color:#91a08f;margin-top:16px;line-height:1.7}.building-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.building-card{padding:25px;border:1px solid var(--line);border-radius:10px;background:#fff}.building-card .building-num{font-size:45px;color:#b3c3a2;font-weight:500;letter-spacing:-2px;margin:12px 0}.master-view{padding:25px}.master-view .plan-canvas{max-width:1000px;margin:auto}.mobile-brand{display:none}.credentials{background:#eef4e6;padding:16px;font-size:13px;line-height:1.8}
@media(min-width:1500px){.content{padding:40px 48px}.apt{min-height:65px;font-size:13px}.apt small{font-size:11px}}
@media(max-width:1100px){.app{grid-template-columns:185px 1fr}.sidebar{width:185px;padding:24px 10px}.brand{font-size:18px;margin-left:5px}.brand small{font-size:8px}.content{padding:25px 22px}.topbar{padding:0 22px}.title-row{align-items:start}.title-actions{flex-wrap:wrap;justify-content:end}.floor-view{grid-template-columns:50px minmax(0,1fr) 195px}.floor-apartments{padding:12px}.two-col,.feed-grid{grid-template-columns:1fr}.editor{grid-template-columns:1fr 220px}}
@media(max-width:720px){.app{display:block}.sidebar{position:relative;width:100%;padding:12px 15px;display:block}.sidebar .brand,.sidebar-footer,.nav-caption{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav button{white-space:nowrap;font-size:12px;padding:10px}.nav-icon{font-size:15px;width:15px}.topbar{height:57px;padding:0 16px}.breadcrumb{font-size:11px}.top-actions{gap:10px}.top-actions>a{font-size:11px}.content{padding:24px 14px}.title-row{gap:12px;flex-direction:column;margin-bottom:15px}.title-actions{justify-content:start}h1{font-size:27px}.stats{gap:8px;grid-template-columns:repeat(2,1fr);margin:18px 0}.stat{padding:14px 16px}.stat .number{font-size:25px;margin-top:8px}.stat .label{font-size:12px}.stat .dot{right:11px;top:20px}.workspace-toolbar{padding:14px;gap:10px}.filters{padding:14px;gap:10px}.filters label{min-width:calc(50% - 10px)}.legend{padding:13px;gap:12px;font-size:10px}.legend .right{margin-left:0}.grid-scroll{padding:0 13px 15px}.grid-bottom{padding:12px;font-size:10px}.panel{padding:19px}.form-grid{gap:13px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100vh;padding:24px}.widget{padding:20px 10px}.widget h1{font-size:25px}.widget-logo{font-size:9px;letter-spacing:1px}.widget-header{align-items:start;gap:10px}.floor-view{grid-template-columns:45px minmax(0,1fr)}.floor-picker{max-height:570px;padding:12px 4px}.plan-stage{padding:12px}.floor-apartments{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:none;padding:14px}.floor-apartments h3{grid-column:1/-1}.floor-card{margin:0;padding:11px}.editor{grid-template-columns:1fr}.editor-controls{position:static;order:-1}.editor-controls button{width:auto;margin-right:6px}.editor-controls select{max-width:250px}.details{gap:14px}.dialog-body{padding:20px}.dialog-head{padding:20px}.layout-preview img{height:225px}.price-big{font-size:25px}.feed-grid{gap:0}.two-col{gap:0}.source-note{font-size:10px}.grid-bottom span:last-child{display:none}}

.building-actions{display:flex;flex-wrap:wrap;gap:9px}.inventory-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 22px 18px}.inventory-actions:empty{display:none}.inventory-actions span{font-size:12px;color:var(--green)}.table-edit-help{padding:0 22px 18px;font-size:12px;line-height:1.7}.apartment-table table{min-width:1100px}.apartment-table th,.apartment-table td{padding:14px 12px;white-space:nowrap}.apartment-table .table-floor th{padding:15px 22px;background:#f2f5ee;color:var(--ink);font-size:14px;font-weight:600}.table-floor span{font-size:11px;color:var(--muted);margin-left:16px;font-weight:400}.editable-cell{border:0;border-radius:3px;background:none;padding:5px 0;color:var(--green);font-weight:500;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px;white-space:nowrap}.editable-cell:hover{background:#edf4e5;color:#123c2d}.editable-cell .status-tag{border-bottom:1px dotted currentColor}.inline-popover{position:fixed;z-index:15;width:300px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;border:1px solid #cfdbca;border-radius:10px;background:white;padding:17px;box-shadow:0 12px 40px #173e3530}.inline-heading{font-size:13px;font-weight:600;margin-bottom:14px}.inline-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.inline-actions button{padding:8px 15px;font-size:19px}.inline-popover .help:empty{display:none}.inline-popover .error{margin-top:12px}.inline-popover .help{margin-bottom:0}@media(max-width:720px){.inventory-actions{padding:0 14px 15px}.inventory-actions button{font-size:12px}.table-edit-help{padding:0 14px 15px}}

.sidebar-footer button[data-action="logout"]:hover{background:transparent;border-color:transparent;color:#c8d7ce}
.login-art{container-type:inline-size;padding:clamp(24px,4vw,60px)}.login-art h1{max-width:none;white-space:nowrap;font-size:min(48px,5.5cqi)}.login-art p{max-width:none;white-space:nowrap;font-size:min(15px,2.2cqi)}.login-art>small{white-space:nowrap;font-size:min(13px,2.5cqi)}


.plan-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.plan-tools span{font-size:12px;color:var(--muted);flex-basis:100%}.editor-stage{min-width:0}.editor .editor-stage .plan-canvas{max-width:850px;margin:auto}.editor-controls{max-height:calc(100vh - 40px);overflow:auto;padding:0 8px 12px 0}.editor-controls .help{font-size:12px}.region-list-title{margin-top:25px}.region-list{border-top:1px solid var(--line)}.region-row{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line)}.editor-controls .region-row button{width:auto;text-align:left;margin:0;padding:10px 2px}.region-row button:first-child{flex:1}.candidate-row{padding:10px;border:1px solid var(--line);border-radius:8px;margin:10px 0}.candidate-row.active{border-color:var(--green);background:#f1f6e9}.editor-controls .candidate-row button{width:auto;margin:0;padding:6px 0}.candidate-row select{margin:6px 0;max-width:100%}.detected-region{fill:#2a80af18;stroke:#227899;stroke-width:3;vector-effect:non-scaling-stroke}.detected-region.current{fill:#dbeb8460;stroke:#b17e12}.region-label{font-size:17px;fill:#173e35;stroke:white;stroke-width:4;paint-order:stroke;font-weight:700;text-anchor:middle;pointer-events:none}.draft-vertex{fill:#fff;stroke:#1d5948;stroke-width:2;cursor:move;touch-action:none}.copy-mapping{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.editor .plan-canvas{touch-action:pan-y}.editor-controls .check input{flex-shrink:0}@media(max-width:720px){.editor-controls{max-height:none;overflow:visible}.candidate-list,.region-list{max-height:320px;overflow:auto}.editor .editor-controls{order:0}.plan-tools button{font-size:12px}.copy-mapping{grid-template-columns:1fr}}


/* Status colours always come from the apartment record, never from the source image. */
.hotspot.free{fill:#71b85240;stroke:#4b8739}.hotspot.reserved{fill:#f1bd4d85;stroke:#a9770d}.hotspot.signed{fill:#79adf090;stroke:#376da9}.hotspot.sold{fill:#bdc5c2c9;stroke:#697b72}.hotspot.hidden{fill:#748394bb;stroke:#425366}.hotspot.repair{fill:#be99db99;stroke:#855da2}.hotspot:hover,.hotspot.current{stroke-width:5;stroke:#173e35}.hotspot.detected-region{fill:#2a80af18;stroke:#227899}.hotspot.detected-region.current{fill:#dbeb8460;stroke:#b17e12}.dot.hidden{background:#748394}.dot.repair{background:#ad84ce}.apt.hidden,.status-tag.hidden{background:#d7dfe7;color:#526578;border-color:#bdcbd5}.apt.repair,.status-tag.repair{background:#ecdef5;color:#80599c;border-color:#d8bde9}

.panel.editor{overflow:visible}.selected-region{position:sticky;top:0;z-index:2;background:#fff;border:1px solid #ccdabe;border-radius:9px;padding:14px;margin:12px 0;box-shadow:0 4px 12px #173e350c}.selected-region strong,.selected-region>span{display:block}.selected-region>span{font-size:12px;color:var(--muted);margin:6px 0}.editor-controls .selected-region button{margin-top:9px}.candidate-list{max-height:370px;overflow:auto}.editor-controls .candidate-row button[data-action="edit-candidate"]{display:block;width:100%;padding:8px;margin:5px 0;color:var(--green);background:#f3f7ed}.draft-vertex.selected-vertex{fill:#f1bd4d;stroke:#173e35;stroke-width:3}.edge-handle{cursor:copy}.edge-handle circle{fill:#fff;stroke:#1d5948;stroke-width:1.5}.edge-handle text{fill:#1d5948;font-size:8px;text-anchor:middle;pointer-events:none}.editing-neighbour{pointer-events:none}.editor .draft-shape{fill:#92c54c25;stroke:#173e35;stroke-width:2.5;vector-effect:non-scaling-stroke}.editor .draft-vertex{touch-action:none}@media(max-width:720px){.selected-region{position:static}}

.binding-help{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0}.contour-binding{margin-top:7px}.draft-vertex:focus{outline:none;stroke:#b17e12;stroke-width:3}
