.ppl{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pp{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.06);border-radius:999px;padding:2px 10px 2px 3px;font-size:11px;line-height:1.25}
.pp .pimg,.pp svg{width:24px!important;height:24px!important;box-shadow:none!important}
.pp b{display:block;font-size:12px}
.pp i{font-style:normal;opacity:.7;font-size:10.5px}
.opt .pp,.cfi .pp{background:var(--panel2);color:var(--sand)}
.ev.contra{background:#f3d9d3;box-shadow:0 0 0 2px var(--alarm),0 6px 14px rgba(0,0,0,.5)}
.ev .cxstamp{position:absolute;top:12px;inset-inline-end:12px;transform:rotate(-8deg);border:2px solid var(--alarm);color:var(--alarm);font-weight:700;font-size:12px;padding:1px 8px;border-radius:4px}
.opt.contra{border-color:var(--alarm)}
.room-head .stress{margin-inline-start:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.stress .heart{font-size:18px;color:var(--alarm);display:inline-block;animation:beat var(--bt,1s) ease-in-out infinite}
.stress .bpm{font-family:var(--f-mono);color:var(--sand);min-width:2.2em}
.stress .mood{white-space:nowrap}
.stbar{display:inline-block;width:64px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.stbar i{display:block;height:100%;border-radius:99px;background:var(--ok);transition:width .6s}
.stbar.mid i{background:#e2c25a}.stbar.hi i{background:#ef8d3c}.stbar.max i{background:var(--alarm)}
.sus .stbar{width:56px;margin-top:4px}
.stress.pulse{animation:shake .45s}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.cfbar{display:flex;gap:10px;align-items:center;padding:0 16px 10px;flex-wrap:wrap}
.btn.cf{border-color:var(--alarm);color:#ffd7cf;background:rgba(227,96,79,.12)}
.cfbar small{color:var(--muted);font-size:12px}
.msg.me.cf{background:#3a1d1a;color:#ffd7cf;border:1px solid var(--alarm)}
.msg.clue.cx{color:var(--alarm);border-color:var(--alarm)}
.sheet{position:fixed;inset:0;z-index:45;background:rgba(4,6,10,.8);display:flex;align-items:flex-end;justify-content:center;padding:16px}
.sheet .box{width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--alarm);border-radius:14px;overflow:hidden}
.sheet .hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.sheet .hd .pimg,.sheet .hd svg{width:40px;height:40px}
.sheet .hd span{flex:1}
.sheet .hd small{display:block;color:var(--muted);font-size:12px}
.sheet .lst{overflow:auto;padding:10px 12px;display:grid;gap:8px}
.cfi{font:inherit;text-align:start;display:flex;gap:10px;align-items:flex-start;background:var(--panel2);color:var(--sand);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.cfi svg{width:28px;height:28px;flex:none;color:var(--ember)}
.cfi b{display:block;font-size:14px}
.cfi small{display:block;color:var(--muted);font-size:12px;line-height:1.55}
.cfi.contra{border-color:var(--alarm)}.cfi.contra svg{color:var(--alarm)}
.cfi.done{opacity:.5}
.cfi em{font-style:normal;font-size:11px;color:var(--muted);margin-inline-start:auto;white-space:nowrap}
.cfi:hover,.cfi:focus-visible{border-color:var(--ember)}
.cxfx{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(40,4,4,.55);padding:16px;cursor:pointer}
.cxfx .box{max-width:480px;width:100%;text-align:center;background:var(--panel);border:2px solid var(--alarm);border-radius:14px;padding:22px 20px;display:grid;gap:10px;justify-items:center}
.cxfx .big{font-family:var(--f-display);font-size:46px;color:var(--alarm);line-height:1;text-shadow:0 0 24px rgba(227,96,79,.5)}
.cxfx h3{margin:0;font-size:20px;color:var(--pearl)}
.cxfx p{margin:0;color:var(--sand)}
.cxfx.go .box{animation:slam .5s cubic-bezier(.2,.9,.3,1.3)}
@keyframes slam{0%{transform:scale(1.6);opacity:0}60%{transform:scale(.96);opacity:1}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.stress .heart,.cxfx.go .box,.stress.pulse{animation:none}}

@media (max-width:440px){.room-head .stress .mood{display:none}.room-head .stress .stbar{width:44px}}
