
:root{
  --gold:#FFD700;--gold-l:#FFE566;--gold-m:#CC9900;
  --sb-w:160px;--hdr-h:50px;
  /* Altar total height — must match CSS below: top(80)+face(50)+step(20)+shadow(18)+mb(5) = 173px */
  --altar-h:173px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{width:100%;height:100%;overflow:hidden;background:#04000C;font-family:'Noto Serif Devanagari',serif;user-select:none;}

/* BACKGROUNDS */
.bg-cv{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1.2s;pointer-events:none;}
.bg-cv.active{opacity:1;}
#dustCv{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
#flowerCv{position:fixed;inset:0;width:100%;height:100%;z-index:60;pointer-events:none;}
#pileCv  {position:fixed;inset:0;width:100%;height:100%;z-index:3; pointer-events:none;}

/* HANGING BELLS */
.hbell{position:fixed;top:var(--hdr-h);z-index:30;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:left .3s,right .3s;}
.lb{left:calc(var(--sb-w) + 2.5vw);}
.rb{right:2.5vw;}
.hb-chain{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 0;}
.hb-chain s{display:block;width:5px;height:9px;border:1.5px solid rgba(200,165,60,.8);border-radius:3px;background:linear-gradient(90deg,rgba(180,140,40,.5),rgba(240,200,80,.35));text-decoration:none;}
.hb-knot{width:9px;height:7px;background:radial-gradient(ellipse,#CC9900 0%,#8B6600 100%);border-radius:50%;margin-bottom:1px;}
.hb-body{width:50px;height:60px;position:relative;background:radial-gradient(ellipse at 36% 20%,#FFE566 0%,#FFD700 28%,#CC9900 62%,#9A7200 100%);border-radius:50% 50% 28% 28%/62% 62% 38% 38%;box-shadow:inset 3px 3px 8px rgba(255,255,180,.35),inset -3px -3px 10px rgba(0,0,0,.48),0 6px 16px rgba(0,0,0,.55);transition:filter .2s;}
.hb-body:hover{filter:brightness(1.18);}
.hb-hl{position:absolute;top:11%;left:15%;width:26%;height:23%;background:radial-gradient(ellipse,rgba(255,255,220,.55) 0%,transparent 70%);border-radius:50%;}
.hb-rib{position:absolute;left:8%;right:8%;height:2px;background:rgba(180,140,0,.38);border-radius:1px;}
.hb-rim{width:58px;height:13px;background:linear-gradient(180deg,rgba(200,155,0,.92) 0%,rgba(150,105,0,.96) 100%);border-radius:0 0 29px 29px;box-shadow:0 4px 10px rgba(0,0,0,.55);}
.hb-clapper{width:7px;height:7px;border-radius:50%;background:#BB9900;margin-top:3px;}
.hb-glow{position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.5) 0%,transparent 70%);opacity:0;pointer-events:none;}
.hb-glow.active{animation:bgAnim .9s ease-out forwards;}
@keyframes bgAnim{0%{opacity:1;transform:scale(.7);}100%{opacity:0;transform:scale(2.5);}}
.hb-body.ringing{animation:bSwing .65s ease-in-out;}
@keyframes bSwing{0%,100%{transform:rotate(0);}15%{transform:rotate(-15deg)translateY(-2px);}30%{transform:rotate(15deg)translateY(-2px);}45%{transform:rotate(-9deg);}60%{transform:rotate(9deg);}75%{transform:rotate(-4deg);}90%{transform:rotate(4deg);}}

/* HEADER */
.hdr{position:fixed;top:0;left:0;right:0;height:var(--hdr-h);z-index:80;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:linear-gradient(180deg,rgba(3,0,10,.98) 0%,rgba(6,0,15,.92) 70%,transparent 100%);border-bottom:1px solid rgba(255,215,0,.1);}
.hdr-l{display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:fit-content;}
.back-btn{text-decoration:none;color:rgba(255,215,0,.6);font-size:.75rem;border:1px solid rgba(255,215,0,.18);border-radius:16px;padding:4px 9px;background:rgba(255,215,0,.04);transition:all .2s;}
.back-btn:hover{color:var(--gold);}
.sb-tab{background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.2);border-radius:8px;color:rgba(255,215,0,.7);width:30px;height:30px;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.sb-tab:hover{background:rgba(255,215,0,.18);}
.hdr-m{position:absolute;left:calc(var(--sb-w) / 2 + 50%);transform:translateX(-50%);display:flex;align-items:center;gap:10px;pointer-events:none;white-space:nowrap;transition:left .3s,transform .3s;}
.hdr-m.sb-closed{left:50%;transform:translateX(-50%);}
.hom{font-size:clamp(.88rem,2vw,1.3rem);color:var(--gold);text-shadow:0 0 14px rgba(255,215,0,.95);animation:omP 3.5s ease-in-out infinite;}
@keyframes omP{0%,100%{text-shadow:0 0 14px rgba(255,215,0,.9);}50%{text-shadow:0 0 28px rgba(255,215,0,1),0 0 55px rgba(255,165,0,.6);}}
.htitle{font-family:'Noto Serif Devanagari',serif;font-size:clamp(.82rem,2.1vw,1.3rem);font-weight:700;color:var(--gold);text-shadow:0 0 16px rgba(255,215,0,.85),0 0 38px rgba(255,165,0,.3);letter-spacing:.04em;}
.hdr-r{flex-shrink:0;display:flex;align-items:center;gap:5px;}
.hdr-temples{display:flex;gap:2px;overflow-x:auto;align-items:center;max-width:clamp(220px,36vw,310px);scrollbar-width:none;}
.hdr-temples::-webkit-scrollbar{display:none;}
.hdr-t-pill{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;color:rgba(255,215,0,.38);font-size:.5rem;border:1px solid rgba(255,215,0,.1);border-radius:10px;padding:3px 4px;background:rgba(255,215,0,.03);transition:all .2s;white-space:nowrap;}
.hdr-t-pill:hover,.hdr-t-pill.active{color:var(--gold);background:rgba(255,215,0,.1);border-color:rgba(255,215,0,.3);}
.hdr-t-icon{font-size:.76rem;line-height:1.2;}
.hdr-nav-links{display:flex;gap:3px;flex-shrink:0;}
.hdr-nav-link{text-decoration:none;color:rgba(255,215,0,.38);font-size:.56rem;border:1px solid rgba(255,215,0,.1);border-radius:10px;padding:3px 6px;background:rgba(255,215,0,.03);transition:all .2s;white-space:nowrap;}
.hdr-nav-link:hover{color:var(--gold);background:rgba(255,215,0,.08);}
#langBtn{background:rgba(255,215,0,.07);border:1px solid rgba(255,215,0,.2);border-radius:6px;color:rgba(255,215,0,.7);padding:3px 7px;cursor:pointer;font-size:.68rem;font-weight:700;font-family:inherit;transition:all .2s;flex-shrink:0;}
#langBtn:hover{background:rgba(255,215,0,.16);color:var(--gold);}
.help-btn{width:22px;height:22px;border-radius:50%;background:rgba(255,215,0,.06);border:1px solid rgba(255,215,0,.18);color:rgba(255,215,0,.5);cursor:pointer;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.help-btn:hover{background:rgba(255,215,0,.16);color:var(--gold);}
.help-panel{position:fixed;right:8px;top:56px;z-index:900;background:linear-gradient(135deg,rgba(10,0,24,.98),rgba(6,0,14,.98));border:1px solid rgba(255,215,0,.26);border-radius:12px;padding:14px 16px 12px;width:min(260px,85vw);box-shadow:0 8px 36px rgba(0,0,0,.8);display:none;}
.help-panel.open{display:block;}
.hp-title{font-family:'Cinzel Decorative',cursive;font-size:.68rem;color:var(--gold);margin-bottom:9px;letter-spacing:.06em;}
.hp-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;}
.hp-key{background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.28);border-radius:3px;padding:1px 5px;font-size:.6rem;color:rgba(255,215,0,.75);font-family:monospace;flex-shrink:0;min-width:16px;text-align:center;}
.hp-desc{font-size:.68rem;color:rgba(255,215,0,.48);line-height:1.5;}

/* SIDEBAR */
.sidebar{position:fixed;top:var(--hdr-h);bottom:0;left:0;width:var(--sb-w);z-index:70;background:linear-gradient(180deg,rgba(7,0,16,.96) 0%,rgba(11,0,21,.97) 100%);border-right:1px solid rgba(255,215,0,.12);transition:width .3s;overflow:hidden;box-shadow:3px 0 20px rgba(0,0,0,.7);}
.sidebar.sb-closed{width:0;}
.sb-scroll{width:var(--sb-w);height:100%;overflow-y:auto;overflow-x:hidden;padding:10px 5px 20px;}
.sb-scroll::-webkit-scrollbar{width:2px;}.sb-scroll::-webkit-scrollbar-thumb{background:rgba(255,215,0,.18);}
.sbt{font-size:.56rem;color:rgba(255,215,0,.45);letter-spacing:.12em;text-transform:uppercase;font-family:'Cinzel Decorative',cursive;padding:4px 2px;border-bottom:1px solid rgba(255,215,0,.1);margin-bottom:5px;}
.sbg{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.sib{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(255,215,0,.05);border:1px solid rgba(255,215,0,.12);border-radius:9px;color:rgba(255,215,0,.6);cursor:pointer;padding:4px 3px;font-size:.5rem;letter-spacing:.03em;text-transform:uppercase;transition:all .2s;position:relative;height:64px;box-sizing:border-box;overflow:hidden;}
.si{font-size:1.2rem;line-height:1.1;flex-shrink:0;}
.sib:hover{background:rgba(255,215,0,.12);border-color:rgba(255,215,0,.38);color:var(--gold);transform:scale(1.04);}
.sib.on,.sib.active{background:rgba(255,215,0,.18);border-color:var(--gold);color:var(--gold);box-shadow:0 0 12px rgba(255,215,0,.3);}
.sdot{position:absolute;bottom:3px;right:4px;width:6px;height:6px;border-radius:50%;background:rgba(255,215,0,.15);border:1px solid rgba(255,215,0,.25);transition:all .3s;}
.sib.on .sdot{background:#00FF88;border-color:#00CC66;box-shadow:0 0 5px #00FF88;}
.reset-btn{background:rgba(255,100,100,.1)!important;border-color:rgba(255,150,100,.3)!important;color:rgba(255,180,150,.8)!important;}

/* SCENE — overflow visible so zoom doesn't clip idol */
.scene{position:fixed;top:var(--hdr-h);bottom:0;left:var(--sb-w);right:0;z-index:4;overflow:visible;transition:left .3s;}
.scene.sb-closed{left:0;}

/* MANTRA */
.mantra-cv{position:fixed;pointer-events:none;z-index:8;}

/* DEITY ZONE
   CRITICAL: transform-origin bottom center so zoom grows upward.
   overflow:visible so idol never gets clipped when scaled up. */
.deity-zone{
  /* Fills space between header and altar — 100% CSS, no JS measurement */
  position:fixed;
  top:var(--hdr-h);
  bottom:var(--altar-h);
  left:var(--sb-w);
  right:0;
  display:flex;align-items:flex-end;justify-content:center;
  z-index:6;
  transform-origin:bottom center;
  overflow:visible;
  transition:left .3s;
}
.deity-zone.sb-closed{left:0;}
.d-aura{position:absolute;inset:-50px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,70,.2) 0%,rgba(255,90,0,.06) 45%,transparent 68%);animation:dAura 5s ease-in-out infinite;pointer-events:none;}
@keyframes dAura{0%,100%{transform:scale(.9);opacity:.7;}50%{transform:scale(1.12);opacity:1;}}
.d-img-wrap{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;}
.d-img{max-width:96%;max-height:98%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 0 50px rgba(255,215,80,.7)) drop-shadow(0 0 110px rgba(255,120,0,.28)) drop-shadow(0 38px 70px rgba(0,0,0,.72));animation:idolFloat 5.5s ease-in-out infinite;transform-origin:bottom center;}
@keyframes idolFloat{0%,100%{filter:drop-shadow(0 0 50px rgba(255,215,80,.7)) drop-shadow(0 0 110px rgba(255,120,0,.28));}50%{filter:drop-shadow(0 0 70px rgba(255,225,90,.9)) drop-shadow(0 0 140px rgba(255,140,0,.45));}}
.d-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed rgba(255,215,0,.22);border-radius:20px;background:rgba(255,215,0,.02);padding:20px;text-align:center;}
.ph-om{font-size:5rem;color:var(--gold);text-shadow:0 0 30px rgba(255,215,0,.8);animation:omP 3s infinite;}
.d-feet-glow{position:absolute;bottom:-22px;width:120%;left:-10%;height:65px;background:radial-gradient(ellipse,rgba(255,195,60,.3) 0%,transparent 70%);border-radius:50%;filter:blur(20px);opacity:0;transition:opacity 1.3s;pointer-events:none;}
.d-feet-glow.active{opacity:1;animation:fgF .9s ease-in-out infinite alternate;}
@keyframes fgF{0%{opacity:.85;transform:scaleX(.95);}100%{opacity:1;transform:scaleX(1.07);}}

/* ALTAR WRAP */
.altar-wrap{
  /* Fixed at bottom so deity zone CSS calc is reliable */
  position:fixed;
  bottom:0;
  left:var(--sb-w);
  right:0;
  display:flex;align-items:flex-end;justify-content:center;
  gap:8px;
  z-index:5;
  padding:0 4px 5px;
  transition:left .3s;
}
.altar-wrap.sb-closed{left:0;}

/* DONATION SIDES */
.don-side{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;position:relative;padding-bottom:72px;/* align with altar step bottom */}
.don-side:hover .don-box{filter:brightness(1.15);}
.don-box{position:relative;width:52px;height:52px;transition:filter .2s;}
.don-top{position:absolute;top:0;left:0;right:0;height:14px;background:radial-gradient(ellipse at 42% 32%,#FFE566 0%,#FFD700 42%,#CC9900 74%,#9A7200 100%);border-radius:3px 3px 0 0;display:flex;align-items:center;justify-content:center;}
.don-slot-t{width:20px;height:3px;background:rgba(0,0,0,.55);border-radius:1.5px;}
.don-front{position:absolute;bottom:0;left:0;right:0;height:40px;background:radial-gradient(ellipse at 35% 25%,#CC9900 0%,#AA7700 35%,#886600 65%,#664400 100%);border-radius:0 0 4px 4px;box-shadow:inset 2px 2px 6px rgba(255,215,80,.2),inset -2px -2px 6px rgba(0,0,0,.45),0 3px 10px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.don-slot{width:20px;height:3px;background:rgba(0,0,0,.65);border-radius:1.5px;}
.don-ico{font-size:.85rem;line-height:1;}
.don-lbl{font-size:.52rem;color:rgba(255,255,200,.9);letter-spacing:.08em;font-family:'Noto Serif Devanagari',serif;font-weight:700;}
.don-s{position:absolute;right:-6px;top:2px;width:7px;height:100%;background:linear-gradient(90deg,rgba(180,120,0,.8),rgba(120,80,0,.9));border-radius:0 2px 2px 0;transform:skewY(-5deg);}
.don-base{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:calc(100% + 6px);height:5px;background:radial-gradient(ellipse,#AA7700 0%,#664400 100%);border-radius:2px;}
.don-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.2) 0%,transparent 70%);animation:donG 2s ease-in-out infinite alternate;pointer-events:none;}
@keyframes donG{0%{opacity:.4;}100%{opacity:.85;}}

/* ALTAR */
.altar{position:relative;flex:1;max-width:680px;}
.altar-top{position:relative;height:80px;background:radial-gradient(ellipse at 28% 0%,rgba(120,40,0,.4) 0%,transparent 50%),linear-gradient(170deg,#4A1200 0%,#3A0D00 22%,#2A0800 52%,#200600 76%,#180400 100%);border-radius:44% 44% 0 0/18% 18% 0 0;overflow:visible;border-top:2px solid rgba(255,215,0,.32);border-left:1px solid rgba(255,180,60,.15);border-right:1px solid rgba(255,180,60,.15);box-shadow:inset 0 4px 18px rgba(255,140,40,.1),inset 0 -5px 15px rgba(0,0,0,.6),0 -2px 0 rgba(255,215,0,.16);}
.altar-shine{position:absolute;top:5px;left:10%;right:10%;height:6px;background:linear-gradient(90deg,transparent,rgba(255,220,120,.28),transparent);border-radius:50%;filter:blur(2px);pointer-events:none;}

/* ALTAR ROW — horizontal line of items */
.altar-row{display:flex;align-items:flex-end;justify-content:center;gap:clamp(10px,3.5vw,50px);padding:6px clamp(8px,2.5vw,24px) 0;height:100%;overflow:visible;position:relative;z-index:6;}

.altar-face{width:100%;height:50px;background:linear-gradient(180deg,#1E0600 0%,#150400 55%,#100300 100%);overflow:hidden;border-left:1px solid rgba(200,100,20,.18);border-right:1px solid rgba(200,100,20,.18);}
.altar-svg{width:100%;height:100%;}
.altar-step{width:calc(100% + 18px);margin-left:-9px;height:20px;background:linear-gradient(180deg,#120300 0%,#0C0200 100%);border-radius:0 0 6px 6px;box-shadow:0 8px 22px rgba(0,0,0,.72);}
.altar-shadow{width:76%;margin:2px auto 0;height:14px;background:radial-gradient(ellipse,rgba(0,0,0,.7) 0%,transparent 70%);border-radius:50%;filter:blur(7px);}

/* ALTAR ITEMS — fixed position, click to toggle */
.al-item{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;cursor:pointer;transition:filter .25s;}
.al-item:hover{filter:brightness(1.15);}
.al-item.item-off{filter:brightness(.35) saturate(.2);}
.al-item.item-off .fl-sys,.al-item.item-off .smoke-cv,.al-item.item-off .ag-tip,.al-item.item-off .gp{display:none!important;}

/* AGARBATTI */
.smoke-cv{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);pointer-events:none;display:none;z-index:13;overflow:visible;}
.smoke-cv.active{display:block;}
.ag-sticks{position:relative;width:40px;height:70px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:-2px;}
.ag-stick{position:absolute;bottom:0;width:3px;height:68px;background:linear-gradient(180deg,#FF5500 0%,#CC3300 2%,#9A5C2A 10%,#7B4A22 55%,#5A3015 100%);border-radius:1.5px;transform-origin:bottom center;}
.as1{left:5px;transform:rotate(-11deg);}
.as2{left:50%;transform:translateX(-50%);}
.as3{right:5px;transform:rotate(11deg);}
.ag-tip{position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#FF9900 0%,#FF5500 60%,transparent 100%);display:none;animation:tglow .5s ease-in-out infinite alternate;}
.ag-tip.active{display:block;}
@keyframes tglow{0%{box-shadow:0 0 5px #FF6600,0 0 10px rgba(255,80,0,.5);}100%{box-shadow:0 0 9px #FF9900,0 0 18px rgba(255,140,0,.7);}}
.ag-cup{display:flex;flex-direction:column;align-items:center;}
.agc-rim{width:30px;height:7px;background:radial-gradient(ellipse at 45% 30%,#FFE566 0%,#FFD700 40%,#CC9900 70%,#AA7700 100%);border-radius:50% 50% 0 0/80% 80% 0 0;}
.agc-body{width:26px;height:20px;background:radial-gradient(ellipse at 42% 30%,#FFE566 0%,#FFD700 38%,#CC9900 68%,#9A7200 100%);border-radius:0 0 6px 6px;box-shadow:inset 2px 2px 6px rgba(255,255,180,.3),inset -2px -2px 8px rgba(0,0,0,.45),0 3px 10px rgba(0,0,0,.45);}
.agc-plate{width:40px;height:7px;background:radial-gradient(ellipse at 45% 30%,#FFE566 0%,#FFD700 42%,#CC9900 74%,#9A7200 100%);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.4);}

/* DIYA */
.diya-wrap{position:relative;width:60px;display:flex;flex-direction:column;align-items:center;}
.diy-body{position:relative;width:60px;height:32px;background:radial-gradient(ellipse at 30% 22%,#E87040 0%,#C05828 30%,#982010 60%,#701A08 88%,#501208 100%);border-radius:50% 50% 38% 38%/60% 60% 46% 46%;box-shadow:inset 3px 3px 9px rgba(255,160,90,.28),inset -3px -3px 11px rgba(0,0,0,.55),0 5px 14px rgba(0,0,0,.5);overflow:hidden;}
.diy-hl{position:absolute;top:12%;left:14%;width:30%;height:26%;background:radial-gradient(ellipse,rgba(255,200,150,.5) 0%,transparent 70%);border-radius:50%;}
.diy-oil{position:absolute;top:8%;left:17%;right:17%;height:46%;background:radial-gradient(ellipse at 42% 38%,#DDA830 0%,#A87020 55%,#6C4810 100%);border-radius:50%;}
.diy-wick{position:absolute;right:5px;top:-9px;width:2.5px;height:13px;background:linear-gradient(180deg,#888 0%,#555 55%,#A87040 100%);border-radius:2px;transform:rotate(10deg);z-index:3;}
.diy-base{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:38px;height:6px;background:radial-gradient(ellipse,#881A06 0%,#601206 100%);border-radius:50%;}

/* KAPOOR */
.kp-plate{position:relative;width:56px;height:20px;background:radial-gradient(ellipse at 35% 28%,#E8E8E0 0%,#C8C8C0 35%,#A8A8A0 65%,#888878 100%);border-radius:50% 50% 38% 38%/60% 60% 45% 45%;box-shadow:inset 2px 2px 6px rgba(255,255,255,.45),inset -2px -2px 6px rgba(0,0,0,.35),0 3px 10px rgba(0,0,0,.45);}
.kp-phl{position:absolute;top:15%;left:15%;width:35%;height:35%;background:radial-gradient(ellipse,rgba(255,255,255,.6) 0%,transparent 70%);border-radius:50%;}
.kp-stand{width:8px;height:9px;background:linear-gradient(180deg,#C8C8C0 0%,#909090 100%);border-radius:2px;margin-top:-1px;}
.kp-base{width:50px;height:8px;background:radial-gradient(ellipse at 45% 35%,#E8E8E0 0%,#C0C0B8 50%,#989890 100%);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.4);}

/* SANKH */
.sr-stand{position:relative;width:50px;height:16px;display:flex;align-items:flex-end;justify-content:center;}
.sr-bar{width:44px;height:5px;background:radial-gradient(ellipse at 45% 35%,#FFE566 0%,#CC9900 60%,#8B6600 100%);border-radius:3px;position:absolute;bottom:0;box-shadow:0 2px 6px rgba(0,0,0,.4);}
.sr-leg{position:absolute;bottom:4px;width:4px;height:11px;background:linear-gradient(180deg,#CC9900 0%,#8B6600 100%);border-radius:2px 2px 0 0;}
.sl1{left:5px;transform:rotate(-18deg);transform-origin:bottom;}
.sl2{left:50%;transform:translateX(-50%);}
.sl3{right:5px;transform:rotate(18deg);transform-origin:bottom;}
.sr-body{position:relative;margin-bottom:3px;}
.sr-main{width:54px;height:40px;background:radial-gradient(ellipse at 34% 26%,#FFFFF8 0%,#F5F0E0 18%,#E8D880 42%,#C8B860 64%,#A89840 82%,#886820 100%);border-radius:55% 45% 40% 55%/52% 42% 56% 48%;box-shadow:inset 3px 3px 8px rgba(255,255,220,.55),inset -3px -3px 10px rgba(80,60,0,.32),0 4px 14px rgba(0,0,0,.5);}
.sr-w1,.sr-w2,.sr-w3{position:absolute;border-radius:50%;border-style:solid;}
.sr-w1{width:36px;height:32px;top:3px;left:8px;border-width:1.5px;border-color:rgba(180,160,80,.55);}
.sr-w2{width:24px;height:20px;top:8px;left:13px;border-width:1.2px;border-color:rgba(160,140,60,.4);}
.sr-w3{width:14px;height:12px;top:13px;left:18px;border-width:1px;border-color:rgba(140,120,40,.35);}
.sr-tip{position:absolute;left:-4px;top:38%;width:12px;height:9px;background:radial-gradient(ellipse at 65% 40%,#F5F0E0 0%,#D4C880 50%,#B4A860 100%);border-radius:50% 0 0 50%;}
.sr-mouth{position:absolute;right:-2px;top:32%;width:8px;height:12px;background:radial-gradient(ellipse,#E8E0C8 0%,#C8B870 50%,#A89850 100%);border-radius:0 50% 50% 0;}
.sr-hl1{position:absolute;top:10%;left:14%;width:28%;height:20%;background:radial-gradient(ellipse,rgba(255,255,240,.7) 0%,transparent 70%);border-radius:50%;}
.sr-grim{position:absolute;inset:-1px;border-radius:55% 45% 40% 55%/52% 42% 56% 48%;border:1.5px solid rgba(255,215,0,.3);pointer-events:none;}
.sankh-glow{position:absolute;inset:-10px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(200,220,255,.45) 0%,transparent 70%);}
.sankh-glow.active{animation:sgA 1.5s ease-out forwards;}
@keyframes sgA{0%{opacity:1;transform:scale(.8);}100%{opacity:0;transform:scale(2.2);}}

/* AARTI THALI (resting on altar) */
.thali-item{cursor:pointer;}
.thali-item:hover .atr-rim,.tf-rim{background:conic-gradient(#B8860B 0deg,#FFE566 10deg,#FFD700 20deg,#CC9900 30deg,#B8860B 40deg,#FFE566 50deg,#FFD700 60deg,#CC9900 70deg,#B8860B 80deg,#FFE566 90deg,#FFD700 100deg,#CC9900 110deg,#B8860B 120deg,#FFE566 130deg,#FFD700 140deg,#CC9900 150deg,#B8860B 160deg,#FFE566 170deg,#FFD700 180deg,#CC9900 190deg,#B8860B 200deg,#FFE566 210deg,#FFD700 220deg,#CC9900 230deg,#B8860B 240deg,#FFE566 250deg,#FFD700 260deg,#CC9900 270deg,#B8860B 280deg,#FFE566 290deg,#FFD700 300deg,#CC9900 310deg,#B8860B 320deg,#FFE566 330deg,#FFD700 340deg,#CC9900 350deg,#B8860B 360deg);}
:root{--_gold-conic:conic-gradient(#B8860B 0deg,#FFE566 10deg,#FFD700 20deg,#CC9900 30deg,#B8860B 40deg,#FFE566 50deg,#FFD700 60deg,#CC9900 70deg,#B8860B 80deg,#FFE566 90deg,#FFD700 100deg,#CC9900 110deg,#B8860B 120deg,#FFE566 130deg,#FFD700 140deg,#CC9900 150deg,#B8860B 160deg,#FFE566 170deg,#FFD700 180deg,#CC9900 190deg,#B8860B 200deg,#FFE566 210deg,#FFD700 220deg,#CC9900 230deg,#B8860B 240deg,#FFE566 250deg,#FFD700 260deg,#CC9900 270deg,#B8860B 280deg,#FFE566 290deg,#FFD700 300deg,#CC9900 310deg,#B8860B 320deg,#FFE566 330deg,#FFD700 340deg,#CC9900 350deg,#B8860B 360deg);}
.atr-rim{box-shadow:0 0 22px rgba(255,215,0,.7),0 0 44px rgba(255,180,0,.35);}
.atr-rim{position:relative;width:68px;height:68px;border-radius:50%;background:var(--_gold-conic);box-shadow:0 0 14px rgba(255,215,0,.5),0 0 28px rgba(255,180,0,.2);}
.atr-j{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-30px);background:radial-gradient(circle,#FF4400 0%,#CC2200 100%);}
.atr-j:nth-child(even){background:radial-gradient(circle,#44AAFF 0%,#2266CC 100%);}
.atr-disc{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#FFE566 0%,#FFD700 28%,#CC9900 62%,#AA7700 100%);box-shadow:inset 0 3px 10px rgba(255,255,180,.4),inset 0 -3px 10px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;}
.atr-sh{position:absolute;top:9%;left:11%;width:38%;height:32%;background:radial-gradient(ellipse,rgba(255,255,240,.65) 0%,transparent 70%);border-radius:50%;}
.atr-petals{position:absolute;inset:0;border-radius:50%;}
.ap{position:absolute;top:50%;left:50%;width:5px;height:10px;transform-origin:bottom center;transform:translate(-50%,-100%) rotate(calc(var(--i)*60deg)) translateY(-22px);border-radius:50% 50% 30% 30%;}
.ap:nth-child(even){background:radial-gradient(ellipse,#FF9999 0%,#FF4466 60%,#CC1133 100%);}
.ap:nth-child(odd){background:radial-gradient(ellipse,#FFE066 0%,#FF9900 60%,#CC5500 100%);}
.atr-ctr{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.atr-diya{width:20px;height:10px;background:radial-gradient(ellipse at 38% 28%,#D08050 0%,#8B4020 100%);border-radius:50% 50% 35% 35%/60% 60% 45% 45%;}
/* UNLIT by default — only lit via JS when aarti starts */
.atr-flame{display:none!important;bottom:7px;}
.atr-flame.lit{display:flex!important;}
.atr-lbl{font-size:.44rem;color:rgba(255,215,0,.55);margin-top:3px;text-align:center;white-space:nowrap;letter-spacing:.04em;}

/* FLAMES */
.fl-sys{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:28px;height:58px;display:none;align-items:flex-end;justify-content:center;z-index:15;pointer-events:none;}
.fl-sys.lit{display:flex;}
.fl-halo{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:46px;height:19px;background:radial-gradient(ellipse,rgba(255,165,30,.58) 0%,transparent 70%);filter:blur(6px);border-radius:50%;animation:hF .65s ease-in-out infinite alternate;z-index:0;}
@keyframes hF{0%{opacity:.65;transform:translateX(-50%) scaleX(.86);}100%{opacity:1;transform:translateX(-50%) scaleX(1.14);}}
.fl{position:absolute;bottom:0;border-radius:50% 50% 35% 35%/55% 55% 45% 45%;transform-origin:bottom center;}
.fl-o{width:24px;height:52px;background:radial-gradient(ellipse at 48% 82%,#FF2A00 0%,#FF5800 25%,#FF7A00 55%,#FF9A00 75%,transparent 92%);animation:fk1 .35s ease-in-out infinite alternate;}
.fl-m{width:16px;height:40px;background:radial-gradient(ellipse at 50% 80%,#FF8A00 0%,#FFBB00 45%,#FFD700 80%,transparent 96%);animation:fk2 .27s ease-in-out infinite alternate;}
.fl-i{width:10px;height:28px;background:radial-gradient(ellipse at 50% 86%,#FFD700 0%,#FFF4A0 70%,rgba(255,255,200,.3) 92%,transparent 100%);animation:fk3 .21s ease-in-out infinite alternate;}
.fl-c{width:4.5px;height:16px;background:radial-gradient(ellipse at 50% 90%,#FFFFFF 0%,#FFF8E0 72%,transparent 100%);animation:fk4 .16s ease-in-out infinite alternate;}
@keyframes fk1{0%{transform:scaleX(1) scaleY(1) rotate(-2deg);}100%{transform:scaleX(.83) scaleY(1.09) rotate(3deg);}}
@keyframes fk2{0%{transform:scaleX(1) scaleY(1) rotate(2deg);}100%{transform:scaleX(.87) scaleY(1.13) rotate(-2.5deg);}}
@keyframes fk3{0%{transform:scaleX(1) scaleY(1) rotate(-2.5deg);}100%{transform:scaleX(.85) scaleY(1.15) rotate(2.5deg);}}
@keyframes fk4{0%{transform:scaleX(1) scaleY(1);opacity:.88;}100%{transform:scaleX(.8) scaleY(1.2);opacity:1;}}
.kp-fs{bottom:18px;}.kfl{animation-duration:.19s!important;}
.kp-h{background:radial-gradient(ellipse,rgba(200,225,255,.52) 0%,transparent 70%)!important;}
.kp-w{background:radial-gradient(ellipse at 50% 85%,#FFFFFF 0%,#FFF9E0 65%,rgba(255,255,240,.28) 90%,transparent 100%)!important;}
.kp-cr{background:radial-gradient(ellipse,white 0%,rgba(240,248,255,.5) 100%)!important;}
.gp{position:absolute;bottom:-12px;width:110px;height:55px;left:50%;transform:translateX(-50%);border-radius:50%;pointer-events:none;filter:blur(12px);opacity:0;transition:opacity 1.2s;z-index:4;}
.diya-gp{background:radial-gradient(ellipse,rgba(255,165,0,.32) 0%,transparent 70%);}
.kp-gp{background:radial-gradient(ellipse,rgba(210,235,255,.28) 0%,transparent 70%);}
.gp.active{opacity:1;animation:gpF .7s ease-in-out infinite alternate;}
@keyframes gpF{0%{opacity:.8;transform:translateX(-50%) scale(.93);}100%{opacity:1;transform:translateX(-50%) scale(1.1);}}

/* FLOATING AARTI THALI */
.thali-float{position:fixed;z-index:200;display:none;pointer-events:none;transform:translate(-50%,-50%);width:140px;height:140px;}
.thali-float.visible{display:block;}
.tf-glow{position:absolute;inset:-24px;border-radius:50%;background:radial-gradient(circle,rgba(255,218,60,.45) 0%,rgba(255,155,0,.16) 45%,transparent 70%);filter:blur(14px);animation:tfG .55s ease-in-out infinite alternate;}
@keyframes tfG{0%{opacity:.72;transform:scale(.93);}100%{opacity:1;transform:scale(1.07);}}
.tf-rim{position:absolute;inset:0;border-radius:50%;background:var(--_gold-conic);box-shadow:0 0 0 2px rgba(255,215,0,.45),0 0 35px rgba(255,215,60,.75),0 0 70px rgba(255,155,0,.35),inset 0 0 15px rgba(0,0,0,.28);}
.tf-j{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-63px);background:radial-gradient(circle,#FF4400 0%,#CC2200 100%);box-shadow:0 0 5px rgba(255,100,0,.8);}
.tf-j:nth-child(odd){background:radial-gradient(circle,#44AAFF 0%,#2266CC 100%);}
.tf-j:nth-child(3n+1){background:radial-gradient(circle,#44FF88 0%,#229944 100%);}
.tf-disc{position:absolute;inset:11px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#FFE566 0%,#FFD700 28%,#CC9900 62%,#AA7700 100%);box-shadow:inset 0 4px 12px rgba(255,255,180,.4),inset 0 -4px 12px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;overflow:visible;}
.tf-sh{position:absolute;top:10%;left:12%;width:40%;height:34%;background:radial-gradient(ellipse,rgba(255,255,240,.65) 0%,transparent 70%);border-radius:50%;}
.tf-rg{position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(180,130,0,.36);}
.tf-petals{position:absolute;inset:0;border-radius:50%;}
.tp{position:absolute;top:50%;left:50%;width:7px;height:14px;transform-origin:bottom center;transform:translate(-50%,-100%) rotate(calc(var(--i)*30deg)) translateY(-24px);border-radius:50% 50% 30% 30%;}
.tp:nth-child(even){background:radial-gradient(ellipse,#FF9999 0%,#FF4466 60%,#CC1133 100%);}
.tp:nth-child(odd){background:radial-gradient(ellipse,#FFE066 0%,#FF9900 60%,#CC5500 100%);}
.tf-ctr{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.tf-diya{width:28px;height:15px;background:radial-gradient(ellipse at 38% 28%,#D08050 0%,#8B4020 100%);border-radius:50% 50% 35% 35%/60% 60% 45% 45%;}
.tf-fl{display:flex!important;bottom:11px;}
.tf-kp-plate{width:28px;height:9px;background:radial-gradient(ellipse,#FFE566 0%,#CC9900 100%);border-radius:50%;}
.tf-kp-tab{width:18px;height:8px;background:linear-gradient(180deg,#F8F8F4 0%,#E0E0D8 100%);border-radius:2px;margin-top:-2px;}

/* AUTO BADGE */
.auto-badge{position:fixed;top:calc(var(--hdr-h)+9px);left:50%;transform:translateX(-50%);display:none;align-items:center;gap:9px;background:rgba(255,215,0,.14);border:1px solid rgba(255,215,0,.35);border-radius:20px;padding:5px 14px;color:var(--gold);font-size:.78rem;z-index:200;backdrop-filter:blur(8px);}
.auto-badge.show{display:flex;animation:bP 2s ease-in-out infinite;}
@keyframes bP{0%,100%{box-shadow:0 0 8px rgba(255,215,0,.25);}50%{box-shadow:0 0 18px rgba(255,215,0,.5);}}
#stopAartiBadge{background:rgba(255,80,80,.15);border:1px solid rgba(255,80,80,.35);color:#FF8888;border-radius:8px;padding:2px 8px;cursor:pointer;font-size:.7rem;}

/* AARTI PROMPT */
.aarti-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);z-index:500;opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);}
.aarti-prompt.show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:all;}
.ap-box{background:linear-gradient(135deg,rgba(16,0,32,.97),rgba(26,0,48,.97));border:1px solid rgba(255,215,0,.38);border-radius:18px;padding:26px 30px;text-align:center;box-shadow:0 0 55px rgba(255,180,0,.28),0 18px 55px rgba(0,0,0,.8);}
.ap-om{font-size:2rem;color:var(--gold);text-shadow:0 0 20px rgba(255,215,0,.9);margin-bottom:10px;animation:omP 2s infinite;}
.ap-msg{color:#FFE566;font-size:.9rem;line-height:1.7;margin-bottom:16px;}
.ap-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.ap-btn{border:none;border-radius:10px;padding:9px 16px;cursor:pointer;font-size:.82rem;font-family:inherit;font-weight:600;transition:all .2s;}
.ap-yes{background:linear-gradient(135deg,#AA7700,#FFD700,#AA7700);color:#1A0E00;}
.ap-auto{background:linear-gradient(135deg,#0A4080,#1A80CC,#0A4080);color:white;}
.ap-no{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);}
.ap-yes:hover,.ap-auto:hover{transform:translateY(-2px);}

/* MUSIC PLAYER */
.mplayer{position:fixed;right:10px;bottom:10px;width:290px;z-index:45;background:linear-gradient(135deg,rgba(9,0,18,.97) 0%,rgba(16,0,28,.97) 100%);border:1px solid rgba(255,215,0,.2);border-radius:14px;backdrop-filter:blur(14px);box-shadow:0 7px 35px rgba(0,0,0,.82);overflow:hidden;}
.mp-hdr{display:flex;align-items:center;gap:5px;padding:7px 9px 5px;border-bottom:1px solid rgba(255,215,0,.09);cursor:pointer;flex-wrap:nowrap;}
.mp-lbl{font-size:.68rem;color:var(--gold);font-family:'Cinzel Decorative',cursive;letter-spacing:.05em;flex-shrink:0;}
.mp-now-w{flex:1;overflow:hidden;margin:0 3px;min-width:0;}
.mp-now{font-size:.6rem;color:rgba(255,215,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;}
.mp-ctrls{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.mpc{width:21px;height:21px;background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.18);border-radius:50%;color:rgba(255,215,0,.7);cursor:pointer;font-size:.62rem;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;}
.mpc:hover{background:rgba(255,215,0,.22);color:var(--gold);}
.mpc.on{background:rgba(255,215,0,.2);border-color:var(--gold);color:var(--gold);}
.mp-pp{width:25px;height:25px;font-size:.72rem;}
.mp-tog{background:none;border:none;color:rgba(255,215,0,.45);cursor:pointer;font-size:.72rem;padding:2px 3px;transition:transform .3s;flex-shrink:0;}
.mp-tog.up{transform:rotate(180deg);}
.mp-trow{display:flex;align-items:center;gap:5px;padding:3px 9px 2px;}
.mpt{font-size:.58rem;color:rgba(255,215,0,.45);flex-shrink:0;min-width:26px;text-align:center;}
.mp-scrub{flex:1;-webkit-appearance:none;appearance:none;height:3px;background:linear-gradient(90deg,var(--gold) 0%,rgba(255,215,0,.2) 0%);border-radius:2px;outline:none;cursor:pointer;}
.mp-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--gold);cursor:pointer;}
.mp-body{max-height:265px;overflow-y:auto;overflow-x:hidden;transition:max-height .32s ease;}
.mp-body.closed{max-height:0;}
.mp-body::-webkit-scrollbar{width:2px;}.mp-body::-webkit-scrollbar-thumb{background:rgba(255,215,0,.2);}
.trow{display:flex;align-items:center;gap:6px;padding:7px 9px;border-bottom:1px solid rgba(255,215,0,.06);transition:background .18s;cursor:pointer;}
.trow:hover{background:rgba(255,215,0,.055);}
.trow.playing{background:rgba(255,215,0,.1);}
.t-ph{opacity:.55;}
.tn1{width:13px;text-align:center;font-size:.6rem;color:rgba(255,215,0,.38);flex-shrink:0;}
.trow.playing .tn1{color:var(--gold);}
.ti{flex:1;min-width:0;}
.tnm{font-size:.7rem;color:rgba(255,215,0,.85);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ts{font-size:.59rem;color:rgba(255,200,100,.42);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.teq{display:none;align-items:flex-end;gap:1.5px;height:12px;width:14px;flex-shrink:0;}
.trow.playing .teq{display:flex;}
.teq s{display:block;width:2.5px;background:var(--gold);border-radius:1px;animation:eqB .5s ease-in-out infinite alternate;text-decoration:none;}
.teq s:nth-child(1){height:4px;animation-delay:0s;}
.teq s:nth-child(2){height:10px;animation-delay:.12s;}
.teq s:nth-child(3){height:6px;animation-delay:.24s;}
.teq s:nth-child(4){height:8px;animation-delay:.36s;}
@keyframes eqB{0%{transform:scaleY(.3);}100%{transform:scaleY(1);}}
.tpp{width:22px;height:22px;background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.24);border-radius:50%;color:var(--gold);cursor:pointer;font-size:.65rem;display:flex;align-items:center;justify-content:center;transition:all .18s;flex-shrink:0;}
.tpp:hover{background:rgba(255,215,0,.24);}
.trow.playing .tpp{background:rgba(255,215,0,.18);border-color:var(--gold);}
.mp-vol{display:flex;align-items:center;gap:6px;padding:6px 9px 8px;font-size:.76rem;color:rgba(255,215,0,.45);}
.vol-sl{flex:1;-webkit-appearance:none;appearance:none;height:3px;background:linear-gradient(90deg,var(--gold) 65%,rgba(255,215,0,.2) 65%);border-radius:2px;outline:none;cursor:pointer;}
.vol-sl::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--gold);}
#volPct{font-size:.6rem;color:rgba(255,215,0,.38);width:26px;text-align:right;}

/* MODAL */
.modal-ov{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;}
.modal-ov.open{display:flex;}
.modal-box{position:relative;background:linear-gradient(140deg,#100018 0%,#1C0030 50%,#100018 100%);border:1px solid rgba(255,215,0,.28);border-radius:20px;padding:30px 24px 22px;width:min(430px,94vw);box-shadow:0 0 55px rgba(255,140,0,.12),0 18px 55px rgba(0,0,0,.85);max-height:90vh;overflow-y:auto;}
.m-x{position:absolute;top:11px;right:13px;background:rgba(255,215,0,.09);border:1px solid rgba(255,215,0,.26);color:var(--gold);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.82rem;display:flex;align-items:center;justify-content:center;}
.m-x:hover{background:rgba(255,215,0,.2);}
.don-om{display:block;font-size:2rem;color:var(--gold);text-shadow:0 0 18px rgba(255,215,0,.8);margin-bottom:5px;text-align:center;animation:omP 3s infinite;}
.m-title{color:var(--gold);font-size:1.2rem;text-align:center;margin-bottom:12px;}
.preset-grid{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px;}
.pb{background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.24);color:var(--gold);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .18s;}
.pb:hover,.pb.sel{background:rgba(255,215,0,.2);border-color:var(--gold);}
.df{text-align:left;margin-bottom:9px;}
.df label{display:block;color:rgba(255,215,0,.6);font-size:.74rem;margin-bottom:3px;}
.df input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,215,0,.2);border-radius:7px;color:#FFE566;padding:8px 11px;font-size:.86rem;outline:none;font-family:inherit;}
.df input:focus{border-color:rgba(255,215,0,.5);}
.pay-tabs{display:flex;gap:5px;margin:9px 0 8px;justify-content:center;}
.ptab{background:rgba(255,215,0,.07);border:1px solid rgba(255,215,0,.18);color:rgba(255,215,0,.58);border-radius:7px;padding:5px 10px;cursor:pointer;font-size:.7rem;transition:all .18s;}
.ptab:hover,.ptab.active{background:rgba(255,215,0,.16);border-color:var(--gold);color:var(--gold);}
.pay-sec{margin-bottom:7px;}
.don-btn{width:100%;border:none;border-radius:10px;font-size:.9rem;font-weight:700;padding:11px;cursor:pointer;margin:4px 0;font-family:inherit;transition:all .22s;}
.rzp-btn{background:linear-gradient(135deg,#2C6EAB,#1A4B80);color:white;}
.rzp-btn:hover{transform:translateY(-2px);}
.sym-btn{background:linear-gradient(135deg,#AA7700,#FFD700,#AA7700);color:#1A0E00;}
.sym-btn:hover{transform:translateY(-2px);}
.upi-w{display:flex;justify-content:center;margin:7px 0;}
.upi-qr{width:140px;height:140px;border:2px solid rgba(255,215,0,.28);border-radius:9px;object-fit:contain;background:white;padding:5px;}
.qph{text-align:center;border:2px dashed rgba(255,215,0,.28);border-radius:9px;padding:16px;color:rgba(255,215,0,.45);font-size:.76rem;}
.upi-id{text-align:center;color:rgba(255,215,0,.65);font-size:.8rem;margin:5px 0;}
.upi-id strong{color:var(--gold);}
.dn{color:rgba(255,200,100,.32);font-size:.66rem;font-style:italic;text-align:center;margin-top:6px;}

/* BELL RIPPLE */
.bell-rip{position:fixed;inset:0;z-index:198;pointer-events:none;overflow:hidden;}
.bell-wave{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:70px;height:70px;border:2px solid rgba(255,215,0,.9);border-radius:50%;animation:bWave 1.8s ease-out forwards;}
@keyframes bWave{0%{transform:translate(-50%,-50%) scale(0);opacity:1;}100%{transform:translate(-50%,-50%) scale(22);opacity:0;}}

/* TOAST + PRASAD */
.toast{position:fixed;top:60px;left:50%;transform:translateX(-50%) translateY(-12px);background:linear-gradient(135deg,rgba(14,0,30,.97),rgba(10,0,22,.97));border:1px solid rgba(255,215,0,.36);border-radius:10px;padding:9px 18px;color:var(--gold);font-size:.84rem;z-index:400;opacity:0;pointer-events:none;transition:all .33s ease;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.7);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.prasad{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:500;opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.34,1.56,.64,1);}
.prasad.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.prasad-in{background:linear-gradient(135deg,rgba(16,0,32,.97),rgba(26,0,48,.97));border:1px solid rgba(255,215,0,.38);border-radius:16px;padding:24px 32px;text-align:center;box-shadow:0 0 50px rgba(255,180,0,.28);}
.p-om{font-size:2rem;color:var(--gold);text-shadow:0 0 20px rgba(255,215,0,.9);margin-bottom:8px;animation:omP 2s infinite;}
#pTxt{color:#FFE566;font-size:.92rem;font-weight:600;white-space:pre-line;}

/* ─── UNIQUE DEITY ITEMS ─── */
.u-modak,.u-durva,.u-jaswand,.u-nariyal{transition:all .2s;}
.u-modak:hover{border-color:rgba(255,200,80,.4)!important;}
.u-durva:hover{border-color:rgba(80,200,80,.4)!important;}
.u-jaswand:hover{border-color:rgba(255,80,100,.4)!important;}
.u-nariyal:hover{border-color:rgba(180,120,60,.4)!important;}
/* Offering shelf animation */
@keyframes shelfIn{0%{transform:scale(0) translateY(20px);opacity:0;}100%{transform:scale(1) translateY(0);opacity:1;}}
/* Offering fly particle */
@keyframes offerFloat{0%{transform:translateY(0) rotate(0) scale(1);opacity:1;}100%{transform:translateY(-100px) rotate(15deg) scale(.6);opacity:0;}}
.offer-fly{position:fixed;pointer-events:none;z-index:99;animation:offerFloat 1.6s ease-out forwards;font-size:1.4rem;}

@media(max-width:520px){:root{--sb-w:130px;}.htitle{font-size:.78rem;}.mplayer{width:calc(100vw - 12px);right:6px;}}

/* ═══════════════════════════════════════════════════════
   MOBILE IMPROVEMENTS v2.1
   ═══════════════════════════════════════════════════════ */

/* ─── Mobile: hide sidebar by default on small screens, show as bottom drawer ─── */
@media(max-width:520px) {
  :root { --sb-w: 0px; }
  .sidebar {
    width: 100% !important;
    height: 60vh;
    top: auto;
    bottom: 0;
    left: 0;
    border-right: none;
    border-top: 1px solid rgba(255,215,0,.18);
    border-radius: 18px 18px 0 0;
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.34,1.1,.64,1);
    z-index: 75;
  }
  .sidebar:not(.sb-closed) { transform: translateY(0); }
  .sidebar.sb-closed { transform: translateY(100%); width: 100% !important; }
  .sb-scroll { width: 100%; padding: 14px 12px 28px; }
  .sbg { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .sib { height: 64px; font-size: .48rem; }
  .si { font-size: 1.1rem; }

  /* Scene fills full width on mobile */
  .scene { left: 0 !important; }
  .deity-zone { left: 0 !important; }
  .altar-wrap { left: 0 !important; }

  /* Music player full width on mobile */
  .mplayer { width: calc(100vw - 8px); right: 4px; left: 4px; }

  /* Japa counter repositioned on mobile */
  #japaCounter { bottom: 140px; right: 8px; }

  /* Header nav: hide some items to save space */
  .hdr-nav-links .hdr-nav-link.sb-only{display:none;}
}

/* ─── Sidebar overlay backdrop on mobile ─── */
@media(max-width:520px) {
  .sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    z-index: 74;
    backdrop-filter: blur(2px);
  }
  .sidebar-backdrop.visible { display: block; }
}

/* ─── Better touch targets ─── */
.sib, .mpc, .tpp, .back-btn, .hdr-t-pill {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* ─── Smooth scroll on mobile ─── */
.sb-scroll { -webkit-overflow-scrolling: touch; }

/* ── Sidebar footer links (sitemap + contact) ── */
.sb-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.18),transparent);margin:12px 6px 8px;}
.sb-nav-link{text-decoration:none;color:rgba(255,215,0,.6);}
.sb-nav-link:hover{color:#FFD700;background:rgba(255,215,0,.15) !important;border-color:rgba(255,215,0,.4) !important;}

/* ── Mobile touch targets and accessibility ── */
@media(max-width:768px){
  .hdr-t-pill{min-width:36px;min-height:36px;justify-content:center;}
  .sb-scroll{padding:10px 6px 80px;} /* extra bottom padding for footer links */
  .sib{min-height:44px;height:64px;} /* Apple HIG - consistent height */
  .back-btn{min-width:36px;min-height:36px;}
}
/* Hide pooja/katha nav-links on very small screens to prevent header overflow */
@media(max-width:380px){
  .hdr-nav-links{display:none;}
}

.sb-fl{font-size:.52rem;color:rgba(255,215,0,.4);display:block;line-height:1;}

.sib>span:last-child{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;text-align:center;max-width:100%;}

/* LINKS section always 2 columns regardless of mobile state */
.sbg-2{grid-template-columns:1fr 1fr !important;}

/* ── GLOBAL MUTE + VOLUME CONTROL (desktop header) ── */
#hdrMuteBtn {
  background: rgba(255,215,0,.07);
  border: 1px solid rgba(255,215,0,.2);
  border-radius: 8px;
  color: rgba(255,215,0,.7);
  width: 26px; height: 26px;
  cursor: pointer; font-size: .82rem;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s; flex-shrink: 0;
}
#hdrMuteBtn:hover { background: rgba(255,215,0,.16); color: var(--gold); }
#hdrMuteBtn.muted { color: rgba(255,100,100,.85); border-color: rgba(255,100,100,.3); }

/* Desktop volume slider in header (next to mute) */
#hdrVolSlider {
  -webkit-appearance: none; appearance: none;
  width: 64px; height: 3px;
  border-radius: 2px; outline: none; cursor: pointer;
  background: linear-gradient(90deg, var(--gold) 25%, rgba(255,215,0,.2) 25%);
  flex-shrink: 0;
}
#hdrVolSlider::-webkit-slider-thumb {
  -webkit-appearance: none; width: 9px; height: 9px;
  border-radius: 50%; background: var(--gold); cursor: pointer;
}

/* ── AUDIO WARNING BOX ── */
#audioWarnBox {
  font-family: 'Noto Serif Devanagari', serif;
}
