:root{color-scheme:light;--color-bg: #f0ede6;--color-surface: #ffffff;--color-surface-muted: #f0ede6;--color-surface-sunken: #e4e0d6;--color-text: #1c1d1f;--color-text-muted: #64655d;--color-text-subtle: #75726a;--color-border: #e4e0d6;--color-border-strong: #d2cdc1;--color-ink: #1c1d1f;--color-on-ink: #ffffff;--color-accent: #d6f36b;--color-accent-strong: #9ed12f;--color-location: #3b6cff;--color-focus: #3b6cff;--color-danger: #b42318;--color-open: #3f5b07;--color-open-bg: #f2fbdc;--color-open-dot: #7cc417;--color-soon: #a8401a;--color-soon-bg: #ffefe7;--color-soon-dot: #ff8a5b;--color-idle: #5d5e57;--color-idle-bg: #ecebe6;--color-idle-dot: #a9a69c;--color-closed: #b42318;--color-closed-bg: #fdecea;--color-closed-dot: #ef4c3c;--color-map-land: #f0ede6;--color-map-block: #e7e3da;--color-map-water: #bfdcec;--color-map-park: #d2e6c1;--color-backdrop: rgb(28 29 31 / .45);--font-sans: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: clamp(2rem, 7vw, 2.75rem);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--leading-tight: 1.05;--leading-snug: 1.25;--leading-normal: 1.5;--tracking-tight: -.02em;--tracking-display: -.03em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .75rem;--radius-md: .875rem;--radius-lg: 1.125rem;--radius-xl: 1.25rem;--radius-2xl: 1.875rem;--radius-pill: 999px;--control-height: 2.75rem;--control-height-lg: 3.5rem;--shadow-sm: 0 2px 8px rgb(28 29 31 / .05);--shadow-float: 0 8px 24px rgb(28 29 31 / .1);--shadow-raised: 0 10px 24px rgb(28 29 31 / .22);--shadow-sheet: 0 -12px 40px rgb(28 29 31 / .12);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--duration-fast: .16s;--duration-base: .24s;--duration-slow: .52s;--side-panel-width: 26.5rem}@font-face{font-display:swap;font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--color-bg);margin:0;min-block-size:100vh;min-block-size:100dvh}html:has(.explorer){overflow:hidden;overscroll-behavior:none}html:has(.explorer) body{overflow:hidden}h1,h2,h3{letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);text-wrap:balance}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--color-text)}::selection{background:var(--color-accent)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{background:var(--color-ink);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--color-on-ink);font-weight:var(--weight-bold);inset-block-start:0;inset-inline-start:var(--space-4);padding:var(--space-3) var(--space-4);position:fixed;transform:translateY(-140%);transition:transform var(--duration-base) var(--ease-out);z-index:100}.skip-link:focus{transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.layout-container{inline-size:100%;margin-inline:auto;max-inline-size:1160px;padding-inline:var(--space-4)}.visually-hidden{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}.eyebrow{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.press{transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-base) var(--ease-out),color var(--duration-fast) ease,transform var(--duration-base) var(--ease-spring)}.press:active:not(:disabled){transform:scale(.96)}.button{align-items:center;border:0;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:var(--text-md);font-weight:var(--weight-bold);gap:var(--space-2);justify-content:center;min-block-size:var(--control-height-lg);padding-inline:var(--space-5);text-decoration:none;white-space:nowrap}.button:disabled{cursor:wait;opacity:.7}.button--primary{background:var(--color-ink);box-shadow:var(--shadow-raised);color:var(--color-on-ink)}.button--primary:hover:not(:disabled){background:#000}.button--primary .icon{color:var(--color-accent)}.button--secondary{background:var(--color-surface-muted);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.button--ghost{background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);min-block-size:var(--control-height)}.button--ghost:hover:not(:disabled){color:var(--color-text);text-decoration:underline;text-underline-offset:.2em}.button--block{inline-size:100%}.icon-button{align-items:center;background:var(--color-surface);block-size:3rem;border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-float);color:var(--color-text);cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:3rem;justify-content:center;padding:0;text-decoration:none}.icon-button:hover{background:var(--color-surface-muted)}.icon-button--ink{background:var(--color-ink);box-shadow:var(--shadow-raised);color:var(--color-accent)}.icon-button--ink:hover{background:#000}.icon{block-size:1.15rem;fill:none;flex:0 0 auto;inline-size:1.15rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.chip{align-items:center;background:var(--color-surface);border:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:var(--space-2);justify-content:center;min-block-size:2.5rem;padding-inline:var(--space-4);text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.chip:hover{background:var(--color-surface-muted)}.chip--muted{background:var(--color-surface-muted);box-shadow:none}.chip--muted:hover{background:var(--color-surface-sunken)}.chip[aria-pressed=true],.chip-toggle>input:checked+.chip{background:var(--color-ink);color:var(--color-on-ink)}.chip-toggle{cursor:pointer;display:inline-flex;min-inline-size:0;position:relative}.chip-toggle>input{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}.chip-toggle>input:focus-visible+.chip{outline:3px solid var(--color-focus);outline-offset:3px}.chip-toggle>.chip{inline-size:100%}.segmented{background:var(--color-surface-sunken);border-radius:var(--radius-lg);display:flex;gap:var(--space-1);padding:var(--space-1)}.segment{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;flex:1 1 0;font-size:var(--text-sm);font-weight:var(--weight-bold);min-block-size:var(--control-height);padding-inline:var(--space-3)}.segment[aria-pressed=true]{background:var(--color-surface);box-shadow:0 2px 8px #1c1d1f1a;color:var(--color-text)}.status-badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-bold);gap:var(--space-2);padding:.2rem .65rem;white-space:nowrap}.status-badge--open{background:var(--color-open-bg);color:var(--color-open)}.status-badge--soon{background:var(--color-soon-bg);color:var(--color-soon)}.status-badge--later,.status-badge--unknown{background:var(--color-idle-bg);color:var(--color-idle)}.status-badge--closed{background:var(--color-closed-bg);color:var(--color-closed)}.status-dot{block-size:.6rem;border-radius:50%;flex:0 0 auto;inline-size:.6rem}.status-dot--open{background:var(--color-open-dot)}.status-dot--soon{background:var(--color-soon-dot)}.status-dot--later,.status-dot--unknown{background:var(--color-idle-dot)}.status-dot--closed{background:var(--color-closed-dot)}.text-input{background:var(--color-surface-muted);border:2px solid transparent;border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold);inline-size:100%;min-block-size:var(--control-height-lg);padding-inline:2.9rem var(--space-4);transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.text-input::placeholder{color:var(--color-text-subtle);font-weight:var(--weight-medium)}.text-input:focus-visible{background:var(--color-surface);border-color:var(--color-ink);outline:none}.text-input[aria-invalid=true]{border-color:var(--color-danger)}.field-help,.field-error{font-size:var(--text-xs);margin:0}.field-help{color:var(--color-text-muted)}.field-error{color:var(--color-danger);font-weight:var(--weight-semibold)}.city-combobox{min-inline-size:0;position:relative}.city-input-control{position:relative}.city-input-control>.icon{color:var(--color-text-muted);inset-block-start:50%;inset-inline-start:var(--space-4);pointer-events:none;position:absolute;transform:translateY(-50%)}.city-options{animation:pop-in var(--duration-base) var(--ease-out) both;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);inset:calc(100% + var(--space-2)) 0 auto;max-block-size:15rem;overflow-y:auto;padding:var(--space-2);position:absolute;transform-origin:top center;z-index:10}.city-option{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:block;font-weight:var(--weight-semibold);inline-size:100%;padding:var(--space-3);text-align:start}.city-option:hover,.city-option.is-active{background:var(--color-surface-muted)}.city-options-empty{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;padding:var(--space-3)}.card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.sheet-grabber{align-items:center;align-self:stretch;background:transparent;border:0;cursor:grab;display:flex;flex:0 0 auto;justify-content:center;margin-block:calc(var(--space-3) * -1) calc(var(--space-1) * -1);padding-block:var(--space-3) var(--space-2);touch-action:none}.sheet-grabber:active{cursor:grabbing}.sheet-drag{touch-action:pan-x;-webkit-user-select:none;user-select:none}.is-dragging{-webkit-user-select:none;user-select:none}:has(>.sheet-grabber):not(.is-dragging){transition:translate var(--duration-base) var(--ease-out)}.sheet-handle{align-self:center;background:var(--color-border-strong);block-size:4px;border-radius:var(--radius-pill);flex:0 0 auto;inline-size:2.5rem}.spinner{animation:spin .7s linear infinite;block-size:1rem;border:2px solid currentColor;border-block-start-color:transparent;border-radius:50%;display:inline-block;flex:0 0 auto;inline-size:1rem}.skeleton{animation:skeleton-shimmer 1.6s ease-in-out infinite;background:linear-gradient(100deg,var(--color-surface-muted) 30%,var(--color-surface) 50%,var(--color-surface-muted) 70%);background-size:220% 100%;border-radius:var(--radius-pill);display:block}.enter-up,.stagger>*{animation:enter-up var(--duration-slow) var(--ease-out) both}.stagger>:nth-child(1){animation-delay:0ms}.stagger>:nth-child(2){animation-delay:45ms}.stagger>:nth-child(3){animation-delay:90ms}.stagger>:nth-child(4){animation-delay:135ms}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:225ms}.stagger>:nth-child(7){animation-delay:.27s}.stagger>:nth-child(8){animation-delay:315ms}@keyframes enter-up{0%{opacity:0;transform:translateY(.75rem)}}@keyframes pop-in{0%{opacity:0;transform:translateY(-.25rem) scale(.98)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{to{background-position:-220% 0}}@keyframes ping{0%{opacity:.45;transform:scale(1)}80%,to{opacity:0;transform:scale(3.4)}}.sheet-dialog{background:transparent;border:0;color:var(--color-text);inset:auto 0 0;margin:0;max-block-size:min(90dvh,52rem);max-inline-size:none;overflow:visible;padding:0;position:fixed;inline-size:100%}.sheet-dialog[open]{animation:sheet-enter var(--duration-slow) var(--ease-out) both}.sheet-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:var(--color-backdrop)}.sheet-dialog[open]::backdrop{animation:fade-in var(--duration-base) ease both}.sheet-surface{background:var(--color-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;max-block-size:min(90dvh,52rem);overflow:hidden;padding-block:var(--space-3) max(var(--space-4),env(safe-area-inset-bottom))}.sheet-header{align-items:center;display:flex;justify-content:space-between;padding:var(--space-3) var(--space-5) var(--space-2)}.sheet-header h2{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:var(--tracking-tight);margin:0}.sheet-header .icon-button{background:var(--color-surface-muted);border-radius:50%;box-shadow:none}.sheet-content{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3) var(--space-5) var(--space-5)}.sheet-footer{border-block-start:1px solid var(--color-border);padding:var(--space-3) var(--space-5) 0}@keyframes sheet-enter{0%{transform:translateY(100%)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(.75rem) scale(.97)}}@keyframes fade-in{0%{opacity:0}}@media(min-width:640px){.sheet-dialog{inset:0;margin:auto;max-block-size:min(86dvh,48rem);max-inline-size:min(36rem,100vw - 2rem)}.sheet-dialog[open]{animation-name:dialog-enter}.sheet-surface{border-radius:var(--radius-2xl);max-block-size:min(86dvh,48rem)}.sheet-surface>.sheet-grabber{display:none}}.maplibregl-map{overflow:hidden;position:relative;-webkit-tap-highlight-color:transparent}.maplibregl-canvas{inset-block-start:0;inset-inline-start:0;position:absolute}.maplibregl-canvas:focus-visible{outline:none}.maplibregl-canvas-container.maplibregl-interactive{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive: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-ctrl-top-left,.maplibregl-ctrl-top-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{inset-block-start:0;inset-inline-start:0}.maplibregl-ctrl-top-right{inset-block-start:0;inset-inline-end:0}.maplibregl-ctrl-bottom-left{inset-block-end:0;inset-inline-start:0}.maplibregl-ctrl-bottom-right{inset-block-end:var(--map-attribution-offset, 0);inset-inline-end:0}.maplibregl-ctrl{pointer-events:auto}.maplibregl-ctrl-attrib{background:#fffc;border-radius:var(--radius-sm) 0 0 0;color:var(--color-text-muted);font-size:.625rem;line-height:1.6;padding:0 var(--space-2)}.maplibregl-ctrl-attrib-button{display:none}.maplibregl-ctrl-attrib a{color:inherit;text-decoration:none}.maplibregl-ctrl-attrib a:hover{text-decoration:underline}.maplibregl-marker{inset-block-start:0;inset-inline-start:0;position:absolute;will-change:transform}.map-pin{align-items:center;animation:pin-drop var(--duration-slow) var(--ease-spring) both;background:var(--color-ink);border:2px solid var(--color-accent);border-radius:var(--radius-pill);box-shadow:var(--shadow-raised);color:var(--color-on-ink);display:inline-flex;font-size:var(--text-sm);font-weight:var(--weight-bold);gap:var(--space-2);max-inline-size:14rem;padding:var(--space-2) var(--space-3);pointer-events:none;white-space:nowrap}.map-pin span:last-child{overflow:hidden;text-overflow:ellipsis}.map-pin__dot{block-size:.6rem;border-radius:50%;box-shadow:0 0 0 2px #fff;flex:0 0 auto;inline-size:.6rem}.map-user{background:var(--color-location);block-size:1.1rem;border:3px solid #ffffff;border-radius:50%;box-shadow:0 2px 8px #00000040;inline-size:1.1rem}.map-user:before{animation:ping 2.6s var(--ease-out) infinite;background:var(--color-location);border-radius:50%;content:"";inset:-3px;position:absolute}@keyframes pin-drop{0%{opacity:0;transform:translateY(-.75rem) scale(.8)}}
