@charset "UTF-8";

:root{
  color-scheme:dark;
  --bg:#070916;--panel:rgba(9,15,34,.84);--panel-strong:rgba(11,18,39,.96);
  --surface:rgba(18,28,57,.84);--surface-2:rgba(25,37,72,.88);
  --line:rgba(174,211,255,.16);--line-strong:rgba(121,229,255,.38);
  --text:#f7f8ff;--muted:#aab5d2;--subtle:#74809f;
  --cyan:#65e9ff;--violet:#9d72ff;--pink:#f070ca;--gold:#f0d893;--green:#88efc7;
  --r-s:12px;--r-m:20px;--r-l:30px;--r-pill:999px;
  --shadow:0 28px 90px rgba(0,0,0,.46);--shadow-soft:0 14px 44px rgba(0,0,0,.26);
  --ease:cubic-bezier(.16,1,.3,1);--shell:760px;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.75;overflow-x:clip;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,7,18,.14),rgba(4,7,18,.72) 58%,rgba(4,7,18,.94));pointer-events:none}
.scene{position:fixed;inset:-3%;z-index:-2;background:url("assets/reward-universe.webp") center/cover no-repeat;filter:saturate(1.2) brightness(.76);transform:scale(1.04)}
p,h1,h2,h3,ol,ul,figure{margin:0} ol,ul{padding:0;list-style:none} img{display:block;max-width:100%} a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer;touch-action:manipulation}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;z-index:200;left:16px;top:-100px;padding:12px 16px;border-radius:var(--r-s);background:#fff;color:#081021;font-weight:800}.skip:focus{top:12px}

