[data-room-rest-panel][hidden],
.room-rest-modal[hidden],
.room-rest-cinematic[hidden]{display:none!important}

.room-rest-panel{
  margin:14px 0 10px;
  padding:12px 14px 14px;
  border:1px solid rgba(142,94,38,.42);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(251,240,213,.94),rgba(239,219,178,.94));
  box-shadow:0 8px 24px rgba(45,26,12,.08)
}
.room-rest-panel__copy{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px
}
.room-rest-panel__copy span{
  color:#8b271f;font:800 10px/1.1 Arial,sans-serif;letter-spacing:.14em
}
.room-rest-panel__copy p{
  margin:0;color:#745b46;font:11px/1.35 Arial,sans-serif
}
.room-rest-panel__actions{
  display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;justify-content:start
}.room-rest-card{
  display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;
  min-height:72px;padding:7px;text-align:left;border:1px solid #8d622e;border-radius:10px;
  background:#2a1a12;color:#f4dfb7;box-shadow:0 5px 14px rgba(44,24,11,.16);
  cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.room-rest-card:hover,.room-rest-card:focus-visible{
  transform:translateY(-1px);border-color:#c79349;
  box-shadow:0 8px 20px rgba(44,24,11,.22);outline:none
}
.room-rest-card img{
  width:92px;aspect-ratio:16/9;object-fit:cover;border-radius:7px;
  border:1px solid rgba(224,179,105,.46)
}
.room-rest-card span{display:grid;gap:4px}
.room-rest-card strong{font:700 13px/1.15 Georgia,serif;color:#f2d193}
.room-rest-card small{color:#ccb995;font:10px/1.3 Arial,sans-serif}

.room-rest-modal{
  position:fixed;inset:0;z-index:9800;display:grid;place-items:center;padding:18px
}
.room-rest-modal__backdrop{
  position:absolute;inset:0;background:rgba(14,8,5,.72);backdrop-filter:blur(4px)
}
.room-rest-modal__dialog{
  position:relative;z-index:1;width:min(640px,calc(100vw - 28px));
  display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden;
  border:1px solid #a87334;border-radius:16px;background:#efe0bd;
  box-shadow:0 28px 80px rgba(0,0,0,.52)
}
.room-rest-modal__image{
  width:184px;height:auto;aspect-ratio:16/9;object-fit:cover;align-self:start;
  margin:28px 0 0 22px;border-radius:10px;border:1px solid rgba(126,78,32,.45);
  background:#1d120d;box-shadow:0 8px 20px rgba(51,29,13,.16)
}
.room-rest-modal__body{position:relative;padding:26px 24px 22px;color:#3f2b1c}
.room-rest-modal__eyebrow{
  color:#8b271f;font:800 10px/1 Arial,sans-serif;letter-spacing:.15em
}
.room-rest-modal__body h3{margin:8px 0 10px;font:700 28px/1 Georgia,serif}
.room-rest-modal__body p{margin:0 0 16px;line-height:1.45}
.room-rest-modal__x{
  position:absolute;z-index:2;top:10px;right:10px;width:32px;height:32px;
  border:1px solid rgba(98,61,25,.35);border-radius:50%;
  background:rgba(255,247,226,.88);color:#4e2f1b;font-size:20px;cursor:pointer
}
.room-rest-hit-dice{display:grid;gap:6px;margin:0 0 14px}
.room-rest-hit-dice span{font:700 11px/1.2 Arial,sans-serif;color:#6f4320}
.room-rest-hit-dice input{
  width:100px;padding:9px 10px;border:1px solid #a47a48;border-radius:8px;
  background:#fff9eb;color:#3f2b1c
}
.room-rest-hit-dice small{color:#826c57;font:10px/1.25 Arial,sans-serif}
.room-rest-modal__status{min-height:18px;color:#7a4b27;font:11px/1.35 Arial,sans-serif}
.room-rest-modal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.room-rest-modal__actions button{padding:10px 14px;border-radius:8px;font-weight:700;cursor:pointer}
.room-rest-modal__actions .ghost{
  border:1px solid #a98458;background:transparent;color:#684728
}
.room-rest-modal__actions .confirm{
  border:1px solid #724417;background:#8d5a25;color:#fff2d5
}
.room-rest-modal.is-busy{pointer-events:none;opacity:.8}
.room-rest-cinematic{
  position:fixed;inset:0;z-index:12000;display:grid;place-items:center;
  overflow:hidden;background:#050302
}
.room-rest-cinematic video{
  width:100%;height:100%;object-fit:contain;background:#000
}
.room-rest-cinematic__shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 24%,transparent 74%,rgba(0,0,0,.45))
}
.room-rest-cinematic__title{
  position:absolute;top:22px;left:24px;display:grid;gap:3px;
  color:#f5dfb0;text-shadow:0 2px 10px #000
}
.room-rest-cinematic__title span{
  font:800 10px/1 Arial,sans-serif;letter-spacing:.18em
}
.room-rest-cinematic__title strong{font:700 22px/1.1 Georgia,serif}
.room-rest-cinematic__skip,.room-rest-cinematic__play{
  position:absolute;border:1px solid rgba(225,188,124,.55);border-radius:9px;
  background:rgba(34,20,13,.78);color:#f8e3bc;padding:10px 14px;cursor:pointer
}
.room-rest-cinematic__skip{right:22px;bottom:22px}
.room-rest-cinematic__play{
  left:50%;top:50%;transform:translate(-50%,-50%);font-weight:800
}
body.room-rest-open,body.room-rest-cinematic-open{overflow:hidden}
@media(max-width:720px){
  .room-rest-panel__copy{display:grid;gap:4px}
  .room-rest-panel__actions{grid-template-columns:1fr}
  .room-rest-card{grid-template-columns:100px minmax(0,1fr)}
  .room-rest-modal__dialog{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .room-rest-modal__image{width:160px;height:auto;margin:18px auto 0}
  .room-rest-modal__body{padding:18px}
  .room-rest-cinematic__title{top:14px;left:14px}
  .room-rest-cinematic__skip{right:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .room-rest-card{transition:none}
}
