/* Match the shared Library/site shell on every room detail route. */
body.room-page.public-shell{padding:0}
body.room-page.public-shell>.wrap{width:100%;max-width:1280px;margin-inline:auto;padding:0 32px 28px}
.room-back-link{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;margin:0 0 24px;border:1px solid var(--line);border-radius:999px;background:var(--card,#fff);color:var(--ink);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform 140ms cubic-bezier(.23,1,.32,1)}
.room-back-link svg{flex:none}.room-back-link:active{transform:scale(.97)}.room-back-link:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.room-page #room-hero .room-title-row{align-items:center;gap:16px;margin:0 0 18px}.room-page #room-hero .room-title-row h1{margin:0;font-size:40px;line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}.room-page .room-desc{margin:0;max-width:720px;line-height:1.7}
@media(hover:hover) and (pointer:fine){.room-back-link:hover{background:#eef1e5;border-color:var(--muted)}}
@media(max-width:760px){body.room-page.public-shell>.wrap{padding:0 20px 22px}.room-back-link{min-height:44px;padding-inline:14px;font-size:13px}.room-page #room-hero .room-title-row h1{font-size:30px}.room-page .room-desc{font-size:16px}}
@media(prefers-reduced-motion:reduce){.room-back-link{transition:none}.room-back-link:active{transform:none}}

.room-invitation{background:#f1f4e9;border-color:#d6deca}.room-invitation h2{margin-bottom:12px}.room-invite-copy{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}.room-join-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:46px;padding:12px 16px;border:0;border-radius:10px;background:var(--ink);color:var(--card);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform 140ms cubic-bezier(.23,1,.32,1)}.room-join-cta:active{transform:scale(.97)}.room-join-cta:disabled{opacity:.6;cursor:wait}.room-join-cta:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.room-join-reassurance{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}.room-invitation [data-room-join-status]:empty{display:none}
@media(hover:hover) and (pointer:fine){.room-join-cta:hover{background:var(--brand)}}
@media(prefers-reduced-motion:reduce){.room-join-cta{transition:none}.room-join-cta:active{transform:none}}

.room-welcome{background:#f1f4e9;border-color:#d6deca}.room-welcome-message{margin:0 0 20px}.room-welcome-message p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 16px}
