:root{font-family:Onest,Segoe UI,sans-serif;--font-ui: "Onest", "Segoe UI", sans-serif;--font-display: "Unbounded", "Segoe UI", sans-serif;line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-bg-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-brand-accent: #FF4E1F;--color-brand-accent-soft: rgba(255, 78, 31, .28);--color-brand-accent-strong: #E83B0C;--color-on-accent: #FFF8F2;--color-bg-base: #FFF8F2;--color-bg-accent-1: rgba(255, 78, 31, .2);--color-bg-accent-2: rgba(255, 200, 87, .2);--color-surface-card: #FFFFFF;--color-surface-main: rgba(255, 255, 255, .76);--color-surface-overlay-soft: rgba(31, 26, 23, .1);--color-surface-overlay-strong: rgba(31, 26, 23, .34);--color-text-primary: #1F1A17;--color-text-muted: #6B625C;--color-text-inverse: #FFF8F2;--color-border-soft: rgba(31, 26, 23, .12);--color-border-strong: rgba(255, 255, 255, .82);--color-border-glass: rgba(255, 255, 255, .78);--color-glass-bg: rgba(255, 255, 255, .68);--color-glass-shadow: 0 12px 30px rgba(31, 26, 23, .14);--color-glass-grad-1: rgba(255, 255, 255, .96);--color-glass-grad-2: rgba(255, 248, 242, .72);--color-glass-grad-hover-1: rgba(255, 255, 255, .99);--color-glass-grad-hover-2: rgba(255, 248, 242, .82);--color-shadow-lg: 0 18px 40px rgba(31, 26, 23, .16);--color-attention-ring: rgba(255, 78, 31, .46);--color-attention-glow: rgba(255, 78, 31, .32);--color-status-success: #22C7A6;--color-status-warning: #FFC857;--color-status-error: #E24A4A;--color-status-info: #0E7C86;--color-map-user-marker: #FFFFFF;--color-map-cafe-marker: #FF4E1F;--color-map-label-text: #1F1A17;--color-map-label-halo: rgba(255, 248, 242, .9);--color-cafe-hero-overlay-1: rgba(255, 248, 242, .04);--color-cafe-hero-overlay-2: rgba(255, 248, 242, .58);--color-cafe-hero-overlay-3: rgba(255, 248, 242, .86);--color-cafe-hero-title: #1F1A17;--color-cafe-hero-subtitle: rgba(31, 26, 23, .78);--color-cafe-hero-emphasis: #7A5A1F;--color-cafe-hero-indicator-active: rgba(31, 26, 23, .82);--color-cafe-hero-indicator-idle: rgba(31, 26, 23, .32);--scrollbar-size: 10px;--scrollbar-track: color-mix(in srgb, var(--surface) 60%, transparent);--scrollbar-track-border: color-mix(in srgb, var(--glass-border) 52%, transparent);--scrollbar-thumb: linear-gradient( 140deg, color-mix(in srgb, var(--color-brand-accent-soft) 88%, var(--surface)), color-mix(in srgb, var(--color-brand-accent) 74%, var(--glass-grad-1)) );--scrollbar-thumb-hover: linear-gradient( 140deg, color-mix(in srgb, var(--color-brand-accent-soft) 96%, var(--surface)), color-mix(in srgb, var(--color-brand-accent) 84%, var(--glass-grad-1)) );--scrollbar-thumb-border: color-mix(in srgb, var(--color-brand-accent) 44%, var(--glass-border));--scrollbar-thumb-shadow: 0 2px 10px color-mix(in srgb, var(--color-brand-accent-soft) 45%, transparent);--coffee: var(--color-bg-base);--emerald: var(--color-brand-accent);--ink: var(--color-text-primary);--cream: var(--color-text-inverse);--bg: var(--color-bg-base);--card: var(--color-surface-card);--surface: var(--color-surface-main);--border: var(--color-border-soft);--text: var(--color-text-primary);--muted: var(--color-text-muted);--accent: var(--color-brand-accent);--shadow: var(--color-shadow-lg);--glass-bg: var(--color-glass-bg);--glass-border: var(--color-border-glass);--glass-shadow: var(--color-glass-shadow);--glass-grad-1: var(--color-glass-grad-1);--glass-grad-2: var(--color-glass-grad-2);--glass-grad-hover-1: var(--color-glass-grad-hover-1);--glass-grad-hover-2: var(--color-glass-grad-hover-2);--bg-accent-1: var(--color-bg-accent-1);--bg-accent-2: var(--color-bg-accent-2);--attention-ring: var(--color-attention-ring);--attention-glow: var(--color-attention-glow);--cafe-hero-overlay-1: var(--color-cafe-hero-overlay-1);--cafe-hero-overlay-2: var(--color-cafe-hero-overlay-2);--cafe-hero-overlay-3: var(--color-cafe-hero-overlay-3);--cafe-hero-title-color: var(--color-cafe-hero-title);--cafe-hero-subtitle-color: var(--color-cafe-hero-subtitle);--cafe-hero-emphasis-color: var(--color-cafe-hero-emphasis);--cafe-hero-indicator-active: var(--color-cafe-hero-indicator-active);--cafe-hero-indicator-idle: var(--color-cafe-hero-indicator-idle);--sheet-height: 240px;--page-edge-padding: clamp(12px, 3.2vw, 20px);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--vv-offset-top: 0px;--vv-offset-bottom: 0px;--vv-scale: 1;--app-vh: 100dvh;--app-vw: 100vw;--safe-top: max(var(--safe-area-top), var(--vv-offset-top));--safe-bottom: max(var(--safe-area-bottom), var(--vv-offset-bottom));--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--radius-xs: 8px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--radius-pill: 999px;--shadow-1: 0 8px 22px rgba(31, 26, 23, .1);--shadow-2: var(--glass-shadow);--shadow-3: var(--shadow);--duration-fast: .14s;--duration-base: .22s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--focus-ring-color: color-mix(in srgb, var(--color-brand-accent) 46%, transparent);--focus-ring-offset-color: color-mix(in srgb, var(--bg) 92%, transparent);--focus-ring-width: 2px;--focus-ring-offset: 2px;--control-height-sm: 36px;--control-height-md: 42px;--control-height-lg: 48px}:root[data-mantine-color-scheme=dark]{--color-brand-accent: #FF6B3A;--color-brand-accent-soft: rgba(255, 107, 58, .34);--color-brand-accent-strong: #FF8A5F;--color-on-accent: #2B1712;--color-bg-base: #1D1715;--color-bg-accent-1: rgba(255, 107, 58, .28);--color-bg-accent-2: rgba(14, 124, 134, .18);--color-surface-card: rgba(255, 248, 242, .08);--color-surface-main: rgba(255, 248, 242, .06);--color-surface-overlay-soft: rgba(22, 16, 14, .5);--color-surface-overlay-strong: rgba(22, 16, 14, .68);--color-text-primary: #FFF8F2;--color-text-muted: rgba(226, 213, 205, .78);--color-text-inverse: #1D1715;--color-border-soft: rgba(255, 248, 242, .16);--color-border-strong: rgba(255, 248, 242, .22);--color-border-glass: rgba(255, 248, 242, .16);--color-glass-bg: rgba(24, 18, 16, .72);--color-glass-shadow: 0 12px 30px rgba(0, 0, 0, .62);--color-glass-grad-1: rgba(29, 23, 21, .9);--color-glass-grad-2: rgba(29, 23, 21, .56);--color-glass-grad-hover-1: rgba(29, 23, 21, .98);--color-glass-grad-hover-2: rgba(29, 23, 21, .66);--color-shadow-lg: 0 18px 40px rgba(0, 0, 0, .62);--color-attention-ring: rgba(255, 107, 58, .54);--color-attention-glow: rgba(255, 107, 58, .38);--color-status-success: #2ED9B5;--color-status-warning: #FFD36E;--color-status-error: #FF7A7A;--color-status-info: #45B8C1;--color-map-user-marker: #FFF8F2;--color-map-cafe-marker: #FF6B3A;--color-map-label-text: #FFF8F2;--color-map-label-halo: rgba(24, 18, 16, .92);--color-cafe-hero-overlay-1: rgba(24, 18, 16, .1);--color-cafe-hero-overlay-2: rgba(24, 18, 16, .56);--color-cafe-hero-overlay-3: rgba(0, 0, 0, .74);--color-cafe-hero-title: #FFF8F2;--color-cafe-hero-subtitle: rgba(255, 248, 242, .82);--color-cafe-hero-emphasis: #D5AF6A;--color-cafe-hero-indicator-active: rgba(255, 248, 242, .92);--color-cafe-hero-indicator-idle: rgba(255, 248, 242, .38);--coffee: var(--color-bg-base);--emerald: var(--color-brand-accent);--ink: var(--color-text-primary);--cream: var(--color-text-inverse);--bg: var(--color-bg-base);--card: var(--color-surface-card);--surface: var(--color-surface-main);--border: var(--color-border-soft);--text: var(--color-text-primary);--muted: var(--color-text-muted);--accent: var(--color-brand-accent);--shadow: var(--color-shadow-lg);--glass-bg: var(--color-glass-bg);--glass-border: var(--color-border-glass);--glass-shadow: var(--color-glass-shadow);--glass-grad-1: var(--color-glass-grad-1);--glass-grad-2: var(--color-glass-grad-2);--glass-grad-hover-1: var(--color-glass-grad-hover-1);--glass-grad-hover-2: var(--color-glass-grad-hover-2);--bg-accent-1: var(--color-bg-accent-1);--bg-accent-2: var(--color-bg-accent-2);--attention-ring: var(--color-attention-ring);--attention-glow: var(--color-attention-glow);--cafe-hero-overlay-1: var(--color-cafe-hero-overlay-1);--cafe-hero-overlay-2: var(--color-cafe-hero-overlay-2);--cafe-hero-overlay-3: var(--color-cafe-hero-overlay-3);--cafe-hero-title-color: var(--color-cafe-hero-title);--cafe-hero-subtitle-color: var(--color-cafe-hero-subtitle);--cafe-hero-emphasis-color: var(--color-cafe-hero-emphasis);--cafe-hero-indicator-active: var(--color-cafe-hero-indicator-active);--cafe-hero-indicator-idle: var(--color-cafe-hero-indicator-idle);--mantine-color-text: var(--color-text-primary);--mantine-color-dimmed: var(--color-text-muted);--shadow-1: 0 8px 24px rgba(0, 0, 0, .36);--focus-ring-color: color-mix(in srgb, var(--color-brand-accent) 56%, transparent);--focus-ring-offset-color: color-mix(in srgb, var(--bg) 88%, transparent)}.ui-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.ui-surface--glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-2);backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%)}.ui-control{min-height:var(--control-height-md);border-radius:var(--radius-md)}.ui-interactive{transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-out)}.ui-interactive:active{transform:translateY(1px)}.ui-focus-ring:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 calc(var(--focus-ring-width) + 1px) var(--focus-ring-offset-color)}.ui-stack-xs{display:flex;flex-direction:column;gap:var(--space-2)}.ui-stack-sm{display:flex;flex-direction:column;gap:var(--space-3)}.ui-stack-md{display:flex;flex-direction:column;gap:var(--space-4)}.ui-stack-lg{display:flex;flex-direction:column;gap:var(--space-6)}.map-shell .maplibregl-control-container{pointer-events:none}.map-shell .maplibregl-control-container .maplibregl-ctrl-top-left,.map-shell .maplibregl-control-container .maplibregl-ctrl-top-right,.map-shell .maplibregl-control-container .maplibregl-ctrl-bottom-left,.map-shell .maplibregl-control-container .maplibregl-ctrl-bottom-right{display:none!important}.map-shell .maplibregl-ctrl-group{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.map-shell .maplibregl-ctrl-group button{background-color:transparent}:root[data-mantine-color-scheme=dark] .map-shell .maplibregl-ctrl-group{background:#fff8f2e6;border-color:#fff8f2bd;box-shadow:0 10px 24px #00000059}:root[data-mantine-color-scheme=dark] .map-shell .maplibregl-ctrl-group button+button{border-top-color:#1d171529}:root[data-mantine-color-scheme=dark] .map-shell .maplibregl-ctrl-group button:not(:disabled):hover,:root[data-mantine-color-scheme=dark] .map-shell .maplibregl-ctrl-group button:not(:disabled):active{background-color:#1d17151a}.glass-action{position:relative;overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);background:transparent;display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.glass-action:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--glass-grad-1),var(--glass-grad-2));backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);transition:background var(--duration-base) var(--ease-standard)}.glass-action:hover:before{background:linear-gradient(135deg,var(--glass-grad-hover-1),var(--glass-grad-hover-2))}.glass-action--active{color:var(--color-on-accent);border-color:color-mix(in srgb,var(--color-brand-accent) 75%,var(--glass-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-brand-accent) 52%,transparent),0 12px 26px color-mix(in srgb,var(--attention-glow) 42%,transparent)}.glass-action--active:before{background:linear-gradient(135deg,var(--color-brand-accent),var(--color-brand-accent-strong))}.glass-action>*{position:relative;z-index:1}.glass-action svg{shape-rendering:geometricPrecision}@keyframes review-submit-pulse{0%{transform:translateY(0);box-shadow:0 0 #457e7300}50%{transform:translateY(-1px);box-shadow:0 10px 22px var(--color-brand-accent-soft)}to{transform:translateY(0);box-shadow:0 0 #457e7300}}.review-submit-button[data-submitting=true]{animation:review-submit-pulse .9s ease-in-out infinite}:root[data-mantine-color-scheme=dark] .glass-action{border-color:var(--glass-border);box-shadow:var(--glass-shadow),inset 0 0 0 1px var(--color-surface-overlay-soft);color:var(--cream)}:root[data-mantine-color-scheme=dark] .glass-action:before{background:linear-gradient(135deg,var(--glass-grad-1),var(--glass-grad-2))}:root[data-mantine-color-scheme=dark] .glass-action--active{color:var(--color-on-accent);border-color:color-mix(in srgb,var(--color-brand-accent) 65%,var(--glass-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-brand-accent) 48%,transparent),0 14px 30px color-mix(in srgb,var(--color-brand-accent-soft) 52%,transparent)}:root[data-mantine-color-scheme=dark] .glass-action--active:before{background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand-accent) 92%,white 8%),var(--color-brand-accent-strong))}.map-wrapper{position:relative;width:100%;height:100%}.map-zoom-controls{position:absolute;bottom:calc(var(--sheet-height, 240px) + var(--space-6) + var(--control-height-md) + var(--space-3));right:var(--page-edge-padding);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:auto;z-index:3;transition:bottom var(--duration-base) var(--ease-out),opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}@media(min-width:900px){.map-zoom-controls{right:max(var(--page-edge-padding),calc(50vw - 360px + var(--page-edge-padding)))}}.horizontal-scroll-modern{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-brand-accent) 58%,var(--glass-border)) var(--scrollbar-track)}.horizontal-scroll-modern::-webkit-scrollbar{height:var(--scrollbar-size)}.horizontal-scroll-modern::-webkit-scrollbar-track{border-radius:999px;background:var(--scrollbar-track);border:1px solid var(--scrollbar-track-border)}.horizontal-scroll-modern::-webkit-scrollbar-thumb{border-radius:999px;background:var(--scrollbar-thumb);border:1px solid var(--scrollbar-thumb-border);box-shadow:var(--scrollbar-thumb-shadow)}.horizontal-scroll-modern::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.map-zoom-button{width:var(--control-height-md);height:var(--control-height-md);border-radius:var(--radius-md);border:1px solid var(--glass-border);background:transparent;display:inline-flex;align-items:center;justify-content:center;color:inherit;box-shadow:var(--shadow-2);overflow:hidden;position:relative}.map-zoom-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--glass-grad-1),var(--glass-grad-2));backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.map-zoom-button>*{position:relative;z-index:1}.map-zoom-button svg{shape-rendering:geometricPrecision}:root[data-mantine-color-scheme=dark] .map-zoom-button{border-color:var(--glass-border);box-shadow:var(--glass-shadow),inset 0 0 0 1px var(--color-surface-overlay-soft);color:var(--cream)}.glass-action--square{width:var(--control-height-md);height:var(--control-height-md);border-radius:var(--radius-md)}.oauth-button{width:var(--control-height-md);height:var(--control-height-md);border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;box-shadow:none}.oauth-button:hover{background:var(--color-brand-accent-soft)}:root[data-mantine-color-scheme=dark] .oauth-button{border-color:var(--glass-border);color:var(--text)}:root[data-mantine-color-scheme=dark] .oauth-button svg{color:currentColor}:root[data-mantine-color-scheme=dark] .oauth-button:hover{background:var(--color-surface-main)}:root[data-mantine-color-scheme=dark] .map-zoom-button:before{background:linear-gradient(135deg,var(--glass-grad-1),var(--glass-grad-2))}[data-sheet-state=expanded] .map-zoom-controls,[data-sheet-state=expanded] .floating-controls{opacity:0;transform:translateY(12px);pointer-events:none}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-brand-accent) 58%,var(--glass-border)) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{border-radius:999px;background:var(--scrollbar-track);border:1px solid var(--scrollbar-track-border)}*::-webkit-scrollbar-thumb{border-radius:999px;background:var(--scrollbar-thumb);border:1px solid var(--scrollbar-thumb-border);box-shadow:var(--scrollbar-thumb-shadow)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{width:100%;max-width:100%;min-width:0;overscroll-behavior:none}html{height:var(--app-vh);min-height:var(--app-vh);-webkit-text-size-adjust:100%}body{overflow:hidden}body{margin:0;height:var(--app-vh);min-height:var(--app-vh);width:var(--app-vw);min-width:100%;background:radial-gradient(circle at top left,var(--bg-accent-1),transparent 45%),radial-gradient(circle at 80% 20%,var(--bg-accent-2),transparent 40%),var(--bg);color:var(--text)}#app-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,var(--bg-accent-1),transparent 45%),radial-gradient(circle at 80% 20%,var(--bg-accent-2),transparent 40%),var(--bg);transition:opacity .22s ease,visibility .22s ease}.splash-lockup{--splash-word-size: clamp(30px, 8.6vw, 44px);--splash-word-max-width: 9.6ch;--splash-word-gap: 10px;--splash-logo-scale-start: .96;--splash-logo-scale-peak: 1.18;--splash-ease-smooth: cubic-bezier(.42, 0, .58, 1);--splash-ease-soft-out: cubic-bezier(.22, 1, .36, 1);display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:132px}.splash-logo-wrap{width:var(--splash-word-size);height:var(--splash-word-size);position:relative;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(var(--splash-logo-scale-start));backface-visibility:hidden;will-change:transform,opacity;animation:splash-logo-sequence 1.6s var(--splash-ease-soft-out) .12s both}.splash-logo{width:100%;height:100%;object-fit:contain}.splash-wordmark{position:relative;z-index:1;display:inline-block;max-width:0;overflow:hidden;font-family:var(--font-display);font-size:var(--splash-word-size);line-height:1;font-weight:700;letter-spacing:-.018em;color:var(--text);white-space:nowrap;opacity:0;transform:translate(4px);margin:0;backface-visibility:hidden;will-change:max-width,opacity,margin-left,transform;animation:splash-wordmark-reveal .9s var(--splash-ease-soft-out) .94s both}body.app-loaded #app-splash{opacity:0;visibility:hidden;pointer-events:none;transition-duration:.36s;transition-timing-function:var(--splash-ease-smooth)}@keyframes splash-logo-sequence{0%{opacity:0;transform:scale(var(--splash-logo-scale-start))}18%{opacity:1;transform:scale(1.04)}36%{opacity:1;transform:scale(var(--splash-logo-scale-peak))}54%{opacity:1;transform:scale(var(--splash-logo-scale-peak))}to{opacity:1;transform:scale(1)}}@keyframes splash-wordmark-reveal{0%{max-width:0;opacity:0;margin-left:0;transform:translate(4px)}20%{opacity:.9}to{max-width:var(--splash-word-max-width);opacity:1;margin-left:var(--splash-word-gap);transform:translate(0)}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:.01em;margin:0}p{margin:0}button{font-family:inherit;cursor:pointer;background:none}#root{height:var(--app-vh);min-height:var(--app-vh);width:100%;overflow:hidden;isolation:isolate}@supports (-webkit-touch-callout: none){input,textarea,select,.mantine-Input-input,.mantine-Select-input,.mantine-TagsInput-input,.mantine-Textarea-input{font-size:16px!important}}
