@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-light.ttf");font-weight:300;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-regular.ttf");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/ibm-plex-sans-bold.ttf");font-weight:700;font-display:swap}
:root{--purple:#5D00FF;--pink:#FF2E9A;--blue:#0DFCFC}
body{font-family:"IBM Plex Sans","PingFang TC","Microsoft JhengHei",Arial,sans-serif}
html{scroll-behavior:smooth}
.site-shell{background:radial-gradient(ellipse at top,rgba(93,0,255,.2),transparent 600px),#111014}
.hero{padding-top:140px}
.hero h1{background:none;color:#fff;line-height:1.04;letter-spacing:-.055em}
html[lang="zh-Hant"] .hero h1{letter-spacing:-.03em}
.date-pill.active{background:linear-gradient(110deg,#5D00FF,#9A11D9,#FF2E9A)}
.program-strip{background:linear-gradient(100deg,#5D00FF,#9A11D9,#FF2E9A)}
.site-header{position:fixed;z-index:100;top:16px;left:50%;transform:translateX(-50%);width:min(94%,1500px);height:70px;padding:0 22px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(250,250,252,.88);color:#111014;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);display:flex;align-items:center;gap:24px;box-shadow:0 6px 24px #25124e12}
.site-header .brand,.site-header .brand img{width:110px;height:auto}
.editions-nav{position:relative;flex:0 0 auto}
.editions-nav button{display:block;border:0;background:none;color:inherit;font-size:14px;font-weight:700;padding:12px 0;text-align:left;text-transform:uppercase}
.editions-nav ul{display:none;position:absolute;top:100%;left:0;min-width:220px;list-style:none;margin:0;padding:10px;border:1px solid #ffffff20;border-radius:22px;background:#111014;color:#fff;box-shadow:0 16px 36px #0003}
.editions-nav li a{display:block;border-radius:12px;font-size:13px;font-weight:400;padding:11px 14px;white-space:nowrap}
.editions-nav li a:hover{background:#ffffff18}
.editions-nav.open ul,.editions-nav:focus-within ul{display:block}
.site-nav{margin-left:auto}.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav>ul{display:flex;align-items:center;gap:25px}
.site-nav li{position:relative}.site-nav a,.site-nav button{display:block;border:0;background:none;color:inherit;font-size:14px;font-weight:700;padding:12px 0;text-align:left}
.site-nav>ul>li>a,.site-nav>ul>li>button{text-transform:uppercase}
.site-nav li>ul{display:none;position:absolute;top:100%;right:0;min-width:260px;padding:10px;border-radius:22px;background:#111014;color:#fff;box-shadow:0 16px 36px #0003}
.site-nav>ul>li>ul{border:1px solid #ffffff20}
.site-nav li>ul a,.site-nav li>ul button{font-size:13px;font-weight:400;padding:11px 14px;border-radius:12px}
.site-nav li>ul a:hover,.site-nav li>ul button:hover{background:#ffffff18}
.site-nav .menu-group-label{cursor:default}
.site-nav li>ul ul{position:static;box-shadow:none;padding-left:14px;min-width:0}
.site-nav li>ul li>ul{display:block}
.site-nav li.open>ul,.site-nav li:focus-within>ul{display:block}
.site-nav .language-trigger{background:#5D00FF;color:#fff;padding:13px 16px;border-radius:999px}
.menu-toggle{display:none;border:0;background:transparent;font-size:24px}
.site-footer{background:#f7f7f4;color:#111014;padding:50px 4vw;display:flex;justify-content:space-between;align-items:end}
.site-footer img{width:110px}.footer-meta{display:flex;gap:30px;font-size:13px;font-weight:400}.footer-meta a{color:#5D00FF}
.card-stage{color:#fff}.stage-dot,.chip-dot{flex-shrink:0}
@media(hover:hover){.editions-nav:hover ul,.site-nav li:hover>ul{display:block}}
@media(max-width:1100px){.menu-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#f7f7f4;border-radius:24px;padding:20px;max-height:75vh;overflow:auto}.site-nav.open{display:block}.site-nav>ul{display:block}.site-nav li>ul{position:static;box-shadow:none}.site-header{height:64px}.hero{padding-top:125px}}
@media(max-width:600px){.site-footer{display:block}.footer-meta{margin-top:28px;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.time-block,.session-card{animation:none!important}}
/* Shared widths and dark BEYOND chrome */
.hero,.filters,.now-strip,.agenda-wrap{width:92%;max-width:1360px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;box-sizing:border-box}
.hero-copy{max-width:760px}
.date-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:12px}
.date-pill{width:100%;min-width:0}
.site-header{background:rgba(20,18,26,.78);color:#fff;border-color:rgba(255,255,255,.16)}
.site-header .brand img,.site-footer>img{filter:none}
.site-footer{background:#111014;color:#fff;border-top:1px solid rgba(255,255,255,.14);padding-left:max(4%,calc((100% - 1360px)/2));padding-right:max(4%,calc((100% - 1360px)/2))}
.footer-meta a{color:#0DFCFC}.menu-toggle{color:#fff}
.site-nav>ul>li.mega-menu{position:static}
.site-nav .mega-menu>ul{left:auto;right:12px;top:100%;width:min(860px,calc(100vw - 60px));grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:25px;max-height:75vh;overflow:auto;border:1px solid #ffffff20}
.site-nav .mega-menu.open>ul,.site-nav .mega-menu:focus-within>ul{display:grid}
.site-nav .mega-menu>ul>li>a,.site-nav .mega-menu>ul>li>button{font-weight:700;color:#CFFF04}
.site-nav .mega-menu>ul>li>ul{display:block;padding:4px 0;background:transparent}
.session-card[data-stage-id="THEATRE"]{border-left:0;border:1px solid transparent;background:linear-gradient(125deg,#271442,#201923) padding-box,linear-gradient(110deg,#5D00FF,#0DFCFC,#CFFF04,#FF2E9A,#F0B232) border-box}
.session-card[data-stage-id="THEATRE"] .stage-dot,.stage-chip[data-stage="THEATRE"] .chip-dot{background:linear-gradient(135deg,#0DFCFC,#CFFF04,#FF2E9A)}
.stage-chip[data-stage="THEATRE"].active{background:linear-gradient(110deg,#5D00FF88,#9A11D988,#FF2E9A88)}
@media(hover:hover){.site-nav .mega-menu>button{position:relative}.site-nav .mega-menu>button::after{content:"";position:absolute;top:100%;left:-20px;right:-20px;height:24px}.site-nav .mega-menu:hover>ul{display:grid}}
@media(max-width:1100px){.site-nav{background:rgba(20,18,26,.97)}.site-nav .mega-menu>ul{position:static;width:100%;grid-template-columns:1fr;max-height:none;padding:12px}.site-nav .mega-menu>ul>li>ul{padding-left:10px}}
@media(max-width:520px){.site-header{gap:14px;padding-left:17px;padding-right:17px}.site-header .brand,.site-header .brand img{width:96px}.editions-nav button{font-size:12px}.editions-nav ul{left:-106px}}
@media(max-width:640px){.date-row{gap:5px;grid-template-columns:repeat(5,minmax(0,1fr))}.date-pill{padding:12px 3px}.date-pill span{font-size:13px}.date-pill small{font-size:10px}.hero,.filters,.now-strip,.agenda-wrap{width:92%;max-width:1360px;padding-left:0;padding-right:0}}
