#world-button { grid-column:1/-1; border:1px solid #00e5ff; border-radius:8px; background:#1a0b2e; color:#f7efff; padding:8px 16px; font:600 14px system-ui; cursor:pointer; }
#world-panel { width:min(94vw,620px); max-height:88dvh; padding:16px; border:1px solid #00e5ff; border-radius:12px; background:#10091c; color:#f7efff; }
#world-panel::backdrop { background:#000a; }
#world-panel header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#world-panel h2 { margin:0; font-size:20px; }
#world-panel button, #world-panel select, #world-panel input { font:inherit; border:1px solid #765b91; border-radius:6px; background:#261536; color:#f7efff; padding:10px; min-height:44px; }
#world-panel button { cursor:pointer; }
#world-panel button:disabled { opacity:.5; cursor:default; }
#world-status, #world-error { color:#cbb6df; font-size:13px; min-height:18px; }
#world-error { color:#ffc583; }
#world-roster { display:flex; flex-wrap:wrap; gap:6px; max-height:100px; overflow:auto; padding:8px 0; }
#world-roster span { border:1px solid #49345a; border-radius:6px; padding:6px; font-size:13px; }
#world-messages { height:clamp(130px,28dvh,300px); overflow-y:auto; padding:10px; margin:10px 0; border:1px solid #49345a; border-radius:8px; background:#08050e; user-select:text; -webkit-user-select:text; overflow-wrap:anywhere; }
#world-messages p { margin:0 0 12px; line-height:1.35; }
#world-messages small { display:block; color:#baa2cc; }
#world-compose { display:flex; gap:8px; }
#world-input { min-width:0; flex:1; user-select:text; -webkit-user-select:text; }
#world-channel { margin-left:8px; }
