.sc-shell { --sc-blood:#7a1f24; --sc-bone:#d7c4ae; --sc-ink:#12090b; --sc-panel:#1b1014; --sc-line:#3a2428; --sc-mute:#8a7368; color:var(--sc-bone); font-family:Georgia,"Times New Roman",serif; background:var(--sc-ink); }
.sc-shell h1, .sc-shell h2, .sc-shell h3, .sc-brand strong { font-family:Palatino,"Palatino Linotype",Georgia,serif; letter-spacing:.04em; color:#ead9c6; }
.sc-lede, .sc-muted, .sc-hint { color:var(--sc-mute); }
.sc-gate { padding:1.5rem 1rem 2rem; max-width:36rem; }
.sc-btn, a.sc-btn { display:inline-block; margin:.25rem .35rem .25rem 0; padding:.45rem .85rem; background:var(--sc-blood); color:#ead9c6; border:1px solid #4a1014; cursor:pointer; text-decoration:none; font:inherit; }
.sc-btn-ghost { background:transparent; }
.sc-input { display:block; width:100%; margin:.2rem 0 .55rem; padding:.45rem .55rem; background:#0e0709; color:var(--sc-bone); border:1px solid var(--sc-line); font:inherit; }
.sc-app { display:grid; grid-template-columns:220px 1fr 160px; min-height:28rem; border:1px solid var(--sc-line); background:var(--sc-panel); }
.sc-rail, .sc-people { padding:.85rem; overflow:auto; background:#160c10; }
.sc-rail { border-right:1px solid var(--sc-line); }
.sc-people { border-left:1px solid var(--sc-line); font-size:.92rem; }
.sc-rankkey { color:var(--sc-mute); font-size:.75rem; margin:0 0 .55rem; line-height:1.45; }
.sc-rankkey b { color:#c9a27a; font-family:Consolas,ui-monospace,monospace; font-weight:700; margin-right:.15rem; }
.sc-people .who { display:flex; gap:.35rem; align-items:baseline; }
.sc-people .rank { color:#c9a27a; font-family:Consolas,ui-monospace,monospace; min-width:1.7em; }
.sc-brand { display:flex; gap:.55rem; align-items:center; margin-bottom:.7rem; }
.sc-brand em { display:block; color:var(--sc-mute); font-style:italic; font-size:.85rem; }
.sc-mark { width:22px; height:22px; background:var(--sc-blood); clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%); flex-shrink:0; }
.sc-hud { font-size:.82rem; color:var(--sc-mute); margin-bottom:.7rem; }
.sc-rooms button { width:100%; text-align:left; background:transparent; color:var(--sc-bone); border:1px solid var(--sc-line); padding:.45rem .55rem; margin:.2rem 0; font:inherit; cursor:pointer; }
.sc-rooms strong { display:block; }
.sc-rooms span, .sc-rooms em { display:block; color:var(--sc-mute); font-size:.8rem; }
.sc-stage { display:flex; flex-direction:column; min-width:0; }
.sc-head { padding:.8rem 1rem; border-bottom:1px solid var(--sc-line); }
.sc-head h2 { margin:0; font-size:1.15rem; }
.sc-head p { margin:.2rem 0 0; }
.sc-log { flex:1; overflow:auto; padding:.85rem 1rem; min-height:18rem; max-height:28rem; }
.sc-log article { margin:0 0 .75rem; padding-bottom:.45rem; border-bottom:1px solid #2a181c; }
.sc-log article.ping { background:#2a1216; }
.sc-log header { color:#e0c9b0; font-weight:700; }
.sc-log .sys, .sc-log article.notice { color:var(--sc-mute); font-style:italic; }
.sc-log a { color:#c9a27a; }
.sc-compose { display:flex; gap:.4rem; padding:.65rem; border-top:1px solid var(--sc-line); }
.sc-compose .sc-input { margin:0; flex:1; }
.sc-compose .sc-btn { width:auto; margin:0; }
.sc-settings label { display:block; margin:0 0 .8rem; }
.sc-settings .sc-hint { margin:.2rem 0 1rem; font-size:.9rem; }
@media (max-width:900px) {
  .sc-app { grid-template-columns:1fr; }
  .sc-people, .sc-rail .sc-rooms { display:none; }
}
