/* Temporary Diwali intro, loaded by include/diwali.php and built by diwali.js:
   the genie rises, crackers burst, "Happy Diwali" appears. Played once per visit. */
.dw-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 70%,rgba(58,22,8,.93),rgba(6,5,14,.97) 70%);opacity:0;transition:opacity .45s ease;cursor:pointer;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif}
.dw-intro.on{opacity:1}
.dw-intro.out{opacity:0;transition-duration:.6s}
.dw-fw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dw-intro-genie{position:absolute;left:50%;bottom:0;height:min(30vh,300px);width:auto;transform:translate(-50%,110%) scale(.6);filter:drop-shadow(0 0 30px rgba(255,190,80,.55));transition:transform 1s cubic-bezier(.2,.9,.25,1.15) .15s}
.dw-intro.on .dw-intro-genie{transform:translate(-50%,0) scale(1)}
.dw-intro-text{position:relative;margin-top:-14vh;padding:0 20px;text-align:center;line-height:.95;pointer-events:none}
.dw-intro-text span{display:inline-block;font-size:clamp(46px,10vw,132px);font-weight:800;letter-spacing:-.03em;background:linear-gradient(180deg,#fff6cf 0%,#ffd54a 45%,#ff9a1f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(255,170,40,.55));opacity:0;transform:translateY(30px) scale(.8)}
.dw-intro-text .w1{margin-right:.22em}
.dw-intro-text small{display:block;margin-top:18px;font-size:clamp(14px,1.6vw,20px);font-weight:500;letter-spacing:.01em;color:#ffe7b8;opacity:0}
.dw-intro.on .w1{animation:dw-word .8s cubic-bezier(.2,.9,.25,1.2) 1.3s forwards}
.dw-intro.on .w2{animation:dw-word .8s cubic-bezier(.2,.9,.25,1.2) 1.6s forwards}
.dw-intro.on small{animation:dw-fade .7s ease 2.2s forwards}
.dw-skip{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;padding:8px 16px;border:1px solid rgba(255,231,184,.5);border-radius:999px;background:rgba(0,0,0,.25);color:#ffe7b8;font:500 13px 'Poppins',system-ui,sans-serif;cursor:pointer}
.dw-skip:hover{background:rgba(0,0,0,.45)}
.dw-skip:focus-visible{outline:2px solid #ffd54a;outline-offset:2px}
@keyframes dw-word{to{opacity:1;transform:none}}
@keyframes dw-fade{to{opacity:1}}
@media print{.dw-intro{display:none}}
