#companion-room{box-sizing:border-box;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:12px 16px;background:#fff9ed;color:#62462e;border:0;overflow:auto;font-family:inherit}
#companion-room[open]{display:flex;align-items:center;flex-direction:column;gap:8px}
#companion-room::backdrop{background:#fff9ed}
#companion-room .room-heading{width:min(100%,560px);display:flex;align-items:center;gap:12px;flex:none}
#companion-room .room-heading>div{flex:1;min-width:0}#companion-room h2{margin:0;font-size:20px;overflow-wrap:anywhere}#companion-room small{font-size:12px;color:#98775a}
#companion-room button{font:inherit;font-size:14px;color:inherit;background:#fff6e5;border:1px solid #cba57c;border-radius:14px;min-height:44px;padding:8px 12px;cursor:pointer}
#companion-room button:disabled{opacity:.5}#room-edit{min-width:44px}#room-stage{position:relative;flex:none;aspect-ratio:3/4;width:min(100%,calc((100dvh - 230px)*.75),540px);min-width:180px;isolation:isolate;border-radius:20px;overflow:hidden}
#room-stage .room-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#room-stage .room-front{z-index:3}
#room-cat-position{position:absolute;left:31.7708%;top:51.9531%;width:36.4583%;height:27.34375%;z-index:2}#room-cat-position .cat-touch-scene{display:block;width:100%;height:100%}#room-cat{width:100%;height:100%;object-fit:contain}
#room-paper-ball{position:absolute;left:62%;top:74%;width:13%;height:auto;z-index:4;pointer-events:none}#room-paper-ball.is-arriving{animation:room-arrive .7s ease-out both}
#room-message,#room-arrival{max-width:560px;margin:0;font-size:13px;line-height:1.5;text-align:center}#room-arrival{color:#7f664e;background:#f3e6cf;padding:7px 12px;border-radius:12px}
#companion-room footer{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:560px}#companion-room [hidden]{display:none!important}
#catbox-detail-dialog #companion-detail-edit.pointer-return:focus{outline:none!important;box-shadow:none!important}
#companion-room .pointer-return:focus{outline:none}#companion-room button:focus-visible{outline:2px solid #986233;outline-offset:3px}
@keyframes room-arrive{from{opacity:0;transform:translate(-14px,-4px) rotate(-20deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#room-paper-ball.is-arriving{animation:none}}
@supports not(height:100dvh){#room-stage{width:min(100%,calc((100vh - 230px)*.75),540px)}}
