/* /sections/room.css - the AR set, "In your room" (Lane 29, 2026-09-30). Copied verbatim by scripts/build-entities.mjs.
   Roles only (roles.css / tokens). The stage is a plate on parchment (the engraved still, then the live engraved view); the words sit
   beside it on the page's ground. The stage's box is fixed (aspect 4:5) before anything loads: mounting the 3D view moves nothing. */
.rp-room{margin:var(--rp-space-scale-8,3rem) 0}
.rp-room-item{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--rp-space-scale-6,2rem);align-items:start;margin:var(--rp-space-scale-6,2rem) 0;padding-top:var(--rp-space-scale-6,2rem);border-top:1px solid var(--rp-hair)}
@media (max-width:599px){.rp-room-item{grid-template-columns:minmax(0,1fr)}.rp-room-fig{max-width:17rem}}
.rp-room-fig{min-width:0}
.rp-room-stage{position:relative;aspect-ratio:4 / 5;width:100%;overflow:hidden;background:var(--rp-fibre,none) 0 0/200px 200px,var(--rp-color-ground-parchment,#f4eee4);border:1px solid var(--rp-hair);border-radius:var(--rp-radius-plate,2px)}
.rp-room-still{display:block;width:100%;height:100%;object-fit:cover}
.rp-room-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.rp-room-stage:focus-visible{outline:var(--rp-focus-ring,2px solid currentColor);outline-offset:3px}
.rp-room-kind{margin:0 0 .3rem;font:500 var(--rp-type-scale-label,.7rem)/1.3 var(--rp-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--rp-brass)}
.rp-room-h{margin:0 0 .5rem;font:400 1.35rem/1.2 var(--rp-display);color:var(--rp-text)}
.rp-room-label{margin:0 0 .9rem;font:italic 400 var(--rp-body-size,1rem)/1.5 var(--rp-body);color:var(--rp-text-muted)}
.rp-room-ctl{margin:0 0 .9rem}
.rp-room-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .5rem}
.rp-room-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55em 1em;border:1px solid var(--rp-brass);border-radius:var(--rp-radius-control,2px);background:transparent;color:var(--rp-text);font:500 var(--rp-type-scale-label,.7rem)/1.2 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.rp-room-btn:hover{background:color-mix(in srgb,var(--rp-brass) 18%,transparent)}
.rp-room-btn:focus-visible{outline:var(--rp-focus-ring,2px solid currentColor);outline-offset:2px}
.rp-room-btn[disabled]{opacity:.6;cursor:progress}
.rp-room-btn[aria-pressed="true"]{background:var(--rp-brass);color:var(--rp-color-ink-sepia,#2b1a12)}
.rp-room-thumb{width:32px;height:40px;object-fit:cover;border:1px solid var(--rp-hair)}
.rp-room-note,.rp-room-status{margin:0 0 .4rem;font:400 var(--rp-type-scale-small,.85rem)/1.55 var(--rp-body);color:var(--rp-text-muted)}
.rp-room-viewctl{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0 0}
.rp-room-desc{margin:0 0 .9rem;font:400 var(--rp-body-size,1rem)/1.6 var(--rp-body);color:var(--rp-text);max-width:var(--rp-measure,62ch)}
.rp-room-facts{display:grid;gap:.35rem;margin:0 0 .9rem;font:400 var(--rp-type-scale-small,.85rem)/1.5 var(--rp-body);color:var(--rp-text)}
.rp-room-facts>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.8rem}
@media (max-width:599px){.rp-room-facts>div{grid-template-columns:minmax(0,1fr);gap:0}}
.rp-room-facts dt,.rp-room-k{font:500 var(--rp-type-scale-label,.7rem)/1.6 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rp-brass)}
.rp-room-facts dd{margin:0}
.rp-room-files,.rp-room-where{margin:0 0 .4rem;font:400 var(--rp-type-scale-small,.85rem)/1.6 var(--rp-body);color:var(--rp-text)}
.rp-room-kb{font:400 var(--rp-type-scale-label,.7rem)/1 var(--rp-mono);color:var(--rp-text-muted)}
.rp-room a:not(.rp-room-btn),.rp-room-index a:not(.rp-room-btn){color:var(--rp-text);text-decoration-color:var(--rp-brass);text-underline-offset:.2em}
.rp-room-mols{list-style:none;margin:var(--rp-space-scale-4,1rem) 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.8rem 1.4rem}
.rp-room-mols li{display:flex;flex-direction:column;gap:.2rem}
.rp-room-mols a{display:flex;align-items:center;gap:.7rem;font:400 var(--rp-body-size,1rem)/1.3 var(--rp-body)}
.rp-room-mols img{width:48px;height:60px;flex:none;border:1px solid var(--rp-hair);background:var(--rp-color-ground-parchment,#f4eee4)}
.rp-room-hubline{margin-top:var(--rp-space-scale-4,1rem)}
@media (prefers-reduced-motion:reduce){.rp-room-btn{transition:none}}
