:root{--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", monospace;--color-gold: #f5b335;--color-gold-glow: rgba(245, 179, 53, .4);--color-marigold: #ff8c00;--color-sindoor: #d13030;--color-sindoor-dark: #961717;--color-altar: #4a1515;--color-shiuli: #fff8eb;--color-shiuli-orange: #ff5722;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.2, .8, .2, 1);--transition-slow: .6s cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{--bg-app: #fbf7ee;--bg-theatre: #ffffff;--bg-theatre-card: #f8f3e8;--bg-theatre-accent: #f0e6d2;--bg-glass: rgba(255, 255, 255, .75);--border-subtle: #e6dac6;--border-focus: #f5b335;--text-primary: #2d241e;--text-secondary: #6e5f52;--text-muted: #998777;--text-highlight: #b73229;--shadow-theatre: 0 16px 40px -10px rgba(78, 48, 22, .12), 0 2px 8px rgba(0, 0, 0, .04);--shadow-glow: 0 0 24px rgba(245, 179, 53, .35);--scene-sky-start: #fffaee;--scene-sky-end: #faeed4}:root[data-theme=dark]{--bg-app: #0e0d13;--bg-theatre: #171520;--bg-theatre-card: #201d2c;--bg-theatre-accent: #2c273d;--bg-glass: rgba(23, 21, 32, .82);--border-subtle: #332e47;--border-focus: #f5b335;--text-primary: #fcf9f2;--text-secondary: #c0b7aa;--text-muted: #80766a;--text-highlight: #ffbe53;--shadow-theatre: 0 24px 60px -15px rgba(0, 0, 0, .7), 0 0 1px 1px rgba(255, 255, 255, .05);--shadow-glow: 0 0 32px rgba(245, 179, 53, .28);--scene-sky-start: #14121d;--scene-sky-end: #201a2c}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;overflow-x:hidden;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.5;transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1.25rem 1rem 2rem}:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-container{width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.theatre-window{width:60%;max-width:900px;min-width:320px;background:var(--bg-theatre);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-theatre);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all var(--transition-normal)}@media(max-width:1024px){.theatre-window{width:80%}}@media(max-width:640px){.theatre-window{width:95%;border-radius:var(--radius-md)}}.theatre-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:10}.brand-section{display:flex;flex-direction:column;gap:.15rem}.brand-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.brand-title .bengali-title{font-weight:600;color:var(--color-sindoor)}.journey-progress{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.journey-label{font-weight:500;letter-spacing:.02em}.progress-dots{display:flex;align-items:center;gap:.35rem}.progress-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--border-subtle);transition:all var(--transition-normal)}.progress-dot.active{background:var(--color-gold);box-shadow:0 0 8px var(--color-gold);transform:scale(1.2)}.progress-dot.completed{background:var(--color-sindoor);box-shadow:0 0 6px #d1303066}.header-controls{display:flex;align-items:center;gap:.5rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full);background:var(--bg-theatre-card);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast);touch-action:manipulation}.icon-btn:hover{color:var(--text-primary);border-color:var(--color-gold);background:var(--bg-theatre-accent)}.icon-btn svg{width:18px;height:18px}.theatre-header{min-width:0}.brand-section{flex:0 0 auto;white-space:nowrap}.journey-progress{flex:1 1 auto;min-width:0;justify-content:center}.header-controls{flex:0 0 auto}@media(max-width:640px){.theatre-header{padding:.75rem;gap:.5rem}.header-controls{gap:.35rem}.icon-btn{width:34px;height:34px}.icon-btn svg{width:16px;height:16px}.progress-dots{gap:.25rem}.progress-dot{width:8px;height:8px}}@media(max-width:480px){.journey-label{display:none}}.theatre-stage-area{min-height:480px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--scene-sky-start) 0%,var(--scene-sky-end) 100%)}.theatre-footer{width:60%;max-width:860px;display:flex;align-items:center;justify-content:space-between;padding:.75rem .5rem;font-size:.82rem;color:var(--text-muted)}@media(max-width:1024px){.theatre-footer{width:80%}}@media(max-width:640px){.theatre-footer{width:95%;flex-direction:column;gap:.4rem;text-align:center}}.visitor-counter{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-theatre-card);padding:.25rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.footer-credit{font-family:var(--font-display);font-size:.9rem;letter-spacing:.01em;color:var(--text-muted)}.footer-credit-line{display:inline-flex;align-items:baseline;gap:.32rem}.footer-credit-title{color:var(--text-primary);font-weight:600}.footer-credit-byline{font-size:.88em}.footer-credit a{color:var(--text-highlight);font-weight:600;text-decoration-color:var(--color-gold);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--transition-fast)}.footer-credit a:hover,.footer-credit a:focus-visible{color:var(--color-gold)}.stage-container{flex:1;display:flex;flex-direction:column;padding:1.5rem;position:relative;min-height:480px;justify-content:space-between}@media(max-width:640px){.stage-container{padding:1rem;min-height:440px}}.stage-header-block{text-align:center;margin-bottom:1rem}.stage-title{font-family:var(--font-display);font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stage-subtitle{font-size:.95rem;color:var(--text-secondary);font-style:italic}.stage-instruction{font-size:.88rem;color:var(--text-muted);margin-top:.35rem}.stage-banner{background:var(--bg-theatre-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem 1.5rem;text-align:center;margin-top:1rem;animation:fadeIn .5s ease forwards;box-shadow:var(--shadow-glow)}.stage-banner-text{font-size:1.15rem;font-weight:600;color:var(--color-sindoor);margin-bottom:.25rem}.stage-banner-sub{font-size:.95rem;color:var(--text-secondary)}.btn-continue{margin-top:.75rem;padding:.5rem 1.25rem;background:var(--color-gold);color:#241604;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem}.btn-continue:hover{background:var(--color-marigold);transform:translateY(-1px);box-shadow:0 4px 12px #f5b33566}.btn-continue svg{width:1.25rem;height:1.25rem;display:block;stroke:currentColor;fill:none}.mahalaya-room{flex:1;position:relative;background:radial-gradient(circle at 70% 60%,#1e1828e6,#0a080ffa);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-around;padding:1.5rem;min-height:280px;overflow:hidden;transition:background 1.2s ease}.mahalaya-room.illuminated{background:radial-gradient(circle at 65% 55%,#f5b33540,#261a2df2 70%,#0e0a14fa)}.window-scenery{position:absolute;top:15px;left:20px;width:68px;height:92px;border:3px solid #4a382d;border-radius:32px 32px 0 0;background:linear-gradient(180deg,#18233c,#3a3250 60%,#856149);overflow:hidden;box-shadow:inset 0 0 10px #00000080}.window-bars{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-evenly}.window-bar{width:2px;height:100%;background:#362920}.room-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none}.radio-wrapper{position:relative;padding:12px;border-radius:var(--radius-md);border:2px dashed transparent;transition:all .3s ease}.radio-tuner{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:320px;margin-left:3rem;cursor:default}.tuner{width:100%;max-width:500px;padding:.6rem 1.25rem .5rem;border-radius:12px;background:#140c06bf;border:1px solid var(--color-gold, #d4a24c);box-shadow:inset 0 0 14px #0009,0 0 calc(var(--tune-glow, 0) * 24px) rgba(255,190,80,calc(var(--tune-glow, 0) * .7));transition:box-shadow .2s ease}.tuner-readout{text-align:center;font-family:Courier New,monospace;color:var(--color-gold, #d4a24c);margin-bottom:.3rem}.tuner-freq{font-size:1.4rem;letter-spacing:.08em}.tuner-unit{font-size:.75rem;margin-left:.3rem;opacity:.8}.tuner-dial{position:relative;height:30px;border-radius:6px;background:linear-gradient(#2a1a0c,#140b05);border:1px solid rgba(212,162,76,.5);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;outline:none}.tuner-dial:active{cursor:grabbing}.tuner-dial:focus-visible{box-shadow:0 0 0 2px var(--color-gold, #d4a24c)}.tuner-dial[aria-disabled=true]{cursor:default}.tuner-ticks{position:absolute;top:0;right:8px;bottom:0;left:8px;display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:3px;pointer-events:none}.tick{width:1px;height:7px;background:#d4a24c99}.tick-major{height:14px;background:var(--color-gold, #d4a24c)}.tuner-needle{position:absolute;top:-3px;bottom:-3px;width:2px;background:#e0402a;box-shadow:0 0 6px #e0402ae6;transform:translate(-50%);pointer-events:none}.tuner-knob{position:absolute;top:50%;left:50%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,#f3d28a,#a8742a);border:1px solid #5a3b12;box-shadow:0 2px 6px #0009}.tuner-scale{display:flex;justify-content:space-between;margin-top:.2rem;font-size:.65rem;color:var(--text-secondary, #b9a88f)}.tuner-hint{margin:.3rem 0 0;text-align:center;font-size:.8rem;color:var(--text-secondary, #b9a88f);min-height:1.2em}.radio-tuner.tuned .tuner-hint{color:var(--color-gold, #d4a24c)}.radio-soundwaves{position:absolute;top:-20px;right:-10px;display:flex;gap:3px;align-items:flex-end;height:24px}.soundwave-bar{width:4px;background:var(--color-gold);border-radius:2px;animation:soundwave .8s ease infinite alternate}.soundwave-bar:nth-child(2){animation-delay:.2s;height:18px}.soundwave-bar:nth-child(3){animation-delay:.4s;height:24px}.soundwave-bar:nth-child(4){animation-delay:.1s;height:12px}.diya-wrapper{position:relative;padding:10px;transition:transform .2s ease}.diya-flame{position:absolute;top:0;left:50%;transform:translate(-50%);width:14px;height:22px;background:radial-gradient(ellipse at bottom,#fff 0%,#ffeb3b 40%,#ff5722 80%,transparent 100%);border-radius:50% 50% 20% 20%;animation:flicker 1.2s infinite alternate ease-in-out;box-shadow:0 0 20px 6px #ff8c00b3}@media(max-width:480px){.radio-tuner{min-width:0;width:100%;margin-left:0}.mahalaya-room{padding-top:7rem}}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}@media(min-width:600px){.transport-grid{grid-template-columns:repeat(4,1fr)}}.transport-card{background:var(--bg-theatre-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.2rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:all var(--transition-normal);text-align:center;-webkit-user-select:none;user-select:none}.transport-img{width:90px;height:90px;object-fit:contain;border-radius:var(--radius-sm);filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));transition:transform .4s ease}@media(max-width:600px){.transport-img{width:70px;height:70px}}.transport-card:hover{transform:translateY(-3px);border-color:var(--color-gold);box-shadow:0 6px 16px #00000014}.transport-card.selected-correct{border-color:var(--color-gold);background:#f5b3351f;box-shadow:var(--shadow-glow)}.transport-card.selected-wrong{border-color:var(--text-muted);opacity:.75}.transport-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.transport-bengali{font-size:.85rem;color:var(--text-secondary)}.feedback-msg{text-align:center;font-size:.9rem;color:var(--text-secondary);min-height:1.5rem;margin-top:.25rem;font-style:italic}.deities-container{display:flex;flex-direction:column;gap:1rem;align-items:center;margin:1rem 0}.deities-track{display:flex;gap:.5rem;justify-content:center;align-items:stretch;width:100%;overflow-x:auto;padding:.5rem .2rem}.deity-slot{flex:1;max-width:120px;background:var(--bg-theatre-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.4rem;cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;touch-action:manipulation}.deity-slot:hover{border-color:var(--color-gold);background:var(--bg-theatre-accent)}.deity-slot.selected{outline:2px solid var(--color-gold);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.deity-slot.locked{border-color:var(--color-sindoor);background:#d1303014}.deity-img{width:72px;height:96px;object-fit:contain;border-radius:var(--radius-sm);filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transition:transform .3s ease}@media(max-width:600px){.deity-img{width:52px;height:74px}}.deity-name{font-size:.85rem;font-weight:600;text-align:center;color:var(--text-primary)}.deity-order-badge{font-family:var(--font-mono);font-size:.7rem;background:var(--border-subtle);padding:.1rem .4rem;border-radius:var(--radius-full)}.reorder-hint{font-size:.8rem;color:var(--text-muted);text-align:center}.stage4-container{--bg1: #2a0a0f;--bg2: #12040a;--gold: #f2c14e;--gold-soft: #c9973a;--crimson: #b3202f;--ink: #fff3da;--slot: clamp(54px, 11vw, 76px);position:relative;touch-action:manipulation}#arena{position:relative;width:100%;max-width:680px;height:clamp(340px,54vw,420px);margin:0 auto}#hub{position:absolute;left:50%;top:50%;width:clamp(64px,14vw,96px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-size:clamp(28px,7vw,48px);color:var(--gold);background:radial-gradient(circle,#b3202f59,#0000 70%);border:1px solid rgba(242,193,78,.25);transition:box-shadow .8s,background .8s;-webkit-user-select:none;user-select:none}#hub.done{box-shadow:0 0 50px 12px #f2c14e73;background:radial-gradient(circle,#f2c14e73,#0000 70%);animation:breathe 3.2s ease-in-out infinite}.ring{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--gold);opacity:0;pointer-events:none;animation:ripple 2.2s ease-out forwards}.slot{position:absolute;width:var(--slot);height:var(--slot);margin:calc(var(--slot) / -2) 0 0 calc(var(--slot) / -2);border-radius:50%;display:grid;place-items:center;text-align:center;user-select:none;-webkit-user-select:none;transition:transform .25s,box-shadow .4s,background .4s,border-color .4s}.slot.sealed{background:radial-gradient(circle at 35% 30%,#4a1620,#1b070c 80%);border:2px solid rgba(201,151,58,.55);box-shadow:inset 0 0 14px #000000b3}.slot.sealed:after{content:"";width:14px;height:14px;transform:rotate(45deg);border:2px solid rgba(242,193,78,.55);border-radius:2px}.slot.missing{background:#f2c14e14;border:2px dashed var(--gold);color:var(--gold);font-size:clamp(26px,5vw,36px);font-weight:700;animation:pulse 1.8s ease-in-out infinite;cursor:pointer}.slot.missing.over{transform:scale(1.14);background:#f2c14e40}.slot.filled{animation:none;border-style:solid;background:radial-gradient(circle at 35% 30%,#7a2a1a,#3a0f10 80%);box-shadow:0 0 16px #f2c14e80}.slot .label{display:none;font-size:clamp(8px,1.8vw,10px);letter-spacing:.04em;font-weight:700;color:var(--ink);line-height:1.1;padding:2px}.slot.filled .label,.slot.revealed .label{display:block}.slot.filled:after,.slot.revealed:after{display:none}.slot.revealed{border:2px solid var(--gold);background:radial-gradient(circle at 35% 30%,#8a3a1c,#3a0f10 80%);animation:pop .7s cubic-bezier(.2,1.4,.4,1) both,glow 3s ease-in-out .7s infinite;animation-delay:calc(var(--i) * 90ms),calc(var(--i) * 90ms + .7s)}.slot.shake{animation:shake .4s;border-color:#ff5a5a}#tray{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:680px;margin:40px auto 0}.chip{font:700 13px/1 Georgia,serif;letter-spacing:.08em;padding:9px 14px;border-radius:999px;color:#2a0a0f;background:linear-gradient(180deg,#ffe08a,var(--gold-soft));border:1px solid #fff0b8;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;box-shadow:0 3px 8px #00000073;transition:opacity .25s,transform .15s,filter .3s}.chip{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.slot{-webkit-tap-highlight-color:transparent}.chip:hover{transform:translateY(-2px)}.chip.selected{outline:3px solid #fff;outline-offset:2px}.chip.dragging{opacity:.3}.chip.used{opacity:.25;pointer-events:none;filter:grayscale(.6)}.chip.ghost{position:fixed;z-index:999;pointer-events:none;margin:0;transform:translate(-50%,-50%) scale(1.08);cursor:grabbing;box-shadow:0 10px 24px #0009}#tray.done .chip{opacity:1;filter:none;animation:glow 3s ease-in-out infinite;pointer-events:none}.bar{margin-top:25px;display:flex;gap:28px;align-items:center;justify-content:center;color:#cdb88c;font-size:14px}button#stage4-again,button#again{font:inherit;padding:7px 16px;border-radius:8px;cursor:pointer;color:var(--gold);background:transparent;border:1px solid var(--gold-soft);transition:background .2s ease}button#stage4-again:hover,button#again:hover{background:#f2c14e1f}.puja-altar{display:flex;justify-content:space-around;align-items:center;background:var(--bg-theatre-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2rem 1rem;margin:1rem 0;min-height:200px;gap:2rem}.puja-item-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none}.puja-item-card:hover{transform:translateY(-4px);background:var(--bg-theatre-accent)}.puja-item-card.activated{box-shadow:var(--shadow-glow);transform:scale(1.02)}.puja-item-title{font-weight:600;font-size:1rem;color:var(--text-primary)}.puja-item-bengali{font-size:.85rem;color:var(--text-secondary)}.stage5-bodhon-note{display:inline-block;font-size:smaller;color:gray;margin-top:10px;padding:6px 14px;border:1px solid rgba(255,190,80,.7);border-radius:999px;box-shadow:0 0 6px #ffbe5099,0 0 14px #ff962859,inset 0 0 6px #ffbe5040;animation:stage5-bodhon-glow 2.4s ease-in-out infinite}@keyframes stage5-bodhon-glow{0%,to{border-color:#ffbe5080;box-shadow:0 0 4px #ffbe5066,0 0 10px #ff962833,inset 0 0 4px #ffbe5026}50%{border-color:#ffd278f2;box-shadow:0 0 8px #ffbe50cc,0 0 20px #ff962880,inset 0 0 8px #ffbe5059}}@media(prefers-reduced-motion:reduce){.stage5-bodhon-note{animation:none}}.stage5-bodhon-timer{display:inline-block;min-width:1.6em;margin-left:6px;text-align:center;font-size:1.6em;font-weight:700;line-height:1;vertical-align:middle;color:#ffcd6e;text-shadow:0 0 8px rgba(255,190,80,.8)}.bodhan-theatre{flex:1;position:relative;border-radius:var(--radius-md);overflow:hidden;background:radial-gradient(circle at 50% 45%,#251b32,#0d0a14);border:1px solid var(--border-subtle);min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center}.durga-artwork-container{position:relative;width:220px;height:240px;margin:0 auto}.durga-aura{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:50%;background:radial-gradient(circle,rgba(245,179,53,.4) 0%,rgba(209,48,48,.15) 50%,transparent 70%);opacity:0;transition:opacity 1.8s ease;pointer-events:none}.durga-aura.visible{opacity:1;animation:pulseAura 3s infinite alternate ease-in-out}.durga-svg{width:100%;height:100%;transition:opacity 1.5s ease,transform 1.5s cubic-bezier(.2,.8,.2,1);opacity:0;transform:scale(.92)}.durga-svg.revealed{opacity:1;transform:scale(1)}#bodhan-message-area{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:20px}.final-card{width:100%;max-width:480px;margin:0;text-align:center;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem 1.5rem;animation:fadeInUp .8s ease forwards}.final-card .btn-restart{margin-top:1rem}.final-heading{font-family:var(--font-display);font-size:1.6rem;color:var(--color-sindoor);margin-bottom:1rem}.final-prose{font-size:.95rem;line-height:1.7;color:var(--text-secondary);white-space:pre-line}.final-credits a{color:var(--text-highlight)}.final-credits a:hover,.final-credits a:focus-visible{color:var(--color-gold)}.btn-restart{margin-top:1.25rem;padding:.5rem 1.2rem;font-size:.85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-full);border-width:2px;border-color:green;color:var(--text-muted);transition:all var(--transition-fast);font-weight:700}.btn-restart:hover{color:var(--text-primary);border-color:var(--color-gold);background:var(--bg-theatre-accent)}@keyframes flicker{0%{transform:translate(-50%) scale(1);opacity:.9}50%{transform:translate(-48%) scale(1.08,.96);opacity:1}to{transform:translate(-52%) scale(.95,1.05);opacity:.85}}@keyframes soundwave{0%{height:6px}to{height:22px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseAura{0%{transform:scale(.96);opacity:.8}to{transform:scale(1.06);opacity:1}}.stage5-completion-banner{display:flex;flex-direction:column;align-items:center;gap:.75rem}.stage5-durga-wrapper{position:relative;width:140px;height:150px;margin:.5rem auto;display:flex;align-items:center;justify-content:center}.stage5-durga-aura{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:radial-gradient(circle,rgba(245,179,53,.45) 0%,rgba(209,48,48,.2) 60%,transparent 80%);animation:pulseAura 2.5s infinite alternate ease-in-out;pointer-events:none}.stage5-durga-img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md);filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));z-index:1}.stage-container{position:relative}.stage5-countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(circle at center,#00000059,#0000 65%)}.stage5-countdown-number{font-size:clamp(6rem,35vmin,20rem);font-weight:800;line-height:1;color:#ffcd6ee6;text-shadow:0 0 12px rgba(255,190,80,.9),0 0 40px rgba(255,150,40,.6)}.stage5-countdown-number.tick{animation:stage5-countdown-pop .9s ease-out}@keyframes stage5-countdown-pop{0%{transform:scale(1.35);opacity:.2}30%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:.85}}@media(prefers-reduced-motion:reduce){.stage5-countdown-number.tick{animation:none}}.durga-photo-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.bodhan-durga-photo{max-width:220px;max-height:250px;width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md);filter:drop-shadow(0 8px 24px rgba(245,179,53,.4))}@keyframes pulse{0%,to{box-shadow:0 0 #f2c14e73}50%{box-shadow:0 0 0 10px #f2c14e00}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 10px #f2c14e59}50%{box-shadow:0 0 26px #f2c14ecc}}@keyframes breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.07)}}@keyframes ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(14)}}.puja-item-img{display:block;max-width:220px;max-height:250px;width:100%;max-width:100%;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));transition:filter .3s ease,transform .3s ease}#dhak-graphic-container,#conch-graphic-container{transition:transform .35s cubic-bezier(.34,1.56,.64,1);will-change:transform}.puja-item-card{cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.puja-item-card:hover{transform:translateY(-4px)}.puja-item-card:active{transform:translateY(-1px) scale(.98)}.puja-item-card:hover .puja-item-img{filter:drop-shadow(0 10px 16px rgba(0,0,0,.3))}.puja-item-card:focus-visible{outline:2px solid var(--color-gold, #f2c14e);outline-offset:4px;border-radius:12px}.puja-item-card.activated .puja-item-img{filter:drop-shadow(0 0 14px rgba(255,190,70,.75))}#chaturthi-flame{transform-origin:50% 100%;animation:flameFlicker 1.6s ease-in-out infinite}@keyframes flameFlicker{0%,to{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.06,1.12) rotate(1.5deg)}}@media(prefers-reduced-motion:reduce){.puja-item-card,.puja-item-img,#chaturthi-flame{transition:none;animation:none}}.shiuli-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:5}.shiuli-flower{position:absolute;top:-40px;opacity:0;will-change:transform,opacity;animation:shiuli-fall var(--fall-duration, 7s) linear forwards}@keyframes shiuli-fall{0%{opacity:0;transform:translate(0) rotate(0)}8%{opacity:.95}50%{transform:translate(var(--sway-mid, -40px),calc(var(--fall-distance) * .5)) rotate(var(--rot-mid, 120deg))}92%{opacity:.95}to{opacity:0;transform:translate(var(--sway-end, -80px),var(--fall-distance)) rotate(var(--rot-end, 260deg))}}body.intro-open{overflow:hidden}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#08060ceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;animation:intro-fade-in .5s ease forwards;transition:opacity .4s ease}.intro-overlay.closing{opacity:0!important;pointer-events:none}.intro-card{width:100%;max-width:460px;max-height:100%;overflow-y:auto;padding:2rem 1.75rem 1.75rem;text-align:center;border-radius:var(--radius-md, 14px);border:1px solid var(--color-gold, #d4a24c);background:radial-gradient(circle at 50% 0%,#f5b33524,#1e1828f7 60%);box-shadow:0 0 40px #f5b3352e,0 12px 40px #0009;transform:translateY(12px) scale(.98);animation:intro-card-in .6s cubic-bezier(.2,.8,.2,1) .1s forwards}.intro-eyebrow{margin:0;font-size:.9rem;letter-spacing:.04em;color:#d9c9a8}.intro-title{margin:.25rem 0 0;font-size:2.2rem;color:#f0b93a}.intro-divider{width:64px;height:2px;margin:.9rem auto 1rem;background:linear-gradient(90deg,transparent,var(--color-gold, #d4a24c),transparent)}.intro-desc{margin:0 0 1rem;line-height:1.9;font-size:.9rem;color:#f6ecd9;font-style:italic}.intro-hint{margin:1.4rem 0;font-size:.85rem;color:#cdbb9d;border-top:1px solid #cdbb9d;border-bottom:1px solid #cdbb9d;padding:.5rem 0}.intro-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 2rem;font-size:1.05rem;font-family:inherit;color:#2a1a0c;background:linear-gradient(#f3d28a,#d4a24c);border:1px solid #a8742a;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px #d4a24c59;transition:transform .15s ease,box-shadow .15s ease;margin-top:30px}.intro-start-arrow{position:relative;width:1rem;height:.75rem;flex:0 0 auto}.intro-start-arrow:before{position:absolute;top:50%;left:0;width:.75rem;height:2px;background:currentColor;content:"";transform:translateY(-50%)}.intro-start-arrow:after{position:absolute;top:50%;right:1px;width:.45rem;height:.45rem;border-top:2px solid currentColor;border-right:2px solid currentColor;content:"";transform:translateY(-50%) rotate(45deg)}.intro-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4a24c80}.intro-start-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}@keyframes intro-fade-in{to{opacity:1}}@keyframes intro-card-in{to{transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.intro-overlay,.intro-card{animation-duration:.01s;animation-delay:0s}.intro-overlay{transition:none}}
