@import"https://fonts.googleapis.com/css2?family=Oxanium:wght@300;400;600;700&family=Share+Tech+Mono&display=swap";:root{font-family:Oxanium,Share Tech Mono,monospace;line-height:1.5;font-weight:400}:root,[data-theme=light],[data-theme=dark]{--bg-primary: #06080f;--bg-secondary: #0b1220;--bg-tertiary: #101a2e;--bg-elevated: #0e1526;--bg-gradient: linear-gradient(135deg, #0b1020 0%, #0a1b2e 50%, #081526 100%);--text-primary: #e6f1ff;--text-secondary: #7aa7ff;--text-tertiary: #5b7bb5;--text-inverse: #0b1020;--accent: #2a7cff;--accent-2: #4bd9ff;--border-color: #1f355c;--border-hover: #2a4a7f;--shadow-sm: 0 0 10px rgba(58, 163, 255, .18);--shadow-md: 0 0 20px rgba(58, 163, 255, .28);--shadow-lg: 0 0 40px rgba(58, 163, 255, .45);--message-sent-bg: linear-gradient(135deg, #0e2a52 0%, #1b4d8f 100%);--message-received-bg: linear-gradient(135deg, #0a1628 0%, #10233f 100%);--message-sent-text: #e6f1ff;--message-received-text: #cfe4ff;--input-bg: #0b1324;--input-border: #1f355c;--button-primary: linear-gradient(135deg, #2a7cff 0%, #4bd9ff 100%);--button-secondary-bg: #0b1220;--button-secondary-text: #cfe4ff;--button-danger: #ff3b6b;--scrollbar-track: #0a1222;--scrollbar-thumb: #2a7cff;--scrollbar-thumb-hover: #4bd9ff}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(58,163,255,.12),transparent 45%),radial-gradient(circle at 80% 80%,rgba(75,217,255,.08),transparent 40%),var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);transition:background-color .3s ease,color .3s ease;position:relative;overflow-x:hidden;box-shadow:inset 0 0 240px #0f3c7859,inset 0 0 120px #0a1e3c99}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(90deg,rgba(43,126,255,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(43,126,255,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:-1;animation:scanlines 10s linear infinite}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(10px)}}#root{width:100%;height:100vh}a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .3s ease;text-shadow:0 0 10px rgba(58,163,255,.35)}a:hover{color:var(--text-primary);text-shadow:0 0 20px var(--text-primary)}input,button{font-family:inherit;font-size:1em}input[type=email],input[type=password],input[type=text]{width:100%;padding:12px;border:2px solid var(--input-border);border-radius:4px;margin-bottom:10px;transition:all .3s ease;background:var(--input-bg);color:var(--text-primary);font-family:Share Tech Mono,monospace;text-shadow:0 0 10px rgba(58,163,255,.15);box-shadow:inset 0 0 12px #000000a6}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus{outline:none;border-color:var(--text-secondary);box-shadow:0 0 18px #3aa3ff59,inset 0 0 10px #0009;text-shadow:0 0 12px rgba(58,163,255,.35)}button{padding:10px 16px;border:2px solid transparent;border-radius:4px;background:var(--button-primary);color:var(--text-inverse);cursor:pointer;font-weight:600;font-family:Share Tech Mono,monospace;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;font-size:.85em;box-shadow:0 0 20px #3aa3ff59,inset 0 0 20px #ffffff14}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #3aa3ff8c,inset 0 0 20px #ffffff26;text-shadow:0 0 10px rgba(58,163,255,.55)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-color)}button.secondary:hover{background:var(--border-hover)}button.danger{background:var(--button-danger);padding:6px 10px;font-size:.85em}button.danger:hover{background:#ff5252}.theme-toggle{padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:0;background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);color:var(--text-primary);transition:all .3s ease;cursor:pointer;font-size:1.2em;box-shadow:0 0 15px #3aa3ff59}.theme-toggle:hover{background:#2a7cff1f;transform:scale(1.1);box-shadow:0 0 25px #3aa3ff99}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.auth-form{background:var(--bg-primary);padding:40px;border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:400px;transition:background-color .3s ease;border:1px solid var(--border-color)}.auth-form h2{margin-bottom:30px;color:var(--text-primary);text-align:center;font-size:24px}.auth-form .form-group{margin-bottom:16px}.auth-form label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:500;font-size:.95em}.auth-form button{width:100%;padding:12px;margin-top:10px;font-size:1em}.auth-form .error{color:#ff6b6b;padding:10px;background:#ff6b6b1a;border-radius:8px;margin-bottom:15px;font-size:.9em}.auth-form .success{color:#51cf66;padding:10px;background:#51cf661a;border-radius:8px;margin-bottom:15px;font-size:.9em}.auth-form .footer{text-align:center;margin-top:20px;font-size:.95em;color:var(--text-secondary)}.auth-form .footer a{margin-left:5px}.chat-container{display:flex;height:100vh;background:var(--bg-primary);overflow:hidden;transition:background-color .3s ease;border:2px solid var(--border-color);box-shadow:0 0 50px #3aa3ff40}.chat-sidebar{width:280px;border-right:2px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-primary);transition:background-color .3s ease,border-color .3s ease;box-shadow:2px 0 20px #3aa3ff26}.chat-sidebar-header{padding:16px;border-bottom:2px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);color:var(--text-primary);display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 20px #3aa3ff33}.chat-sidebar-header h3{margin:0 0 4px;font-size:18px;text-shadow:0 0 10px rgba(58,163,255,.4);text-transform:uppercase;letter-spacing:2px}.chat-sidebar-header button{width:100%;padding:8px;font-size:.9em}.chat-list{flex:1;overflow-y:auto;padding:8px;background:var(--bg-primary)}.chat-item{padding:12px;margin-bottom:8px;border-radius:0;cursor:pointer;transition:all .3s ease;border:2px solid transparent;background:var(--bg-secondary);border-left:3px solid var(--border-color);font-family:Share Tech Mono,monospace}.chat-item:hover{background:var(--bg-tertiary);transform:translate(4px);border-left-color:var(--text-secondary);box-shadow:0 0 15px #3aa3ff40}.chat-item.active{background:#2a7cff1f;border-left-color:var(--text-primary);box-shadow:0 0 20px #3aa3ff59,inset 0 0 10px #3aa3ff14}.chat-item-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;text-shadow:0 0 10px rgba(58,163,255,.35);text-transform:uppercase}.chat-item-preview{font-size:.85em;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Share Tech Mono,monospace}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);transition:background-color .3s ease}.chat-header{padding:16px 20px;border-bottom:2px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 4px 20px #3aa3ff33}.chat-header h3{margin:0;font-size:18px;flex:1;text-shadow:0 0 10px rgba(58,163,255,.4);text-transform:uppercase;letter-spacing:2px;font-family:Share Tech Mono,monospace}.chat-header span{font-size:.9em;opacity:.9;font-family:Share Tech Mono,monospace;color:var(--text-secondary)}.chat-header button{padding:6px 12px;font-size:.9em}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);transition:background-color .3s ease;position:relative}.chat-messages:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 24%,rgba(58,163,255,.04) 25%,rgba(58,163,255,.04) 26%,transparent 27%,transparent 74%,rgba(58,163,255,.04) 75%,rgba(58,163,255,.04) 76%,transparent 77%,transparent),linear-gradient(rgba(58,163,255,.02) 50%,transparent 50%);background-size:48px 48px;pointer-events:none}.message{display:flex;gap:8px;margin-bottom:4px;animation:slideIn .3s ease;align-items:flex-end}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent{justify-content:flex-end}.message.received{justify-content:flex-start}.message-bubble{max-width:70%;min-width:60px;padding:12px 16px;border-radius:2px;word-wrap:break-word;position:relative;animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:4px;border:1px solid;font-family:Share Tech Mono,monospace;font-size:.95em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message.sent .message-bubble{background:var(--message-sent-bg);color:var(--message-sent-text);align-items:flex-end;border-color:var(--text-primary);box-shadow:0 0 20px #3aa3ff59,inset 0 0 10px #ffffff14;text-shadow:0 0 10px rgba(0,0,0,.5)}.message.received .message-bubble{background:var(--message-received-bg);color:var(--message-received-text);align-items:flex-start;border-color:var(--text-secondary);box-shadow:0 0 20px #3aa3ff2e,inset 0 0 10px #ffffff0f;text-shadow:0 0 10px rgba(0,0,0,.5)}.message-content{word-break:break-word;line-height:1.4}.message-edited{font-size:.75em;opacity:.7;font-style:italic}.message-actions{display:none;gap:4px;align-self:center;flex-direction:column;margin-left:8px}.message.sent:hover .message-actions{display:flex}.message-actions button{padding:4px 8px;font-size:.75em;background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-color);white-space:nowrap}.message-actions button:hover{background:var(--border-hover)}.message-time{font-size:.7em;opacity:.7;margin-top:2px;align-self:flex-end}.message.received .message-time{align-self:flex-start}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:18px;text-align:center;padding:20px}.chat-input-area{padding:16px 20px;border-top:2px solid var(--border-color);background:var(--bg-primary);display:flex;gap:12px;align-items:center;transition:background-color .3s ease,border-color .3s ease;box-shadow:0 -4px 20px #3aa3ff2e}.chat-input-area input{flex:1;padding:12px 16px;border:2px solid var(--input-border);border-radius:4px;font-size:.95em;background:var(--input-bg);color:var(--text-primary);transition:all .3s ease;font-family:Share Tech Mono,monospace;text-shadow:0 0 10px rgba(58,163,255,.15);box-shadow:inset 0 0 12px #000000a6}.chat-input-area input:focus{outline:none;border-color:var(--text-secondary);box-shadow:0 0 18px #3aa3ff59,inset 0 0 10px #0009;text-shadow:0 0 12px rgba(58,163,255,.35)}.chat-input-area button{padding:12px 24px;white-space:nowrap;border-radius:4px}.edit-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);padding:24px;border-radius:0;box-shadow:0 0 50px #3aa3ff4d,inset 0 0 20px #3aa3ff14;z-index:1000;min-width:300px;max-width:90vw;transition:background-color .3s ease;border:2px solid var(--border-color);font-family:Share Tech Mono,monospace}.edit-dialog-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.edit-dialog h3{margin-bottom:16px;color:var(--text-primary);text-shadow:0 0 10px rgba(58,163,255,.4);text-transform:uppercase;letter-spacing:2px}.edit-dialog input{width:100%;margin-bottom:16px}.edit-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.edit-dialog-actions button{padding:8px 16px;font-size:.95em}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media(max-width:768px){.chat-container{flex-direction:column}.chat-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color);max-height:40vh}.chat-main{height:60vh}.message-bubble{max-width:85%}.auth-form{padding:24px}.chat-header{padding:12px 16px}.chat-messages{padding:16px}}button:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
