:root{--color-bg-dark: oklch(2% 0 0);--color-bg-light: oklch(95% 0 0);--color-bg-glass: oklch(100% 0 0 / .75);--color-bg-muted: oklch(94% 0 0);--color-text-primary: oklch(20% 0 0);--color-text-secondary: oklch(45% 0 0);--color-text-light: oklch(93% 0 0);--color-text-muted: oklch(55% 0 0);--color-error: oklch(60% .3 30);--color-warning: oklch(75% .3 100);--color-warning-light: oklch(90% .15 90);--color-success: oklch(65% .2 130);--color-info: oklch(65% .2 260);--color-heart: oklch(60% .3 30);--color-primary-light: oklch(65% .2 260);--color-primary-dark: oklch(45% .3 300);--color-border: oklch(0% 0 0 / .1);--color-border-light: oklch(0% 0 0 / .05);--color-text-dark: oklch(20% .05 260);--glass-72: oklch(100% 0 0 / .72);--glass-82: oklch(100% 0 0 / .82);--glass-85: oklch(100% 0 0 / .85);--glass-90: oklch(100% 0 0 / .9);--glass-border: oklch(100% 0 0 / .5);--glass-border-hover: oklch(100% 0 0 / .6);--glass-inset: oklch(100% 0 0 / .7);--shadow-glass: 0 1px 3px oklch(0% 0 0 / .06), 0 8px 20px oklch(0% 0 0 / .12), 0 28px 60px oklch(0% 0 0 / .08), inset 0 1px 0 oklch(100% 0 0 / .7);--shadow-glass-hover: 0 12px 40px -4px oklch(0% 0 0 / .15);--shadow-subtle: 0 1px 3px oklch(0% 0 0 / .2);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--backdrop-glass: blur(24px) saturate(160%);--color-minimize-bg: oklch(82% .12 85);--color-minimize-border: oklch(70% .14 80);--color-minimize-text: oklch(40% .1 80);--color-minimize-hover: oklch(75% .16 80)}:root{--z-base: 1;--z-map: 1;--z-content: 5;--z-controls: 10;--z-header: 10;--z-map-controls: 18;--z-modal: 15;--z-popover: 20;--z-markers: 20;--z-tooltip: 25;--ui-edge-gap: 6px;--footer-gap: var(--ui-edge-gap);--footer-height: 2.5rem;--footer-clearance: calc(var(--footer-gap) + var(--footer-height))}html,body{height:100%;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%,to{opacity:1}50%{opacity:.3}}@keyframes dockBounceIn{0%{transform:scale(.1);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}to{transform:scale(1)}}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg-dark);color:var(--color-text-light);overflow:hidden}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.flex-center{display:flex;align-items:center;justify-content:center}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.glass-btn{background:#fff;border:none;box-shadow:0 0 0 2px var(--color-border),0 2px 8px #00000014;width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-primary);transition:transform .25s var(--ease-bounce),background .15s;padding:0;flex-shrink:0}.glass-btn:hover{background:var(--color-bg-muted);transform:scale(1.2)}.glass-btn:active{transform:scale(.92);transition-duration:.08s}.map-ctrl-btn{background:#fff;border:none;box-shadow:0 0 0 2px var(--color-border);width:40px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-primary);transition:background .2s;padding:0;position:relative;flex-shrink:0}.map-ctrl-btn:hover{background:var(--color-bg-muted)}.map-ctrl-btn:active{background:#dedede}.btn-minimize{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;background:var(--color-minimize-bg);border:1.5px solid var(--color-minimize-border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-minimize-text);padding:0;transition:all .15s;box-shadow:var(--shadow-subtle)}.btn-minimize:hover{background:var(--color-minimize-hover);transform:scale(1.15)}.btn-collapse{position:absolute;top:-3px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:#0000002e;border:none;box-shadow:none;padding:0;cursor:pointer;transition:background .15s,width .2s var(--ease-bounce);z-index:1}.btn-collapse:hover{background:#00000059;width:52px;transform:translate(-50%)}
