/* 인물 극장 무대(person-theater.js) — 인물 극장 화면(person-theater.html)과 리딩룸 인물 액자(person-shelf.js)가 같이 쓴다. */
:root{--pt-board:#e6dac4;--pt-board-hi:#f6efe2;--pt-band:#ece2cf;--pt-edge-hi:#fffaf1;--pt-edge-lo:#bfae8f;--pt-orn:#f8f2e6;--pt-orn-line:#c9b796}
.pt-theater{margin:0;display:grid;gap:0;justify-items:center;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}
.pt-stage{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:#2b2722;isolation:isolate;container-type:inline-size;
  box-shadow:0 18px 30px -18px rgba(0,0,0,.7)}
.pt-wall{position:absolute;inset:-6%;background:var(--pt-wall) center/cover no-repeat;filter:blur(4px) saturate(.7) brightness(.86);transform:scale(1.05)}
.pt-wall::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,rgba(255,236,200,.12),rgba(20,14,8,.42) 80%)}
.pt-row{position:absolute;inset:0}
.pt-front{z-index:1}   /* 한 사람 = 한 겹(z-index = 100 - 겹), 액자 틀(z-index 2)보다 아래 */
.pt-figure{position:absolute;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pt-figure img{position:relative;width:100%;height:100%;object-fit:contain;object-position:50% 100%;display:block;
  /* 오려 붙인 종이 테두리 + 그림자 */
  filter:drop-shadow(0 0 0 #fff) drop-shadow(1.3px 0 0 #fff) drop-shadow(-1.3px 0 0 #fff) drop-shadow(0 1.3px 0 #fff) drop-shadow(0 -1.3px 0 #fff) drop-shadow(3px 5px 4px rgba(0,0,0,.35))}
.pt-figure.is-hero img{filter:drop-shadow(0 0 0 #fff) drop-shadow(1.8px 0 0 #fff) drop-shadow(-1.8px 0 0 #fff) drop-shadow(0 1.8px 0 #fff) drop-shadow(0 -1.8px 0 #fff) drop-shadow(5px 9px 6px rgba(0,0,0,.4))}
.pt-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.pt-frame .pt-orn{fill:var(--pt-orn);stroke:var(--pt-orn-line);stroke-width:.6}
.pt-frame path.pt-orn,.pt-frame .pt-orn path{stroke:var(--pt-orn-line)}
.pt-wait{position:absolute;left:0;right:0;top:44%;margin:0;text-align:center;font-size:13px;color:#f5ead7;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:3}
.pt-wait:empty{display:none}
/* 이름: 액자 아래 틀 가운데에 눌러 새긴 글씨(2026-10-14 deneb). 아래 틀 = 무대 높이의 11.5%(FRAME_SVG 354~400). */
.pt-rail{position:absolute;left:12%;right:12%;bottom:1.6%;height:9.4%;z-index:3;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4cqw;pointer-events:none}
.pt-name{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 clamp(9px,6.4cqw,24px)/1.1 "Nanum Myeongjo",Pretendard,serif;letter-spacing:.12em;color:#8a7552;
  text-shadow:0 1px 0 rgba(255,255,255,.9),0 -1px 0 rgba(90,70,40,.45)}
.pt-dates{font-size:clamp(8px,3cqw,11px);letter-spacing:.08em;color:#9a8763;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.pt-dates:empty,.is-compact .pt-dates{display:none}
.is-compact .pt-name{font-size:clamp(9px,10cqw,15px);letter-spacing:.06em}
.pt-theater.is-compact{filter:none}   /* 액자마다 필터 층을 만들지 않게(그래픽 메모리) — 네모 그림자로 */
.is-compact .pt-stage{box-shadow:0 3px 5px rgba(0,0,0,.25)}
.is-compact .pt-figure{pointer-events:none}
/* 리딩룸 액자 표지(저장된 무대 그림 한 장, person-theater.js showCover) */
.pt-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
