@import url('./table-actions.css');
@import url('./comfort.css');
@import url('./penalty-chat.css');
@import url('../players/player-card.css');
@layer table {
 #hall[data-view=room]{overflow:hidden;background:#0b2118}#hall[data-view=room] .hall-wrap{width:100%;height:100%;padding:0;position:relative}#hall[data-view=room]>.hall-wrap>.hall-header,#hall[data-view=room]>.hall-wrap>.hall-connection{display:none}#hall[data-view=room] #hall-feedback:not(.is-error){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#hall[data-view=room] #hall-feedback.is-error{position:absolute;z-index:12;top:74px;left:20%;width:60%;max-height:66px;overflow:auto;padding:8px 12px;font-size:12px;box-shadow:0 5px 25px #0008}#hall[data-view=room] #hall-reconnect{position:absolute;z-index:13;top:12px;left:50%;transform:translateX(-50%);background:#102c1e;padding:8px;border:1px solid #c8a568;border-radius:12px}
 #hall-room-view{height:100%;display:grid;grid-template-rows:64px minmax(0,1fr) 66px;position:relative}.scene-room-toolbar{display:flex;align-items:center;gap:14px;padding:8px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));border-bottom:1px solid #c4a76b66;background:#0b2118;z-index:9}.scene-room-toolbar>.secondary{min-width:44px;padding:8px}.scene-room-heading{flex:1;min-width:0;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.scene-room-heading h1{font:normal 24px Georgia,serif;letter-spacing:0;margin:0}.scene-room-heading span{font:11px/1.4 Arial,sans-serif;color:#c9c8a5}.scene-toolbar-actions{display:flex;align-items:center;gap:10px}.scene-toolbar-actions .round{width:44px;height:44px;font-size:22px}.scene-toolbar-actions .secondary{font-size:12px;min-height:44px}.scene-room-hint{position:absolute;left:20%;width:60%;bottom:72px;text-align:center;z-index:6;font:12px/1.5 Arial,sans-serif;color:#f3e3b8;pointer-events:none;text-shadow:0 2px 4px #000}
 .table-scene{position:relative;min-height:0;isolation:isolate;background-image:linear-gradient(#03120b14,#04130a24),var(--scene-background);background-position:center;background-size:cover;overflow:hidden}.table-board{position:absolute;inset:0 0 94px}.scene-seats,.scene-piles{position:absolute;inset:0;pointer-events:none}.scene-chair{position:absolute;left:var(--seat-x);top:var(--seat-y);width:var(--panel-width);transform:translate(-50%,-50%);z-index:4;pointer-events:auto}.scene-empty-chair{width:100%;min-height:48px;padding:9px 7px;border:1px solid #d2b67888;border-radius:100px;color:#e4d7ad;background:#0a281eab;backdrop-filter:blur(8px);font:12px/1.4 Arial,sans-serif;box-shadow:0 3px 16px #0006}.scene-empty-chair:hover{background:#274732e0;border-color:#f1d38d}.scene-empty-chair:disabled{opacity:.65;cursor:default}.scene-empty-chair.is-unavailable{opacity:.25;border-style:dashed}.scene-card-button{display:block;width:100%;border:0;background:none;padding:0;text-align:initial;min-height:0}.scene-card-button:disabled{opacity:1;cursor:default}
 .scene-center{position:absolute;z-index:3;left:50%;top:var(--center-y,48%);transform:translate(-50%,-50%);width:var(--chat-width,min(440px,42%));height:var(--chat-height,240px)}.scene-chat{position:absolute;inset:0;display:grid;grid-template-rows:44px minmax(0,1fr) 44px;gap:8px;padding:16px;border:1px solid #d7bc7a99;border-radius:20px;background:#08271bda;box-shadow:0 12px 40px #0006,inset 0 1px #fff1;backdrop-filter:blur(12px)}.scene-chat .hall-section-title{position:relative;margin:0;gap:8px}.scene-chat .hall-section-title h2{font-size:18px}.scene-chat .hall-text{font-size:11px;min-height:44px;padding:0}.scene-chat ol{list-style:none;margin:0;padding:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#b19960 #122c20}.scene-chat li{font:12px/1.6 Arial,sans-serif;color:#e1e6d5;padding:3px 0;overflow-wrap:anywhere}.scene-chat li strong{font-weight:normal;color:#eed19a}.scene-chat #hall-chat-empty{position:absolute;left:16px;right:16px;top:calc(50% - 4px);transform:translateY(-50%);max-height:calc(100% - 96px);overflow:hidden;font:12px/1.5 Arial,sans-serif;color:#bacbb6}.scene-chat-composer{display:flex;gap:7px;min-height:44px;margin:0}.scene-chat-composer input{min-width:0;width:0;flex:1;border:1px solid #c1a56b88;background:#071d13d9;border-radius:11px;padding:9px 12px;font:16px/1.3 Arial,sans-serif;color:#f3e6c9}.scene-chat-composer input::placeholder{color:#b0bba4}.scene-chat-composer button{min-width:44px;min-height:44px;padding:8px 12px}.hall-dialog>.scene-chat-composer{margin-top:18px}.scene-chat[data-error=true]{border-color:#f2ad91}
 .scene-game{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ffefc6;text-shadow:0 1px 4px #000;opacity:0;visibility:hidden;pointer-events:none}.scene-game p{font:13px/1.5 Arial,sans-serif;text-align:center}#scene-phase{font-weight:bold;letter-spacing:.05em}#scene-central-cards{display:flex;justify-content:center;gap:3px;max-width:100%;overflow:auto;padding:5px}.scene-card{display:inline-block;flex:none;width:54px;aspect-ratio:1/1.45;border:0;border-radius:6px;background:#e7dfbd;padding:0;box-shadow:0 3px 12px #0008;overflow:hidden}.scene-card img{width:100%;height:100%;display:block;object-fit:fill}.scene-deck{width:54px;aspect-ratio:1/1.45;border:2px solid #d2b064;border-radius:7px;background:#103823;box-shadow:0 3px 12px #0008;color:#e6c77f;font-size:33px}.scene-pile{position:absolute;left:var(--pile-x);top:var(--pile-y);transform:translate(-50%,-50%);width:var(--pile-width);min-height:44px;pointer-events:auto;border:1px dashed #dbca9788;background:#0c331c66;border-radius:6px;padding:0;color:#ebdba7;font:9px Arial,sans-serif;z-index:2}.scene-pile>.scene-card{width:100%;box-shadow:none}.scene-hand{position:absolute;left:8%;right:8%;bottom:7px;height:82px;display:flex;align-items:flex-end;justify-content:flex-start;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:10px 4px 4px;z-index:7}/* Auto margins center every fitting hand; overflow keeps its reachable left edge. */
 .scene-hand>.scene-card:first-child{margin-inline-start:auto}.scene-hand>.scene-card:last-child{margin-inline-end:auto}.scene-hand .scene-card{width:47px;transition:translate .15s}.scene-hand .scene-card:disabled{opacity:1;cursor:default}.scene-hand .scene-card.is-selected{translate:0 -7px;outline:2px solid #ffe1a0;outline-offset:2px}.scene-hand[data-size=large] .scene-card{width:52px}.scene-hand[data-size=huge] .scene-card{width:57px}
 .hall-room-actions{z-index:9;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#0b2118;border-top:1px solid #d2b27888;min-width:0}.hall-room-actions>div:not(.scene-actions){display:flex;gap:10px;min-width:0;align-items:center}.hall-room-actions .hall-gold,.hall-room-actions .secondary{min-height:44px;font-size:13px;padding:11px 17px}.hall-room-actions>.hall-text{font-size:12px;max-width:110px}.scene-actions{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:thin;margin-left:auto}.scene-actions .secondary,.scene-actions .hall-gold{flex:none;white-space:nowrap}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]){min-height:46px;min-width:112px;padding:9px 20px;border:1px solid #c2a46d;border-radius:24px;background:#142d25 url('../../assets/refresh/buttons/green.webp') center/100% 100% no-repeat;color:#fff6dc;font:700 16px/1.3 Georgia,serif;letter-spacing:.01em;text-shadow:0 1px 2px #000;box-shadow:0 4px 12px #0007,inset 0 1px #fff2}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-play-card"]){background-image:url('../../assets/refresh/buttons/gold.webp');background-color:#cfac69;color:#201608;text-shadow:0 1px #ffeac2}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]):hover:not(:disabled){filter:brightness(1.12);border-color:#f4d68f}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]):active:not(:disabled){translate:0 1px;box-shadow:0 1px 4px #0007,inset 0 2px 5px #0004}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]):focus-visible{outline:2px solid #ffe3a0;outline-offset:2px}
 @media(max-width:650px){.scene-actions button[id$="scene-chat-button"]{width:44px;min-width:44px;height:44px;padding:0;border:0;background:transparent url('../../assets/refresh/buttons/chat.webp') center/44px 44px no-repeat;font-size:0;box-shadow:none}.scene-actions button[id$="scene-history"]{min-width:54px;padding:8px 6px;font-size:11px}}
 .scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]):disabled{background-image:url('../../assets/refresh/buttons/disabled.webp');color:#e1ddcf;border-color:#8b846e;opacity:.65;text-shadow:0 1px #0008;box-shadow:0 2px 6px #0005}
 @media(max-width:650px){.scene-actions button:is([id$="scene-draw"],[id$="scene-take"],[id$="scene-play-card"],[id$="scene-declare"]){min-height:44px;min-width:66px;padding:8px 9px;font-size:12.5px}}
.table-scene[data-playing=true] .scene-chat{opacity:0;visibility:hidden;transform:scale(.94);pointer-events:none}.table-scene[data-playing=true] .scene-game{opacity:1;visibility:visible;pointer-events:none}.scene-game button{pointer-events:auto}.table-scene.no-effects .is-active{filter:drop-shadow(0 3px 8px #0009)}.table-scene.high-contrast .scene-chat{background:#06190df5;border-color:#ffe0a1}.table-scene.no-motion *{transition:none}.scene-room-heading.is-offline{color:#e7ad94}
 @media(max-width:650px){#hall-room-view{grid-template-rows:64px minmax(0,1fr) 64px}.scene-room-toolbar{padding-inline:10px;gap:8px}.scene-room-heading{display:grid;grid-template-columns:auto auto;gap:3px 8px}.scene-room-heading h1{font-size:18px;grid-column:1/-1}.scene-room-heading span{font-size:9px;white-space:nowrap}.scene-room-heading #hall-room-status{max-width:95px;overflow:hidden;text-overflow:ellipsis}.scene-toolbar-actions{gap:5px}.scene-toolbar-actions .secondary{padding:8px;font-size:11px}.scene-toolbar-actions .round{width:40px;height:44px;min-width:40px}.scene-toolbar-actions #hall-share{display:none}.scene-center{width:var(--chat-width,63%)}.scene-chat{grid-template-rows:22px minmax(0,1fr) 44px;gap:4px;padding:8px;border-radius:15px}.scene-chat .hall-section-title h2{max-width:calc(100% - 58px);font-size:13px;line-height:1.1}.scene-chat .hall-text{position:absolute;top:-11px;right:0;font-size:10px;min-height:44px}.scene-chat li{font-size:11px;line-height:1.5;padding:1px 0}.scene-chat #hall-chat-empty{font-size:10px;left:8px;right:8px}.scene-chat-composer{gap:5px}.scene-chat-composer input{padding:7px 8px;border-radius:9px;font-size:16px}.scene-chat-composer button{min-width:44px;padding:7px 8px}.scene-empty-chair{font-size:10px;min-height:44px;padding:7px}.table-board{bottom:0}.scene-hand{height:76px;left:3%;right:3%;bottom:4px}.scene-hand .scene-card{width:44px}.scene-game{gap:6px}.scene-game p{font-size:11px}.scene-game .scene-card,.scene-deck{width:44px}.hall-room-actions{gap:7px;padding-inline:10px}.hall-room-actions>.hall-text{font-size:10px;max-width:52px}.hall-room-actions .hall-gold,.hall-room-actions .secondary{padding:10px 12px;font-size:12px}.hall-room-actions>div:not(.scene-actions){gap:7px;margin-left:auto}.scene-actions{gap:5px}.scene-actions .secondary,.scene-actions .hall-gold{padding:9px;font-size:11px}.scene-room-hint{font-size:10px;bottom:67px;left:10%;width:80%}#hall[data-view=room] #hall-feedback.is-error{left:10%;width:80%;font-size:11px}.hall-dialog>.scene-chat-composer input{font-size:16px}}
 .scene-center[data-compact=true] .scene-chat .hall-section-title h2{font-size:11px;line-height:1.1}

 @media(prefers-reduced-motion:no-preference){.scene-chat{transition:opacity .2s ease,transform .2s ease,visibility .2s}.scene-game{transition:opacity .2s .17s ease,visibility .2s .17s}.scene-empty-chair{transition:border-color .15s,background-color .15s}}
}

@layer table{.scene-deck img{display:block;width:100%;height:100%;object-fit:fill;border-radius:5px}.scene-toolbar-actions .round img{width:24px;height:24px}.scene-hand[data-size=huge]{height:102px}}
.table-scene[data-playing=true] .scene-center{pointer-events:none}

.scene-hand .scene-card,.scene-hand[data-size] .scene-card{width:var(--hand-card-width,44px)}
.scene-hand,.scene-hand[data-size=huge]{height:var(--hand-height,82px)}
#scene-central-cards .scene-card,#scene-central-cards .scene-deck{width:var(--central-card-width,44px)}
body.workshop-editing #hall .table-scene.is-editing :is(.scene-chair,.scene-pile,.scene-hand,#scene-central-cards),body.workshop-editing #hall .table-scene.is-editing :is(.scene-chair,.scene-pile,.scene-hand,#scene-central-cards) *{touch-action:none;cursor:grab;transition:none;pointer-events:auto}
body.workshop-editing #hall .scene-actions button{touch-action:none;cursor:grab;pointer-events:auto}
#hall .scene-actions:has([data-workshop-positioned]){overflow:visible}
body.workshop-editing #hall .table-scene{overflow:visible}
.scene-feedback{position:absolute;z-index:7;left:15%;right:15%;bottom:calc(var(--hand-height,82px) + 12px);padding:7px 12px;border:1px solid #bb9c60;border-radius:12px;background:#102c22ed;color:#f1dfb4;font:11px/1.4 Arial,sans-serif;max-height:78px;overflow:auto}
.scene-feedback strong,.scene-feedback span{display:block}.scene-feedback span{padding-top:4px;color:#d8dec9}.scene-feedback[data-expanded=false] span{padding-top:0}
.scene-remark{position:absolute;bottom:calc(var(--hand-height,82px) + 12px);left:15%;right:15%;z-index:8;border-radius:12px;background:#102c22ed;padding:8px 12px;color:#f1dfb4;font:11px/1.4 Arial,sans-serif;pointer-events:none}
.scene-feedback:not([hidden]) + .scene-remark{bottom:calc(var(--hand-height,82px) + 100px)}
.table-scene.clock-warning #scene-phase{color:#ffe1a0;background:#5c361c;padding:4px 12px;border-radius:8px;outline:1px solid #ddb878}
body.workshop-editing .scene-feedback,body.workshop-editing .scene-remark{display:none}

/* Card groups always cover player cards, including a manually overlapped seat. */
.scene-seats{z-index:1}.scene-piles{z-index:2}
.scene-game #scene-central-cards{pointer-events:auto}
.scene-trump{position:absolute;top:16px;right:18px;z-index:9;pointer-events:none;border:1px solid #d5b471;border-radius:10px;padding:6px 11px;background:#fff0cc;color:#171717;font:700 13px/1.2 Georgia,serif;box-shadow:0 3px 9px #0005}
.scene-trump[data-suit="1"]{color:#b71c1c}.scene-trump[data-suit="2"]{color:#1265ce}.scene-trump[data-suit="3"]{color:#168344}

/* Full server explanation remains available in the penalty details dialog. */
.scene-penalty-dialog{width:min(400px,calc(100vw - 32px));max-height:75dvh;overflow:auto;box-sizing:border-box;border:1px solid #c9a96b;border-radius:18px;padding:25px 22px;background:#0d291ff5;color:#f1dfb4;box-shadow:0 18px 60px #000a;font:14px/1.6 Georgia,serif}
.scene-penalty-dialog::backdrop{background:#020b08b8;backdrop-filter:blur(5px)}
.scene-penalty-dialog h2{font:700 18px/1.4 Georgia,serif;margin:16px 20px 14px 0;color:#f1d492}
.scene-penalty-dialog p{font:14px/1.7 Arial,sans-serif;overflow-wrap:anywhere}
.scene-penalty-close{position:absolute;right:8px;top:6px;width:44px;height:44px;border:0;background:transparent;color:#e9ce95;font-size:28px}


@media(max-width:650px){
 .table-scene .scene-remark{top:12px;left:12px;right:auto;bottom:auto;width:calc(100% - 138px);min-height:48px;max-height:48px;box-sizing:border-box;margin:0;padding:7px 9px;overflow:hidden;border:1px solid #b99a61;border-radius:12px;font:11px/1.4 Arial,sans-serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 .table-scene:has(.scene-feedback-compact:not([hidden])) .scene-remark{display:none}
}
.table-scene .scene-hand{left:8px;right:8px;display:grid;grid-template-columns:repeat(var(--hand-columns,1),var(--hand-step,52px));grid-auto-rows:var(--hand-row-height,84px);align-content:end;justify-content:center;align-items:end;gap:0;overflow:visible;padding:10px 4px}.scene-hand>.scene-card:first-child,.scene-hand>.scene-card:last-child{margin-inline:0}.scene-hand>.scene-card{margin:0;position:relative}.scene-hand>.scene-card:is(:hover,:focus-visible,.is-selected){z-index:auto}.table-scene :is(.scene-card,.scene-pile,.scene-deck,.scene-card-button):disabled{opacity:1;cursor:default}
.floating-game .scene-room-toolbar{background:transparent;border:0;box-shadow:none}.floating-game .scene-room-heading{display:none}.floating-game .scene-toolbar-actions{display:contents}.floating-game .floating-table-toolbar{position:absolute;inset:12px 12px auto;z-index:15;display:flex;justify-content:flex-end;gap:10px;pointer-events:none;min-height:48px;padding:0}.floating-game .floating-table-toolbar button{pointer-events:auto}.floating-game .floating-table-toolbar>button:first-child{margin-right:auto}.floating-game .table-icon,.floating-game #table-voice{display:inline-grid;place-items:center;width:48px;height:48px;min-width:48px;border-radius:50%;border:1px solid #c7ac6c;background:radial-gradient(at 35% 15%,#37503b,#0b241b 70%);box-shadow:inset 0 1px 2px #fff5,0 5px 12px #0008;color:#f4dfac;padding:10px}.floating-game .table-icon:disabled{opacity:.45;cursor:default}.floating-game .scene-actions{background:transparent!important;border:0!important;box-shadow:none;justify-content:center;gap:10px;padding:8px 12px max(12px,env(safe-area-inset-bottom))!important}.floating-game .scene-actions button{min-height:54px;border-radius:18px;font-family:Georgia,serif;font-weight:700;box-shadow:inset 0 2px 2px #fff7,inset 0 -5px 8px #0008,0 5px 0 #071c12,0 8px 14px #0008}.floating-game #practice-scene-chat-button{display:inline-grid}.floating-game #practice-scene-play-card:not(:disabled),.floating-game #scene-play-card:not(:disabled){color:#38240a}.floating-game #hall-room-hint,.floating-game #practice-status:not(:has(+*)){background:transparent}.floating-game .hall-room-actions{background:transparent;border:0}.table-menu-actions{display:grid;gap:8px;padding-top:12px;border-top:1px solid #bda26955}.table-menu-actions h3{font:18px Georgia,serif;margin:4px 0}.table-menu-actions button{width:100%;min-height:44px}.floating-game #hall-ready,.floating-game #hall-start{display:none}.floating-game #practice-footer{position:absolute;left:0;right:0;bottom:0;pointer-events:none}.floating-game #practice-result{pointer-events:auto}
#practice.floating-game{grid-template-rows:0 auto auto minmax(0,1fr) auto auto}#hall.floating-game #hall-room-view{padding-top:0;grid-template-rows:minmax(0,1fr) auto}#hall.floating-game .scene-room-toolbar{grid-row:auto}#hall.floating-game #hall-scene{grid-row:1}.floating-game #hall-room-view>.hall-room-actions{display:none}
#voice-panel{width:min(480px,calc(100vw - 24px));max-height:85dvh;overflow:auto;border:1px solid #c5ab70;border-radius:24px;background:#0e291e;color:#efdfbc;padding:24px;box-shadow:0 24px 80px #000b}#voice-panel::backdrop{background:#0009;backdrop-filter:blur(5px)}#voice-panel .voice-heading{display:flex;justify-content:space-between;align-items:start}#voice-panel h2{font:26px Georgia,serif;margin:5px 0 16px}#voice-panel button{min-height:44px;border:1px solid #bda36b;border-radius:13px;background:#214632;color:#f4e2b5;padding:10px 14px}#voice-panel .voice-controls{display:grid;gap:8px;margin:16px 0}#voice-panel p{font:14px/1.55 Arial,sans-serif;margin:12px 0}#voice-panel .voice-level{display:grid;gap:10px;margin:20px 0}#voice-panel input{width:100%}#voice-panel .voice-user{display:flex;gap:10px;align-items:center;margin:10px 0}#voice-panel .voice-user img{width:40px;height:40px;border-radius:50%}#voice-panel .voice-user span{flex:1}#voice-panel .voice-user small{display:block}#voice-panel .is-speaking{outline:1px solid #c2d795}.scene-chair[data-voice-speaking=true]{filter:drop-shadow(0 0 8px #b3f4b1)}
.floating-game>.scene-actions,.floating-game #hall-room-view>.scene-actions{position:absolute;left:0;right:0;bottom:0;z-index:20}.floating-game .scene-actions button{flex:1 1 0;max-width:200px;min-width:0;width:auto;font-size:clamp(14px,4.2vw,18px);padding:12px 8px;white-space:nowrap}.floating-game .scene-hand{bottom:82px}.floating-game #practice-status{position:absolute;top:70px;left:12px;right:12px;z-index:16}.floating-game #hall-room-view{position:relative;height:100%}
.floating-game .scene-trump{top:76px;right:12px}.floating-game .scene-actions button:disabled{opacity:1;background-color:#2d3c32;color:#adb6a3;box-shadow:inset 0 1px 1px #fff3,inset 0 -3px 6px #0007,0 3px 0 #071c12,0 5px 10px #0006}
#practice.learning-mode.floating-game{grid-template-rows:0 auto auto minmax(180px,1fr) auto auto auto}#practice.learning-mode.floating-game>.scene-actions{position:static;grid-row:5}#practice.learning-mode.floating-game .scene-hand{bottom:7px}
.scene-room-toolbar #table-voice{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-grid;place-items:center;flex:none;border:1px solid #c7ac6c;border-radius:50%;background:#173b2a;color:#f4dfac;padding:8px}.floating-game .scene-room-toolbar #table-voice{width:48px;height:48px}
@media(max-width:650px){#hall:not(.floating-game) .scene-room-toolbar{flex-wrap:wrap;height:auto;min-height:64px;gap:4px;padding-inline:6px}#hall:not(.floating-game) .scene-toolbar-actions{gap:4px}#hall:not(.floating-game) #hall-room-view{grid-template-rows:auto minmax(0,1fr) auto auto auto}}
#hall.floating-game #hall-room-view>.scene-actions{grid-area:auto;position:absolute;left:0;right:0;bottom:0;top:auto}#practice.floating-game>.scene-actions{grid-area:auto}
#table-voice[data-mic=true]{color:#dbf5d5;border-color:#a9d89b;box-shadow:inset 0 1px 2px #fff5,0 0 0 3px #74b76d33,0 5px 12px #0008}
.table-scene [id$="scene-phase"],.table-scene [id$="scene-turn"]{display:none!important}.table-scene>[id$="scene-deck-label"]{position:absolute;top:74px;left:12px;z-index:8;font:11px/1.4 Arial,sans-serif;color:#edddb7;background:#0b271bda;border:1px solid #b29b6755;border-radius:9px;padding:5px 8px}.table-scene>[id$="scene-deck-label"]:empty{display:none}.scene-hand .scene-card img{border-radius:5px}
.floating-game .scene-actions{gap:8px;padding:6px 10px max(8px,env(safe-area-inset-bottom))!important}.floating-game .scene-actions button{flex:0 1 132px;max-width:132px;min-height:44px;border-radius:14px;font-size:clamp(12px,3.5vw,16px);padding:8px 10px;line-height:1.15}.floating-game .scene-hand{bottom:68px}

/* Stable action surfaces: availability does not swap the entire button artwork. */
.floating-game .scene-actions button:disabled{background-image:url('../../assets/refresh/buttons/green.webp');opacity:1;color:#d4c6a4;filter:saturate(.5) brightness(.82)}
.floating-game .scene-actions button:is([id$="scene-draw"],[id$="scene-play-card"]):disabled{background-image:url('../../assets/refresh/buttons/gold.webp');color:#68532d}
.scene-game [id$="scene-central-cards"]{display:grid;justify-content:center;gap:0;max-width:none;overflow:visible;padding:5px;width:max-content;align-items:center}
.scene-game [id$="scene-central-cards"]>.scene-card{width:var(--central-card-width,44px);position:relative;pointer-events:auto}
.scene-hand>.scene-card.is-selected{translate:0 -18px}
.table-menu-description{font:12px/1.6 Arial,sans-serif;color:#c7cfb9;margin:0 0 10px}

/* Essential penalty status belongs on the felt on every screen. Full details
   remain available by touch; this surface never scrolls the hand or covers it. */
.table-scene .scene-feedback-compact{display:flex;flex-direction:column;position:absolute;z-index:10;right:auto;bottom:auto;box-sizing:border-box;min-height:64px;max-height:none;gap:5px;padding:10px 13px;text-align:center;align-items:center;justify-content:center;border:1px solid #d7b775;border-radius:16px;background:#102e24f5;color:#fff0cb;box-shadow:inset 0 1px #fff3,0 5px 18px #0007;cursor:pointer}
.table-scene .scene-feedback-compact[hidden]{display:none}
.table-scene .scene-feedback-compact strong{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;font:700 15px/1.25 Georgia,serif;color:#f4d28a}
.table-scene .scene-feedback-compact .penalty-reason{font:12px/1.35 Arial,sans-serif;color:#eadfc5}
.table-scene .scene-feedback-compact .penalty-action{font:700 12px/1.4 Arial,sans-serif;color:#eff6dc}
.table-scene .scene-feedback-compact:focus-visible{outline:2px solid #ffe2a0;outline-offset:3px}
.table-scene .scene-feedback-compact[data-kind=received]{border-color:#adbd84}
.table-scene:has(.scene-feedback-compact:not([hidden])) .scene-remark{display:none}

@media(max-width:650px){.table-scene .scene-feedback-compact{min-height:56px;padding:5px 10px;gap:2px;border-radius:13px}.table-scene .scene-feedback-compact strong{font:700 14px/1.15 Georgia,serif}.table-scene .scene-feedback-compact .penalty-reason,.table-scene .scene-feedback-compact .penalty-action{font-size:11px;line-height:1.2}}

body.workshop-editing .scene-feedback-compact{display:none}

.table-scene .scene-feedback-compact[data-compact=true] .penalty-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
.table-scene .scene-feedback-compact[data-compact=true] .penalty-action{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* Native practice loads its stylesheet after the shared scene. Keep chain
   visibility stronger than that legacy ID rule, including narrow chat lanes. */
.scene-game :is(#scene-central-cards,#practice-scene-central-cards){display:grid;justify-content:center;gap:0;max-width:none;overflow:visible;padding:5px;width:max-content;align-items:center}


.scene-hand[data-dense=true]{touch-action:pan-y}.scene-hand[data-dense=true]>.scene-card.is-selected{z-index:3}


/* Optional history adds a fourth action; the strip must include its padding. */
.floating-game .scene-actions{box-sizing:border-box;width:100%;max-width:100%;margin-inline:0;gap:6px;padding-inline:8px!important;overflow:visible}
.floating-game .scene-actions>button{box-sizing:border-box;flex:1 1 0;min-width:0;max-width:132px;padding-inline:6px;white-space:normal;font-size:clamp(12px,3.1vw,15px)}

