*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f2f5;--sidebar:#e4e8ed;--sidebar-active:#cdd3db;--card:#fff;--border:#d1d5db;--text:#1a1a2e;--text-dim:#6b7280;--accent:#2563eb;--accent-light:#dbeafe;--accent-hover:#1d4ed8;--success:#22c55e;--error:#ef4444;--input-bg:#f9fafb;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 16px #0000001a;--radius:8px;--radius-lg:12px;color:var(--text);background:var(--bg);font-family:Inter,-apple-system,system-ui,Segoe UI,Roboto,sans-serif;font-size:14px}body{height:100vh;overflow:hidden}.auth-bg{background:linear-gradient(135deg,#e0e7ff 0%,#dbeafe 40%,#cffafe 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--card);border-radius:var(--radius-lg);width:380px;box-shadow:var(--shadow-lg);padding:40px}.auth-logo-wrap{justify-content:center;margin-bottom:8px;display:flex}.auth-logo-img{mix-blend-mode:multiply;border-radius:16px;width:180px;height:auto;box-shadow:0 8px 28px #2563eb40}.auth-sub{text-align:center;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin:0 0 22px;font-size:12px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.auth-form input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 12px;font-size:14px;transition:border-color .15s}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1a}.auth-error{color:var(--error);border-radius:var(--radius);background:#fef2f2;padding:8px 12px;font-size:13px}.privacy-note{color:var(--text-dim);text-align:center;margin-top:-6px;font-size:11px}.auth-switch{text-align:center;color:var(--text-dim);margin-top:16px;font-size:13px}.auth-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.auth-loading{justify-content:center;align-items:center;height:100vh;display:flex}.wizard-bg{background:linear-gradient(135deg,#e0e7ff 0%,#dbeafe 40%,#cffafe 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.wizard-logo{position:absolute;top:20px;left:24px}.wizard-logo img{border-radius:14px;width:56px;height:56px;box-shadow:0 4px 16px #2563eb40}.wizard-slide{text-align:center;width:100%;max-width:560px;animation:.45s fadeSlide}@keyframes fadeSlide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.wizard-title{color:var(--text);margin-bottom:14px;font-size:30px;font-weight:800;line-height:1.25}.wizard-sub{color:var(--text-dim);margin-bottom:28px;font-size:16px;line-height:1.6}.wizard-cta{flex-direction:column;align-items:center;gap:12px;display:flex}.btn-big{border-radius:12px;padding:14px 36px;font-size:16px;box-shadow:0 6px 20px #2563eb59}.wizard-skip{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.wizard-back{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:13px}.wizard-back-top{position:absolute;top:14px;left:16px}.wizard-choice{flex-direction:column;align-items:center;gap:14px;display:flex}.wizard-choice-title{color:var(--text-dim);margin-bottom:4px;font-size:14px;font-weight:600}.wizard-choice-btns{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.btn-secondary{color:var(--accent);border:2px solid var(--accent);cursor:pointer;background:#fff;border-radius:12px;padding:13px 20px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #2563eb26}.btn-secondary:hover{background:var(--accent-light)}.choice-sub{opacity:.75;margin-top:2px;font-size:12px;font-weight:400;display:block}.field-hint{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.wizard-form{position:relative}.wizard-features{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 28px;display:grid}.wizard-feature{border:1px solid var(--border);text-align:left;box-shadow:var(--shadow);background:#ffffffbf;border-radius:14px;padding:18px 14px}.wf-icon{margin-bottom:8px;font-size:28px}.wf-title{margin-bottom:3px;font-size:14px;font-weight:700}.wf-desc{color:var(--text-dim);font-size:12px;line-height:1.45}.wizard-form{border-radius:18px;width:380px;padding:32px;animation:.45s fadeSlide}.wizard-form-title{text-align:center;margin-bottom:20px;font-size:21px;font-weight:800;line-height:1.3}.wizard-reassure{text-align:center;color:var(--text-dim);margin-top:16px;font-size:12px}.wizard-dots{gap:10px;margin-top:24px;display:flex}.wizard-dot{cursor:pointer;background:#2563eb33;border:none;border-radius:50%;width:10px;height:10px;transition:all .25s}.wizard-dot.active{background:var(--accent);border-radius:6px;width:26px}@media (width<=480px){.wizard-bg{min-height:100dvh;padding:12px}.wizard-logo{margin-bottom:12px;position:static}.wizard-logo img{width:44px;height:44px}.wizard-title{margin-bottom:10px;font-size:22px;line-height:1.3}.wizard-sub{margin-bottom:20px;font-size:14px;line-height:1.55}.wizard-slide{max-width:100%}.wizard-features{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 18px}.wizard-feature{border-radius:12px;padding:12px 10px}.wf-icon{margin-bottom:4px;font-size:22px}.wf-title{font-size:13px}.wf-desc{font-size:11px;line-height:1.4}.wizard-choice-btns{flex-direction:column;gap:8px;width:100%}.btn-big{width:100%;padding:12px 20px;font-size:15px}.btn-secondary{width:100%;padding:12px 20px;font-size:14px}.wizard-form{width:100%;max-width:360px;margin:0 auto;padding:24px 18px}.wizard-form-title{margin-bottom:14px;font-size:18px}.auth-form input{font-size:16px}.wizard-dots{margin-top:14px}.wizard-dot{width:8px;height:8px}.wizard-dot.active{width:22px}}@media (width<=360px){.wizard-features{grid-template-columns:1fr}.wizard-title{font-size:20px}}.boot-wrap{background:linear-gradient(135deg,#e0e7ff 0%,#dbeafe 40%,#cffafe 100%);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.boot-card{background:#0f172a;border-radius:14px;width:420px;max-width:90vw;padding:36px 42px;transition:opacity .4s,transform .4s;box-shadow:0 8px 32px #0f172a59,0 0 0 1px #ffffff0f}.boot-done{opacity:0;transform:scale(.96)}.boot-logo-wrap{justify-content:center;margin-bottom:16px;display:flex}.boot-logo-img{border-radius:12px;width:140px;height:auto}.boot-title{letter-spacing:4px;color:#e2e8f0;text-transform:uppercase;margin-bottom:20px;font-family:ui-monospace,JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:20px;font-weight:700}.boot-title span{color:#60a5fa;font-weight:400}.boot-screen{color:#94a3b8;background:#0a0f1c;border:1px solid #1e293b;border-radius:8px;min-height:132px;padding:14px 16px;font-family:ui-monospace,JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.7}.boot-line{opacity:0;animation:.3s forwards bootIn}.boot-line.boot-brand{color:#93c5fd;font-weight:600}@keyframes bootIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.boot-cursor{color:#22d3ee;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.boot-bar{background:#1e293b;border-radius:2px;height:3px;margin-top:16px;overflow:hidden}.boot-bar-fill{transform-origin:0;background:linear-gradient(90deg,#2563eb,#22d3ee);border-radius:2px;width:100%;height:100%;animation:1.6s ease-in-out forwards bootBar}@keyframes bootBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.boot-note{color:#64748b;text-transform:uppercase;letter-spacing:2px;font-size:11px}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:11px 20px;font-size:14px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.icon-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px}.icon-btn:hover{color:var(--text);background:#0000000f}.icon-btn.logout{font-size:14px}.app{height:100vh;display:flex;overflow:hidden}.sidebar-left{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:290px;display:flex}.sidebar-logo{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sidebar-logo-img{mix-blend-mode:multiply;border-radius:8px;width:120px;height:auto}.ws-dot{background:var(--error);border-radius:50%;width:8px;height:8px;margin-left:auto}.ws-dot[data-on=true]{background:var(--success)}.sidebar-section{flex:1;overflow-y:auto}.sidebar-heading{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);justify-content:space-between;align-items:center;padding:10px 16px 6px;font-size:10px;font-weight:700;display:flex}.create-room{flex-direction:column;gap:6px;padding:0 12px 10px;display:flex}.create-room input{border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.create-room input:focus{border-color:var(--accent);outline:none}.room-type-row{gap:8px;display:flex}.type-opt{cursor:pointer;border:1px solid var(--border);border-radius:6px;flex:1;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:flex}.type-opt.sel{border-color:var(--accent);background:var(--accent-light);font-weight:600}.room-lock-icon{margin-left:4px;font-size:11px}.room-list{padding:0 8px}.room-item{cursor:pointer;color:var(--text);white-space:normal;word-break:break-word;border-radius:6px;align-items:center;gap:4px;padding:7px 12px;font-size:14px;line-height:1.35;transition:background .1s;display:flex}.room-item.active{background:var(--sidebar-active);font-weight:600}.room-item.room-lobby{color:var(--accent);background:linear-gradient(90deg,#2563eb14,#9333ea0f);border:1px solid #2563eb59;margin:2px 0 6px;font-weight:700}.room-item.room-lobby:hover{background:linear-gradient(90deg,#2563eb24,#9333ea1a)}.room-hash{color:var(--text-dim);font-weight:600}.sidebar-empty{color:var(--text-dim);padding:8px 16px;font-size:12px;font-style:italic}.sidebar-bottom{border-top:1px solid var(--border);padding:12px}.user-badge{align-items:center;gap:10px;display:flex}.user-avatar{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{white-space:normal;word-break:break-word;font-size:13px;font-weight:600;line-height:1.3}.user-id{color:var(--text-dim);font-size:11px}.main-panel{flex-direction:column;flex:1;min-width:0;display:flex}.main-header{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 1px 2px #0000000a}.main-header-left{align-items:baseline;gap:6px;display:flex}.header-hash{color:var(--text-dim);font-size:16px;font-weight:700}.header-room{font-size:16px;font-weight:600}.header-topic{color:var(--text-dim);margin-left:8px;font-size:12px}.header-lobby{background:linear-gradient(90deg,#2563eb,#9333ea);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.lobby-badge{text-transform:uppercase;letter-spacing:1px;color:#fff;background:linear-gradient(90deg,#2563eb,#9333ea);border-radius:20px;margin-left:8px;padding:2px 10px;font-size:9px;font-weight:700}.lobby-welcome{text-align:center;background:radial-gradient(at top,#2563eb0f,#0000 60%);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:30px 20px;display:flex}.lobby-icon{margin-bottom:8px;font-size:52px}.lobby-welcome h2{background:linear-gradient(90deg,#2563eb,#9333ea);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:22px}.lobby-welcome p{color:var(--text-dim);margin-bottom:20px}.lobby-guide{text-align:left;flex-direction:column;gap:8px;width:100%;max-width:460px;display:flex}.guide-item{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;align-items:flex-start;gap:12px;padding:10px 14px;font-size:13px;display:flex}.guide-item span{font-size:18px}.guide-item code{background:var(--accent-light);border-radius:4px;padding:1px 6px;font-size:12px}.lobby-tip{color:var(--text-dim);background:var(--accent-light);border-radius:20px;margin-top:18px;padding:8px 18px;font-size:12px}.lobby-tutorial{width:100%;max-width:520px}.tut-title{text-transform:uppercase;letter-spacing:1px;color:var(--accent);text-align:center;margin-bottom:10px;font-size:11px;font-weight:700}.invite-btn{font-size:13px}.invite-modal{flex-direction:column;width:420px;max-height:80vh;display:flex}.invite-msg{color:var(--success);background:#22c55e1f;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:12px}.invite-list{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.invite-item{border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.invite-item:hover{background:#0000000a}.invite-name{flex:1;min-width:0;font-size:13px;font-weight:600}.invite-sub{color:var(--text-dim);font-size:11px;font-weight:400}.btn-invite-sm{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:600}.btn-invite-sm:hover{background:var(--accent-hover)}.invite-state{color:var(--success);font-size:11px;font-weight:600}.online-global{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.member-count{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.messages{flex-direction:column;flex:1;gap:2px;padding:16px 20px;display:flex;overflow-y:auto}.messages-empty{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-icon{opacity:.5;margin-bottom:8px;font-size:40px}.empty-sub{margin-top:4px;font-size:12px}.msg{align-items:baseline;gap:8px;padding:3px 0;line-height:1.5;display:flex}.msg-mine{flex-direction:row-reverse}.msg-mine .msg-nick{order:1}.msg-mine .msg-time{order:2;min-width:auto}.msg-mine .msg-body{background:var(--accent-light);border-radius:12px 12px 2px;max-width:70%;padding:6px 12px}.msg-theirs .msg-body{max-width:70%}.msg-body .mention{color:var(--accent);cursor:pointer;font-weight:600}.msg-menu{gap:6px;margin-top:4px;display:flex}.msg-menu-item{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:6px;padding:3px 10px;font-size:11px}.msg-menu-item:hover{background:var(--accent-light)}.msg-menu-item.danger{color:var(--error);border-color:#ef44444d}.msg-menu-item.danger:hover{background:#fef2f2}.msg-time{color:#9ca3af;font-variant-numeric:tabular-nums;text-align:right;min-width:44px;font-size:11px}.msg-nick{white-space:nowrap;font-size:13px;font-weight:600}.msg-body{word-break:break-word;font-size:14px;line-height:1.5}.msg-reactions{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.reaction-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;display:inline-flex}.reaction-btn:hover{border-color:var(--purple);background:#6a5fc11a}.reaction-mine{border-color:var(--accent);background:#2563eb1f}.reaction-add{opacity:.4;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:2px 4px;font-size:12px;transition:opacity .15s}.reaction-add:hover{opacity:1;background:#6a5fc114}.typing-indicator{color:var(--text-dim);background:var(--bg);border-top:1px solid #362d594d;align-items:center;gap:8px;padding:3px 16px;font-size:12px;font-style:italic;display:flex}.typing-dots{gap:3px;display:flex}.typing-dots span{background:var(--muted);border-radius:50%;width:5px;height:5px;animation:1.4s infinite typeDot}.typing-dots .dot2{animation-delay:.2s}.typing-dots .dot3{animation-delay:.4s}@keyframes typeDot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-3px)}}.mod-menu{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:30;border-radius:10px;min-width:170px;padding:4px 0;position:absolute;top:100%;left:0}.mod-item{cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.mod-item:hover{background:var(--accent-light)}.mod-item.danger{color:var(--error)}.mod-item.promote{color:var(--success)}.unread-badge{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;display:inline-block}.msg-action{font-style:italic}.msg-action .msg-body{color:var(--text-dim)}.msg-system{justify-content:center;padding:6px 0}.msg-system-text{color:var(--text-dim);background:var(--bg);border-radius:10px;padding:3px 12px;font-size:11px;font-style:italic}.input-bar{border-top:1px solid var(--border);background:var(--card);align-items:center;gap:8px;padding:10px 16px;display:flex}.input-prefix{color:var(--text-dim);text-align:right;min-width:80px;font-size:12px;font-weight:600}.input-wrap{flex:1;position:relative}.input-wrap input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:10px 14px;font-size:14px;transition:border-color .15s}.input-wrap input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb1a}.autocomplete{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:20;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden}.ac-item{cursor:pointer;font-size:13px;font-family:var(--mono,monospace);color:var(--accent);padding:8px 14px}.btn-send{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .15s;display:flex}.btn-send:hover{background:var(--accent-hover)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.sidebar-right{background:var(--sidebar);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;display:flex}.member-list{flex:1;padding:0 8px;overflow-y:auto}.member-group{margin-bottom:12px}.member-group-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:2px;padding:4px 8px;font-size:10px;font-weight:700}.member-group-label.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.member-group-label.clickable:hover{color:var(--accent)}.group-count{color:var(--muted,var(--text-dim));font-size:10px;font-weight:600}.caret{margin-left:auto;font-size:11px}.group-body{padding-left:4px}.sub-role-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);opacity:.85;padding:6px 8px 2px;font-size:9px;font-weight:700}.member-item{border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.member-avatar{color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex;position:relative;overflow:hidden}.member-avatar-img{object-fit:cover;border-radius:7px;width:100%;height:100%}.member-dot{background:var(--border);border:2px solid var(--sidebar);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px}.member-dot.online{background:var(--success)}.member-name{white-space:normal;word-break:break-word;font-size:13px;font-weight:500;line-height:1.35}.member-role{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:#2563eb1a;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:9px;font-weight:700}.role-prefix{margin-right:2px;font-weight:700}.role-prefix.owner,.role-prefix.admin,.role-prefix.operator{color:var(--error)}.role-prefix.voice{color:var(--success)}.lock-badge{margin-left:4px;font-size:13px}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.btn-link:hover{background:var(--accent-light)}.leave-btn{color:var(--error)}.leave-btn:hover{background:#fef2f2}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);background:0 0;padding:8px 14px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--radius-lg);width:380px;max-width:90vw;box-shadow:var(--shadow-lg);padding:24px}.modal h3{margin-bottom:14px;font-size:15px}.modal-sub{color:var(--text-dim);margin:-8px 0 12px;font-size:12px}.modal input{border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:9px 12px;font-size:14px}.modal input:focus{border-color:var(--accent);outline:none}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.profile-modal{width:420px}.profile-head{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-head-info{flex:1;min-width:0}.profile-head-info h3{word-break:break-word;margin-bottom:2px;font-size:16px}.profile-avatar{object-fit:cover;border-radius:12px;flex-shrink:0;width:56px;height:56px}.profile-avatar-ph{color:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.profile-username{color:var(--text-dim);margin-bottom:4px;font-size:12px}.profile-role{text-transform:uppercase;color:var(--accent);background:#2563eb1f;border-radius:5px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-block}.profile-body{border-top:1px solid var(--border);padding-top:12px}.profile-row{align-items:flex-start;gap:12px;padding:5px 0;font-size:13px;display:flex}.profile-row span:first-child{color:var(--text-dim);flex-shrink:0;min-width:56px;font-weight:600}.profile-row span:last-child{text-align:right;word-break:break-word;flex:1}.profile-rooms{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.profile-room-tag{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:2px 8px;font-size:11px}.profile-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;display:flex}.profile-actions .btn-primary,.profile-actions .btn-danger,.profile-actions .btn-ghost{border-radius:8px;padding:8px 14px;font-size:12px}.btn-danger{background:var(--error);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:9px 14px;font-size:13px;font-weight:600}.btn-danger:hover{background:#dc2626}.btn-dm{background:var(--success)!important}.btn-dm:hover{background:#16a34a!important}.btn-promote{background:var(--purple)!important}.btn-promote:hover{background:#6148a8!important}.avatar-upload-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:11px;display:block}.avatar-upload-btn:hover{text-decoration:underline}.profile-edit{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.profile-edit label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.profile-edit input{border:1px solid var(--border);border-radius:7px;padding:7px 10px;font-size:13px}.profile-edit input:focus{border-color:var(--accent);outline:none}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-app{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.mobile-header{padding-top:calc(14px + env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--border);min-height:calc(50px + env(safe-area-inset-top));z-index:20;flex-shrink:0;align-items:center;gap:10px;padding-bottom:10px;padding-left:14px;padding-right:14px;display:flex;position:sticky;top:0}.mobile-logo{border-radius:9px;flex-shrink:0;width:34px;height:34px}.mobile-profile-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0}.mobile-profile-avatar{object-fit:cover;border:2px solid var(--accent);border-radius:50%;width:30px;height:30px}.mobile-header-mid{flex:1;min-width:0}.mobile-room-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.mobile-room-topic{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.mobile-tab-content{padding:10px 14px calc(70px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.mobile-tab-title{margin-bottom:12px;font-size:15px;font-weight:700}.mobile-rooms-header{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.mprofile-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:20px 18px}.mprofile-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.mprofile-avatar{object-fit:cover;border-radius:16px;flex-shrink:0;width:64px;height:64px}.mprofile-avatar-ph{color:#fff;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex}.mprofile-name{font-size:16px;font-weight:700}.mprofile-username{color:var(--text-dim);font-size:12px}.btn-block{width:100%;margin-bottom:10px;display:block}.btn-logout{color:var(--error);border:2px solid var(--error);cursor:pointer;background:#fff;border-radius:10px;padding:11px 16px;font-size:14px;font-weight:700}.btn-logout:hover{background:#fef2f2}.mobile-room-list{flex-direction:column;gap:6px;display:flex}.mobile-room-item{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.mobile-room-item.active{border-color:var(--accent);background:var(--accent-light)}.mobile-room-item.room-lobby{background:linear-gradient(90deg,#2563eb14,#9333ea0f);border-color:#2563eb66}.mobile-chat{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-chat .messages{flex:1;padding-bottom:8px;overflow-y:auto}.mobile-chat .input-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom));flex-shrink:0}.mobile-nav{background:var(--card);border-top:1px solid var(--border);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:50;flex-shrink:0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{cursor:pointer;color:var(--text-dim);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:5px 0;font-size:11px;display:flex;position:relative}.mn-icon{font-size:20px;line-height:1}.mn-label{font-size:10px;font-weight:600}.mn-badge{background:var(--error);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:0;right:calc(50% - 20px)}@media (width>=901px){.mobile-app{display:none!important}}@media (width<=900px){.mobile-nav{display:flex}}.dm-panel{flex-direction:column}.dm-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.dm-title{font-size:16px;font-weight:700}.dm-list{flex:1;padding:8px;overflow-y:auto}.dm-item{cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.dm-item:hover{background:var(--accent-light)}.dm-avatar{font-size:22px}.dm-name{flex:1;font-size:14px;font-weight:600}.dm-empty{color:var(--text-dim);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}@media (width<=900px){.mobile-hidden{display:none!important}.app{padding-bottom:64px}.main-header{padding-top:calc(12px + env(safe-area-inset-top))}.sidebar-right{z-index:40;background:var(--sidebar);width:100%;display:none;position:fixed;top:0;bottom:64px;right:0;overflow-y:auto}.sidebar-right:not(.mobile-hidden){display:block}.sidebar-left{width:220px}.sidebar-left.mobile-hidden,.input-prefix,.member-count{display:none}}@media (width>=901px){.mobile-nav{display:none!important}.mobile-hidden{display:block!important}.dm-panel{display:none!important}}:root{--bg:#07111f;--sidebar:#0a1627;--sidebar-active:#123d70;--card:#0b1b2f;--border:#1d3855;--text:#e8f1ff;--text-dim:#8fa5bf;--accent:#2583ff;--accent-light:#2583ff29;--accent-hover:#4a9aff;--input-bg:#08182a;--success:#29d391;--error:#ff5d6c;--shadow:0 4px 18px #00000038;--shadow-lg:0 16px 44px #0000006b}body{background:var(--bg);color:var(--text)}#root{border:0;width:100%;max-width:none}.app{background:var(--bg)}.sidebar-left,.sidebar-right{border-color:var(--border);background:linear-gradient(#091728 0%,#07111f 100%)}.sidebar-logo{border-color:var(--border);background:#081425;padding:14px 16px}.sidebar-logo-img{mix-blend-mode:normal;width:138px}.sidebar-heading{color:#91a8c2}.room-item{color:#dce9f8}.room-item:hover{background:#2583ff1a}.room-item.active{color:#fff;background:linear-gradient(90deg,#14549a,#10345f)}.room-item.room-lobby{color:#70b1ff;background:linear-gradient(90deg,#2583ff2e,#6743be21);border-color:#2583ff8c}.sidebar-bottom{border-color:var(--border);background:#081425}.main-panel{background:#081626}.main-header{border-color:var(--border);background:#0b1c31;box-shadow:0 1px #ffffff08}.header-hash{color:#5f83a8}.header-room{color:#f0f6ff}.header-topic{color:#8da6c0}.header-lobby{background:linear-gradient(90deg,#56a6ff,#9b7cff);-webkit-background-clip:text;background-clip:text}.lobby-badge{background:linear-gradient(90deg,#1769d0,#6949d8)}.messages{background:radial-gradient(at top,#0c2038 0%,#081626 54%,#07111f 100%);padding:16px 18px}.msg{padding:4px 0}.msg-theirs .msg-body{color:#dce9f8}.msg-mine .msg-body{color:#f4f8ff;background:#2583ff2e;border:1px solid #2583ff38}.msg-time{color:#607d9c}.msg-nick{text-shadow:0 0 12px #ffffff0d}.msg-system-text{color:#7fa0c3;background:#0d253d;border:1px solid #183a5c}.mention{color:#66b0ff!important}.input-bar{border-color:var(--border);background:#091a2e}.input-wrap input{color:#edf6ff;background:#071525;border-color:#234463}.input-wrap input::placeholder{color:#607d9c}.input-wrap input:focus{border-color:#2583ff;box-shadow:0 0 0 3px #2583ff1f}.btn-send{background:linear-gradient(135deg,#2d8cff,#1667d8);box-shadow:0 5px 14px #2583ff3d}.member-group-label{color:#8ea8c2}.member-item:hover{background:#2583ff1a}.member-name{color:#dce9f8}.member-role{background:#2583ff24}.autocomplete{background:#0b1d32;border-color:#285072}.ac-item{color:#70b5ff}.ac-item:hover{background:#12385e}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020811b8}.modal{color:var(--text);box-shadow:var(--shadow-lg);background:#0c1d31;border:1px solid #244764}.modal input{color:#eef6ff;background:#071525;border-color:#294966}.btn-ghost{color:#dce9f8;background:#0a192b;border-color:#2a4864}.btn-ghost:hover{background:#102b46}.lobby-welcome{background:radial-gradient(at top,#2583ff26,#0000 60%)}.lobby-welcome h2{background:linear-gradient(90deg,#5aa9ff,#9d7cff);-webkit-background-clip:text;background-clip:text}.lobby-welcome p,.lobby-tip{color:#8fa8c2}.guide-item{color:#dbe9f7;background:#0d2035;border-color:#23435f;box-shadow:0 3px 12px #00000029}.guide-item b{color:#67afff}.guide-item code{color:#8cc4ff;background:#2583ff24}.lobby-tip{background:#2583ff1f}.mobile-app{--mobile-scale:var(--mobile-ui-scale,1);color:#eaf3ff;isolation:isolate;background:#061221}.mobile-header{background:#071423f7;border-bottom:1px solid #1d3855;box-shadow:0 5px 18px #00000038}.mobile-logo{box-shadow:0 3px 12px #2583ff40}.mobile-room-name{color:#f3f7ff}.mobile-room-topic{color:#7691ad}.mobile-profile-avatar{border-color:#2d8cff}.mobile-tab-content{background:linear-gradient(#08182a,#061221)}.mobile-tab-title,.mobile-rooms-header{color:#f0f6ff}.mobile-room-item,.dm-item,.mprofile-card{color:#e4eefb;background:linear-gradient(#0d2137,#0a1a2c);border-color:#203f5c;box-shadow:0 5px 16px #00000029}.mobile-room-item.active{background:linear-gradient(90deg,#124f8e,#14345c);border-color:#338eff}.mobile-room-item.room-lobby{background:linear-gradient(90deg,#2583ff33,#7149ca29)}.mobile-chat{background:#061221}.mobile-chat .messages{background:linear-gradient(#091b2e,#061221);padding:12px 12px 8px}.mobile-chat .msg{flex-wrap:wrap;gap:6px;padding:5px 0}.mobile-chat .msg-time{color:#587694;min-width:38px;font-size:10px}.mobile-chat .msg-nick{font-size:12px}.mobile-chat .msg-body{max-width:calc(100% - 48px);font-size:14px}.mobile-chat .msg-mine .msg-body{max-width:82%}.mobile-chat .input-bar{padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#071729}.mobile-chat .input-wrap input{border-radius:12px;min-height:42px;font-size:16px}.mobile-chat .btn-send{border-radius:12px;width:42px;height:42px}.mobile-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#061221fa;border-top:1px solid #21415e;box-shadow:0 -8px 22px #00000047}.mobile-nav-item{color:#6e89a4;min-height:48px}.mobile-nav-item.active{color:#56a7ff}.mn-icon{font-size:19px}.mn-label{letter-spacing:.2px;font-size:9px}.mn-badge{background:#ff5267;box-shadow:0 0 0 2px #061221}.mobile-zoom-controls{background:#0a1b2d;border:1px solid #254866;border-radius:9px;flex-shrink:0;align-items:center;gap:2px;margin-left:auto;padding:2px;display:flex}.mobile-zoom-controls button{color:#a9c5df;cursor:pointer;background:0 0;border:0;border-radius:6px;width:26px;height:26px;font-size:16px;line-height:1}.mobile-zoom-controls button:hover:not(:disabled){color:#fff;background:#123451}.mobile-zoom-controls button:disabled{opacity:.38;cursor:not-allowed}.mobile-zoom-controls .zoom-lock{font-size:12px}.mobile-zoom-controls .zoom-lock.locked{color:#58aaff;background:#2583ff24}@media (width<=900px){.mobile-header{min-height:calc(54px + env(safe-area-inset-top));gap:7px;padding-left:10px;padding-right:8px}.mobile-logo{width:32px;height:32px}.mobile-profile-btn{display:block}.leave-btn{padding:3px 4px;font-size:10px}.mobile-zoom-controls{margin-left:0}.mobile-zoom-controls button{width:24px;height:24px}}@media (width<=380px){.mobile-header{gap:5px}.mobile-logo{width:29px;height:29px}.mobile-room-name{font-size:13px}.mobile-room-topic{display:none}.mobile-zoom-controls button{width:21px;height:22px;font-size:14px}.mobile-profile-avatar{width:27px;height:27px}.leave-btn{display:none}.mn-label{font-size:8px}.mn-icon{font-size:18px}}@media (width<=900px){.mobile-tab-content,.mobile-chat{zoom:var(--mobile-scale)}}@media (width>=901px){.messages{font-family:Inter,system-ui,sans-serif}.msg-nick:before{content:"<";opacity:.55;font-weight:400}.msg-nick:after{content:">";opacity:.55;font-weight:400}.msg-system-text:before{content:"*** ";color:#5d83a5}.room-item{border-left:2px solid #0000}.room-item.active{border-left-color:#4ca1ff}.sidebar-right{width:260px}.sidebar-left{width:280px}}@media (width<=899px){html,body,#root{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}.mobile-app{touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}.mobile-zoom-controls{display:none!important}}.role-prefix.owner{color:#f1c40f;font-weight:800}.role-prefix.admin{color:#e67e22;font-weight:800}.role-prefix.operator{color:#3498db;font-weight:800}.role-prefix.voice{color:#2ecc71;font-weight:700}.role-badge{opacity:.9;margin-left:6px;font-size:11px;font-weight:700}.msg-body{flex:auto;min-width:0}.attach-btn{color:#8fc6ff;cursor:pointer;background:#0b2036;border:1px solid #2a4d6b;border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.attach-btn:hover{background:#12385b;border-color:#3c8fda}.message-image{object-fit:contain;cursor:pointer;border-radius:12px;width:auto;max-width:min(420px,70vw);height:auto;max-height:420px;display:block}.reaction-count{min-width:10px;font-weight:800}.msg{position:relative}.emoji-burst{z-index:10;pointer-events:none;filter:drop-shadow(0 4px 8px #00000059);font-size:34px;animation:.85s cubic-bezier(.2,.8,.3,1) forwards emojiBurst;position:absolute;top:50%;left:48%}@keyframes emojiBurst{0%{opacity:0;transform:translate(-50%,8px)scale(.45)rotate(-12deg)}18%{opacity:1;transform:translate(-50%,-8px)scale(1.2)rotate(6deg)}55%{opacity:1;transform:translate(-50%,-34px)scale(1)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-72px)scale(.72)rotate(8deg)}}@media (width<=900px){.attach-btn{border-radius:11px;width:40px;height:40px}.message-image{max-width:82vw;max-height:340px}.emoji-burst{font-size:32px}}@media (width>=901px){:root{--bg:#d4d0c8;--sidebar:#f1f1f1;--sidebar-active:#c7dcf7;--card:#fff;--border:#9aa8b5;--text:#14253b;--text-dim:#526273;--accent:#075bd7;--accent-light:#e7f0ff;--accent-hover:#0649aa}body{background:#d4d0c8;font-family:Segoe UI,Tahoma,Arial,sans-serif}.app{background:#d4d0c8;height:100vh;padding-top:92px}.desktop-toolbar{z-index:100;background:#f3f3f3;border-bottom:1px solid #7f8c98;height:92px;position:fixed;inset:0 0 auto;box-shadow:0 1px 3px #00000040}.desktop-menu{color:#182a40;background:linear-gradient(#fff,#e8e8e8);border-bottom:1px solid #c3cbd3;align-items:center;gap:30px;height:28px;padding:0 16px;font-size:14px;display:flex}.desktop-menu span{cursor:default}.desktop-toolbar-row{align-items:stretch;height:64px;display:flex}.desktop-brand{border-right:1px solid #c6ccd2;align-items:center;gap:8px;width:168px;padding:0 14px;font-size:18px;display:flex}.desktop-brand img{border-radius:7px;width:30px;height:30px}.desktop-tools{flex:1;align-items:stretch;display:flex}.desktop-tools>button,.desktop-tool-wrap>button{color:#1b3048;cursor:pointer;background:linear-gradient(#fff,#ececec);border:0;border-right:1px solid #d1d6db;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:78px;padding:3px 10px;font-size:11px;display:flex}.desktop-tools>button:hover,.desktop-tool-wrap>button:hover{background:#dcecff}.desktop-tools>button span,.desktop-tool-wrap>button span{font-size:23px;line-height:24px}.desktop-tool-wrap{display:flex;position:relative}.desktop-emoji-picker{z-index:200;background:#fff;border:1px solid #7d8b99;grid-template-columns:repeat(6,1fr);gap:4px;width:190px;padding:7px;display:grid;position:absolute;top:64px;left:0;box-shadow:0 4px 14px #00000040}.desktop-emoji-picker button{cursor:pointer;background:#f5f5f5;border:1px solid #d2d7dc;border-radius:3px;padding:5px;font-size:20px}.desktop-emoji-picker button:hover{background:#dcecff}.desktop-tagline{color:#263b53;border-left:1px solid #c6ccd2;width:160px;padding:8px 12px;font-size:12px;line-height:1.15}.sidebar-left{background:#f7f7f7;border-right:1px solid #7e8d9c;width:238px}.sidebar-left .sidebar-logo{display:none}.desktop-tree-root{border-bottom:1px solid #d1d7dc;align-items:center;gap:6px;height:32px;padding:0 8px;font-size:13px;display:flex}.tree-expander{color:#36536d;font-size:13px}.tree-icon{font-size:14px}.sidebar-heading{text-transform:none;letter-spacing:0;color:#17314d;padding:7px 10px 4px;font-size:13px}.room-list{padding:0 8px}.room-item{color:#16304c;border-radius:2px;padding:4px 8px;font-size:13px}.room-item:hover{background:#e5eef9}.room-item.active{color:#fff;background:#1d72d8;font-weight:600}.room-item.room-lobby{color:#164f92;background:#dcecff;border:1px solid #8ab3df;margin:1px 0 4px}.room-hash{color:#2766a1}.sidebar-bottom{background:#e8e8e8;border-top:1px solid #aab4be;padding:7px 9px}.main-panel{background:#fff}.main-header{min-height:38px;box-shadow:none;background:linear-gradient(#edf6ff,#d9eafa);border:1px solid #91b5d5;border-radius:0;padding:7px 10px}.header-hash{color:#1c537f;font-size:13px}.header-room{color:#17324e;font-size:13px}.header-topic{color:#4d6276;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lobby-badge{color:#24619b;background:#e5f1ff;border-radius:2px;padding:1px 5px}.messages{background:#fff;gap:0;padding:6px 10px;font-family:Consolas,Courier New,monospace}.msg{flex-wrap:wrap;align-items:baseline;gap:0;padding:1px 0;font-size:13px;line-height:1.35;display:flex}.msg-mine,.msg-theirs{flex-direction:row}.msg-mine .msg-nick,.msg-mine .msg-time{order:initial}.msg-time{text-align:right;color:#526b84;min-width:72px;margin-right:8px;font-size:12px}.msg-nick{min-width:96px;margin-right:7px;font-size:13px}.msg-body,.msg-mine .msg-body,.msg-theirs .msg-body{color:#17283b;word-break:break-word;background:0 0;border-radius:0;flex:auto;min-width:0;max-width:none;padding:0;font-size:13px}.msg-system{color:green;justify-content:flex-start}.msg-system-text{color:green;background:0 0;border-radius:0;padding:0;font-style:normal}.msg-reactions{width:100%;margin-top:1px;margin-left:176px}.reaction-btn{background:#eef3f8;border:1px solid #b8c6d3;border-radius:10px;padding:1px 7px;font-family:Segoe UI,Tahoma,Arial,sans-serif}.reaction-add{font-family:Segoe UI,Tahoma,Arial,sans-serif}.message-image{border:1px solid #8ca9c4;border-radius:4px;max-width:360px;max-height:240px;margin:3px 0 2px;display:block}.input-bar{background:#e9edf2;border-top:1px solid #899aa9;gap:5px;min-height:48px;padding:5px 8px}.input-prefix{color:#48647e;width:auto;min-width:0;font-size:11px}.input-wrap input{background:#fff;border:1px solid #7e9bb8;border-radius:2px;height:34px;padding:7px 9px;font-family:Segoe UI,Tahoma,Arial,sans-serif}.attach-btn{cursor:pointer;background:linear-gradient(#fff,#dce5ee);border:1px solid #8ba1b5;border-radius:3px;min-width:34px;height:34px}.btn-send{background:linear-gradient(#1675df,#0756b7);border-radius:3px;width:64px;height:34px;font-size:13px}.sidebar-right{background:#f7f7f7;border-left:1px solid #7e8d9c;width:238px}.member-list{padding:0 7px}.member-group{margin-bottom:8px}.member-group-label{text-transform:none;letter-spacing:0;color:#17324e;border-bottom:1px solid #d5dce2;padding:5px 6px 3px;font-size:12px}.sub-role-label{text-transform:none;letter-spacing:0;color:#405a73;padding:4px 6px 2px;font-size:11px}.member-item{border-radius:2px;padding:3px 5px;font-size:12px}.member-item:hover{background:#e2edf9}.member-name{font-size:12px}.member-avatar{border-radius:3px;width:18px;height:18px;font-size:10px}.member-avatar-img{border-radius:3px;width:18px;height:18px}.msg,.msg-body,.msg-nick,.msg-time,.msg-reactions{box-shadow:none!important;border:0!important}.msg{background:0 0!important;border-bottom:0!important}.msg-body,.msg-mine .msg-body,.msg-theirs .msg-body{color:#17283b!important;background:0 0!important}.msg-system-text{color:green!important;background:0 0!important;border:0!important}.reaction-btn{color:#17324e!important;background:#eef3f8!important;border-color:#b8c6d3!important}.reaction-add{color:#526273!important}.input-wrap input{color:#17283b!important;background:#fff!important}.input-wrap input::placeholder{color:#718096!important}.modal-overlay{-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important;background:#14202d61!important}.profile-modal,.profile-modal.modal{color:#17283b!important;background:#f7f7f7!important;border:1px solid #7e8d9c!important;border-radius:4px!important;box-shadow:0 8px 24px #00000047!important}.profile-modal h3,.profile-modal .profile-head-info h3{color:#17283b!important}.profile-modal .profile-username,.profile-modal .profile-row span:first-child,.profile-modal .profile-edit label{color:#526273!important}.profile-modal .profile-row span:last-child{color:#17283b!important}.profile-modal .profile-body,.profile-modal .profile-actions,.profile-modal .profile-edit{border-color:#c3cbd3!important}.profile-modal .profile-role{color:#1d5ea8!important;background:#e5f1ff!important;border:1px solid #b5cee8!important}.profile-modal .profile-room-tag{color:#17324e!important;background:#fff!important;border-color:#aab8c5!important}.profile-modal .btn-ghost{color:#17324e!important;background:linear-gradient(#fff,#e7e7e7)!important;border-color:#8ba1b5!important}.profile-modal input{color:#17283b!important;background:#fff!important;border-color:#8ba1b5!important}.profile-modal .avatar-upload-btn{color:#075bd7!important}}@media (width<=900px){:root{--bg:#d4d0c8;--sidebar:#f1f1f1;--sidebar-active:#c7dcf7;--card:#fff;--border:#aab4be;--text:#17283b;--text-dim:#526273;--accent:#075bd7;--accent-light:#e7f0ff;--accent-hover:#0649aa;--input-bg:#fff;--success:#18864b;--error:#c6283d}html,body,#root{width:100%;max-width:none;min-height:100%;overflow:hidden}body{color:#17283b;background:#d4d0c8;font-family:Segoe UI,Tahoma,Arial,sans-serif}.mobile-app{color:#17283b;background:#d4d0c8;width:100%;height:100dvh;min-height:100dvh;overflow:hidden}.mobile-header{min-height:calc(56px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 8px 8px;background:linear-gradient(#fff,#e9edf1);border-bottom:1px solid #7e8d9c;gap:7px;box-shadow:0 1px 3px #00000029}.mobile-logo{width:34px;height:34px;box-shadow:none;border-radius:5px}.mobile-room-name{color:#17324e;font-size:14px;font-weight:700}.mobile-room-topic{color:#526273}.mobile-profile-avatar{border:1px solid #6e94b8;border-radius:4px;width:31px;height:31px}.mobile-header .leave-btn{color:#b3263d;padding:4px 5px;font-size:10px}.mobile-chat{background:#fff;min-height:0}.mobile-chat .messages{color:#17283b;overscroll-behavior:contain;background:#fff;gap:0;padding:7px 8px 6px}.mobile-chat .msg{background:0 0;border:0;flex-wrap:wrap;align-items:flex-start;gap:0 5px;padding:3px 0;line-height:1.4;display:flex}.mobile-chat .msg-time{text-align:right;color:#60758b;flex:0 0 38px;min-width:38px;margin:0;padding-top:1px;font-size:10px}.mobile-chat .msg-nick{color:#1b4f86;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;max-width:38%;margin:0;font-size:12px;font-weight:700;overflow:hidden}.mobile-chat .msg-body,.mobile-chat .msg-mine .msg-body,.mobile-chat .msg-theirs .msg-body{overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;flex:120px;min-width:0;max-width:none;padding:0;font-size:14px;line-height:1.45;color:#17283b!important}.mobile-chat .msg-reactions{flex:0 0 100%;gap:3px;width:auto;margin:2px 0 0 43px;padding:0}.mobile-chat .reaction-btn{border-radius:10px;min-height:25px;padding:2px 7px;font-size:12px;color:#17324e!important;background:#eef3f8!important;border:1px solid #b8c6d3!important}.mobile-chat .reaction-add{color:#526273;opacity:.75;min-width:28px;min-height:25px;padding:2px 4px;font-size:13px}.mobile-chat .message-image{border:1px solid #8ca9c4;border-radius:4px;width:auto;max-width:calc(100vw - 70px);max-height:300px;display:block}.mobile-chat .emoji-burst{font-size:30px}.mobile-chat .input-bar{background:#e9edf2;border-top:1px solid #899aa9;gap:5px;min-height:56px;padding:6px 7px;box-shadow:0 -1px 3px #0000001f}.mobile-chat .input-wrap{min-width:0}.mobile-chat .input-wrap input{-webkit-appearance:none;background:#fff;border:1px solid #7e9bb8;border-radius:4px;width:100%;height:42px;min-height:42px;padding:8px 10px;font-size:16px;color:#17283b!important}.mobile-chat .input-wrap input::placeholder{opacity:1;color:#718096!important}.mobile-chat .attach-btn{color:#1f5f99;background:linear-gradient(#fff,#dce5ee);border:1px solid #8ba1b5;border-radius:4px;flex:0 0 40px;width:40px;height:42px;font-size:17px}.mobile-chat .btn-send{width:42px;height:42px;box-shadow:none;background:linear-gradient(#1675df,#0756b7);border-radius:4px;flex:0 0 42px;font-size:16px}.mobile-tab-content{color:#17283b;padding:10px 10px calc(74px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:#fff;overflow-y:auto}.mobile-tab-title,.mobile-rooms-header{color:#17324e;font-size:15px}.mobile-profile-page{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}.mobile-profile-page .mobile-tab-title{margin:2px 2px 10px;font-weight:700}.mobile-profile-page .mprofile-card{padding:14px}.mobile-profile-page .mprofile-head{align-items:center}.mobile-profile-page .mprofile-avatar{border-radius:6px;width:58px;height:58px}.mobile-profile-page .mprofile-name{font-size:17px;line-height:1.2}.mobile-profile-page .mprofile-username{margin-top:2px;font-size:12px}.mobile-profile-page .mprofile-details{margin-top:12px}.mobile-profile-page .mprofile-detail{box-sizing:border-box;min-height:36px}.mobile-profile-page .mprofile-edit-action,.mobile-profile-page .mprofile-section{margin-top:10px}.mobile-room-list{gap:3px}.mobile-room-item,.dm-item,.mprofile-card{box-shadow:none;color:#17283b;background:#fff;border:1px solid #aab4be;border-radius:4px}.mobile-room-item{min-height:44px;padding:10px 11px}.mobile-room-item.active{color:#17324e;background:#c7dcf7;border-color:#5f94c4}.mobile-room-item.room-lobby{color:#164f92;background:#e1efff;border-color:#8ab3df}.mobile-rooms .create-room{padding:0 0 9px}.mobile-rooms .create-room input{color:#17283b;background:#fff;border:1px solid #8da4b8;border-radius:4px;min-height:40px;padding:8px 10px;font-size:15px}.mobile-rooms .type-opt{color:#304a63;border:1px solid #aab4be;border-radius:4px;min-height:38px}.mobile-rooms .type-opt.sel{background:#e1efff;border-color:#5f94c4}.mobile-rooms .btn-sm{border-radius:4px;min-height:40px}.mobile-nav{height:auto;min-height:58px;padding:4px 0 calc(4px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;z-index:60;background:linear-gradient(#fff,#e8ecef);border-top:1px solid #7e8d9c;box-shadow:0 -2px 6px #00000024}.mobile-nav-item{color:#526273;min-height:48px;padding:5px 0;font-size:11px}.mobile-nav-item.active{color:#075bd7;background:#e1efff}.mn-icon{font-size:19px}.mn-label{font-size:10px;font-weight:700}.mn-badge{background:#c6283d;box-shadow:0 0 0 2px #fff}.mprofile-card{padding:16px}.mprofile-name{color:#17324e}.mprofile-username{color:#526273}.mprofile-role{color:#1d5ea8;background:#e5f1ff;border:1px solid #b5cee8;border-radius:3px;margin-top:5px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.mprofile-details{border-top:1px solid #d5dce2;margin:14px 0 4px}.mprofile-detail{border-bottom:1px solid #e2e6ea;justify-content:space-between;align-items:flex-start;gap:14px;padding:8px 0;font-size:12px;display:flex}.mprofile-detail span{color:#526273;flex:0 0 88px}.mprofile-detail strong{color:#17283b;text-align:right;overflow-wrap:anywhere;font-weight:600}.mprofile-edit-action{margin-top:10px}.mprofile-edit-action .btn-block{min-height:42px}.mprofile-section{background:#f7f7f7;border:1px solid #aab4be;border-radius:4px;margin-top:10px;padding:11px}.mprofile-section-title{color:#17324e;margin-bottom:8px;font-size:12px;font-weight:700}.mprofile-notifications .field-hint{margin-top:7px}.mprofile-account-action{background:0 0;border:0;padding:0}.mprofile-account-action .btn-block{width:100%}.btn-logout{color:#b3263d;background:#fff;border:1px solid #c6283d;border-radius:4px;min-height:42px}.modal-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#14202d61}.modal,.profile-modal,.profile-modal.modal{border:1px solid #7e8d9c;border-radius:4px;width:min(420px,100vw - 20px);max-height:calc(100dvh - 30px);overflow-y:auto;box-shadow:0 8px 24px #00000047;color:#17283b!important;background:#f7f7f7!important}.modal h3,.profile-head-info h3{color:#17324e!important}.modal input,.profile-edit input{border:1px solid #8da4b8;border-radius:4px;color:#17283b!important;background:#fff!important}.modal-sub,.profile-username,.profile-row span:first-child,.profile-edit label{color:#526273!important}.profile-body,.profile-actions{border-color:#b5bec7}.profile-row span:last-child,.profile-room-tag{color:#17283b!important}.profile-room-tag{background:#fff;border-color:#aab4be}.lobby-welcome{background:#fff;padding:20px 10px}.lobby-welcome h2{color:#075bd7;-webkit-text-fill-color:initial;background:0 0}.lobby-welcome p,.lobby-tip{color:#526273}.guide-item{color:#17283b;box-shadow:none;background:#f7f7f7;border:1px solid #aab4be;border-radius:4px}.guide-item b{color:#075bd7}.guide-item code{color:#164f92;background:#e1efff}.lobby-tip{background:#e1efff;border-radius:4px}.autocomplete{background:#fff;border:1px solid #7e8d9c;box-shadow:0 4px 12px #0000002e}.ac-item{color:#075bd7}.ac-item:hover{background:#e1efff}.unread-badge{color:#fff;background:#075bd7}.empty-sub,.sidebar-empty{color:#526273}}@media (width<=380px){.mobile-header{gap:5px;padding-left:6px;padding-right:5px}.mobile-logo{width:30px;height:30px}.mobile-room-name{font-size:13px}.mobile-profile-avatar{width:28px;height:28px}.mobile-chat .messages{padding-left:6px;padding-right:6px}.mobile-chat .msg-time{flex-basis:34px;min-width:34px;font-size:9px}.mobile-chat .msg-reactions{margin-left:39px}.mobile-chat .msg-body{font-size:13px}.mn-label{font-size:9px}}@media (width<=900px){html,body,#root{overscroll-behavior:none}.mobile-app{touch-action:none;overscroll-behavior:none}.mobile-header,.mobile-nav{touch-action:none}.mobile-tab-content{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-chat{box-sizing:border-box;touch-action:none;overscroll-behavior:none;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);padding-bottom:58px}.mobile-chat .messages{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.mobile-chat .input-bar{z-index:10;flex:none;position:relative}.mobile-chat .input-wrap{flex:auto;min-width:0}.mobile-chat .input-wrap input{width:100%;min-width:0}.mobile-chat .msg-body{overflow-wrap:anywhere}.mobile-tab-content .member-name{color:#17283b!important}.mobile-tab-content .member-group-label,.mobile-tab-content .sub-role-label{color:#304a63!important}.mobile-tab-content .member-role{color:#164f92!important;background:#e1efff!important}}@media (width<=380px){.mobile-chat{height:calc(100dvh - 54px);max-height:calc(100dvh - 54px);padding-bottom:58px}.mobile-chat .input-bar{padding-left:5px;padding-right:5px}.mobile-chat .attach-btn{flex-basis:38px;width:38px}.mobile-chat .btn-send{flex-basis:40px;width:40px}}.push-banner-top{color:#fff;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:13px;line-height:1.3;display:flex}.push-banner-content{flex:1;min-width:0}.push-banner-sub{opacity:.9;color:#ffeb3b;margin-top:2px;font-size:11px}.btn-push-banner{color:#111;cursor:pointer;white-space:nowrap;background:#ff9800;border:none;border-radius:6px;flex:none;padding:6px 12px;font-size:12px;font-weight:700}.btn-push-banner:hover{background:#ffa726}.btn-push-banner:disabled{opacity:.6;cursor:default}.photo-preview-bar{color:#fff;background:#123;border-top:1px solid #234;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.photo-preview-thumb{object-fit:cover;border:1px solid #456;border-radius:6px;width:42px;height:42px}.photo-preview-info{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.photo-preview-clear{color:#fff;cursor:pointer;background:#e53935;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}@media (width<=900px){.push-banner-top{flex-direction:column;align-items:flex-start;padding:8px 10px}.btn-push-banner{text-align:center;width:100%;margin-top:4px;padding:8px}.photo-preview-bar{color:#1a2b3c;background:#eef4fb;border-top:1px solid #b8c6d3}}
