/* Touch, thirst, impact: the timing follows real game outcomes. */
.button:active:not(:disabled),.action-square:active:not(:disabled),.item:active:not(:disabled){transform:translateY(2px) scale(.975);transition-duration:65ms}
.village-card:active:not(:disabled){transform:translateY(0) scale(.985)}
.drink-action{overflow:hidden;isolation:isolate}
.drink-action:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 10%,#ffd7b019 48%,transparent 68%);transform:translateX(-110%);transition:transform .5s ease}
.drink-action:hover:not(:disabled):before{transform:translateX(110%)}
.drink-action[data-heat="3"],.drink-action[data-heat="4"]{background:linear-gradient(115deg,#a71d32,#cf2c44);border-bottom:2px solid #d4b27870}
.drink-action[data-heat="5"],.drink-action[data-heat="6"]{background:linear-gradient(110deg,#861329,#d03a47);border-bottom:2px solid var(--gold);box-shadow:0 0 24px #b6233626,inset 0 1px 0 #ffd6a82e}
.table[data-chain="2"] .sip-count,.table[data-chain="3"] .sip-count,.table[data-chain="4"] .sip-count,.table[data-chain="5"] .sip-count,.table[data-chain="6"] .sip-count{color:#f2c384;text-shadow:0 0 20px #d5453950}
.table[data-chain="4"] .sip-count b,.table[data-chain="5"] .sip-count b,.table[data-chain="6"] .sip-count b{color:#ff8e91}
.sip-ritual{width:100%;min-height:105px;position:relative;display:flex;align-items:center;justify-content:center;gap:30px;padding:8px 0;overflow:hidden}
.ritual-mark{width:75px;height:85px;display:grid;place-items:center;position:relative;color:#dabc87;border:1px solid #d4b27865;transform:rotate(-7deg);background:radial-gradient(ellipse,#82213945,transparent 75%)}
.ritual-mark:before,.ritual-mark:after{content:'';position:absolute;inset:6px;border:1px solid #d4b27826}
.ritual-mark:after{inset:-9px;border-color:#b6233638;transform:rotate(14deg)}
.ritual-mark .glyph{width:40px;height:40px;transform:rotate(7deg);animation:thirst-in .38s ease-out both}
.sip-ritual .eyebrow{font-size:8px;letter-spacing:2.7px;color:var(--dim-gold);margin-bottom:8px}
.sip-ritual h3{font:700 28px/1.2 var(--serif);color:var(--cream)}
.sip-ritual p:last-of-type{font:400 11px var(--sans);color:var(--muted);margin-top:12px}
.sip-ritual p span{color:var(--red);padding-left:10px;font-size:8px;letter-spacing:4px}
.ritual-progress{position:absolute;left:20%;right:20%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#df8f83,var(--gold),transparent);transform-origin:left;animation:thirst-fill .48s ease-in both}
.is-siphoning .village-card.selected{border-color:#e27980;background:radial-gradient(ellipse at 50% 85%,#6a1b2c55,transparent 80%),#171216}
.is-siphoning .village-card.selected .villager-portrait{color:#f0bab0}
.reveal-area.revealing .reveal-result{animation:result-strike .48s cubic-bezier(.2,.75,.18,1) both}
.reveal-area.revealing .drawn-card{animation:card-strike .4s cubic-bezier(.13,.74,.24,1) both;animation-delay:calc(var(--i)*55ms)}
.reveal-area:not(.revealing) .drawn-card,.reveal-area:not(.revealing) .reveal-result{animation:none}
.reveal-result.blood>strong{text-shadow:0 0 26px #c8283b26}.reveal-result.poison>strong{text-shadow:0 0 25px #b996bb22}
.experience-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-block:1px solid var(--line)}
.experience-row>span{display:flex;align-items:center;gap:12px;font:600 14px var(--serif)}.experience-row .glyph{width:23px;height:23px;color:var(--gold)}
.experience-switch{min-height:42px;min-width:74px;padding:9px 18px;color:var(--gold);border:1px solid var(--line);background:#191417;font:600 12px var(--sans)}
.experience-switch[aria-pressed="true"]{border-color:var(--gold);background:#3b242b}
.volume-label{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px;font-size:12px;color:var(--muted)}.volume-label output{color:var(--cream);font:500 18px var(--condensed)}
.volume-slider{width:100%;height:32px;accent-color:var(--red);cursor:pointer}
.experience-preview{display:flex;align-items:center;justify-content:space-between;margin:4px 0 25px;gap:15px}.experience-preview button{display:flex;align-items:center;gap:7px;min-height:40px}.experience-preview .glyph{width:17px;height:17px}.experience-preview small{font-size:10px;color:var(--muted)}
.experience-hint{font:400 12px/1.9 var(--sans);color:var(--muted);margin:17px 0 27px}
#sound-button[aria-pressed="true"]{color:var(--gold)}
.gentle-effects .ritual-mark,.gentle-effects .ritual-mark .glyph{transform:none;animation:none}.gentle-effects .ritual-progress{animation:none}.gentle-effects .reveal-area.revealing .drawn-card,.gentle-effects .reveal-area.revealing .reveal-result{animation:none}
.gentle-effects .button:active,.gentle-effects .action-square:active,.gentle-effects .item:active,.gentle-effects .village-card:active{transform:none}
@keyframes thirst-in{from{opacity:.15;transform:rotate(7deg) translateY(5px) scale(.9)}to{opacity:1;transform:rotate(7deg) translateY(0) scale(1)}}
@keyframes thirst-fill{from{transform:scaleX(0);opacity:.25}to{transform:scaleX(1);opacity:1}}
@keyframes result-strike{0%{opacity:0;transform:translateY(9px) scale(.84)}65%{opacity:1;transform:translateY(0) scale(1.045)}100%{opacity:1;transform:none}}
@keyframes card-strike{0%{opacity:0;transform:translateY(-13px) rotate(-7deg) scale(.93)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@media(max-width:650px){.sip-ritual{min-height:105px;gap:23px}.ritual-mark{width:57px;height:71px}.ritual-mark .glyph{width:31px;height:31px}.sip-ritual h3{font-size:23px}.sip-ritual .eyebrow{font-size:6px;letter-spacing:2px}.sip-ritual p:last-of-type{font-size:10px}.experience-preview{gap:8px}.experience-preview small{font-size:8px}.masthead nav .icon-button{width:33px}.masthead{gap:6px}}
@media(prefers-reduced-motion:reduce){.ritual-mark,.ritual-mark .glyph{transform:none;animation:none}.ritual-progress{animation:none}.reveal-area.revealing .drawn-card,.reveal-area.revealing .reveal-result{animation:none}.button:active,.action-square:active,.item:active,.village-card:active{transform:none}}
