@font-face{font-family:Archivo;src:url('../../assets/fonts/Archivo-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}@font-face{font-family:Noto;src:url('../../assets/fonts/NotoSansTC-400.woff?v=11a1ed61be57') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Noto;src:url('../../assets/fonts/NotoSansTC-700.woff?v=265c73d10a0e') format('woff');font-weight:700;font-display:swap}:root{--acid:#d5ff3f;--ink:#171b13;--paper:#eff0e6;--pink:#f5b3d0;--orange:#ff734b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;font:400 16px/1.7 Noto,Arial,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #9050b8;outline-offset:5px}.skip{position:fixed;top:-100px;left:15px;background:var(--ink);color:var(--acid);padding:12px;z-index:20}.skip:focus{top:15px}.concept{display:flex;justify-content:space-between;padding:8px 40px;background:var(--ink);color:var(--paper);font-size:11px;gap:15px}.concept a{min-height:24px}.header{display:flex;justify-content:space-between;align-items:center;background:var(--acid);padding:22px 40px;border-bottom:2px solid var(--ink);gap:24px}.brand{font-size:36px;font-weight:700;line-height:1;letter-spacing:-.1em;display:flex;gap:13px;align-items:center}.brand>span{font:800 10px/.95 Archivo,sans-serif;letter-spacing:-.02em;border-left:2px solid var(--ink);padding-left:10px}.header nav{display:flex;align-items:center;gap:28px;font-size:13px}.header nav>a{padding:10px 0}.header button{background:none;border:1px solid var(--ink);padding:9px 13px;font-size:12px;min-height:44px}.header button span{background:var(--ink);color:var(--acid);padding:2px 5px;margin-left:12px;font:800 11px Archivo,sans-serif}.hero{background:var(--acid);padding:32px 40px 0;overflow:hidden}.hero-top{display:flex;justify-content:space-between;align-items:flex-start}.hero-top>p{margin:10px 0 0;font-size:16px;font-weight:700;line-height:1.6}.date-stamp{display:grid;grid-template-columns:auto auto;column-gap:10px;transform:rotate(6deg);border:2px solid var(--ink);padding:12px 16px;background:var(--orange);font-family:Archivo,sans-serif;line-height:.88}.date-stamp>span{font-size:13px;writing-mode:vertical-rl;letter-spacing:.2em;padding-top:2px}.date-stamp strong{font-size:39px;letter-spacing:-.07em}.date-stamp small{grid-column:1/-1;font:400 9px/1.4 Noto,sans-serif;margin-top:8px}.poster-title{padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.poster-title h1{margin:0;display:flex;align-items:center;gap:1vw;font-size:clamp(150px,23vw,355px);line-height:1.1;letter-spacing:-.12em;font-weight:700}.gap-mark{width:16vw;max-width:230px;display:flex;align-items:center;margin:10px 0 0 2vw}.gap-mark svg{width:100%;height:auto}.hero-sub{padding-bottom:28px;min-width:220px}.hero-sub>span{font:800 clamp(36px,4.6vw,68px)/.88 Archivo,sans-serif;letter-spacing:-.06em}.hero-sub p{font-size:23px;line-height:1.45;font-weight:700;letter-spacing:-.04em;margin:27px 0 0}.poster-foot{display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--ink);margin-top:20px;padding:18px 0;font-size:12px;gap:20px}.poster-foot a{font-weight:700}.poster-foot a span{display:inline-block;padding-left:38px;font-size:22px}.statement{display:flex;align-items:center;gap:40px;background:var(--ink);color:var(--acid);padding:27px 40px;font-size:clamp(17px,2vw,26px);font-weight:700;letter-spacing:-.03em}.statement svg{width:42px;height:42px;margin-left:auto;flex-shrink:0}.programme{padding:90px 40px 80px;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.kicker{font:800 11px Archivo,sans-serif;letter-spacing:.03em}.section-heading h2{font-size:55px;line-height:1.3;letter-spacing:-.06em;margin:17px 0 0}.section-heading h2 span{font:800 17px Archivo,sans-serif;letter-spacing:-.02em;margin-left:15px}.section-heading p{font-size:13px;margin:0 0 8px}.programme-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:39px;border-bottom:2px solid var(--ink);padding-bottom:18px}.filters{display:flex;gap:6px}.filters button{border:1px solid var(--ink);background:transparent;padding:10px 22px;font-size:13px;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--acid)}.filters button span{font:800 9px Archivo,sans-serif;margin-left:7px}.day-filter{font-size:12px;display:flex;align-items:center;gap:14px}.day-filter select{background:transparent;border:0;border-bottom:1px solid var(--ink);font-size:12px;border-radius:0;padding:11px 23px 11px 4px;min-height:44px}.filter-status{font-size:11px;margin:15px 0;color:#5b6253}.event{display:grid;grid-template-columns:82px 180px 1fr 80px;gap:30px;align-items:center;padding:26px 0;border-bottom:1px solid #929787}.event[hidden]{display:none}.event-date strong{font:800 53px/.95 Archivo,sans-serif;letter-spacing:-.06em}.event-date span{display:block;font:800 10px Archivo,sans-serif;margin-top:8px}.event-art{height:120px;display:grid;place-items:center;overflow:hidden}.event-art svg{width:90%;height:95%}.event-art.sound{background:var(--acid)}.event-art.design{background:var(--pink)}.event-art.city{background:var(--orange)}.art-type{font-size:100px;line-height:1;font-weight:700;transform:rotate(-8deg);letter-spacing:-.1em}.event-category{font-size:10px;font-weight:700;letter-spacing:.02em}.event h3{font-size:27px;line-height:1.4;letter-spacing:-.045em;margin:8px 0}.event p{font-size:13px;line-height:1.7;margin:0;color:#535b4c}.event-meta{font-size:10px;display:block;margin-top:12px;color:#535b4c}.save{width:74px;height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;border-radius:50%;gap:0;font-size:11px;line-height:1.2}.save>span:first-child{font-size:27px;line-height:1}.save[aria-pressed=true]{background:var(--ink);color:var(--acid)}.save:hover{background:var(--acid);color:var(--ink)}.save-label{margin-top:6px}.programme-note{display:flex;gap:30px;margin-top:29px;max-width:760px}.programme-note>span{font-size:12px;font-weight:700;white-space:nowrap}.programme-note p{font-size:11px;line-height:1.8;margin:0;color:#59614f}.no-events{padding:50px 0;font-size:16px}.notice{font-size:13px;padding:15px;border:1px solid var(--ink)}.about{display:grid;grid-template-columns:1fr 3fr;background:var(--pink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:70px 40px;gap:30px}.about-label{font:800 12px Archivo,sans-serif;padding-top:12px}.about-main h2{font-size:clamp(33px,4.3vw,63px);line-height:1.45;letter-spacing:-.055em;margin:0}.about-main>p{font-size:16px;line-height:1.9;max-width:650px;margin-top:30px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:730px;margin-top:45px}.about-grid>div{border-top:1px solid var(--ink);padding-top:18px}.about-grid span{font-size:11px;display:block}.about-grid strong{display:block;font-size:23px;margin-top:10px}.about-grid p{font-size:12px;line-height:1.9;margin-bottom:0}.closing{background:var(--acid);display:grid;grid-template-columns:1fr auto;align-items:center;padding:55px 40px 40px;gap:10px}.closing>span{font:800 clamp(25px,4.7vw,72px)/.95 Archivo,sans-serif;letter-spacing:-.04em}.closing>strong{grid-column:2;grid-row:1/3;font:800 clamp(90px,22vw,320px)/.8 Archivo,sans-serif;letter-spacing:-.09em}.closing a{font-size:13px;justify-self:start;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-top:20px;min-height:44px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 40px;background:var(--acid);border-top:2px solid var(--ink)}footer .brand{font-size:30px}footer p{font-size:10px;margin:0}footer>a:last-child{font-size:12px}dialog{background:var(--paper);color:var(--ink);width:min(620px,calc(100% - 32px));max-height:85vh;padding:28px;border:2px solid var(--ink)}dialog::backdrop{background:#151c13b3;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font:800 10px Archivo,sans-serif}.close{font-size:32px;background:none;border:0;width:44px;height:44px;line-height:1}dialog h2{font-size:36px;letter-spacing:-.05em;margin:20px 0 10px}.dialog-description,.storage-status{font-size:11px;color:#59614f}.saved-item{border-top:1px solid #929787;padding:17px 0;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.saved-item:first-child{margin-top:25px}.saved-item strong{font-size:17px;display:block}.saved-item small{display:block;font-size:11px;margin-top:5px}.saved-item button{background:none;border:1px solid var(--ink);min-height:44px;font-size:11px;padding:8px 12px}.empty-saved{padding:30px 0;font-size:14px}.dialog-actions{display:flex;gap:12px;border-top:2px solid var(--ink);padding-top:18px;margin-top:25px;justify-content:space-between}.dialog-actions button{background:var(--ink);color:var(--acid);border:1px solid var(--ink);padding:10px 16px;font-size:12px;min-height:44px}.dialog-actions button:first-child{background:none;color:var(--ink)}.dialog-actions button:disabled{opacity:.4;cursor:default}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--acid);padding:11px 20px;max-width:calc(100% - 32px);font-size:12px;border:1px solid var(--acid);z-index:30;visibility:hidden}.toast.visible{visibility:visible}
@media(min-width:1600px){.hero,.about,.closing,.header,footer,.statement,.concept{padding-left:max(40px,calc((100vw - 1520px)/2));padding-right:max(40px,calc((100vw - 1520px)/2))}}@media(max-width:1000px){.header,.hero,.concept,.programme,.about,.closing,footer,.statement{padding-left:28px;padding-right:28px}.poster-title{gap:20px}.poster-title h1{font-size:25vw}.gap-mark{width:13vw;margin-left:0}.hero-sub{min-width:170px;padding-bottom:20px}.hero-sub>span{font-size:43px}.hero-sub p{font-size:19px}.event{grid-template-columns:65px 130px 1fr 64px;gap:22px}.event-art{height:105px}.event h3{font-size:23px}.save{width:62px;height:62px}.event p{font-size:12px}.about{grid-template-columns:1fr 4fr}.section-heading h2{font-size:46px}.section-heading h2 span{font-size:13px}.closing>strong{font-size:23vw}}@media(max-width:700px){.concept{padding:7px 18px;font-size:9px;gap:10px;flex-wrap:wrap}.header{padding:20px 18px}.brand{font-size:29px;gap:10px}.brand>span{font-size:8px;padding-left:8px}.header nav{gap:15px;font-size:11px}.header nav>a:nth-child(2){display:none}.header button{padding:7px 8px;font-size:10px}.header button span{margin-left:4px;font-size:9px}.hero{padding:25px 18px 0}.hero-top>p{font-size:13px}.date-stamp{padding:9px 10px}.date-stamp strong{font-size:29px}.date-stamp>span{font-size:10px}.date-stamp small{font-size:8px}.poster-title{display:block;padding-top:22px}.poster-title h1{font-size:35vw;gap:4vw;justify-content:space-between;letter-spacing:-.12em}.gap-mark{width:22vw;max-width:none;margin:5px 0 0}.hero-sub{display:flex;align-items:flex-end;justify-content:space-between;padding:20px 0 8px;gap:15px}.hero-sub>span{font-size:41px}.hero-sub p{font-size:19px;margin:0;line-height:1.55}.poster-foot{flex-wrap:wrap;gap:10px;font-size:10px;margin-top:18px;padding:12px 0}.poster-foot>span:last-child{flex-basis:100%;font-size:9px}.poster-foot a span{padding-left:12px;font-size:18px}.statement{padding:20px 18px;display:grid;grid-template-columns:1fr auto;gap:0;font-size:17px;line-height:1.7}.statement>span:nth-child(2){grid-row:2}.statement svg{grid-column:2;grid-row:1/3;width:35px;height:35px}.programme{padding:55px 18px 50px}.section-heading{display:block}.section-heading h2{font-size:39px;margin-top:12px}.section-heading h2 span{font-size:12px;margin-left:6px}.section-heading>p{font-size:12px;margin:15px 0 0}.section-heading>p br{display:none}.programme-controls{margin-top:24px;display:block;padding-bottom:14px}.filters{gap:4px}.filters button{flex:1;padding:9px 10px;font-size:12px}.filters button span{display:none}.day-filter{justify-content:flex-end;margin-top:15px;font-size:11px;gap:8px}.day-filter select{font-size:11px;padding-block:6px}.filter-status{font-size:10px;margin-top:12px}.event{grid-template-columns:40px 1fr 49px;gap:12px;padding:22px 0}.event-date{align-self:start;padding-top:2px}.event-date strong{font-size:30px}.event-date span{font-size:7px;margin-top:5px}.event-art{grid-column:2;grid-row:1;height:112px;margin-bottom:12px;width:100%;max-width:230px}.event-art svg{width:130px;height:105px}.event-info{grid-column:2;grid-row:2}.event-category{font-size:8px}.event h3{font-size:23px;margin:8px 0}.event p{font-size:12px;line-height:1.8}.event-meta{font-size:9px;line-height:1.7}.save{grid-column:3;grid-row:1/3;align-self:start;width:47px;height:47px;font-size:8px}.save>span:first-child{font-size:20px}.save-label{margin-top:2px}.art-type{font-size:100px}.programme-note{display:block;margin-top:25px}.programme-note p{font-size:10px;margin-top:10px}.about{display:block;padding:45px 18px}.about-label{font-size:10px;padding:0}.about-main h2{font-size:32px;margin-top:22px}.about-main>p{font-size:14px;line-height:1.9;margin-top:23px}.about-grid{display:block;margin-top:30px}.about-grid>div{margin-top:22px}.about-grid strong{font-size:21px}.about-grid p{font-size:12px}.closing{padding:35px 18px;grid-template-columns:1fr;gap:20px}.closing>span{font-size:33px}.closing>strong{grid-column:1;grid-row:auto;font-size:calc(40vw - 12px);line-height:.85;justify-self:start}.closing a{margin-top:10px;font-size:12px}footer{padding:25px 18px;flex-wrap:wrap;gap:20px}footer p{order:3;flex-basis:100%;font-size:10px}footer .brand{font-size:27px}footer>a:last-child{font-size:10px}dialog{padding:21px}dialog h2{font-size:29px}.saved-item strong{font-size:15px}.saved-item small{font-size:10px}.saved-item button{padding:6px 9px;font-size:10px}.toast{font-size:10px;width:max-content;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

html.preview{scroll-behavior:auto}html.preview *,html.preview *::before,html.preview *::after{animation:none!important;transition:none!important;caret-color:transparent!important}
