:root{--bg-base: #fbfbf9;--bg-raised: #f5f4f0;--bg-overlay: #ffffff;--bg-hover: #efeeea;--border: rgba(0, 0, 0, .06);--border-strong: rgba(0, 0, 0, .1);--text-primary: #1a1a1a;--text-muted: #6e6e73;--text-faint: #aeaeb2;--accent: #0055ff;--accent-soft: rgba(0, 85, 255, .08);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08), 0 8px 32px rgba(0, 0, 0, .06);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .1), 0 16px 48px rgba(0, 0, 0, .06);--radius-xs: 6px;--radius-sm: 8px;--radius: 14px;--radius-full: 999px;--speed-fast: .12s;--speed: .18s;--speed-slow: .24s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg-base);color:var(--text-primary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}::selection{background:#0055ff26}a{color:var(--accent);text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea,select{font:inherit;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;width:100%}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-base),0 0 0 4px var(--accent);border-radius:var(--radius-xs)}input:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:none}h1,h2,h3{margin:0}h1{font-size:22px;font-weight:700;letter-spacing:-.02em}h2{font-size:17px;font-weight:600;letter-spacing:-.01em}h3{font-size:15px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-primary);font-weight:500;white-space:nowrap}@media not (prefers-reduced-motion:reduce){.btn{transition:background var(--speed-fast),border-color var(--speed-fast),transform var(--speed-fast)}}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:transparent;color:#fff}.btn.primary:hover{background:#04d;box-shadow:0 2px 8px var(--accent-soft)}.btn.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn[disabled]{opacity:.5;pointer-events:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--text-muted);flex:none}@media not (prefers-reduced-motion:reduce){.icon-btn{transition:background var(--speed-fast),color var(--speed-fast)}}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.active{color:var(--accent);background:var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);font-size:14px;font-weight:500;white-space:nowrap}@media not (prefers-reduced-motion:reduce){.chip{transition:background var(--speed-fast),color var(--speed-fast),border-color var(--speed-fast)}}.chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:13px}.lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.spinner{width:22px;height:22px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--bg-raised) 25%,var(--bg-hover) 50%,var(--bg-raised) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-xs)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.geo-marker{background:transparent!important;border:none!important}.geo-marker .pin{width:46px;height:46px;border-radius:50%;border:2px solid var(--accent);box-shadow:var(--shadow-md);background-size:cover;background-position:center;background-color:var(--bg-raised);cursor:pointer}@media not (prefers-reduced-motion:reduce){.geo-marker .pin{transition:transform var(--speed-fast)}}.geo-marker .pin:hover{transform:scale(1.15)}@media(pointer:coarse){.geo-marker .pin{width:52px;height:52px}}@media(pointer:fine){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:6px;border:2px solid var(--bg-base)}::-webkit-scrollbar-track{background:transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.toasts.svelte-r9p0hk{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:200;pointer-events:none;width:min(92vw,420px)}@media(min-width:1024px){.toasts.svelte-r9p0hk{bottom:28px}}.toast.svelte-r9p0hk{background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-full);padding:10px 20px;font-size:14px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast.error.svelte-r9p0hk{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.text.svelte-7e0w24{margin:0 0 16px;color:var(--text-muted)}.row.svelte-7e0w24{display:flex;justify-content:flex-end;gap:12px}
