:root{--bg:#050d08;--ink:#f4ead8;--muted:rgba(244,234,216,.6);--card:rgba(10,24,14,.9);--line:rgba(244,234,216,.14);--green:#7a9a4a}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--ink);font-family:Archivo,system-ui,sans-serif;overflow:hidden}.mapHeader{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(180deg,rgba(5,13,8,.9) 0%,transparent 100%)}.brand{font-weight:900;letter-spacing:.18em;font-size:12px;color:var(--ink);text-decoration:none}.brand span{color:var(--green)}.mapHeaderRight{display:flex;gap:8px}.iconBtn{width:38px;height:38px;display:grid;place-items:center;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer;text-decoration:none}#map{position:fixed;inset:0;z-index:1}.drawBar{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-around;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(5,13,8,.95) 60%,transparent 100%)}.drawBtn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 12px;border:none;border-radius:12px;background:transparent;color:var(--muted);font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .2s}.drawBtn span{font-size:20px;margin-bottom:2px}.drawBtn.active{color:var(--green);background:#7a9a4a26}.drawBtn:active{transform:scale(.94)}.drawActions{position:fixed;bottom:76px;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:10px}.actionBtn{padding:10px 18px;border:1px solid var(--line);border-radius:100px;background:var(--card);color:var(--ink);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px)}.actionBtn.primary{background:var(--green);color:#101804;border-color:var(--green)}.actionBtn.danger{color:#ff8f6b;border-color:#ff8f6b4d}.bottomSheet{position:fixed;bottom:0;left:0;right:0;z-index:1001;background:var(--card);border-radius:18px 18px 0 0;border-top:1px solid var(--line);padding:0 16px 16px;transform:translateY(calc(100% - 44px));transition:transform .3s cubic-bezier(.32,.72,.33,1);max-height:50vh;overflow-y:auto}.bottomSheet.open{transform:translateY(0)}.sheetHandle{width:36px;height:4px;margin:10px auto;border-radius:100px;background:#f4ead84d;cursor:pointer}.sheetTitle{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin:8px 0}.featureItem{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.featureIcon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:16px}.featureInfo{flex:1}.featureInfo strong{display:block;font-size:14px}.featureInfo span{font-size:11.5px;color:var(--muted)}.featureGo{border:none;background:none;color:var(--muted);font-size:18px;cursor:pointer;padding:8px}.modalOverlay{position:fixed;inset:0;z-index:2000;background:#0009;display:grid;place-items:center;backdrop-filter:blur(4px)}.modalCard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:min(360px,90vw)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.28em;color:var(--green);margin-bottom:12px}.modalCard input{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:#050d0899;border:1px solid var(--line);border-radius:10px;padding:12px 14px;outline:none}.modalCard .field input{width:100%}.modalCard .field label{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;display:block}.modalActions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.editBar{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:1500;display:flex;gap:10px}.vertexMarker{cursor:move!important}@media (min-width:768px){.drawBar{left:auto;right:16px;bottom:16px;flex-direction:column;gap:4px;background:var(--card);border-radius:16px;border:1px solid var(--line);padding:8px}.drawBtn{flex-direction:row;gap:8px;padding:10px 16px;border-radius:10px}.drawBtn span{margin:0;font-size:16px}.bottomSheet{left:16px;right:auto;bottom:16px;width:320px;border-radius:16px;border:1px solid var(--line);transform:none;max-height:60vh}.sheetHandle{display:none}}
