/* Touch faces use one flat painted surface: avoids mobile 3D backface/text bleed. */
@media (hover:none) {
 .mystery-card .mystery-inner,.mystery-card.pinned .mystery-inner,.mystery-card:hover .mystery-inner,
 .duel-card .flip-inner,.duel-card.face-up .flip-inner,.duel-card.inspecting .flip-inner,
 .teaching-mode .duel-card:hover .flip-inner,.teaching-mode .duel-card:focus .flip-inner{transform:none!important;transform-style:flat;transition:none}
 .mystery-front,.mystery-back,.flip-face,.flip-back{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
 .mystery-card .mystery-front,.duel-card .flip-face{visibility:hidden}
 .mystery-card.pinned .mystery-front,.duel-card.face-up .flip-face,.duel-card.inspecting .flip-face{visibility:visible}
 .mystery-card.pinned .mystery-back,.duel-card.face-up .flip-back,.duel-card.inspecting .flip-back{visibility:hidden}
 .mystery-card.pinned{z-index:6}
 .home-art-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
 .home-art-controls p{min-width:0;max-width:none;font-size:10px;line-height:1.7;letter-spacing:0}
 .home-art-controls button{min-height:44px;white-space:nowrap}
}
.game-frame .duel-card{touch-action:manipulation;transition:scale .22s ease,translate .22s ease,box-shadow .22s ease}
.game-frame .duel-card[aria-pressed=true],.game-frame .duel-card.inspecting,.game-frame .duel-card.card-focused{scale:1.1;translate:0 -3px;z-index:3}
.game-frame .duel-slot:has(.duel-card[aria-pressed=true]),.game-frame .duel-slot:has(.duel-card.inspecting){z-index:3}
.inspect-preview{display:block;width:76px;height:114px;margin:5px auto 12px;pointer-events:none}
.inspect-preview svg{width:100%;height:100%;display:block}
.card-inspector:after{content:'';display:block;clear:both}
.orientation-hint{display:none}
.orientation-prompt{position:absolute;inset:0;z-index:25;background:#12231c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;gap:20px}
.orientation-prompt[hidden]{display:none}
.orientation-prompt h2{font-size:23px;font-weight:400;letter-spacing:1px}
.orientation-prompt p{font-size:13px;line-height:1.9;max-width:260px}
.rotate-device{font-size:64px;color:var(--gold);line-height:1.3}
.orientation-prompt .btn{min-height:44px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.game-frame .duel-card:hover{scale:1.08;translate:0 -3px;z-index:3}}
@media(max-width:760px) and (orientation:portrait){
 [data-page=play] .page-heading{gap:8px}
 .orientation-hint{display:block;font-size:9px;color:#b5b898;line-height:1.8;text-align:right;max-width:85px}
 .game-frame .duel-hand{padding-top:7px;padding-bottom:13px}
}
/* Landscape is a table, not five compressed rows. Right rail stays within thumb reach. */
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 body.landscape-table .game-frame{inset:0;height:100vh;height:100dvh;width:100%;border-radius:0;border:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);max-height:none}
 body.landscape-table .game-frame .game-toolbar{flex-direction:row;align-items:center;justify-content:space-between;min-height:48px;height:48px;padding:2px 12px;gap:8px;border-radius:0}
 body.landscape-table .mode-switch{align-self:auto;padding:1px}
 body.landscape-table .game-frame .mode-switch button{min-height:40px;padding:5px 10px;font-size:10px}
 body.landscape-table .game-frame .toolbar-right{gap:12px;font-size:10px;line-height:1.4}
 body.landscape-table .toolbar-right .reset{min-height:40px;font-size:10px}
 body.landscape-table .game-frame .sound-controls>summary{min-height:40px;font-size:10px}
 body.landscape-table .game-frame .duel-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,27vw,250px);flex:1;min-height:0}
 body.landscape-table .game-frame .duel-table{display:grid;flex:initial;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"west north east" "center center center" "south south south";grid-template-rows:minmax(0,1fr) auto minmax(0,1.15fr);gap:1px 9px;padding:8px 12px 6px}
 body.landscape-table .game-frame .table-topline,body.landscape-table .game-frame .table-bottomline{display:none}
 body.landscape-table .game-frame .player-area{display:flex;flex-direction:column;max-width:none;gap:0;padding:0;overflow:visible}
 body.landscape-table .game-frame .player-caption{justify-content:center;gap:5px;margin:0;font-size:9px;min-height:15px}
 body.landscape-table .game-frame .player-caption strong{font-size:9px}
 body.landscape-table .game-frame .duel-hand{--hand-width:clamp(24px,min(6.6cqw,18cqh),46px);gap:6px;padding:7px 3px 12px;overflow:auto}
 body.landscape-table .game-frame .own-area .duel-hand{--hand-width:clamp(38px,19cqh,64px);gap:18px;width:min(100%,420px);padding-top:12px;padding-bottom:15px}
 body.landscape-table .game-frame .duel-card,body.landscape-table .game-frame .slot-empty{border-radius:4px}
 body.landscape-table .game-frame .duel-center{margin:0;gap:22px}
 body.landscape-table .game-frame .deck-button,body.landscape-table .game-frame .center-card{width:clamp(32px,13cqh,46px);height:clamp(48px,19.5cqh,69px)}
 body.landscape-table .game-frame .deck-zone,body.landscape-table .game-frame .drawn-zone{gap:2px}
 body.landscape-table .game-frame .drawn-zone{padding-left:14px}
 body.landscape-table .game-frame .game-console{height:auto;min-height:0;border-top:0;border-left:1px solid #41503a}
 body.landscape-table .console-scroll{padding:12px 14px}
 body.landscape-table .console-scroll>.eyebrow{display:none}
 body.landscape-table .console-scroll>h2{font-size:17px;line-height:1.4;margin:0 0 8px}
 body.landscape-table .console-scroll .game-message{font-size:11px;line-height:1.65;margin:0;padding-left:9px}
 body.landscape-table .console-scroll .card-inspector{padding:8px;margin:12px 0}
 body.landscape-table .card-inspector>.eyebrow{display:none}
 body.landscape-table .console-scroll .card-inspector h3{font-size:13px;line-height:1.5;margin:3px 0}
 body.landscape-table .console-scroll .card-inspector p{font-size:10px;line-height:1.6}
 body.landscape-table .game-frame .game-actions,body.landscape-table .game-frame .game-actions.mobile-docked:not(:empty){padding:7px 10px;min-height:58px;gap:6px;flex-wrap:wrap}
 body.landscape-table .game-frame .game-actions button{min-height:44px;flex:1 1 auto;padding:7px 9px;font-size:11px}
 body.landscape-table .game-frame .sound-panel{top:48px;right:10px;max-height:calc(100dvh - 58px);overflow:auto;padding:12px}
 body.landscape-table .game-frame .sound-panel p{font-size:10px;line-height:1.5;margin-bottom:5px}
 body.landscape-table .game-frame .sound-panel button{margin:4px 0}
 body.landscape-table .game-frame .sound-panel label{margin-top:5px}
}
@media(orientation:landscape) and (max-height:360px) and (max-width:1100px){
 body.landscape-table .game-frame .duel-table{padding:3px 9px;gap:0 6px}
 body.landscape-table .game-frame .duel-hand{--hand-width:clamp(23px,min(6.6cqw,16cqh),38px);padding:5px 2px 9px;gap:5px}
 body.landscape-table .game-frame .own-area .duel-hand{--hand-width:clamp(35px,17cqh,46px);gap:16px;padding-top:10px;padding-bottom:12px}
 body.landscape-table .game-frame .deck-button,body.landscape-table .game-frame .center-card{width:30px;height:45px}
 body.landscape-table #round-label{display:none}
}
@media(prefers-reduced-motion:reduce){.game-frame .duel-card{transition:none}}
