.ep-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:hsl(var(--foreground) / .26)}.ep-overlay[data-state=open]{animation:epOverlayIn .18s linear}.ep-overlay[data-state=closed]{animation:epOverlayOut .16s linear}.ep-panel{position:fixed;top:12px;right:12px;bottom:12px;z-index:50;width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px);display:grid;grid-template-rows:auto 1fr auto;background:hsl(var(--card) / .92);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);border:1px solid hsl(var(--foreground) / .1);border-radius:8px;box-shadow:0 24px 80px hsl(var(--foreground) / .24),0 4px 18px hsl(var(--foreground) / .12);overflow:hidden;outline:none}.ep-panel[data-state=open]{animation:epPanelIn .24s cubic-bezier(.22,1,.36,1)}.ep-panel[data-state=closed]{animation:epPanelOut .2s cubic-bezier(.4,0,1,1)}.ep-header{height:56px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:hsl(var(--card) / .86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid hsl(var(--foreground) / .08)}.ep-actions,.ep-nav{display:flex;align-items:center;gap:6px}.ep-icon-button{width:36px;height:36px;border:1px solid transparent;border-radius:999px;display:inline-grid;place-items:center;background:hsl(var(--card) / .78);color:hsl(var(--foreground) / .76);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease,color .14s ease}.ep-icon-button:hover{background:hsl(var(--foreground) / .05);border-color:hsl(var(--foreground) / .12);color:hsl(var(--foreground))}.ep-icon-button:active{transform:scale(.96)}.ep-key-button{display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:30px;padding:0 6px;border:1px solid hsl(var(--foreground) / .14);border-bottom-width:2px;border-radius:7px;background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--muted)));color:hsl(var(--foreground) / .72);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease,color .12s ease}.ep-key-button:hover{border-color:hsl(var(--foreground) / .22);color:hsl(var(--foreground) / .92)}.ep-key-button:active{transform:translateY(1px);border-bottom-width:1px}.ep-key-button:disabled{opacity:.4;cursor:not-allowed}.ep-body{overflow:auto;overscroll-behavior:contain}@media (max-width: 720px){.ep-panel{top:auto;left:0;right:0;bottom:0;width:100vw;max-width:none;height:92vh;padding-top:10px;border-radius:16px 16px 0 0;border:1px solid hsl(var(--foreground) / .1);border-bottom:0;transform:translateY(var(--ep-exit-from, 0));touch-action:none}.ep-header{touch-action:none}.ep-body{touch-action:pan-y}.ep-panel:before{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:999px;background:hsl(var(--foreground) / .18);z-index:1}.ep-panel[data-state=open]{animation:epSheetIn .26s cubic-bezier(.22,1,.36,1)}.ep-panel[data-state=closed]{animation:epSheetOut .2s cubic-bezier(.4,0,1,1)}}@keyframes epSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes epSheetOut{0%{transform:translateY(var(--ep-exit-from, 0))}to{transform:translateY(100%)}}@keyframes epOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes epOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes epPanelIn{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes epPanelOut{0%{transform:translate(0);opacity:1}to{transform:translate(28px);opacity:0}}@media (prefers-reduced-motion: reduce){.ep-overlay,.ep-panel{animation-duration:1ms!important}}.event-map-photo-marker{position:relative;display:block;width:72px;height:54px;overflow:hidden;padding:0;cursor:pointer;background:hsl(var(--muted));border:2px solid #fff;border-radius:12px;box-shadow:0 3px 10px #0000002e;transform-origin:center;animation:event-map-marker-in .22s cubic-bezier(.2,.8,.2,1) both;transition:box-shadow .18s ease,filter .18s ease,opacity .18s ease,transform .18s ease}.event-map-photo-marker:hover,.event-map-photo-marker--active{box-shadow:0 6px 16px #0000003d;transform:translateY(-2px) scale(1.03)}.event-map-photo-marker--active{outline:2px solid hsl(var(--primary) / .35);outline-offset:2px}.event-map-photo-marker--dimmed{filter:grayscale(1) saturate(.75);opacity:.72}.event-map-photo-marker:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}.event-map-photo-marker__image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-map-photo-marker__time{position:absolute;right:0;bottom:0;left:0;max-width:100%;overflow:hidden;padding:3px 5px 4px;color:#fff;font-size:11px;font-weight:800;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#0f172acc;border-top:1px solid rgba(255,255,255,.26);border-radius:0 0 9px 9px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.event-map-photo-cluster{position:relative;width:86px;height:68px;cursor:pointer;transform-origin:center;animation:event-map-marker-in .23s cubic-bezier(.2,.8,.2,1) both;transition:transform .18s ease}.event-map-photo-cluster:hover{transform:translateY(-1px) scale(1.02)}.event-map-photo-cluster__card{position:absolute;width:72px;height:54px;overflow:hidden;background:hsl(var(--muted));border:2px solid #fff;border-radius:12px;box-shadow:0 3px 10px #0000002e}.event-map-photo-cluster__card img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-map-photo-cluster__card--dimmed{filter:grayscale(1) saturate(.75);opacity:.72}.event-map-photo-cluster__count{position:absolute;top:34px;left:52px;z-index:20;display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;padding:0 6px;color:hsl(var(--background));font-size:12px;font-weight:900;line-height:1;background:hsl(var(--foreground));border:2px solid #fff;border-radius:999px;box-shadow:0 3px 8px #00000038}@keyframes event-map-marker-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 767px){.event-map-photo-marker,.event-map-photo-cluster__card{width:68px;height:51px}.event-map-photo-cluster{width:82px;height:65px}.event-map-photo-cluster__count{top:32px;left:49px}}@media (prefers-reduced-motion: reduce){.event-map-photo-marker,.event-map-photo-cluster{animation:none;transition:none}}
