:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;background:#0b1321;color:#e5ecf6}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}
button{color:inherit;background:#27364b;border:1px solid #54647b;border-radius:7px;padding:9px 12px;cursor:pointer}
button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#256c92;border-color:#398eb8}.subtle{border:0;background:transparent}
.hidden{display:none!important}.shell{height:100dvh;display:flex;flex-direction:column}
.login{display:grid;place-items:center;flex:1;padding:20px}.login form{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;border:1px solid #344156;border-radius:12px;padding:28px;background:#131e2e}
h1{margin:0;font-size:21px}.login p{color:#aab7c9;margin:0 0 8px}
input,textarea{background:#0d1725;border:1px solid #3d4c61;color:#e5ecf6;border-radius:6px;padding:10px;min-width:0}
textarea{resize:vertical}.workspace{height:100%;min-height:0;display:flex;flex-direction:column}
.topbar{height:50px;padding:9px 13px;border-bottom:1px solid #304159;display:flex;align-items:center;gap:12px}.topbar strong{font-size:14px}
#identity{color:#a6b3c6;margin-left:auto;font-size:12px}.columns{display:flex;flex:1;min-height:0}
.sidebar{width:236px;flex:none;background:#111e2d;border-right:1px solid #304159;display:flex;flex-direction:column;padding:12px;gap:12px}
.actions{display:flex;flex-direction:column;gap:8px}.section-title{font-size:12px;color:#a6b3c6}
#chatList{overflow:auto;list-style:none;margin:0;padding:0;flex:1}
#chatList li{display:flex;align-items:center;padding:4px 2px;gap:4px}
#chatList li button.open{border:0;text-align:left;background:transparent;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
#chatList li button.open:hover{background:#25354a}
#chatList li button.remove{padding:4px 7px;font-size:11px;color:#b8c6d9}
.chat{min-width:0;display:flex;flex:1;flex-direction:column}
.chat-head{height:42px;border-bottom:1px solid #304159;display:flex;justify-content:space-between;align-items:center;padding:5px 12px;gap:8px}
#chatLabel{font-size:12px;color:#b8c6d9;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.viewport{display:grid;place-items:center;flex:1;overflow:hidden;min-height:150px;background:#101722;position:relative;touch-action:none;user-select:none}
.viewport img{display:block;max-width:100%;max-height:100%;object-fit:contain;touch-action:none}
.viewport p{padding:18px;color:#a7b7c9;text-align:center;font-size:14px}
.composer{border-top:1px solid #304159;padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.composer label{font-size:12px;color:#bccbdd}.composer-actions{display:flex;align-items:center;gap:9px;justify-content:space-between}
#upload{width:190px;max-width:56%;font-size:12px;padding:5px}
.admin{margin:24px auto;width:min(900px,95%);display:flex;flex-direction:column;gap:12px}
.admin-frame{height:55dvh;display:grid;place-items:center;border:1px solid #304159;border-radius:8px;overflow:hidden}
.admin-frame img{max-width:100%;max-height:100%}#adminStatus{color:#b4c5d7}
#status{position:absolute;right:12px;bottom:14px;max-width:min(500px,90vw);font-size:12px;pointer-events:none;color:#f1dba9;min-height:18px}
.mobile-only{display:none}
@media(max-width:700px){
 .topbar{height:46px}.mobile-only{display:block}
 .sidebar{position:absolute;z-index:5;top:90px;bottom:0;width:min(78vw,270px);box-shadow:7px 0 18px #0006}
 .sidebar.collapsed{display:none}
 .chat-head{height:44px}.viewport{min-height:90px}
 .composer{padding:7px}.composer textarea{min-height:42px;max-height:120px}
}
