.exhibit-room-panel,
.exhibit-theme-store,
.exhibit-inventory { margin-bottom: 20px; padding: 17px; }
.exhibit-room-heading,
.exhibit-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.exhibit-room-heading { margin-bottom: 13px; }
.exhibit-room-heading .eyebrow,
.exhibit-section-heading .eyebrow { margin-bottom: 5px; color: #a7a58c; font-size: 8px; }
.exhibit-room-heading h2 { margin: 0; color: #5f684f; font-size: 17px; }
.exhibit-count { display: grid; place-items: center; min-width: 49px; height: 39px; padding: 0 8px; border: 1px solid #e1e4d1; border-radius: 11px; background: #f0f2e5; color: #71805c; font-size: 16px; font-weight: 700; }
.exhibit-count small { display: inline; color: #9da087; font-size: 8px; font-weight: 500; }
.exhibit-stage { position: relative; width: min(100%, 450px); aspect-ratio: 1; margin: 0 auto; overflow: hidden; border: 1px solid #e4e1d3; border-radius: 13px; background: radial-gradient(ellipse at 50% 35%, #fffefa, #e9e8db); touch-action: pan-y; user-select: none; }
.exhibit-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.exhibit-display-doll { position: absolute; z-index: 1; display: grid; place-items: center; width: 17%; aspect-ratio: 1; padding: 0; border: 1px solid transparent; border-radius: 9px; background: transparent; transform: translate(-50%, -50%) scale(var(--doll-scale, 1)); transform-origin: center; cursor: grab; touch-action: none; }
.exhibit-display-doll:active { cursor: grabbing; }
.exhibit-display-doll.is-selected { z-index: 2; border: 1px dashed #71845e; background: #fffdf455; box-shadow: 0 0 0 2px #fffdf4b5; }
.exhibit-display-doll > img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.exhibit-stage-empty { position: absolute; inset: auto 0 10px; margin: 0; color: #777b65; font-size: 10px; line-height: 1.8; text-align: center; text-shadow: 0 1px 4px #fffefa; pointer-events: none; }
.exhibit-selection-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 55px; margin-top: 13px; padding: 9px 11px; border: 1px solid #ece9dc; border-radius: 11px; background: #fbfaf4; }
.exhibit-selection-empty { margin: 0; color: #a19b87; font-size: 10px; }
.exhibit-selection-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.exhibit-selection-name > img { width: 37px; height: 37px; padding: 2px; border: 1px solid #e9e6d8; border-radius: 8px; background: #f0f0e6; object-fit: contain; }
.exhibit-selection-name > span { display: grid; gap: 3px; min-width: 0; }
.exhibit-selection-name strong { overflow: hidden; color: #666d54; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.exhibit-selection-name small { color: #a29b86; font-size: 8px; white-space: nowrap; }
.exhibit-size-controls { display: flex; align-items: center; gap: 6px; min-width: 0; }
.exhibit-size-step { display: grid; width: 31px; height: 31px; min-height: 31px; padding: 0; place-items: center; border-radius: 8px; font-size: 17px; }
.exhibit-size-controls input[type="range"] { width: 80px; min-width: 45px; accent-color: #798a61; }
.exhibit-remove-button { min-height: 32px; padding: 3px 5px; color: #aa7e6b; font-size: 8px; }
.exhibit-remove-button .icon { width: 13px; height: 13px; }
.exhibit-room-note { margin: 9px 0 0; color: #a19b86; font-size: 9px; text-align: center; }
.exhibit-store-link { display: flex; align-items: center; justify-content: center; gap: 6px; width: max-content; max-width: 100%; min-height: 36px; margin: 4px auto 0; padding: 5px 11px; border: 1px solid #e5e6d7; border-radius: 9px; background: #f7f7ef; color: #788362; font-size: 9px; }
.exhibit-store-link:hover { background: #eef0e4; }
.exhibit-store-link .icon { width: 14px; height: 14px; }
.exhibit-theme-store { overflow: hidden; }
.exhibit-section-heading { margin-bottom: 13px; }
.exhibit-section-heading > span:first-child { display: grid; gap: 4px; }
.exhibit-section-heading strong { color: #626b51; font-size: 14px; }
.exhibit-section-heading small { color: #a29b86; font-size: 9px; }
.exhibit-theme-store > summary { margin: -17px -17px 0; padding: 15px 17px; list-style: none; cursor: pointer; }
.exhibit-theme-store > summary::-webkit-details-marker { display: none; }
.exhibit-group-chevron { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid #e8e7d9; border-radius: 50%; color: #8b9670; font-size: 20px; line-height: 1; transition: transform .18s ease; }
.exhibit-theme-store:not([open]) .exhibit-group-chevron { transform: rotate(-90deg); }
.exhibit-theme-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 3px; }
.exhibit-theme-card { min-width: 0; padding: 8px; border: 1px solid #e9e6d8; border-radius: 11px; background: #fffefa; }
.exhibit-theme-card.is-active { border-color: #aebd94; box-shadow: 0 0 0 2px #e8eddc; }
.exhibit-theme-card > img { width: 100%; aspect-ratio: 1; border: 1px solid #efede4; border-radius: 8px; background: #f4f3eb; object-fit: contain; }
.exhibit-theme-copy { display: grid; gap: 7px; padding-top: 8px; }
.exhibit-theme-copy > strong { overflow: hidden; color: #666d54; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.exhibit-theme-action { width: 100%; min-height: 35px; padding: 6px 7px; gap: 5px; font-size: 9px; white-space: nowrap; }
.exhibit-theme-action .coin { width: 16px; height: 16px; font-size: 8px; }
.exhibit-theme-active { display: grid; min-height: 35px; place-items: center; border: 1px solid #e4e8d8; border-radius: 9px; background: #f0f2e7; color: #75835d; font-size: 9px; font-weight: 600; }
.exhibit-inventory > .exhibit-section-heading { margin-bottom: 11px; }
.exhibit-inventory-groups { display: grid; gap: 8px; }
.exhibit-inventory-group { overflow: hidden; border: 1px solid #e9e6d9; border-radius: 10px; background: #fffefa; }
.exhibit-inventory-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-height: 54px; padding: 9px 11px; list-style: none; cursor: pointer; }
.exhibit-inventory-group > summary::-webkit-details-marker { display: none; }
.exhibit-inventory-group > summary > span:first-child { display: grid; gap: 3px; }
.exhibit-inventory-group > summary strong { color: #737b5d; font-size: 11px; }
.exhibit-inventory-group > summary small { color: #a29b86; font-size: 8px; }
.exhibit-inventory-group[open] .exhibit-group-chevron { transform: rotate(180deg); }
.exhibit-doll-list { display: grid; gap: 7px; padding: 0 9px 9px; }
.exhibit-doll-row { display: grid; grid-template-columns: 43px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; padding: 7px; border: 1px solid #efede3; border-radius: 9px; background: #fcfbf6; }
.exhibit-doll-row > img { width: 43px; height: 43px; padding: 2px; border-radius: 7px; background: #f0f0e6; object-fit: contain; }
.exhibit-doll-copy { display: grid; gap: 4px; min-width: 0; }
.exhibit-doll-copy strong { overflow: hidden; color: #666d54; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.exhibit-doll-copy small { overflow: hidden; color: #a29b86; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.exhibit-add-button { min-height: 34px; padding: 6px 9px; font-size: 8px; white-space: nowrap; }
.exhibit-inventory-empty,
.exhibit-loading { display: grid; justify-items: center; padding: 25px 12px; text-align: center; }
.exhibit-inventory-empty > span { color: #adb88e; }
.exhibit-inventory-empty p,
.exhibit-loading p { margin: 7px 0 11px; color: #9f9986; font-size: 10px; line-height: 1.8; }
.exhibit-inventory-empty .secondary { min-height: 37px; padding: 8px 13px; font-size: 9px; }
.exhibit-loading .feature-symbol { margin-bottom: 5px; }
@media (max-width: 540px) {
  .exhibit-room-panel,
  .exhibit-theme-store,
  .exhibit-inventory { padding: 13px; }
  .exhibit-theme-store > summary { margin: -13px -13px 0; padding: 13px; }
  .exhibit-selection-controls { align-items: flex-start; flex-direction: column; gap: 8px; }
  .exhibit-size-controls { width: 100%; }
  .exhibit-size-controls input[type="range"] { flex: 1; }
  .exhibit-remove-button { margin-left: auto; }
  .exhibit-theme-grid { gap: 8px; }
  .exhibit-theme-card { padding: 6px; }
  .exhibit-doll-row { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 6px; padding: 6px; }
  .exhibit-doll-row > img { width: 38px; height: 38px; }
  .exhibit-add-button { padding: 6px 7px; font-size: 7px; }
}