.page-shell{width:min(var(--shell),100%);margin-inline:auto;background:linear-gradient(180deg,rgba(8,13,30,.87),rgba(7,10,24,.94));border-inline:1px solid rgba(173,213,255,.14);box-shadow:var(--shadow);min-height:100vh;position:relative;z-index:1;backdrop-filter:blur(18px)}
.site-header{position:sticky;top:0;z-index:80;height:70px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(8,13,30,.8);border-bottom:1px solid var(--line);backdrop-filter:blur(22px)}
.brand,.header-right,.footer-brand{display:flex;align-items:center}.brand{gap:10px;min-width:0}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,rgba(101,233,255,.2),rgba(157,114,255,.25));border:1px solid rgba(141,224,255,.3);color:var(--cyan);box-shadow:inset 0 1px rgba(255,255,255,.18),0 0 22px rgba(101,233,255,.14)}
.brand-text b{display:block;font-size:11px;letter-spacing:.14em;line-height:1.45}.brand-text small{display:block;font-size:10px;color:var(--subtle);line-height:1.35}
.header-right{gap:8px}.progress-chip{min-height:34px;padding:6px 11px;display:flex;align-items:baseline;gap:4px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:10px;color:var(--muted);background:rgba(255,255,255,.035)}.progress-chip b{font-size:14px;color:var(--cyan)}
.guide-link{min-height:34px;display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);font-size:11px;color:var(--muted);border:1px solid transparent;transition:.3s var(--ease)}
@media(hover:hover){.guide-link:hover{color:#fff;border-color:var(--line-strong);background:rgba(101,233,255,.06)}}

.hero-poster{position:relative;width:min(430px,100%);margin-inline:auto;padding-bottom:38px;background:#080b18;overflow:hidden}
.hero-poster-image{width:100%;height:auto;max-width:none}
.hero-rewards-link{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;min-height:54px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid rgba(255,255,255,.44);border-radius:var(--r-pill);background:linear-gradient(105deg,rgba(255,255,255,.95),rgba(221,242,255,.92));color:#101529;font-weight:900;letter-spacing:.03em;box-shadow:0 14px 38px rgba(0,0,0,.32);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.hero-rewards-link::before,.primary::before{content:"";position:absolute;top:-60%;left:-70px;width:45px;height:220%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);transform:rotate(14deg);opacity:0}
@media(hover:hover){.hero-rewards-link:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(0,0,0,.4)}.hero-rewards-link:hover::before,.primary:hover::before{opacity:1;animation:sheen .85s var(--ease)}}

.rewards-section,.collection,.help{padding:76px clamp(18px,5vw,38px)}
.section-intro{max-width:590px;margin-bottom:28px}.section-intro.compact{margin-bottom:24px}.kicker{display:flex;align-items:center;gap:11px;margin-bottom:10px;color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.2em}.kicker::before{content:"";width:30px;height:1px;background:currentColor;box-shadow:0 0 8px currentColor}
.section-intro h2,.panel-head h2,.collection h2{font-size:clamp(27px,7vw,40px);line-height:1.35;letter-spacing:-.035em;font-weight:900;text-wrap:balance}.section-intro>p:last-child{margin-top:14px;color:var(--muted);font-size:14px}
.release-status{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin:26px 0 22px;padding:15px 17px;border:1px solid var(--line-strong);border-radius:var(--r-m);background:linear-gradient(115deg,rgba(75,45,150,.26),rgba(18,32,68,.72));box-shadow:inset 0 1px rgba(255,255,255,.08),var(--shadow-soft)}
.release-status strong{display:block;font-size:14px}.release-status small{display:block;color:var(--muted);font-size:11px}.release-status .release-count{font-size:11px;color:var(--cyan);white-space:nowrap}

.tabs-wrap{position:sticky;top:0;z-index:60;margin:0 -4px 34px;padding:10px 4px;background:linear-gradient(180deg,rgba(8,13,30,.98) 68%,transparent)}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none;scroll-snap-type:x proximity}.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;flex:0 0 auto;min-height:46px;padding:9px 16px;border-radius:var(--r-pill);border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);scroll-snap-align:start;transition:transform .25s var(--ease),background .25s,border-color .25s,color .25s}
.tab b{display:block;font-size:12px;line-height:1.25;white-space:nowrap}.tab small{display:none}.tab[aria-selected="true"]{color:#07101f;background:linear-gradient(115deg,#75ecff,#baa0ff);border-color:transparent;box-shadow:0 9px 30px rgba(93,211,255,.2)}
.tab.is-gold[aria-selected="true"]{background:linear-gradient(115deg,#ffe9a8,#efbb6a)}
@media(hover:hover){.tab:hover{transform:translateY(-2px);border-color:var(--line-strong);color:#fff}}

#rewardPanel{outline:none}.panel-enter{animation:panelIn .55s var(--ease)}
.panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.panel-head p{margin-top:8px;color:var(--muted);font-size:13px}.count{flex:none;padding:6px 11px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--muted);font-size:10px;white-space:nowrap}
.section-kicker,.reward-meta{display:block;color:var(--cyan);font-size:9px;font-weight:850;letter-spacing:.16em}.reward-groups{display:grid;gap:38px}.reward-group>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 14px;margin-bottom:14px}.reward-group>header>span{grid-column:1/2;color:var(--cyan);font-size:9px;font-weight:850;letter-spacing:.17em}.reward-group>header h3{grid-column:1/2;font-size:19px;line-height:1.3}.reward-group>header b{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,rgba(101,233,255,.18),rgba(157,114,255,.2));border:1px solid var(--line-strong);color:var(--cyan);font-size:11px}
.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.reward-card{display:flex;flex-direction:column;min-width:0;text-align:left;border-radius:var(--r-m);overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,rgba(25,37,72,.88),rgba(11,18,39,.96));box-shadow:var(--shadow-soft);transition:transform .38s var(--ease),border-color .3s,box-shadow .38s}
.reward-card .art{position:relative;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:#080b18}.reward-card .art img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease),filter .4s}.reward-card.locked .art img{filter:saturate(.55) brightness(.65)}
.earned-seal,.limited-chip{position:absolute;z-index:2;top:10px;padding:5px 9px;border-radius:var(--r-pill);font-size:9px;font-weight:900;letter-spacing:.05em;backdrop-filter:blur(12px)}.earned-seal{right:10px;background:rgba(8,31,27,.86);border:1px solid rgba(136,239,199,.42);color:var(--green)}.limited-chip{left:10px;background:rgba(55,40,8,.84);border:1px solid rgba(240,216,147,.42);color:var(--gold)}
.card-body{display:flex;flex-direction:column;flex:1;padding:17px}.card-body h3{margin-top:6px;font-size:16px;line-height:1.5;letter-spacing:-.015em;font-weight:850}.card-body>p{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.7}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px}.state{font-size:9px;color:var(--subtle)}.card-cta{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;border-radius:var(--r-pill);background:rgba(101,233,255,.09);border:1px solid rgba(101,233,255,.2);color:var(--cyan);font-size:10px;font-weight:800;transition:.3s var(--ease)}
.gold-card .card-cta{color:var(--gold);background:rgba(240,216,147,.08);border-color:rgba(240,216,147,.22)}
@media(hover:hover){.reward-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 24px 60px rgba(0,0,0,.36),0 0 30px rgba(101,233,255,.07)}.reward-card:hover .art img{transform:scale(1.035)}.reward-card:hover .card-cta{background:rgba(101,233,255,.16)}}
.expired-note{padding:14px 16px;border-radius:var(--r-s);border:1px solid rgba(240,183,154,.3);background:rgba(240,183,154,.08);color:#ffd2bd;font-size:12px;margin-bottom:18px}

.collection{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(10,17,37,.5)}
.collection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.collection-count{display:flex;align-items:baseline;gap:5px}.collection-count strong{font-size:44px;line-height:1;color:var(--cyan);font-variant-numeric:tabular-nums}.collection-count span{color:var(--subtle);font-size:13px}
.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:30px}.collection-item{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#080b18}.collection-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) brightness(.48);transition:.3s}.collection-item>span{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(5,10,24,.86);border:1px solid var(--line);color:var(--subtle);font-size:9px;font-weight:900}.collection-item.is-opened{border-color:rgba(136,239,199,.5);box-shadow:0 0 22px rgba(136,239,199,.08)}.collection-item.is-opened img{filter:none}.collection-item.is-opened>span{color:#071713;background:var(--green);border-color:transparent}
.stamp-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:30px}.stamp-group{text-align:center}.stamp-row{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.stamp{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px dashed rgba(170,181,210,.34);color:var(--subtle);font-size:9px}.stamp.stamped{border-style:solid;border-color:rgba(136,239,199,.55);background:rgba(136,239,199,.1);color:var(--green);box-shadow:0 0 20px rgba(136,239,199,.08)}.stamp b{font-size:8px}.stamp-group>small{display:block;margin-top:8px;color:var(--subtle);font-size:9px}

.help{padding-bottom:92px}.faq{display:grid;gap:10px}.faq details{border:1px solid var(--line);border-radius:var(--r-m);background:rgba(18,28,57,.64);overflow:hidden}.faq summary{position:relative;padding:18px 48px 18px 18px;cursor:pointer;font-weight:750;font-size:13px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:22px;font-weight:300}.faq details[open] summary::after{content:"−"}.faq details p{padding:0 18px 18px;color:var(--muted);font-size:12px}
footer{padding:34px clamp(18px,5vw,38px) 48px;border-top:1px solid var(--line);color:var(--subtle)}.footer-brand{gap:9px;color:var(--muted);font-size:11px;letter-spacing:.12em}.footer-brand .brand-mark{width:28px;height:28px}footer p{margin-top:15px;font-size:11px}

dialog{width:min(720px,100%);height:min(92dvh,900px);max-width:none;max-height:none;padding:0;border:1px solid var(--line-strong);border-radius:28px;color:var(--text);background:var(--panel-strong);box-shadow:0 34px 110px rgba(0,0,0,.72);overflow:auto}dialog::backdrop{background:rgba(1,3,12,.82);backdrop-filter:blur(10px)}.dialog-close{position:sticky;z-index:20;top:14px;float:right;margin:14px 14px -56px 0;width:44px;height:44px;border-radius:50%;background:rgba(5,10,25,.82);border:1px solid var(--line);font-size:24px;line-height:1;color:#fff;backdrop-filter:blur(14px)}
.unlock-stage,.reward-result{padding:70px clamp(18px,5vw,42px) 38px;text-align:center}.unlock-stage h2,.reward-result h2{font-size:clamp(24px,6vw,34px);line-height:1.42;letter-spacing:-.025em}.unlock-stage .kicker{justify-content:center}.unlock-stage .kicker::before{display:none}.tap-hint{margin-top:18px;color:var(--muted);font-size:11px;letter-spacing:.06em}
.seal{--seal:min(260px,68vw);position:relative;width:var(--seal);height:var(--seal);margin:28px auto 0;display:grid;place-items:center;border-radius:50%}.seal-aura,.seal-ring,.seal-ring-2,.seal-burst,.seal-chest,.seal-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.seal-aura{width:110%;height:110%;border-radius:50%;background:radial-gradient(circle,rgba(101,233,255,.24),transparent 68%);filter:blur(10px)}.seal-ring{width:94%;height:94%;border:1px solid rgba(101,233,255,.4);border-radius:50%;animation:spin 18s linear infinite}.seal-ring-2{width:73%;height:73%;border:1px dashed rgba(157,114,255,.5);border-radius:50%;animation:spin 13s linear infinite reverse}.seal-chest{width:58%;max-width:none;filter:drop-shadow(0 18px 35px rgba(0,0,0,.5))}.seal-mark{color:#fff;font-size:14px;text-shadow:0 0 16px var(--cyan)}.seal.is-open{animation:sealOpen .9s var(--ease) forwards}
.result{padding:70px clamp(18px,5vw,42px) 38px;text-align:left}.result h2{font-size:clamp(24px,6vw,34px);line-height:1.42;letter-spacing:-.025em}.result-art{width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#080b18;border:1px solid var(--line)}.result-art img{width:100%;height:100%;object-fit:contain}.result .kicker{margin-top:22px}.result-desc{margin-top:12px;color:var(--muted);font-size:13px}.result-primary{position:relative;overflow:hidden;isolation:isolate;margin-top:24px;min-height:54px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--r-pill);background:linear-gradient(110deg,#6cecff,#ad8aff 58%,#ee8ad1);color:#081021;font-weight:900;box-shadow:0 14px 40px rgba(109,211,255,.16);transition:transform .3s var(--ease),box-shadow .3s}.locked-result{display:grid;gap:4px;margin-top:22px;padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035)}.locked-result b{font-size:13px}.locked-result span{color:var(--muted);font-size:11px}.diagnosis-embed{margin-top:22px;border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;background:#070b16}.diagnosis-embed iframe{display:block;width:100%;height:min(68dvh,720px);border:0}.embed-fallback{display:flex;justify-content:center;padding:12px;color:var(--cyan);font-size:11px}
@media(hover:hover){.result-primary:hover{transform:translateY(-2px);box-shadow:0 18px 52px rgba(109,211,255,.24)}}
.toast{position:fixed;z-index:220;left:50%;bottom:24px;transform:translate(-50%,24px);padding:12px 17px;border-radius:var(--r-pill);background:#11203b;border:1px solid var(--line-strong);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.35s var(--ease);font-size:11px;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}.is-loaded .hero-poster-image{animation:heroIn 1.2s var(--ease) both}.motion-toggle{position:fixed;z-index:230;left:12px;bottom:12px;display:none;min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:var(--r-pill);background:#0d1730;color:var(--muted);font-size:10px}.motion-toggle.is-shown{display:inline-flex;align-items:center}
body.no-motion *,body.no-motion *::before,body.no-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body.no-motion [data-reveal]{opacity:1;transform:none}

@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes heroIn{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes sealOpen{50%{transform:scale(.92)}100%{transform:scale(1.08);opacity:0}}@keyframes sheen{from{transform:rotate(14deg) translateX(0)}to{transform:rotate(14deg) translateX(760px)}}

@media(max-width:640px){
  .page-shell{border:0;box-shadow:none}.site-header{height:64px;padding:0 15px}.brand-mark{width:31px;height:31px}.brand-text b{font-size:10px}.brand-text small{display:none}.guide-link{display:none}.progress-chip{min-height:32px}
  .hero-poster{width:100%;padding-bottom:34px}.hero-rewards-link{left:18px;right:18px;min-height:52px;font-size:13px}
  .rewards-section,.collection,.help{padding:62px 18px}.section-intro h2,.panel-head h2,.collection h2{font-size:29px}.release-status{grid-template-columns:1fr;padding:14px 15px}.release-status .release-count{white-space:normal}.tabs-wrap{top:64px;margin-inline:-18px;padding-inline:18px}.reward-grid{grid-template-columns:1fr;gap:15px}.reward-groups{gap:34px}.reward-card{border-radius:18px}.card-body{padding:16px}.card-body h3{font-size:16px}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  dialog{width:100%;height:100dvh;border:0;border-radius:0}.unlock-stage,.result{padding:68px 18px 32px}.diagnosis-embed iframe{height:72dvh}
}
@media(max-width:359px){.brand-text b{font-size:9px}.progress-chip{padding-inline:9px}.rewards-section,.collection,.help{padding-inline:15px}.tabs-wrap{margin-inline:-15px;padding-inline:15px}.tab{padding-inline:13px}.section-intro h2,.panel-head h2{font-size:26px}}
.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.collection-item{aspect-ratio:16/9;border-radius:12px}.collection-item img{object-fit:contain;filter:saturate(.65) brightness(.8)}.collection-item.is-opened img{filter:none}
@media(max-width:640px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-item>span{width:20px;height:20px;font-size:9px}.rewards-section{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:inline-flex}.scene{transform:none}.seal-ring,.seal-ring-2{animation-play-state:paused}}
.hero-poster{padding-bottom:0}
.seal-chest{height:auto}
.collection-item:not(.is-opened) img{filter:grayscale(.7) brightness(.3)}
.collection-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#c4cdea;font-style:normal;background:linear-gradient(180deg,transparent,rgba(4,8,20,.3))}.collection-lock svg{width:25px;height:25px;filter:drop-shadow(0 2px 8px #000)}.collection-lock small{font-size:8px;letter-spacing:.17em;font-weight:800}
.reward-group>header b{grid-row:1}.panel-head h2{font-size:clamp(24px,5.8vw,32px)}
.seal-burst{width:150%;height:150%;border-radius:50%;background:radial-gradient(circle,#fff 0%,#fff5bd 8%,rgba(104,234,255,.8) 20%,rgba(147,102,255,.25) 45%,transparent 66%);opacity:0;mix-blend-mode:screen;pointer-events:none}
.seal.is-open{animation:none}.seal.is-open .seal-chest{animation:chestLift 1.8s var(--ease) forwards}.seal.is-open .seal-burst{animation:rewardBurst 1.8s var(--ease) forwards}.seal.is-open .seal-aura{animation:auraExpand 1.8s var(--ease) forwards}.seal.is-open .seal-ring,.seal.is-open .seal-ring-2{animation:ringRelease 1.8s var(--ease) forwards}
.spark{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff6bf;box-shadow:0 0 12px 4px rgba(255,226,154,.6);opacity:0;transform:rotate(var(--a)) translateX(30px)}.seal.is-open .spark{animation:sparkRelease 1.5s var(--ease) var(--delay) forwards}
.unlock-stage{position:relative;overflow:hidden}.unlock-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,rgba(255,245,213,.82),rgba(120,217,255,.25) 40%,transparent 72%);opacity:0}.is-releasing .unlock-stage::after{animation:lightWash 1.8s ease forwards}.just-opened{animation:rewardArrive .6s var(--ease) both}
@keyframes rewardBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}35%{opacity:1}70%{opacity:.95;transform:translate(-50%,-50%) scale(2.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(3)}}
@keyframes auraExpand{0%{opacity:1}60%{opacity:1;transform:translate(-50%,-50%) scale(2.8);filter:blur(4px)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@keyframes ringRelease{0%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(3)}}
@keyframes chestLift{0%{transform:translate(-50%,-50%)}25%{transform:translate(-50%,-54%) scale(1.08);filter:drop-shadow(0 0 30px #fff0a1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-65%) scale(1.2)}}
@keyframes sparkRelease{0%{opacity:0;transform:rotate(var(--a)) translateX(30px) scale(.3)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateX(230px) scale(.3)}}
@keyframes lightWash{0%{opacity:0}45%{opacity:.15}70%{opacity:.85}100%{opacity:0}}
@keyframes rewardArrive{from{opacity:0;transform:translateY(12px);filter:brightness(1.6)}to{opacity:1;transform:none;filter:brightness(1)}}

/* Glass / light finish: preserve the approved artwork, refine its frame. */
:root{--line:rgba(180,214,255,.2);--surface:rgba(18,28,57,.55);--muted:#b4c0da}
.page-shell{background:linear-gradient(145deg,rgba(16,25,48,.7),rgba(8,13,31,.86) 45%,rgba(13,17,40,.78));backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%);border-inline-color:rgba(190,217,255,.22);box-shadow:inset 1px 0 rgba(255,255,255,.07),inset -1px 0 rgba(255,255,255,.07),0 24px 100px rgba(0,0,0,.45)}
.scene{filter:saturate(1.1) brightness(.88)}
.site-header{background:rgba(10,17,36,.68);box-shadow:inset 0 1px rgba(240,249,255,.09),0 8px 32px rgba(0,0,0,.14)}
.brand-text b,.footer-brand b{text-shadow:0 0 18px rgba(130,218,255,.3)}
.reward-group>header h3,.panel-head h2,.collection h2,.help h2{color:#ecf5ff;text-shadow:0 0 24px rgba(100,210,255,.2),0 2px 1px rgba(0,0,0,.45)}
.reward-group>header h3{font-weight:800;letter-spacing:-.015em}
.kicker,.reward-meta,.section-kicker{color:#91eeff;text-shadow:0 0 12px rgba(99,231,255,.48)}
.reward-card{position:relative;background:linear-gradient(145deg,rgba(48,65,101,.42),rgba(13,22,47,.66));border-color:rgba(184,219,255,.24);box-shadow:inset 0 1px rgba(238,250,255,.16),inset 0 -1px rgba(125,162,255,.04),0 14px 38px rgba(0,0,0,.24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.reward-card::after{content:"";position:absolute;left:22%;right:22%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(177,242,255,.8),transparent);pointer-events:none}
.card-body h3{color:#f0f7ff;text-shadow:0 0 16px rgba(121,209,255,.15)}
.card-cta{background:linear-gradient(135deg,rgba(111,236,255,.16),rgba(139,115,255,.12));border-color:rgba(144,229,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 16px rgba(95,200,255,.07);color:#b5f3ff}
.tabs-wrap{background:linear-gradient(180deg,rgba(9,16,34,.88) 70%,rgba(9,16,34,0));backdrop-filter:blur(12px)}
.tab{background:linear-gradient(145deg,rgba(208,229,255,.08),rgba(130,162,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.1)}
.tab[aria-selected="true"]{box-shadow:inset 0 1px rgba(255,255,255,.62),0 0 22px rgba(99,220,255,.25),0 8px 26px rgba(0,0,0,.2)}
.collection{background:linear-gradient(145deg,rgba(45,60,92,.22),rgba(11,17,37,.36));box-shadow:inset 0 1px rgba(226,244,255,.08)}
.faq details{background:linear-gradient(135deg,rgba(60,78,115,.22),rgba(18,28,55,.4));box-shadow:inset 0 1px rgba(255,255,255,.09);backdrop-filter:blur(12px)}
.progress-chip,.collection-item.is-opened{box-shadow:inset 0 1px rgba(255,255,255,.14),0 0 20px rgba(106,233,255,.08)}

dialog{width:min(640px,calc(100% - 40px));height:auto;max-height:calc(100dvh - 48px);margin:auto;border:1px solid rgba(155,224,255,.42);border-radius:28px;background:linear-gradient(145deg,rgba(27,41,67,.8),rgba(8,17,36,.9) 65%,rgba(31,26,59,.86));backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);box-shadow:inset 0 1px rgba(248,254,255,.2),inset 0 0 0 5px rgba(200,230,255,.025),0 30px 100px rgba(0,0,0,.65),0 0 55px rgba(87,189,255,.1);overflow:auto}
dialog::backdrop{background:rgba(2,5,15,.68);backdrop-filter:blur(12px)}
.dialog-close{position:absolute;top:14px;right:14px;float:none;margin:0;background:rgba(19,30,54,.72);box-shadow:inset 0 1px rgba(255,255,255,.14)}
.unlock-stage{min-height:min(560px,calc(100dvh - 50px));padding:56px 28px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.unlock-stage h2{font-size:clamp(23px,4vw,30px);text-shadow:0 0 22px rgba(138,226,255,.25);max-width:100%;position:relative;z-index:2}
.unlock-stage .kicker{margin-bottom:12px}.unlock-stage .seal{flex:none;margin-top:24px;--seal:min(250px,58vw)}
.tap-hint{margin-top:20px;color:#b6c8e3;position:relative;z-index:2}
.result{padding:62px 28px 28px}.result h2{font-size:clamp(23px,4vw,30px);text-shadow:0 0 22px rgba(138,226,255,.2)}
.result-primary{background:linear-gradient(115deg,#88edff,#b4a0ff 58%,#ee9bd9);border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 1px rgba(255,255,255,.65),0 0 28px rgba(120,201,255,.22),0 12px 34px rgba(0,0,0,.25)}
.result-primary::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent 55%);pointer-events:none}
.gold-dialog{border-color:rgba(245,222,166,.5);box-shadow:inset 0 1px rgba(255,245,215,.25),0 30px 100px rgba(0,0,0,.65),0 0 55px rgba(234,185,97,.1)}
@media(hover:hover){.reward-card:hover{border-color:rgba(157,237,255,.6);box-shadow:inset 0 1px rgba(240,253,255,.25),0 20px 50px rgba(0,0,0,.3),0 0 28px rgba(110,213,255,.12)}}
@media(max-width:640px){dialog{width:calc(100% - 24px);height:auto;max-height:calc(100dvh - 28px);border:1px solid rgba(155,224,255,.4);border-radius:22px}.unlock-stage{min-height:min(520px,calc(100dvh - 30px));padding:54px 18px 28px}.unlock-stage .seal{--seal:min(230px,58vw)}.result{padding:62px 18px 24px}.page-shell{background:linear-gradient(145deg,rgba(16,25,48,.8),rgba(8,13,31,.88))}.result-art{border-radius:13px}}
@media(max-height:640px){.unlock-stage{min-height:0;padding-block:50px 24px}.unlock-stage .seal{--seal:170px;margin-top:16px}.unlock-stage h2{font-size:23px}.tap-hint{margin-top:12px}}
dialog{height:fit-content}

/* Roadmap blue: deep navy glass, ice-blue edges, cyan illumination. */
:root{--bg:#040b18;--cyan:#69e7ff;--violet:#429bff;--pink:#8aeaff;--panel-strong:rgba(7,23,43,.94);--line:rgba(145,208,244,.22);--line-strong:rgba(122,229,255,.45)}
.scene{filter:saturate(.7) brightness(.82)}
body::after{background:radial-gradient(ellipse at 50% 16%,rgba(25,154,211,.13),transparent 52%),linear-gradient(180deg,rgba(3,19,38,.35),rgba(2,13,29,.58) 58%,rgba(2,10,23,.84))}
.page-shell{background:linear-gradient(145deg,rgba(15,43,67,.69),rgba(5,20,39,.85) 48%,rgba(9,29,50,.8));border-inline-color:rgba(151,212,243,.25);box-shadow:inset 1px 0 rgba(195,236,255,.1),inset -1px 0 rgba(195,236,255,.1),0 24px 100px rgba(0,9,25,.55),0 0 70px rgba(54,163,220,.06)}
.site-header{background:rgba(6,22,41,.75);border-bottom-color:rgba(116,207,244,.24)}
.brand-mark{background:linear-gradient(145deg,rgba(105,231,255,.25),rgba(32,105,180,.26));box-shadow:inset 0 1px rgba(222,249,255,.3),0 0 22px rgba(68,205,255,.2)}
.reward-card{background:linear-gradient(145deg,rgba(39,84,111,.38),rgba(8,29,52,.68));border-color:rgba(159,218,249,.25);box-shadow:inset 0 1px rgba(224,249,255,.2),0 14px 38px rgba(0,10,25,.3),0 0 24px rgba(64,173,222,.035)}
.reward-card::after{left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,rgba(151,239,255,.85),transparent);box-shadow:0 0 12px rgba(105,232,255,.3)}
.reward-group>header h3,.panel-head h2,.collection h2,.help h2{color:#e3f7ff;text-shadow:0 0 8px rgba(108,221,255,.2),0 0 26px rgba(48,166,220,.25),0 2px 2px rgba(0,0,0,.5)}
.kicker,.reward-meta,.section-kicker{color:#7beaff;text-shadow:0 0 12px rgba(60,218,255,.6)}
.tabs-wrap{background:linear-gradient(180deg,rgba(5,21,40,.94) 70%,rgba(5,21,40,0))}
.tab{background:linear-gradient(145deg,rgba(166,223,248,.09),rgba(35,99,146,.07));border-color:rgba(154,213,244,.23)}
.tab[aria-selected="true"],.tab.is-gold[aria-selected="true"]{color:#04243a;background:linear-gradient(135deg,#b5f5ff,#6ae5f7 55%,#51b9ee);box-shadow:inset 0 1px rgba(255,255,255,.8),0 0 24px rgba(63,211,255,.3),0 8px 26px rgba(0,10,25,.24)}
.card-cta,.gold-card .card-cta{background:linear-gradient(135deg,rgba(109,233,255,.17),rgba(32,129,193,.14));border-color:rgba(139,230,255,.35);color:#a5efff;box-shadow:inset 0 1px rgba(225,249,255,.18),0 0 18px rgba(54,195,240,.09)}
.reward-group>header b{background:linear-gradient(145deg,rgba(91,221,255,.18),rgba(40,116,172,.22));box-shadow:inset 0 1px rgba(232,250,255,.15),0 0 16px rgba(78,204,247,.1)}
.collection{background:linear-gradient(145deg,rgba(28,73,104,.25),rgba(7,23,42,.4))}
.collection-count strong{color:#8aefff;text-shadow:0 0 22px rgba(74,214,255,.25)}
.faq details{background:linear-gradient(135deg,rgba(36,84,113,.25),rgba(8,28,49,.45));border-color:rgba(150,211,244,.2)}
dialog{background:linear-gradient(145deg,rgba(20,54,77,.82),rgba(5,24,44,.92) 65%,rgba(11,40,63,.88));border-color:rgba(157,230,255,.45);box-shadow:inset 0 1px rgba(235,253,255,.32),inset 0 0 0 5px rgba(179,231,255,.035),0 30px 100px rgba(0,5,19,.65),0 0 55px rgba(44,176,237,.15)}
.gold-dialog{border-color:rgba(157,230,255,.5);box-shadow:inset 0 1px rgba(235,253,255,.32),0 30px 100px rgba(0,5,19,.65),0 0 55px rgba(44,176,237,.15)}
.dialog-close{background:rgba(9,33,54,.78);border-color:rgba(154,224,255,.28)}
.result-primary{background:linear-gradient(115deg,#b4f7ff,#6be4f6 55%,#4db7ed);color:#05253e;border-color:rgba(230,253,255,.6);box-shadow:inset 0 1px rgba(255,255,255,.8),0 0 32px rgba(57,206,249,.3),0 12px 34px rgba(0,7,25,.3)}
.seal-aura{background:radial-gradient(circle,rgba(84,231,255,.4),rgba(40,136,208,.12) 48%,transparent 72%)}
.seal-ring{border-color:rgba(122,235,255,.58);box-shadow:0 0 18px rgba(72,212,255,.14),inset 0 0 18px rgba(72,212,255,.08)}.seal-ring-2{border-color:rgba(103,184,255,.5)}
.seal-burst{background:radial-gradient(circle,#fff 0%,#d5fbff 8%,rgba(106,235,255,.9) 20%,rgba(39,147,234,.3) 45%,transparent 66%)}
.spark{background:#dbfbff;box-shadow:0 0 12px 4px rgba(92,224,255,.65)}
.unlock-stage::after{background:radial-gradient(ellipse at 50% 60%,rgba(219,252,255,.82),rgba(68,205,255,.3) 40%,transparent 72%)}
@media(max-width:640px){.page-shell{background:linear-gradient(145deg,rgba(12,40,64,.8),rgba(5,19,38,.89))}}

/* Approved festival visual: one crystal-blue venue from FV to rewards. */
:root{--bg:#020a22;--cyan:#8af1ff;--line:rgba(103,204,255,.3);--line-strong:rgba(133,239,255,.64);--muted:#bdd2eb;--green:#a7f4ff}
.scene{inset:0;background:url("assets/festival-glass-background-v2.jpg") center/cover no-repeat;filter:saturate(1.08) brightness(.82);transform:none}
body::after{background:linear-gradient(180deg,rgba(1,9,31,.06),rgba(1,11,32,.3) 60%,rgba(1,9,29,.52))}
.page-shell{background:linear-gradient(180deg,rgba(3,21,57,.24),rgba(3,20,48,.76) 30%,rgba(3,18,46,.83));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-inline-color:rgba(128,231,255,.32);box-shadow:inset 1px 0 rgba(175,246,255,.15),inset -1px 0 rgba(175,246,255,.15),0 0 60px rgba(31,162,255,.12),0 30px 100px rgba(0,6,26,.45)}
.site-header{background:rgba(3,21,48,.78);border-bottom:1px solid rgba(124,232,255,.36);box-shadow:0 1px 18px rgba(70,207,255,.1),inset 0 1px rgba(203,250,255,.14)}
.brand-text b{text-shadow:0 0 6px rgba(213,251,255,.4),0 0 20px rgba(76,219,255,.45)}
.festival-hero{width:100%;container-type:inline-size;background:#031741;isolation:isolate}
.festival-hero .hero-poster-image{width:100%;animation:none;aspect-ratio:2/3;object-fit:cover}
.festival-wordmark,.festival-heading,.festival-message,.festival-present,.festival-caption{position:absolute;left:6%;right:6%;text-align:center;z-index:2;color:#f2fdff}
.festival-wordmark{top:2.2%;line-height:.96;letter-spacing:-.035em;filter:drop-shadow(0 0 7px rgba(58,214,255,.75))}
.festival-wordmark span{display:block;font-size:7.6cqw;font-weight:950;letter-spacing:-.05em}.festival-wordmark strong{display:block;margin-top:.7cqw;font-size:4.8cqw;font-weight:900;letter-spacing:.025em}
.festival-heading{top:14%;bottom:64%;display:flex;flex-direction:column;justify-content:center;align-items:center}
.festival-heading>p{font-size:3.6cqw;line-height:1.5;letter-spacing:.14em;font-weight:900;margin-bottom:1.6cqw;padding:.5cqw 3cqw;border:1px solid rgba(167,246,255,.72);border-radius:1.1cqw;background:rgba(7,37,75,.56);box-shadow:inset 0 1px rgba(255,255,255,.2),0 0 15px rgba(50,207,255,.35)}
.festival-heading h1{font-size:10.6cqw;line-height:1.17;font-weight:950;letter-spacing:-.055em;text-shadow:0 2px 1px #1583c1,0 0 4px rgba(187,249,255,.7),0 0 22px rgba(56,193,255,.65)}
.festival-message{bottom:13.8%;font-size:3.5cqw;line-height:1.5;font-weight:800;text-shadow:0 0 12px #228cd2,0 2px 5px #00102f;letter-spacing:.015em}
.festival-present{bottom:7.5%;left:14%;right:14%;font-size:3.5cqw;font-weight:900;line-height:1.7;white-space:nowrap;text-shadow:0 0 14px rgba(117,236,255,.6)}.festival-present span{display:inline-block;font-size:5.3cqw;line-height:1;vertical-align:-.04em;color:#92f3ff;margin-inline:.25cqw}
.festival-caption{bottom:3.6%;font-size:2cqw;letter-spacing:.3em;font-weight:700;color:#96edff}
.rewards-section{position:relative;padding-top:32px;background:radial-gradient(ellipse at 50% 0,rgba(15,113,200,.17),transparent 45%)}
.tabs-wrap{top:0;margin-bottom:30px;background:linear-gradient(180deg,rgba(3,22,54,.94) 70%,rgba(3,22,54,0));border-top:1px solid rgba(118,233,255,.22)}
.tab{border-color:rgba(112,214,255,.35);background:linear-gradient(135deg,rgba(66,138,208,.18),rgba(7,36,73,.56));box-shadow:inset 0 1px rgba(217,251,255,.2),0 0 10px rgba(54,185,248,.08)}
.tab[aria-selected="true"],.tab.is-gold[aria-selected="true"]{background:linear-gradient(135deg,#dbfdff,#85eaff 50%,#35b3fb);color:#032243;box-shadow:inset 0 1px #fff,0 0 14px rgba(109,235,255,.55),0 0 30px rgba(54,155,255,.25)}
.reward-group>header{position:relative;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid rgba(130,227,255,.3)}
.reward-group>header::after{content:"";position:absolute;bottom:-1px;left:0;width:110px;height:2px;background:linear-gradient(90deg,#d9fcff,#65dfff,transparent);box-shadow:0 0 12px rgba(87,218,255,.7)}
.reward-group>header h3,.panel-head h2,.collection h2,.help h2{color:#edfcff;text-shadow:0 0 4px rgba(182,246,255,.3),0 0 16px rgba(75,206,255,.5),0 2px 3px #031a3c}
.reward-card{border-color:rgba(107,216,255,.48);background:linear-gradient(135deg,rgba(32,103,171,.35),rgba(7,34,74,.8) 58%,rgba(16,63,108,.56));box-shadow:inset 0 1px rgba(227,253,255,.3),inset 0 0 0 4px rgba(95,199,255,.035),0 0 21px rgba(17,155,250,.12),0 15px 38px rgba(0,9,34,.32);backdrop-filter:blur(16px)}
.reward-card::after{height:2px;left:8%;right:8%;background:linear-gradient(90deg,transparent,#c1fcff 50%,transparent);box-shadow:0 0 14px rgba(102,234,255,.7)}
.reward-card .art{border-bottom:1px solid rgba(108,224,255,.5)}
.card-body h3{text-shadow:0 0 12px rgba(92,213,255,.26)}
.card-cta,.gold-card .card-cta{min-height:40px;padding-inline:14px;color:#d6fbff;border:1px solid rgba(133,235,255,.6);background:linear-gradient(135deg,rgba(65,175,245,.3),rgba(24,87,158,.22));box-shadow:inset 0 1px rgba(218,252,255,.32),0 0 16px rgba(55,188,255,.16);text-shadow:0 0 10px rgba(81,224,255,.4)}
.reward-group>header b,.progress-chip{border-color:rgba(127,230,255,.4);background:rgba(24,78,128,.35);box-shadow:inset 0 1px rgba(213,248,255,.22),0 0 17px rgba(69,202,255,.17)}
.limited-chip{background:rgba(7,62,107,.9);border-color:rgba(141,230,255,.6);color:#b6f6ff;box-shadow:0 0 15px rgba(55,185,255,.2)}
.earned-seal{background:rgba(2,48,74,.92);border-color:rgba(132,235,255,.6);color:#b8faff;box-shadow:0 0 14px rgba(63,199,255,.16)}
.collection{background:radial-gradient(ellipse at 50% 0,rgba(28,145,235,.14),transparent 70%),rgba(2,21,52,.45);border-color:rgba(126,226,255,.3)}
.collection-item{border-color:rgba(130,209,255,.23);background:#03132f}.collection-item.is-opened{border-color:rgba(157,243,255,.78);box-shadow:inset 0 1px rgba(227,255,255,.4),0 0 18px rgba(71,207,255,.24)}.collection-item.is-opened>span{background:#b0f5ff;color:#00253c}
.collection-lock{color:#b6d5ee}.faq details{border-color:rgba(116,218,255,.35);background:linear-gradient(135deg,rgba(34,103,161,.3),rgba(5,31,65,.56));box-shadow:inset 0 1px rgba(225,252,255,.2),0 0 14px rgba(18,163,255,.06)}
dialog,.gold-dialog{background:radial-gradient(ellipse at 50% 25%,rgba(29,115,190,.26),transparent 60%),linear-gradient(145deg,rgba(15,52,91,.87),rgba(3,24,55,.94));border-color:rgba(138,238,255,.65);box-shadow:inset 0 1px rgba(229,254,255,.5),inset 0 0 0 5px rgba(113,227,255,.055),0 0 45px rgba(46,178,255,.24),0 30px 100px rgba(0,5,25,.6)}
.result-primary{background:linear-gradient(115deg,#d0fcff,#79e7ff 52%,#36b0f9);box-shadow:inset 0 1px #fff,0 0 20px rgba(80,222,255,.45),0 12px 32px rgba(0,10,31,.3);color:#002446}
.seal-chest{width:70%;filter:drop-shadow(0 0 17px rgba(63,210,255,.6))}.seal-ring{border-color:rgba(170,249,255,.75);box-shadow:0 0 16px rgba(75,218,255,.4),inset 0 0 20px rgba(64,186,255,.12)}.seal-ring-2{border-color:rgba(103,196,255,.66)}
@keyframes chestLift{0%{transform:translate(-50%,-50%)}25%{transform:translate(-50%,-54%) scale(1.08);filter:drop-shadow(0 0 35px #a1f6ff)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-65%) scale(1.2)}}
@media(hover:hover){.reward-card:hover{border-color:#a1f5ff;box-shadow:inset 0 1px rgba(247,255,255,.55),0 0 30px rgba(69,198,255,.3),0 20px 44px rgba(0,9,35,.4)}.reward-card:hover .card-cta{background:rgba(51,166,232,.35);box-shadow:0 0 20px rgba(68,213,255,.25)}}
@media(max-width:640px){.scene{background-position:center;filter:saturate(1.08) brightness(.7)}.page-shell{background:linear-gradient(180deg,rgba(3,21,57,.08),rgba(3,20,48,.7) 23%,rgba(3,18,46,.85));backdrop-filter:blur(2px)}.brand-text b{font-size:9px}.rewards-section{padding-top:16px}.reward-group>header h3{font-size:20px}.festival-caption{letter-spacing:.26em}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.just-opened,.is-loaded .hero-poster-image{animation:none}.reward-card,.reward-card .art img,.tab,.card-cta{transition:none}}

/* Choice 01: graphic display lettering + real semantic H1, separate from venue. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.festival-participant{position:absolute;z-index:2;top:13.2%;left:35.5%;right:35.5%;margin:0;padding:.45cqw 0;font-size:3.7cqw;line-height:1.35;letter-spacing:.13em;text-align:center;font-weight:900;color:#f2fdff;background:rgba(3,23,53,.7);border:1px solid #a8f3ff;border-radius:.8cqw;box-shadow:inset 0 0 10px rgba(89,199,255,.28),0 0 12px rgba(60,201,255,.36)}
.festival-display-title{position:absolute;z-index:2;top:17.25%;left:12%;right:12%;margin:0;line-height:0}
.festival-display-title>img{display:block;width:100%;height:auto;max-width:none;filter:drop-shadow(0 0 5px rgba(49,184,255,.3))}
.festival-present{left:28%;right:19%;bottom:7.7%;font-size:3.6cqw;letter-spacing:-.03em}.festival-present span{font-size:4.9cqw}
.festival-message{bottom:13.7%;font-size:3.5cqw;letter-spacing:.035em}
