:root{--play-w:100vw;--play-h:100dvh}
body.gaming{overflow:hidden;background:#102f45}body.gaming>header,body.gaming>main{display:none}
#gameView{position:fixed;inset:0;width:var(--play-w);height:var(--play-h);background:#dce8ee;isolation:isolate;overflow:hidden;color:var(--ink)}
#table{height:100%;padding:10px;display:grid;grid-template-rows:52px minmax(0,1fr) auto;gap:8px}
.play-toolbar{display:flex;gap:8px;min-width:0;z-index:20}.tool-button{border:1px solid #b9cbd5;background:#f3f8fa;color:#123452;padding:8px 12px;border-radius:10px;font:700 15px system-ui;cursor:pointer}.tool-button:focus-visible,.card-bar:focus-visible{outline:3px solid #e1a600;outline-offset:2px}
.card-bar{display:flex;align-items:center;gap:12px;min-width:0;flex:1;border:0;border-radius:12px;padding:8px 16px;background:#123452;color:#fff;box-shadow:0 4px 10px #12345233;font:700 20px Georgia,serif;text-align:left;cursor:pointer}.card-bar #barLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-bar small{margin-left:auto;font:700 13px system-ui;white-space:nowrap}.bar-icon{font-size:28px}.card-bar:disabled{cursor:default}
.play-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(175px,21vw,260px);gap:10px;min-height:0}.main-player{display:flex;flex-direction:column;min-height:0;border:3px solid var(--player-color,#214d72)!important}.main-player .board-head{background:var(--player-color,#214d72);padding:7px 12px;min-height:48px}.board-head>div{display:flex;gap:12px;align-items:center;min-width:0}.board-head strong{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-head small{margin:0}.board-head .score{margin-left:auto}.board-head .tool-button{background:#ffffffde;padding:4px 9px}
.main-player .board-content{min-height:0;flex:1;padding:0;background:#faf9f4;display:flex;justify-content:center;align-items:center;overflow:hidden}.main-player .board-viewport{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.main-player #humanMap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.main-player .map{width:min(100%,calc((var(--play-h) - 155px)*1.42857));max-width:100%;flex-shrink:0}.main-player .help{font-size:12px;padding:6px 10px;min-height:26px}
.map .hand-x path{stroke:var(--player-color,#b72127)}.map .hit{min-height:0!important;border-radius:5px}.map .hit.active{border-color:#ffbd22;background:#ffe05957}.map .hit:focus-visible{outline:3px solid #174779;outline-offset:3px}
.score-panel{border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:12px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:8px}.score-panel h2{font:700 20px Georgia,serif;color:#123452;margin:0 0 5px}.score-panel h2 small{font:700 12px system-ui;float:right;background:#e6eff4;padding:4px 8px;border-radius:10px}.player-score{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 5px;border-left:4px solid var(--player-color);border-radius:7px;background:#f3f7f9;margin-bottom:6px;font-size:14px}.player-score.is-me{background:#e4eef5}.player-name{overflow-wrap:anywhere}.player-score strong{white-space:nowrap;font-size:16px}.color-swatch{width:24px;height:24px;display:block;overflow:hidden;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px #0003;cursor:pointer}.color-swatch input{width:34px;height:34px;margin:-5px;padding:0;border:0;cursor:pointer}.color-swatch input:disabled{opacity:1;cursor:default}.color-help{font-size:11px;color:#526574;margin:0}#roundClock{font-size:13px;font-weight:750;color:#123452;margin-top:auto}.score-panel .action{font-size:13px;padding:10px}
.play-message{font-size:13px;text-align:center;min-height:19px;font-weight:650;color:#214d72}.play-message.warn{color:#9e2525}.objective{position:absolute;bottom:46px;left:22px;width:calc(100% - clamp(175px,21vw,260px) - 54px);z-index:25;padding:16px 20px;border-radius:16px;border:2px solid #e2bd5d;background:#fff9e9f5;box-shadow:0 12px 40px #102f4533;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.objective p{margin:0;flex:1;min-width:200px;line-height:1.5;font-size:17px;font-weight:650}.objective small{width:100%;color:#526574}.objective .action{white-space:nowrap}
.card-preview{position:absolute;z-index:45;top:70px;left:14px;max-width:calc(100% - 28px);max-height:calc(100% - 84px);padding:14px;border-radius:14px;background:#fff;box-shadow:0 15px 55px #12345280;display:flex;gap:16px;align-items:center;border:2px solid #c6ac63}.card-preview img{height:calc(var(--play-h) - 125px);max-height:560px;max-width:50%;object-fit:contain;border-radius:9px}.card-preview strong{font:700 22px Georgia,serif}.card-preview p{font-size:19px;color:#214d72}
.draw-overlay{position:absolute;inset:0;z-index:65;background:rgba(13,31,46,.98);color:#fff;display:grid;place-items:center;padding:18px}.draw-scene{display:flex;gap:clamp(20px,5vw,80px);align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.draw-scene>img{height:calc(var(--play-h) - 36px);max-width:48%;object-fit:contain;border-radius:12px;box-shadow:0 18px 60px #0005}.draw-copy{max-width:520px}.draw-copy .eyebrow{color:#f3cf73;font-size:15px}.draw-copy h2{font:700 clamp(23px,3.3vw,48px)/1.15 Georgia,serif;margin:12px 0}.draw-copy h3{font-size:clamp(20px,2.6vw,36px);margin:0;color:#f3cf73}.draw-copy p{font-size:clamp(16px,1.9vw,24px);line-height:1.5;margin:20px 0}.draw-copy .action{font-size:14px}
.shuffle-deck{position:relative;width:170px;height:230px;display:grid;place-items:center}.shuffle-deck span{position:absolute;inset:0;background:#214d72;border:5px solid #d9bf76;border-radius:15px;box-shadow:0 12px 30px #0005;display:grid;place-items:center;font:700 75px Georgia;color:#f8e2a5;animation:shuffle 650ms ease-in-out infinite alternate}.shuffle-deck span:nth-child(1){animation-delay:-180ms;transform:rotate(-10deg)}.shuffle-deck span:nth-child(2){animation-delay:-360ms;transform:rotate(10deg)}.shuffle-deck p{position:absolute;top:100%;width:300px;text-align:center;font-weight:700}@keyframes shuffle{from{transform:translateX(-35px) rotate(-15deg)}to{transform:translateX(35px) rotate(15deg)}}
#gameView>.overlay{position:absolute;padding:10px}#gameView .dialog{max-height:calc(var(--play-h) - 20px)}#gameView .zoom-dialog{width:98%;height:98%;max-height:98%}#gameView .zoom-scroll{display:block}#gameView .zoom-scroll .map{width:1400px}.rotate-hint{position:absolute;top:62px;left:50%;transform:translateX(-50%);background:#fff1cddd;padding:5px 12px;border-radius:9px;z-index:28;font-size:11px;pointer-events:none;white-space:nowrap}
#playerList li{border-left:5px solid var(--player-color);padding-left:10px;margin:5px 0}
@media(pointer:coarse) and (orientation:portrait){#gameView{inset:auto;left:100%;top:0;--play-w:100dvh;--play-h:100dvw;transform:rotate(90deg);transform-origin:top left}.play-layout{grid-template-columns:minmax(0,1fr) 185px}.objective{width:calc(100% - 225px)}}
@media(pointer:coarse) and (orientation:portrait){#gameView.ended{inset:0;--play-w:100vw;--play-h:100dvh;transform:none}#gameView.ended>.overlay{padding:10px}#gameView.ended .dialog{max-height:calc(100dvh - 20px)}}
@media(max-height:550px),(pointer:coarse){#table{padding:6px;grid-template-rows:42px minmax(0,1fr) auto;gap:5px}.play-toolbar{gap:5px}.card-bar{font-size:17px;padding:5px 10px}.bar-icon{font-size:22px}.board-head small{display:none}.main-player .board-head{min-height:33px;padding:4px 8px}.board-head strong{font-size:14px}.main-player .map{width:min(100%,calc((var(--play-h) - 114px)*1.42857))}.main-player .help{font-size:10px;min-height:21px;padding:4px 6px}.score-panel{padding:8px;gap:5px}.score-panel h2{font-size:17px}.player-score{font-size:12px;padding:6px 3px;gap:5px;margin-bottom:4px}.player-score strong{font-size:13px}.color-help{font-size:10px}.objective{bottom:30px;left:12px;padding:10px 13px;gap:7px}.objective p{font-size:14px}.objective small{font-size:10px}.objective .action{font-size:13px;padding:8px 12px}.play-message{font-size:11px;min-height:15px}.draw-overlay{padding:10px}.draw-scene>img{height:calc(var(--play-h) - 20px)}.draw-copy h2{font-size:27px}.draw-copy h3{font-size:23px}.draw-copy p{font-size:17px;margin:14px 0}.draw-copy .eyebrow{font-size:12px}.draw-copy .action{padding:9px 12px}.shuffle-deck{width:120px;height:165px}.rotate-hint{top:49px}}
@media(prefers-reduced-motion:reduce){.shuffle-deck span{animation:none!important}.map .hit.active{animation:none!important}}
/* A cartela ocupa a altura inteira e mantém instrução e sorteio visíveis sobre a imagem. */
#table{display:block;padding:0!important;height:100%;gap:0}
.play-layout{height:100%;grid-template-columns:minmax(0,calc(var(--play-h)*1.42857143)) minmax(168px,1fr);gap:0}
#humanCard{position:relative;height:100%;border:0!important;border-radius:0;box-shadow:none;background:#faf9f4;overflow:hidden}
#humanCard .board-content,#humanViewport{height:100%;padding:0!important;border:0;border-radius:0}
#humanViewport{display:block;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
#humanViewport::-webkit-scrollbar{display:none}
#humanCard #humanMap{display:block;width:calc(var(--play-h)*1.42857143);height:100%}
#humanCard .map{width:100%!important;max-width:none!important;height:100%;aspect-ratio:708.6614/496.063}
.score-panel{position:relative;border-radius:0;box-shadow:none;padding:10px;gap:10px;min-width:0}
.score-top{display:flex;align-items:stretch;gap:6px;min-width:0}.score-top .tool-button{flex:none;width:38px;padding:0;font-size:25px;line-height:1}
.score-panel .card-bar{flex:1;width:auto;font-size:18px;gap:6px;padding:10px;min-height:52px;flex-wrap:wrap}
.score-panel .card-bar #barLabel{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:50px}.score-panel .card-bar small{font-size:11px}
.score-panel .board-head{display:flex;gap:8px;align-items:center;border-radius:8px;background:#e8f0f5;color:#123452;padding:8px}.score-panel .board-head>div{display:block;min-width:0}.score-panel .board-head strong{font-size:14px;white-space:normal}.score-panel .board-head small{font-size:11px;display:block;margin-top:3px}.score-panel .score{margin-left:auto;white-space:nowrap;background:#fff}
.score-panel .help{padding:0;background:transparent;font-size:12px}.score-panel .play-message{text-align:left;min-height:0;overflow-wrap:anywhere}
.score-panel .objective{position:static;width:auto;border:1px solid #e2bd5d;box-shadow:none;padding:12px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.score-panel .objective p{min-width:0;font-size:14px}.score-panel .objective small{font-size:11px;line-height:1.4}
.score-panel .rotate-hint{position:static;transform:none;white-space:normal;font-size:11px;padding:6px;pointer-events:auto}
.score-panel .card-preview{position:absolute;inset:0;z-index:45;max-width:none;max-height:none;overflow:auto;border-radius:0;border:0;padding:10px;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.score-panel .card-preview img{width:100%;height:auto;max-width:100%;max-height:calc(var(--play-h)*.7);object-fit:contain}.score-panel .card-preview strong{font-size:18px}.score-panel .card-preview p{font-size:16px;margin:8px 0}
#humanCard #message{position:absolute;z-index:5;top:10px;left:10px;max-width:calc(100% - 20px);padding:8px 11px;border-radius:9px;background:#fffffff0;box-shadow:0 2px 9px #102f4538;text-align:left;font-size:13px;line-height:1.3}
#humanCard #message.warn{background:#fff4df;box-shadow:0 2px 9px #9e252544}
#humanCard #btnNext{position:absolute;z-index:5;right:10px;bottom:10px;width:calc(var(--play-w) - var(--play-h)*1.42857143 - 20px);max-width:calc(100% - 20px);font-size:13px;padding:10px;white-space:nowrap}
.rematch-prompt{position:sticky;top:0;z-index:2;border:2px solid #dfb753;border-radius:12px;padding:12px;background:#fff7df;margin:12px 0}.rematch-prompt h3{margin:0 0 10px;color:#123452}.rematch-prompt .actions{justify-content:center}.rematch-prompt .action{min-width:90px;margin:0}.rematch-prompt [aria-pressed=true]{outline:3px solid #d9ab36;outline-offset:2px}.rematch-prompt p{font-size:15px;margin:10px 0 4px}.rematch-prompt small{display:block;font-size:13px;color:#526574}
@media(max-height:550px),(pointer:coarse){.play-layout{grid-template-columns:minmax(0,calc(var(--play-h)*1.42857143)) minmax(128px,1fr)}.score-panel{padding:7px;gap:7px}.score-panel .card-bar{font-size:14px;min-height:40px;padding:6px}.score-panel .bar-icon{font-size:20px}.score-panel .board-head{padding:6px}.score-panel .help,.score-panel .play-message{font-size:11px}.score-panel .objective{padding:8px;gap:7px}.score-panel .objective p{font-size:12px}.score-panel .objective .action{padding:8px;font-size:12px}#humanCard #btnNext{width:calc(var(--play-w) - var(--play-h)*1.42857143 - 14px)}}
html[data-invite] #entryChoices,html[data-invite] #createActions,html[data-invite] #joinCodeField,html[data-invite] .seo-content{display:none!important}
html[data-invite] #joinOnline{margin-top:8px}
