/* One physical table, three seated patrons, and an embedded conversation. */
.pq-tavern {
  --tavern-accent:#e7c387;
  position:absolute;inset:0;z-index:20;display:grid;
  grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;
  overflow:hidden;border:1px solid #c9b17b88;border-radius:inherit;
  background:#102d39;color:#f5e5bf;isolation:isolate;
}
.pq-tavern[hidden],.pq-tavern [hidden] { display:none!important; }
.pq-tavern * { box-sizing:border-box; }
.pq-tavern__head {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 18px;border-bottom:1px solid #cfb37a60;
  background:linear-gradient(115deg,#343b36,#163a43 60%,#102c38);
  box-shadow:0 2px 10px #061a2740;z-index:1;
}
.pq-tavern__head>div { min-width:0; }
.pq-tavern__head h2 {
  margin:3px 0 0;color:#fff1d1;font-size:clamp(19px,2.2vw,29px);
  line-height:1.15;overflow-wrap:anywhere;letter-spacing:-.025em;
}
.pq-tavern__eyebrow { color:#e6c889;font-size:10px;letter-spacing:.2em;font-weight:750; }
.pq-tavern__head .pq-button { flex:none;min-height:44px;padding:8px 12px;font-size:14px;white-space:normal; }
.pq-tavern__body { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0; }
.pq-tavern--chat .pq-tavern__body { grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); }
.pq-tavern__art { position:relative;min-width:0;min-height:0;overflow:hidden;background:#142a32; }
.pq-tavern__art canvas { display:block;width:100%;height:100%; }
.pq-tavern__patrons { position:absolute;inset:0;pointer-events:none; }
.pq-tavern__patron {
  position:absolute;display:block;min-width:0;min-height:0;padding:0;
  border:2px solid transparent;border-radius:42% 42% 24% 24%;
  background:transparent;color:#ffedbd;cursor:pointer;pointer-events:auto;
  touch-action:manipulation;font:inherit;-webkit-tap-highlight-color:transparent;
}
.pq-tavern__patron:hover { border-color:#e8c37a3b;background:#ebc8840d; }
.pq-tavern__patron:disabled { cursor:default;pointer-events:none; }
.pq-tavern__talk-badge {
  position:absolute;right:0;top:0;display:grid;place-items:center;width:28px;height:28px;
  border:1px solid #e5c58dcc;border-radius:50%;
  background:linear-gradient(135deg,#31534e,#102e3c);color:#ffe5ad;
  box-shadow:0 2px 8px #051a2970,inset 0 1px #fff1cb20;pointer-events:none;
}
.pq-tavern__talk-badge svg { width:17px;height:17px; }
.pq-tavern__patron[data-tavern-played=true] .pq-tavern__talk-badge { color:#d7f0cb;border-color:#bdd5a9;background:linear-gradient(135deg,#3c5d46,#163c3e); }
.pq-tavern__patron:hover .pq-tavern__talk-badge,.pq-tavern__patron:focus-visible .pq-tavern__talk-badge { box-shadow:0 0 0 3px #f1cd83,0 3px 12px #041c28a0; }
.pq-tavern__patron-label {
  position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);
  max-width:180px;padding:5px 8px;border:1px solid #d9c38b88;border-radius:7px;
  background:#0b2d3cf2;color:#fff0c8;white-space:normal;text-align:center;
  font-size:12px;line-height:1.2;pointer-events:none;visibility:hidden;
}
.pq-tavern__patron:hover .pq-tavern__patron-label,.pq-tavern__patron:focus-visible .pq-tavern__patron-label { visibility:visible; }
.pq-tavern__caption {
  position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;
  gap:8px;margin:0;padding:27px 12px 12px;background:linear-gradient(transparent,#071c2bec);
  color:#f8e2b9;font-size:13px;line-height:1.35;pointer-events:none;text-shadow:0 1px 3px #031923;
}
.pq-tavern__cargo { position:absolute;right:12px;top:12px;min-height:44px;padding:9px 12px;font-size:13px;max-width:calc(100% - 24px);white-space:normal; }
.pq-tavern__conversation {
  height:100%;min-width:0;min-height:0;overflow:hidden;border-left:1px solid #cfb37a55;
  background:radial-gradient(ellipse at 20% 0,#42605b38,transparent 70%),linear-gradient(150deg,#173c46,#0a2533);
}
.pq-app .pq-tavern .pq-tavern__embedded-chat { display:flex;flex-direction:column;height:100%;width:100%;max-width:none;min-height:0;margin:0;padding:14px;background:none;border:0;color:inherit;box-shadow:none; }
.pq-tavern__embedded-chat>.gr-dialog__head { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0; }
.pq-app .pq-tavern .pq-tavern__embedded-chat>.gr-dialog__body { display:flex;flex:1;flex-direction:column;min-height:0;padding:0;gap:10px;overflow:hidden; }
.pq-app .pq-tavern .pq-chat-portrait154 { flex:none;display:flex;align-items:center;gap:10px;padding:0 6px;margin:0;color:#e8ce98;font-size:13px;line-height:1.3;min-height:0; }
.pq-app .pq-tavern .pq-chat-portrait154 svg { flex:none;width:58px;height:58px; }
.pq-app .pq-tavern .pq-chat-layout { --pq-chat-options-share172:.57;display:flex;flex:1;flex-direction:column;gap:10px;align-items:stretch;min-height:0;height:auto;max-height:none; }
.pq-app .pq-tavern .pq-chat-reading { flex:1 1 0;min-height:64px;max-height:none;height:auto;border-color:#a8c7b65e;background:#06263180;border-radius:13px; }
.pq-app .pq-tavern .pq-chat-transcript { flex:1;min-height:0;height:auto;max-height:none;padding:12px 16px 12px 12px;overflow:auto;scroll-padding:12px; }
.pq-app .pq-tavern .pq-chat-bubble { max-width:96%;margin-bottom:10px;padding:11px 13px;font-size:clamp(14px,1.2vw,17px);overflow-wrap:anywhere;border-radius:12px;box-shadow:0 2px 6px #041d2929; }
.pq-app .pq-tavern .pq-chat-bubble p { font-size:inherit;line-height:1.5;margin:6px 0 0; }
.pq-app .pq-tavern .pq-chat-byline { font-size:inherit; }
.pq-app .pq-tavern .pq-chat-options-wrap158 { flex:0 1 auto;min-height:0;max-height:57%;overflow:hidden; }
/* A real inner gutter keeps focus/default borders inside the scrolled reply
   pane on iOS; the shared scrollbar adds its own logical-end rail spacing. */
.pq-app .pq-tavern .pq-chat-options154 { flex:1 1 auto;height:auto;max-height:none;min-height:0;overflow:auto;padding:8px 16px 8px 8px;scroll-padding:10px; }
.pq-app .pq-tavern .pq-chat-replies { position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0; }
.pq-app .pq-tavern .pq-chat-replies .pq-button,.pq-app .pq-tavern .pq-chat-options154>[data-action="close-modal"] { display:flex;min-height:44px;font-size:14px;padding:10px 12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;border-radius:12px;text-align:left; }
.pq-app .pq-tavern .pq-chat-options154>[data-action="close-modal"] { margin-top:10px; }
.pq-app .pq-tavern [data-chat-status] { font-size:13px;margin:7px 0 0;line-height:1.4; }
.pq-app .pq-tavern :is(button,a):focus-visible { outline:3px solid #f6cf86;outline-offset:-5px; }
.pq-app .pq-tavern .pq-tavern__patron:focus-visible { outline:0; }
@media(max-width:760px) {
  .pq-tavern__head { padding:10px 12px;gap:8px; }
  .pq-tavern__head h2 { font-size:18px; }
  .pq-tavern__head .pq-button { font-size:12px;padding:7px 9px;gap:5px; }
  .pq-tavern__head .pq-button svg { width:21px;height:21px; }
  .pq-tavern__eyebrow { font-size:9px;letter-spacing:.14em; }
  .pq-tavern--chat .pq-tavern__body { grid-template-columns:minmax(0,1fr); }
  .pq-tavern--chat .pq-tavern__art { display:none; }
  .pq-tavern__conversation { border-left:0; }
  .pq-tavern__caption { font-size:12px;padding:22px 9px 11px; }
  .pq-app .pq-tavern .pq-tavern__embedded-chat { padding:10px; }
  .pq-app .pq-tavern .pq-chat-portrait154 { font-size:12px;gap:8px; }
  .pq-app .pq-tavern .pq-chat-portrait154 svg { width:44px;height:44px; }
  .pq-app .pq-tavern .pq-chat-bubble { font-size:14px;padding:10px 12px; }
  .pq-app .pq-tavern .pq-chat-replies .pq-button,.pq-app .pq-tavern .pq-chat-options154>[data-action="close-modal"] { font-size:13px;min-height:44px;padding:10px 11px; }
  .pq-app .pq-tavern [data-chat-status] { font-size:12px; }
  .pq-tavern__cargo { font-size:12px; }
}
@media(max-width:360px) { .pq-tavern__head h2 { font-size:16px; }.pq-tavern__talk-badge { width:26px;height:26px; }.pq-tavern__talk-badge svg { width:16px;height:16px; } }
@media(max-height:500px) and (orientation:landscape) {
  .pq-tavern__head { padding:5px 10px; }
  .pq-tavern__head h2 { font-size:18px; }
  .pq-tavern__eyebrow,.pq-tavern__caption { display:none; }
  .pq-tavern--chat .pq-tavern__body { grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr); }
  .pq-tavern--chat .pq-tavern__art { display:block; }
  .pq-app .pq-tavern .pq-chat-portrait154 svg { width:34px;height:34px; }
  .pq-app .pq-tavern .pq-chat-bubble { font-size:12px; }
  .pq-app .pq-tavern .pq-chat-replies .pq-button,.pq-app .pq-tavern .pq-chat-options154>[data-action="close-modal"] { min-height:44px;font-size:13px; }
}
