/* Physical raster material; live cards and controls retain independent layout. */
.deck-back{background-image:var(--back-pattern,none),repeating-linear-gradient(45deg,#ffffff25 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,#ffffff25 0 1px,transparent 1px 6px);background-color:var(--back);background-size:100% 100%,auto,auto;background-position:center}
.table-object.hourglass{width:54px;right:-4px;top:42%;bottom:auto}.salon-preview .object-preview.hourglass-preview{left:32%;bottom:23%;width:65px}
.immersive-felt{height:clamp(265px,28vw,385px);min-height:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:25px 30px 24px;background:url('assets/table-play-surface.webp') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;margin-bottom:12px;isolation:isolate}
.immersive-felt:before{content:'';position:absolute;inset:12% 7% 14%;border:0;border-radius:25% / 48%;background:var(--felt);mix-blend-mode:color;opacity:.7;z-index:-1;pointer-events:none}
.immersive-felt:after{content:none}
.immersive-felt .opponents{width:100%;gap:12px;flex-shrink:0}
.immersive-felt .opponent{min-width:55px;max-width:90px}.immersive-felt .opponent .avatar{width:32px;height:32px}.immersive-felt .opponent strong{font-size:10px}.immersive-felt .opponent .small{font-size:9px}.immersive-felt .bot-label{font-size:8px;margin-top:1px}.immersive-felt .tiny-fan{height:13px;margin-top:2px}.immersive-felt .tiny-fan i{height:13px;width:9px}
.immersive-felt .table-center{margin:3px 0;gap:40px;flex:0 0 auto}.immersive-felt .pile .card-image{width:72px}.immersive-felt .deck-back{width:72px;height:102px}.immersive-felt .pile>small{font-size:10px;margin-top:9px}.immersive-felt .table-turn{font-size:11px;min-height:20px;line-height:20px;background:#06271dc2;padding:1px 12px;border-radius:12px}
.immersive-game{gap:17px;grid-template-columns:minmax(0,1fr) 190px;padding-top:3px}.immersive-game .my-hand{padding:12px 14px 11px;border-radius:14px}.immersive-game .hand-title h2{font-size:14px}.immersive-game .hand-title small{font-size:10px}.immersive-game .hand-scroller{min-height:100px;padding:10px 5px 6px;gap:8px}.immersive-game .hand-card{width:59px;flex-basis:59px;min-width:53px}.immersive-game .hand-actions{margin-top:6px;gap:9px}.immersive-game .hand-actions .btn{min-height:42px;padding:10px 14px;font-size:12px}.immersive-game .game-hint{margin-top:8px;font-size:10px;line-height:1.55}.immersive-game .game-side{padding:0}.immersive-game .companion-box{display:block}.immersive-game .companion-box>button{display:block;width:75px;margin:0 auto 8px}.immersive-game .companion-box img{width:75px;height:85px}.immersive-game .speech{font-size:11px;line-height:1.65;padding:12px}.immersive-game .activity-list{padding:13px;margin-top:14px}.immersive-game .activity-list p{font-size:10px;line-height:1.65}.immersive-game .activity-list h3{font-size:12px}.immersive-game .robot-fairness{font-size:10px;padding:10px;margin-top:12px}
.catalog-art .table-mini,.preview-table.table-mini{background:url('assets/table-play-surface.webp') center/100% 100% no-repeat;border:0;box-shadow:none;isolation:isolate}
.catalog-art .table-mini:before,.preview-table.table-mini:before{content:'';position:absolute;inset:12% 7% 14%;border-radius:25% / 48%;background:var(--item-color,var(--felt));mix-blend-mode:color;opacity:.7;pointer-events:none}
.preview-table.table-mini:before{background:var(--felt)}
.motion-card{position:fixed;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 7px 6px #0005)}.motion-card>img{width:100%;height:100%;object-fit:contain}.motion-card>.deck-back{width:100%;height:100%;border-width:3px;border-radius:7px}.motion-card>.deck-back span{font-size:16px}.under-pile-cover{position:fixed;z-index:82;pointer-events:none}.under-pile-cover img{width:100%;height:auto;display:block}
.hand-family{padding:10px 12px;margin:10px 0 2px;border:1px solid var(--gold);border-radius:12px;background:#173a2bef}.hand-family strong{font:600 12px var(--font)}.hand-family .icon-button{width:32px;height:32px;min-height:32px}.hand-family .family-grid{margin:5px 0 0;gap:7px;grid-template-columns:repeat(4,1fr)}.hand-family .family-grid button{min-height:49px;padding:6px;font-size:10px}.hand-family .family-grid span{font-size:22px}
.player-call{position:fixed;transform:translateX(-50%);z-index:89;pointer-events:none;background:#123428f5;color:#f2d18a;border:1px solid #e2bd75;border-radius:13px;padding:7px 13px;font:700 18px/1.1 var(--font);box-shadow:0 5px 13px #0005;animation:announcement-enter .25s ease-out}.player-call.games{background:#e2bd75;color:#172b20}
.sequence-stack{position:fixed;z-index:80;pointer-events:none}.sequence-stack>img,.sequence-stack>div{position:absolute;inset:0;width:100%;height:100%}.sequence-stack img{width:100%;height:100%;object-fit:contain}
@media(min-width:901px){body[data-route="game"] .content{padding-top:15px}.game-topline h1{font-size:23px}.game-topline p{font-size:11px}}
@media(max-width:900px) and (min-width:601px){.immersive-game{grid-template-columns:minmax(0,1fr) 160px;gap:13px}.immersive-felt{height:285px;padding:20px 24px}.immersive-game .game-side{display:block;margin:0}.immersive-game .companion-box{display:block}}
@media(max-width:600px){
 .table-object.hourglass{width:38px;right:-7px;top:43%}.salon-preview .object-preview.hourglass-preview{width:45px;left:34%;bottom:26%}
 .content{padding:17px 15px 100px}.panel{padding:18px}.screen-header{margin-bottom:19px}.hero{min-height:405px}.hero-copy{padding:27px 22px}.hero h1{font-size:32px;line-height:1.14;max-width:240px}.hero p{font-size:12px;max-width:225px;line-height:1.7}.hero-mascot{width:153px;right:-5px;bottom:102px}.hero-orbit{width:43px;right:58px}.hero-orbit.second{width:39px;right:12px}.hero .row{left:22px;right:22px;bottom:20px;max-width:240px}.hero .btn{min-height:43px;padding:11px 17px;font-size:12px}.hero .offline-note{font-size:10px}.mode-tile{min-height:130px;padding:18px 15px}.mode-tile h3{font-size:14px}.mode-tile p{font-size:11px}.home-section{margin-top:24px}
 body[data-route="game"] .content{padding:10px 12px 15px}body[data-route="game"] .topbar{height:51px;min-height:51px;padding-block:7px}.game-topline h1{font-size:19px}.game-title p{font-size:9px;max-width:125px}.game-topline>.row .icon-button{width:33px;min-width:33px;height:37px;min-height:37px}.game-topline>.row .pill{padding:7px}.game-title>.icon-button{width:30px;min-width:30px}.game-title{gap:4px}
 .immersive-game{display:block}.immersive-felt{width:100%;height:clamp(340px,47dvh,430px);padding:31px 32px 27px;background-image:url('assets/table-play-vertical.webp');margin-bottom:8px}.immersive-felt:before{inset:7% 14% 7% 12%;border-radius:48% / 25%}.immersive-felt .opponents{gap:8px;min-height:72px;justify-content:center}.immersive-felt .opponent:nth-child(n+4){display:none}.immersive-felt .opponent{min-width:45px;max-width:60px}.immersive-felt .opponent .avatar{width:29px;height:29px}.immersive-felt .opponent strong{font-size:9px;max-width:60px}.immersive-felt .opponent .small{font-size:8px}.immersive-felt .bot-label{display:none}.immersive-felt .table-center{gap:29px}.immersive-felt .pile .card-image{width:67px}.immersive-felt .deck-back{width:67px;height:95px}.immersive-felt .table-turn{font-size:10px;padding-inline:8px}
 .immersive-game .my-hand{padding:10px 10px 8px}.immersive-game .hand-scroller{min-height:94px;padding-top:9px}.immersive-game .hand-card{width:56px;flex-basis:56px}.immersive-game .hand-title h2{font-size:13px}.immersive-game .hand-title small{font-size:9px}.immersive-game .hand-actions .btn{min-height:40px;padding:9px;font-size:11px}.immersive-game .game-hint{font-size:9px}.immersive-game .game-side{margin-top:9px;padding:0;border:0}.immersive-game .companion-box{display:flex;align-items:center;gap:8px}.immersive-game .companion-box>button{width:44px;flex-basis:44px;margin:0}.immersive-game .companion-box img{width:44px;height:50px}.immersive-game .speech{padding:8px 10px;font-size:10px;line-height:1.5;min-height:0}.immersive-game .speech p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.immersive-game .listen-guide{min-height:27px;margin-top:3px;font-size:10px}.immersive-game .robot-fairness{display:none}
 .studio-controls{gap:12px;padding-top:8px}.catalog-art{height:128px}.catalog-body p{min-height:0}.catalog-body{padding:12px}.catalog-body .row{margin-top:9px}
}
@media(max-height:520px) and (min-width:601px){.immersive-felt{height:260px}.immersive-game{grid-template-columns:minmax(0,1fr) 150px}.immersive-game .hand-scroller{min-height:85px}.immersive-game .hand-card{width:48px;flex-basis:48px}}
@media(prefers-reduced-motion:reduce){.motion-card,.under-pile-cover{display:none}}
