:root{--bg-color:#0f1a14;--panel-bg:#16261d;--panel-border:#233b2d;--text-main:#e0f0e6;--text-muted:#8ba696;--accent-color:#27c96a;--accent-hover:#1f9f54;--error-color:#d84b4b;--danger-hover:#b33939;--input-bg:#1a2e23;--input-border:#2c4a38}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.4}button{background:var(--panel-bg);color:var(--text-main);border:1px solid var(--panel-border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:all .2s;display:inline-flex}button:hover{background:var(--panel-border)}button.primary{background:var(--accent-color);color:#000;border-color:var(--accent-color);font-weight:500}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--error-color);color:#fff;border-color:var(--error-color)}button.danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}input[type=text],input[type=password],input[type=number]{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);border-radius:4px;outline:none;padding:4px 8px;font-size:16px;transition:border-color .2s}input:focus{border-color:var(--accent-color)}.app-container{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--panel-bg);border-right:1px solid var(--panel-border);flex-direction:column;width:240px;transition:width .3s,margin .3s,opacity .3s;display:flex;overflow:hidden}.sidebar.hidden-sidebar{opacity:0;pointer-events:none;border-right:none;width:0}.sidebar-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:8px;display:flex}.room-list{flex-direction:column;flex:1;gap:2px;padding:4px;display:flex;overflow-y:auto}.room-item{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:4px 8px;display:flex}.room-item:hover{background:var(--input-bg)}.room-item.active{background:var(--input-border);font-weight:500}.room-item .room-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.rename-input{border-radius:3px;flex:1;min-width:0;padding:2px 4px!important;font-size:13px!important}.room-item-actions{opacity:0;flex-shrink:0;gap:2px;display:flex}.room-item:hover .room-item-actions{opacity:1}.room-item:has(.rename-input) .room-item-actions{opacity:1}.room-item-actions button{color:var(--text-muted);background:0 0;border:none;padding:2px}.room-item-actions button:hover{color:var(--text-main)}.room-item-actions button.active-fav{color:var(--accent-color)}.room-item.drop-target{border:1px dashed var(--accent-color);background:#27c96a26}.document-block[draggable]{cursor:grab}.document-block[draggable]:active{cursor:grabbing}.main-content{background:var(--bg-color);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-header{background:var(--panel-bg);border-bottom:1px solid var(--panel-border);flex-shrink:0;align-items:center;gap:12px;min-height:40px;padding:8px;display:flex}.active-room-name{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-weight:500;overflow:hidden}@media (width>=600px){.active-room-name{max-width:none}}.sidebar-toggle-btn{color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.sidebar-toggle-btn:hover{background:var(--input-bg);color:var(--text-main)}.header-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.header-action-btn:hover{background:var(--input-bg);color:var(--text-main)}.scroll-btn{background:var(--panel-bg);border:1px solid var(--panel-border);width:44px;height:44px;color:var(--text-main);cursor:pointer;opacity:.8;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 4px 12px #0006}.scroll-btn:hover{background:var(--panel-border);opacity:1;transform:translateY(-2px)}.scroll-btn:active{transform:translateY(0)}.fab-wrapper{z-index:1000;align-items:center;gap:12px;transition:top .1s ease-out;display:flex;position:fixed;left:50%;transform:translate(-50%)}.fab-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--panel-border);background:#16261de6;border-radius:30px;gap:8px;padding:8px 16px;display:flex;box-shadow:0 4px 20px #0009}.fab-toolbar button{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:background .2s;display:flex}.fab-toolbar button:hover{background:#ffffff1a}.chat-messages{cursor:text;flex-direction:column;flex:1;align-items:center;gap:2px;padding:40px 16px;display:flex;overflow-y:auto}.document-block{cursor:default;border:none;flex-direction:column;gap:2px;width:100%;max-width:1400px;padding:6px 0;display:flex;position:relative}.document-block.dragging{opacity:.5}.document-block.drop-target-msg{border-top:2px solid var(--accent-color);padding-top:2px}.drag-handle{width:24px;color:var(--text-muted);opacity:0;cursor:grab;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;top:8px;left:-28px}.document-block:hover .drag-handle{opacity:.5}.drag-handle:hover{opacity:1!important}.block-content-wrapper{flex:1;width:100%;min-width:0}.message-meta{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:8px;padding:0 4px;font-size:10px;display:flex}.message-meta span{opacity:.7}.grow-wrap{width:100%;display:grid}.grow-wrap-mirror{white-space:pre-wrap;color:#0000;pointer-events:none;word-break:break-word;grid-area:1/1/2/2;margin:0;padding:0;font-family:inherit;font-size:16px;line-height:1.5}.grow-wrap>textarea{width:100%;height:100%;min-height:24px;color:var(--text-main);resize:none;cursor:text;background:0 0;border:none;outline:none;grid-area:1/1/2/2;margin:0;padding:0;font-family:inherit;font-size:16px;line-height:1.5;overflow:hidden}.seamless-textarea::placeholder{color:#0000}.msg-action-btns{opacity:0;flex-direction:row;gap:4px;transition:opacity .15s;display:flex}.document-block:hover .msg-action-btns{opacity:1}.msg-action-btn{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:4px;transition:all .15s;box-shadow:0 2px 4px #0003}.msg-action-btn:hover{color:var(--text-main);background:var(--input-bg);border-color:var(--accent-color)}.msg-action-btn.delete-btn:hover{color:var(--error-color);border-color:var(--error-color)}.file-attachment{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-main);border-radius:4px;align-items:center;gap:6px;margin-top:4px;padding:4px 8px;text-decoration:none;display:flex}.file-attachment:hover{border-color:var(--accent-color)}.media-preview{border-radius:4px;max-width:100%;max-height:300px;margin-top:4px}.chat-input-area{background:var(--panel-bg);border-top:1px solid var(--panel-border);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:flex}.chat-input-form{flex:1;gap:8px;min-width:0;max-width:800px;display:flex}.chat-input-form input[type=text]{border-radius:20px;flex:1;min-width:0;padding:8px 12px}.input-action-btn{color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:8px}.input-action-btn:hover{color:var(--text-main)}.send-btn{border-radius:50%;flex-shrink:0;width:36px;height:36px;padding:0}.login-container{background:var(--bg-color);justify-content:center;align-items:center;height:100vh;display:flex}.login-box{background:var(--panel-bg);border:1px solid var(--panel-border);text-align:center;border-radius:6px;width:300px;padding:16px}.login-box h2{color:var(--text-main);margin-bottom:8px;font-size:16px}.login-box p{color:var(--text-muted);margin-bottom:12px;font-size:12px}.login-box input{text-align:center;letter-spacing:2px;width:100%;margin-bottom:8px}.login-box button{width:100%}.login-box form button+button{margin-top:6px}.admin-entry-btn{border-color:var(--panel-border);width:100%;color:var(--text-muted);background:0 0;gap:6px;margin-top:10px;font-size:12px}.admin-entry-btn:hover{color:var(--text-main);border-color:var(--accent-color)}.error-text{color:var(--error-color);margin-top:8px;font-size:12px}.admin-panel{max-width:420px;max-height:80vh}.admin-unlock-form{flex-direction:column;gap:8px;padding:14px;display:flex}.admin-unlock-form p{color:var(--text-muted);margin:0;font-size:12px}.admin-panel-body{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex;overflow:hidden}.admin-create-user{gap:6px;display:flex}.admin-create-user input{flex:1}.admin-hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.admin-user-list{flex-direction:column;flex:1;gap:8px;max-height:45vh;display:flex;overflow-y:auto}.admin-empty{color:var(--text-muted);text-align:center;padding:12px 0;font-size:12px}.admin-user-row{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.admin-user-info{flex-direction:column;gap:2px;display:flex}.admin-user-info strong{font-size:14px}.admin-user-status{color:var(--text-muted);font-size:11px}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-user-actions button{padding:4px 8px;font-size:11px}.admin-delete-check{color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;font-size:11px;display:flex}.danger-btn{background:var(--error-color)!important;border-color:var(--error-color)!important;color:#fff!important}.danger-btn:hover{background:var(--danger-hover)!important;border-color:var(--danger-hover)!important}.flex-row{align-items:center;gap:4px;display:flex}.ml-auto{margin-left:auto}.hidden{display:none}.drag-overlay{z-index:20;text-align:center;color:#f4f9f1;border:2px dashed var(--accent-color);pointer-events:none;background:#102018e0;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.drag-overlay strong{color:var(--accent-color)}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;width:100%;max-width:340px;max-height:70vh;animation:.2s slideUp;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.modal-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.modal-close{color:var(--text-muted);background:0 0;border:none;padding:2px}.modal-close:hover{color:var(--text-main)}.transfer-mode-toggle{border-bottom:1px solid var(--panel-border);gap:6px;padding:8px 14px;display:flex}.transfer-mode-toggle button{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-muted);border-radius:4px;flex:1;padding:6px 10px;font-size:12px;transition:all .15s}.transfer-mode-toggle button.active{background:var(--accent-color);color:#000;border-color:var(--accent-color);font-weight:500}.transfer-room-list{flex-direction:column;flex:1;gap:3px;padding:6px;display:flex;overflow-y:auto}.transfer-room-btn{text-align:left;background:var(--input-bg);width:100%;color:var(--text-main);cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.transfer-room-btn:hover{background:var(--input-border);border-color:var(--accent-color)}.toast{background:var(--accent-color);color:#000;z-index:200;pointer-events:none;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:500;animation:.25s toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #27c96a59}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (hover:none){.msg-action-btns,.room-item-actions{opacity:1}}@media (width<=500px){.scroll-controls{bottom:60px;right:6px}.scroll-btn{width:36px;height:36px}}.inline-checkbox{flex-shrink:0;margin-right:4px}.selection-checkbox{border:2px solid var(--panel-border);background:var(--panel-bg);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.selection-checkbox.checked{background:var(--accent-color);border-color:var(--accent-color);color:#000}.document-block.selected-block{background:#27c96a0d}.bulk-actions-bar{background:var(--panel-bg);border:1px solid var(--accent-color);z-index:1100;border-radius:40px;align-items:center;gap:24px;padding:12px 20px;animation:.3s cubic-bezier(.175,.885,.32,1.275) slideUp;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0009}@media (width<=768px){.bulk-actions-bar{border-radius:12px;flex-direction:column;gap:8px;width:95%;padding:10px;bottom:20px}}
