*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#e8614d;--color-primary-hover:#cf4f3c;--color-primary-light:#fdf1ef;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-surface:#fff;--color-surface-2:#f8f9fa;--color-border:#e5e7eb;--color-text:#111827;--color-text-muted:#6b7280;--color-shadow:#0000001f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--header-height:56px;--rail-width:60px;--bubble-size:40px;--points-panel-width:280px;--discover-width:680px;color:var(--color-text);background:var(--color-surface-2);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}html,body,#app{width:100%;height:100%;overflow:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.icon-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.icon-btn--danger:hover{color:var(--color-danger);background:#fee2e2}.overlay-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform .2s,opacity .2s}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}.maplibregl-ctrl-attrib{font-size:10px!important}.maplibregl-popup-content{overflow:hidden;border-radius:var(--radius-md)!important;box-shadow:0 4px 20px var(--color-shadow)!important;padding:0!important}.maplibregl-popup-close-button{color:var(--color-text-muted)!important;padding:4px 8px!important;font-size:18px!important}.maplibregl-canvas-container.meap-crosshair-mode{cursor:crosshair!important}.maplibregl-canvas-container.meap-dragging{cursor:grabbing!important}@media (max-width:1024px){:root{--points-panel-width:240px}}@media (max-width:639.98px){:root{--header-height:52px;--rail-width:56px;--points-panel-width:min(360px, calc(100vw - 48px))}}
