.seated-scene.bar-zoomable{background:none;isolation:isolate}
.bar-camera{position:absolute;inset:0;transform-origin:0 0;touch-action:pan-y;user-select:none}
.is-zoomed .bar-camera{touch-action:none;cursor:grab}
.is-zoomed .bar-camera:active{cursor:grabbing}
.bar-zoom-controls{position:absolute;right:8px;top:8px;z-index:25;display:flex;gap:2px;background:#100e0be8;border:1px solid #c9a46b88;border-radius:12px;padding:2px;box-shadow:0 3px 16px #0006}
.bar-zoom-controls button{min-width:40px;height:40px;border:0;background:transparent;color:#f3d992;font:600 17px system-ui;cursor:pointer;border-radius:8px;touch-action:manipulation}
.bar-zoom-controls button:hover,.bar-zoom-controls button:focus-visible{background:#c9a46b33}
.bar-zoom-controls button:disabled{opacity:.35;cursor:default}
.bar-zoom-controls [data-zoom=reset]{font-size:13px;min-width:46px}
.seated-scene .table-message{animation:none;opacity:1}
.seated-scene .table-message .player-reaction-bubble{max-width:28%;font-size:clamp(9px,1.15vw,15px);line-height:1.3;padding:7px 9px;overflow-wrap:anywhere;white-space:normal;box-shadow:0 5px 20px #0008}
.table-message .player-reaction-bubble strong{display:block;font-size:.8em;color:#e6c576;margin-bottom:3px}
.table-message-panel .drink-next{color:#ddc99f}
.table-composer{position:fixed;z-index:60;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 20px));box-sizing:border-box;border:1px solid #c2a46380;background:#142019f5;color:#f4e7c7;border-radius:14px;padding:8px 10px;box-shadow:0 6px 30px #0008;font-family:system-ui}
.chat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px}
.chat-status{font-size:11px;color:#d7c7a5}
.table-composer button{border:1px solid #bd9c55;border-radius:9px;background:#ddbc70;color:#17170e;min-height:40px;padding:6px 12px;font:600 13px system-ui;cursor:pointer}
.table-composer .chat-toggle{background:transparent;color:#f1d991;min-height:36px;border-color:#bd9c5555}
.table-composer form{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:6px;margin-top:5px}
.table-composer [hidden]{display:none!important}
.table-composer input{min-width:0;width:100%;box-sizing:border-box;border-radius:9px;border:1px solid #ac986b;background:#0c140e;color:#fff2d6;padding:9px 10px;font:16px system-ui;outline-offset:2px}
.table-composer .chat-close{padding:0;background:transparent;color:#d6c8aa;border-color:transparent;font-size:23px}
.chat-count{font-size:10px;color:#b7ad94}.chat-error{grid-column:1/-1;font-size:12px;color:#ffb4a5}
.table-composer button:disabled{opacity:.5;cursor:default}
.has-table-composer .app-shell{padding-bottom:180px}
.table-composer .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(prefers-reduced-motion:no-preference){.table-message .player-reaction-bubble{animation:table-note-in .25s ease-out both}@keyframes table-note-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}}

.bar-zoom-controls.outside-camera{position:relative;right:auto;top:auto;width:max-content;margin:0 0 8px auto}
.table-message-panel .seated-name{display:none}
@media(max-width:560px){
 .game-panel.table-message-panel{padding:12px}
 .table-message-panel .drink-scene-heading{margin-bottom:12px}
 .table-message-panel .drink-scene-heading h1{font-size:26px}
 .seated-scene .table-message .player-reaction-bubble{font-size:11px;padding:6px 7px;max-width:30%}
}

/* Touch screens use the existing two-finger camera gestures. */
@media (pointer:coarse){.bar-zoom-controls{display:none}}
