@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Variable.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Italic-Variable.woff2)format("woff2");font-weight:200 800;font-style:italic;font-display:swap}:root{--font-ui:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--weight-body:400;--weight-meta:500;--weight-label:600;--weight-strong:700;--weight-display:800;font-family:var(--font-ui);font-weight:var(--weight-body);font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:#191522;--paper:#fff8ed;--raised:#fffefa;--pink:#ff3d8d;--cyan:#00c8e0;--yellow:#ffd84d;--violet:#7657ff;--muted:#70697a;--outline:#d7c8bd;--low:#fff3e2;--shadow:#191522;--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);background:var(--paper);font-size:14px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#fff6e8;--paper:#15111e;--raised:#211a2b;--pink:#ff5ca2;--cyan:#26ddf0;--yellow:#ffdc60;--violet:#9a83ff;--muted:#b8acbf;--outline:#44384e;--low:#1b1624;--shadow:#050308}}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:clip}body{overscroll-behavior:none;position:fixed;inset:0}#app{top:var(--app-top,0px);height:var(--app-height,100dvh);position:fixed;left:0;overflow:clip}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--violet);outline-offset:3px}input:focus{outline:none}[hidden]{display:none!important}svg{flex-shrink:0}h1,h2,p{margin-top:0}h1{font-size:26px;font-weight:var(--weight-display);letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:pretty;margin:7px 0 12px;line-height:1.2}h2{font-size:20px;font-weight:var(--weight-strong);letter-spacing:-.02em;line-height:1.3}.app-shell{width:100%;height:100%;display:flex;position:relative}.directory-region{background:var(--raised);border-right:2px solid var(--ink);z-index:2;flex-direction:column;flex-shrink:0;order:-1;width:400px;height:100%;display:flex;position:relative}.map-region{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.map-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.map-tools{right:16px;top:max(16px, env(safe-area-inset-top));border:1.5px solid var(--ink);background:var(--raised);box-shadow:3px 3px var(--shadow);border-radius:10px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.map-tools .icon-button{border-radius:0}.map-tools .icon-button+.icon-button{border-top:1px solid var(--outline)}.map-actions{align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.action{border:1.5px solid var(--ink);min-height:42px;font-weight:var(--weight-display);box-shadow:3px 3px var(--shadow);border-radius:10px 4px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;font-size:14px;display:inline-flex}.action:active{box-shadow:1px 1px var(--shadow);transform:translate(2px,2px)}.yellow{background:var(--yellow);color:#191522}.cyan{background:var(--cyan);color:#191522}.pink{background:var(--pink);color:#191522}.icon-button{background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover{background:color-mix(in srgb, var(--cyan) 14%, transparent)}.kicker{font-size:10px;font-weight:var(--weight-strong);text-transform:uppercase;letter-spacing:.1em;border-left:4px solid var(--cyan);padding-left:10px;line-height:14px;display:block}.search-header{flex-shrink:0;padding:16px 16px 0}.desktop-kicker{margin-bottom:10px}.search-row{align-items:center;display:flex}.search-row .search-box{flex:1;min-width:0}.search-dismiss-slot{opacity:0;visibility:hidden;flex-shrink:0;justify-content:flex-end;width:0;transition:width .32s cubic-bezier(.2,.7,.2,1),opacity .18s,visibility .32s;display:flex}.search-raised .search-dismiss-slot{opacity:1;visibility:visible;width:56px}.search-dismiss-slot .search-dismiss{border:1.5px solid var(--ink);background:var(--paper);width:44px;height:44px;box-shadow:3px 3px var(--cyan);border-radius:50%;flex-shrink:0}.search-dismiss-slot .search-dismiss:hover{background:color-mix(in srgb, var(--cyan) 14%, var(--paper))}.search-box .search-icon,.search-box .icon-button{flex-shrink:0}.search-box{border:1.5px solid var(--ink);min-height:49px;box-shadow:3px 3px var(--cyan);background:var(--paper);border-radius:16px 5px;align-items:center;display:flex}.search-icon{color:var(--pink);margin-left:15px}.search-box input{color:var(--ink);background:0 0;border:0;width:100%;min-width:0;padding:13px 10px;font-size:14px}.search-box input::placeholder{color:var(--muted);opacity:1}.suggestions{scrollbar-width:none;touch-action:pan-x;gap:8px;min-height:46px;margin-inline:-16px;padding:12px 16px 9px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.suggestions .tag{white-space:nowrap;flex-shrink:0;min-height:28px;padding:5px 9px;font-size:12px}@property --fandom-scroll-thumb{syntax:"<color>";inherits:true;initial-value:#0000}@media (min-width:769px){.suggestions{scrollbar-width:thin;scrollbar-color:var(--fandom-scroll-thumb) transparent;transition:--fandom-scroll-thumb .18s}.suggestions:hover,.suggestions:focus-within{--fandom-scroll-thumb:color-mix(in srgb, var(--muted) 65%, transparent)}@supports selector(::-webkit-scrollbar){.suggestions{scrollbar-width:auto;scrollbar-color:auto}.suggestions::-webkit-scrollbar{height:6px}.suggestions::-webkit-scrollbar-track{background:0 0}.suggestions::-webkit-scrollbar-thumb{background:var(--fandom-scroll-thumb);border-radius:999px}.suggestions::-webkit-scrollbar-button{width:0;height:0;display:none}}}.suggestions:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}.tag{border:1.2px solid var(--ink);font-size:12px;line-height:1.4;font-weight:var(--weight-label);overflow-wrap:anywhere;border-radius:4px 12px;align-items:center;gap:5px;max-width:100%;padding:7px 10px;display:inline-flex}.cyan-tint{background:color-mix(in srgb, var(--cyan) 22%, var(--raised))}.pink-tint{background:color-mix(in srgb, var(--pink) 20%, var(--raised))}.violet-tint{background:color-mix(in srgb, var(--violet) 18%, var(--raised))}.pink-marker{border-color:var(--pink)}.violet-marker{border-color:var(--violet)}.yellow-marker{border-color:var(--yellow)}.sheet-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--outline) transparent;flex:1;min-height:0;overflow:hidden auto}.desktop-directory,.desktop-detail{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.section-heading{min-height:44px;color:var(--muted);font-size:12px;font-weight:var(--weight-label);letter-spacing:0;align-items:center;gap:5px;padding:13px 16px 7px;display:flex}.section-heading>span{flex:1}.text-button{min-height:36px;color:var(--muted);font-size:12px;font-weight:var(--weight-label);align-items:center;gap:5px;padding:7px 4px;display:inline-flex}.text-button:hover{color:var(--pink)}.creator-row{margin:3px 0;padding-bottom:3px;position:relative}.creator-row:after{content:"";background:color-mix(in srgb, var(--outline) 45%, transparent);height:1px;position:absolute;bottom:0;left:16px;right:16px}.creator-row:hover{background:color-mix(in srgb, var(--cyan) 8%, transparent)}.creator-select{text-align:left;align-items:flex-start;gap:16px;width:100%;padding:10px 16px 12px;display:flex}.avatar{object-fit:cover;border:1px solid var(--outline);border-radius:8px;flex-shrink:0;width:40px;height:40px}.art-fallback{background:var(--low);color:var(--pink);font-weight:var(--weight-display);justify-content:center;align-items:center;font-size:23px;display:flex}.row-copy{flex-direction:column;gap:4px;width:100%;min-width:0;padding-right:19px;display:flex}.row-copy strong{font-size:15px;font-weight:var(--weight-strong);letter-spacing:-.015em;overflow-wrap:anywhere;line-height:1.4}.metadata{font-size:12px;font-weight:var(--weight-meta);color:var(--muted);letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.5}.fandom-summary{font-size:12px;font-weight:var(--weight-body);color:var(--muted);padding-top:4px;line-height:1.45}.more{color:var(--pink);font-weight:var(--weight-display)}.creator-row.has-gallery .row-copy{padding-right:53px}.row-actions{display:flex;position:absolute;top:.5px;right:6px}.row-actions .icon-button{isolation:isolate;background:0 0;width:34px;position:relative}.row-actions .icon-button:before{content:"";z-index:-1;background:0 0;border-radius:50%;width:34px;height:34px;transition:background-color .16s;position:absolute}.row-actions .icon-button:hover:before{background:color-mix(in srgb, var(--cyan) 14%, transparent)}.share-actions{justify-content:space-around;padding:8px 12px;display:flex}.panel{border:1.5px solid var(--ink);background:var(--paper);box-shadow:4px 4px var(--pink);border-radius:12px;margin:12px 16px;padding:16px}.booth-list-bulk{gap:10px;padding:0 16px 16px;display:flex}.booth-list-bulk .action{white-space:nowrap;flex:1;min-width:0}.empty{text-align:center;padding:28px 16px}.search-link-card{text-align:left;background:var(--paper);border:1.5px solid var(--ink);width:calc(100% - 36px);box-shadow:3px 3px var(--cyan);border-radius:16px 5px;align-items:center;gap:12px;margin:16px 20px 20px 16px;padding:16px;transition:background-color .16s,transform .16s,box-shadow .16s;display:flex}.search-link-card:hover{background:color-mix(in srgb, var(--cyan) 8%, var(--paper))}.search-link-card:active{box-shadow:1px 1px var(--cyan);transform:translate(2px,2px)}.search-link-icon{background:color-mix(in srgb, var(--cyan) 15%, var(--paper));width:44px;height:44px;color:var(--ink);border-radius:12px 4px;flex-shrink:0;place-items:center;display:grid}.search-link-copy{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.search-link-copy strong{font-weight:var(--weight-display);font-size:16px}.search-link-copy>span{color:var(--muted)}.search-link-copy small{color:var(--muted);margin-top:5px;font-size:11px}.search-link-card>svg{flex-shrink:0}.search-link-unavailable{align-items:flex-start;gap:12px;margin:20px 16px;display:flex}.search-link-unavailable>svg{color:var(--muted);flex-shrink:0}.search-link-unavailable p{color:var(--muted);margin:6px 0 0}.detail-content{padding:var(--detail-top-padding,16px) 16px 40px}.profile-card{background:var(--low);border-radius:12px;overflow:hidden}.circle-cut{background:var(--low);height:180px;position:relative}.circle-cut>img{object-fit:cover;width:100%;height:100%}.circle-cut>.art-fallback{height:100%;font-size:60px}.circle-cut.expanded{height:auto;min-height:180px}.circle-cut.expanded>img{object-fit:contain;height:auto;display:block}.artwork-toggle{background:color-mix(in srgb, var(--raised) 92%, transparent);border:1px solid var(--outline);position:absolute;top:8px;left:8px}.artwork-toggle:hover{background:color-mix(in srgb, var(--ink) 12%, color-mix(in srgb, var(--raised) 92%, transparent))}.profile-title{padding:16px}.wrap{flex-wrap:wrap;gap:8px;display:flex}.profile-title .action{min-height:36px;box-shadow:2px 2px var(--shadow);padding:7px 10px;font-size:12px}.detail-actions{z-index:4;right:22px;top:calc(var(--detail-grip-height,0px) + var(--detail-top-padding,16px) + 8px);gap:8px;display:flex;position:absolute}.detail-action-group{background:color-mix(in srgb, var(--raised) 92%, transparent);border:1px solid var(--outline);border-radius:999px;height:44px;display:flex}.detail-actions .icon-button,.favorites-actions .icon-button{background:0 0;border:0;border-radius:50%;width:42px;height:42px}.detail-actions .detail-close{background:color-mix(in srgb, var(--raised) 92%, transparent);border:1px solid var(--outline);width:44px;height:44px;display:inline-flex}.detail-actions .icon-button:hover,.favorites-actions .icon-button:hover{background:color-mix(in srgb, var(--ink) 12%, transparent)}.detail-actions .detail-close:hover,.favorites-actions .favorites-close:hover{background:color-mix(in srgb, var(--ink) 12%, color-mix(in srgb, var(--raised) 92%, transparent))}.is-favorite{color:var(--pink)}.attendance{font-size:16px;font-weight:var(--weight-strong);align-items:center;gap:8px;margin:18px 0;display:flex}.both{color:var(--violet)}.sat{color:#438cdd}.sun{color:#d98916}.detail-section{margin:20px 0}.detail-section h2{margin:0 0 12px}.offline-badge{border:1px solid var(--ink);background:var(--raised);border-radius:8px;padding:7px 10px;font-size:11px;position:absolute;top:16px;left:16px}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:24px;display:flex}.spinner{border:3px solid var(--outline);border-top-color:var(--pink);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{border:2px solid var(--pink);background:var(--ink);color:var(--paper);z-index:50;opacity:0;pointer-events:none;border-radius:8px;width:max-content;max-width:calc(100% - 32px);padding:13px 18px;font-size:14px;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.visible{opacity:1;transform:translate(-50%)}.update-banner{z-index:8;background:var(--raised);border:1.5px solid var(--ink);box-shadow:3px 3px var(--cyan);border-radius:8px;align-items:center;gap:12px;padding:5px 12px;font-size:12px;display:flex;position:absolute;top:16px;right:80px}.grip{display:none}dialog{color:var(--ink);background:var(--raised);border:1.5px solid var(--ink);padding:0}dialog::backdrop{background:#0009}.selector-dialog{width:min(460px,100% - 32px);max-height:min(80dvh, var(--app-height,100dvh) - 32px);box-shadow:6px 6px var(--pink), 0 18px 64px #0005;border-radius:24px 10px;margin:auto;overflow:hidden}.selector-dialog[open]{flex-direction:column;animation:.34s cubic-bezier(.16,1,.3,1) both popup-in;display:flex}.selector-dialog::backdrop{animation:.22s ease-out both backdrop-in}.selector-dialog.closing{animation:.22s cubic-bezier(.2,.7,.2,1) both popup-out}.selector-dialog.closing::backdrop{animation:.22s ease-out both backdrop-out}.selector-header{flex-shrink:0;align-items:center;gap:12px;padding:20px 16px 12px;display:flex}.selector-header>div{flex:1;min-width:0}.selector-pin{color:#191522;background:var(--yellow);width:48px;height:52px;box-shadow:3px 3px var(--cyan);border:1.5px solid #191522;border-radius:13px 4px;flex-shrink:0;place-items:center;display:grid;transform:rotate(-7deg)}.selector-dialog h2{font-size:24px;font-weight:var(--weight-display);margin:0}.selector-dialog>p{color:var(--muted);flex-shrink:0;padding:0 20px;font-size:12px}.selector-choices{overscroll-behavior:contain;gap:12px;min-height:0;padding:4px 20px 22px;display:grid;overflow-y:auto}.selector-choice-entry{animation:.32s cubic-bezier(.16,1,.3,1) both choice-in;animation-delay:var(--choice-delay);position:relative}.selector-catalog{width:36px;height:36px;color:var(--muted);position:absolute;bottom:5px;right:5px}.selector-choice{text-align:left;background:var(--paper);border:1.5px solid var(--outline);border-radius:14px 5px;flex-direction:column;gap:8px;width:100%;padding:16px 44px 16px 16px;transition:transform .18s ease-out,background-color .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.selector-choice strong{overflow-wrap:anywhere;font-size:18px}.selector-fandoms{color:var(--muted);font-size:12px;line-height:1.5}.selector-day{font-size:12px;font-weight:var(--weight-display);background:color-mix(in srgb, var(--violet) 18%, var(--raised));border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.selector-day.sat{background:color-mix(in srgb, var(--pink) 20%, var(--raised))}.selector-day.sun{background:color-mix(in srgb, var(--cyan) 20%, var(--raised))}.selector-arrow{transition:transform .18s;position:absolute;top:18px;right:15px}.selector-choice.chosen{opacity:1;border-color:var(--cyan);background:color-mix(in srgb, var(--cyan) 16%, var(--paper));box-shadow:3px 3px var(--cyan)}.selector-choice.chosen .selector-arrow{transform:translate(2px,-2px)}@keyframes popup-in{0%{opacity:0;transform:translateY(20px)scale(.88)rotate(-2deg)}70%{opacity:1;transform:translateY(-2px)scale(1.015)rotate(.3deg)}to{opacity:1;transform:none}}@keyframes popup-out{to{opacity:0;transform:translateY(10px)scale(.95)}}@keyframes choice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@media (hover:hover) and (pointer:fine){.selector-choice:hover:not(:disabled),.selector-choice:focus-visible{border-color:var(--ink);box-shadow:3px 3px var(--cyan);transform:translate(-2px,-2px)}.selector-choice:hover .selector-arrow{transform:translate(2px,-2px)}}.gallery-dialog{color:#fff;background:#111;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;overflow:hidden}.gallery-dialog[open]{flex-direction:column;display:flex}.gallery-dialog header{padding:12px max(12px, env(safe-area-inset-right));padding-top:max(12px, env(safe-area-inset-top));align-items:center;gap:4px;display:flex}.gallery-dialog header>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gallery-dialog header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gallery-dialog header span{color:#ccc;font-size:12px}.gallery-stage{touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;flex:1;justify-content:flex-start;align-items:center;min-height:0;display:flex;overflow:auto hidden}.gallery-stage.zoomed{overflow-x:hidden}.gallery-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.gallery-stage p{text-align:center;line-height:1.8}.gallery-stage .action{margin-top:12px}.gallery-dialog footer{padding:8px 16px max(8px, env(safe-area-inset-bottom));color:#ccc;justify-content:space-between;align-items:center;font-size:12px;display:flex}.gallery-pagination{scrollbar-width:none;background:#514d56;border-radius:999px;align-items:center;max-width:calc(100% - 112px);padding:2px 6px;display:flex;overflow-x:auto}.gallery-pagination button{background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:22px;height:24px;padding:0;display:grid}.gallery-pagination button span{background:#fff9;border-radius:999px;width:5px;height:5px;transition:width .2s,background-color .2s}.gallery-pagination button[aria-current=page] span{background:#fff;width:15px}@media (max-width:768px){.app-shell{display:block}.map-region{width:100%;height:100%}.directory-region{pointer-events:none;background:0 0;border:0;width:100%;position:absolute;inset:0}.sheet{pointer-events:auto;height:calc(var(--extent,.2) * 100%);background:var(--raised);border-top:1.5px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:24px 24px 0 0;flex-direction:column;transition:height .32s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;inset:auto 0 0;overflow:clip;box-shadow:0 -2px 16px #0003}.sheet.dragging{transition:none}.grip{touch-action:none;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:28px;min-height:28px;padding:0;display:flex}.grip span{background:var(--ink);opacity:.4;border-radius:5px;width:34px;height:4px;display:block}.search-header{touch-action:pan-x pinch-zoom;padding:0 16px}.desktop-kicker{display:none}.search-box input{padding:12px 10px;font-size:16px}.search-box{height:49px}.suggestions{min-height:45px;padding:10px 16px 7px}.search-sheet .directory{opacity:clamp(0, calc((var(--extent,.2) - var(--collapsed-extent,.2)) / (.94 - var(--collapsed-extent,.2))), 1);transition:opacity .32s cubic-bezier(.2,.7,.2,1)}.search-sheet.dragging .directory{transition:none}.search-sheet.collapsed .directory{pointer-events:none}.sheet-scroll{touch-action:pan-y pinch-zoom}.detail-sheet{--detail-grip-height:28px;--detail-top-padding:10px}.detail-sheet.scroll-locked .sheet-scroll,.detail-sheet.dragging .sheet-scroll{overflow-y:hidden}.detail-actions{right:24px}.detail-content{padding-bottom:30px}.detail-sheet .circle-cut{height:180px}.detail-sheet .circle-cut.expanded{height:auto}.map-actions{left:auto;right:16px;bottom:calc(clamp(16%, 132px, 24%) + 16px + env(safe-area-inset-bottom,0px))}.showing-detail .map-actions{display:none}.map-tools{top:max(12px, env(safe-area-inset-top));right:12px}.map-tools .icon-button{width:40px;height:40px}.update-banner{top:max(12px, env(safe-area-inset-top));gap:5px;font-size:11px;left:12px;right:66px}.offline-badge{top:max(12px, env(safe-area-inset-top));left:12px}.toast{bottom:max(18px, env(safe-area-inset-bottom));font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.booth-avatar{color:#191522;font-size:14px;font-weight:var(--weight-display);letter-spacing:-.02em;box-shadow:2px 2px var(--shadow);border:1.5px solid #191522;border-radius:12px 3px;justify-content:center;align-items:center;display:flex}.kicker{color:var(--muted);border:0;align-items:center;gap:7px;padding-left:0;display:flex}.kicker:before{content:"";background:var(--pink);flex-shrink:0;width:16px;height:4px}.violet-marker:before{background:var(--violet)}.yellow-marker:before{background:var(--yellow)}.tag{border-radius:3px 10px}@media (max-width:768px){.search-header .desktop-kicker{display:none}}.update-banner .icon-button{width:28px;height:28px}.update-banner .text-button{min-height:28px;padding:3px}.update-banner{min-height:38px}.circle-cut{transition:height .2s ease-in-out;overflow:hidden}.circle-cut>img{transition:transform .2s ease-in-out;transform:scale(1.1)}.circle-cut.expanded>img{object-fit:cover;height:100%;transform:scale(1)}.gallery-page{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;min-width:0;height:100%}.gallery-image-viewport{touch-action:pan-x pan-y;scrollbar-width:none;width:100%;height:100%;overflow:auto}.gallery-image-content{justify-content:center;align-items:center;display:flex;position:relative}.gallery-image-content img{object-fit:contain;width:100%;height:100%}.image-loading{z-index:0;pointer-events:none;color:var(--ink);background:radial-gradient(ellipse at center, color-mix(in srgb, var(--violet) 12%, var(--low)), var(--low) 70%);flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .24s ease-out,visibility 0s .24s;display:flex;position:absolute;inset:0;overflow:hidden}.image-loading.is-ready{opacity:0;visibility:hidden}.image-loading.is-ready *,.gallery-page[aria-hidden=true] .image-loading *{animation-play-state:paused}.image-loading-art{width:110px;height:76px;position:relative}.loading-card{border:1.5px solid var(--ink);width:48px;height:58px;box-shadow:2px 3px 0 color-mix(in srgb, var(--ink) 14%, transparent);border-radius:10px 3px;position:absolute;top:10px;left:30px}.card-cyan{background:var(--cyan);transform:translate(-15px)rotate(-18deg)}.card-pink{background:var(--pink);transform:translate(15px)rotate(18deg)}.card-front{background:var(--yellow);color:#191522;place-items:center;animation:1.8s cubic-bezier(.45,0,.3,1) infinite art-card-bob;display:grid}.loading-spark{color:var(--pink);animation:1.8s ease-in-out infinite art-twinkle;position:absolute;top:0;right:0}.loading-confetti{background:var(--cyan);border-radius:2px;width:7px;height:7px;animation:1.8s ease-in-out .45s infinite art-twinkle;position:absolute;bottom:8px;left:1px}.image-loading-caption{font-size:11px;font-weight:var(--weight-label);letter-spacing:.08em;align-items:center;gap:7px;display:flex}.loading-dots{gap:3px;display:flex}.loading-dots i{background:currentColor;border-radius:50%;width:3px;height:3px;animation:1.2s ease-in-out infinite art-dot}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}.loading-image{opacity:0;transition:opacity .24s ease-out}.loading-image.is-ready{opacity:1}.circle-cut>.loading-image{transition:transform .2s ease-in-out,opacity .24s ease-out}@keyframes art-card-bob{0%,to{transform:translateY(2px)rotate(-4deg)}50%{transform:translateY(-5px)rotate(5deg)}}@keyframes art-twinkle{0%,to{opacity:.45;transform:scale(.8)rotate(-12deg)}50%{opacity:1;transform:scale(1.1)rotate(12deg)}}@keyframes art-dot{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.gallery-dialog[open]{animation:.22s ease-out both gallery-in}.gallery-dialog.closing{pointer-events:none;animation:.22s ease-in both gallery-out}@keyframes gallery-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes gallery-out{to{opacity:0;transform:scale(.96)}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (max-width:768px){.sheet{transition:height .32s cubic-bezier(.215,.61,.355,1),transform .35s cubic-bezier(.215,.61,.355,1)}.sheet.sheet-hidden{pointer-events:none;transform:translateY(110%)}.sheet.dragging{transition:none}.detail-presence{pointer-events:none;position:absolute;inset:0}.detail-presence.entering .sheet{animation:.35s cubic-bezier(.215,.61,.355,1) both sheet-in}.detail-presence.exiting .sheet{pointer-events:none;animation:.35s cubic-bezier(.215,.61,.355,1) both sheet-out}}@media (min-width:601px){.gallery-dialog{border-radius:12px;width:min(90vw,1200px);height:min(90dvh,900px);margin:auto}}.gallery-dialog::backdrop{background:#000d}.action,.icon-button,button.tag,a.tag,.text-button,.creator-select{transition:transform .16s cubic-bezier(.2,.7,.2,1),background-color .16s,box-shadow .16s,color .16s}.action svg,.icon-button svg,.booth-avatar,.grip span{transition:transform .22s cubic-bezier(.2,.7,.2,1),color .16s}.search-box{transition:box-shadow .2s,border-color .2s}.search-box:focus-within{border-color:var(--pink);box-shadow:3px 3px var(--pink), 0 0 0 3px color-mix(in srgb, var(--pink) 12%, transparent)}.icon-button:active:not(:disabled),button.tag:active:not(:disabled),a.tag:active,.selector-choice:active:not(:disabled){transform:scale(.94)}.creator-select:active{background:color-mix(in srgb, var(--cyan) 12%, transparent);transform:scale(.985)}.grip:active span{transform:scaleX(1.3)}.is-favorite svg{animation:.38s cubic-bezier(.2,.7,.2,1) favorite-pop}@media (min-width:769px){.directory-region{overflow:hidden}.sidebar-page{--page-shift:20px;flex-direction:column;display:flex;position:absolute;inset:0}.sidebar-search{--page-shift:-12px}.sidebar-page.entering{z-index:2;animation:.3s cubic-bezier(.22,1,.36,1) both sidebar-enter}.sidebar-page.exiting{z-index:1;pointer-events:none;animation:.24s cubic-bezier(.22,1,.36,1) both sidebar-exit}}@keyframes sidebar-enter{0%{opacity:0;transform:translateY(var(--page-shift))}to{opacity:1;transform:translateY(0)}}@keyframes sidebar-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--page-shift))}}@keyframes favorite-pop{0%{transform:scale(.7)rotate(-12deg)}55%{transform:scale(1.25)rotate(8deg)}to{transform:scale(1)rotate(0)}}@media (hover:hover) and (pointer:fine){.action:hover:not(:disabled){box-shadow:4px 5px var(--shadow);transform:translate(-1px,-2px)}.action:active:not(:disabled){box-shadow:1px 1px var(--shadow);transform:translate(2px,2px)}.action:hover svg{transform:rotate(-8deg)scale(1.08)}.icon-button:hover:not(:disabled) svg{transform:scale(1.12)}button.tag:hover,a.tag:hover{box-shadow:0 2px var(--ink);transform:translateY(-2px)}.creator-select:hover .booth-avatar{transform:rotate(-6deg)scale(1.06)}.grip:hover span{transform:scaleX(1.2)}}.update-dialog{text-align:center;padding:28px 24px 22px;overflow-y:auto}.update-dialog h2{font-size:clamp(22px,5vw,28px)}.update-dialog>p{margin:12px 0 24px;padding:0;font-size:14px;line-height:1.65}.update-close{position:absolute;top:12px;right:12px}.update-art{flex-shrink:0;place-items:center;height:136px;display:grid;position:relative}.update-map{background:linear-gradient(90deg, var(--yellow) 33%, #ffec91 33%, #ffec91 66%, var(--yellow) 66%);width:82px;height:84px;box-shadow:5px 5px var(--cyan);border:2px solid #191522;border-radius:18px 5px;animation:.85s ease-in-out .25s both update-hop;position:relative;transform:rotate(-8deg)}.update-eyes{background:#191522;border-radius:50%;width:6px;height:9px;position:absolute;top:31px;left:23px;box-shadow:25px 0 #191522}.update-smile{border:2px solid #191522;border-top:0;border-radius:0 0 20px 20px;width:19px;height:10px;position:absolute;top:45px;left:30px}.update-spark{color:var(--pink);animation:.65s .35s both update-twinkle;position:absolute}.spark-left{color:var(--cyan);top:62px;left:calc(50% - 90px)}.spark-right{animation-delay:.5s;top:24px;right:calc(50% - 94px)}.update-buttons{gap:10px;display:grid}.update-buttons .action{justify-content:center;min-height:48px}.update-buttons .text-button{justify-content:center}@keyframes update-hop{0%,to{transform:translateY(0)rotate(-8deg)}35%{transform:translateY(-15px)rotate(8deg)}65%{transform:translateY(2px)rotate(-12deg)}}@keyframes update-twinkle{0%{opacity:0;transform:scale(.3)rotate(-40deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.update-dialog,.update-art *{animation:none!important}.update-dialog::backdrop{animation:none!important}}.favorites-tag{gap:6px}.favorites-header{flex-shrink:0;align-items:center;gap:12px;padding:22px 20px 16px;display:flex}.favorites-header>div{flex:1}.favorites-header>.favorites-actions{flex:none;gap:8px;display:flex}.favorites-actions .favorites-close{background:color-mix(in srgb, var(--raised) 92%, transparent);border:1px solid var(--outline);width:44px;height:44px}.favorites-header h2{margin:0;font-size:24px}.favorites-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.favorites-heart{color:var(--pink);background:var(--low);border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.favorites-list{touch-action:pan-y pinch-zoom}.favorite-row-presence{display:flow-root;overflow:hidden}.suggestions.favorites-filters{flex-shrink:0;align-items:center;margin-inline:0;padding:0 20px 12px;scroll-padding-inline:20px}.favorites-filters .tag{border-radius:999px;gap:6px}.favorites-filters .tag[aria-pressed=true],.visit-route-days .tag[aria-pressed=true]{background:var(--cyan);color:#111018;border-color:var(--cyan)}.favorites-filter-count{opacity:.7;font-variant-numeric:tabular-nums}.favorites-empty{text-align:center;color:var(--muted);justify-items:center;padding:50px 24px;display:grid}.favorites-empty>svg{color:var(--pink)}.favorites-empty h3{color:var(--ink);margin:20px 0 0}.favorites-empty p{max-width:240px;margin:10px 0 24px;line-height:1.6}@media (max-width:768px){.list-sheet.scroll-locked .sheet-scroll,.list-sheet.dragging .sheet-scroll{overflow-y:hidden}.favorites-header{touch-action:none;padding-top:8px}}.visit-route-controls{flex-shrink:0;padding:10px 16px}.visit-route-controls p{color:var(--muted);margin:8px 0 0;font-size:11px}.visit-route-days{gap:8px;margin-top:10px;display:flex}.visit-route-stops{margin:0;padding:8px 16px;list-style:none}.visit-route-stops li{align-items:flex-start;gap:10px;padding:8px 0;display:flex}.visit-route-stops li>span{color:#191522;background:#ffdc60;border-radius:50%;place-items:center;min-width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.visit-route-stops strong{font-size:12px}.visit-route-stops button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:12px;display:block}.visit-route-stops button:hover{text-decoration:underline}.visit-route-missing{color:var(--muted);padding:0 16px;font-size:12px}.visit-route-stops .visit-stop-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.visit-route-stops .visit-stop-actions button{border:1px solid var(--muted);border-radius:12px;padding:5px 10px;font-size:11px}.visit-route-stops .visit-stop-actions button:hover:not(:disabled){background:color-mix(in srgb, var(--cyan) 15%, transparent);text-decoration:none}.visit-route-stops .visit-stop-actions button:disabled{opacity:.5;cursor:default}.visit-route-stops .visit-stop-skipped{color:var(--muted)}.visit-route-stops .visit-stop-skipped>span{background:color-mix(in srgb, var(--muted) 20%, transparent);color:var(--muted)}.visit-route-start-label{color:var(--muted);margin-left:8px;font-size:10px;display:inline-block}.route-navigation-main{justify-content:space-between;align-items:center;gap:6px;display:flex}.route-navigation-main>div{text-align:center;min-width:0}.route-navigation-main strong,.route-navigation-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.route-navigation-main strong{font-size:14px}.route-navigation-main small{color:var(--muted);margin-top:3px;font-size:11px}.route-navigation-main .icon-button{flex-shrink:0;width:36px;height:36px}.route-navigation-main button:disabled{opacity:.3}.visit-stop-actions button[aria-pressed=true]{background:var(--cyan);color:#191522;border-color:var(--cyan)}.visit-path-header{border-bottom:1px solid var(--outline);flex-shrink:0;padding:4px 16px 12px}.visit-path-title{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.visit-path-title .icon-button{width:32px;height:32px}.visit-path-header .route-navigation-main{min-height:48px}.visit-path-header .route-navigation-main strong{font-size:17px}.visit-path-header .route-navigation-main .icon-button{width:44px;height:44px}.visit-path-content{transition:opacity .18s}.visit-path-collapsed{opacity:0;pointer-events:none}@media (max-width:768px){.visit-path-header{touch-action:none}}.visit-path-header.is-collapsed{border-bottom-color:#0000}.visit-path-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.visit-path-toolbar .visit-route-days{background:var(--paper);border:1px solid var(--outline);border-radius:12px;gap:2px;margin:0;padding:3px;display:inline-flex}.visit-day{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}.visit-day[aria-pressed=true]{color:#191522;background:var(--cyan)}.visit-day:hover:not([aria-pressed=true]){color:var(--ink);background:color-mix(in srgb, var(--cyan) 10%, transparent)}.visit-overview{border:1px solid var(--outline);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700}.visit-overview:hover{background:color-mix(in srgb, var(--cyan) 12%, transparent)}.visit-path-back{border:1px solid var(--outline);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:6px;margin-left:-6px;padding:8px 10px;display:inline-flex}.visit-path-back:hover{background:color-mix(in srgb, var(--cyan) 10%, transparent);color:var(--ink)}.visit-path-header .visit-path-title{margin-bottom:8px}.visit-destination-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;font-weight:600;line-height:18px;display:-webkit-box;overflow:hidden}.visit-day-dialog{width:min(360px,100vw - 32px);color:var(--ink);background:var(--raised);border:1.5px solid var(--ink);box-shadow:5px 5px var(--cyan);border-radius:24px 8px;padding:24px;animation:.24s cubic-bezier(.22,1,.36,1) both popup-in}.visit-day-dialog::backdrop{background:#100d1a99}.visit-day-dialog>svg{color:var(--pink)}.visit-day-dialog h2{margin:12px 0 8px;font-size:20px}.visit-day-dialog p{color:var(--muted);font-size:13px;line-height:1.6}.visit-day-options{gap:12px;margin:20px 0 16px;display:flex}.visit-day-options button{flex:1}.visit-day-cancel{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:auto;padding:8px 12px;font-size:12px;display:block}@media (prefers-reduced-motion:reduce){.visit-day-dialog{animation:none}}.visit-path-title{gap:8px}.visit-path-title .visit-route-days{background:var(--paper);border:1px solid var(--outline);border-radius:12px;flex-shrink:0;gap:2px;margin:0;padding:3px;display:inline-flex}.visit-path-title .visit-day{padding:8px;font-size:11px}.visit-destination-link{color:inherit;font:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--outline);text-decoration-color:var(--outline);text-underline-offset:3px;background:0 0;border:0;padding:2px 4px;display:inline}.visit-destination-link svg{vertical-align:middle;color:var(--muted);margin-left:3px}.visit-destination-link:hover{color:var(--pink);text-decoration-color:currentColor}.visit-path-header .route-navigation-main .multi-booth-destination{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:19px}.visit-any-day{color:var(--muted);background:var(--paper);border-radius:10px;padding:8px 10px;font-size:11px}
