@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/archivo-latin-400-normal.C81ewxNO.woff2)format("woff2"),url(/_astro/archivo-latin-400-normal.Bl602Mgc.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/archivo-latin-600-normal.3BBy0ZsW.woff2)format("woff2"),url(/_astro/archivo-latin-600-normal.DwYieO8P.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-latin-800-normal.cB6v3kRN.woff2)format("woff2"),url(/_astro/archivo-latin-800-normal.DZa_k145.woff)format("woff")}:root{--bg:#fff;--fg:#000;--muted:#3d3d3d;--line:#000;--chip-bg:#fff;--accent:#ff4d00;--accent-fg:#000;--accent-tint:#ffe2d4;--key:#ff4d00;--danger:#b3261e;--shadow:none;--topbar-h:60px;--radius:0;--font:"Archivo", system-ui, sans-serif}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}button,.btn{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--fg);outline-offset:2px}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--accent-fg)}a{color:var(--fg);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{background:var(--accent);color:var(--accent-fg)}.chips{gap:8px;display:flex}.chips-scroll{scrollbar-width:none;margin:0 -12px;padding:2px 12px 6px;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chips-wrap{flex-wrap:wrap}.chip{border:2px solid var(--fg);background:var(--chip-bg);cursor:pointer;white-space:nowrap;border-radius:0;flex:none;align-items:center;gap:6px;min-height:44px;padding:0 14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:var(--bg);font-weight:600}.chip:hover:not([aria-pressed=true],:has(input:checked)),.btn:hover:not(:disabled){background:var(--accent-tint)}.chip:active,.btn:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translate(1px,1px)}.chip-check{display:none}.chip[aria-pressed=true] .chip-check{display:inline}.btn,.btn-primary{border:2px solid var(--fg);background:var(--bg);cursor:pointer;border-radius:0;justify-content:center;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;display:inline-flex}.btn-primary{border-color:var(--fg);background:var(--accent);color:var(--accent-fg);text-transform:uppercase;letter-spacing:.02em;font-weight:800}.btn-primary:hover:not(:disabled){background:var(--fg);color:var(--accent)}.btn-link{min-height:44px;color:var(--fg);text-decoration:underline 2px var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 8px}.btn-icon{border:2px solid var(--fg);background:var(--chip-bg);width:44px;height:44px;color:var(--fg);cursor:pointer;border-radius:0;font-size:1.5rem;line-height:1}.btn-icon:hover{background:var(--accent)}.badge{border:1px solid var(--fg);background:var(--chip-bg);color:var(--fg);border-radius:0;align-items:center;padding:2px 8px;font-size:.75rem;line-height:1.3;display:inline-flex}.badge-ok{background:var(--fg);color:var(--bg);font-weight:600}.btn-quiet{color:var(--fg);text-decoration:underline 2px var(--accent);text-underline-offset:3px;border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn:disabled,.btn-primary:disabled{opacity:.55;cursor:default}html,body{height:100%}body.map-page{font-family:var(--font);color:var(--fg);background:var(--bg);margin:0;line-height:1.4;overflow:hidden}.shell-summary{color:var(--muted);margin:0}#map-root:has(.map-app) .map-shell{display:none}#map-root{height:100%}.map-app{flex-direction:column;max-width:100vw;height:100%;display:flex;position:relative;overflow:hidden}.map-intro{border-bottom:2px solid var(--fg);background:var(--bg);flex:none;gap:4px;padding:10px 12px;display:grid}.map-intro-head{align-items:center;gap:8px;display:flex}.map-intro-mark{border:2px solid var(--fg);background:var(--accent);flex:none;width:12px;height:12px}.map-intro-title{letter-spacing:-.01em;text-transform:uppercase;margin:0;font-size:1.25rem;font-weight:800;line-height:1.1}.map-intro>p{text-wrap:pretty;max-width:60ch;margin:0;font-size:.875rem;line-height:1.4}.map-intro-link{white-space:nowrap}.topbar{min-height:var(--topbar-h);border-bottom:2px solid var(--fg);background:var(--bg);z-index:20;flex:none;align-items:center;gap:8px;padding:8px;display:flex}.summary-button{border:2px solid var(--fg);background:var(--bg);cursor:pointer;text-align:left;border-radius:0;flex:auto;justify-content:space-between;align-items:center;gap:6px;min-width:0;min-height:44px;padding:0 12px;font-weight:800;display:flex}.summary-button:hover,.regions button:hover,.fab:hover,.day:not(:disabled):hover{background:var(--accent-tint)}.summary-button:active,.fab:active{transform:translate(1px,1px)}.summary-label{min-width:0;line-height:1.2;display:grid}.summary-count,.summary-when{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-when{color:var(--muted);font-size:.8125rem;font-weight:400}.summary-text{margin:0;font-weight:600}.topbar-clear{flex:none}.segmented{border:2px solid var(--fg);border-radius:0;flex:none;display:flex;overflow:hidden}.segmented button+button{border-left:2px solid var(--fg)}.segmented button{background:var(--bg);cursor:pointer;border:0;min-width:56px;min-height:44px;padding:0 10px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.content{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.list-pane{flex:auto;padding:0 12px 96px;overflow-y:auto}.map-pane{flex:auto;position:relative}.map-pane .map-canvas{position:absolute;inset:0}.regions{z-index:5;gap:4px;display:flex;position:absolute;top:8px;left:8px}.regions button{border:2px solid var(--fg);background:var(--bg);cursor:pointer;border-radius:0;min-height:44px;padding:0 10px;font-size:.875rem}.fabs{z-index:5;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:36px;right:12px}.fab{border:2px solid var(--fg);background:var(--bg);width:52px;height:52px;color:var(--fg);cursor:pointer;border-radius:0;place-items:center;display:grid}.fab-add{background:var(--accent);width:auto;color:var(--accent-fg);text-transform:uppercase;letter-spacing:.02em;border-radius:0;gap:6px;max-width:calc(100vw - 24px);padding:0 18px;font-weight:800;display:inline-flex}.fab-add:hover{background:var(--fg);color:var(--accent)}.map-search{border:2px solid var(--fg);background:var(--bg);z-index:15;border-radius:0;align-items:flex-start;gap:8px;padding:8px 8px 8px 12px;display:flex;position:absolute;top:8px;left:8px;right:8px}.map-search .place-search{flex:auto;min-width:0}.pick-pin{pointer-events:none;z-index:6;filter:drop-shadow(0 2px 2px #0000004d);position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.list-add{width:100%;margin:12px 0 4px}.map-app.adding :is(.topbar,.map-intro){display:none}.add-container{background:var(--bg);z-index:35}.user-dot{background:var(--accent);border:3px solid var(--fg);border-radius:0;width:16px;height:16px;box-shadow:0 0 0 6px #ff4d004d}.panel-overlay{background:var(--bg);border-bottom:2px solid var(--fg);z-index:30;border-radius:0;max-height:100%;position:absolute;top:0;left:0;right:0;overflow-y:auto}.filter-panel{padding:8px 12px 16px}.filter-panel-head{justify-content:space-between;align-items:center;display:flex}.filter-panel h2{letter-spacing:-.01em;margin:8px 0;font-size:1.125rem;font-weight:800}.group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg);margin:12px 0 6px;font-size:.8125rem;font-weight:800}.chip-key{border-color:var(--fg);background:var(--accent-tint)}.chip-count{background:var(--fg);min-width:1.5em;color:var(--bg);text-align:center;border-radius:0;padding:0 6px;font-size:.8125rem;font-weight:600}.chip[aria-pressed=true] .chip-count{background:var(--accent);color:var(--accent-fg)}.chip-type .type-icon{flex:none}.day-strip{scroll-snap-type:x proximity;gap:6px;margin:8px -12px 0;padding:2px 12px 8px;display:flex;overflow-x:auto}.day{border:2px solid var(--fg);background:var(--bg);cursor:pointer;scroll-snap-align:start;border-radius:0;flex:0 0 56px;justify-items:center;gap:1px;min-height:76px;padding:4px 0;display:grid}.day:disabled{opacity:.4;cursor:default;background:var(--chip-bg)}.day[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.day-month{text-transform:uppercase;color:var(--fg);font-size:.6875rem;font-weight:700}.day[aria-pressed=true] .day-month{color:var(--accent)}.day-weekday{font-size:.75rem}.day-number{font-size:1.125rem;font-weight:700}.day-count{font-size:.75rem;font-weight:600}.filter-close{width:100%;margin-top:16px}.empty{color:var(--muted);padding:24px 4px}.event-list ul{margin:0;padding:0;list-style:none}.day-heading{text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--fg);background:var(--bg);z-index:1;margin:0;padding:14px 0 8px;font-size:.8125rem;font-weight:800;position:sticky;top:0}.event-card{border:0;border-bottom:1px solid var(--fg);text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:14px 4px;display:flex}.event-card:hover{background:var(--accent-tint)}.event-card[aria-current=true]{background:var(--accent);color:var(--accent-fg)}.event-card[aria-current=true] :is(.event-card-meta,.event-card-type){color:var(--fg)}.event-card .type-icon{flex:none;margin-top:2px}.event-card-body{gap:2px;min-width:0;display:grid}.event-card-title{font-weight:800}.event-card-meta,.event-card-type{color:var(--muted);font-size:.875rem}.event-sheet{background:var(--bg);border-top:2px solid var(--fg);max-height:75%;box-shadow:0 -6px 0 var(--accent);z-index:40;border-radius:0;padding:8px 16px 20px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.event-type{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.875rem;display:flex}.event-sheet h2:focus,.filter-panel h2:focus{outline:none}.event-sheet h2{letter-spacing:-.01em;margin:10px 0 2px;font-size:1.25rem;font-weight:800}.event-place{color:var(--muted);margin:0 0 10px}.occ-highlight{margin:0;font-size:1.0625rem;font-weight:700}.occ-note{color:var(--muted);font-size:.875rem;display:block}.occ-list{margin:4px 0 0;padding:0 0 0 18px}.occ{padding:4px 0}.occ-faded{color:var(--muted)}.occ-cancelled{text-decoration:line-through}.event-ended{font-weight:600}.sheet-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sheet-actions :is(.btn,.btn-primary){flex:140px}.sr-status:empty,.toast:empty{display:none}.toast{border-left:6px solid var(--accent);background:var(--fg);color:var(--bg);z-index:50;border-radius:0;margin:0;padding:8px 14px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.maplibregl-ctrl-top-right{top:4px}@media (width<=959.98px){.add-container{position:absolute;inset:0;overflow-y:auto}.add-container.add-compact{border-top:2px solid var(--fg);border-radius:0;flex:none;order:2;max-height:50%;position:static;overflow-y:auto}.map-app.adding .content{order:1}}@media (width>=960px){.add-container{border-right:2px solid var(--line);grid-area:1/1/-1;overflow-y:auto}.map-app{grid-template-rows:auto auto minmax(0,auto) minmax(0,1fr);grid-template-columns:clamp(400px,36vw,540px) 1fr;display:grid}.map-intro{border-right:2px solid var(--line);grid-area:1/1;padding:14px 16px 12px}.topbar{border-right:2px solid var(--line);grid-area:2/1;padding:12px 16px}.panel-side .chips-scroll{flex-wrap:wrap;margin:0;padding:2px 0 6px;overflow:visible}.panel-side{border-right:2px solid var(--line);border-bottom:2px solid var(--line);grid-area:3/1;max-height:30vh;overflow-y:auto}.panel-side .filter-panel{padding:2px 16px 10px}.panel-side .filter-panel h2{margin:6px 0 4px;font-size:.9375rem}.content{display:contents}.list-pane{border-right:2px solid var(--line);grid-area:4/1;padding:0 16px 24px}.map-pane{grid-area:1/2/-1}.event-sheet{border:2px solid var(--fg);width:400px;max-height:calc(100% - 32px);box-shadow:6px 6px 0 var(--accent);border-radius:0;inset:auto 16px 16px auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.list-footer{gap:16px;padding:8px 12px 24px;font-size:.9375rem;display:flex}.list-footer a{min-height:44px;color:var(--fg);text-decoration:underline 2px var(--accent);text-underline-offset:3px;align-items:center;display:inline-flex}
