:root{--navy:#061a38;--navy2:#0b2b55;--navy3:#0d3769;--gold:#f1c45a;--gold2:#ffe7a0;--red:#c9232c;--white:#f8fbff;--muted:#b9c9dd;--line:rgba(241,196,90,.32);--glass:rgba(7,25,53,.84)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}html{background:var(--navy)}body{font-family:Arial,'Segoe UI',sans-serif;background:radial-gradient(circle at 50% 0,#0d3769 0,#061a38 46%,#031126 100%);color:var(--white);overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.loading-screen{position:fixed;inset:0;z-index:20000;display:grid;place-content:center;justify-items:center;gap:18px;background:#04142d;transition:.5s ease}.loading-screen.hide{opacity:0;visibility:hidden}.loading-mark{position:relative;width:70px;height:70px}.loading-mark span{position:absolute;inset:0;border:2px solid transparent;border-top-color:var(--gold);border-radius:50%;animation:spin 1.1s linear infinite}.loading-mark span+span{inset:10px;border-top-color:#d71920;animation-direction:reverse}.loading-screen p{margin:0;color:var(--muted);letter-spacing:.08em}@keyframes spin{to{transform:rotate(360deg)}}
.welcome-screen{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;animation:screenReveal .48s cubic-bezier(.2,.75,.2,1)}.hero-bg{position:absolute;inset:-4%;background-position:center;background-size:cover;filter:saturate(.86);animation:heroMove 22s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,12,29,.48),rgba(2,16,37,.78) 72%,#04142d),radial-gradient(circle at center,transparent 0,rgba(2,10,24,.5) 72%)}@keyframes heroMove{from{transform:scale(1.04) translate3d(-.6%,0,0)}to{transform:scale(1.1) translate3d(.8%,-1%,0)}}.petals{position:absolute;inset:0;pointer-events:none}.petals span{position:absolute;top:-8%;width:12px;height:8px;border-radius:80% 20% 70% 30%;background:#f6a9b8;opacity:.8;animation:petalFall linear infinite}@keyframes petalFall{to{transform:translate3d(12vw,115vh,0) rotate(720deg)}}
.flag-stage{position:absolute;top:18%;z-index:3;width:245px;height:170px;display:grid;place-items:center;pointer-events:none}.flag-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45))}.flag-stage-my{left:3%;transform:rotate(-4deg)}.flag-stage-jp{right:3%;transform:rotate(4deg);width:225px;height:160px}.flag-stage-my img{width:235px}.flag-stage-jp img{width:205px}.welcome-content{position:relative;z-index:4;width:min(1050px,88vw);padding:70px 10px;text-align:center}.eyebrow{margin:0 0 14px;color:#fff;letter-spacing:.45em;font-weight:500}.welcome-content h1{max-width:950px;margin:0 auto;font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,7vw,94px);line-height:.98;text-wrap:balance;background:linear-gradient(180deg,#fff7d0 0,#c8942c 48%,#fff 49%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 14px 45px rgba(0,0,0,.25)}.welcome-content h2{margin:24px 0 20px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.5vw,44px);letter-spacing:.08em}.event-pill{width:max-content;max-width:92vw;margin:0 auto 25px;padding:13px 25px;display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(4,20,45,.7);backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.25)}.event-part{display:flex;align-items:center;gap:9px}.event-part svg{width:21px;color:var(--gold)}.event-pill i{width:1px;height:26px;background:rgba(255,255,255,.3)}.event-pill b{font-size:14px;letter-spacing:.02em}.primary-button,.secondary-button{border:0;border-radius:999px;padding:14px 25px;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:.22s ease}.primary-button{background:linear-gradient(180deg,#fff1b7,#dda633);color:#261800;box-shadow:0 14px 32px rgba(0,0,0,.3)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(241,196,90,.25)}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.tagline{margin:18px 0 0;color:#d7e3f2}.welcome-admin{position:absolute;right:22px;top:20px;z-index:5;padding:9px 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#dfeaff;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.14em;background:rgba(4,20,45,.55)}.welcome-powered{position:absolute;bottom:15px;z-index:4;color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.1em}
.app-shell{min-height:100vh;animation:screenReveal .48s cubic-bezier(.2,.75,.2,1)}@keyframes screenReveal{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}.app-topbar{position:sticky;top:0;z-index:1000;height:78px;padding:10px clamp(15px,4vw,58px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(4,20,45,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.2)}.brand-button{border:0;background:transparent;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left}.brand-button img{width:52px;height:52px;object-fit:contain}.brand-button span{display:grid;gap:2px}.brand-button strong{font-family:Georgia,'Times New Roman',serif;color:var(--gold2);letter-spacing:.08em}.brand-button small{color:var(--muted);font-size:10px;letter-spacing:.08em}.app-nav{display:flex;align-items:center;gap:7px}.app-nav button,.app-nav a{border:1px solid transparent;border-radius:999px;padding:9px 13px;background:transparent;color:#dbe8f7;text-decoration:none;font-size:12px;font-weight:700;cursor:pointer}.app-nav button:hover,.app-nav button.active,.app-nav a:hover{border-color:rgba(241,196,90,.42);background:rgba(241,196,90,.1);color:var(--gold2)}.menu-toggle{display:none;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:transparent;padding:8px 11px;font-size:22px}.view-container{min-height:calc(100vh - 125px);padding:42px clamp(16px,4.5vw,74px) 60px}.app-view{display:none;max-width:1280px;margin:auto}.app-view.active{display:block;animation:viewIn .42s cubic-bezier(.2,.75,.2,1)}@keyframes viewIn{from{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:none}}.view-heading{text-align:center;margin:0 auto 34px}.view-heading>p,.view-heading>div>p{margin:0;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.25em}.view-heading h2{margin:7px 0 9px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5vw,58px)}.view-heading>span,.view-heading>div>span{color:var(--muted);line-height:1.5}.view-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.secondary-button{border:1px solid rgba(241,196,90,.42);background:rgba(241,196,90,.08);color:var(--gold2)}.secondary-button:hover{background:rgba(241,196,90,.17)}
.timeline{width:min(1000px,100%);margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:25px;background:rgba(5,24,52,.74);box-shadow:0 25px 70px rgba(0,0,0,.26)}.timeline-item{display:grid;grid-template-columns:115px 48px minmax(0,1fr);align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.09)}.timeline-item:last-child{border-bottom:0}.timeline-time{padding:10px 8px;border:1px solid rgba(241,196,90,.5);border-radius:11px;color:#fff;font-weight:800;text-align:center;white-space:nowrap}.timeline-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(241,196,90,.1);color:var(--gold2)}.timeline-icon svg{width:22px}.timeline-item h3{margin:0 0 4px;font-size:18px}.timeline-item p{margin:0;color:#c4d5e8;line-height:1.45}
.upload-card{width:min(1020px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid var(--line);border-radius:27px;background:linear-gradient(145deg,rgba(17,59,107,.94),rgba(5,22,48,.95));box-shadow:0 30px 85px rgba(0,0,0,.32)}.upload-visual{padding:45px;display:grid;align-content:center;background:radial-gradient(circle at 20% 0,rgba(241,196,90,.2),transparent 45%)}.camera-orb{width:86px;height:86px;display:grid;place-items:center;border-radius:25px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:var(--gold2)}.camera-orb svg{width:44px}.upload-visual h3{font-family:Georgia,'Times New Roman',serif;font-size:28px;margin:23px 0 10px}.upload-visual p{margin:0;color:var(--muted);line-height:1.65}.upload-form{padding:42px;display:grid;gap:15px;background:rgba(2,14,32,.35)}.upload-form label{display:grid;gap:7px;color:#dbe9f7;font-size:13px;font-weight:700}.upload-form input{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px 14px;background:#071d3e;color:#fff;outline:none}.upload-form input:focus{border-color:var(--gold)}.file-picker{min-height:82px;place-items:center;border:1px dashed rgba(241,196,90,.52);border-radius:14px;padding:15px;text-align:center;cursor:pointer;background:rgba(241,196,90,.06)}.file-picker input{display:none}.progress-track{height:7px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.09)}.progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#d71920,var(--gold),#0065b3);transition:.25s}.status-text{min-height:20px;margin:0;color:var(--muted);font-size:12px}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;text-align:left;gap:24px}.gallery-toolbar{display:flex;gap:9px}.toolbar-button{border:1px solid rgba(241,196,90,.38);border-radius:999px;padding:10px 14px;background:rgba(241,196,90,.08);color:var(--gold2);font-size:11px;font-weight:800;cursor:pointer}.toolbar-button:hover{background:rgba(241,196,90,.16)}.gallery-empty{width:min(700px,100%);margin:70px auto;text-align:center;color:var(--muted)}.gallery-empty>div{font-size:46px;color:var(--gold)}.gallery-empty h3{font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:27px;margin:12px}.cinematic-gallery{width:min(1180px,100%);margin:auto}.gallery-stage{position:relative;isolation:isolate;min-height:min(68vh,720px);overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#020b1b;box-shadow:0 35px 100px rgba(0,0,0,.48)}.gallery-backdrop{position:absolute;inset:-8%;z-index:-3;background-position:center;background-size:cover;filter:blur(32px) brightness(.34) saturate(1.25);transform:scale(1.16);transition:background-image .6s ease}.gallery-media{position:absolute;inset:0;display:grid;place-items:center;padding:28px 70px 110px}.gallery-media img{display:block;width:100%;height:100%;max-height:560px;object-fit:contain;filter:drop-shadow(0 25px 38px rgba(0,0,0,.48));animation:kenBurns 12s ease-in-out infinite alternate}.gallery-media .video-frame{position:relative;width:100%;height:100%;display:grid;place-items:center}.gallery-media .video-frame img{opacity:.82}.gallery-media .video-play{position:absolute;width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:rgba(241,196,90,.9);color:#1c1200;font-size:32px;text-decoration:none;box-shadow:0 15px 40px rgba(0,0,0,.4)}@keyframes kenBurns{from{transform:scale(1.015) translate3d(-.6%,.3%,0)}to{transform:scale(1.075) translate3d(.8%,-.7%,0)}}.gallery-gradient{position:absolute;inset:45% 0 0;z-index:2;background:linear-gradient(transparent,rgba(2,10,24,.92))}.gallery-meta{position:absolute;z-index:3;left:45px;right:45px;bottom:30px}.gallery-meta span{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.15em}.gallery-meta h3{margin:8px 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,38px)}.gallery-meta p{margin:0;color:var(--muted)}.gallery-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.23);border-radius:50%;background:rgba(3,15,35,.66);font-size:35px;cursor:pointer}.gallery-arrow:hover{border-color:var(--gold);color:var(--gold)}.gallery-arrow-left{left:17px}.gallery-arrow-right{right:17px}.gallery-filmstrip{display:flex;gap:10px;overflow-x:auto;padding:15px 2px 4px;scrollbar-width:thin}.filmstrip-item{position:relative;flex:0 0 118px;height:76px;overflow:hidden;border:2px solid transparent;border-radius:12px;background:#071a38;padding:0;cursor:pointer;opacity:.62}.filmstrip-item.active{border-color:var(--gold);opacity:1}.filmstrip-item img{width:100%;height:100%;object-fit:cover}.filmstrip-item span{position:absolute;right:5px;bottom:4px;padding:2px 5px;border-radius:5px;background:rgba(0,0,0,.7);font-size:9px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:rgba(5,25,54,.78);box-shadow:0 25px 70px rgba(0,0,0,.25)}.info-card img{width:100%;height:310px;object-fit:cover}.info-card div{padding:26px}.info-card p{margin:0;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em}.info-card h3{margin:8px 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:25px}.info-card span{color:var(--muted);line-height:1.6}.contact-card{width:min(760px,100%);margin:30px auto 0;padding:22px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;border:1px solid var(--line);border-radius:18px;background:rgba(5,25,54,.7);color:var(--muted)}.contact-card strong{color:var(--gold2)}.app-footer{min-height:47px;padding:12px 5%;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);background:#031126;color:#8fa5bf;font-size:11px}.app-footer strong{color:var(--gold)}
.alert-backdrop{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px;background:rgba(0,7,20,.78);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.alert-backdrop.show{opacity:1;visibility:visible;pointer-events:auto}.alert-box{position:relative;width:min(420px,100%);overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:28px;text-align:center;background:linear-gradient(155deg,#0b2b55,#04142d);box-shadow:0 35px 100px rgba(0,0,0,.55)}.alert-line{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#d71920,var(--gold),#0065b3)}.alert-box>img{width:65px;height:65px;object-fit:contain}.alert-icon{width:52px;height:52px;margin:13px auto 10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-size:25px}.alert-box h2{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;color:var(--gold2)}.alert-box p{color:#d7e4f2;line-height:1.55}.alert-box button{min-width:120px;border:0;border-radius:999px;padding:11px 18px;background:linear-gradient(180deg,#fff1b7,#dda633);color:#281900;font-weight:800;cursor:pointer}.alert-box small{display:block;margin-top:17px;color:#8ea4bd;font-size:10px}
@media(max-width:950px){.flag-stage{top:21%;width:180px;height:125px}.flag-stage-jp{width:165px;height:118px}.flag-stage-my img{width:175px}.flag-stage-jp img{width:150px}.app-nav{position:absolute;left:14px;right:14px;top:73px;display:none;flex-direction:column;align-items:stretch;padding:14px;border:1px solid var(--line);border-radius:16px;background:#061a38;box-shadow:0 22px 60px rgba(0,0,0,.5)}.app-nav.open{display:flex}.app-nav button,.app-nav a{text-align:center}.menu-toggle{display:block}.upload-card{grid-template-columns:1fr}.upload-visual{padding:32px}.gallery-stage{min-height:620px}.info-grid{grid-template-columns:1fr}}
@media(max-width:700px){.welcome-content{width:95vw;padding-top:130px}.welcome-content h1{font-size:38px}.welcome-content h2{font-size:25px}.eyebrow{font-size:11px}.flag-stage{top:11%;width:135px;height:94px}.flag-stage-my{left:2%}.flag-stage-jp{right:2%;width:125px;height:90px}.flag-stage-my img{width:130px}.flag-stage-jp img{width:112px}.event-pill{padding:10px 14px;gap:9px;flex-direction:column;border-radius:18px}.event-pill i{width:80%;height:1px}.event-pill b{white-space:normal;text-align:center;font-size:12px}.welcome-admin{top:12px;right:12px}.app-topbar{height:70px;padding:8px 12px}.brand-button img{width:44px;height:44px}.brand-button small{display:none}.view-container{padding:30px 13px 45px}.view-heading h2{font-size:34px}.timeline-item{grid-template-columns:82px 35px minmax(0,1fr);gap:8px;padding:14px 10px}.timeline-time{font-size:12px;padding:8px 4px}.timeline-icon{width:32px;height:32px}.timeline-icon svg{width:17px}.timeline-item h3{font-size:15px}.timeline-item p{font-size:12px}.upload-form{padding:26px 18px}.gallery-heading{align-items:flex-start;flex-direction:column}.gallery-toolbar{width:100%}.toolbar-button{flex:1}.gallery-stage{min-height:530px;border-radius:20px}.gallery-media{padding:18px 48px 125px}.gallery-media img{max-height:410px}.gallery-meta{left:22px;right:22px;bottom:26px}.gallery-arrow{width:38px;height:38px}.gallery-arrow-left{left:8px}.gallery-arrow-right{right:8px}.info-card img{height:230px}.contact-card{display:grid;text-align:center;gap:7px}}



/* R8 — Official Programme Poster */
.programme-view-switch{display:flex;justify-content:center;gap:8px;margin:-10px auto 26px;padding:6px;width:max-content;max-width:100%;border:1px solid rgba(241,196,90,.28);border-radius:999px;background:rgba(3,16,36,.72);box-shadow:0 12px 34px rgba(0,0,0,.2)}
.programme-view-switch button{border:0;border-radius:999px;padding:11px 20px;background:transparent;color:#aec3da;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:.25s ease}
.programme-view-switch button.active{background:linear-gradient(180deg,#ffe9a0,#d4a139);color:#271700;box-shadow:0 8px 22px rgba(212,161,57,.25)}
.programme-display-panel{display:none}.programme-display-panel.active{display:block;animation:programmePanelIn .42s cubic-bezier(.2,.75,.2,1)}
@keyframes programmePanelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.programme-poster-card{position:relative;width:min(780px,100%);margin:auto;overflow:hidden;border:1px solid rgba(255,213,103,.48);border-radius:28px;background:linear-gradient(145deg,rgba(12,40,76,.92),rgba(2,13,31,.96));box-shadow:0 34px 90px rgba(0,0,0,.48),0 0 0 8px rgba(241,196,90,.035)}
.programme-poster-glow{position:absolute;inset:-25%;z-index:0;background:radial-gradient(circle at 50% 0,rgba(244,195,76,.2),transparent 42%);pointer-events:none}
.programme-poster-card>img{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:min(75vh,980px);object-fit:contain;background:#04152f}
.programme-poster-caption{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-top:1px solid rgba(255,255,255,.1);background:rgba(3,17,38,.94)}
.programme-poster-caption div{display:grid;gap:4px}.programme-poster-caption small{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.18em}.programme-poster-caption strong{font-family:Georgia,'Times New Roman',serif;font-size:16px}
.poster-action{flex:0 0 auto;border:1px solid rgba(241,196,90,.48);border-radius:999px;padding:10px 15px;background:rgba(241,196,90,.1);color:var(--gold2);font-size:10px;font-weight:900;cursor:pointer}
.poster-action:hover{background:var(--gold);color:#271700}

.programme-poster-status{position:absolute;inset:0 0 61px;z-index:3;display:grid;place-content:center;justify-items:center;gap:10px;padding:28px;text-align:center;background:linear-gradient(180deg,rgba(4,21,47,.94),rgba(2,13,31,.98));color:#dce9f8}
.programme-poster-status[hidden]{display:none!important}.programme-poster-status strong{font-family:Georgia,'Times New Roman',serif;color:var(--gold2);font-size:20px}.programme-poster-status span{max-width:500px;color:var(--muted);font-size:13px;line-height:1.55}
.poster-loader{width:48px;height:48px;border:3px solid rgba(241,196,90,.18);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.poster-load-failed .poster-loader{display:none}
.poster-retry{margin-top:8px;border:1px solid rgba(241,196,90,.5);border-radius:999px;padding:11px 18px;background:linear-gradient(180deg,#ffe9a0,#d4a139);color:#271700;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer}.poster-image-loading{opacity:.08}.poster-action:disabled{opacity:.42;cursor:not-allowed;background:rgba(255,255,255,.04);color:#91a4b9}.poster-action:disabled:hover{background:rgba(255,255,255,.04);color:#91a4b9}
.poster-lightbox{position:fixed;inset:0;z-index:5000;display:none;place-items:center;padding:24px;background:rgba(0,7,18,.94);backdrop-filter:blur(14px)}
.poster-lightbox.show{display:grid;animation:posterLightboxIn .3s ease}@keyframes posterLightboxIn{from{opacity:0}to{opacity:1}}
.poster-lightbox-stage{height:calc(100vh - 48px);width:min(1000px,calc(100vw - 48px));display:grid;place-items:center;overflow:auto}
.poster-lightbox-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.poster-lightbox-close{position:fixed;top:15px;right:18px;z-index:1;width:44px;height:44px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(5,24,52,.88);color:#fff;font-size:30px;line-height:1;cursor:pointer}
body.modal-open{overflow:hidden}
@media(max-width:700px){.programme-view-switch{width:100%}.programme-view-switch button{flex:1;padding:10px 8px}.programme-poster-card{border-radius:20px}.programme-poster-card>img{max-height:none}.programme-poster-caption{align-items:flex-start;flex-direction:column}.poster-action{width:100%}.poster-lightbox{padding:10px}.poster-lightbox-stage{height:calc(100vh - 20px);width:calc(100vw - 20px)}}

/* R9 mobile performance: reduce GPU-heavy effects on small screens. */
@media(max-width:700px){
  .hero-bg{animation:none;inset:0}
  .event-pill,.app-topbar,.alert-backdrop,.poster-lightbox{backdrop-filter:none!important}
  .welcome-screen,.app-shell,.app-view.active,.programme-display-panel.active{animation-duration:.18s}
  .programme-poster-card,.timeline,.upload-card,.info-card{box-shadow:0 14px 34px rgba(0,0,0,.28)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .petals{display:none}
}