/* Shared polish for the non-Catan tables. Loaded after the older game styles. */
.other-spyfall .other-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}
.other-spyfall .spy-decisions{margin:10px 0}
.other-hanabi .hanabi-stage{height:clamp(340px,44dvh,520px)}
.other-hanabi .hanabi-show-title{margin-top:clamp(20px,4dvh,42px)}
.other-hanabi .hanabi-own-hand:has(.hanabi-card:not(:disabled)){border-color:#efcf98;box-shadow:0 0 20px #f5c4732c}
.other-liars .liars-table{background:linear-gradient(180deg,#13252a,#0b1b1c);padding:12px}
.other-liars .liars-table-top{min-height:72px;padding:0 9px}
.other-liars .liars-table-top h2{margin:3px 0 8px;font-size:clamp(25px,3vw,38px)}
.other-liars .liars-scene{height:clamp(600px,72dvh,810px);background:#10231f url('/assets/games/liars-round-table.webp') center/cover;isolation:isolate}
.other-liars .liars-scene::before{display:none}
.other-liars .liars-crew{z-index:auto;inset:0;pointer-events:none}
.other-liars .liars-crew-member,.other-liars .liars-crew-member.current{position:absolute;z-index:2;left:var(--seat-x);top:var(--seat-top);width:min(var(--seat-size),var(--seat-max));height:auto;aspect-ratio:3/2;transform:translateX(-50%);border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.other-liars .liars-crew-member.out{opacity:.35;filter:grayscale(1)}
.other-liars .liars-avatar{width:100%;height:100%;background-image:url('/assets/games/liars-cast.webp');background-size:400% 400%;background-position:var(--avatar-x) var(--avatar-y);background-repeat:no-repeat;filter:drop-shadow(0 9px 6px #000b);mask-image:linear-gradient(#000 0 74%,transparent 100%);animation:liars-look 6.5s ease-in-out infinite,liars-cast-peek 6.5s steps(1) infinite}
@keyframes liars-cast-peek{0%,64%,77%,100%{background-image:url('/assets/games/liars-cast.webp')}65%,76%{background-image:url('/assets/games/liars-cast-peek.webp')}}
.other-liars .liars-crew-member.current .liars-avatar{filter:drop-shadow(0 0 9px #f9d898) drop-shadow(0 8px 5px #000b);animation-duration:3.5s,5.2s}
.other-liars .liars-crew-member.has-rolled{animation:liars-seat-shake .65s ease-out}
@keyframes liars-seat-shake{0%,100%{translate:0 0}24%{translate:-4px -4px}48%{translate:4px 1px}70%{translate:-2px -2px}}
.other-liars .liars-crew-copy,.other-liars .liars-crew-copy.current{position:absolute;z-index:6;left:var(--seat-x);top:var(--seat-label-y);bottom:auto;right:auto;display:grid;justify-items:center;gap:1px;width:min(145px,var(--seat-max));max-width:none;min-height:0;padding:4px 7px;border:1px solid #ddc39275;border-radius:20px;background:linear-gradient(#142624ed,#091918e6);box-shadow:0 5px 12px #0009;transform:translateX(-50%);text-align:center;backdrop-filter:blur(5px)}
.other-liars .liars-crew-copy.current{border-color:#ffe4a2;box-shadow:0 0 15px #eab5689c,0 5px 12px #000a}
.other-liars .liars-crew-copy.has-rolled{border-color:#addab09c}
.other-liars .liars-crew-copy strong{display:block;max-width:100%;font:600 12px Georgia,serif;color:#fff1d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.other-liars .liars-crew-copy small{display:block;font-size:9px;line-height:1.1;color:#d5b987;white-space:nowrap}
.other-liars .liars-table-foreground{z-index:3;inset:0;width:auto;height:auto;aspect-ratio:auto;transform:none;border:0;border-radius:0;box-shadow:none;background:#10231f url('/assets/games/liars-round-table.webp') center/cover;clip-path:polygon(0 40%,10% 30%,25% 26%,40% 25%,50% 25%,60% 25%,75% 26%,90% 30%,100% 40%,100% 100%,0 100%)}
.other-liars .liars-table-foreground::after{display:none}
.other-liars .liars-felt{z-index:7;top:55%;left:50%;width:min(54%,620px);height:180px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:translate(-50%,-50%)}
.other-liars .liars-felt-dice{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(9px,2vw,20px);width:100%;max-width:none;perspective:900px;overflow:visible}
.other-liars .liars-felt-dice>span{padding:7px 12px;background:#102b27b8;border-radius:30px;color:#f5e1b9}
.other-liars .liars-roll-target{gap:8px}
.other-liars .liars-roll-button{width:auto;height:auto;min-width:185px;min-height:60px;padding:11px 23px;border:2px solid #f9d798;border-radius:11px;background:linear-gradient(160deg,#c9823b,#7c3f1f);box-shadow:0 0 0 4px #eed0962b,0 9px 24px #0009,inset 0 2px #fff6;color:#fff3cf;font:800 20px Georgia,serif;letter-spacing:.015em;animation:roll-ready 1.9s infinite}
.other-liars .liars-roll-target small{max-width:none;padding:5px 9px;border-radius:20px;background:#0c211fc7;font-size:11px;color:#fbe8c0}
.other-liars .liars-bid-rail{position:absolute;z-index:8;top:54%;right:2%;display:grid;justify-items:center;gap:1px;min-width:130px;margin:0;padding:8px 12px;border:1px solid #d9b577a9;border-radius:8px;background:#0b1e1bdd;box-shadow:0 7px 18px #0008;text-align:center;backdrop-filter:blur(5px)}
.other-liars .liars-bid-rail span{font-size:9px}.other-liars .liars-bid-rail strong{font-size:24px;line-height:1.15}.other-liars .liars-bid-rail small{font-size:10px}
.other-liars .liars-actions{position:absolute;z-index:9;left:50%;bottom:4%;width:min(720px,92%);max-width:none;margin:0;padding:10px 12px;border-color:#e1bf81a3;border-radius:12px;background:#071b1aec;box-shadow:0 10px 25px #000a;transform:translateX(-50%);backdrop-filter:blur(6px)}
.other-liars .liars-bid-form{justify-content:center;flex-wrap:wrap}.other-liars .liars-bid-form label{flex:1;min-width:105px}.other-liars .liars-bid-form select{width:100%;min-height:44px}.other-liars .liars-bid-form button{min-height:44px;align-self:end}.other-liars .liar-button{width:auto;min-width:165px;margin:8px auto 0;padding:8px 16px;font-size:16px}
.other-liars .liars-die{--die-size:clamp(50px,5.8vw,72px);--die-half:calc(var(--die-size)/2);position:relative;display:block;flex:0 0 var(--die-size);width:var(--die-size);height:var(--die-size);filter:none;transform-style:preserve-3d;transform:rotateX(-21deg) rotateY(-22deg) rotateZ(var(--rest-z))}
.other-liars .liars-die-cube{position:absolute;inset:0;width:100%;height:100%;transform-style:preserve-3d;transform:var(--die-turn);transition:none}
.other-liars .liars-die-face{inset:0;display:grid;place-items:center;border:1px solid #baaa8b;border-radius:10px;backface-visibility:hidden;background:linear-gradient(140deg,#fff9e8 1%,#e6dbbf 52%,#c6b797 100%);box-shadow:inset 3px 3px 5px #ffffffd1,inset -5px -5px 8px #655a42a1,0 0 2px #2d241c}
.other-liars .liars-die-face.side-0{transform:translateZ(var(--die-half))}
.other-liars .liars-die-face.side-1{transform:rotateY(180deg) translateZ(var(--die-half))}
.other-liars .liars-die-face.side-2{transform:rotateY(90deg) translateZ(var(--die-half))}
.other-liars .liars-die-face.side-3{transform:rotateY(-90deg) translateZ(var(--die-half))}
.other-liars .liars-die-face.side-4{transform:rotateX(90deg) translateZ(var(--die-half))}
.other-liars .liars-die-face.side-5{transform:rotateX(-90deg) translateZ(var(--die-half))}
.other-liars .liars-die-face.side-2,.other-liars .liars-die-face.side-3{background:linear-gradient(115deg,#e0d1ae,#aa9876)}
.other-liars .liars-die-face.side-4,.other-liars .liars-die-face.side-5{background:linear-gradient(125deg,#fff9e8,#d8c8a7)}
.other-liars .liars-pips{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:68%;height:68%;place-items:center}
.other-liars .liars-pips i{width:clamp(6px,1vw,11px);height:clamp(6px,1vw,11px);border-radius:50%;background:radial-gradient(circle at 40% 37%,#4e3d30 1%,#1d1815 70%);box-shadow:inset 1px 1px 2px #090705,1px 1px 1px #fffae2a6}
.other-liars .pip-1{grid-area:1/1}.other-liars .pip-2{grid-area:1/2}.other-liars .pip-3{grid-area:1/3}.other-liars .pip-4{grid-area:2/1}.other-liars .pip-5{grid-area:2/2}.other-liars .pip-6{grid-area:2/3}.other-liars .pip-7{grid-area:3/1}.other-liars .pip-8{grid-area:3/2}.other-liars .pip-9{grid-area:3/3}
.other-liars .liars-die-shadow{position:absolute;z-index:-1;left:-12%;right:-12%;bottom:-52%;height:25%;border-radius:50%;background:#040d0da8;filter:blur(8px);transform:rotateZ(calc(-1 * var(--rest-z)));transition:transform .2s}
.other-liars .liars-die.flying{animation:liars-dice-toss 1.45s cubic-bezier(.2,.68,.2,1) both;animation-delay:calc(var(--die-index)*.13s)}
.other-liars .liars-die.flying .liars-die-shadow{animation:liars-shadow-toss 1.45s ease-out both;animation-delay:calc(var(--die-index)*.13s)}
@keyframes liars-dice-toss{0%{opacity:0;transform:translate(var(--start-x),160px) rotateX(700deg) rotateY(480deg) rotateZ(-45deg) scale(.56)}24%{opacity:1}48%{transform:translate(calc(var(--start-x)*.25),-88px) rotateX(420deg) rotateY(270deg) rotateZ(25deg) scale(1.2)}70%{transform:translate(12px,5px) rotateX(150deg) rotateY(80deg) rotateZ(-12deg) scale(.98)}83%{transform:translate(-7px,-28px) rotateX(45deg) rotateY(20deg) rotateZ(4deg) scale(1.04)}92%{transform:translate(4px,0) rotateX(-21deg) rotateY(-22deg) rotateZ(var(--rest-z))}100%{transform:rotateX(-21deg) rotateY(-22deg) rotateZ(var(--rest-z))}}
@keyframes liars-shadow-toss{0%,48%{opacity:.2;transform:scale(.45)}70%,100%{opacity:1;transform:scale(1)}}
@media(max-width:800px){
  .other-liars .liars-scene{height:clamp(570px,74dvh,720px);background:#10231f url('/assets/games/liars-round-table.webp') center/cover}
  .other-liars .liars-table-foreground{inset:0;width:auto;height:auto;aspect-ratio:auto;transform:none;border:0;border-radius:0;background:#10231f url('/assets/games/liars-round-table.webp') center/cover;clip-path:polygon(0 33%,18% 30%,35% 28%,50% 27%,65% 28%,82% 30%,100% 33%,100% 100%,0 100%)}
  .other-liars .liars-crew-member,.other-liars .liars-crew-member.current{width:min(var(--seat-size),var(--seat-max));height:auto}
  .other-liars .liars-crew-member,.other-liars .liars-crew-member.current{top:calc(var(--seat-top) + 8%)}
  .other-liars .liars-crew-copy{width:min(105px,var(--seat-max));padding:3px 5px}
  .other-liars .liars-crew-copy strong{font-size:10px}.other-liars .liars-crew-copy small{font-size:8px}
  .other-liars .liars-felt{top:55%;width:76%;height:165px}
  .other-liars .liars-bid-rail{top:68%;right:4%;min-width:105px;padding:6px}
  .other-liars .liars-bid-rail strong{font-size:19px}
  .other-liars .liars-die{--die-size:clamp(48px,8vw,65px)}
  .other-liars .liars-pips i{width:8px;height:8px}
}
@media(max-width:1120px){.other-spyfall .other-layout{display:block}}
@media(max-width:760px){
  .other-game .other-shell{padding-bottom:14px}
  .other-game .other-jump{position:static;left:auto;right:auto;bottom:auto;justify-content:space-around;margin:0 0 10px;box-shadow:none}
  .other-spyfall .spy-comms{margin-bottom:0}
  .other-hanabi .hanabi-stage{height:clamp(295px,42dvh,360px)}
  .other-hanabi .hanabi-show-title{margin-top:14px}
  .other-hanabi .hanabi-show-title h2{font-size:clamp(40px,10vw,54px)}
}
@media(max-width:500px){
  .other-liars .liars-table{padding:5px}.other-liars .liars-table-top{min-height:58px}.other-liars .liars-table-top img{width:58px;height:55px}
  .other-liars .liars-scene{height:590px;background-position:center}
  .other-liars .liars-crew-copy{width:min(82px,var(--seat-max));padding:2px 3px;border-radius:10px}
  .other-liars .liars-crew-copy strong{font:600 9px system-ui,sans-serif}.other-liars .liars-crew-copy small{font-size:7px}
  .other-liars .liars-felt{top:54%;width:88%;height:148px}
  .other-liars .liars-felt-dice{gap:8px;flex-wrap:wrap}
  .other-liars .liars-die{--die-size:48px}
  .other-liars .liars-bid-rail{top:66%;left:50%;right:auto;min-width:104px;transform:translateX(-50%)}
  .other-liars .liars-actions{bottom:3%;width:96%;padding:8px}
  .other-liars .liars-bid-form{gap:5px}.other-liars .liars-bid-form label{min-width:80px;font-size:8px}.other-liars .liars-bid-form select{min-width:0;padding:6px}
  .other-liars .liars-bid-form button{width:100%}.other-liars .liar-button{min-height:38px;font-size:14px}
  .other-liars .liars-roll-button{min-width:155px;min-height:54px;font-size:17px}
}
