/* vamana2.css - royal devotional redesign (peacock box, Lakshmi cowries, hands) - transform/opacity animations only */
body{background:#0c0705 url(img/bg-pavan.jpg?v=lucky7pardheev-v92) center/cover fixed no-repeat}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(12,7,5,.12),rgba(12,7,5,.55));z-index:-1}
.stage{position:relative;width:min(1000px,100%);aspect-ratio:1964/750;margin:0 auto;background:transparent;overflow:visible;touch-action:manipulation}
.stage>img.boxC,.stage .boxO{position:absolute;inset:0;width:100%;height:100%}
.stage img.boxC{object-fit:contain;transition:opacity 1.4s ease,transform 1.6s ease;transform-origin:50% 60%}
.stage .boxO{opacity:0;transform:scale(.94);transition:opacity 1.4s ease .3s,transform 1.6s ease .2s}
.stage .boxO>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none}
.stage.open img.boxC{opacity:0;transform:scale(1.08)}
.stage.open .boxO{opacity:1;transform:scale(1)}
#pits{position:absolute;inset:0}
.pit{position:absolute;width:7.2%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:none!important;box-shadow:none!important;outline:none!important;cursor:default;height:auto}
.pit.mine{cursor:pointer}
.pit.mine::before{content:"";position:absolute;inset:-6%;border-radius:50%;border:2px solid rgba(255,214,120,.9);box-shadow:0 0 14px rgba(255,200,90,.7);animation:pulseR 1.6s ease-in-out infinite}
@keyframes pulseR{0%,100%{opacity:.35}50%{opacity:1}}
.pit.closed{opacity:.5}.pit.closed::after{content:"";}
.pit .cnt{position:absolute;bottom:-14%;left:50%;transform:translateX(-50%);background:rgba(20,10,5,.82);color:#ffe9b0;border:1px solid rgba(212,166,58,.7);border-radius:9px;font:700 12px/1 'Mukta',sans-serif;padding:2px 6px;min-width:18px;text-align:center}
.cw{position:absolute;width:38%;height:auto;pointer-events:none;filter:drop-shadow(0 1px 1.5px #000c);transform:translate(-50%,-50%) rotate(var(--r,0deg))}
.cw.land{animation:landC .32s ease-out}
@keyframes landC{0%{transform:translate(-50%,-190%) rotate(var(--r)) scale(1.5);opacity:.2}70%{transform:translate(-50%,-45%) rotate(var(--r)) scale(1)}100%{opacity:1}}
.hand{position:absolute;left:0;top:0;pointer-events:none;z-index:20;transform:translate3d(-300px,0,0);transition:transform .3s cubic-bezier(.4,.05,.3,1);will-change:transform;filter:drop-shadow(0 6px 8px #000b);height:auto}
.hbadge{position:absolute;z-index:22;left:0;top:0;background:#D4A63A;color:#1A1210;font:800 13px/1 'Mukta';border-radius:10px;padding:3px 7px;pointer-events:none;transition:transform .3s cubic-bezier(.4,.05,.3,1)}
.flyc{position:absolute;z-index:25;left:0;top:0;pointer-events:none;filter:drop-shadow(0 3px 4px #000a)}
.skip{position:absolute;right:8px;bottom:8px;z-index:30;background:rgba(26,18,16,.85);color:#F6F2EA;border:1px solid #D4A63A;border-radius:999px;padding:6px 14px;font:600 13px 'Mukta';cursor:pointer}
.stores{display:flex;justify-content:center;gap:28px;margin:6px 0}
.stores .store{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:150px;position:relative}
.stores .storeBowl{width:120px;height:56px;border-radius:50%/50%;background:radial-gradient(ellipse at 50% 30%,#6b4a1c,#1c0f05 80%);border:2px solid #D4A63A;position:relative;overflow:hidden;box-shadow:inset 0 6px 12px #000c,0 0 14px rgba(212,166,58,.25)}
.stores .storeBowl .cw{width:15%}
.stores .storeLabel{color:#D4A63A;font:700 13px 'Mukta'}
.reason{min-height:44px;margin:6px auto;max-width:900px;text-align:center;font:600 16px/1.35 'Anek Telugu','Mukta',sans-serif;color:#ffe9b0;background:rgba(26,18,16,.72);border:1px solid rgba(212,166,58,.4);border-radius:12px;padding:8px 14px}
.rulesNudge{text-align:center;color:#F6F2EA;font:600 14px 'Mukta';opacity:.9;margin:4px 0}
.rulesInline{max-width:900px;margin:12px auto;background:rgba(26,18,16,.82);border:1px solid rgba(212,166,58,.4);border-radius:14px;padding:12px 18px;color:#F6F2EA;font:15px/1.5 'Mukta',sans-serif}
.rulesInline h3{color:#D4A63A;font-family:'Anek Telugu',serif}
.tossSheet{text-align:center}
.tossAsk{font:700 18px 'Anek Telugu','Mukta';margin:6px 0 10px;color:#ffe9b0}
.coin3d{perspective:700px;width:150px;height:150px;margin:6px auto}
.coin{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 2.6s cubic-bezier(.2,.7,.2,1)}
.coin .face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;filter:drop-shadow(0 8px 10px #000a)}
.coin .face.b{transform:rotateY(180deg)}
#tossBtns{display:flex;gap:12px;justify-content:center}.tossbtn{width:auto!important;padding:10px 28px!important}
.tossRes{min-height:24px;font:700 17px 'Anek Telugu','Mukta';color:#D4A63A}
.winnerCard{max-width:92vw;width:460px;text-align:center}
.winnerCard .wr{font:600 15px/1.4 'Anek Telugu','Mukta';margin:6px 0;color:#F6F2EA}
.winnerCard button{margin:4px}
@media (max-width:640px){.pit .cnt{font-size:10px;padding:1px 4px;min-width:14px}.cw{width:40%}.stores{gap:8px}.stores .storeBowl{width:96px;height:46px}.reason{font-size:14px}}
@media (prefers-reduced-motion:reduce){.pit.mine::before{animation:none}}

body{overflow-x:hidden}

.stageScroll{padding:40px 0;margin:-28px 0 -46px;position:relative}


.stageScroll{margin:-10px 0 -14px;padding:30px 0}
html,body{overflow-x:hidden;max-width:100%}
.stageScroll{overflow:hidden}
.vg,main.vg{max-width:100%}
@media (max-width:700px){
 .pit{width:7.6%}
 .pit .cnt{font-size:10px;padding:1px 4px;min-width:14px;bottom:-30%}
 .cw{width:46%}
 .stores .storeBowl{width:88px;height:42px}
 .reason{font-size:14px}
 .stage{touch-action:manipulation}
 .pit.mine::after{content:"";position:absolute;inset:-35%;border-radius:50%}   /* larger tap target around each pocket */
}
.tapbar{display:none}
@media (max-width:700px){
 .tapbar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 8px 4px}
 .tp{min-height:48px;font-size:18px;font-weight:700;border-radius:12px;border:1px solid rgba(230,190,90,.5);background:rgba(30,16,6,.7);color:#f3e2b0}
 .tp.mine{background:linear-gradient(#e7c466,#b98a2a);color:#2a1604;box-shadow:0 0 10px rgba(240,200,90,.6)}
 .tp:disabled{opacity:.75}.tp.closed{opacity:.25}
}
@media (max-width:700px){.tapbar{margin-top:44px;position:relative;z-index:5}}
@media (max-width:700px){.stageScroll{margin:-10px 0 0;padding:30px 0 6px}.tapbar{margin-top:10px}}

/* ---- seated players + bowl girl ---- */
.stores{position:relative;align-items:flex-end;justify-content:center;gap:clamp(6px,2vw,26px);min-height:clamp(130px,21vw,230px);margin:4px auto;max-width:1000px}
.stores .seat{flex:0 0 auto;height:clamp(120px,20vw,215px);display:flex;align-items:flex-end;transition:filter .6s,transform .6s}
.stores .seat img{height:100%;width:auto;display:block;filter:drop-shadow(0 6px 8px #000a)}
.stores .seat.act{filter:drop-shadow(0 0 14px rgba(255,214,120,.85));transform:translateY(-3px)}
.stores .store{transition:opacity .8s}
.stores.staging .store{opacity:0}
.girl{position:absolute;left:50%;bottom:0;width:0;height:clamp(130px,21vw,230px);pointer-events:none;opacity:0;z-index:5;will-change:transform,opacity}
.girl.show{opacity:1}
.girl img{position:absolute;bottom:0;left:0;width:auto;transform:translateX(-50%);opacity:0;transition:opacity .45s;filter:drop-shadow(0 6px 8px #000a)}
.girl img.on{opacity:1}
#gCarry{height:100%}#gSet{height:80.5%}#gPour{height:75.9%}
.flyc.gs{z-index:40}
.fw{position:fixed;left:0;top:0;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:60;will-change:transform,opacity}

@media (max-width:700px){
 .stores{gap:4px;min-height:112px;padding:0 2px}
 .stores .seat{height:100px}
 .stores .store{min-width:0}
 .stores .storeBowl{width:68px;height:34px}
 .stores .storeLabel{font-size:11px}
 .girl{height:100px}
}

.stageScroll.carry{overflow:visible}
.carriers{transform-origin:39.5% 34%;position:absolute;left:50%;bottom:-6%;width:92%;height:auto;opacity:0;pointer-events:none;z-index:15;transform:translate3d(-150%,-1%,0);will-change:transform,opacity;filter:drop-shadow(0 8px 10px #000a)}
.stage.arriving img.boxC{opacity:0;transform:scale(.55);transition:none}
/* v75: long tutorial text must not push heads/tails below the fold */
.tossSheet #tossBtns{position:sticky;bottom:0;padding:10px 0 6px;background:linear-gradient(rgba(32,24,19,0),#201813 35%);z-index:2}
.tossSheet .coin3d{width:110px;height:110px}
.tossSheet .tossHow{font-size:14px!important;line-height:1.45!important}

/* v80 accessibility pass (additive; no rules or layout logic changed) */
.langbar button,.controls button,#rulesBtn,#rulesBtn2,.mode{min-height:44px}
.tp:focus-visible,button:focus-visible,.pit:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffd978;outline-offset:2px}
@media (max-width:700px){.tapbar{gap:4px;margin-left:4px;margin-right:4px}.tp{min-width:44px}.pit .cnt{font-size:12px}}
#tossHow.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#howMore{margin:2px auto 6px;display:block;min-height:44px}
body.ts1 #turnBanner,body.ts1 #reason,body.ts1 #hint,body.ts1 #vglog,body.ts1 .rulesInline,body.ts1 #tossHow,body.ts1 #lenNote,body.ts1 .hint{font-size:1.25em!important}
body.ts2 #turnBanner,body.ts2 #reason,body.ts2 #hint,body.ts2 #vglog,body.ts2 .rulesInline,body.ts2 #tossHow,body.ts2 #lenNote,body.ts2 .hint{font-size:1.5em!important}
