#dam{--ink:#080b13;--paper:#f0e6d3;--muted:#b6bac6;--gold:#d6b87c;--gold-hi:#f4dfb0;--line:#65563a;--cyan:#9ed5e1;--violet:#b3a1ed;
--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;--ease:cubic-bezier(.7,0,.2,1);
position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--paper);overflow:hidden;z-index:2147483000;font-family:var(--sans);}
#dam::backdrop{background:transparent}
#dam *,#dam *::before,#dam *::after{box-sizing:border-box}
#dam img{display:block;max-width:none}
#dam button{font:inherit;color:inherit;cursor:pointer}
#dam :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
#dam:focus,#dam:focus-visible{outline:none}
.dam-veil{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 45%,rgba(38,26,78,.62),rgba(4,5,12,.95) 72%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .9s ease}
#dam.is-open .dam-veil{opacity:1}
#dam.is-closing .dam-veil{opacity:0;transition-duration:.6s}
.dam-fog{position:absolute;inset:-20%;pointer-events:none;opacity:0;transition:opacity 2s ease;
background:radial-gradient(ellipse 40% 25% at 20% 70%,rgba(120,100,200,.13),transparent 70%),radial-gradient(ellipse 45% 28% at 80% 30%,rgba(90,140,200,.10),transparent 70%),radial-gradient(ellipse 50% 30% at 50% 95%,rgba(214,184,124,.07),transparent 70%);
animation:dam-drift 38s ease-in-out infinite alternate}
#dam.is-open .dam-fog{opacity:1}
@keyframes dam-drift{to{transform:translate3d(6%,-4%,0) scale(1.08)}}
.dam-embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.dam-embers i{position:absolute;bottom:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#ffd79a;box-shadow:0 0 6px 1px rgba(255,170,90,.75);opacity:0;
animation:dam-rise var(--d) linear var(--delay) infinite}
.dam-embers i:nth-child(3n){background:#cfc4ff;box-shadow:0 0 7px 1px rgba(160,140,255,.8)}
@keyframes dam-rise{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.9}70%{opacity:.6}100%{transform:translate3d(var(--dx),-105vh,0);opacity:0}}
.dam-intro{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;text-align:center}
.dam-intro-inner{display:flex;flex-direction:column;align-items:center;gap:22px;padding:0 24px}
.dam-intro img{width:112px;height:112px;opacity:0;transform:scale(.82);filter:drop-shadow(0 0 0 rgba(179,161,237,0))}
.dam-intro p{margin:0;font:400 12px/1.6 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(8px)}
.dam-intro p+p{font:italic 400 clamp(19px,2.6vw,26px)/1.35 var(--serif);letter-spacing:.01em;text-transform:none;color:var(--paper)}
#dam.is-intro .dam-intro img{animation:dam-sigil 1.6s var(--ease) .25s forwards}
#dam.is-intro .dam-intro p{animation:dam-up 1s ease .75s forwards}
#dam.is-intro .dam-intro p+p{animation-delay:1.05s}
#dam.is-seam .dam-intro,#dam.is-revealed .dam-intro,#dam.is-closing .dam-intro{opacity:0;transition:opacity .45s ease}
@keyframes dam-sigil{60%{opacity:1;transform:scale(1.04);filter:drop-shadow(0 0 28px rgba(179,161,237,.85))}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 16px rgba(179,161,237,.55))}}
@keyframes dam-up{to{opacity:1;transform:none}}
.dam-skip{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);background:none;border:0;padding:10px 14px;font-size:11px!important;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)!important;opacity:0;transition:opacity .6s ease .6s}
#dam.is-intro .dam-skip{opacity:.75}
#dam.is-revealed .dam-skip{opacity:0;visibility:hidden;transition:none}
.dam-seam{position:absolute;left:50%;top:6%;bottom:6%;width:2px;margin-left:-1px;pointer-events:none;transform:scaleY(0);opacity:0;
background:linear-gradient(to bottom,transparent,#efe9ff 22%,#fff 50%,#efe9ff 78%,transparent);box-shadow:0 0 18px 4px rgba(179,161,237,.85),0 0 60px 14px rgba(120,100,230,.45)}
#dam.is-seam .dam-seam{opacity:1;transform:scaleY(1);transition:transform .55s var(--ease),opacity .2s ease}
#dam.is-burst .dam-seam{opacity:0;transform:scaleY(1) scaleX(420);transition:transform 1.05s var(--ease),opacity 1.05s ease}
.dam-stage{position:absolute;inset:0;display:grid;place-items:center;padding:16px;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.dam-panel{position:relative;width:min(1060px,100%);max-height:calc(100dvh - 32px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
background:linear-gradient(160deg,#141a29 0%,#0b0e17 55%,#0a0c14 100%);border:1px solid rgba(214,184,124,.38);
box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,240,210,.06),0 0 90px rgba(120,100,230,.18);
clip-path:inset(0 50% 0 50%);visibility:hidden}
#dam.is-revealed .dam-panel{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path 1.05s var(--ease)}
#dam.is-closing .dam-panel{opacity:0;transform:scale(.975);transition:opacity .5s ease,transform .6s var(--ease)}
.dam-panel::before,.dam-panel::after{content:"";position:absolute;width:26px;height:26px;border:1px solid var(--gold);pointer-events:none;z-index:3}
.dam-panel::before{top:8px;left:8px;border-right:0;border-bottom:0}
.dam-panel::after{bottom:8px;right:8px;border-left:0;border-top:0}
.dam-close{position:absolute;top:14px;right:14px;z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid rgba(214,184,124,.4)!important;background:rgba(8,11,19,.72)!important;display:grid;place-items:center;transition:border-color .2s,background .2s,transform .3s}
.dam-close:hover{border-color:var(--gold)!important;transform:rotate(90deg)}
.dam-close svg{width:16px;height:16px;stroke:var(--paper);stroke-width:1.6}
.dam-art{position:relative;overflow:hidden;min-height:100%;background:radial-gradient(ellipse 70% 55% at 50% 52%,#2b2052 0%,#141331 45%,#090b15 80%);border-right:1px solid rgba(214,184,124,.18);--px:0;--py:0}
.dam-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(214,184,124,.035) 46px 47px);pointer-events:none}
.dam-gate-wrap{position:absolute;left:50%;top:46%;height:min(78%,520px);aspect-ratio:570/760;transform:translate3d(calc(-50% + var(--px)*-10px),calc(-50% + var(--py)*-8px),0);transition:transform .6s ease-out}
.dam-gate-wrap img{width:100%;height:100%;filter:drop-shadow(0 0 30px rgba(130,110,240,.35)) drop-shadow(0 26px 30px rgba(0,0,0,.65));}
#dam.is-revealed .dam-gate-wrap img{animation:dam-gate-in 2.4s ease .2s both}
@keyframes dam-gate-in{0%{filter:brightness(2.4) saturate(.4) drop-shadow(0 0 60px rgba(200,190,255,.9))}100%{filter:brightness(1) drop-shadow(0 0 30px rgba(130,110,240,.35)) drop-shadow(0 26px 30px rgba(0,0,0,.65))}}
.dam-gate-glow{position:absolute;left:50%;top:40%;width:42%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;mix-blend-mode:screen;pointer-events:none;
background:radial-gradient(circle,rgba(205,190,255,.75),rgba(140,110,255,.25) 40%,transparent 68%);animation:dam-pulse 4.2s ease-in-out infinite}
.dam-gate-crack{position:absolute;left:50%;top:22%;bottom:8%;width:3px;margin-left:-1.5px;mix-blend-mode:screen;pointer-events:none;
background:linear-gradient(to bottom,transparent,rgba(225,215,255,.9) 30%,rgba(225,215,255,.6) 80%,transparent);filter:blur(1px);box-shadow:0 0 14px 3px rgba(150,120,255,.6);animation:dam-pulse 4.2s ease-in-out .8s infinite}
@keyframes dam-pulse{0%,100%{opacity:.35}50%{opacity:.95}}
.dam-art-floor{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(to top,#090b15 12%,transparent);pointer-events:none}
.dam-sigils{position:absolute;left:0;right:0;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:10px}
.dam-sigils ul{display:flex;gap:14px;margin:0;padding:0;list-style:none}
.dam-sigils li{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.dam-sigils img{width:44px;height:44px;opacity:.55;animation:dam-sigil-glow 6s ease-in-out infinite;animation-delay:calc(var(--i)*1.5s)}
@keyframes dam-sigil-glow{0%,70%,100%{opacity:.55;filter:none}20%{opacity:1;filter:drop-shadow(0 0 10px rgba(214,184,124,.8))}}
.dam-sigils p{margin:0;font:italic 13px var(--serif);color:var(--gold)}
.dam-copy{position:relative;padding:46px 48px 38px;max-height:calc(100dvh - 34px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3a3528 transparent}
.dam-r{opacity:0;transform:translate3d(0,14px,0)}
#dam.is-revealed .dam-r{opacity:1;transform:none;transition:opacity .8s ease,transform .9s var(--ease);transition-delay:calc(var(--i)*75ms + .55s)}
.dam-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.dam-eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);opacity:.7}
.dam-title{margin:0;font:400 clamp(36px,4.6vw,60px)/.98 var(--serif);letter-spacing:-.025em;color:var(--paper)}
.dam-title em{display:block;font-style:normal;background:linear-gradient(100deg,#c79d5c 0%,#f6e3b6 30%,#d6b87c 50%,#fff4d6 62%,#c79d5c 85%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
#dam.is-revealed .dam-title em{animation:dam-shine 2.6s ease 1.1s both}
@keyframes dam-shine{from{background-position:100% 0}to{background-position:0 0}}
.dam-sub{margin:14px 0 0;font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}
.dam-quote{margin:20px 0 0;font:italic 400 clamp(17px,1.7vw,20px)/1.45 var(--serif);color:#e9e1d2}
.dam-lede{margin:12px 0 0;font-size:14.5px;line-height:1.6;color:var(--muted);max-width:52ch}
.dam-when{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(214,184,124,.18);font-size:14px;line-height:1.5}
.dam-when strong{color:var(--gold);font-weight:600}
.dam-when small{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.dam-count-label{margin:16px 0 8px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}
.dam-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:420px;margin:0}
.dam-count div{border-top:1px solid rgba(240,230,211,.22);padding-top:8px}
.dam-count dd{margin:0;font:400 clamp(28px,3vw,36px)/1 var(--serif);color:var(--paper);font-variant-numeric:tabular-nums;display:inline-block}
.dam-count dd.tick{animation:dam-tick .5s ease}
@keyframes dam-tick{0%{opacity:.25;transform:translateY(-5px)}100%{opacity:1;transform:none}}
.dam-count dt{margin-top:6px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.dam-live{display:none;margin:16px 0 0;font:italic 20px var(--serif);color:var(--cyan)}
#dam.is-live .dam-count,#dam.is-live .dam-count-label{display:none}#dam.is-live .dam-live{display:block}
.dam-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:24px 0 0;padding:0;list-style:none;background:rgba(214,184,124,.2);border:1px solid rgba(214,184,124,.2)}
.dam-prizes li{background:#0e121c;padding:12px 12px 11px;text-align:center}
.dam-prizes li:first-child{background:radial-gradient(ellipse at top,#3a2c1c,#0e121c 75%)}
.dam-prizes b{display:block;font:400 26px/1.1 var(--serif);color:var(--gold)}
.dam-prizes li:nth-child(2) b{color:#c3d0dc}.dam-prizes li:nth-child(3) b{color:#dcae8e}
.dam-prizes span{display:block;margin-top:4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dam-pool{margin:8px 0 0;font-size:12px;color:var(--muted)}.dam-pool strong{color:var(--paper);font-weight:600}
.dam-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.dam-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 24px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.dam-btn--gold{color:#1d150a!important;background:linear-gradient(180deg,#ecd5a2,#c8a364);border:1px solid #f3e1b6;box-shadow:0 8px 30px rgba(214,184,124,.22)}
.dam-btn--gold::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:dam-sweep 4.5s ease 2.8s infinite}
@keyframes dam-sweep{0%,70%{left:-60%}100%{left:130%}}
.dam-btn--gold:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(214,184,124,.35)}
.dam-btn--ghost{color:var(--paper)!important;border:1px solid #3c4356;background:rgba(10,13,22,.6)}
.dam-btn--ghost:hover{border-color:var(--gold)}
.dam-btn svg{width:18px;height:12px;stroke:currentColor;fill:none;stroke-width:1.6}
.dam-later{margin-top:14px;padding:6px 0;background:none;border:0;font-size:12px!important;color:var(--muted)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(182,186,198,.4)}
.dam-later:hover{color:var(--paper)!important}
@media (max-width:820px){
.dam-panel{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto;overscroll-behavior:contain}
.dam-art{height:230px;min-height:0;border-right:0;border-bottom:1px solid rgba(214,184,124,.18)}
.dam-gate-wrap{top:56%;height:300px}
.dam-sigils{display:none}
.dam-copy{overflow:visible;max-height:none;padding:26px 22px 26px}
.dam-close{top:10px;right:10px}
.dam-prizes b{font-size:21px}
.dam-panel::before,.dam-panel::after{display:none}
.dam-art{height:190px}.dam-gate-wrap{height:270px;top:58%}
.dam-lede{display:none}
.dam-actions{position:sticky;bottom:0;z-index:2;flex-wrap:nowrap;gap:8px;margin:16px -22px 0;padding:22px 22px 12px;background:linear-gradient(to bottom,rgba(11,14,23,0),#0b0e17 28%)}
.dam-actions .dam-btn--gold{flex:1 1 auto;min-height:52px}
.dam-actions .dam-btn--ghost{display:none}
.dam-later{margin-top:2px}
}
@media (max-height:700px) and (min-width:821px){.dam-copy{padding-top:32px;padding-bottom:26px}.dam-lede{display:none}}
@media (prefers-reduced-motion:reduce){
#dam *,#dam *::before,#dam *::after{animation:none!important}
.dam-embers,.dam-intro,.dam-seam,.dam-skip{display:none}
.dam-panel{clip-path:none!important;opacity:0}
#dam.is-revealed .dam-panel{opacity:1;transition:opacity .3s ease}
#dam.is-revealed .dam-r{transition:opacity .3s ease;transition-delay:0s}
.dam-gate-glow,.dam-gate-crack{opacity:.6}
}
/* Video-first campaign intro */
#dam.is-ended .dam-count,#dam.is-ended .dam-count-label{display:none}#dam.is-ended .dam-live{display:block}
.dam-video-intro{display:none;position:absolute;inset:0;z-index:5;place-content:center;grid-template-columns:min(1060px,100%);padding:24px 16px;background:#070b13}
#dam.is-video .dam-video-intro{display:grid;opacity:1;transition:opacity 1.2s ease}
#dam.is-video.is-revealed .dam-video-intro{opacity:0;pointer-events:none}
#dam.is-video.is-revealed:not(.is-video-leaving) .dam-video-intro{visibility:hidden}
.dam-video-intro video{display:block;width:min(1060px,100%);max-height:calc(100dvh - 150px);aspect-ratio:16/9;object-fit:contain;background:#070b13;border:1px solid rgba(214,184,124,.38);box-shadow:0 24px 80px #0009}
.dam-video-controls{display:flex;justify-content:space-between;gap:16px;margin:16px 0 0;align-items:center}
.dam-video-controls button{min-height:48px;padding:12px 20px;border:1px solid #65563a;border-radius:3px;background:#101522;color:#f0e6d3;font-size:14px!important}
.dam-video-controls [data-dam="skip"]{border-color:#d6b87c;color:#f4dfb0;background:#292116}
.dam-video-status{margin:10px 0 0;min-height:20px;font-size:13px;color:#b6bac6;text-align:center}
#dam.is-video .dam-intro,#dam.is-video .dam-seam{display:none}
#dam.is-video .dam-panel{clip-path:none;opacity:0;visibility:hidden}
#dam.is-video.is-revealed .dam-panel{opacity:1;visibility:visible;transition:opacity 1.2s ease}
#dam.is-video .dam-fog,#dam.is-video .dam-embers{animation-play-state:paused;visibility:hidden}
@media(max-width:600px){.dam-video-controls button{padding:12px 14px;font-size:13px!important}.dam-video-intro{padding:16px 12px}}
@media(prefers-reduced-motion:reduce){#dam.is-video .dam-video-intro,#dam.is-video.is-revealed .dam-panel{transition:none}}
