/* Kingdom Quest v51: living Bible hero and a distinct Classic interaction language. */
.living-bible{position:relative;display:grid;place-items:center;width:126px;height:92px;margin:18px 0 12px;isolation:isolate;filter:drop-shadow(0 12px 16px rgba(0,0,0,.28))}
.living-bible::before,.living-bible::after{content:"";position:absolute;z-index:-1;left:50%;top:52%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.living-bible::before{width:118px;height:74px;background:radial-gradient(ellipse,rgba(255,230,135,.8),rgba(246,189,69,.26) 42%,transparent 72%);animation:bibleGlow 4s ease-in-out infinite}
.living-bible::after{width:155px;height:105px;background:conic-gradient(from 0deg,transparent 0 7%,rgba(255,222,105,.34) 8% 10%,transparent 11% 23%,rgba(255,222,105,.28) 24% 26%,transparent 27% 40%,rgba(255,222,105,.3) 41% 43%,transparent 44% 100%);animation:bibleRays 4s ease-in-out infinite}
.living-bible span{position:absolute;display:block;font-size:4.4rem;line-height:1;transform-origin:50% 82%;user-select:none}
.living-bible .bible-closed{animation:bibleClose 4s steps(1,end) infinite}
.living-bible .bible-open{animation:bibleOpen 4s steps(1,end) infinite}
.living-bible i{position:absolute;bottom:10px;width:82px;height:7px;border-radius:50%;background:rgba(246,189,69,.34);filter:blur(6px);animation:bibleFloorGlow 4s ease-in-out infinite}
@keyframes bibleClose{0%,46%,100%{opacity:1;transform:scale(.92) rotate(-3deg)}47%,99%{opacity:0}}
@keyframes bibleOpen{0%,46%,100%{opacity:0}47%,99%{opacity:1;transform:scale(1.08) translateY(-4px)}}
@keyframes bibleGlow{0%,45%,100%{opacity:.22;transform:translate(-50%,-50%) scale(.7)}55%,88%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}}
@keyframes bibleRays{0%,45%,100%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-8deg)}58%,88%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(8deg)}}
@keyframes bibleFloorGlow{0%,45%,100%{opacity:.2;transform:scaleX(.65)}58%,88%{opacity:1;transform:scaleX(1.25)}}

/* Classic uses a restrained, golden tactile response for comparison. */
body[data-design="classic"] .clue-button,body[data-design="classic"] .format-switch label>span,body[data-design="classic"] .experience-switch label>span,body[data-design="classic"] .mode-switch label>span,body[data-design="classic"] .score-card,body[data-design="classic"] .pack-card,body[data-design="classic"] .lab-card{position:relative;overflow:hidden;transform-style:preserve-3d;transform-origin:center;will-change:transform;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,border-color .2s ease}
body[data-design="classic"] .is-tilting{z-index:2;transform:perspective(820px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);filter:brightness(1.08);box-shadow:0 16px 28px rgba(0,0,0,.28)}
body[data-design="classic"] .tile-pressed{transform:perspective(820px) scale(.955)!important;box-shadow:inset 0 0 0 2px var(--gold),0 0 28px rgba(246,189,69,.24)!important}
body[data-design="classic"] .tile-ripple{border-color:rgba(255,225,139,.95)!important;background:rgba(246,189,69,.28)!important}
body[data-design="classic"] .clue-button:not(.used)::after{content:"";position:absolute;inset:-25% auto -25% -45%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,231,153,.4),transparent);transform:skewX(-18deg);transition:left .48s ease;pointer-events:none}
body[data-design="classic"] .clue-button:not(.used):hover::after{left:120%}
body[data-design="classic"] .clue-button:not(.used):hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 13px 26px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.16)}
body[data-design="classic"] .format-switch label>span:hover,body[data-design="classic"] .experience-switch label>span:hover,body[data-design="classic"] .mode-switch label>span:hover{border-color:rgba(246,189,69,.72);background:rgba(246,189,69,.075);transform:translateY(-3px)}
body[data-design="classic"] .score-card.active{position:relative;animation:classicScoreGlow 2.1s ease-in-out infinite}
body[data-design="classic"] .score-card.active::after{content:"";position:absolute;inset:3px;border:1px solid rgba(246,189,69,.62);border-radius:9px;pointer-events:none;animation:classicScoreRing 2.1s ease-in-out infinite}
body[data-design="classic"].design-switching .setup-copy,body[data-design="classic"].design-switching .setup-card,body[data-design="classic"].design-switching .game-screen .board,body[data-design="classic"].design-switching .game-screen .score-strip{animation:kqDesignEnter .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes classicScoreGlow{50%{background:rgba(246,189,69,.14);box-shadow:0 0 24px rgba(246,189,69,.13),inset 3px 0 var(--gold)}}
@keyframes classicScoreRing{50%{opacity:.25;transform:scale(.97)}}

body[data-design="show"] .living-bible,body[data-design="mosaic"] .living-bible{margin-inline:auto}
body[data-design="study"] .living-bible{width:96px;height:72px;margin:8px 0}body[data-design="study"] .living-bible .bible-open,body[data-design="study"] .living-bible .bible-closed{font-size:3.7rem}
@media(max-width:900px){.living-bible{width:104px;height:78px;margin:12px 0}.living-bible span{font-size:3.8rem}}
@media(max-width:700px){.living-bible{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.living-bible .bible-closed{animation:none;opacity:0}.living-bible .bible-open{animation:none;opacity:1}.living-bible::before,.living-bible::after,.living-bible i,body[data-design="classic"] .score-card.active,body[data-design="classic"] .score-card.active::after{animation:none}.living-bible::before{opacity:.7}.living-bible::after{opacity:.45}body[data-design="classic"] .is-tilting,body[data-design="classic"] .tile-pressed{transform:none!important}}
