.geo-editor{--geo-color:#4ade80;border:1px solid var(--border-color);background:linear-gradient(#ffffff06,#ffffff03);border-radius:14px;margin-top:14px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.geo-editor.open{border-color:color-mix(in srgb, var(--geo-color) 45%, transparent);box-shadow:0 6px 24px -12px color-mix(in srgb, var(--geo-color) 60%, transparent)}.geo-head{width:100%;color:var(--text-main);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.geo-head:hover{background:#ffffff08}.geo-head-icon{background:color-mix(in srgb, var(--geo-color) 16%, transparent);width:36px;height:36px;color:var(--geo-color);border-radius:10px;flex-shrink:0;place-items:center;font-size:18px;display:grid}.geo-head-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.geo-head-text strong{font-size:14px}.geo-head-text span{color:var(--text-muted);font-size:12px}.geo-head-text span.geo-ok{color:var(--geo-color);font-weight:600}.geo-head-caret{color:var(--text-muted);font-size:20px}.geo-body{flex-direction:column;gap:10px;padding:0 14px 14px;animation:.2s geoFade;display:flex}@keyframes geoFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.geo-actions{flex-wrap:wrap;gap:8px;display:flex}.geo-btn{border:1px solid var(--border-color);color:var(--text-main);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.geo-btn i{font-size:16px}.geo-btn:hover:not(:disabled){border-color:var(--geo-color);background:color-mix(in srgb, var(--geo-color) 10%, transparent)}.geo-btn:active:not(:disabled){transform:scale(.97)}.geo-btn:disabled{opacity:.5;cursor:not-allowed}.geo-btn.active{border-color:var(--geo-color);background:color-mix(in srgb, var(--geo-color) 18%, transparent);color:var(--geo-color)}.geo-btn.primary{background:var(--geo-color);border-color:var(--geo-color);color:#0b1410}.geo-btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--geo-color)}.geo-btn.ghost{background:0 0}.geo-btn.danger{color:#f87171}.geo-btn.danger:hover{background:#f871711a;border-color:#f87171}.geo-msg{border-radius:10px;align-items:flex-start;gap:8px;padding:9px 12px;font-size:13px;line-height:1.4;display:flex}.geo-msg span{flex:1}.geo-msg button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0}.geo-msg.ok{color:#34d399;background:#10b9811f;border:1px solid #10b9814d}.geo-msg.error{color:#f87171;background:#ef44441f;border:1px solid #ef44444d}.geo-msg.info{color:#93c5fd;background:#3b82f61a;border:1px solid #3b82f640}.geo-coords{border:1px dashed var(--border-color);background:#00000026;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.geo-coords label{color:var(--text-muted);font-size:12px}.geo-coords code{color:var(--geo-color)}.geo-coords textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.geo-coords-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.geo-coords-row label{color:var(--text-main);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.geo-coords-row .geo-btn{margin-left:auto}.geo-draw-bar{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2459;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.geo-draw-bar>span{align-items:center;gap:6px;margin-right:auto;display:inline-flex}.geo-map{border:1px solid var(--border-color);z-index:0;border-radius:12px;height:340px;position:relative;overflow:hidden}.geo-map-loading{height:100%;color:var(--text-muted);background:#0003;place-items:center;font-size:13px;display:grid}.geo-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.geo-chip{background:color-mix(in srgb, var(--geo-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--geo-color) 35%, transparent);color:var(--text-main);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 10px;font-size:12px;text-decoration:none;display:inline-flex}.geo-chip>i{color:var(--geo-color)}.geo-chip.poly{background:#60a5fa1a;border-color:#60a5fa59}.geo-chip.poly>i{color:#60a5fa}.geo-chip.file{background:#f59e0b1a;border-color:#f59e0b59;padding-right:10px}.geo-chip.file>i{color:#f59e0b}.geo-chip button{width:20px;height:20px;color:inherit;cursor:pointer;background:#0003;border:0;border-radius:50%;place-items:center;display:grid}.geo-chip button:hover{background:#ef444459}@media (max-width:640px){.geo-map{height:280px}.geo-btn{flex:calc(50% - 8px);justify-content:center}}
