.presencePanel{margin:0 0 14px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,rgba(206,148,155,.11),rgba(32,29,38,.55));min-width:0}
.presenceHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.presenceHeading h2{margin:0;font-size:15px;letter-spacing:.01em}
.presenceHeading span{color:#e8c9ce;font-size:12px}
.presenceAction{font-size:14px;line-height:1.6;color:#f3e9ed;margin:10px 0}
.presenceCaption{font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0}
.sceneButtons{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.sceneButtons button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.sceneButtons button[aria-pressed="true"]{border-color:#cc949e;background:rgba(204,148,158,.16);color:#fff0f2}
.presencePanel summary{cursor:pointer;font-size:12px;min-height:36px;display:list-item;align-content:center;color:#e8c9ce}
.presenceDetails{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px 10px;font-size:12px;line-height:1.5;margin:10px 0}
.presenceDetails dt{color:#e6c7ce}.presenceDetails dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.presenceOptions{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}
.presenceOptions label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.presenceOptions input{width:17px;height:17px;accent-color:#ce949f}
.stageDirection{font-size:12px;font-style:italic;color:#d2acb5;line-height:1.5;padding:0 3px 7px;max-width:60ch}
.hide-stage-directions .stageDirection{display:none}
.portraitCard .hero{transition:object-position 2s ease,filter 2s ease;transform-origin:50% 55%;object-position:50% 20%}
.portraitCard[data-motion="true"] .hero{animation:presence-breathe 8s ease-in-out infinite}
.portraitCard[data-presence="distance"] .hero{filter:saturate(.8) contrast(1.02)}
.portraitCard[data-presence="rest"] .hero{filter:saturate(.84);object-position:50% 23%}
.portraitCard[data-presence="orient"][data-motion="true"] .hero{object-position:48% 20%}
.portraitCard[data-presence="open"] .hero{filter:saturate(1.02) brightness(1.025)}
@keyframes presence-breathe{0%,100%{transform:scale(1.002)}50%{transform:scale(1.014)}}
@media(max-width:620px){.presencePanel{padding:13px}.presenceDetails{grid-template-columns:70px minmax(0,1fr)}.presenceAction{font-size:13px}}
@media(prefers-reduced-motion:reduce){.portraitCard .hero{animation:none!important;transition:none!important;transform:none!important}}
@media(forced-colors:active){.presencePanel,.sceneButtons button{border:1px solid CanvasText}.presenceHeading span,.presencePanel summary,.stageDirection{color:CanvasText}}
