.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(#000000 0 0) content-box,linear-gradient(#000000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000000 0 0) content-box exclude,linear-gradient(#000000 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:#143c2d8c}.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(233,180,76,.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(47,143,102,.18),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(233,180,76,.12),transparent 60%),#101e18b8;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(245,212,138,.22);box-shadow:inset 0 1px #fbf6e01f,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(238,241,230,.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(233,180,76,.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,#2f8f6661,#e9b44c29 70%,#e9b44c0f);box-shadow:inset 0 0 0 1px #f5d48a38,0 6px 18px #2f8f662e}.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),#fbf6e0,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:#040a088c;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:#eef1e640}.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}}.ev__head{position:relative}.favheart{position:relative;flex:none;width:36px;height:36px;margin:-.45rem -.55rem 0 -.2rem;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--paper-dim);cursor:pointer;transition:color .25s,background .25s;-webkit-tap-highlight-color:transparent}.favheart:hover{color:var(--gold-soft);background:#f5d48a14}.favheart.is-on{color:var(--gold)}.favheart__icon{display:grid;place-items:center;width:22px;height:22px}.favheart__icon svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 0 rgba(245,190,95,0));transition:filter .3s}.favheart.is-on .favheart__icon svg{filter:drop-shadow(0 0 6px rgba(245,190,95,.45))}.favheart__icon.is-pop{animation:fav-pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes fav-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.favheart__burst{position:absolute;inset:0;pointer-events:none}.favheart__burst i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 6px #f5be5fe6;opacity:0;animation:fav-spark .6s ease-out forwards;transform:rotate(var(--a)) translateY(0)}.favheart__burst i:nth-child(2n){width:3px;height:3px;background:var(--gold);animation-duration:.5s}@keyframes fav-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(-6px) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-24px) scale(.4)}}.favfab{position:fixed;z-index:58;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:.55rem;padding:.62rem .7rem .62rem 1rem;border-radius:999px;cursor:pointer;border:1px solid rgba(233,180,76,.6);background:#122019e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--paper);font-family:var(--serif);font-size:.92rem;letter-spacing:.08em;box-shadow:0 12px 34px #00000073;transition:opacity .3s,transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,bottom .35s cubic-bezier(.2,.7,.2,1)}.favfab svg{width:18px;height:18px;color:var(--gold)}.favfab:hover{border-color:var(--gold-soft);transform:translateY(-2px)}.favfab.is-empty{opacity:.62;border-color:#eef1e633}.favfab.is-empty svg{color:var(--paper-dim)}.favfab.is-empty:hover,.favfab.is-empty:focus-visible{opacity:1}.favfab__badge{min-width:1.5rem;height:1.5rem;padding:0 .4rem;display:grid;place-items:center;border-radius:999px;font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:0;color:var(--ink);background:linear-gradient(120deg,var(--gold-soft),var(--gold));font-variant-numeric:tabular-nums}.favfab.is-empty .favfab__badge{background:#eef1e629;color:var(--paper-dim)}.favfab__badge.is-bump{animation:fav-bump .55s cubic-bezier(.3,1.6,.5,1)}@keyframes fav-bump{0%{transform:scale(1)}35%{transform:scale(1.45) translateY(-3px)}to{transform:scale(1)}}@media (max-width: 1100px){.favfab.is-raised{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 3.5rem)}.favfab{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}}@media (max-width: 640px){.favfab{padding:.55rem .55rem .55rem .7rem;gap:.4rem}.favfab__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.favd{position:fixed;inset:0;z-index:90}.favd__overlay{position:absolute;inset:0;background:#050a089e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:favd-fade .3s ease both}.favd__panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;outline:none;background:linear-gradient(165deg,#16271ff5,#0c1613f7);border-left:1px solid rgba(233,180,76,.28);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:-30px 0 80px #0000008c;padding-bottom:env(safe-area-inset-bottom);animation:favd-in-r .42s cubic-bezier(.2,.8,.2,1) both}.favd.is-closing .favd__panel{animation:favd-out-r .26s ease-in both}.favd.is-closing .favd__overlay{animation:favd-fade .26s ease reverse both}@keyframes favd-fade{0%{opacity:0}to{opacity:1}}@keyframes favd-in-r{0%{transform:translate(100%)}to{transform:none}}@keyframes favd-out-r{to{transform:translate(100%)}}.favd__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.4rem 1.4rem .9rem;border-bottom:1px solid var(--line)}.favd__kicker{margin:0 0 .25rem;font-family:var(--latin);font-style:italic;font-size:.85rem;letter-spacing:.18em;color:var(--gold)}.favd__title{margin:0;font-family:var(--serif);font-weight:900;font-size:1.5rem;letter-spacing:.08em;display:flex;align-items:center;gap:.6rem}.favd__count{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:0;padding:.1rem .55rem;border-radius:999px;color:var(--ink);background:linear-gradient(120deg,var(--gold-soft),var(--gold))}.favd__close{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#eef1e60a;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--paper-dim);transition:color .2s,border-color .2s}.favd__close:hover{color:var(--paper);border-color:var(--gold)}.favd__tools{display:flex;flex-wrap:wrap;gap:.5rem;padding:.9rem 1.4rem 0}.favd__confirm{display:inline-flex;gap:.4rem}.favd__btn{padding:.5rem .95rem;border-radius:999px;border:1px solid rgba(238,241,230,.22);background:#eef1e60d;font-size:.85rem;letter-spacing:.06em;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.favd__btn:hover{border-color:var(--gold-soft)}.favd__btn:disabled{opacity:.6;cursor:progress}.favd__btn--gold{color:var(--ink);font-weight:700;border-color:transparent;background:linear-gradient(120deg,var(--gold-soft),var(--gold))}.favd__btn--gold:hover{filter:brightness(1.06)}.favd__btn--ghost{margin-left:auto;color:var(--paper-dim)}.favd__btn--danger{background:#8b3a2b;border-color:#b4553f;color:#fff3e2}.favd__confirm{margin-left:auto}.favd__lead{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .8rem;padding:.8rem 1.4rem .2rem;font-size:.8rem}.favd__lead-k{color:var(--mute);letter-spacing:.15em}.favd__seg{display:inline-flex}.favd__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.6rem 1.4rem 1.6rem;scrollbar-width:thin}.favd__list{list-style:none;margin:0;padding:0}.favd__item{display:grid;grid-template-columns:4.6rem 1fr;gap:.9rem;padding:1rem 0;border-bottom:1px dashed var(--line)}.favd__date{display:flex;flex-direction:column;font-family:var(--serif);color:var(--gold-soft);font-size:1.02rem;line-height:1.2;font-variant-numeric:tabular-nums}.favd__date small{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;color:var(--mute);margin-top:.3rem}.favd__date.is-ongoing{font-size:.82rem;color:var(--paper-dim)}.favd__ititle{margin:0;font-family:var(--serif);font-weight:600;font-size:.98rem;line-height:1.45}.favd__meta{margin:.2rem 0 0;font-size:.78rem;color:var(--paper-dim)}.favd__time{color:var(--mute)}.favd__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.favd__act{padding:.28rem .65rem;border-radius:999px;border:1px solid rgba(43,124,89,.7);background:#2b7c5929;color:#cfe7da;font-size:.75rem;letter-spacing:.04em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.favd__act:hover{background:#2b7c5959;border-color:var(--vermilion-2)}.favd__act--rm{border-color:#eef1e62e;background:none;color:var(--mute)}.favd__act--rm:hover{color:var(--paper);background:#eef1e60f;border-color:#eef1e659}.favd__remind{margin-top:.55rem;font-size:.75rem;color:var(--mute)}.favd__remind label{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.favd__remind select{font:inherit;color:var(--paper);background:#0c1613e6;border:1px solid var(--line);border-radius:.4rem;padding:.2rem .4rem}.favd__late{color:#d9a08f}.favd__soon{color:var(--gold)}.favd__empty{padding:3rem .5rem;text-align:center}.favd__empty-t{margin:0;font-family:var(--serif);font-size:1.1rem;color:var(--paper)}.favd__empty-h{margin:.5rem 0 0;font-size:.85rem;color:var(--mute)}.favd__muted{margin:1.2rem 0 0;padding:.8rem 1rem;border-radius:.8rem;border:1px dashed rgba(238,241,230,.16);font-size:.8rem;line-height:1.7;color:var(--mute)}.favd__email{position:relative;margin-top:1.2rem;padding:1rem 1.1rem;border-radius:1rem;border:1px solid rgba(233,180,76,.3);background:radial-gradient(120% 120% at 100% 0%,rgba(245,190,95,.1),transparent 60%),#12201999}.favd__email--done{font-size:.88rem;line-height:1.7;color:var(--paper)}.favd__email--done b{color:var(--gold-soft);word-break:break-all}.favd__email-t{margin:0;font-family:var(--serif);font-size:1.05rem;letter-spacing:.08em}.favd__email-d{margin:.3rem 0 .7rem;font-size:.78rem;color:var(--paper-dim)}.favd__email-row{display:flex;gap:.5rem}.favd__email-row input{flex:1;min-width:0;font:inherit;font-size:16px;padding:.5rem .8rem;border-radius:999px;border:1px solid rgba(238,241,230,.22);background:#050a0880;color:var(--paper)}.favd__email-row input:focus{outline:2px solid var(--gold-soft);outline-offset:1px}.favd__email-msg{min-height:1em;margin:.45rem 0 0;font-size:.78rem;color:#e6a28f}.favd__privacy{margin:.3rem 0 0;font-size:.7rem;line-height:1.65;color:var(--mute)}.favd__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media (max-width: 640px){.favd__panel{top:auto;left:0;width:100%;max-height:88svh;border-left:0;border-top:1px solid rgba(233,180,76,.35);border-radius:1.3rem 1.3rem 0 0;animation-name:favd-in-b;box-shadow:0 -24px 60px #0000008c}.favd__panel:before{content:"";position:absolute;top:.5rem;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:#eef1e633}.favd.is-closing .favd__panel{animation-name:favd-out-b}.favd__head{padding:1.3rem 1.1rem .8rem}.favd__tools,.favd__lead{padding-left:1.1rem;padding-right:1.1rem}.favd__body{padding:.5rem 1.1rem 1.4rem}.favd__item{grid-template-columns:3.9rem 1fr;gap:.7rem}.favd__seg button{padding:.3rem .55rem;font-size:.78rem}}@keyframes favd-in-b{0%{transform:translateY(100%)}to{transform:none}}@keyframes favd-out-b{to{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){.favheart__icon.is-pop,.favfab__badge.is-bump,.favd__panel,.favd__overlay{animation:none!important}.favheart__burst{display:none}.favfab{transition:none}}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: #0c1613;--ink-2: #122019;--ink-3: #1a2c24;--paper: #eef1e6;--paper-dim: #b9c4b3;--mute: #879483;--vermilion: #2b7c59;--vermilion-2: #4fb486;--gold: #e9b44c;--gold-soft: #f5d48a;--line: rgba(238, 241, 230, .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(245,190,95,.35),transparent 55%),radial-gradient(90% 70% at 10% 90%,rgba(47,143,102,.45),transparent 60%),linear-gradient(170deg,#143a2c,#13231c 45%,#0c1613)}.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(12,22,19,.1) 0%,rgba(12,22,19,0) 40%,rgba(12,22,19,.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(47,143,102,.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(238,241,230,.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:#0c1613c7;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(233,180,76,.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(233,180,76,.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, #15251e, #0e1a15) !important;padding:1.35rem 1.4rem 1.2rem;border-radius:1.1rem;background:linear-gradient(160deg,#16271f,#0f1b16);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(238,241,230,.22);color:var(--paper-dim);white-space:nowrap}.ev__cat.cat-表演藝術,.ev__cat.cat-舞蹈{border-color:#4fb48699;color:#f3a58c}.ev__cat.cat-音樂{border-color:#e9b44c99;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:#f5d48a9e;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:#f5d48a73;stroke-width:.8}.tmap__inset-bg{fill:#0c1613b8;stroke:#e9b44c73;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:#0c1613d9;stroke-width:3.5px;stroke-linejoin:round}.tmap__lnum{font-family:var(--serif);fill:var(--gold-soft);letter-spacing:.1em;paint-order:stroke;stroke:#0c1613d9;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:#fbf6e0;stroke:var(--vermilion);stroke-width:1.4;filter:drop-shadow(0 0 4px rgba(245,212,138,.95))}.tmap__venue.is-approx .tmap__dot{fill:#f5d48a1f;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:#122019f0;border:1px solid rgba(233,180,76,.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,#e9b44c1a,#e9b44c8c);border:1px solid rgba(245,212,138,.5)}.lg--dot{border-radius:50%;background:#fbf6e0;border:1.5px solid var(--vermilion);box-shadow:0 0 6px #f5d48ae6;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(47,143,102,.16),transparent 70%),var(--ink-2)}.mini__svg{display:block;width:100%;height:100%}.mini__d{fill:var(--gold);stroke:#f5d48a66;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:#eef1e673;stroke-width:4;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}.mini__v.is-active{stroke:#fbf6e0;stroke-width:8;filter:drop-shadow(0 0 3px rgba(245,212,138,.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:#e9b44c1a;stroke:#f5d48a8c;stroke-width:.8}.loc__glow{fill:#f5d48a4d}.loc__dot{fill:#fbf6e0;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(233,180,76,.55);background:#122019e6;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:#0c1613f2;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}}@media (max-width: 760px){.foot{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}.ev__tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;flex:none;max-width:60%}.ev__youth{font-size:.72rem;letter-spacing:.1em;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;color:var(--ink);background:linear-gradient(120deg,var(--gold-soft),var(--gold));font-weight:600}.seg--youth{align-items:center;gap:.3rem;background:none;padding:.32rem .85rem;font-size:.85rem;color:var(--gold-soft);cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .25s,color .25s,border-color .25s}.seg--youth:hover{border-color:var(--gold)}.seg--youth.is-on{background:linear-gradient(120deg,var(--gold-soft),var(--gold));color:var(--ink);border-color:transparent;font-weight:600}.seg--youth:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}@media (max-width: 480px){.rail__filters{gap:.35rem}.seg--youth{padding:.3rem .6rem;font-size:.8rem}}@media (max-width: 520px){.rail__filters{flex-wrap:wrap;justify-content:flex-start;row-gap:.4rem}.rail__filters>.seg:first-child{flex:1 1 100%}.rail__filters>.seg:first-child button{flex:1}.rail__filters>.cats,.rail__filters>:last-child{margin-left:auto}}
