.spotlight-card{position:relative;isolation:isolate;overflow:hidden;padding:2rem;border-radius:1.5rem;background-color:var(--spotlight-card-surface);box-shadow:var(--spotlight-card-shadow)}.spotlight-card__light,.spotlight-card__grain,.spotlight-card__border,.spotlight-card__edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.spotlight-card__light,.spotlight-card__grain{z-index:-1;opacity:0}.spotlight-card__grain{background-size:160px 160px;mix-blend-mode:overlay}.spotlight-card__border,.spotlight-card__edge{z-index:1;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.spotlight-card__border{background:var(--spotlight-card-border)}.spotlight-card__edge{opacity:0}.shiny-text{position:relative;display:inline-block;background-repeat:no-repeat;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.shiny-text__glow{position:absolute;inset:0;background-repeat:no-repeat;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;filter:blur(.14em);pointer-events:none;user-select:none}.star-border{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.875rem 1.5rem;border:0;border-radius:var(--star-border-radius);background:var(--star-border-surface);color:var(--star-border-text);font:inherit;font-weight:500;line-height:1.25;text-decoration:none;-webkit-tap-highlight-color:transparent}.star-border:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:inset 0 0 0 var(--star-border-thickness) var(--star-border-track);pointer-events:none}.star-border__light{position:absolute;top:-48px;left:-48px;z-index:-1;width:calc(100% + 96px);height:calc(100% + 96px);pointer-events:none}button.star-border,a.star-border{cursor:pointer}.star-border:focus-visible{outline:2px solid var(--star-border-track);outline-offset:3px}.star-border:disabled{cursor:not-allowed;opacity:.5}.cats{position:relative;z-index:70}.cats__wrap{position:relative}.cats__trigger.star-border{gap:.55rem;padding:.44rem .95rem .44rem .8rem;font-family:var(--serif);font-size:.9rem;font-weight:500;letter-spacing:.06em;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s}.cats__trigger.star-border:hover{background:#3a14308c}.cats__trigger .cats__glyph{width:13px;height:13px}.cats__count{font-family:var(--serif);font-size:.78rem;color:var(--gold);padding-left:.55rem;border-left:1px solid rgba(227,169,79,.3);font-variant-numeric:lining-nums tabular-nums}.cats__chev{width:10px;height:6px;color:var(--paper-dim);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.cats.is-open .cats__chev{transform:rotate(180deg)}.cats__glyph{flex:none;width:14px;height:14px;display:block}.cats__scrim{position:fixed;inset:0;z-index:120;pointer-events:none}.cats-layer{position:relative;z-index:120}.cats__panel{position:fixed;z-index:121;width:290px;padding:.85rem .6rem .6rem;border-radius:18px;background:radial-gradient(120% 60% at 100% 0%,rgba(200,64,42,.18),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(227,169,79,.12),transparent 60%),#1c1017b8;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(242,201,131,.22);box-shadow:inset 0 1px #fff4dc1f,inset 0 -1px #0000004d,0 24px 60px #0000008c,0 0 0 1px #00000040;clip-path:inset(0% 0% 0% 0% round 18px)}.cats__grip{display:none}.cats__head{display:flex;justify-content:space-between;align-items:baseline;margin:0 .55rem .55rem;padding-bottom:.55rem;border-bottom:1px solid rgba(243,230,207,.1)}.cats__head span{font-family:var(--serif);font-weight:600;font-size:.95rem;letter-spacing:.14em;color:var(--paper)}.cats__head em{font-family:var(--latin);font-style:italic;font-size:.85rem;letter-spacing:.12em;color:var(--gold)}.cats__list{position:relative;list-style:none;margin:0;padding:0;max-height:min(560px,calc(100vh - 170px));overflow:auto;outline:none;scrollbar-width:thin;scrollbar-color:rgba(227,169,79,.3) transparent}.cats__glide{position:absolute;left:0;top:0;width:100%;height:38px;border-radius:11px;pointer-events:none;transform-origin:left center;background:linear-gradient(90deg,#c8402a61,#e3a94f29 70%,#e3a94f0f);box-shadow:inset 0 0 0 1px #f2c98338,0 6px 18px #c8402a2e}.cats__glide:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:2px;border-radius:2px;background:var(--gold-soft);box-shadow:0 0 8px var(--gold)}.cats__opt{position:relative;display:grid;grid-template-columns:16px 1fr auto 12px;align-items:center;gap:.7rem;padding:.5rem .7rem .5rem .8rem;min-height:38px;border-radius:11px;cursor:pointer;color:var(--paper-dim);transition:color .25s}.cats__opt.is-active{color:var(--paper)}.cats__opt .cats__glyph{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cats__opt.is-active .cats__glyph{transform:scale(1.22) rotate(-8deg)}.cats__name{position:relative;font-family:var(--serif);font-size:.95rem;letter-spacing:.08em;justify-self:start}.cats__opt.is-selected .cats__name{color:var(--gold-soft)}.cats__opt.is-selected .cats__name:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft),#fff4dc,var(--gold-soft),transparent);background-size:200% 100%;animation:cats-shine 2.6s linear infinite}@keyframes cats-shine{0%{background-position:150% 0}to{background-position:-50% 0}}.cats__n{font-family:var(--serif);font-size:.82rem;color:var(--mute);font-variant-numeric:lining-nums tabular-nums}.cats__opt.is-active .cats__n,.cats__opt.is-selected .cats__n{color:var(--gold)}.cats__check{width:12px;height:10px;color:var(--gold-soft);opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s}.cats__opt.is-selected .cats__check{opacity:1;transform:none}.cats__opt.is-empty{opacity:.38}@media (max-width: 640px){.cats__scrim{pointer-events:auto;z-index:120;background:#0a05088c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.cats__panel{position:fixed;left:0;right:0!important;bottom:0;top:auto!important;z-index:121;width:auto;padding:.6rem .9rem calc(1rem + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-bottom:0;clip-path:none}.cats__grip{display:block;width:42px;height:4px;margin:0 auto .8rem;border-radius:4px;background:#f3e6cf40}.cats__head{margin-bottom:.4rem}.cats__list{display:grid;grid-template-columns:1fr 1fr;column-gap:.3rem;max-height:62vh}.cats__opt{min-height:46px;grid-template-columns:16px 1fr auto}.cats__opt .cats__check{display:none}.cats__glide{height:46px}}@media (prefers-reduced-motion: reduce){.cats__opt.is-selected .cats__name:after{animation:none;background-position:50% 0}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--ink: #160d12;--ink-2: #1f1219;--ink-3: #2a1820;--paper: #f3e6cf;--paper-dim: #c9b79c;--mute: #9a8670;--vermilion: #c8402a;--vermilion-2: #e2603f;--gold: #e3a94f;--gold-soft: #f2c983;--line: rgba(243, 230, 207, .12);--serif: "Noto Serif TC", "Songti TC", "Source Han Serif TC", "PMingLiU", serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--latin: "Cormorant Garamond", "Times New Roman", serif;--rail-h: 0px;color-scheme:dark}*{box-sizing:border-box}html{background:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:999px;text-decoration:none}.skip:focus{top:1rem}:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;background:radial-gradient(120% 80% at 80% 10%,rgba(242,180,90,.35),transparent 55%),radial-gradient(90% 70% at 10% 90%,rgba(200,64,42,.45),transparent 60%),linear-gradient(170deg,#3a1430,#22111b 45%,#160d12)}.vanta{position:absolute;inset:0;z-index:-2;opacity:0;transition:opacity 1.6s ease}.vanta.is-live{opacity:1}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(22,13,18,.1) 0%,rgba(22,13,18,0) 40%,rgba(22,13,18,.55) 78%,var(--ink) 100%)}.hero__grain{position:absolute;inset:0;z-index:-1;opacity:.18;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__inner{width:min(1240px,100% - 2.5rem);margin:0 auto;padding:18vh 0 clamp(5rem,12vh,8rem)}.hero__kicker{margin:0 0 1.4rem;font-family:var(--latin);font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:.32em}.hero__title{margin:0;font-family:var(--serif);font-weight:900;line-height:1}.hero__title-a{display:block;font-size:clamp(4.2rem,15vw,12.5rem);letter-spacing:.02em;color:var(--paper);text-shadow:0 10px 60px rgba(200,64,42,.45)}.hero__title-b{display:block;margin-top:1.4rem;font-size:clamp(1.15rem,2.6vw,2rem);font-weight:400;letter-spacing:.18em;color:var(--gold-soft);line-height:1.5}.hero__stats{list-style:none;display:flex;gap:clamp(1.5rem,5vw,4.5rem);margin:clamp(2.2rem,6vh,3.6rem) 0 0;padding:0}.hero__stats li{display:flex;flex-direction:column;gap:.2rem}.hero__num{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1;color:var(--paper);font-variant-numeric:lining-nums tabular-nums}.hero__lbl{font-size:.85rem;letter-spacing:.3em;color:var(--paper-dim)}.hero__cta{margin-top:2.4rem;background:transparent;border:1px solid rgba(243,230,207,.35);border-radius:999px;padding:.8rem 1.5rem;letter-spacing:.2em;cursor:pointer;transition:background .3s,border-color .3s,color .3s}.hero__cta:hover{background:var(--vermilion);border-color:var(--vermilion)}.hero__note{position:absolute;right:1.25rem;bottom:1.2rem;margin:0;font-size:.72rem;letter-spacing:.14em;color:var(--mute);writing-mode:vertical-rl}.rail{position:sticky;top:0;z-index:50;overflow-x:clip;display:flex;align-items:center;gap:1rem;padding:.7rem max(1.25rem,env(safe-area-inset-left));background:#160d12c7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.rail__track{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}.rail__track::-webkit-scrollbar{display:none}.rail__chip{flex:none;background:none;border:1px solid transparent;border-radius:999px;padding:.38rem .8rem;font-family:var(--serif);font-size:.95rem;color:var(--paper-dim);cursor:pointer;white-space:nowrap;transition:color .25s,background .25s,border-color .25s}.rail__chip sup{font-family:var(--latin);font-size:.72em;margin-left:.2em;color:var(--gold)}.rail__chip:hover{color:var(--paper);border-color:var(--line)}.rail__chip.is-active{background:var(--vermilion);color:#fff7ea}.rail__chip.is-active sup{color:#ffe1ad}.rail__chip:disabled{opacity:.3;cursor:default}.rail__filters{display:flex;gap:.5rem;flex:none}.seg{display:flex;border:1px solid var(--line);border-radius:999px;padding:2px}.seg button{background:none;border:0;border-radius:999px;padding:.32rem .8rem;font-size:.85rem;color:var(--paper-dim);cursor:pointer;white-space:nowrap}.seg button.is-on{background:var(--paper);color:var(--ink)}.main{width:min(1240px,100% - 2.5rem);margin:0 auto;padding:3rem 0 4rem}.main__status{margin:0 0 1rem;color:var(--mute);font-size:.85rem;letter-spacing:.12em}.empty{padding:4rem 0;text-align:center;color:var(--paper-dim)}.empty button{background:var(--vermilion);border:0;border-radius:999px;padding:.6rem 1.2rem;cursor:pointer}.district{padding:clamp(3rem,8vw,6rem) 0 1rem;scroll-margin-top:80px}.district__head{display:flex;align-items:flex-end;gap:clamp(1rem,3vw,2.5rem)}.district__num{font-family:var(--latin);font-style:italic;font-size:clamp(4.5rem,12vw,9rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(227,169,79,.65);display:inline-block}.district__title{margin:0;font-family:var(--serif);font-weight:900;font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.05;letter-spacing:.06em;outline:none}.district__title em{display:block;font-family:var(--latin);font-weight:500;font-size:.38em;letter-spacing:.3em;color:var(--gold);margin-top:.5em;text-transform:uppercase}.district__meta{margin:.4rem 0 0;color:var(--paper-dim);font-size:.9rem;letter-spacing:.1em}.district__rule{height:1px;margin:1.8rem 0 2rem;background:linear-gradient(90deg,var(--vermilion),var(--gold) 30%,var(--line) 60%,transparent)}.venue{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:1.5rem 2.5rem;padding:1.6rem 0 2.2rem;border-top:1px dashed var(--line)}.venue:first-of-type{border-top:0;padding-top:0}.venue__label{position:sticky;top:calc(var(--rail-h) + 84px);align-self:start}.venue__name{margin:0;font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.4}.venue__name:before{content:"";display:inline-block;width:.5em;height:.5em;margin-right:.5em;vertical-align:.18em;background:var(--vermilion);transform:rotate(45deg)}.venue__addr{margin:.4rem 0 0;color:var(--mute);font-size:.82rem}.venue__map{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(227,169,79,.4)}.venue__map:hover{color:var(--gold-soft)}.venue__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem}.ev.spotlight-card{--spotlight-card-surface: linear-gradient(160deg, #24141c, #1a0f15) !important;padding:1.35rem 1.4rem 1.2rem;border-radius:1.1rem;background:linear-gradient(160deg,#26151d,#1b1016);display:flex}.ev article{display:flex;flex-direction:column;gap:.55rem;width:100%}.ev__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.ev__date{display:flex;flex-direction:column}.ev__date-main{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:1.25rem;letter-spacing:.04em;line-height:1;color:var(--gold-soft);font-variant-numeric:tabular-nums;letter-spacing:.02em}.ev__date.is-ongoing .ev__date-main{font-family:var(--serif);font-size:1rem;color:var(--paper-dim);line-height:1.5}.ev__date-sub{font-size:.72rem;letter-spacing:.2em;color:var(--mute);margin-top:.3rem}.ev__cat{flex:none;font-size:.72rem;letter-spacing:.12em;padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(243,230,207,.22);color:var(--paper-dim);white-space:nowrap}.ev__cat.cat-表演藝術,.ev__cat.cat-舞蹈{border-color:#e2603f99;color:#f3a58c}.ev__cat.cat-音樂{border-color:#e3a94f99;color:var(--gold-soft)}.ev__cat.cat-展覽{border-color:#aac4ba73;color:#bcd3c9}.ev__cat.cat-節慶,.ev__cat.cat-市集展會{background:var(--vermilion);border-color:var(--vermilion);color:#fff3e2}.ev__title{margin:.2rem 0 0;font-family:var(--serif);font-weight:600;font-size:1.08rem;line-height:1.5;color:var(--paper)}.ev__desc{margin:0;font-size:.88rem;line-height:1.7;color:var(--paper-dim)}.ev__meta{display:grid;grid-template-columns:auto 1fr;gap:.15rem .8rem;margin:.3rem 0 0;font-size:.8rem}.ev__meta dt{color:var(--mute);letter-spacing:.15em}.ev__meta dd{margin:0;color:var(--paper)}.ev__link{margin-top:auto;padding-top:.6rem;align-self:flex-start;font-size:.8rem;letter-spacing:.12em;color:var(--gold);text-decoration:none;position:relative}.ev__link:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.ev__link:hover:after,.ev__link:focus-visible:after{transform:scaleX(1)}.mapsec{position:relative;width:min(1240px,100% - 2.5rem);margin:0 auto;padding:clamp(3.5rem,9vw,7rem) 0 clamp(1rem,3vw,2rem);display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;border-bottom:1px solid var(--line)}.mapsec__text{position:sticky;top:calc(84px + 2rem)}.mapsec__kicker{margin:0 0 1rem;font-family:var(--latin);letter-spacing:.32em;color:var(--gold);font-size:.95rem}.mapsec__title{margin:0;font-family:var(--serif);font-weight:900;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.15;letter-spacing:.06em}.mapsec__lede{margin:1.4rem 0 0;color:var(--paper-dim);font-size:.95rem;line-height:1.9}.mapsec__hint{margin:.9rem 0 0;color:var(--mute);font-size:.8rem;letter-spacing:.08em}.tmap{position:relative}.tmap__svg{display:block;width:100%;height:auto;overflow:visible;-webkit-tap-highlight-color:transparent}.tmap__fill{fill:var(--gold);stroke:none;transition:fill-opacity .7s ease,fill .3s}.tmap__fill.is-int{cursor:pointer;outline:none}.tmap__fill.is-int:hover,.tmap__fill.is-int:focus-visible{fill:var(--gold-soft);stroke:var(--gold-soft);stroke-width:1.6;fill-opacity:.55!important}.tmap__fill.is-off{cursor:default}.tmap__strokes{pointer-events:none}.tmap__stroke{fill:none;stroke:#f2c9839e;stroke-width:.8;stroke-linejoin:round}.tmap__outline{stroke:var(--vermilion-2);stroke-width:1.4;opacity:.85}.tmap__corebox{fill:none;stroke:var(--gold-soft);stroke-width:1;stroke-dasharray:3 3;opacity:.9}.tmap__leadline{fill:none;stroke:#f2c98373;stroke-width:.8}.tmap__inset-bg{fill:#160d12b8;stroke:#e3a94f73;stroke-width:1}.tmap__inset-title{fill:var(--gold);font-family:var(--serif);font-size:13px;letter-spacing:.3em}.tmap__labels{pointer-events:none}.tmap__lname{font-family:var(--serif);font-weight:600;fill:var(--paper);letter-spacing:.08em;paint-order:stroke;stroke:#160d12d9;stroke-width:3.5px;stroke-linejoin:round}.tmap__lnum{font-family:var(--serif);fill:var(--gold-soft);letter-spacing:.1em;paint-order:stroke;stroke:#160d12d9;stroke-width:3px}.tmap__label.is-off .tmap__lname,.tmap__label.is-off .tmap__lnum{fill:var(--mute)}.tmap__venue{cursor:pointer}.tmap__hit{fill:transparent}.tmap__dot{fill:#fff3dc;stroke:var(--vermilion);stroke-width:1.4;filter:drop-shadow(0 0 4px rgba(242,201,131,.95))}.tmap__venue.is-approx .tmap__dot{fill:#f2c9831f;stroke:var(--gold-soft);stroke-dasharray:2 2;filter:none}.tmap__pulse{fill:url(#tmap-glow);transform-box:fill-box;transform-origin:center;animation:tmap-pulse 2.8s ease-out infinite;pointer-events:none}.tmap__venue:nth-child(3n) .tmap__pulse{animation-delay:-.9s}.tmap__venue:nth-child(3n+1) .tmap__pulse{animation-delay:-1.8s}.tmap__venue:hover .tmap__dot{fill:var(--gold-soft)}@keyframes tmap-pulse{0%{transform:scale(.35);opacity:.95}70%{opacity:0}to{transform:scale(1.25);opacity:0}}.tmap__tip{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 12px));min-width:168px;max-width:250px;padding:.75rem .95rem .7rem;border-radius:.7rem;background:#1f1219f0;border:1px solid rgba(227,169,79,.45);box-shadow:0 14px 40px #00000073;backdrop-filter:blur(8px);pointer-events:auto}.tmap__tip.is-below{transform:translate(-50%,28px)}.tmap__tip:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:inherit;border:inherit;border-top:0;border-left:0;transform:translate(-50%) rotate(45deg)}.tmap__tip.is-below:after{bottom:auto;top:-6px;transform:translate(-50%) rotate(225deg)}.tmap__tip p{margin:0}.tmap__tip-title{font-family:var(--serif);font-weight:600;font-size:1rem;line-height:1.4;color:var(--paper)}.tmap__tip-sub{font-size:.74rem;letter-spacing:.2em;color:var(--gold);margin-top:.15rem!important;text-transform:uppercase}.tmap__tip-count{margin-top:.45rem!important;font-size:.82rem;color:var(--paper-dim)}.tmap__tip-count strong{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--gold-soft);margin-right:.15em}.tmap__tip-note{margin-top:.35rem!important;font-size:.72rem;color:var(--mute)}.tmap__tip-go{margin-top:.55rem;background:var(--vermilion);border:0;border-radius:999px;padding:.35rem .85rem;font-size:.8rem;letter-spacing:.1em;cursor:pointer}.tmap__legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:.8rem 0 0;padding:0;justify-content:flex-end;font-size:.75rem;letter-spacing:.12em;color:var(--mute)}.tmap__legend li{display:flex;align-items:center;gap:.5rem}.lg{display:inline-block;width:12px;height:12px}.lg--fill{width:26px;height:8px;background:linear-gradient(90deg,#e3a94f1a,#e3a94f8c);border:1px solid rgba(242,201,131,.5)}.lg--dot{border-radius:50%;background:#fff3dc;border:1.5px solid var(--vermilion);box-shadow:0 0 6px #f2c983e6;width:9px;height:9px}.lg--approx{border-radius:50%;border:1.5px dashed var(--gold-soft)}.main{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:2.5rem;align-items:start}.main__body{min-width:0}.mini{position:sticky;top:calc(84px + 1.5rem);margin-top:clamp(3rem,8vw,6rem);opacity:.35;transition:opacity .5s}.mini.is-visible{opacity:1}.mini__toggle{display:none}.mini__frame{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:radial-gradient(90% 90% at 30% 20%,rgba(200,64,42,.16),transparent 70%),var(--ink-2)}.mini__svg{display:block;width:100%;height:100%}.mini__d{fill:var(--gold);stroke:#f2c98366;stroke-width:.6;transition:fill-opacity .6s,fill .4s}.mini__d.is-active{fill:var(--vermilion);stroke:var(--gold-soft);stroke-width:1.4}.mini__outline{fill:none;stroke:var(--vermilion-2);stroke-width:1;opacity:.8}.mini__v{stroke:#f3e6cf73;stroke-width:4;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}.mini__v.is-active{stroke:#fff3dc;stroke-width:8;filter:drop-shadow(0 0 3px rgba(242,201,131,.95))}.mini__v.is-active.is-approx{stroke:var(--gold-soft);stroke-width:7;opacity:.7}.mini__v.is-hot{stroke:var(--gold-soft);stroke-width:13}.mini__compass{position:absolute;right:.65rem;top:.45rem;font-family:var(--latin);font-size:.8rem;color:var(--mute);letter-spacing:.1em}.mini__compass:after{content:"";display:block;width:1px;height:12px;margin:2px auto 0;background:var(--mute)}.mini__cap{padding:.9rem .2rem 0}.mini__where{margin:0;font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:.06em}.mini__where em{display:block;font-family:var(--latin);font-style:normal;font-weight:500;font-size:.7rem;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}.mini__k{display:block;font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.3em;color:var(--mute);margin-bottom:.15rem}.mini__list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.1rem;max-height:38vh;overflow:auto;scrollbar-width:thin}.mini__list button{display:flex;justify-content:space-between;gap:.6rem;width:100%;text-align:left;background:none;border:0;border-top:1px dashed var(--line);padding:.45rem .1rem;font-size:.8rem;color:var(--paper-dim);cursor:pointer}.mini__list button:hover,.mini__list button:focus-visible{color:var(--paper)}.mini__vn:before{content:"";display:inline-block;width:.42em;height:.42em;margin-right:.5em;vertical-align:.15em;background:var(--vermilion);transform:rotate(45deg)}.mini__vc{font-family:var(--serif);color:var(--gold)}.loc{display:block;width:44px;height:44px;margin-bottom:.6rem}.loc__d{fill:#e3a94f1a;stroke:#f2c9838c;stroke-width:.8}.loc__glow{fill:#f2c9834d}.loc__dot{fill:#fff3dc;stroke:var(--vermilion);stroke-width:1}.loc__ring{fill:none;stroke:var(--gold-soft);stroke-width:1;stroke-dasharray:2 2}.venue__name:focus{outline:none}@media (max-width: 1100px){.main{display:block}.mini{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));top:auto;margin:0;z-index:60;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .35s,transform .35s}.mini.is-visible,.mini.is-open{opacity:1;pointer-events:auto;transform:none}.mini__toggle{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;float:right;padding:.55rem .95rem .55rem .75rem;border-radius:999px;border:1px solid rgba(227,169,79,.55);background:#1f1219e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--serif);font-size:.9rem;letter-spacing:.08em;color:var(--paper);cursor:pointer;box-shadow:0 10px 30px #0006}.mini__toggle svg{width:18px;height:18px;color:var(--gold)}.mini__body{display:none;clear:both}.mini.is-open .mini__body{display:block;width:min(280px,calc(100vw - 2rem));margin-bottom:.6rem;padding:.8rem;border-radius:1.1rem;border:1px solid var(--line);background:#160d12f2;backdrop-filter:blur(12px);box-shadow:0 20px 50px #00000080}.mini.is-open{display:flex;flex-direction:column-reverse;align-items:flex-end}.mini__list{max-height:26vh}}@media (max-width: 900px){.mapsec{grid-template-columns:1fr;gap:1.5rem}.mapsec__text{position:static}.mapsec__title br{display:none}.tmap__legend{justify-content:flex-start}}@media (max-width: 760px){.tmap__inset-title{font-size:18px}}@media (prefers-reduced-motion: reduce){.tmap__pulse{display:none}}.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;width:min(1240px,100% - 2.5rem);margin:0 auto;padding:3rem 0 calc(3rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--paper-dim);font-size:.85rem}.foot__brand{font-family:var(--serif);font-weight:900;font-size:1.6rem;color:var(--paper);margin:0 0 .6rem;letter-spacing:.1em}.foot__fine{margin-top:.5rem;font-size:.7rem;color:var(--mute);letter-spacing:.04em}.foot__fine a{border-bottom:0}.foot__h{margin:0 0 .6rem;letter-spacing:.25em;color:var(--gold);font-size:.78rem}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.foot a{text-decoration:none;border-bottom:1px solid var(--line)}.foot a:hover{color:var(--paper)}@media (max-width: 900px){.rail{flex-direction:column;align-items:stretch;gap:.5rem;padding:.55rem 1rem}.rail__filters{justify-content:space-between}.venue{grid-template-columns:1fr;gap:.9rem}.venue__label{position:static}.foot{grid-template-columns:1fr}}@media (max-width: 480px){.hero__inner{padding-top:14vh}.hero__title-b{letter-spacing:.08em}.hero__note{writing-mode:horizontal-tb;left:1.25rem;right:auto}.seg button{padding:.3rem .65rem}.ev__date-main{font-size:1.35rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
