:root{color-scheme:light;--color-accent-50: #eef6ff;--color-accent-100: #d8eaff;--color-accent-200: #b3d4ff;--color-accent-300: #82b8fb;--color-accent-400: #4f97f3;--color-accent-500: #2176e4;--color-accent-600: #175fc6;--color-accent-700: #1450a3;--color-accent-800: #143f7e;--color-accent-900: #122f5c;--color-accent: var(--color-accent-500);--color-accent-hover: var(--color-accent-600);--color-accent-active: var(--color-accent-700);--color-accent-soft: var(--color-accent-50);--color-on-accent: #ffffff;--color-accent-ring: rgba(33, 118, 228, .4);--gradient-accent: linear-gradient(135deg, var(--color-accent-400), var(--color-accent-600));--color-bg: #eef1f5;--color-surface: #ffffff;--color-surface-2: #f6f8fb;--color-surface-3: #eceff4;--color-surface-glass: rgba(255, 255, 255, .96);--color-overlay: rgba(15, 23, 42, .46);--color-text: #0f172a;--color-text-2: #475569;--color-text-3: #64748b;--color-text-4: #94a3b8;--color-text-on-dark: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-border-soft: rgba(15, 23, 42, .07);--color-divider: rgba(15, 23, 42, .08);--color-success: #16a34a;--color-success-soft:#e7f6ec;--color-success-fg: #15803d;--color-warning: #d97706;--color-warning-soft:#fdf0dc;--color-warning-fg: #b45309;--color-high: #ea580c;--color-high-soft: #fdecdf;--color-high-fg: #c2410c;--color-danger: #dc2626;--color-danger-soft: #fdeaea;--color-danger-fg: #b91c1c;--color-info: #2563eb;--color-info-soft: #e8f0fe;--color-info-fg: #1d4ed8;--sev-critical: #da1e28;--sev-critical-fill: #da1e28;--sev-critical-on: #ffffff;--sev-high: #ff832b;--sev-high-fill: #ff832b;--sev-high-on: #3d1c00;--sev-medium: #b7791f;--sev-medium-fill: #f1c21b;--sev-medium-on: #3d2c00;--sev-info: #1192e8;--sev-info-fill: #1192e8;--sev-info-on: #ffffff;--sev-neutral: #6b7280;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--radius-round: 50%;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1), 0 2px 4px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .14), 0 4px 10px rgba(15, 23, 42, .08);--shadow-xl: 0 24px 50px rgba(15, 23, 42, .22), 0 8px 18px rgba(15, 23, 42, .12);--shadow-accent: 0 6px 18px rgba(33, 118, 228, .32);--shadow-focus: 0 0 0 3px var(--color-accent-ring);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SFMono-Regular", "Monaco", "Menlo", "Consolas", "Ubuntu Mono", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .05em;--z-map-control: 998;--z-chrome: 999;--z-panel: 1000;--z-indicator: 1001;--z-overlay: 2000;--z-auth-overlay: 5000;--z-modal: 9998;--z-modal-high: 9999;--z-flyout: 10001;--z-tutorial: 10002;--z-admin: 10000;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, .9, .3, 1.1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--transition-fast: .14s var(--ease-standard);--transition-base: .2s var(--ease-standard);--transition-slow: .3s var(--ease-standard);--tap-target: 44px}html[data-theme=dark]{color-scheme:dark;--color-accent: var(--color-accent-400);--color-accent-hover: var(--color-accent-300);--color-accent-active: var(--color-accent-200);--color-accent-soft: rgba(79, 151, 243, .16);--color-on-accent: #08152b;--color-accent-ring: rgba(79, 151, 243, .45);--gradient-accent: linear-gradient(135deg, var(--color-accent-500), var(--color-accent-300));--color-bg: #0a111e;--color-surface: #151e2d;--color-surface-2: #1c2738;--color-surface-3: #243043;--color-surface-glass: rgba(21, 30, 45, .94);--color-overlay: rgba(0, 0, 0, .64);--color-text: #e8eef7;--color-text-2: #b2bed0;--color-text-3: #8b99ad;--color-text-4: #5f6e84;--color-text-on-dark: #f1f5f9;--color-border: #2b3850;--color-border-strong: #3c4c68;--color-border-soft: rgba(255, 255, 255, .08);--color-divider: rgba(255, 255, 255, .08);--color-success: #22c55e;--color-success-soft:rgba(34, 197, 94, .16);--color-success-fg: #4ade80;--color-warning: #f59e0b;--color-warning-soft:rgba(245, 158, 11, .16);--color-warning-fg: #fbbf24;--color-high: #fb923c;--color-high-soft: rgba(251, 146, 60, .16);--color-high-fg: #fdba74;--color-danger: #ef4444;--color-danger-soft: rgba(239, 68, 68, .16);--color-danger-fg: #f87171;--color-info: #60a5fa;--color-info-soft: rgba(96, 165, 250, .16);--color-info-fg: #93c5fd;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .6), 0 4px 10px rgba(0, 0, 0, .45);--shadow-xl: 0 24px 50px rgba(0, 0, 0, .66), 0 8px 18px rgba(0, 0, 0, .5);--shadow-accent: 0 6px 18px rgba(33, 118, 228, .45)}html[data-theme-animate] body,html[data-theme-animate] .ux-sheet,html[data-theme-animate] .btn,html[data-theme-animate] .settings-card{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}@media (prefers-reduced-motion: reduce){html[data-theme-animate] *{transition:none!important}}html,body{margin:0;padding:0;height:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;letter-spacing:var(--tracking-snug);overscroll-behavior:none;overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#layer-control-content,.auth-modal-content,.note-modal-content,.note-history-modal-content{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}#layer-control-content::-webkit-scrollbar,.auth-modal-content::-webkit-scrollbar,.note-modal-content::-webkit-scrollbar,.note-history-modal-content::-webkit-scrollbar{width:8px;height:8px}#layer-control-content::-webkit-scrollbar-thumb,.auth-modal-content::-webkit-scrollbar-thumb,.note-modal-content::-webkit-scrollbar-thumb,.note-history-modal-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-spinner{--spinner-size: 20px;display:inline-block;width:var(--spinner-size);height:var(--spinner-size);border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentColor;border-radius:var(--radius-round);animation:app-spin .7s linear infinite;flex-shrink:0}.app-spinner--sm{--spinner-size: 14px}.app-spinner--lg{--spinner-size: 32px;border-width:3px}@keyframes app-spin{to{transform:rotate(360deg)}}.app-skeleton{position:relative;overflow:hidden;background:var(--color-surface-3);border-radius:var(--radius-sm);min-height:1em}.app-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--color-surface) 70%,transparent) 50%,transparent 100%);animation:app-skeleton-shimmer 1.4s ease-in-out infinite}@keyframes app-skeleton-shimmer{to{transform:translate(100%)}}.app-toast{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-info);max-width:min(92vw,360px);opacity:0;transform:translateY(-8px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.app-toast.is-visible{opacity:1;transform:translateY(0)}.app-toast--fixed{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--space-5));left:50%;transform:translate(-50%) translateY(-8px);z-index:var(--z-overlay)}.app-toast--fixed.is-visible{transform:translate(-50%) translateY(0)}.app-toast--info{border-left-color:var(--color-info);background:var(--color-info-soft);color:var(--color-info-fg)}.app-toast--success{border-left-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success-fg)}.app-toast--warning{border-left-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning-fg)}.app-toast--danger{border-left-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-fg)}#map{height:100vh;width:100vw}.leaflet-top.leaflet-left{top:auto;bottom:100px;left:10px;z-index:998}@media (max-width: 768px){.leaflet-top.leaflet-left{bottom:120px;left:8px}}.leaflet-bar{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.leaflet-bar a,.leaflet-bar a:hover{width:34px;height:34px;line-height:34px;color:var(--color-text);background:var(--color-surface);border-bottom-color:var(--color-divider);transition:background-color var(--transition-fast),color var(--transition-fast)}.leaflet-bar a:hover{background:var(--color-surface-2);color:var(--color-accent)}.leaflet-bar a.leaflet-disabled{color:var(--color-text-4);background:var(--color-surface-2)}.leaflet-control-attribution{background:var(--color-surface-glass)!important;color:var(--color-text-3);font-size:10px;line-height:1.4;border-radius:var(--radius-xs) 0 0 0;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis}.leaflet-control-attribution a{color:var(--color-accent)}@media (max-width: 768px){.leaflet-control-attribution{font-size:9px;max-width:56vw}}#layer-control{position:absolute;top:10px;right:10px;background:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);z-index:var(--z-panel);box-shadow:var(--shadow-lg);max-height:70vh;min-width:220px;display:flex;flex-direction:column;border:1px solid var(--color-border-soft);overflow:hidden}#layer-control-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-divider);cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent}#layer-control-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:var(--tracking-snug)}#layer-control-toggle{width:20px;height:20px;color:var(--color-text-3);transition:transform var(--transition-slow)}#layer-control.collapsed #layer-control-toggle{transform:rotate(180deg)}#layer-control-content{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);max-height:calc(70vh - 60px);overflow-y:auto;transition:max-height var(--transition-slow),padding var(--transition-slow),opacity var(--transition-base)}#layer-control.collapsed #layer-control-content{max-height:0;padding:0 var(--space-3);opacity:0}.layer-section{margin-bottom:var(--space-2)}.layer-section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.075em;color:var(--color-text-3);margin-bottom:var(--space-2);padding-bottom:3px;border-bottom:1px solid var(--color-divider)}.layer-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-base);border-radius:var(--radius-sm)}.layer-toggle:hover{background:var(--color-surface-2)}.layer-toggle.loading{opacity:.7}.layer-toggle-info{display:flex;align-items:center;gap:var(--space-2);flex:1}.layer-toggle-icon{width:16px;height:16px;opacity:.7}.layer-toggle-text{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:var(--tracking-snug)}.layer-toggle-description{font-size:var(--text-xs);color:var(--color-text-3);margin-top:2px}.layer-section.event-overlays .layer-section-title{color:var(--color-text)}.layer-section.event-overlays{max-height:42vh;overflow-y:auto}.layer-section.event-overlays .layer-section-title{position:sticky;top:0;z-index:1;background:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.layer-section.base-maps{background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-2);margin-top:var(--space-1)}.layer-section.base-maps .layer-section-title{border-bottom:none;font-size:var(--text-xs);margin-bottom:var(--space-1)}.layer-section.base-maps .layer-toggle{padding:3px var(--space-1)}.layer-section.base-maps .layer-toggle-text{font-size:var(--text-sm);font-weight:400;color:var(--color-text-2)}.layer-section.base-maps .layer-toggle-description{display:none}.layer-section.base-maps .layer-toggle-icon{width:14px;height:14px}.layer-section.base-maps .toggle-switch{transform:scale(.85)}.toggle-switch{position:relative;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border-strong);transition:background-color var(--transition-slow);border-radius:var(--radius-pill)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:transform var(--transition-slow);border-radius:var(--radius-round);box-shadow:var(--shadow-sm)}input:checked+.toggle-slider{background-color:var(--color-accent)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:var(--shadow-focus)}input:checked+.toggle-slider:before{transform:translate(20px)}.layer-toggle.loading:after{content:"";position:absolute;right:54px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:2px solid var(--color-surface-3);border-top:2px solid var(--color-accent);border-radius:var(--radius-round);animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:inherit;letter-spacing:var(--tracking-snug);cursor:pointer;text-decoration:none;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);position:relative;outline:none;min-height:var(--tap-target);box-sizing:border-box;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background:var(--color-accent-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-success{background:var(--color-success);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 88%,black);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-danger{background:var(--color-danger);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--color-danger-fg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-warning{background:var(--color-warning);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-warning:hover:not(:disabled){background:var(--color-warning-fg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-warning:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:36px;border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-md);min-height:52px;border-radius:var(--radius-lg)}.btn svg{width:18px;height:18px;flex-shrink:0}.btn-sm svg{width:16px;height:16px}.btn-lg svg{width:20px;height:20px}#error-message{position:fixed;bottom:0;left:0;width:100%;background-color:var(--color-danger-soft);color:var(--color-danger-fg);padding:var(--space-3);text-align:center;font-size:var(--text-base);font-weight:var(--weight-medium);z-index:var(--z-overlay);display:none}.login-trigger{position:fixed;top:10px;left:10px;z-index:var(--z-chrome)}.help-trigger{position:fixed;top:10px;left:180px;z-index:var(--z-chrome)}.user-profile{position:fixed;top:10px;left:10px;background:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-soft);z-index:var(--z-chrome);min-width:200px}.user-profile-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.user-info{display:flex;align-items:center;gap:var(--space-3);flex:1}.user-avatar{width:40px;height:40px;background:var(--gradient-accent);border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;color:var(--color-on-accent)}.user-avatar svg{width:20px;height:20px}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:var(--weight-semibold);color:var(--color-text);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.user-email{font-size:var(--text-sm);color:var(--color-text-3);letter-spacing:var(--tracking-snug)}.user-profile:not(.hidden)~.help-trigger{left:320px}.menu-section{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider)}.menu-section:last-child{border-bottom:none;margin-bottom:var(--space-1)}#menu-auth-section{order:-5}.menu-button-row{display:flex;gap:var(--space-2);width:100%}.menu-button-row button{flex:1}.btn-compact{padding:10px var(--space-3);font-size:var(--text-sm);min-height:40px}.btn-compact svg{width:16px;height:16px}.menu-user-profile{display:flex;flex-direction:column;gap:var(--space-2);padding:10px;background:var(--color-accent-soft);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-accent) 16%,transparent)}.menu-user-profile .menu-button-row{margin-top:var(--space-1)}.menu-user-info{display:flex;flex-direction:column;gap:2px}.menu-user-name{font-weight:var(--weight-semibold);color:var(--color-text);font-size:var(--text-base);letter-spacing:var(--tracking-snug)}.menu-user-email{font-size:var(--text-sm);color:var(--color-text-3);letter-spacing:var(--tracking-snug)}@media (max-width: 768px){.login-trigger,.help-trigger,.user-profile{display:none!important}}.login-trigger,.help-trigger,.user-profile{z-index:var(--z-chrome)}#socket-status-indicator{z-index:var(--z-indicator)!important;border-radius:var(--radius-pill)!important;box-shadow:var(--shadow-md)!important;border:1px solid var(--color-border)!important;font-size:var(--text-sm)!important;font-weight:var(--weight-medium)!important}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-high);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.auth-modal:not(.hidden){opacity:1;visibility:visible}.auth-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity var(--transition-slow)}.auth-modal-container{position:relative;background:var(--color-surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:420px;max-height:90vh;overflow:hidden;transform:scale(.95) translateY(16px);transition:transform var(--transition-slow)}.auth-modal:not(.hidden) .auth-modal-container{transform:scale(1) translateY(0)}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);background:transparent}.auth-modal-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:var(--tracking-tight)}.auth-modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--color-text-3);transition:background-color var(--transition-base),color var(--transition-base);display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.auth-modal-close:hover{background:var(--color-surface-2);color:var(--color-text)}.auth-modal-close svg{width:20px;height:20px}.auth-modal-content{padding:var(--space-6);max-height:calc(90vh - 80px);overflow-y:auto}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}#register-form{gap:var(--space-3)}#register-form .form-group{gap:var(--space-1)}.auth-form .form-error:empty{display:none}.auth-form-footer{margin-top:var(--space-1)}.auth-form-footer p{margin:0}.form-group label{font-weight:var(--weight-medium);color:var(--color-text);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.form-group input{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-base);background:var(--color-surface)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.form-group input:invalid{border-color:var(--color-danger)}.password-field{position:relative;display:flex;align-items:stretch}.password-field input{flex:1;width:100%;padding-right:44px}.password-toggle{position:absolute;top:0;right:0;height:100%;width:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-3);cursor:pointer;padding:0;border-radius:var(--radius-md);transition:color var(--transition-base)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--color-text)}.password-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.password-toggle-icon{width:20px;height:20px;pointer-events:none}.password-toggle .icon-eye-off,.password-toggle[aria-pressed=true] .icon-eye{display:none}.password-toggle[aria-pressed=true] .icon-eye-off{display:block}.form-error{color:var(--color-danger-fg);font-size:var(--text-sm);min-height:16px;opacity:0;transition:opacity var(--transition-base)}.form-error:not(:empty){opacity:1}.form-checkbox{flex-direction:row;align-items:center}.checkbox-container{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);color:var(--color-text-2)}.checkbox-container input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}.checkmark{width:18px;height:18px;border:2px solid var(--color-border-strong);border-radius:var(--radius-xs);position:relative;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.checkbox-container input[type=checkbox]:focus-visible+.checkmark{box-shadow:var(--shadow-focus)}.checkbox-container input[type=checkbox]:checked+.checkmark{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-container input[type=checkbox]:checked+.checkmark:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--color-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-button{padding:var(--space-3) var(--space-6);border:1.5px solid transparent;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;min-height:var(--tap-target)}.auth-button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.auth-button.primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.auth-button.primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-button.secondary{background:var(--color-surface);color:var(--color-text-2);border-color:var(--color-border)}.auth-button.secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border-strong)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.button-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top:2px solid currentColor;border-radius:var(--radius-round);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.link-button{background:none;border:none;color:var(--color-accent);cursor:pointer;text-decoration:underline;font-size:inherit;font-family:inherit}.link-button:hover{color:var(--color-accent-hover)}.auth-form-footer{text-align:center;margin-top:var(--space-4)}.auth-form-footer p{margin:0;color:var(--color-text-3);font-size:var(--text-base)}.auth-message{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);opacity:0;transform:translateY(-10px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.auth-message:not(.hidden){opacity:1;transform:translateY(0)}.auth-message.success{background:var(--color-success-soft);color:var(--color-success-fg);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent)}.auth-message.error{background:var(--color-danger-soft);color:var(--color-danger-fg);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent)}.fab-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-panel);display:flex;align-items:center;gap:12px;pointer-events:none}.fab-main{position:relative;width:56px;height:56px;background:var(--gradient-accent);border:none;border-radius:var(--radius-round);color:var(--color-on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--shadow-accent);transition:transform var(--transition-slow),box-shadow var(--transition-slow);pointer-events:auto;font-size:0;outline:none;transform:scale(1);will-change:transform,box-shadow}.fab-main:hover{transform:scale(1.05);box-shadow:var(--shadow-xl),var(--shadow-accent)}.fab-main:active{transform:scale(.95);box-shadow:var(--shadow-md)}.fab-main:focus-visible{outline:none;box-shadow:var(--shadow-lg),0 0 0 4px var(--color-accent-ring)}.fab-icon{width:24px;height:24px;transition:transform var(--transition-slow);pointer-events:none}.fab-main.open .fab-icon{transform:rotate(45deg)}.fab-menu{position:absolute;bottom:72px;right:0;display:flex;flex-direction:column;gap:var(--space-4);opacity:0;transform:translateY(20px) scale(.8);transition:opacity var(--transition-slow),transform var(--transition-slow);pointer-events:none;transform-origin:bottom center}.fab-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.fab-menu-item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base),opacity var(--transition-base);transform:translate(20px);opacity:0;min-height:48px;outline:none;will-change:transform,opacity}.fab-menu.open .fab-menu-item{transform:translate(0);opacity:1}.fab-menu.open .fab-menu-item:nth-child(1){transition-delay:.05s}.fab-menu.open .fab-menu-item:nth-child(2){transition-delay:.1s}.fab-menu.open .fab-menu-item:nth-child(3){transition-delay:.15s}.fab-menu-item:hover{background:var(--color-surface-2);transform:translate(-4px) scale(1.02);box-shadow:var(--shadow-lg)}.fab-menu-item:active{transform:translate(-2px) scale(.98);box-shadow:var(--shadow-sm)}.fab-menu-item:focus-visible{outline:none;box-shadow:var(--shadow-md),var(--shadow-focus)}.fab-menu-icon{width:20px;height:20px;opacity:.7;flex-shrink:0}.fab-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow);z-index:var(--z-chrome);pointer-events:none}.fab-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.fab-main:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-round);background:rgba(255,255,255,.3);transition:width .6s,height .6s;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.fab-main.ripple:before{width:56px;height:56px;opacity:1;transition:width .3s,height .3s,opacity .6s}.fab-container.auth-required{display:none}.fab-main.loading{pointer-events:none}.fab-main.loading .fab-icon{animation:fab-spin 1s linear infinite}@keyframes fab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fab-bounce-in{0%{transform:translate(20px) scale(.3);opacity:0}50%{transform:translate(-8px) scale(1.05);opacity:.8}70%{transform:translate(4px) scale(.95);opacity:1}to{transform:translate(0) scale(1);opacity:1}}.fab-menu.spring .fab-menu-item{animation:fab-bounce-in .4s cubic-bezier(.175,.885,.32,1.275)}.fab-menu.spring .fab-menu-item:nth-child(1){animation-delay:.05s}.fab-menu.spring .fab-menu-item:nth-child(2){animation-delay:.1s}.fab-menu.spring .fab-menu-item:nth-child(3){animation-delay:.15s}@media (max-width: 768px){#layer-control{top:8px;right:8px;left:8px;max-width:none;max-height:80vh}#layer-control-content{max-height:calc(80vh - 60px);padding:10px}#layer-control.collapsed #layer-control-content{padding:0 10px}#location-button,#bounds-button{padding:14px 16px;font-size:16px}.layer-toggle{padding:12px 4px}.toggle-switch{width:48px;height:28px}.toggle-slider:before{height:22px;width:22px;left:3px;bottom:3px}input:checked+.toggle-slider:before{transform:translate(20px)}.layer-toggle-text{font-size:16px;letter-spacing:-.01em}.login-trigger{top:8px;left:8px;padding:14px 16px;font-size:16px}.user-profile{top:8px;left:8px;right:8px;min-width:auto}.user-profile-content{flex-direction:column;align-items:stretch;gap:16px}.user-info{justify-content:center}.auth-modal{align-items:flex-start}.auth-modal-container{width:calc(100% - 24px);max-width:500px;margin:calc(env(safe-area-inset-top,0px) + 12px) auto 0;max-height:85vh;max-height:85dvh}.auth-modal-content{padding:20px}.form-group input{font-size:16px}.fab-container{bottom:16px;right:16px}.fab-main{width:64px;height:64px;box-shadow:0 4px 8px -1px #00000040,0 8px 16px 1px #0000002e,0 2px 24px 2px #00000026}.fab-main:hover{transform:scale(1.03)}.fab-icon{width:28px;height:28px}.fab-menu{bottom:80px;gap:12px}.fab-menu-item{padding:14px 20px;font-size:16px;min-height:52px;border-radius:26px}.fab-menu-icon{width:24px;height:24px}.fab-container{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}@media (prefers-reduced-motion: reduce){.fab-main,.fab-menu,.fab-menu-item,.fab-backdrop,.fab-icon{transition:none!important;animation:none!important}}}.note-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.note-modal:not(.hidden){opacity:1;visibility:visible}.note-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.note-modal-container{position:relative;background:var(--color-surface-glass)!important;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--color-border-soft);width:90%;max-width:500px;max-height:90vh;overflow:hidden;transform:scale(.95) translateY(16px);transition:transform var(--transition-slow);color:var(--color-text)!important}.note-modal:not(.hidden) .note-modal-container{transform:scale(1) translateY(0)}.note-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) 28px var(--space-5) 28px;border-bottom:1px solid var(--color-divider);background:var(--color-surface-2)!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:var(--color-text)!important}.note-modal-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text)!important;letter-spacing:var(--tracking-snug)}.note-modal-close{background:var(--color-surface);border:none;cursor:pointer;padding:8px;border-radius:var(--radius-md);color:var(--color-text-3)!important;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border)}.note-modal-close:hover{background:var(--color-surface-2)!important;color:var(--color-text)!important;transform:scale(1.05);border-color:var(--color-border-strong)}.note-modal-close svg{width:20px;height:20px}.note-modal-content{padding:var(--space-6);max-height:calc(90vh - 80px);overflow-y:auto;background:transparent!important;color:var(--color-text)!important}.note-form{display:flex;flex-direction:column;gap:var(--space-6)}.location-display{background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--transition-base)}.location-display-header{display:flex;align-items:center;gap:var(--space-3)}.location-icon{width:24px;height:24px;color:var(--color-accent);flex-shrink:0}.location-info{flex:1;min-width:0}.location-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.location-coordinates{font-size:var(--text-sm);color:var(--color-text-3);font-family:var(--font-mono);word-break:break-all}.location-selection{display:flex;gap:var(--space-3);flex-wrap:wrap}.location-button{flex:1;min-width:140px;background:var(--color-surface)!important;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:14px var(--space-4);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)!important;transition:border-color var(--transition-base),color var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.location-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)!important;background:var(--color-accent-soft)!important;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.location-button:active:not(:disabled){transform:translateY(0)}.location-button:disabled{opacity:.6;cursor:not-allowed}.location-button svg{width:18px;height:18px}.manual-coordinates{transition:all .3s ease}.coordinate-inputs{display:flex;gap:12px;margin-bottom:12px}.coordinate-input{flex:1;display:flex;flex-direction:column;gap:6px}.coordinate-input label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-3);text-transform:uppercase;letter-spacing:.5px}.coordinate-input input{padding:10px var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-mono);transition:border-color var(--transition-base),box-shadow var(--transition-base);background:var(--color-surface)!important;color:var(--color-text)!important}.coordinate-input input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.toggle-manual{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--text-sm);text-decoration:underline;padding:var(--space-1) 0;align-self:flex-start}.toggle-manual:hover{color:var(--color-accent-hover)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:var(--weight-medium);color:var(--color-text)!important;font-size:var(--text-base)}.textarea-container{position:relative}.textarea-container textarea{width:100%;padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;line-height:var(--leading-normal);resize:none;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box;min-height:120px;max-height:200px;background:var(--color-surface)!important;color:var(--color-text)!important}.textarea-container textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.textarea-container textarea::placeholder{color:var(--color-text-4)}.char-counter{position:absolute;bottom:var(--space-3);right:var(--space-4);font-size:var(--text-sm);color:var(--color-text-3);background:var(--color-surface-glass);padding:2px var(--space-2);border-radius:var(--radius-xs);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none}.form-error{color:var(--color-danger-fg);font-size:var(--text-sm);min-height:16px;opacity:0;transition:opacity var(--transition-base);display:none}.form-error:not(:empty){opacity:1;display:block}.note-message{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);opacity:0;transform:translateY(-10px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.note-message:not(.hidden){opacity:1;transform:translateY(0)}.note-message.success{background:var(--color-success-soft);color:var(--color-success-fg);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent)}.note-message.error{background:var(--color-danger-soft);color:var(--color-danger-fg);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent)}.note-message.info{background:var(--color-info-soft);color:var(--color-info-fg);border:1px solid color-mix(in srgb,var(--color-info) 35%,transparent)}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.note-button{padding:var(--space-3) var(--space-6);border:1.5px solid transparent;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;min-height:var(--tap-target);min-width:100px}.note-button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.note-button.primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.note-button.primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.note-button.secondary{background:var(--color-surface);color:var(--color-text-2);border-color:var(--color-border)}.note-button.secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-border-strong);color:var(--color-text)}.note-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.button-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.note-modal-container{width:95%;margin:16px;max-height:95vh}.note-modal-content{padding:20px}.note-form{gap:20px}.location-selection{flex-direction:column}.location-button{min-width:auto;padding:16px;font-size:15px}.coordinate-inputs{flex-direction:column}.textarea-container textarea{font-size:16px;padding:14px}.form-actions{flex-direction:column-reverse;gap:8px}.note-button{width:100%;padding:14px 24px;font-size:16px;min-height:52px}.note-modal{align-items:flex-start;padding-top:20px}.note-modal-container{max-height:calc(100vh - 40px)}}@media (prefers-reduced-motion: reduce){.note-modal,.note-modal-container,.note-button,.location-button,.note-message{transition:none!important;animation:none!important}}.note-display-marker{background:transparent!important;border:none!important;position:absolute;top:0;left:0;display:inline-block!important;width:max-content!important;height:max-content!important;line-height:0;transition:none!important;animation:none;will-change:auto}.note-marker-container{position:relative}.note-marker-icon{box-sizing:border-box;transition:all .2s ease!important}.note-marker-icon:hover{transform:scale(1.1)!important;filter:brightness(1.1)}.note-marker-badge{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.note-display-popup .leaflet-popup-content-wrapper{background:var(--color-surface-glass)!important;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-soft);padding:0;overflow:visible;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.note-display-popup .leaflet-popup-content{margin:0;line-height:var(--leading-normal)}.note-display-popup .leaflet-popup-tip{background:var(--color-surface-glass)!important;border:1px solid var(--color-border-soft);box-shadow:var(--shadow-xs)}.note-popup-content{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text)!important;line-height:var(--leading-normal)}.note-popup-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-surface-2)!important;border-bottom:1px solid var(--color-divider);color:var(--color-text)!important}.note-actions-wrapper{position:relative}.note-author{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.note-author-avatar{width:32px;height:32px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;color:var(--color-on-accent);font-weight:var(--weight-semibold);font-size:var(--text-base);flex-shrink:0;box-shadow:var(--shadow-xs)}.note-author-info{flex:1;min-width:0}.note-author-name{font-weight:var(--weight-semibold);color:var(--color-text)!important;font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-timestamp{font-size:var(--text-sm);color:var(--color-text-3)!important;margin-top:2px}.note-actions-toggle{width:32px;height:32px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);color:var(--color-text-3);font-size:18px;font-weight:700;-webkit-user-select:none;user-select:none;min-width:32px;min-height:32px}.note-actions-toggle:hover{background:var(--color-surface-3);color:var(--color-text)}.note-content-container{padding:var(--space-4);position:relative}.note-content-display{word-wrap:break-word;white-space:pre-wrap;margin-bottom:var(--space-3)}.note-content-editor{transition:all var(--transition-slow)}.note-edit-textarea{width:100%;min-height:60px;max-height:150px;padding:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;line-height:var(--leading-normal);color:var(--color-text);background:var(--color-surface);resize:none;outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box}.note-edit-textarea:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.note-edit-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.note-edit-save,.note-edit-cancel{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-fast)}.note-edit-save{background:var(--color-accent);color:var(--color-on-accent)}.note-edit-save:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.note-edit-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.note-edit-cancel{background:var(--color-surface-2);color:var(--color-text-2)}.note-edit-cancel:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text)}.note-actions-menu{position:absolute;top:100%;right:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-panel);min-width:140px;overflow:hidden;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base)}.note-actions-menu:not(.hidden){transform:translateY(0);opacity:1;visibility:visible}.note-action-edit,.note-action-delete{width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:background-color var(--transition-base),color var(--transition-base)}.note-action-edit:hover{background:var(--color-accent-soft);color:var(--color-accent)}.note-action-delete:hover{background:var(--color-danger-soft);color:var(--color-danger-fg)}.note-action-edit svg,.note-action-delete svg{flex-shrink:0}.note-share-actions{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-surface-2);display:flex;justify-content:center;gap:var(--space-3)}.note-archived-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm, 4px);background:var(--color-surface-3, rgba(120, 120, 120, .18));color:var(--color-text-2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.note-share-actions button{width:40px;height:40px;padding:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-2);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.note-share-actions button:hover{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.note-share-actions .note-action-delete:hover{background:var(--color-danger-soft);color:var(--color-danger-fg);border-color:var(--color-danger-fg)}.note-share-actions button svg{flex-shrink:0}.note-add-attachment{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider)}.note-add-attachment-label{font-size:.85rem;color:var(--color-text-3);margin-right:var(--space-1)}.note-add-attachment-save{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent, #fff);border-radius:var(--radius-md);cursor:pointer;font-weight:600}.note-add-attachment-save:disabled{opacity:.6;cursor:default}.note-action-share{width:32px;height:32px;border:none;background:none;color:var(--color-text-3);border-radius:var(--radius-round);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-base),color var(--transition-base)}.note-action-share:hover{background:var(--color-accent-soft);color:var(--color-accent)}.notes-loading-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(15,23,42,.86);color:var(--color-text-on-dark);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);z-index:3000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.loading-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:var(--radius-round);animation:spin 1s linear infinite}.loading-text{font-size:var(--text-base);font-weight:var(--weight-medium)}.notes-load-failure{position:fixed;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-danger-soft);color:var(--color-danger-fg);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-md);z-index:2500;pointer-events:none;max-width:calc(100vw - 32px)}.loading-spinner-sm{width:14px;height:14px;border-width:2px;border-top-width:2px;border-color:var(--color-danger-fg);border-top-color:transparent}.notes-message{position:fixed;top:20px;right:20px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);z-index:2500;animation:slideInRight var(--transition-slow);max-width:300px;box-shadow:var(--shadow-lg);border-left:4px solid transparent}.notes-message-info{background:var(--color-info-soft);color:var(--color-info-fg);border-left-color:var(--color-info)}.notes-message-error{background:var(--color-danger-soft);color:var(--color-danger-fg);border-left-color:var(--color-danger)}.notes-message-success{background:var(--color-success-soft);color:var(--color-success-fg);border-left-color:var(--color-success)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.hidden{display:none!important}@media (max-width: 768px){.note-display-popup .leaflet-popup-content-wrapper{max-width:calc(100vw - 40px)!important;min-width:280px}.note-popup-header,.note-content-container{padding:14px}.note-author-avatar{width:28px;height:28px;font-size:12px}.note-author-name{font-size:13px}.note-timestamp{font-size:11px}.note-edit-textarea{font-size:16px;min-height:80px}.note-edit-actions{flex-direction:column-reverse}.note-edit-save,.note-edit-cancel{padding:12px 16px;font-size:14px}.note-actions-menu{right:8px;min-width:160px}.note-action-edit,.note-action-delete{padding:14px 16px;font-size:14px}.notes-message{top:10px;right:10px;left:10px;max-width:none}.notes-loading-indicator{margin:20px;left:20px;right:20px;transform:translateY(-50%)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.note-marker-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-reduced-motion: reduce){.note-marker-icon,.note-actions-menu,.note-edit-textarea,.loading-spinner,.notes-message{transition:none!important;animation:none!important}.note-marker-badge{animation:none!important}}.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-admin);pointer-events:none;opacity:0;transition:opacity var(--transition-slow)}.tutorial-overlay.active{opacity:1;pointer-events:auto}.tutorial-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tutorial-spotlight{position:absolute;border-radius:8px;box-shadow:0 0 0 9999px #000000b3;transition:all .3s ease;pointer-events:none;z-index:10001}.tutorial-popup{position:absolute;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-soft);max-width:400px;min-width:300px;z-index:var(--z-tutorial);animation:tutorialPopupSlide var(--transition-slow)}@keyframes tutorialPopupSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.tutorial-popup-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.tutorial-close{background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--color-text-3);transition:background-color var(--transition-base),color var(--transition-base)}.tutorial-close:hover{background:var(--color-surface-2);color:var(--color-text)}.tutorial-close svg{width:18px;height:18px}.tutorial-popup-content{padding:16px 20px}.tutorial-popup-description{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-2);margin:0}.tutorial-popup-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5) var(--space-5) var(--space-5);border-top:1px solid var(--color-divider)}.tutorial-progress{display:flex;align-items:center;gap:var(--space-2)}.tutorial-step-counter{font-size:var(--text-sm);color:var(--color-text-3);font-weight:var(--weight-medium)}.tutorial-actions{display:flex;gap:var(--space-2)}.tutorial-btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast);min-width:70px}.tutorial-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.tutorial-btn.primary{background:var(--color-accent);color:var(--color-on-accent)}.tutorial-btn.primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.tutorial-btn.secondary{background:var(--color-surface-2);color:var(--color-text-2);border-color:var(--color-border)}.tutorial-btn.secondary:hover{background:var(--color-surface-3);color:var(--color-text)}@media (max-width: 640px){.tutorial-popup{max-width:calc(100vw - 40px);min-width:280px}.tutorial-popup-header{padding:16px 16px 0}.tutorial-popup-title{font-size:16px}.tutorial-popup-content{padding:12px 16px}.tutorial-popup-footer{padding:12px 16px 16px;flex-direction:column;gap:12px;align-items:stretch}.tutorial-actions{justify-content:space-between;width:100%}.tutorial-btn{flex:1;text-align:center}}@media (prefers-reduced-motion: reduce){.tutorial-overlay,.tutorial-spotlight,.tutorial-popup{transition:none}@keyframes tutorialPopupSlide{0%{opacity:0}to{opacity:1}}}.fab-notes-flyout{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%) scale(.8);display:flex!important;flex-direction:column;width:min(95vw,600px);max-width:600px;min-width:480px;max-height:80vh;background:var(--color-surface-glass)!important;color:var(--color-text)!important;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--color-border-soft);z-index:var(--z-flyout)!important;isolation:isolate;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);margin:0!important;padding:0!important;border:none!important;outline:none!important;box-sizing:border-box!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.fab-notes-flyout.show{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important;pointer-events:auto!important}.fab-notes-backdrop{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:var(--color-overlay);z-index:var(--z-admin)!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-slow),visibility var(--transition-slow);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.fab-notes-backdrop.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.fab-notes-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) 28px var(--space-5) 28px;border-bottom:1px solid var(--color-divider);flex-shrink:0;background:var(--color-surface-2)!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:var(--color-text)!important}.fab-notes-header h3{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text)!important;letter-spacing:var(--tracking-snug)}.fab-notes-close{background:var(--color-surface);border:1px solid var(--color-border);font-size:22px;color:var(--color-text-3);cursor:pointer;padding:8px;border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-fast);line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.fab-notes-close:hover{background:var(--color-surface-2);color:var(--color-text);transform:scale(1.05);border-color:var(--color-border-strong)}.fab-notes-close:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.fab-notes-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) 28px;border-bottom:1px solid var(--color-divider);background:var(--color-surface-2);flex-shrink:0}.fab-notes-tab{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-full, 999px);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.fab-notes-tab:hover{color:var(--color-text);border-color:var(--color-border-strong)}.fab-notes-tab.active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.fab-note-unarchive{flex-shrink:0;align-self:center;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-2);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.fab-note-unarchive:hover{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.fab-note-unarchive:disabled{opacity:.5;cursor:default}.fab-note-item--archived .fab-note-text{opacity:.75}.fab-notes-list{overflow-y:auto;overflow-x:hidden;flex:1;padding:var(--space-2) 0;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;background:transparent!important;color:var(--color-text)!important}.fab-notes-list::-webkit-scrollbar{width:8px}.fab-notes-list::-webkit-scrollbar-track{background:transparent}.fab-notes-list::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill)}.fab-notes-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-4)}.fab-note-item{display:flex;align-items:center;padding:var(--space-3) var(--space-6);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);border-bottom:1px solid var(--color-divider);gap:var(--space-4);margin:0 var(--space-3) var(--space-1) var(--space-3);border-radius:var(--radius-md);position:relative}.fab-note-item:hover{background:var(--color-surface-2);transform:translate(2px);box-shadow:var(--shadow-xs)}.fab-note-item:last-child{border-bottom:none}.fab-note-avatar{width:32px;height:32px;border-radius:var(--radius-round);color:var(--color-on-accent);font-weight:var(--weight-medium);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);flex-shrink:0;box-shadow:var(--shadow-xs)}.fab-note-content{flex:1;min-width:0}.fab-note-author{font-weight:var(--weight-medium);color:var(--color-text)!important;font-size:var(--text-base);margin-bottom:2px;letter-spacing:var(--tracking-snug)}.fab-note-text{color:var(--color-text-2)!important;font-size:var(--text-sm);line-height:1.4;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;letter-spacing:-.005em}.fab-note-time{color:var(--color-text-4)!important;font-size:var(--text-xs);font-weight:var(--weight-regular)}.fab-note-arrow{color:var(--color-text-4);font-size:16px;flex-shrink:0;transition:color var(--transition-base),transform var(--transition-base),opacity var(--transition-base);opacity:.6}.fab-note-item:hover .fab-note-arrow{color:var(--color-accent);transform:translate(2px);opacity:1}@media (max-width: 768px){.fab-notes-flyout{width:95vw;min-width:320px;max-width:95vw;max-height:85vh}.fab-notes-header{padding:20px 24px 16px}.fab-notes-header h3{font-size:18px}.fab-note-item{padding:10px 20px;gap:14px;margin:0 8px 3px}.fab-note-avatar{width:36px;height:36px;font-size:14px}.fab-note-content,.fab-note-author,.fab-note-text{font-size:13px}.fab-note-time{font-size:11px}}@media (max-width: 640px){.fab-notes-flyout{top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:85vh;max-height:85dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important}.fab-notes-flyout.show{transform:translateY(0)!important}}@media (prefers-reduced-motion: reduce){.fab-notes-flyout,.fab-notes-backdrop,.fab-note-item,.fab-note-arrow,.fab-notes-close{transition:none!important}}.note-history-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.note-history-modal.show{opacity:1;visibility:visible}.note-history-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.note-history-modal-container{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:90%;max-height:80vh;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-soft);overflow:hidden;transform:scale(.95);transition:transform var(--transition-slow)}.note-history-modal.show .note-history-modal-container{transform:scale(1)}.note-history-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);background:var(--color-surface-2)}.note-history-modal-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text)}.note-history-modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--color-text-3);transition:background-color var(--transition-base),color var(--transition-base);display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.note-history-modal-close:hover{background:var(--color-surface-2);color:var(--color-text)}.note-history-modal-content{padding:24px;max-height:calc(80vh - 80px);overflow-y:auto}.note-history-info{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-divider)}.note-history-info h3{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.note-history-info p{margin:0;color:var(--color-text-3);font-size:var(--text-base)}.note-history-list{display:flex;flex-direction:column;gap:var(--space-4)}.no-history{text-align:center;color:var(--color-text-3);font-style:italic;padding:var(--space-7);margin:0}.history-entry{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);transition:box-shadow var(--transition-base)}.history-entry:hover{box-shadow:var(--shadow-sm)}.history-entry-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-2);border-bottom:1px solid var(--color-divider)}.history-entry-icon{width:32px;height:32px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-entry-icon.created{background:var(--color-success-soft);color:var(--color-success)}.history-entry-icon.updated{background:var(--color-info-soft);color:var(--color-info)}.history-entry-icon.deleted{background:var(--color-danger-soft);color:var(--color-danger)}.history-entry-info{flex:1;min-width:0}.history-entry-action{font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-1)}.history-entry-time{font-size:var(--text-sm);color:var(--color-text-3)}.history-entry-content{padding:16px}.history-entry-content>:first-child{margin-top:0}.history-entry-content>:last-child{margin-bottom:0}.history-entry-diff{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.history-diff-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-3);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.history-diff-content{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--color-text-2);font-size:var(--text-base);line-height:1.4}@media (max-width: 768px){.note-history-modal-container{width:95%;max-height:90vh;margin:0 10px}.note-history-modal-header{padding:16px 20px}.note-history-modal-header h2{font-size:18px}.note-history-modal-content{padding:20px}.history-entry-header,.history-entry-content{padding:12px}}@media (prefers-reduced-motion: reduce){.note-history-modal,.note-history-modal-container,.note-history-modal-close,.history-entry{transition:none!important}}.zone-finish-wrap{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:var(--z-flyout);display:flex;gap:var(--space-2);pointer-events:none}.map-edit-controls{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:var(--z-flyout);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none;max-width:calc(100vw - 24px)}.map-edit-controls .map-edit-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.zone-finish-wrap .zone-finish-btn,.map-edit-controls .zone-finish-btn{pointer-events:auto;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);border:none;font-weight:var(--weight-semibold);font-size:var(--text-md);box-shadow:var(--shadow-lg);cursor:pointer;min-height:var(--tap-target);touch-action:manipulation}.zone-finish-wrap .zone-finish-done,.map-edit-controls .zone-finish-done{background:var(--color-success);color:#fff}.zone-finish-wrap .zone-finish-cancel,.map-edit-controls .zone-finish-cancel{background:var(--color-surface);color:var(--color-text-2);border:1px solid var(--color-border-strong)}.zone-finish-wrap .zone-reshape-hint,.map-edit-controls .zone-reshape-hint{pointer-events:none;align-self:center;text-align:center;background:rgba(17,24,39,.85);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-lg)}.zone-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:flex-end;justify-content:center;z-index:10005;padding:0}@media (min-width: 600px){.zone-modal-overlay{align-items:center;padding:var(--space-6)}}.zone-modal{background:var(--color-surface);width:100%;max-width:460px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}@media (min-width: 600px){.zone-modal{border-radius:var(--radius-lg)}}.zone-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider)}.zone-modal-header h3{margin:0;font-size:var(--text-lg);color:var(--color-text)}.zone-modal-close{background:transparent;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--color-text-3);width:36px;height:36px;border-radius:var(--radius-sm)}.zone-modal-close:hover{background:var(--color-surface-2)}.zone-modal-body{padding:var(--space-4) var(--space-5);overflow-y:auto}.zone-modal-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-2);margin:var(--space-2) 0 var(--space-2);text-transform:uppercase;letter-spacing:.04em}.zone-sev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:10px}.zone-sev-btn{--sev: var(--color-text-3);display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--color-text);cursor:pointer;min-height:48px;touch-action:manipulation}.zone-sev-btn.active{border-color:var(--sev);background:color-mix(in srgb,var(--sev) 12%,var(--color-surface))}.zone-sev-dot{display:inline-block;width:14px;height:14px;border-radius:var(--radius-round);background:var(--sev);box-shadow:0 0 0 2px #0000000d}.zone-modal-body textarea{width:100%;box-sizing:border-box;padding:10px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-md);font-family:inherit;color:var(--color-text);background:var(--color-surface);resize:vertical;min-height:70px}.zone-modal-body textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.zone-geofence-row{display:flex;align-items:flex-start;gap:10px;margin-top:var(--space-3);cursor:pointer}.zone-geofence-row input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}.zone-geofence-title{display:block;font-weight:var(--weight-semibold);color:var(--color-text)}.zone-geofence-desc{display:block;font-size:var(--text-sm);color:var(--color-text-3);margin-top:2px}.zone-capacity-row{margin-top:var(--space-3)}.zone-capacity-row[hidden]{display:none}.zone-capacity-row input{width:100%;box-sizing:border-box;padding:10px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-md);font-family:inherit;color:var(--color-text);background:var(--color-surface)}.zone-occupancy{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);padding:10px 12px;background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-md)}.zone-occ-label{font-weight:var(--weight-semibold);color:var(--color-text-2)}.zone-occ-count{font-size:20px;font-weight:800;color:var(--color-text);font-variant-numeric:tabular-nums}.zone-occupancy.zone-occ-over{border-color:#dc2626;background:rgba(220,38,38,.08)}.zone-occupancy.zone-occ-over .zone-occ-count{color:#dc2626}.zone-occupants{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.zone-occupants.zone-occ-empty{color:var(--color-text-3);font-size:var(--text-sm)}.zone-occ-chip{padding:3px 9px;border-radius:var(--radius-pill);font-size:var(--text-sm);background:var(--color-surface-3, #eef2f7);color:var(--color-text-2)}.zone-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-divider)}.zone-btn{padding:10px var(--space-5);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-md);border:none;cursor:pointer;min-height:var(--tap-target);touch-action:manipulation}.zone-btn-secondary{background:var(--color-surface-2);color:var(--color-text-2)}.zone-btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.zone-btn-primary:hover{background:var(--color-accent-hover)}.zone-popup{font-family:inherit;min-width:200px}.zone-popup-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:var(--space-2)}.zone-badge{display:inline-flex;align-items:center;gap:4px;color:#fff;font-weight:var(--weight-bold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:3px 9px;border-radius:var(--radius-pill)}.zone-badge-icon{font-size:.95em;line-height:1;font-weight:var(--weight-bold)}.zone-popup-by{font-size:var(--text-sm);color:var(--color-text-3)}.zone-popup-note{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-2);white-space:pre-wrap;word-break:break-word}.zone-popup-empty{color:var(--color-text-4);font-style:italic}.zone-popup-actions{display:flex;gap:var(--space-2);justify-content:flex-end;border-top:1px solid var(--color-divider);padding-top:var(--space-2)}.zone-popup-actions button{padding:var(--space-2) 10px;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;min-height:36px}.zone-popup-actions .zone-danger{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent);color:var(--color-danger-fg)}.zone-popup-actions .zone-danger:hover{background:var(--color-danger-soft)}.zone-edit{display:flex;flex-direction:column}.zone-edit-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-2);margin:var(--space-2) 0}.zone-sev-ic{font-weight:var(--weight-bold);margin-right:2px}.zone-sheet-note{width:100%;box-sizing:border-box;padding:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:16px;line-height:var(--leading-normal);resize:vertical;background:var(--color-surface);color:var(--color-text)}.zone-sheet-note:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.zone-sheet-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.zone-sheet-actions .btn{flex:1}.zone-sheet-meta{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-3)}.note-content-editable{cursor:pointer;border-radius:var(--radius-md, 8px);transition:background-color var(--transition-fast),border-color var(--transition-fast);padding:8px 10px;border:1px dashed var(--color-border-strong);background:var(--color-surface-2)}.note-content-editable:hover,.note-content-editable:focus-visible{background:var(--color-surface-2);border-color:var(--color-accent);outline:none}.note-edit-hint{display:flex;align-items:center;gap:5px;margin-top:8px;font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);color:var(--color-accent);letter-spacing:var(--tracking-snug)}.note-edit-hint svg{width:13px;height:13px;flex:0 0 auto}html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%}#locapp-ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}#locapp-ui-root>*{pointer-events:auto}.map-zoom-control{position:absolute;bottom:100px;left:10px;z-index:998;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.22);border-radius:4px;background:#fff;box-shadow:0 2px 10px #0000002e;contain:layout paint;isolation:isolate}.map-zoom-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid rgba(0,0,0,.18);background:#fff;color:#111827;font:700 22px/1 Arial,Helvetica,sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.map-zoom-button:last-child{border-bottom:0}.map-center-button svg{width:20px;height:20px;display:block}.map-zoom-button:hover:not(:disabled),.map-zoom-button:focus-visible{background:#f3f4f6}.map-zoom-button:disabled{color:#9ca3af;cursor:default}.map-rotation-control{position:absolute;bottom:250px;left:10px;z-index:998;display:flex;align-items:center;gap:6px;contain:layout paint;isolation:isolate}.map-rotation-toggle,.map-rotation-action{height:44px;min-width:44px;padding:0 10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(0,0,0,.22);background:#fff;color:#111827;border-radius:4px;box-shadow:0 2px 10px #0000002e;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.map-rotation-toggle{width:44px;display:grid;place-items:center}.map-rotation-toggle svg{width:20px;height:20px;transition:transform .16s ease}.map-rotation-control.unlocked .map-rotation-toggle{background:#111827;color:#fff}.map-rotation-panel{display:none;align-items:center;gap:4px;padding:4px;border:1px solid rgba(0,0,0,.18);border-radius:6px;background:rgba(255,255,255,.96);box-shadow:0 2px 10px #0000002e}.map-rotation-control.unlocked .map-rotation-panel{display:flex}.map-rotation-action{min-width:52px;padding:0 10px;box-shadow:none;font:700 12px/1 Arial,Helvetica,sans-serif}.map-rotation-action:hover,.map-rotation-action:focus-visible,.map-rotation-action.active{background:#f3f4f6}.map-rotation-bearing{min-width:54px;padding:0 6px;color:#374151;font:700 11px/34px Arial,Helvetica,sans-serif;text-align:right;white-space:nowrap}.map-rotation-drawing{cursor:crosshair!important;touch-action:none}@media (max-width: 768px){.map-zoom-control{bottom:120px;left:8px}.map-rotation-control{bottom:272px;left:8px;align-items:flex-end}.map-rotation-panel{flex-direction:column;align-items:stretch}.map-rotation-bearing{min-width:52px;text-align:center;line-height:24px}}#layer-control{width:300px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.55);border-radius:12px;box-shadow:0 12px 34px #0000002e;isolation:isolate;contain:layout paint;backdrop-filter:none;-webkit-backdrop-filter:none}#layer-control-header{background:transparent;border-bottom:1px solid transparent;z-index:2}#layer-control:not(.collapsed) #layer-control-header{border-bottom-color:#00000014}#layer-control-content{-webkit-overflow-scrolling:touch;background:transparent;z-index:1;opacity:1}#layer-control.collapsed #layer-control-content{display:none;pointer-events:none}@-moz-document url-prefix(){#layer-control-header,#layer-control-toggle,#layer-control-content{transition:border-color .18s ease,transform .18s ease,max-height .22s ease,opacity .16s ease,padding-top .22s ease,padding-bottom .22s ease}#layer-control.collapsed #layer-control-content{display:flex;max-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden}}.leaflet-control-attribution{font-size:10px;line-height:1.4;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.leaflet-control-attribution{font-size:9px;max-width:56vw}#layer-control{width:auto}}@media (max-width: 768px),(hover: none) and (pointer: coarse){#layer-control,.user-profile,.auth-modal-backdrop,.auth-modal-container,.auth-modal-header,.fab-backdrop,.note-modal-backdrop,.note-modal-container,.note-modal-close,.char-counter,.note-display-popup .leaflet-popup-content-wrapper,.notes-loading-indicator,.tutorial-backdrop,.fab-notes-flyout,.fab-notes-backdrop,.fab-notes-close,.note-history-modal-backdrop,#socket-status-indicator,#auth-required,#auth-required>div{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.auth-modal,.auth-modal-backdrop,.note-modal,.fab-backdrop,.fab-notes-backdrop{transition:opacity .3s ease,visibility .3s ease!important}.auth-modal-container,.note-modal-container{transition:transform .3s ease!important}.fab-notes-flyout{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)!important}#socket-status-indicator{transition:background-color .3s ease,color .3s ease,opacity .3s ease!important}}html[data-theme=dark] .map-zoom-control,html[data-theme=dark] .map-rotation-toggle,html[data-theme=dark] .map-rotation-action,html[data-theme=dark] .map-rotation-panel{background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}html[data-theme=dark] .map-zoom-button{background:var(--color-surface);color:var(--color-text);border-bottom-color:var(--color-border)}html[data-theme=dark] .map-zoom-button:hover:not(:disabled),html[data-theme=dark] .map-zoom-button:focus-visible,html[data-theme=dark] .map-rotation-action:hover,html[data-theme=dark] .map-rotation-action:focus-visible,html[data-theme=dark] .map-rotation-action.active{background:var(--color-surface-3)}html[data-theme=dark] .map-zoom-button:disabled{color:var(--color-text-4)}html[data-theme=dark] .map-rotation-toggle,html[data-theme=dark] .map-rotation-action{color:var(--color-text)}html[data-theme=dark] .map-rotation-control.unlocked .map-rotation-toggle{background:var(--color-accent);color:var(--color-on-accent)}html[data-theme=dark] .map-rotation-bearing{color:var(--color-text-2)}html[data-theme=dark] #layer-control{background:var(--color-surface-glass);border-color:var(--color-border);box-shadow:var(--shadow-lg)}html[data-theme=dark] #layer-control:not(.collapsed) #layer-control-header{border-bottom-color:var(--color-divider)}.settings-card-hint{margin:0 0 var(--space-3);color:var(--color-text-3);font-size:var(--text-sm);line-height:var(--leading-normal)}.theme-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.theme-seg-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);background:var(--color-surface-2);color:var(--color-text-2);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.theme-seg-btn:hover{border-color:var(--color-border-strong);color:var(--color-text)}.theme-seg-btn svg{opacity:.9}.theme-seg-btn.is-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--shadow-focus)}.weather-radar-bar{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 160px);padding:6px 10px;background:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md)}.weather-radar-bar[hidden]{display:none}.weather-radar-bar button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;color:var(--color-text-2);font-size:14px;line-height:1;padding:6px;min-width:30px;min-height:30px;border-radius:8px}.weather-radar-bar button:hover{background:var(--color-surface-hover, rgba(0,0,0,.06))}.weather-radar-bar .wx-scrub{width:130px}.weather-radar-bar .wx-time{font-size:12px;font-weight:600;color:var(--color-text-2);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;text-align:center}@media (max-width: 480px){.weather-radar-bar{max-width:calc(100vw - 24px)}.weather-radar-bar .wx-scrub{width:90px}}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}:where(.app-spinner){display:inline-block;width:1.25em;height:1.25em;border:2px solid var(--color-border, rgba(0, 0, 0, .15));border-top-color:var(--color-accent, #2196f3);border-radius:50%;animation:ux-spin .7s linear infinite;vertical-align:-.2em}:where(.app-skeleton){position:relative;overflow:hidden;background:var(--color-skeleton, rgba(0, 0, 0, .07));border-radius:var(--radius-1, 6px)}:where(.app-skeleton):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-skeleton-shine, rgba(255, 255, 255, .45)),transparent);animation:ux-shimmer 1.3s infinite}:where(.app-toast){position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-5, 24px));transform:translate(-50%) translateY(12px);z-index:11000;max-width:min(90vw,420px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface-inverse, rgba(20, 22, 28, .95));color:var(--color-on-inverse, #fff);border-radius:var(--radius-2, 10px);box-shadow:var(--shadow-2, 0 6px 24px rgba(0, 0, 0, .25));font-size:var(--font-size-sm, 14px);line-height:1.4;opacity:0;transition:opacity .25s ease,transform .25s ease;display:flex;align-items:center;gap:var(--space-3, 12px);pointer-events:none}:where(.app-toast.show){opacity:1;transform:translate(-50%) translateY(0)}:where(.app-toast .app-toast-action){pointer-events:auto;margin-left:auto;background:transparent;color:var(--color-accent-on-inverse, #7fc4ff);border:0;font-weight:600;font-size:var(--font-size-sm, 14px);cursor:pointer;padding:4px 6px;border-radius:var(--radius-1, 6px)}:where(.app-toast.error){background:var(--color-danger, #c0392b)}:where(.app-toast.success){background:var(--color-success, #2e7d32)}@keyframes ux-spin{to{transform:rotate(360deg)}}@keyframes ux-shimmer{to{transform:translate(100%)}}@media (max-width: 640px){.ux-sheet{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:92vh;max-height:92dvh;border-radius:var(--radius-3, 16px) var(--radius-3, 16px) 0 0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-4, 16px));animation:ux-sheet-up .28s cubic-bezier(.16,1,.3,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.ux-sheet:before{content:"";display:block;width:40px;height:4px;margin:8px auto 4px;border-radius:999px;background:var(--color-border, rgba(0, 0, 0, .2))}.note-modal{align-items:flex-start!important}.note-modal .note-modal-container.ux-sheet{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:90%!important;max-width:500px!important;max-height:88vh;max-height:88dvh;margin:calc(env(safe-area-inset-top,0px) + var(--space-3, 12px)) auto auto!important;border-radius:var(--radius-xl)!important;padding-bottom:0!important;animation:none!important;overflow-y:auto!important;overflow-x:hidden!important}.note-modal .note-modal-container.ux-sheet:before{display:none!important}.note-modal .note-modal-content{max-height:none!important;overflow:visible!important}.auth-modal{align-items:flex-start!important}.auth-modal .auth-modal-container.ux-sheet{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:calc(100% - 24px)!important;max-width:500px!important;max-height:85vh;max-height:85dvh;margin:calc(env(safe-area-inset-top,0px) + 12px) auto auto!important;border-radius:var(--radius-xl)!important;padding-bottom:0!important;animation:none!important;overflow-y:auto!important;overflow-x:hidden!important}.auth-modal .auth-modal-container.ux-sheet:before{display:none!important}.auth-modal .auth-modal-content{max-height:none!important;overflow:visible!important}}@keyframes ux-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fab-notes-flyout{display:flex;flex-direction:column;width:min(440px,92vw);max-height:80vh;background:var(--color-surface, #fff);color:var(--color-text, #1b1d22);border-radius:var(--radius-3, 16px);box-shadow:var(--shadow-3, 0 18px 60px rgba(0, 0, 0, .32));overflow:hidden}.fab-notes-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-4, 16px) var(--space-4, 16px) var(--space-3, 12px);border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.fab-notes-header h3{margin:0;font-size:var(--font-size-lg, 17px);font-weight:600}.fab-notes-count-badge{font-size:var(--font-size-sm, 13px);color:var(--color-text-muted, #6b7280);font-weight:500}.fab-notes-close{border:0;background:transparent;font-size:26px;line-height:1;width:40px;height:40px;border-radius:var(--radius-2, 10px);cursor:pointer;color:var(--color-text-muted, #6b7280)}.fab-notes-close:hover{background:var(--color-hover, rgba(0, 0, 0, .06))}.fab-notes-list{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;padding:var(--space-2, 8px) 0}.fab-notes-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, 12px);text-align:center;padding:var(--space-6, 32px) var(--space-4, 16px);color:var(--color-text-muted, #6b7280)}.fab-notes-state svg{width:40px;height:40px;opacity:.6}.fab-notes-state .fab-notes-state-title{font-weight:600;color:var(--color-text, #1b1d22)}.fab-notes-retry{margin-top:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-4, 16px);border:0;border-radius:var(--radius-2, 10px);background:var(--color-accent, #2196f3);color:var(--color-on-accent, #fff);font-weight:600;cursor:pointer;min-height:44px}.fab-note-skeleton{display:flex;align-items:center;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px)}.fab-note-skeleton .sk-avatar{width:40px;height:40px;border-radius:50%;flex:0 0 auto}.fab-note-skeleton .sk-lines{flex:1 1 auto;display:flex;flex-direction:column;gap:6px}.fab-note-skeleton .sk-line{height:10px;border-radius:4px}.fab-note-skeleton .sk-line.short{width:40%}.fab-note-item{min-height:56px}.fab-notes-list-footer{text-align:center;padding:var(--space-3, 12px);color:var(--color-text-muted, #6b7280);font-size:var(--font-size-sm, 13px)}.note-modal .note-button.primary[disabled]{opacity:.7;cursor:progress}.note-modal .button-spinner:not(.hidden){margin-right:var(--space-2, 8px)}.note-modal textarea.ux-invalid,.note-modal input.ux-invalid{border-color:var(--color-danger, #f44336)!important;box-shadow:0 0 0 2px var(--color-danger-soft, rgba(244, 67, 54, .18))}.note-modal .form-error{color:var(--color-danger, #f44336);font-size:var(--font-size-sm, 13px);min-height:1.1em}.note-modal .char-counter.near-limit{color:var(--color-warning, #ff9800)}.note-modal .char-counter.at-limit{color:var(--color-danger, #f44336)}@media (max-width: 640px){.note-modal .note-button{min-height:48px;flex:1 1 0}.note-modal .form-actions{gap:var(--space-3, 12px)}}.ux-offline-banner{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + var(--space-3, 12px));transform:translate(-50%) translateY(-120%);z-index:11000;display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-warning, #9a6700);color:var(--color-on-warning, #fff);border-radius:999px;box-shadow:var(--shadow-2, 0 6px 24px rgba(0, 0, 0, .25));font-size:var(--font-size-sm, 13px);font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1)}.ux-offline-banner.show{transform:translate(-50%) translateY(0)}.ux-offline-banner.online{background:var(--color-success, #2e7d32)}.ux-offline-banner .ux-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.ux-download-progress{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.ux-progress-track{height:8px;border-radius:999px;background:var(--color-track, rgba(0, 0, 0, .1));overflow:hidden}.ux-progress-bar{height:100%;width:0%;border-radius:inherit;background:var(--color-accent, #2196f3);transition:width .2s ease}.ux-progress-meta{display:flex;justify-content:space-between;font-size:var(--font-size-sm, 12px);color:var(--color-text-muted, #6b7280)}.auth-modal .form-group input.ux-invalid{border-color:var(--color-danger, #f44336)!important;box-shadow:0 0 0 2px var(--color-danger-soft, rgba(244, 67, 54, .18))}.auth-modal .form-group input.ux-valid{border-color:var(--color-success, #2e7d32)}.auth-modal .form-error{color:var(--color-danger, #f44336);font-size:var(--font-size-sm, 13px);min-height:1.05em;display:block}.auth-modal button[type=submit][disabled]{opacity:.75;cursor:progress}#loc-privacy{font-family:var(--font-family, system-ui),sans-serif}#loc-privacy label{min-height:36px}#loc-privacy .loc-share-status.on{color:var(--color-success, #2e7d32);font-weight:600}#loc-privacy .loc-share-status.off{color:var(--color-text-muted, #888)}@media (prefers-reduced-motion: reduce){:where(.app-spinner),:where(.app-skeleton):after,.ux-sheet,.ux-offline-banner,.ux-progress-bar,:where(.app-toast){animation:none!important;transition:none!important}}.att-field{display:flex;flex-direction:column;gap:var(--space-2)}.att-picker-btn{display:inline-grid;place-items:center;align-self:flex-start;width:var(--tap-target);height:var(--tap-target);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-2);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.att-picker-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-3)}.att-picker-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.att-picker-btn:disabled{opacity:.55;cursor:not-allowed}.att-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.att-chips:empty{display:none}.att-chip{position:relative;width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface-3);box-shadow:var(--shadow-xs)}.att-chip-img{width:100%;height:100%;object-fit:cover;display:block}.att-chip-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;display:grid;place-items:center;border:none;border-radius:var(--radius-round);background:var(--color-overlay);color:#fff;font-size:var(--text-sm);line-height:1;cursor:pointer;transition:background var(--transition-fast)}.att-chip-remove:hover{background:var(--color-danger)}.att-chip-remove:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.att-quota{font-size:var(--text-sm);color:var(--color-text-3)}.att-quota[hidden]{display:none}.att-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.att-thumb{width:96px;height:96px;max-width:100%;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-3);cursor:zoom-in;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.att-thumb:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.att-chip-doc{width:auto;max-width:220px;height:auto;display:flex;align-items:center;gap:8px;padding:8px 30px 8px 10px;overflow:visible;background:var(--color-surface-2)}.att-doc-ic{flex:0 0 auto;display:grid;place-items:center;color:var(--color-accent)}.att-doc-meta{display:flex;flex-direction:column;min-width:0}.att-doc-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-doc-size{font-size:var(--text-xs);color:var(--color-text-3)}.att-doc-remove{background:var(--color-surface-3);color:var(--color-text-2)}.att-doc-remove:hover{background:var(--color-danger);color:#fff}.att-doc-att{display:flex;align-items:center;gap:10px;flex:1 1 100%;max-width:320px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.att-doc-att:hover{background:var(--color-surface-3);border-color:var(--color-accent)}.att-doc-att-ic{flex:0 0 auto;display:grid;place-items:center;color:var(--color-accent)}.att-doc-att-meta{display:flex;flex-direction:column;min-width:0}.att-doc-att-name{font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-doc-att-size{font-size:var(--text-xs);color:var(--color-text-3)}.att-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:grid;place-items:center;padding:var(--space-5);background:rgba(0,0,0,.86);touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;cursor:zoom-out}.att-lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);transform-origin:center center;will-change:transform;touch-action:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;cursor:zoom-in}.att-lightbox.is-zoomed,.att-lightbox.is-zoomed .att-lightbox-img{cursor:grab}.att-lightbox-img.is-animating{transition:transform var(--transition-base)}@media (prefers-reduced-motion: reduce){.att-lightbox-img.is-animating{transition:none}}.att-lightbox-close{position:absolute;top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);width:var(--tap-target);height:var(--tap-target);display:grid;place-items:center;border:none;border-radius:var(--radius-round);background:var(--color-surface-glass);color:var(--color-text);font-size:var(--text-2xl);line-height:1;cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--transition-fast)}.att-lightbox-close:hover{background:var(--color-surface-2)}.att-lightbox-close:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.att-lightbox-download{position:absolute;top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:calc(var(--space-4) + var(--tap-target) + var(--space-2));width:var(--tap-target);height:var(--tap-target);display:grid;place-items:center;border-radius:var(--radius-round);background:var(--color-surface-glass);color:var(--color-text);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--transition-fast),color var(--transition-fast)}.att-lightbox-download:hover{background:var(--color-surface-2)}.att-lightbox-download:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.att-source-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11050;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:rgba(0,0,0,.5)}.att-source-card{width:min(420px,100%);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.att-source-title{margin:0 0 var(--space-3);font-size:var(--font-size-lg, 1.125rem);color:var(--color-text);text-align:center}.att-source-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.att-source-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:104px;padding:var(--space-4) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.att-source-opt:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-3)}.att-source-opt:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.att-source-ic{display:inline-grid;place-items:center}.att-source-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-2);font:inherit;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.att-source-cancel:hover{background:var(--color-surface-2);color:var(--color-text)}.att-source-cancel:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.app-sheet{position:fixed;left:0;right:0;bottom:var(--app-kb, 0px);z-index:1400;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-soft);border-bottom:none;transform:translateY(110%);visibility:hidden;height:auto;max-height:92dvh;transition:height var(--transition-slow),transform var(--transition-slow),visibility 0s linear var(--transition-slow);padding-bottom:env(safe-area-inset-bottom,0px);overscroll-behavior:contain}.app-sheet.is-open{transform:translateY(0);visibility:visible;transition:height var(--transition-slow),transform var(--transition-slow),visibility 0s}.app-sheet.is-dragging{transition:none}html.kb-animating .app-sheet{transition:none!important}.app-sheet.snap-peek{height:88px}.app-sheet.snap-half{height:auto;max-height:min(70dvh,600px)}.app-sheet.snap-full{height:auto;max-height:92dvh}html.kb-open .app-sheet{max-height:calc(100dvh - var(--app-kb, 0px) - 12px)}.app-sheet-grip{flex:0 0 auto;height:22px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.app-sheet-grip:before{content:"";width:40px;height:4px;border-radius:var(--radius-pill);background:var(--color-border-strong)}.app-sheet-grip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-sheet.is-dragging .app-sheet-grip{cursor:grabbing}.app-sheet-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4) var(--space-2);min-height:32px}.app-sheet-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:var(--tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sheet-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-3);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}.app-sheet-close:hover{background:var(--color-surface-2);color:var(--color-text)}.app-sheet-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-2) var(--space-4) var(--space-4);touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.app-sheet.snap-peek .app-sheet-body{overflow:hidden;opacity:0}.app-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1399;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility 0s linear var(--transition-base);display:none}@media (min-width: 980px){.app-sheet{left:50%;right:auto;top:50%;bottom:auto;width:min(440px,calc(100vw - 2 * var(--space-6)));border-radius:var(--radius-xl);border:1px solid var(--color-border-soft);transform:translate(-50%,-50%) scale(.96);opacity:0;transition:opacity var(--transition-base),transform var(--transition-base),visibility 0s linear var(--transition-base)}.app-sheet.is-open{transform:translate(-50%,-50%) scale(1);opacity:1;transition:opacity var(--transition-base),transform var(--transition-base),visibility 0s}.app-sheet.snap-peek,.app-sheet.snap-half{height:auto;max-height:min(80vh,640px)}.app-sheet.snap-full{height:auto;max-height:88vh}.app-sheet.snap-peek .app-sheet-body{overflow-y:auto;opacity:1}.app-sheet-grip{display:none}.app-sheet-backdrop{display:block}.app-sheet-backdrop.is-open{opacity:1;visibility:visible;transition:opacity var(--transition-base),visibility 0s}}@media (prefers-reduced-motion: reduce){.app-sheet{transition:visibility 0s}}.note-cluster{background:transparent;position:absolute;top:0;left:0}.maplibregl-marker.note-display-marker,.note-display-marker{position:absolute;top:0;left:0;display:inline-block!important;width:max-content!important;height:max-content!important;line-height:0;transition:none!important;animation:none;will-change:auto}.note-display-marker .note-marker-icon{box-sizing:border-box}.note-cluster .note-cluster-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;color:#fff;font-weight:700;font-size:13px;line-height:1;border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 10px #00000059;background:var(--color-accent, #2196f3);transition:transform .15s ease}.note-cluster-small .note-cluster-inner{background:var(--cluster-color-small, #4f97f3)}.note-cluster-medium .note-cluster-inner{background:var(--cluster-color-medium, #175fc6);font-size:14px}.note-cluster-large .note-cluster-inner{background:var(--cluster-color-large, #143f7e);font-size:15px}.note-display-marker--selected{z-index:30}.note-display-marker--selected .note-marker-icon{box-shadow:0 0 0 4px #facc15f5,0 0 0 11px #facc1557,0 0 30px #facc15e6,0 4px 12px #00000052!important;animation:note-marker-selected-pulse 1.45s ease-out infinite}.note-display-marker-spotlight{display:none}@keyframes note-marker-selected-pulse{0%{box-shadow:0 0 0 4px #facc15f5,0 0 0 9px #facc156b,0 0 24px #facc15d1,0 4px 12px #00000052}70%{box-shadow:0 0 0 4px #facc15f5,0 0 0 18px #facc1500,0 0 34px #facc15e6,0 4px 12px #00000052}to{box-shadow:0 0 0 4px #facc15f5,0 0 0 18px #facc1500,0 0 24px #facc15d1,0 4px 12px #00000052}}@media (prefers-reduced-motion: reduce){.note-display-marker--selected .note-marker-icon{animation:none}}@media (hover: hover){.note-cluster:hover .note-cluster-inner{transform:scale(1.08)}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .25s ease-out,opacity .25s ease-in}.maplibregl-marker.task-display-marker,.task-display-marker{position:absolute;top:0;left:0;display:inline-block!important;width:max-content!important;height:max-content!important;line-height:0;transition:none!important;animation:none;will-change:auto}.task-display-marker--selected{z-index:30}.task-marker{width:34px;height:34px;box-sizing:border-box;border:2px solid #fff;padding:0;margin:0;border-radius:999px;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0f172a61;cursor:pointer;position:relative;font:800 16px/1 system-ui,sans-serif;-moz-appearance:none;appearance:none;-webkit-appearance:none}.task-marker--critical{background:#dc2626}.task-marker--high{background:#ea580c}.task-marker--medium{background:#2563eb}.task-marker--low{background:#0f766e}.task-marker--pending{outline:3px solid rgba(250,204,21,.75)}.task-display-marker.task-display-marker--clustered{display:none!important}.task-cluster{box-sizing:border-box;position:absolute;top:0;left:0;width:40px;height:40px;border-radius:999px;border:2px solid #fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0f172a6b;cursor:pointer;-webkit-user-select:none;user-select:none}.task-cluster--medium{width:46px;height:46px}.task-cluster--large{width:52px;height:52px}.task-cluster-inner{width:64%;height:64%;border-radius:999px;background:var(--color-surface, #1f2937);color:var(--color-text, #fff);display:inline-flex;align-items:center;justify-content:center;font:800 14px/1 system-ui,sans-serif;box-shadow:inset 0 0 0 2px #ffffff1f;animation:task-cluster-pop .18s ease-out}.task-cluster--large .task-cluster-inner{font-size:16px}@keyframes task-cluster-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.task-marker--selected{z-index:30;border-color:#fff7ad;box-shadow:0 0 0 4px #facc15f2,0 0 0 11px #facc155c,0 0 26px #facc15e6,0 10px 26px #0f172a6b;animation:task-marker-selected-pulse 1.45s ease-out infinite}.task-marker-spotlight{position:fixed;left:0;top:0;z-index:1399;pointer-events:none;cursor:default;transform:translate(-50%,-50%);transition:opacity .12s ease}@keyframes task-marker-selected-pulse{0%{box-shadow:0 0 0 4px #facc15f2,0 0 0 9px #facc156b,0 0 22px #facc15d1,0 10px 26px #0f172a6b}70%{box-shadow:0 0 0 4px #facc15f2,0 0 0 18px #facc1500,0 0 30px #facc15e0,0 10px 26px #0f172a6b}to{box-shadow:0 0 0 4px #facc15f2,0 0 0 18px #facc1500,0 0 22px #facc15d1,0 10px 26px #0f172a6b}}@media (prefers-reduced-motion: reduce){.task-marker--selected{animation:none}}.task-marker-status{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border:2px solid #fff;border-radius:999px;background:#22c55e}.task-marker--status-open .task-marker-status{background:#60a5fa}.task-marker--status-in-progress .task-marker-status{background:#22c55e}.task-marker--status-blocked .task-marker-status{background:#f59e0b}.task-marker--status-resolved .task-marker-status{background:#94a3b8}.task-marker--unacked-critical{box-shadow:0 0 #da1e28b3;animation:task-marker-unacked-pulse 1.4s ease-out infinite}@keyframes task-marker-unacked-pulse{0%{box-shadow:0 0 #da1e28b3}70%{box-shadow:0 0 0 14px #da1e2800}to{box-shadow:0 0 #da1e2800}}.task-marker--acked{outline:2px solid rgba(34,197,94,.85)}.task-marker--escalated .task-marker-status,.task-marker--acked .task-marker-status{width:auto;min-width:11px;height:14px;padding:0 3px;font-size:9px;line-height:12px;font-weight:800;color:#fff;display:inline-flex;align-items:center;justify-content:center}.task-marker--escalated .task-marker-status{background:#da1e28}.task-marker--acked .task-marker-status{background:#16a34a}@media (prefers-reduced-motion: reduce){.task-marker--unacked-critical{animation:none;outline:3px solid rgba(218,30,40,.85)}}.task-chip--sla{background:#e0f2fe;color:#075985;font-variant-numeric:tabular-nums}.task-chip--sla-overdue{background:#fee2e2;color:#991b1b;font-weight:800;font-variant-numeric:tabular-nums}.task-chip--acked{background:#dcfce7;color:#166534}.task-chip--escalated{background:#fde68a;color:#92400e;font-weight:800}.task-ack-btn{display:block;width:auto;margin:4px auto 2px;padding:8px 22px;font-size:13px}.task-unack-btn{display:block;width:auto;margin:4px auto 2px}.task-dispatch{margin-top:10px}.task-dispatch-head{font-weight:700;font-size:13px;margin-bottom:6px}.task-dispatch-list{display:flex;flex-direction:column;gap:6px}.task-dispatch-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);cursor:pointer}.task-dispatch-row:hover{background:var(--color-surface-hover, #f1f5f9)}.task-dispatch-name{font-weight:600}.task-dispatch-meta{font-size:12px;color:var(--color-text-muted, #64748b);font-variant-numeric:tabular-nums}.task-form,.task-search,.task-list{display:grid;gap:12px}.task-sheet{display:grid;gap:10px}.task-tabs{display:flex;gap:8px;margin-bottom:12px}.task-tab{flex:1;padding:8px 12px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text-muted, #64748b);font-weight:600;cursor:pointer}.task-tab--active{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.task-sortbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.task-sort-label{font-size:12px;font-weight:600;color:var(--color-text-muted, #64748b)}.task-sort-select{flex:1;padding:6px 10px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #1f2937);font-size:13px}.task-row-due{align-self:center;white-space:nowrap;font-size:12px;font-weight:600;color:var(--color-text-muted, #64748b)}.task-row-due--overdue{color:var(--color-danger, #dc2626)}.task-row-due--upcoming{color:var(--color-primary, #2563eb)}.task-new-personal{width:100%;margin-bottom:10px}.pnote-list{display:flex;flex-direction:column;gap:8px}.pnote-row{display:flex;align-items:stretch;gap:6px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff)}.pnote-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer}.pnote-open:hover{background:var(--color-hover, #f8fafc)}.pnote-text{white-space:pre-wrap;word-break:break-word}.pnote-when{font-size:12px;color:var(--color-text-muted, #64748b)}.pnote-del{flex:0 0 auto;width:40px;border:0;border-left:1px solid var(--color-border, #e5e7eb);background:transparent;color:var(--color-text-muted, #64748b);font-size:20px;line-height:1;cursor:pointer;border-radius:0 8px 8px 0}.pnote-del:hover{color:var(--color-danger, #dc2626);background:var(--color-hover, #f8fafc)}.pnote-form{display:flex;flex-direction:column;gap:12px}.pnote-form textarea{width:100%}.task-display-marker--moving .task-marker{cursor:grab}.task-display-marker--moving .task-marker:active{cursor:grabbing}.task-sheet-head,.task-actions,.task-status-actions,.task-form-grid{display:flex;gap:8px;flex-wrap:wrap}.task-title-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.task-title-row h3{margin:0;font-size:18px}.task-description{color:var(--color-text, #1f2937);white-space:pre-wrap}.task-muted,.task-empty,.task-location-line{color:var(--color-text-muted, #64748b);font-size:13px}.task-chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:var(--color-surface-alt, #eef2f7);color:var(--color-text, #1f2937);font-size:12px;font-weight:700}.task-chip--critical{background:#fee2e2;color:#991b1b}.task-chip--high{background:#ffedd5;color:#9a3412}.task-chip--medium{background:#dbeafe;color:#1d4ed8}.task-chip--low{background:#ccfbf1;color:#0f766e}.task-chip--pending{background:#fef9c3;color:#854d0e}.task-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.task-meta div{min-width:0}.task-meta dt{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;font-weight:800;color:var(--color-text-muted, #64748b)}.task-meta dt svg{width:15px;height:15px;flex-shrink:0;opacity:.85}.task-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-detail-header .task-detail-title{flex:1;min-width:0}.task-detail-header .task-kind-pill{flex-shrink:0}.task-owner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--color-surface-2, #f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-radius:10px}.task-owner-who{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.task-owner-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;flex-shrink:0;box-shadow:0 1px 3px #0000002e}.task-owner-avatar--none{background:var(--color-surface-3, #e2e8f0);color:var(--color-text-muted, #94a3b8)}.task-owner-text{min-width:0}.task-owner-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #64748b)}.task-owner-name{font-size:16px;font-weight:700;color:var(--color-text, #0f172a);overflow-wrap:anywhere}.task-owner-side{display:flex;align-items:center;gap:10px;flex-shrink:0}button.task-owner-assign{min-height:38px;padding:0 14px;border:1px solid var(--color-primary, #2563eb);background:var(--color-primary, #2563eb);color:#fff;font-weight:800;box-shadow:0 8px 18px #2563eb47}button.task-owner-assign:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:rgba(255,255,255,.18);font-weight:900}button.task-owner-assign:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;color:#fff}.task-assign-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px 12px;background:rgba(15,23,42,.42);box-sizing:border-box}.task-assign-modal{width:min(620px,100%);max-height:min(78dvh,720px);display:flex;flex-direction:column;border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #111827);box-shadow:0 22px 60px #0f172a59;overflow:hidden}.task-assign-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);flex:0 0 auto}.task-assign-kicker{color:var(--color-text-muted, #64748b);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.task-assign-modal h3{margin:0;font-size:18px;line-height:1.2}.task-assign-title{margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;max-width:calc(100vw - 138px)}.task-assign-current{flex:0 1 auto;min-width:0;max-width:min(220px,42vw);padding:4px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assign-close{flex:0 0 auto;width:40px;height:40px}.task-assign-form{min-height:0;overflow:auto;padding:14px 16px 16px}.task-assign-actions{position:sticky;bottom:0;padding-top:10px;background:var(--color-surface, #fff)}.task-attach-add{display:flex;justify-content:center}.task-attach-add .att-field{width:100%;align-items:center}.task-sheet-head{align-items:center}.task-head-due{margin-left:auto;align-self:center;display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;color:var(--color-text-muted, #64748b)}.task-head-due-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.task-head-due strong{font-size:13px;font-weight:700;color:var(--color-text, #111827)}select.task-owner-assign{flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;cursor:pointer;font-weight:600}select.task-owner-assign option,select.task-owner-assign optgroup{text-align:left;font-weight:400}.task-byline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-muted, #64748b)}.task-byline-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}.task-byline-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.task-author{display:flex;align-items:center;gap:10px;min-width:0}.task-author-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0;box-shadow:0 1px 3px #0000002e}.task-author-info{min-width:0}.task-author-name{font-weight:700;color:var(--color-text, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-detail-sub{font-size:12px;color:var(--color-text-muted, #64748b);margin-top:1px}.task-archived-badge{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--color-surface-3, rgba(120, 120, 120, .18));color:var(--color-text-muted, #64748b);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.task-kind-pill{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:var(--color-surface-2, #f1f5f9);color:var(--color-text-muted, #64748b);border:1px solid var(--color-border, #e2e8f0)}.task-kind-pill--incident{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.task-detail-title{margin:0;font-size:18px;line-height:1.25;color:var(--color-text, #111827)}.task-sheet-head,.task-status-actions{justify-content:center}.task-status-actions .btn-secondary{background:var(--color-surface-3, #e2e8f0);border-color:var(--color-text-muted, #94a3b8);color:var(--color-text, #0f172a);font-weight:700}.task-status-actions .btn-secondary:hover:not(:disabled){background:var(--color-text-muted, #94a3b8);border-color:var(--color-text, #475569);color:var(--color-surface, #ffffff)}.task-share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px}.task-action-btn{width:42px;height:42px;padding:0;border:1px solid var(--color-border, #d1d5db);background:var(--color-surface, #fff);color:var(--color-text-muted, #64748b);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s,border-color .15s}.task-action-btn svg{width:18px;height:18px;flex-shrink:0}.task-action-btn:hover{background:var(--color-accent-soft, #eff6ff);color:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb)}.task-action-btn:disabled{opacity:.4;cursor:not-allowed}.task-action-delete:hover{background:var(--color-danger-soft, #fef2f2);color:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626)}.task-meta dd{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis}.task-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--color-text-muted, #64748b)}.task-form input,.task-form select,.task-form textarea,.task-search-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border, #d1d5db);border-radius:8px;padding:9px 10px;font:inherit;color:var(--color-text, #111827);background:var(--color-surface, #fff)}.task-form-grid>label{flex:1 1 150px}.task-form-attach-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.task-form-attach-row .att-chips{margin:0}.task-assignment-picker{display:block}.task-assignment-panel{border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:var(--color-surface, #fff);overflow:hidden}.task-assignment-panel--plain .task-assignment-grid{padding-top:12px}.task-assignment-summary{min-height:48px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;list-style:none}.task-assignment-summary::-webkit-details-marker{display:none}.task-assignment-summary:after{content:"+";color:var(--color-text-muted, #64748b);font-weight:800}.task-assignment-panel[open] .task-assignment-summary:after{content:"-"}.task-assignment-summary-title{color:var(--color-text-muted, #64748b);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.task-assignment-summary-value{min-width:0;color:var(--color-text, #111827);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assign-modal .task-assignment-summary{min-height:54px;background:var(--color-surface-2, #f8fafc)}.task-assign-modal .task-assignment-summary-value{justify-self:start;padding:5px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900}.task-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}.task-assignment-column{min-width:0}.task-assignment-column-label{margin-bottom:6px;color:var(--color-text-muted, #64748b);font-size:12px;font-weight:800}.task-assignment-picker input[type=search]{margin-bottom:6px}.task-assignment-list{max-height:184px;overflow:auto;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:var(--color-surface, #fff)}.task-form .task-assignment-option{min-height:28px;display:flex;align-items:center;gap:8px;padding:3px 10px;border-bottom:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #111827);font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.task-form .task-assignment-option[hidden]{display:none}.task-assignment-option:last-child{border-bottom:0}.task-assignment-option:hover{background:var(--color-hover, #f8fafc)}.task-assignment-option:has(input:checked){background:#eff6ff;color:#1d4ed8;font-weight:800}.task-form .task-assignment-option input{width:16px;height:16px;flex:0 0 auto;margin:0;padding:0}.task-form .task-assignment-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assign-btn{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #111827);font:inherit;cursor:pointer;text-align:left}.task-assign-btn:hover{border-color:var(--color-text-muted, #9ca3af)}.task-assign-btn-title{color:var(--color-text-muted, #667085);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.task-assign-btn-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.task-assign-btn-edit{color:var(--color-accent, #2563eb);font-size:13px;font-weight:700}.task-row,.task-search-row{width:100%;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);color:inherit;padding:10px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.task-row:hover,.task-search-row:hover{background:var(--color-hover, #f8fafc)}.task-row-main,.task-search-main{flex:1;min-width:0;display:grid;gap:2px}.task-row-main strong,.task-search-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-main span,.task-search-main span{color:var(--color-text-muted, #64748b);font-size:12px}.task-row-priority{width:10px;height:34px;border-radius:999px;background:#2563eb;flex:0 0 auto}.task-row-priority--critical{background:#dc2626}.task-row-priority--high{background:#ea580c}.task-row-priority--medium{background:#2563eb}.task-row-priority--low{background:#0f766e}.task-search-type{min-width:58px;color:var(--color-text-muted, #64748b);font-size:11px;font-weight:800;text-transform:uppercase}@media (max-width: 640px){.task-meta{grid-template-columns:1fr}.task-assignment-picker{display:block}.task-assignment-grid{grid-template-columns:1fr}.task-assignment-list{max-height:176px}.task-form .task-assignment-option{min-height:34px;padding:5px 12px;gap:9px}.task-form .task-assignment-option input{width:18px;height:18px}.task-owner{align-items:stretch}.task-owner-side{align-self:stretch}button.task-owner-assign{width:100%;justify-content:center}.task-assign-modal-overlay{align-items:flex-end;padding:10px}.task-assign-modal{max-height:82dvh}}#socket-status-indicator{display:none!important}.status-bar{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:1001;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;min-height:44px;box-sizing:border-box;max-width:calc(100vw - 40px);background:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-2);cursor:pointer;font-family:inherit;transition:box-shadow var(--transition-base),transform var(--transition-fast)}.status-bar:hover{box-shadow:var(--shadow-lg)}.status-bar:active{transform:scale(.98)}.status-bar:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media (max-width: 768px){.status-bar{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:6px 10px}.status-bar .sb-latency{display:none}}.sb-seg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.sb-sep{width:1px;height:16px;background:var(--color-divider);flex:0 0 auto}.sb-conn-label{color:var(--color-text)}.sb-latency{color:var(--color-text-3);font-size:var(--text-xs)}.sb-online{color:var(--color-text-2);font-variant-numeric:tabular-nums}.sb-filter{color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.sb-dot{width:9px;height:9px;border-radius:var(--radius-round);flex:0 0 auto;background:var(--color-text-4)}.sb-dot.is-online,.sb-dot.is-synced{background:var(--color-success)}.sb-dot.is-connecting,.sb-dot.is-pending{background:var(--color-warning)}.sb-dot.is-offline{background:var(--color-text-3)}.status-bar.sync-pending .sb-sync-dot{animation:sb-pulse 1.6s ease-in-out infinite}@keyframes sb-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.status-bar.sync-pending .sb-sync-dot{animation:none}}.sb-avatars{display:inline-flex}.sb-avatars .sb-avatar:not(:first-child){margin-left:-7px}.sb-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-round);color:#fff;font-size:10px;font-weight:var(--weight-bold);border:2px solid var(--color-surface);flex:0 0 auto}.sb-avatar.is-me{outline:2px solid var(--color-accent);outline-offset:-2px}.sync-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0 var(--space-3)}.sync-row .sb-dot{width:12px;height:12px}.sync-row-text{display:flex;flex-direction:column;gap:2px}.sync-row-text strong{font-size:var(--text-md);color:var(--color-text)}.sync-sub{font-size:var(--text-sm);color:var(--color-text-3)}.sync-section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);margin:var(--space-3) 0 var(--space-2);padding-bottom:3px;border-bottom:1px solid var(--color-divider)}.sync-all-clear{color:var(--color-text-3);padding:var(--space-2) 0}.sync-pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sync-pending-list li{display:flex;align-items:center;gap:var(--space-2)}.sync-pending-badge{flex:0 0 auto;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-warning-fg);background:var(--color-warning-soft);padding:2px 8px;border-radius:var(--radius-pill)}.sync-pending-text{color:var(--color-text-2);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);margin:0 0 var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-2) 58%,transparent)}.role-filter-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-2)}.role-filter-title{margin:0;border-bottom:0;padding-bottom:0}.role-filter-summary{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-3)}.role-filter-reset,.layer-vis-reset{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 38%,transparent);background:color-mix(in srgb,var(--color-accent) 12%,transparent);cursor:pointer;padding:3px 10px;border-radius:var(--radius-pill, 999px);font-family:inherit;line-height:1.4;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .05s ease}.role-filter-reset:hover,.layer-vis-reset:hover{background:color-mix(in srgb,var(--color-accent) 20%,transparent);border-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}.role-filter-reset:active,.layer-vis-reset:active{transform:scale(.96)}.role-filter-reset:focus-visible,.layer-vis-reset:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.role-filter-subhead{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-3);margin:var(--space-2) 0 4px}.role-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:6px}.role-filter-grid+.role-filter-subhead{margin-top:var(--space-3)}.role-filter-btn{--role-color: #64748b;display:flex;align-items:center;gap:7px;min-height:38px;min-width:0;padding:6px 9px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-semibold);text-align:left;cursor:pointer;touch-action:manipulation}.role-filter-btn.active{border-color:var(--role-color);background:color-mix(in srgb,var(--role-color) 9%,var(--color-surface))}.role-filter-btn.is-disabled{background:var(--color-surface-2);color:var(--color-text-3)}.role-filter-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.role-filter-swatch{width:11px;height:11px;border-radius:var(--radius-round);background:var(--role-color);flex:0 0 auto;box-shadow:0 0 0 2px color-mix(in srgb,var(--role-color) 22%,transparent)}.role-filter-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-filter-state{margin-left:auto;flex:0 0 auto;font-size:10px;color:var(--color-text-3)}.role-filter-btn.is-disabled .role-filter-swatch{opacity:.45}.role-filter-btn.is-disabled .role-filter-name{text-decoration:line-through;text-decoration-thickness:2px}.presence-list{display:flex;flex-direction:column;gap:2px}.presence-empty{padding:var(--space-4) var(--space-2);color:var(--color-text-3);text-align:center}.presence-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);min-height:52px}.presence-row.is-locatable{cursor:pointer}.presence-row.is-locatable:hover{background:var(--color-surface-2)}.presence-row.is-locatable:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.presence-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-round);color:#fff;font-size:13px;font-weight:var(--weight-bold);flex:0 0 auto}.presence-row-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.presence-row-name{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-you{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-accent);background:var(--color-accent-soft);padding:1px 6px;border-radius:var(--radius-pill);margin-left:var(--space-1)}.presence-row-status{font-size:var(--text-sm);color:var(--color-text-3)}.presence-locate{color:var(--color-text-4);font-size:20px;line-height:1;flex:0 0 auto}.presence-chat{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;padding:0;border:none;background:transparent;cursor:pointer;color:var(--color-accent);border-radius:var(--radius-round);-webkit-tap-highlight-color:transparent}.presence-chat:hover{background:var(--color-accent-soft)}.presence-chat:active{transform:scale(.92)}.presence-chat:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.presence-chat svg{display:block}.sb-people-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);margin:2px 0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font:inherit;cursor:pointer;text-align:left}.sb-people-trigger:hover{background:var(--color-surface-3)}.sb-people-avatars{display:inline-flex}.sb-people-avatars .sb-avatar{margin-left:-6px;box-shadow:0 0 0 2px var(--color-surface-2)}.sb-people-avatars .sb-avatar:first-child{margin-left:0}.sb-people-count{flex:1;font-weight:var(--weight-medium)}.sb-people-chev{color:var(--color-text-4);font-size:20px;line-height:1}.sync-row--inline{align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.sync-row--inline .sb-dot{flex:0 0 auto;margin-top:0}.sync-inline-text{flex:1;min-width:0;font-size:var(--text-md);color:var(--color-text-3)}.sync-inline-text strong{color:var(--color-text)}.sb-refresh-inline{flex:0 0 auto;margin-left:auto;padding:6px 12px;font-size:var(--text-xs)}.sb-people-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);padding:var(--space-4)}.sb-people-card{width:100%;max-width:420px;max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.sb-people-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider)}.sb-people-title{font-weight:var(--weight-bold);color:var(--color-text)}.sb-people-close{border:none;background:transparent;color:var(--color-text-3);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md)}.sb-people-close:hover{background:var(--color-surface-2);color:var(--color-text)}.sb-people-list{overflow-y:auto;padding:var(--space-2) var(--space-3)}.zone-filter-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-1) 0 var(--space-2)}.zone-filter-title{margin:0;border-bottom:0;padding-bottom:0}.zone-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.zone-filter-btn{--sev: var(--color-text-3);display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;min-width:0;padding:6px 7px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;touch-action:manipulation}.zone-filter-btn.active{border-color:var(--sev);background:color-mix(in srgb,var(--sev) 10%,var(--color-surface))}.zone-filter-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.zone-filter-btn .zone-sev-dot{width:9px;height:9px;border-radius:var(--radius-round);background:var(--sev);flex:0 0 auto}.zone-filter-btn .zone-sev-ic{font-weight:var(--weight-bold);line-height:1}.zone-filter-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-state-filter{display:inline-flex;align-items:center;gap:6px;min-height:30px;color:var(--color-text-2);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;touch-action:manipulation;white-space:nowrap}.zone-state-filter input{width:15px;height:15px;accent-color:var(--color-accent)}@media (max-width: 420px){.zone-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-filter-btn,.zone-filter-btn{min-height:40px}}.sb-actions{display:flex;margin:4px 0 12px}.sb-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.sb-refresh-btn:hover{background:var(--color-surface-3)}.sb-refresh-btn.is-busy{opacity:.6;pointer-events:none}.sb-refresh-btn.is-busy svg{animation:sb-spin .8s linear infinite}@keyframes sb-spin{to{transform:rotate(360deg)}}.cmd-dash{display:flex;flex-direction:column;gap:12px}.cmd-tabs{display:flex;gap:6px}.cmd-tab{padding:6px 14px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);border-radius:8px;cursor:pointer;font-weight:600;color:var(--color-text, #0f172a)}.cmd-tab.is-active{background:var(--color-accent, #2563eb);color:#fff;border-color:transparent}.cmd-panel.hidden{display:none}.cmd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.cmd-kpi{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:10px;padding:12px 14px;text-align:center}.cmd-kpi-val{font-size:26px;font-weight:800;color:var(--color-text, #0f172a);font-variant-numeric:tabular-nums}.cmd-kpi-label{font-size:12px;color:var(--color-text-muted, #64748b);margin-top:2px}.cmd-kpi--alert{border-color:#dc2626}.cmd-kpi--alert .cmd-kpi-val{color:#dc2626}.cmd-kpi--warn{border-color:#f59e0b}.cmd-kpi--warn .cmd-kpi-val{color:#b45309}.cmd-grid-wrap{overflow:auto;max-height:56vh;border:1px solid var(--color-border, #e5e7eb);border-radius:10px}.cmd-grid{width:100%;border-collapse:collapse;font-size:13px}.cmd-grid thead th{position:sticky;top:0;z-index:1;text-align:left;padding:8px 10px;background:var(--color-surface-alt, #f8fafc);border-bottom:1px solid var(--color-border, #e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;color:var(--color-text, #0f172a)}.cmd-grid tbody td{padding:7px 10px;border-bottom:1px solid var(--color-border, #eef2f7);color:var(--color-text, #0f172a)}.cmd-grid tbody tr:hover{background:var(--color-surface-hover, #f1f5f9)}.cmd-grid tbody tr.is-selected{background:rgba(37,99,235,.12)}.cmd-grid tbody tr.cmd-row--critical td{background:rgba(220,38,38,.06)}.cmd-title{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-actions{display:flex;gap:4px;white-space:nowrap}.cmd-prio{font-weight:800;font-size:11px;padding:2px 6px;border-radius:6px}.cmd-prio--critical{background:#fee2e2;color:#991b1b}.cmd-prio--high{background:#ffedd5;color:#9a3412}.cmd-prio--medium{background:#dbeafe;color:#1d4ed8}.cmd-prio--low{background:#ccfbf1;color:#0f766e}.cmd-sla{color:#b45309;font-variant-numeric:tabular-nums}.cmd-sla--over{color:#dc2626;font-weight:800}.cmd-ok{color:#16a34a}.cmd-replay-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.cmd-replay-controls label{display:flex;flex-direction:column;font-size:12px;gap:3px;color:var(--color-text-muted, #64748b)}.cmd-replay-controls input[type=datetime-local]{padding:5px 8px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.cmd-replay-status{font-size:12px;color:var(--color-text-muted, #64748b)}.cmd-replay-status--warn{color:#b45309;font-weight:600}.cmd-replay-canvas{width:100%;max-width:100%;border-radius:10px;border:1px solid var(--color-border, #e5e7eb);background:#0b1220}.cmd-replay-transport{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cmd-replay-transport.hidden{display:none}.cmd-scrub{flex:1;min-width:160px}.cmd-playhead-label{font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-text-muted, #64748b);min-width:150px}.cmd-speed,.cmd-heat-toggle{font-size:12px;display:flex;align-items:center;gap:4px}@media (max-width: 720px){.cmd-kpis{grid-template-columns:repeat(3,1fr);gap:6px}.cmd-kpi{padding:8px 6px;border-radius:8px}.cmd-kpi-val{font-size:19px}.cmd-kpi-label{font-size:10px}.cmd-grid-wrap{max-height:50vh}.cmd-grid{font-size:12px}.cmd-grid thead th,.cmd-grid tbody td{padding:8px 5px}.cmd-grid th:nth-child(2),.cmd-grid td:nth-child(2),.cmd-grid th:nth-child(4),.cmd-grid td:nth-child(4),.cmd-grid th:nth-child(5),.cmd-grid td:nth-child(5),.cmd-grid th:nth-child(7),.cmd-grid td:nth-child(7),.cmd-grid th:nth-child(8),.cmd-grid td:nth-child(8){display:none}.cmd-title{max-width:120px}.cmd-actions{flex-wrap:wrap;gap:3px}.cmd-actions .btn{padding:4px 7px;font-size:11px}}.chat-launcher{position:fixed;right:24px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:var(--z-panel, 1000);width:56px;height:56px;border-radius:var(--radius-round);border:none;background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-lg);display:grid;place-items:center;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.chat-launcher:hover{transform:translateY(-2px);background:var(--color-accent-hover)}.chat-launcher:active{transform:translateY(0)}.chat-launcher-badge{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:var(--color-danger);border:2px solid var(--color-surface)}.chat-launcher[hidden],.chat-launcher-badge[hidden],.chat-typing-row[hidden]{display:none}.chat-launcher.fab-hidden{opacity:0;pointer-events:none;transform:translateY(8px) scale(.92);transition:opacity var(--transition-base),transform var(--transition-base)}@media (prefers-reduced-motion: reduce){.chat-launcher.fab-hidden{transform:none;transition:opacity var(--transition-fast)}}.chat-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay, 2000)}.chat-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);opacity:0;transition:opacity var(--transition-base)}.chat-visible .chat-scrim{opacity:1}.chat-panel{position:absolute;top:0;right:0;height:100%;width:min(880px,100%);display:grid;grid-template-columns:300px 1fr;background:var(--color-surface);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform var(--transition-slow) var(--ease-emphasized)}.chat-visible .chat-panel{transform:translate(0)}.chat-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border);background:var(--color-surface-2)}.chat-side-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.chat-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text)}.chat-side-actions{display:flex;align-items:center;gap:var(--space-1)}.chat-side-close{display:none}.chat-channel-list{flex:1;overflow-y:auto;padding:var(--space-2)}.chat-side-empty{padding:var(--space-5);color:var(--color-text-3);font-size:var(--text-sm);text-align:center}.chat-channel{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text);transition:background var(--transition-fast)}.chat-channel:hover{background:var(--color-surface-3)}.chat-channel.is-active{background:var(--color-accent-soft)}.chat-channel-glyph{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-round);display:grid;place-items:center;font-weight:var(--weight-bold);background:var(--color-surface-3);color:var(--color-text-2)}.chat-channel-glyph.kind-global{background:var(--color-accent-soft);color:var(--color-accent)}.chat-channel-glyph.kind-role{background:var(--color-warning-soft);color:var(--color-warning-fg)}.chat-channel-mid{flex:1;min-width:0;display:flex;flex-direction:column}.chat-channel-name{font-weight:var(--weight-semibold);font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-channel-preview{font-size:var(--text-sm);color:var(--color-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-channel-unread{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xs);font-weight:var(--weight-bold);display:grid;place-items:center}.chat-main{display:flex;flex-direction:column;min-height:0;min-width:0}.chat-main-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.chat-main-title{flex:1;min-width:0;display:flex;flex-direction:column}.chat-main-name{font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--color-text)}.chat-main-sub{font-size:var(--text-xs);color:var(--color-text-3)}.chat-icon-btn{border:none;background:transparent;color:var(--color-text-2);width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;cursor:pointer;transition:background var(--transition-fast)}.chat-icon-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.chat-back{display:none}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg)}.chat-empty{margin:auto;color:var(--color-text-3);font-size:var(--text-sm)}.chat-day-sep{align-self:center;margin:var(--space-2) 0;padding:2px 10px;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-text-3);font-size:var(--text-xs);font-weight:var(--weight-medium)}.chat-msg{display:flex;gap:var(--space-2);max-width:78%}.chat-msg.is-mine{margin-left:auto;flex-direction:row-reverse}.chat-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:var(--radius-round);display:grid;place-items:center;background:var(--gradient-accent);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-bold)}.chat-avatar.small{width:24px;height:24px;font-size:var(--text-xs)}.chat-bubble-wrap{display:flex;flex-direction:column;min-width:0}.chat-msg.is-mine .chat-bubble-wrap{align-items:flex-end}.chat-msg-meta{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:2px}.chat-msg-author{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-2)}.chat-msg-time{font-size:var(--text-xs);color:var(--color-text-4)}.chat-msg-edited{font-size:var(--text-xs);color:var(--color-text-4);font-style:italic}.chat-bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;word-break:break-word}.chat-msg.is-mine .chat-bubble{background:var(--color-accent);color:var(--color-on-accent);border-color:transparent}.chat-bubble.deleted{font-style:italic;color:var(--color-text-4);background:var(--color-surface-2)}.chat-mention{color:var(--color-accent);font-weight:var(--weight-semibold)}.chat-msg.is-mine .chat-mention{color:var(--color-on-accent);text-decoration:underline}.chat-mention.is-self{background:var(--color-warning-soft);color:var(--color-warning-fg);border-radius:var(--radius-xs);padding:0 3px}.chat-msg-status{font-size:var(--text-xs);color:var(--color-text-4);margin-top:2px}.chat-msg-status.is-failed{color:var(--color-danger);cursor:pointer;text-decoration:underline}.chat-presence-dot{display:inline-block;width:9px;height:9px;border-radius:var(--radius-round);background:var(--color-text-4);flex:0 0 auto}.chat-presence-dot.is-online{background:var(--color-success, #22c55e)}.chat-channel-glyph,.chat-avatar{position:relative}.chat-channel-glyph .chat-presence-dot,.chat-avatar .chat-presence-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;box-shadow:0 0 0 2px var(--color-surface)}.chat-avatar.small .chat-presence-dot{width:9px;height:9px}.chat-main-sub{display:flex;align-items:center;gap:5px}.chat-msg-time{display:inline-flex;align-items:center;gap:4px}.chat-receipt{display:inline-flex;align-items:center;color:var(--color-text-3);opacity:.85}.chat-receipt.is-read{color:#34b7f1;opacity:1}.chat-msg-actions{display:none;gap:var(--space-2);margin-top:2px}.chat-msg:hover .chat-msg-actions,.chat-msg.show-actions .chat-msg-actions{display:flex}.chat-msg-act{border:none;background:transparent;color:var(--color-text-3);font-size:var(--text-xs);cursor:pointer;padding:0}.chat-msg-act:hover{color:var(--color-accent);text-decoration:underline}.chat-edit-input{width:260px;max-width:100%;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-accent);background:var(--color-surface);color:var(--color-text);font:inherit;resize:vertical}.chat-typing-row{display:flex;align-items:center;gap:var(--space-2);padding:2px var(--space-4) var(--space-2)}.chat-typing-label{font-size:var(--text-sm);color:var(--color-text-3)}.chat-typing-dots{display:inline-flex;gap:3px}.chat-typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--color-text-4);animation:chat-bounce 1.2s infinite}.chat-typing-dots i:nth-child(2){animation-delay:.15s}.chat-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.chat-typing-dots i{animation:none}}.chat-att-field{padding:0 var(--space-4)}.chat-att-field .att-chips{padding-top:var(--space-2)}.chat-att-field .att-quota{display:none}.chat-composer{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-surface);position:relative}.chat-input-pill{flex:1;min-width:0;display:flex;align-items:flex-end;gap:2px;padding:2px 4px 2px 6px;border-radius:24px;border:1px solid var(--color-border-strong);background:var(--color-surface-2);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.chat-input-pill:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.chat-input{flex:1;min-width:0;resize:none;max-height:120px;padding:9px var(--space-2);border:none;background:transparent;color:var(--color-text);font:inherit;line-height:var(--leading-normal)}.chat-input:focus{outline:none}.chat-input-pill .att-picker-btn{flex:0 0 auto;align-self:flex-end;width:38px;height:38px;border:none;border-radius:var(--radius-round);background:transparent;color:var(--color-text-3);cursor:pointer}.chat-input-pill .att-picker-btn:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-accent)}.chat-composer-action{position:relative;flex:0 0 auto;width:46px;height:46px;align-self:flex-end}.chat-composer-action .chat-send,.chat-composer-action .chat-ptt{position:absolute;top:0;right:0;bottom:0;left:0;width:46px;height:46px;border:none;border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-on-accent);display:grid;place-items:center;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.chat-composer-action .chat-send:hover,.chat-composer-action .chat-ptt:hover{background:var(--color-accent-hover)}.chat-composer .chat-send{display:none}.chat-composer.is-send .chat-send{display:grid}.chat-composer.is-send .chat-ptt{display:none}.chat-mention-pop{position:absolute;left:var(--space-4);bottom:64px;min-width:220px;max-width:320px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:2}.chat-mention-opt{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--color-text);cursor:pointer;text-align:left}.chat-mention-opt:hover,.chat-mention-opt.is-active{background:var(--color-accent-soft)}.chat-roster-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:grid;place-items:center;z-index:3}.chat-roster-card{position:relative;width:min(420px,92%);max-height:80%;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.chat-roster-card h3{margin:0;color:var(--color-text)}.chat-roster-close{position:absolute;top:var(--space-3);right:var(--space-3);border:none;background:transparent;color:var(--color-text-3);font-size:18px;cursor:pointer}.chat-roster-search{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text);font:inherit}.chat-roster-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px}.chat-roster-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;text-align:left}.chat-roster-row:hover{background:var(--color-surface-3)}.chat-toast-host{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:16px;z-index:var(--z-flyout, 10001);display:flex;flex-direction:column;gap:var(--space-2)}.chat-toast{padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);cursor:pointer;animation:chat-toast-in var(--transition-base)}.chat-toast.out{opacity:0;transition:opacity var(--transition-base)}@keyframes chat-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.chat-launcher{width:64px;height:64px;right:16px}}@media (max-width: 720px){.chat-panel{grid-template-columns:1fr;width:100%;height:var(--app-vvh, 100dvh);top:var(--app-vvtop, 0px)}.chat-side{width:100%}.chat-main{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(100%);transition:transform var(--transition-base);background:var(--color-surface)}.chat-panel.show-thread .chat-main{transform:translate(0)}.chat-back,.chat-side-close{display:grid}.chat-launcher{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.chat-ptt{position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.chat-ptt svg{transition:transform .12s ease}.chat-ptt.is-recording{color:#fff;background:#dc2626;border-radius:50%;animation:chat-ptt-pulse 1s ease-out infinite}.chat-ptt.is-recording svg{transform:scale(1.1)}@keyframes chat-ptt-pulse{0%{box-shadow:0 0 #dc262699}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}@media (prefers-reduced-motion: reduce){.chat-ptt.is-recording{animation:none}}.chat-ptt-speaking{display:inline-flex;align-items:center;font-size:12px;font-weight:600;color:var(--color-accent, #2563eb);background:var(--color-surface-2, #f1f5f9);padding:3px 10px;border-radius:999px;margin-right:6px;white-space:nowrap}.chat-ptt-speaking[hidden]{display:none}.chat-ptt-pending{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:100000;max-width:calc(100vw - 32px);padding:10px 16px;border:none;border-radius:999px;background:var(--color-accent, #2563eb);color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #00000047}.chat-ptt-pending:disabled{opacity:.7}.chat-voice{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;margin-top:2px;background:var(--color-surface-3);color:var(--color-text);border-radius:16px;max-width:min(280px,76vw)}.chat-msg.is-mine .chat-voice{background:var(--color-accent, #2563eb);color:#fff}.chat-voice-play{flex:0 0 auto;width:36px;height:36px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--color-accent, #2563eb);color:#fff}.chat-msg.is-mine .chat-voice-play{background:rgba(255,255,255,.22)}.chat-voice-play:disabled{opacity:.6;cursor:default}.chat-voice-bar{flex:1 1 auto;height:4px;min-width:70px;border-radius:2px;background:rgba(100,116,139,.32);overflow:hidden}.chat-msg.is-mine .chat-voice-bar{background:rgba(255,255,255,.35)}.chat-voice-fill{width:0%;height:100%;background:var(--color-accent, #2563eb);transition:width .1s linear}.chat-msg.is-mine .chat-voice-fill{background:#fff}.chat-voice-time{flex:0 0 auto;font-size:12px;font-variant-numeric:tabular-nums;opacity:.85}.chat-voice.is-expired{opacity:.6}.chat-voice.is-expired .chat-voice-time{font-style:italic}
