.tavern-page { display: grid; gap: 1rem; }
.tavern-page .go-page-heading { margin-bottom: .25rem; }
.tavern-poweruser-link { display: flex; justify-content: center; margin: .25rem 0 1rem; }
.tavern-poweruser-link > a { width: min(100%, 32.5rem); }
.tavern-card { margin: 0; padding: 0; overflow: visible; }
.go-page .ewr-card.tavern-management-category {
  border-color: rgba(119, 92, 81, .22);
  background:
    radial-gradient(circle at 0 0, rgba(90, 68, 60, .26), transparent 38%),
    linear-gradient(135deg, rgba(79, 61, 55, .27), rgba(17, 24, 39, .88) 58%);
}
.tavern-card > summary,
.tavern-subcard > summary,
.tavern-total-card > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 4.5rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none;
}
.tavern-card > summary::-webkit-details-marker,
.tavern-subcard > summary::-webkit-details-marker,
.tavern-total-card > summary::-webkit-details-marker { display: none; }
.tavern-card > summary > span:first-child { display: grid; gap: .2rem; }
.tavern-card > summary strong { font-size: clamp(1.15rem, 2.5vw, 1.45rem); }
.tavern-card-description { max-width: 32rem; font-size: .84rem; font-weight: 400; line-height: 1.5; }
.tavern-card > summary::after,
.tavern-subcard > summary::after,
.tavern-total-card > summary::after { content: '+'; color: #bfdbfe; font-size: 1.35rem; }
.tavern-card[open] > summary::after,
.tavern-subcard[open] > summary::after,
.tavern-total-card[open] > summary::after { content: '−'; }
.tavern-card > summary:focus-visible,
.tavern-subcard > summary:focus-visible,
.tavern-total-card > summary:focus-visible { outline: 2px solid var(--go-blue); outline-offset: 3px; }
.tavern-card-summary { margin-left: auto; color: #bfdbfe; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.tavern-card-body { border-top: 1px solid var(--go-border); padding: 1rem 1.25rem 1.25rem; }
.tavern-level-control { display: grid; grid-template-columns: 1fr 4rem; align-items: center; gap: 1rem; margin-top: .85rem; }
.tavern-level-control output { border: 1px solid var(--go-border); border-radius: .65rem; padding: .5rem; text-align: center; font-weight: 700; background: var(--go-surface-strong); }
.tavern-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.tavern-toolbar p { margin: 0; }
.tavern-card-body > .go-inventory-filter { margin-top: .8rem; }
.tavern-inventory-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; border-top: 1px solid var(--go-border); padding-top: .8rem; }
.tavern-inventory-sticky {
  position: fixed;
  z-index: 9000;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: .85rem;
  max-width: calc(100vw - 2rem);
  border: 1px solid rgba(251, 191, 36, .35);
  border-radius: .85rem;
  padding: .65rem .75rem .65rem 1rem;
  color: #fde68a;
  background: rgba(17, 24, 39, .97);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .52);
  font-size: .875rem;
  font-weight: 700;
}
.tavern-inventory-sticky[hidden] { display: none; }
.tavern-inventory-sticky button { flex: 0 0 auto; }
#inventoryConflictNotice { margin: .8rem 0; }
.tavern-build-groups { display: grid; gap: .8rem; }
.tavern-subcard,
.tavern-total-card { border: 1px solid var(--go-border); border-radius: .85rem; background: rgba(0,0,0,.16); }
.tavern-subcard > summary { min-height: 3.6rem; padding: .75rem 1rem; }
.tavern-subcard > summary > span:last-of-type,
.tavern-total-card > summary > span { margin-left: auto; color: var(--go-muted); font-size: .8rem; }
.tavern-subcard-body { display: grid; gap: .75rem; border-top: 1px solid var(--go-border); padding: .85rem; }
.tavern-total-card > summary { min-height: 3.25rem; padding: .65rem .8rem; }
.tavern-total-body { display: grid; gap: 1rem; border-top: 1px solid var(--go-border); padding: .85rem; }
.tavern-total-body section + section { border-top: 1px solid var(--go-border); padding-top: .85rem; }
.tavern-total-body h4,
.tavern-build-dialog h3,
.tavern-build-dialog h4 { margin: 0 0 .5rem; font-weight: 700; }
.tavern-summary-with-help { display: inline-flex; align-items: center; gap: .45rem; }
.tavern-summary-with-help .go-help { display: inline-flex; }
.tavern-build-list { display: grid; gap: .4rem; }
.tavern-build-row { display: flex; align-items: center; gap: .75rem; min-height: 2.9rem; border: 1px solid var(--go-border); border-radius: .7rem; padding: .45rem .65rem; background: rgba(255,255,255,.025); cursor: pointer; }
.tavern-build-row:hover { background: rgba(96,165,250,.08); }
.tavern-equipment-count { color: var(--go-muted); font-size: .82rem; white-space: nowrap; }
.tavern-build-row .go-secondary-button { margin-left: auto; min-height: 2rem; padding: .35rem .65rem; }
.tavern-empty { color: var(--go-muted); font-size: .88rem; padding: .5rem; text-align: center; }
.tavern-roster { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.tavern-roster-group { border: 1px solid var(--go-border); border-radius: .75rem; padding: .75rem; background: rgba(255,255,255,.025); }
.tavern-roster-group h3 { margin-bottom: .55rem; font-weight: 700; }
.tavern-roster-list,
.tavern-selected-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.tavern-general-chip { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; padding: .3rem .65rem; color: #fff; background: var(--btn, var(--ewr-col-mixed-base, #7c5ea8)); font-size: .78rem; font-weight: 700; }
.tavern-general-chip button { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.28); }
.tavern-general-choice { width: fit-content; cursor: pointer; }
.tavern-general-choice:hover { filter: brightness(1.1); }
.tavern-general-choice[aria-selected="true"] { outline: 2px solid #fff; outline-offset: 2px; }
.tavern-general-field { border: 0; padding: 0; }
.tavern-general-field legend { margin-bottom: .5rem; font-weight: 700; }
.tavern-general-options { display: flex; flex-wrap: wrap; gap: .55rem; max-height: 15rem; overflow: auto; padding: .25rem; }
.tavern-dialog { width: min(62rem, 94vw); }
.tavern-picker-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.tavern-picker-columns h3 { margin-bottom: .5rem; font-weight: 700; }
.tavern-picker-list { display: grid; gap: .35rem; max-height: 48vh; overflow: auto; border: 1px solid var(--go-border); border-radius: .75rem; padding: .55rem; }
.tavern-picker-option { display: flex; align-items: center; justify-content: space-between; gap: .6rem; width: 100%; border: 1px solid transparent; border-radius: .55rem; padding: .5rem .6rem; text-align: left; background: rgba(255,255,255,.035); }
.tavern-picker-option:hover { border-color: rgba(96,165,250,.45); }
.tavern-filter-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem; }
.tavern-filter-chips button { border-radius: 999px; padding: .35rem .65rem; font-size: .75rem; font-weight: 700; }
.tavern-filter-chips button:not(.btn-dim) { color: #fff; background: var(--btn, var(--ewr-col-mixed-base, #7c5ea8)); }
.tavern-filter-chips button[aria-pressed="true"] { box-shadow: 0 0 0 2px #fff inset; }
.tavern-three-actions { grid-template-columns: repeat(3, minmax(0,1fr)); }
.tavern-type-field { display: grid; gap: .45rem; margin-top: .9rem; }
.tavern-type-field legend { margin-bottom: .35rem; font-weight: 700; }
.tavern-type-field label { display: flex; align-items: center; gap: .45rem; }
.tavern-build-dialog { width: min(64rem, 96vw); max-height: 92vh; overflow: auto; }
.tavern-build-settings { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: 1rem; }
.tavern-gear-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; }
.tavern-gear-slot { display: grid; gap: .35rem; min-height: 8.5rem; border: 1px solid var(--go-border); border-radius: .75rem; padding: .7rem; background: rgba(255,255,255,.025); }
.tavern-gear-slot > strong { color: #bfdbfe; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.tavern-gear-slot p { margin: 0; font-size: .84rem; }
.tavern-gear-slot small { color: var(--go-muted); }
.tavern-slot-actions { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; }
.tavern-slot-actions button { min-height: 1.9rem; padding: .25rem .5rem; font-size: .75rem; }
.tavern-build-effects { margin-top: 1rem; }
.tavern-build-actions { grid-template-columns: repeat(3, minmax(0,1fr)); }
.go-equipped-location { color: #fcd34d !important; font-weight: 700; }
@media (max-width: 767px) {
  .tavern-card > summary { align-items: flex-start; flex-wrap: wrap; }
  .tavern-card-summary { order: 3; width: 100%; margin-left: 0; }
  .tavern-build-row { flex-wrap: wrap; }
  .tavern-build-row .go-secondary-button { margin-left: 0; }
  .tavern-picker-columns,
  .tavern-build-settings { grid-template-columns: 1fr; }
  .tavern-gear-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tavern-three-actions,
  .tavern-build-actions { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .tavern-toolbar { align-items: stretch; flex-direction: column; }
  .tavern-gear-grid { grid-template-columns: 1fr; }
  .tavern-inventory-sticky {
    right: max(.5rem, env(safe-area-inset-right));
    bottom: max(.5rem, env(safe-area-inset-bottom));
    left: max(.5rem, env(safe-area-inset-left));
    justify-content: space-between;
    max-width: none;
  }
}
