.room { max-width: 1040px; padding-bottom: 2rem; }
.room-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:2.5rem 0 2rem; }
.room-heading h1 { font-size:clamp(1.9rem,5vw,2.8rem); color:var(--peach); line-height:1.4; margin:.4rem 0; }
.room-heading h1 span { color:var(--mint); margin-left:.25rem; }
.room-heading p:last-child { color:var(--ink-soft); font-size:.95rem; }
.room-layout { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:2rem; align-items:start; }
.room-main,.room-side { min-width:0; }
.room-mobile-status { display:none; }
.room h2 { font-size:1rem; font-weight:normal; color:var(--ink); }
.room-note { font-size:.77rem; line-height:1.8; color:var(--ink-soft); }
.room-note a,.room-text-button { color:var(--lavender); text-decoration:underline; text-underline-offset:4px; }
.room-text-button { display:inline-block; font-size:.8rem; text-align:left; line-height:1.7; padding:.35rem 0; }
.room-compose { background:var(--card); border:1px solid var(--lavender-deep); box-shadow:var(--shadow); padding:1.2rem; display:flex; flex-direction:column; gap:.85rem; }
.room-compose-title { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.3rem; }
.room-compose input:not([type=hidden]):not([type=checkbox]),.room-compose textarea { width:100%; min-width:0; font:inherit; font-size:.9rem; color:var(--ink); background:var(--card-solid); padding:.65rem; border:1px solid var(--line); border-radius:0; color-scheme:dark; }
.room-compose textarea { resize:vertical; min-height:100px; line-height:1.85; }
.room-compose label { font-size:.8rem; }
.room-profile { border-bottom:1px solid var(--line); padding-bottom:.8rem; }
.room-profile summary { cursor:pointer; color:var(--lavender); font-size:.82rem; padding:.3rem 0; }
.room-profile-fields { display:grid; gap:.75rem; padding-top:.65rem; }
.room-profile-fields label input:not([type=checkbox]) { display:block; margin-top:.35rem; }
.room-check { display:flex; align-items:center; gap:.5rem; line-height:1.6; }
.room-check input { width:18px; height:18px; flex-shrink:0; accent-color:var(--mint); }
.room-schedule { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.room-compose-foot { display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.room-compose-foot .btn { font-size:.86rem; padding:.65rem .9rem; }
.room-starters { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:.7rem; color:var(--ink-soft); }
.room-starters button { border-bottom:1px dashed var(--lavender-deep); color:var(--lavender); padding:.25rem 0; }
.room-feed-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.6rem; border-bottom:1px solid var(--line); margin-top:1.8rem; }
.room-tabs { display:flex; gap:1rem; }
.room-tabs a { color:var(--ink-soft); padding:.7rem 0; font-size:.83rem; border-bottom:2px solid transparent; }
.room-tabs a[aria-current] { color:var(--peach); border-color:var(--peach); }
.room-refresh { font-size:.72rem; color:var(--lavender); padding:.7rem 0; }
.room-sort-note { font-size:.75rem; color:var(--ink-soft); margin:.8rem 0; line-height:1.8; }
.room-post { padding:1.2rem .15rem; border-bottom:1px solid var(--line); scroll-margin-top:1.5rem; }
.room-post:target { background:rgba(167,194,230,.045); }
.room-post-head { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem .65rem; }
.room-post-head strong { font-size:.82rem; color:var(--ink); overflow-wrap:anywhere; }
.room-time { font-size:.68rem; color:var(--ink-soft); margin-left:auto; }
.room-badge { font-size:.67rem; color:var(--lavender); border:1px solid var(--lavender-deep); padding:.18rem .35rem; line-height:1.6; display:inline-block; }
.room-badge.is-soon { color:var(--peach); border-color:#6d5735; background:#211d1c; }
.room-badge.is-gone { color:var(--mint); border-color:#345941; }
.room-message { font-size:.95rem; line-height:1.9; margin:.75rem 0 .8rem; overflow-wrap:anywhere; }
.room-goodbye .room-message { color:var(--mint); }
.room-actions { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }
.room-reaction { font-size:.75rem; border:1px solid var(--line); padding:.4rem .6rem; min-height:34px; }
.room-reaction span { margin-left:.2rem; color:var(--lavender); }
.room-reaction.is-mine { color:var(--peach); border-color:#6d5735; }
.room-reply-link { font-size:.75rem; color:var(--lavender); padding:.3rem 0; }
.room-more { margin-left:auto; position:relative; font-size:.68rem; color:var(--ink-soft); }
.room-more summary { cursor:pointer; padding:.5rem 0; }
.room-more>div { border:1px solid var(--line); background:var(--card-solid); padding:.5rem; white-space:nowrap; position:absolute; right:0; top:100%; z-index:2; }
.room-more button { padding:.4rem; }
.room-side h2 { margin:.6rem 0; }
.room-my { border-top:2px solid var(--mint); background:var(--card); padding:1.1rem; }
.room-my .room-note { margin:.7rem 0; }
.room-depart { width:100%; margin-top:1.2rem; font-size:.8rem; padding:.7rem .2rem; white-space:normal; }
.room-timer-link { display:block; font-size:.8rem; color:var(--peach); border-top:1px solid var(--line); margin-top:1.1rem; padding-top:.8rem; }
.room-how { padding:1.1rem 0; }
.room-how ol { padding-left:1.2rem; color:var(--ink-soft); font-size:.78rem; line-height:1.9; margin:.9rem 0; }
.room-how li { padding-left:.15rem; margin-bottom:.6rem; }
.room-how .room-note { margin-bottom:.5rem; }
.room-legacy { border-top:1px solid var(--line); padding-top:1rem; }
.room-empty { text-align:center; padding:2.8rem 1rem; border-bottom:1px solid var(--line); }
.room-empty h2 { margin:.6rem 0; }
.room-empty p { color:var(--ink-soft); font-size:.85rem; line-height:1.9; }
.room-empty .btn { margin-top:1rem; }
.room-flash { border-left:3px solid var(--mint); background:var(--card); padding:.8rem 1rem; font-size:.85rem; margin-bottom:1.2rem; overflow-wrap:anywhere; }
.room-error { border-color:var(--pink); color:var(--pink); }
.room-back { display:inline-block; color:var(--lavender); margin:0 0 1rem; font-size:.85rem; }
.room-thread { margin-top:1.3rem; }
.room-thread>h2 { margin-bottom:1rem; }
.room-thread>h2 span { color:var(--peach); margin-left:.4rem; }
.room-reply { padding-left:1rem; border-left:2px solid var(--line); }
.room-reply-compose { margin-top:1.3rem; }
.room-pager { display:flex; gap:1rem; justify-content:center; align-items:center; font-size:.8rem; margin:1.5rem 0; }
.room-pager a { color:var(--lavender); padding:.5rem 0; }
.room-pager span { color:var(--ink-soft); }
.room-hp,.room-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.room-hp { left:0; top:0; width:1px !important; height:1px !important; padding:0 !important; }
.room-guide { max-width:700px; padding:2rem 1rem; }
.room-guide h1 { color:var(--peach); font-size:1.8rem; margin-bottom:1rem; }
.room-guide section { padding:1.2rem 0; border-bottom:1px solid var(--line); }
.room-guide h2 { color:var(--lavender); font-size:1rem; margin-bottom:.7rem; }
.room-guide p { font-size:.9rem; line-height:1.9; color:var(--ink-soft); }
.room-guide>a { margin-top:1.5rem; }
@media(max-width:760px) {
 .room-mobile-status { display:flex; gap:.6rem; align-items:center; padding:.75rem 0; border-top:1px solid var(--line); margin-bottom:1rem; font-size:.75rem; }
 .room-mobile-status>a { margin-left:auto; color:var(--peach); }
 .room-layout { grid-template-columns:1fr; gap:1.6rem; }
 .room-heading { margin:1.7rem 0 1.4rem; }
 .room-heading img { width:52px; height:52px; }
 .room-side { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
 .room-how { padding:0; }
 .room-legacy { grid-column:1/-1; }
}
@media(max-width:440px) {
 .room { padding-left:1rem; padding-right:1rem; }
 .room-heading { gap:.5rem; }
 .room-heading img { width:42px; height:42px; }
 .room-heading p:last-child { font-size:.8rem; }
 .room-compose { padding:.9rem; }
 .room-compose-title h2 { font-size:.9rem; }
 .room-schedule { grid-template-columns:1fr; }
 .room-side { grid-template-columns:1fr; }
 .room-tabs { gap:.9rem; }
 .room-tabs a { font-size:.75rem; }
 .room-post-head { gap:.4rem; }
 .room-compose-foot .btn { font-size:.76rem; padding:.6rem; }
 .room-note { font-size:.72rem; }
}
