/* Approved Inner Castle overview. Scoped to the shared dialog while the hub is open. */
#modal.bailey-modal {
  --paper: #f2e8cd; --ink: #302c22; --muted: #625b49; --rule: #b8a684; --moss: #485839;
  color-scheme: light; box-sizing: border-box; width: min(1040px, calc(100vw - 24px));
  height: min(790px, calc(100dvh - 24px)); max-width: none; max-height: none;
  inset: 0; margin: auto; padding: 5px; overflow: hidden;
  border: 1px solid #766346 !important; border-radius: 2px !important;
  color: var(--ink) !important; background: var(--paper) !important;
  box-shadow: inset 0 0 0 3px #d6c49e, inset 0 0 0 4px #a99876, 0 8px 28px #27291a44 !important;
  font: 14px/1.4 "Segoe UI", Arial, sans-serif !important;
}
#modal.bailey-modal::backdrop { background: #25291922 !important; }
#modal.bailey-modal *, #modal.bailey-modal *::before, #modal.bailey-modal *::after { box-sizing: border-box; }
#modal.bailey-modal [hidden] { display: none !important; }
#modal.bailey-modal :is(h2,h3,p) { margin: 0; text-shadow: none !important; color: inherit !important; }
#modal.bailey-modal :is(p,span) { font-family: "Segoe UI",Arial,sans-serif; }
#modal.bailey-modal :is(h2,h3) { text-transform: none; letter-spacing: 0; border: 0; padding: 0; }
#modal.bailey-modal button {
  min-height: 44px; min-width: 44px; margin: 0; padding: 8px 12px; cursor: pointer;
  border: 1px solid var(--rule) !important; border-radius: 2px !important;
  background: transparent !important; color: var(--ink) !important; box-shadow: none !important;
  text-shadow: none !important; text-transform: none; letter-spacing: 0;
  font: 600 13px/1.25 "Segoe UI", Arial, sans-serif !important;
  touch-action: manipulation;
}
#modal.bailey-modal button:hover { background: #ddd0ac77 !important; }
#modal.bailey-modal button:focus-visible { outline: 2px solid #345b66 !important; outline-offset: 2px; }
#modal.bailey-modal .bailey-shell { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
#modal.bailey-modal .bailey-header { flex: none; display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--rule); background: #ddd0ac55; }
#modal.bailey-modal .bailey-header p { font-size: 12px; color: var(--muted) !important; }
#modal.bailey-modal .bailey-header h2 { margin-top: 2px; font: 27px/1.15 Georgia, "Times New Roman", serif; }
#modal.bailey-modal .bailey-seal { display: grid; place-items: center; width: 46px; height: 51px; flex: none; border: 1px solid #998964; background: #e3d6b6; clip-path: polygon(0 0,100% 0,100% 72%,50% 100%,0 72%); }
#modal.bailey-modal .bailey-seal svg { width: 30px; height: 30px; margin-bottom: 4px; }
#modal.bailey-modal #closeModalBtn { margin-left: auto; align-self: flex-start; padding: 0; width: 44px; flex: none; border: 0 !important; font: 27px/1 Georgia,serif !important; }
#modal.bailey-modal .bailey-content { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 290px; overflow: hidden; }
#modal.bailey-modal .bailey-overview { display: grid; grid-template-rows: auto minmax(0,1fr) auto; min-height: 0; min-width: 0; padding: 16px; overflow-y: auto; gap: 14px; }
#modal.bailey-modal .bailey-section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 10px; }
#modal.bailey-modal .bailey-section-heading h3 { font: 20px/1.15 Georgia,serif; }
#modal.bailey-modal .bailey-section-heading>span { font-size: 11px; color: var(--muted); }
#modal.bailey-modal .bailey-map-space { container-type: size; display: grid; place-items: center; min-width: 0; min-height: 0; }
#modal.bailey-modal .bailey-scene { position: relative; container-type: inline-size; width: min(100%,calc((100cqh - 8px) * 4 / 3)); aspect-ratio: 4/3; border: 1px solid #766346; outline: 1px solid #c7b68f; outline-offset: 3px; background: #766d50; }
#modal.bailey-modal .bailey-scene>img { width: 100%; height: 100%; display: block; object-fit: contain; }
#modal.bailey-modal .bailey-pin { --sign-board: #4c3826; --sign-edge: #c4a66b; position: absolute; z-index: 1; left: var(--x); top: var(--y); transform: translate(-50%,-50%); padding: 0; width: clamp(76px,27cqw,140px); height: 56px; border: 0 !important; background: transparent !important; filter: drop-shadow(0 2px 2px #1e1b1688); }
#modal.bailey-modal .bailey-sign-frame { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
#modal.bailey-modal .sign-hangers { fill: none; stroke: #382e23; stroke-width: 3; stroke-linecap: round; }
#modal.bailey-modal .sign-board { fill: var(--sign-board); stroke: var(--sign-edge); stroke-width: 2; }
#modal.bailey-modal .sign-inlay { fill: none; stroke: var(--sign-edge); stroke-width: .8; }
#modal.bailey-modal .sign-grain { fill: none; stroke: #d7b77a; stroke-width: .7; opacity: .32; }
#modal.bailey-modal .sign-rivet { fill: #ceb57f; stroke: #2a2119; stroke-width: 1; }
#modal.bailey-modal .bailey-pin .bailey-pin-name { position: relative; display: grid; place-items: center; width: 100%; height: 100%; padding: 12px 17px 3px; color: #fff0ce !important; font: small-caps bold 14px/1.05 Georgia,serif; letter-spacing: .25px; text-shadow: 0 1px #271b14; }
#modal.bailey-modal .bailey-pin[aria-pressed=true] { --sign-board: #752f35; --sign-edge: #f1d28b; }
#modal.bailey-modal .bailey-pin:hover { --sign-board: #665034; }
#modal.bailey-modal .bailey-pin[aria-pressed=true]:hover { --sign-board: #873a3f; }
#modal.bailey-modal .bailey-pin:hover { background: transparent !important; }
#modal.bailey-modal .bailey-pin:focus-visible { outline-offset: 0; }
#modal.bailey-modal .bailey-alert, #modal.bailey-modal .bailey-directory-alert { display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid #e4cea0; border-radius: 50%; background: #752f35; color: #fff1d3 !important; font: bold 12px/1 Georgia,serif; }
#modal.bailey-modal .bailey-alert { position: absolute; top: 0; right: 0; }
#modal.bailey-modal .bailey-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 1px; }
#modal.bailey-modal .bailey-directory button { display: flex; gap: 7px; align-items: center; min-width: 0; padding: 8px; text-align: left; position: relative; }
#modal.bailey-modal .bailey-directory button[aria-pressed=true] { background: #dde0ca !important; border-color: var(--moss) !important; box-shadow: inset 0 -2px var(--moss) !important; }
#modal.bailey-modal .bailey-number { flex: none; min-width: 15px; font: 12px Georgia,serif; color: var(--muted); }
#modal.bailey-modal .bailey-label { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
#modal.bailey-modal .bailey-directory-alert { position: absolute; right: 0; top: 0; }
#modal.bailey-modal .bailey-icon { width: 27px; height: 27px; flex: none; fill: none; stroke: #4d422c; stroke-width: 1.15; stroke-linejoin: round; stroke-linecap: round; }
#modal.bailey-modal .bailey-icon .surface { fill: #dcc78e; }
#modal.bailey-modal .bailey-icon .shadow { fill: #9a8853; stroke: none; }
#modal.bailey-modal .bailey-icon .ink { fill: #4d422c; }
#modal.bailey-modal .bailey-icon .fine { stroke-width: .75; }
#modal.bailey-modal .bailey-detail-tray { min-width: 0; overflow-y: auto; padding: 18px; border-left: 1px solid var(--rule); background: #e8dcba55; }
#modal.bailey-modal .bailey-eyebrow { display: block; margin-bottom: 10px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px; }
#modal.bailey-modal .bailey-building-heading h3 { display: flex; align-items: center; gap: 10px; font: 23px/1.15 Georgia,serif; }
#modal.bailey-modal .bailey-building-art { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; padding: 4px; margin: 20px 0 16px; border: 1px solid var(--rule); background: #d8c7a1; }
#modal.bailey-modal .bailey-role { font-size: 14px; line-height: 1.5; }
#modal.bailey-modal .bailey-status { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rule); font-size: 12px; color: var(--muted) !important; }
#modal.bailey-modal .bailey-status.available { color: #3e5132 !important; }
#modal.bailey-modal .bailey-new-note { display: flex; gap: 7px; align-items: center; margin-top: 12px; color: #752f35 !important; font-size: 12px; }
#modal.bailey-modal .bailey-new-note b { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #752f35; color: #fff1d3 !important; }
#modal.bailey-modal .bailey-manage { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 16px; color: #fff7e1 !important; border-color: var(--moss) !important; background: var(--moss) !important; }
#modal.bailey-modal .bailey-manage:hover { background: #35432b !important; }
#modal.bailey-modal .bailey-manage span { color: inherit !important; }
#modal.bailey-modal .bailey-footer { display: flex; align-items: center; flex: none; gap: 24px; padding: 12px 16px; border-top: 1px solid var(--rule); background: #ddd0ac33; }
#modal.bailey-modal .bailey-footer button { flex: none; display: flex; align-items: center; gap: 12px; }
@media (max-width: 950px) and (min-width: 601px) {
  #modal.bailey-modal .bailey-content { grid-template-columns: minmax(0,1fr) 242px; }
  #modal.bailey-modal .bailey-overview { padding: 12px; gap: 10px; }
  #modal.bailey-modal .bailey-directory button { gap: 4px; padding: 6px; }
  #modal.bailey-modal .bailey-directory .bailey-icon { width: 22px; height: 22px; }
  #modal.bailey-modal .bailey-detail-tray { padding: 14px; }
}
@media (orientation: landscape) and (max-height: 550px) {
  #modal.bailey-modal .bailey-header { padding: 5px 10px; gap: 9px; }
  #modal.bailey-modal .bailey-header>div:not(.bailey-seal) { min-width: 0; }
  #modal.bailey-modal .bailey-header h2 { font-size: 21px; }
  #modal.bailey-modal .bailey-header p { font-size: 11px; }
  #modal.bailey-modal .bailey-seal { width: 35px; height: 40px; }
  #modal.bailey-modal .bailey-header [data-inner-castle-back] { display: flex; align-items: center; justify-content: center; gap: 8px; margin-left: auto; flex: none; width: 166px; padding: 6px 8px; font-size: 12px !important; }
  #modal.bailey-modal #closeModalBtn { margin-left: 0; align-self: center; }
  #modal.bailey-modal .bailey-content { grid-template-columns: minmax(0,1fr) 225px; }
  #modal.bailey-modal .bailey-overview { padding: 8px; gap: 0; grid-template-rows: minmax(0,1fr); }
  #modal.bailey-modal .bailey-section-heading { display: none; }
  #modal.bailey-modal .bailey-directory { display: none; }
  #modal.bailey-modal .bailey-pin { width: clamp(72px,27cqw,116px); height: 44px; }
  #modal.bailey-modal .bailey-pin .bailey-pin-name { padding: 10px 12px 3px; font-size: clamp(10px,3.2cqw,12px); letter-spacing: .1px; }
  #modal.bailey-modal .bailey-detail-tray { padding: 10px 12px; }
  #modal.bailey-modal #innerCastlePreview { display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 6px; height: 100%; min-height: 0; }
  #modal.bailey-modal #innerCastlePreview:has(.bailey-manage) { grid-template-rows: auto minmax(0,1fr) auto 44px; }
  #modal.bailey-modal .bailey-eyebrow { display: none; }
  #modal.bailey-modal .bailey-building-heading h3 { justify-content: center; text-align: center; font-size: 20px; }
  #modal.bailey-modal .bailey-building-image-space { display: grid; place-items: center; container-type: size; min-width: 0; min-height: 0; }
  #modal.bailey-modal .bailey-building-art { width: min(160px,100%,100cqh); margin: 0; float: none; }
  #modal.bailey-modal .bailey-building-copy { padding-top: 0; text-align: center; }
  #modal.bailey-modal .bailey-role { font-size: 12px; line-height: 1.25; }
  #modal.bailey-modal .bailey-status { margin-top: 4px; padding-top: 4px; font-size: 11px; line-height: 1.3; }
  #modal.bailey-modal .bailey-new-note { justify-content: center; margin-top: 4px; font-size: 11px; }
  #modal.bailey-modal .bailey-manage { clear: both; margin: 0; }
}
@media (orientation: landscape) and (max-height: 550px) and (max-width: 650px) {
  #modal.bailey-modal .bailey-content { grid-template-columns: minmax(0,1fr) 225px; }
  #modal.bailey-modal .bailey-header [data-inner-castle-back] { width: 130px; font-size: 11px !important; }
  #modal.bailey-modal .bailey-detail-tray { padding: 8px; }
  #modal.bailey-modal .bailey-building-heading h3 { font-size: 18px; }
}

#modal.bailey-modal .modal-card {
  display: block; position: static; width: 100%; height: 100%; max-width: none; max-height: none;
  min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 0 !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
#modal.bailey-modal #modalBody { display: block; height: 100%; min-height: 0; padding: 0; margin: 0; overflow: hidden; }
/* The dialog still derives its accessible name from this explicitly referenced title. */
#modal.bailey-modal #modalTitle { display: none !important; }
#modal.bailey-modal #modalHeaderNav { display: none; }
#modal.bailey-modal .bailey-close-space { width: 44px; height: 44px; margin-left: auto; flex: none; }
#modal.bailey-modal #closeModalBtn { position: absolute; z-index: 3; top: 22px; right: 24px; height: 44px; display: grid; place-items: center; transform: none; }
@media (orientation: landscape) and (max-height: 550px) {
  #modal.bailey-modal .bailey-close-space { margin-left: 0; }
  #modal.bailey-modal #closeModalBtn { top: 11px; right: 16px; }
  #modal.bailey-modal .bailey-header p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
