.torre-de-hanoi .jogo-mesa{padding:16px}
.th-area{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;justify-items:center}
.th-painel{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}
.th-cont{display:grid;justify-items:center;align-content:center;gap:2px;min-width:108px;min-height:60px;padding:6px 16px;border-radius:16px;background:var(--bg);border:1px solid var(--sup3)}
.th-cont[hidden]{display:none}
.th-rot{font:800 13px/16px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--tx2)}
.th-cont b{font:900 26px/30px var(--f-ui);font-variant-numeric:tabular-nums}
.th-cont-mov b{color:var(--acao);text-shadow:0 0 14px rgba(198,255,61,.5)}
.th-painel[data-passou] .th-cont-mov b{color:var(--tx);text-shadow:none}
.th-cont-min b{color:var(--ouro);text-shadow:0 0 14px rgba(255,210,61,.5)}
.th-cont-tempo b{color:var(--p);text-shadow:0 0 14px rgba(44,229,255,.6)}
.th-palco{--alt:340px;--dh:34px;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:1000px;height:var(--alt);padding:0 6px;border-radius:14px;background:var(--bg);box-shadow:0 0 0 3px var(--vio),0 0 26px -4px rgba(139,92,255,.8);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}
.th-pino{position:relative;display:flex;flex-direction:column-reverse;align-items:center;min-width:0;height:100%;margin:0;padding:0 5px 52px;border:0;border-radius:12px;background:transparent;color:var(--tx);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.th-pino::before{content:"";position:absolute;left:50%;top:50px;bottom:52px;width:12px;margin-left:-6px;border-radius:6px 6px 0 0;background:var(--sup3)}
.th-pino::after{content:"";position:absolute;left:5px;right:5px;bottom:38px;height:14px;border-radius:7px;background:var(--vio)}
.th-pino[data-meta]::before{background:linear-gradient(var(--ouro),var(--sup3) 46px)}
.th-nome{position:absolute;left:0;right:0;bottom:9px;font:800 14px/20px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--tx2);white-space:nowrap}
.th-pino[data-meta] .th-nome{color:var(--ouro)}
.th-seta{position:absolute;left:50%;top:8px;width:34px;height:34px;margin-left:-17px;color:var(--acao);opacity:0;pointer-events:none}
.th-seta svg{width:100%;height:100%}
.th-disco{position:relative;z-index:1;flex:none;display:grid;place-items:center;box-sizing:border-box;width:calc(34% + 66%*var(--f,0));height:var(--dh);border:2px solid var(--bg);border-radius:999px;color:#0A0714;font:900 clamp(18px,calc(var(--dh)*.58),26px)/1 var(--f-ui);font-variant-numeric:tabular-nums;box-shadow:inset 0 -4px 0 rgba(0,0,0,.22),inset 0 3px 0 rgba(255,255,255,.4);pointer-events:none;transition:transform 140ms var(--curva)}
.th-leva{transform:translateY(-18px);border-color:var(--tx);box-shadow:inset 0 -4px 0 rgba(0,0,0,.22),inset 0 3px 0 rgba(255,255,255,.4),0 0 0 3px var(--acao),0 0 22px 2px rgba(198,255,61,.7)}
.th-arrasta{z-index:5;transition:none}
.th-cai{animation:th-cai 200ms var(--curva) both}
@keyframes th-cai{from{transform:translateY(-22px)}to{transform:none}}
.th-pino[data-sel]{background:rgba(198,255,61,.07)}
.th-pino[data-pode]{background:rgba(198,255,61,.05);outline:2px dashed var(--acao);outline-offset:-5px}
.th-pino[data-pode] .th-seta{opacity:1;animation:th-seta 900ms ease-in-out infinite}
@keyframes th-seta{50%{transform:translateY(6px)}}
.th-pino[data-nao] .th-disco{opacity:.5}
.th-pino[data-alvo]{background:rgba(198,255,61,.16)}
.th-pino:focus-visible{outline:3px solid var(--ouro);outline-offset:-3px}
.th-palco[data-fim] .th-pino{cursor:default}
.th-palco[data-fim] .th-pino[data-meta]{background:rgba(255,210,61,.08)}
.th-ferrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:560px}
.th-ferr{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:56px;margin:0;padding:0 10px;border-radius:14px;border:1px solid var(--borda-controle);background:var(--sup2);color:var(--tx);font:800 17px/22px var(--f-ui);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.th-ferr:hover{background:var(--sup3)}
.th-ferr:active{transform:scale(.97)}
.th-ferr:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
.th-ferr[disabled]{color:var(--tx2);background:var(--sup);border-color:var(--sup3);cursor:not-allowed;transform:none}
.th-sol{color:var(--ouro)}
.th-sol[aria-pressed="true"]{background:var(--ouro);border-color:var(--ouro);color:var(--bg)}
.jogo-lado .th-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.jogo-lado .th-chips .chip{min-width:0;padding:0 10px}
.th-placar{flex-wrap:wrap;gap:8px 20px}
@media (min-width:901px){
.th-area{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"painel ferrs" "palco palco";align-items:center;max-width:1000px;margin:0 auto}
.th-painel{grid-area:painel;justify-content:flex-start}
.th-ferrs{grid-area:ferrs;width:auto;grid-template-columns:repeat(2,auto)}
.th-ferr{padding:0 22px;white-space:nowrap}
.th-palco{grid-area:palco}
.th-pino{padding-left:14px;padding-right:14px}
.th-pino::after{left:14px;right:14px}
}
@media (max-width:900px){
.torre-de-hanoi .jogo-mesa{padding:10px 8px}
.th-cont{min-width:96px;padding:6px 12px}
.th-nome{font-size:13px;letter-spacing:.04em}
}
@media (max-width:900px){.jogo[data-jogo="torre-de-hanoi"] .jogo-mesa{min-height:calc(90vw + 148px)}}
@media (max-width:900px){
.jogo[data-jogo="sinuca"] .jogo-mesa{min-height:630px}
.jogo[data-jogo="gamao"] .jogo-mesa{min-height:662px}
.jogo[data-jogo="palavra-embaralhada"] .jogo-mesa{min-height:638px}
}
@media (max-width:900px) and (orientation:portrait){
.jogo[data-jogo="nave"] .jogo-mesa{min-height:calc(165vw - 8px)}
}
@media (max-width:900px) and (orientation:portrait){
.jogo[data-jogo="aventura-de-plataforma"] .jogo-mesa{min-height:min(calc(56.25vw + 96px),340px)}
.jogo[data-jogo="maku-maia"] .jogo-lado{min-height:600px}
}
@media (min-width:901px){
.jogo[data-jogo="aventura-de-plataforma"]:not(.jogo-cheia) .jogo-mesa{min-height:min(calc((min(100vw - 40px,1400px) - 26px)*.5625 + 12px),calc(100vh - 252px))}
.jogo[data-jogo="aventura-de-plataforma"]:not(.jogo-cheia) .jogo-lado{min-height:570px}
}