:root{--bg:#f5f5f7;--panel:#ffffff;--panel-2:#fafafc;--text:#0b0b0f;--muted:#8a8a8f;--border:#e5e5ea;--bubble-other:#e9e9eb;--bubble-me:#0a84ff;--bubble-me-text:#ffffff;--danger:#ff3b30;--warn:#ff9f0a;--discord:#5865f2;--discord-hover:#4752c4;--input-bg:#ffffff;--shadow:0 1px 2px rgba(0,0,0,0.05),0 1px 1px rgba(0,0,0,0.04);--shadow-lg:0 20px 60px rgba(0,0,0,0.18);--shadow-menu:0 10px 30px rgba(0,0,0,0.2);--max-w:1100px;--content-w:720px;--reveal:0px;--reveal-max:56px;--accent:#2873ce;--accent-2:#0a84ff;--accent-text:#ffffff;--app-bg:var(--bg);--chat-bg:var(--bg);--font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-size-base:15px}@media (prefers-color-scheme:dark){:root{--bg:#141416;--panel:#1c1c1e;--panel-2:#141416;--text:#f2f2f7;--muted:#8e8e93;--border:#2c2c2e;--bubble-other:#2c2c2e;--bubble-me:#0a84ff;--bubble-me-text:#ffffff;--input-bg:#1c1c1e;--shadow:0 1px 2px rgba(0,0,0,0.4);--shadow-lg:0 20px 60px rgba(0,0,0,0.6);--shadow-menu:0 10px 30px rgba(0,0,0,0.6)}}html[data-theme=light]{--bg:#f5f5f7;--panel:#ffffff;--panel-2:#fafafc;--text:#0b0b0f;--muted:#8a8a8f;--border:#e5e5ea;--bubble-other:#e9e9eb;--bubble-me:#0a84ff;--bubble-me-text:#ffffff;--input-bg:#ffffff;--accent:#2873ce;--accent-2:#0a84ff;--accent-text:#ffffff}html[data-theme=midnight]{--bg:#0b0d14;--panel:#141824;--panel-2:#0e111a;--text:#e9ecff;--muted:#7f86a3;--border:#232838;--bubble-other:#1c2130;--bubble-me:#5865f2;--bubble-me-text:#ffffff;--input-bg:#141824;--accent:#5865f2;--accent-2:#8b93ff;--accent-text:#ffffff}html[data-theme=dark]{--bg:#141416;--panel:#1c1c1e;--panel-2:#141416;--text:#f2f2f7;--muted:#8e8e93;--border:#2c2c2e;--bubble-other:#2c2c2e;--bubble-me:#0a84ff;--bubble-me-text:#ffffff;--input-bg:#1c1c1e;--accent:#0a84ff;--accent-2:#409cff;--accent-text:#ffffff}html[data-theme=obsidian]{--bg:#060608;--panel:#0f0f13;--panel-2:#09090c;--text:#ededf2;--muted:#7a7a86;--border:#1a1a22;--bubble-other:#16161c;--bubble-me:#b388ff;--bubble-me-text:#ffffff;--input-bg:#0f0f13;--accent:#b388ff;--accent-2:#cea8ff;--accent-text:#0a0a10}html[data-theme=nord]{--bg:#2e3440;--panel:#3b4252;--panel-2:#343a47;--text:#eceff4;--muted:#8792a3;--border:#434c5e;--bubble-other:#434c5e;--bubble-me:#88c0d0;--bubble-me-text:#2e3440;--input-bg:#3b4252;--accent:#88c0d0;--accent-2:#81a1c1;--accent-text:#2e3440}html[data-theme=dracula]{--bg:#282a36;--panel:#343746;--panel-2:#2d2f3d;--text:#f8f8f2;--muted:#9ea0b3;--border:#44475a;--bubble-other:#44475a;--bubble-me:#bd93f9;--bubble-me-text:#1b1c24;--input-bg:#343746;--accent:#bd93f9;--accent-2:#ff79c6;--accent-text:#1b1c24}html[data-theme=solarized]{--bg:#002b36;--panel:#073642;--panel-2:#04313c;--text:#eee8d5;--muted:#93a1a1;--border:#0a4a59;--bubble-other:#0a4a59;--bubble-me:#b58900;--bubble-me-text:#002b36;--input-bg:#073642;--accent:#b58900;--accent-2:#cb4b16;--accent-text:#002b36}html[data-theme=rose-pine]{--bg:#191724;--panel:#1f1d2e;--panel-2:#191724;--text:#e0def4;--muted:#908caa;--border:#26233a;--bubble-other:#26233a;--bubble-me:#eb6f92;--bubble-me-text:#191724;--input-bg:#1f1d2e;--accent:#eb6f92;--accent-2:#c4a7e7;--accent-text:#191724}html[data-theme=gruvbox]{--bg:#1d2021;--panel:#282828;--panel-2:#1b1b1b;--text:#ebdbb2;--muted:#a89984;--border:#3c3836;--bubble-other:#3c3836;--bubble-me:#fe8019;--bubble-me-text:#1d2021;--input-bg:#282828;--accent:#fe8019;--accent-2:#fabd2f;--accent-text:#1d2021}html[data-theme=cyberpunk]{--bg:#0a0015;--panel:#160028;--panel-2:#0f001a;--text:#f2e6ff;--muted:#a890c5;--border:#2a0b40;--bubble-other:#2a0b40;--bubble-me:#ff2ecf;--bubble-me-text:#ffffff;--input-bg:#160028;--accent:#ff2ecf;--accent-2:#2cf2ff;--accent-text:#0a0015}html[data-theme=forest]{--bg:#10201a;--panel:#172b23;--panel-2:#122720;--text:#e4f3e9;--muted:#86a396;--border:#213a2f;--bubble-other:#213a2f;--bubble-me:#4caf7b;--bubble-me-text:#0a1612;--input-bg:#172b23;--accent:#4caf7b;--accent-2:#82dbab;--accent-text:#0a1612}html[data-theme=ocean]{--bg:#0a1624;--panel:#11243a;--panel-2:#0b1b2c;--text:#e6f1ff;--muted:#7f95b0;--border:#1c2e48;--bubble-other:#1c2e48;--bubble-me:#38bdf8;--bubble-me-text:#0a1624;--input-bg:#11243a;--accent:#38bdf8;--accent-2:#60a5fa;--accent-text:#0a1624}html[data-theme=cyberpunk],html[data-theme=dark],html[data-theme=dracula],html[data-theme=forest],html[data-theme=gruvbox],html[data-theme=midnight],html[data-theme=nord],html[data-theme=obsidian],html[data-theme=ocean],html[data-theme=rose-pine],html[data-theme=solarized]{--shadow:0 1px 2px rgba(0,0,0,0.4);--shadow-lg:0 20px 60px rgba(0,0,0,0.6);--shadow-menu:0 10px 30px rgba(0,0,0,0.6)}html[data-custom="1"]{--accent:var(--custom-primary, #2873ce);--accent-2:var(--custom-secondary, #0a84ff);--bubble-me:var(--custom-primary, #0a84ff)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;width:100%;max-width:100%;background:var(--app-bg);color:var(--text);font-family:var(--font-family);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow-x:hidden;overscroll-behavior-x:none;-webkit-text-size-adjust:100%}html{touch-action:manipulation}.bubble,.modal,.reply-snippet,.uid,input,textarea{-webkit-user-select:text;user-select:text}#app{height:100dvh;display:flex;flex-direction:column;align-items:stretch}#login{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:14px;animation:.25s both fadeIn;position:relative}.login-brand{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));z-index:2;display:inline-flex;flex-direction:row;align-items:center;gap:10px;padding:6px 10px;color:var(--text);user-select:none;overflow:visible}.login-brand img{width:40px;height:40px;border-radius:10px;object-fit:contain;display:block}.login-brand .brand-name{position:relative;font-size:24px;font-weight:800;letter-spacing:.02em;color:#2873ce;padding:2px 8px 3px;line-height:1.1;overflow:visible;text-shadow:0 0 18px rgba(40,115,206,.45),0 0 10px rgba(40,115,206,.35),0 0 3px rgba(40,115,206,.3)}@media (max-width:420px){.login-brand{top:12px;left:14px;gap:8px;padding:4px 6px}.login-brand img{width:34px;height:34px;border-radius:8px}.login-brand .brand-name{font-size:20px}}#login .auth-card{width:min(360px,100%);display:flex;flex-direction:column;gap:10px;text-align:center}@media (min-width:900px){#login .auth-card{width:min(400px,100%)}.auth-support{max-width:min(400px,100%)}}#login h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}#login p{margin:0 0 4px;color:var(--muted);font-size:13px;max-width:100%}.auth-tabs{display:flex;background:var(--border);border-radius:10px;padding:4px;gap:4px}.auth-tab{flex:1;padding:9px 12px;background:0 0;border:0;color:var(--muted);font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s,color .2s}.auth-tab.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.auth-form{display:flex;flex-direction:column;gap:10px;margin:4px 0 0}.auth-form .auth-field-password,.auth-form .auth-newsletter,.auth-form .auth-remember{overflow:hidden;transition:max-height .32s cubic-bezier(.22, 1, .36, 1),opacity .22s,margin .32s cubic-bezier(.22, 1, .36, 1),transform .32s cubic-bezier(.22, 1, .36, 1),visibility linear;max-height:80px;opacity:1;transform:translateY(0);visibility:visible}.auth-form.signup-mode .auth-field-password,.auth-form.signup-mode .auth-remember,.auth-form:not(.signup-mode) .auth-newsletter{max-height:0;opacity:0;margin:0;transform:translateY(-4px);pointer-events:none;visibility:hidden;transition:max-height .32s cubic-bezier(.22, 1, .36, 1),opacity .22s,margin .32s cubic-bezier(.22, 1, .36, 1),transform .32s cubic-bezier(.22, 1, .36, 1),visibility 0s linear .32s}.auth-form[hidden]{display:none}.auth-field{position:relative;display:block}.auth-field .auth-field-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none;transition:color .15s}.auth-field:focus-within .auth-field-icon{color:#2873ce}.auth-form input{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:15px;transition:border-color .15s,outline-color .15s;box-sizing:border-box;outline:transparent solid 3px;outline-offset:0}.auth-field input{padding-left:42px}.auth-form input:focus{border-color:#2873ce;outline-color:rgba(40,115,206,.35)}.auth-submit{margin-top:4px;background:#2873ce;color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:600;font-size:15px;cursor:pointer;transition:filter .15s,transform .08s}.auth-submit:hover{filter:brightness(1.08)}.auth-submit:active{transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width:520px){#login{padding:12px 14px}#login .auth-card{padding:18px;gap:8px}.auth-form{gap:9px}.auth-form input{font-size:16px;padding:14px}.auth-field input{padding-left:42px}.auth-submit{padding:14px 16px;font-size:15px}.auth-tab{padding:10px 12px}.auth-newsletter,.auth-remember,.auth-terms{padding:4px 0}}.auth-terms{display:flex;align-items:flex-start;gap:8px;margin:2px 0 0;font-size:12.5px;color:var(--muted);line-height:1.4;cursor:pointer;user-select:none}.auth-terms input[type=checkbox]{position:absolute;opacity:0;width:18px;height:18px;margin:0;pointer-events:none}.auth-terms .auth-check-box{margin-top:1px}.auth-terms .auth-terms-text{flex:1;min-width:0}.auth-terms a{color:#2873ce;text-decoration:none;font-weight:600}.auth-terms a:hover{text-decoration:underline}.auth-terms-err{color:var(--danger);font-size:12px;min-height:0;margin:0;text-align:left}.auth-terms-err:empty{display:none}.auth-newsletter,.auth-remember{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--muted);line-height:1.4;cursor:pointer;user-select:none}.auth-newsletter input[type=checkbox],.auth-remember input[type=checkbox]{position:absolute;opacity:0;width:18px;height:18px;margin:0;pointer-events:none}.auth-newsletter .auth-newsletter-text,.auth-remember .auth-remember-text{flex:1;min-width:0;color:var(--text,#e6e6e6)}.auth-check-box,.auth-remember .auth-remember-box{flex:0 0 auto;position:relative;width:18px;height:18px;border-radius:6px;background:var(--input-bg,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.12));display:inline-flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s,transform .12s,box-shadow .18s}.auth-check-box::after,.auth-remember .auth-remember-box::after{content:"";width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) scale(0);transform-origin:center;opacity:0;margin-top:-1px;transition:transform .22s cubic-bezier(.22, 1, .36, 1),opacity .18s}.auth-newsletter input[type=checkbox]:checked~.auth-check-box,.auth-remember input[type=checkbox]:checked~.auth-check-box,.auth-remember input[type=checkbox]:checked~.auth-remember-box,.auth-terms input[type=checkbox]:checked~.auth-check-box{background:#2873ce;border-color:#2873ce}.auth-newsletter input[type=checkbox]:checked~.auth-check-box::after,.auth-remember input[type=checkbox]:checked~.auth-check-box::after,.auth-remember input[type=checkbox]:checked~.auth-remember-box::after,.auth-terms input[type=checkbox]:checked~.auth-check-box::after{transform:rotate(45deg) scale(1);opacity:1}.auth-newsletter input[type=checkbox]:focus-visible~.auth-check-box,.auth-remember input[type=checkbox]:focus-visible~.auth-check-box,.auth-remember input[type=checkbox]:focus-visible~.auth-remember-box,.auth-terms input[type=checkbox]:focus-visible~.auth-check-box{box-shadow:0 0 0 3px rgba(40,115,206,.25)}.auth-newsletter:hover .auth-check-box,.auth-remember:hover .auth-check-box,.auth-remember:hover .auth-remember-box,.auth-terms:hover .auth-check-box{border-color:rgba(40,115,206,.55)}#login-btn:disabled{opacity:.55;cursor:not-allowed}.form-error{display:none;align-items:center;gap:10px;padding:10px 12px;margin:6px 0 2px;background:rgba(220,53,69,.12);border:1px solid rgba(220,53,69,.45);border-radius:10px;color:#ff6676;font-size:13.5px;line-height:1.4;opacity:0;transform:translateY(-4px);transition:opacity .18s,transform .18s}.form-error.show{display:flex;opacity:1;transform:translateY(0)}.form-error svg{flex:0 0 auto;width:18px;height:18px;color:#ff6676}.form-error .form-error-text{flex:1;min-width:0;word-wrap:break-word}.pwd-field{display:flex;flex-direction:column;gap:10px;margin-top:4px}.pwd-wrap{position:relative;display:block}.pwd-wrap input{width:100%;padding-right:44px;box-sizing:border-box}.pwd-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:0 0;border:none;color:var(--muted);padding:6px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.pwd-toggle:hover{color:var(--text,#e6e6e6);background:rgba(255,255,255,.04)}.pwd-toggle svg{width:18px;height:18px;display:block}.pwd-generate{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;background:0 0;color:#2873ce;border:1px solid rgba(40,115,206,.45);border-radius:10px;cursor:pointer;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s;align-self:flex-start}.pwd-generate:hover{background:rgba(40,115,206,.12);border-color:rgba(40,115,206,.7)}.pwd-generate svg{width:16px;height:16px}.pwd-strength{display:flex;flex-direction:column;gap:4px;margin-top:2px}.pwd-strength-bar{width:100%;height:6px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}.pwd-strength-fill{height:100%;width:0%;background:#888;border-radius:4px;transition:width .25s,background .25s}.pwd-strength-fill[data-level=weak]{width:33%;background:#e74c3c}.pwd-strength-fill[data-level=medium]{width:66%;background:#f5a623}.pwd-strength-fill[data-level=strong]{width:100%;background:#2ecc71}.pwd-strength-label{font-size:12px;color:var(--muted);font-weight:600}.pwd-strength-label[data-level=weak]{color:#e74c3c}.pwd-strength-label[data-level=medium]{color:#f5a623}.pwd-strength-label[data-level=strong]{color:#2ecc71}.pwd-checklist{list-style:none;margin:2px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;font-size:12.5px;color:var(--muted)}@media (max-width:500px){.pwd-checklist{grid-template-columns:1fr}}.pwd-checklist li{display:flex;align-items:center;gap:7px;line-height:1.35}.pwd-checklist .pwd-chk-icon{flex:0 0 auto;width:15px;height:15px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:background .15s,border-color .15s,color .15s}.pwd-checklist li.ok{color:#2ecc71}.pwd-checklist li.ok .pwd-chk-icon{background:#2ecc71;border-color:#2ecc71}.pwd-checklist li.ok .pwd-chk-icon::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #0d1117;border-width:0 2px 2px 0;transform:rotate(45deg)}.pwd-checklist li.bad{color:#e74c3c}.pwd-checklist li.bad .pwd-chk-icon{border-color:#e74c3c}.ob-checkbox{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:13.5px;color:var(--text,#e6e6e6);line-height:1.4;cursor:pointer;user-select:none}.ob-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;flex:0 0 auto;accent-color:#2873ce;cursor:pointer}.ob-checkbox .ob-checkbox-box{display:none}.ob-checkbox .ob-checkbox-text{flex:1;min-width:0}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:6px 0 4px}.auth-divider::after,.auth-divider::before{content:"";flex:1;height:1px;background:var(--border)}#login button#login-btn{margin-top:0;background:var(--discord);color:#fff;border:0;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;overflow:visible;transition:background .15s,transform .08s}#login button#login-btn:hover{background:var(--discord-hover)}#login button#login-btn:active{transform:scale(.98)}#login button#login-btn svg{width:20px;height:20px;flex-shrink:0;display:block}#login .auth-card .err,#onboarding .err{color:#ff6676;font-size:13.5px;line-height:1.4;min-height:0;text-align:left;background:rgba(220,53,69,.12);border:1px solid rgba(220,53,69,.45);border-radius:10px;padding:10px 12px 10px 38px;margin:6px 0 2px;position:relative;opacity:1;transform:translateY(0);transition:opacity .18s,transform .18s;animation:.22s formErrorSlideIn}#login .auth-card div.err:empty,#onboarding div.err:empty{display:none;background:0 0;border:none;padding:0;margin:0;animation:none}#login .auth-card .err::before,#onboarding .err::before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6676' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") center/contain no-repeat}#login .auth-card div.err:empty::before,#onboarding div.err:empty::before{display:none}#login .auth-card .err a{color:#ff6676;font-weight:600;text-decoration:underline;cursor:pointer}@keyframes formErrorSlideIn{0%{opacity:0;transform:translateY(-4px)}100%{opacity:1;transform:translateY(0)}}#login .auth-info{color:var(--muted);font-size:12px;min-height:1em;text-align:center}.auth-support{margin-top:14px;max-width:min(360px,100%);color:var(--muted);font-size:12px;text-align:center;line-height:1.4}.auth-support a{color:#2873ce;text-decoration:none;font-weight:600}.auth-support a:hover{text-decoration:underline}#chat{flex:1;display:none;flex-direction:column;min-height:0;width:100%;background:var(--panel-2)}.shell-inner{width:100%;max-width:var(--max-w);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}.chat-col{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.chat-col.feed-col{background:var(--bg)}.feed-composer{display:none;gap:14px;padding:0;background:0 0;border:none}.feed-compose-overlay.open .feed-composer{display:flex}.feed-composer-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:var(--border);transition:transform .2s,box-shadow .2s}.feed-composer-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent)}.feed-composer-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.feed-composer-body textarea{width:100%;border:none;outline:0;resize:none;background:0 0;color:var(--text);font-size:15px;line-height:1.5;font-family:inherit;min-height:38px;max-height:200px;padding:8px 0;transition:min-height .2s}.feed-composer-body textarea:focus{min-height:56px}.feed-composer-body textarea::placeholder{color:var(--muted)}.feed-composer-preview{position:relative;display:inline-block;max-width:200px}.feed-composer-preview img{max-width:100%;max-height:160px;border-radius:12px;object-fit:cover;transition:transform .2s}.feed-composer-preview img:hover{transform:scale(1.02)}.feed-preview-rm{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.feed-preview-rm:hover{background:rgba(0,0,0,.85);transform:scale(1.1)}.feed-composer-actions{display:flex;align-items:center;gap:10px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.feed-attach-btn{background:0 0;border:none;cursor:pointer;padding:6px;color:var(--muted);display:flex;align-items:center;border-radius:8px;transition:color .15s,background .15s}.feed-attach-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.feed-attach-btn svg{width:20px;height:20px}.feed-char-count{font-size:12px;color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums;transition:color .2s}.feed-char-count.warn{color:#ff453a}.feed-post-btn{padding:8px 22px;border-radius:999px;border:none;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s}.feed-post-btn:disabled{opacity:.35;cursor:default;transform:none}.feed-post-btn:not(:disabled):hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}.feed-post-btn:not(:disabled):active{transform:scale(.96)}.feed-scroll{flex:1;overflow-y:auto;padding:0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.feed-scroll .loading{text-align:center;padding:48px 16px;color:var(--muted);font-size:14px}.feed-scroll .feed-empty{text-align:center;padding:72px 20px;color:var(--muted);font-size:15px;line-height:1.6}.fp-card{padding:18px 20px;border-bottom:1px solid var(--border);background:var(--panel);transition:background .2s}.fp-card:hover{background:color-mix(in srgb,var(--panel) 94%,var(--border))}.fp-card.fp-reply{padding-left:44px;border-left:2px solid color-mix(in srgb,var(--accent) 25%,transparent);margin-left:20px}.fp-card.fp-reply-deep{padding-left:44px;margin-left:44px}.fp-card.fp-anim-in{animation:.35s cubic-bezier(.2,.8,.3,1) both fpSlideIn}@keyframes fpSlideIn{from{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fp-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.fp-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:var(--border);cursor:pointer;transition:transform .2s,box-shadow .2s}.fp-avatar:hover{transform:scale(1.08);box-shadow:0 0 0 2px var(--accent)}.fp-reply .fp-avatar{width:28px;height:28px}.fp-username{font-size:14px;font-weight:600;color:var(--text);cursor:pointer;text-decoration:none;background:0 0;border:none;padding:0;font-family:inherit;transition:color .15s}.fp-username:hover{color:var(--accent);text-decoration:none}.fp-time{font-size:12px;color:var(--muted);flex:none;font-variant-numeric:tabular-nums}.fp-time::before{content:"·";margin-right:8px;color:var(--muted)}.fp-delete-btn{background:0 0;border:none;cursor:pointer;padding:6px;color:var(--muted);opacity:0;transition:opacity .2s,color .15s,transform .15s;display:flex;align-items:center;border-radius:8px}.fp-card:hover .fp-delete-btn{opacity:.7}.fp-delete-btn:hover{color:#ff453a;opacity:1!important;transform:scale(1.1);background:color-mix(in srgb,#ff453a 10%,transparent)}.fp-body{font-size:15px;line-height:1.55;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:10px;letter-spacing:.01em}.fp-body .mention{color:var(--accent);font-weight:500;cursor:pointer;transition:color .15s}.fp-body .mention:hover{color:color-mix(in srgb,var(--accent) 80%,var(--text));text-decoration:underline}.fp-image{max-width:100%;max-height:400px;border-radius:14px;margin-bottom:10px;display:block;object-fit:cover;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:.4s both fpImageReveal}.fp-image:hover{transform:scale(1.01);box-shadow:0 4px 16px rgba(0,0,0,.1)}@keyframes fpImageReveal{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fp-engage{display:flex;align-items:center;gap:4px;margin-top:6px;padding-top:4px}.fp-action{display:inline-flex;align-items:center;gap:5px;background:0 0;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:7px 12px;border-radius:999px;transition:background .2s,color .2s,transform .15s;line-height:1;-webkit-tap-highlight-color:transparent;user-select:none}.fp-action:hover{background:color-mix(in srgb,var(--border) 70%,transparent)}.fp-action:active{transform:scale(.92)}.fp-action svg{width:18px;height:18px;flex:none;transition:transform .2s}.fp-action:hover svg{transform:scale(1.1)}.fp-action.active{color:var(--accent)}.fp-action .fp-count{font-variant-numeric:tabular-nums;font-weight:500}@keyframes fpPop{0%,100%{transform:scale(1)}25%{transform:scale(1.18)}50%{transform:scale(.95)}}.fp-action.pop svg{animation:.3s cubic-bezier(.22,.68,.36,1) fpPop}.fp-comments{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);margin-top:10px;padding-top:10px;animation:.25s both fpCommentsExpand}@keyframes fpCommentsExpand{from{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.fp-comments-list{display:flex;flex-direction:column}.fp-comment-input-wrap{display:flex;align-items:center;gap:8px;margin-top:10px}.fp-comment-input{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--border) 25%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:border-color .2s,background .2s}.fp-comment-input:focus-within{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--border) 15%,transparent)}.fp-comment-input input{flex:1;border:none;outline:0;padding:6px 8px;font-size:13px;background:0 0;color:var(--text);font-family:inherit;min-width:0}.fp-comment-input input::placeholder{color:var(--muted)}.fp-comment-input button{background:var(--accent);color:var(--accent-text);border:none;border-radius:8px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;flex:none;font-family:inherit;transition:opacity .15s,transform .15s}.fp-comment-input button:disabled{opacity:.35;cursor:default}.fp-comment-input button:not(:disabled):hover{opacity:.85;transform:scale(1.03)}.fp-comment-input button:not(:disabled):active{transform:scale(.96)}.fp-comment-send{background:var(--accent);color:var(--accent-text);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:opacity .15s,transform .15s}.fp-comment-send:disabled{opacity:.35;cursor:default}.fp-comment-send:not(:disabled):hover{transform:scale(1.08)}.fp-comment-send:not(:disabled):active{transform:scale(.93)}.fp-comment-send svg{width:16px;height:16px}.fp-cmt{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);animation:.2s both fpCmtIn}@keyframes fpCmtIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fp-cmt:last-child{border-bottom:none}.fp-cmt-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;background:var(--border);transition:transform .15s}.fp-cmt-avatar:hover{transform:scale(1.1)}.fp-cmt-body{flex:1;min-width:0}.fp-cmt-head{display:flex;align-items:baseline;gap:6px;margin-bottom:3px}.fp-cmt-user{font-size:13px;font-weight:600;color:var(--text)}.fp-cmt-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.fp-cmt-text{font-size:14px;color:var(--text);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.fp-cmt-actions{display:flex;gap:8px;margin-top:4px}.fp-cmt-action{background:0 0;border:none;cursor:pointer;font-size:11px;color:var(--muted);padding:2px 0;transition:color .15s}.fp-cmt-action:hover{color:var(--text)}.fp-cmt-action.delete:hover{color:#ff453a}.fp-repost-header{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;padding:0 0 8px;font-weight:500}.fp-repost-header svg{width:14px;height:14px;flex:none;color:var(--accent)}.fp-avatar-btn{background:0 0;border:none;padding:0;cursor:pointer;flex:none;border-radius:50%;display:flex}.fp-meta{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1}.fp-image-wrap{margin-bottom:8px}.fp-image-error{background:color-mix(in srgb,var(--border) 50%,transparent);border-radius:14px;padding:24px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--border)}.fp-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);font-weight:700;font-size:14px;transition:transform .2s}.fp-avatar-fallback:hover{transform:scale(1.08)}.fp-op-tag{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;padding:1px 5px;line-height:1.4;letter-spacing:.03em;flex:none}.fp-comment{padding:10px 0;position:relative;animation:.2s both fpCmtIn}.fp-comment+.fp-comment{border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.fp-comment-nested{margin-left:28px;padding-left:14px;border-left:2px solid color-mix(in srgb,var(--accent) 20%,transparent)}.fp-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.fp-comment-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none;cursor:pointer;background:var(--border);transition:transform .15s}.fp-comment-avatar:hover{transform:scale(1.1)}.fp-comment-name{font-size:13px;font-weight:600;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;transition:color .15s}.fp-comment-name:hover{color:var(--accent)}.fp-comment-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.fp-comment-time::before{content:"·";margin-right:6px;color:var(--muted)}.fp-comment-delete{background:0 0;border:none;cursor:pointer;padding:2px 6px;color:var(--muted);font-size:16px;line-height:1;border-radius:4px;opacity:0;margin-left:auto;transition:opacity .15s,color .15s}.fp-comment:hover .fp-comment-delete{opacity:.6}.fp-comment-delete:hover{color:#ff453a;opacity:1!important}.fp-comment-body{font-size:14px;color:var(--text);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;padding-left:32px}.fp-comment-reply-btn{background:0 0;border:none;cursor:pointer;font-size:12px;color:var(--muted);padding:2px 0;margin-left:32px;margin-top:4px;font-family:inherit;transition:color .15s}.fp-comment-reply-btn:hover{color:var(--accent)}.feed-fab{position:fixed;bottom:24px;right:24px;z-index:90;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-text);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}.feed-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(0,0,0,.25)}.feed-fab:active{transform:scale(.94)}.feed-fab svg{width:24px;height:24px}.feed-compose-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.feed-compose-overlay.open{opacity:1;pointer-events:auto}.feed-compose-modal{width:90%;max-width:520px;background:var(--panel);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.2);padding:20px;position:relative;transform:scale(.95) translateY(10px);transition:transform .25s cubic-bezier(.22,.68,.36,1)}.feed-compose-overlay.open .feed-compose-modal{transform:scale(1) translateY(0)}.feed-compose-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.feed-compose-modal-title{font-size:16px;font-weight:600;color:var(--text)}.feed-compose-modal-close{background:0 0;border:none;cursor:pointer;padding:4px;color:var(--muted);border-radius:8px;display:flex;transition:color .15s,background .15s}.feed-compose-modal-close:hover{color:var(--text);background:color-mix(in srgb,var(--border) 50%,transparent)}.feed-compose-modal-close svg{width:20px;height:20px}@media (max-width:600px){.feed-composer{padding:14px 14px 10px;gap:10px}.feed-composer-avatar{width:34px;height:34px}.feed-post-btn{padding:7px 16px;font-size:13px}.fp-card{padding:14px}.fp-avatar{width:34px;height:34px}.fp-action{padding:6px 8px;font-size:12px}.fp-action svg{width:16px;height:16px}.fp-engage{gap:2px}.fp-card.fp-reply{padding-left:32px;margin-left:14px}.fp-card.fp-reply-deep{margin-left:32px}.fp-comment-nested{margin-left:18px;padding-left:10px}.fp-comment-body{padding-left:32px}.feed-fab{width:46px;height:46px;bottom:18px;right:18px}.feed-fab svg{width:22px;height:22px}.feed-compose-modal{padding:16px}}@media (min-width:900px){.shell-inner{max-width:none;margin:0;flex-direction:row;align-items:stretch}header.bar #dm-btn{display:none}}.dm-side-panel{display:none;flex-direction:column;width:340px;flex:none;border-left:1px solid var(--border);background:var(--panel);min-height:0;max-height:100%;overflow:hidden}@media (min-width:900px){.dm-side-panel{display:flex}}.dm-side-head{padding:14px 16px 10px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:1}.dm-side-title{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin-bottom:10px;display:inline-flex;align-items:center;gap:8px}.dm-side-title .dm-side-title-icon{width:18px;height:18px;color:var(--muted);flex:none}.dm-side-tabs{display:inline-flex;gap:6px;background:var(--input-bg);border-radius:999px;padding:3px}.dm-side-tab{appearance:none;border:0;background:0 0;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.01em;padding:5px 12px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}.dm-side-tab:hover{color:var(--text)}.dm-side-tab.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.dm-side-tab-badge{min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:#2873ce;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.dm-side-tab-badge[hidden]{display:none}.dm-side-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0}.dm-side-empty{padding:24px 20px;color:var(--muted);font-size:13px;text-align:center}.dm-side-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;background:0 0;border:0;cursor:pointer;color:var(--text);text-align:left;transition:background .12s;border-radius:0}.dm-side-row:hover{background:var(--input-bg)}.dm-side-row:active{background:var(--border)}.dm-side-row .dm-side-avatar-wrap{position:relative;flex:none;width:44px;height:44px}.dm-side-row .dm-side-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--border);display:block}.dm-side-row .dm-side-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dm-side-row .dm-side-top{display:flex;align-items:baseline;gap:8px;min-width:0}.dm-side-row .dm-side-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-side-row .dm-side-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}.dm-side-row.unread .dm-side-name{font-weight:700}.dm-side-row.unread .dm-side-preview{color:var(--text);opacity:1}.dm-side-row .dm-side-meta{flex:none;display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:11px;align-self:flex-start;padding-top:2px}.dm-side-row .dm-side-meta svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}header.bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;padding-top:max(8px,env(safe-area-inset-top));backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}header.bar .brand{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--text);user-select:none}header.bar .brand img{width:40px;height:40px;border-radius:9px;object-fit:contain;display:block;flex-shrink:0}header.bar .brand .brand-name{font-size:22px;font-weight:800;letter-spacing:-.01em;color:#2873ce;padding:2px 6px 4px;overflow:visible;white-space:nowrap;text-shadow:0 0 18px rgba(40,115,206,.45),0 0 8px rgba(40,115,206,.3),0 0 2px rgba(40,115,206,.25)}header.bar .me{display:inline-flex;align-items:center;gap:8px;background:0 0;border:0;cursor:pointer;border-radius:999px;color:var(--text);transition:background .15s;flex-shrink:0}header.bar .me:hover{background:var(--border)}header.bar .me img{object-fit:cover;background:var(--border)}header.bar .me .name{font-size:14px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header.bar .header-logout-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin-left:2px;border:0;border-radius:50%;background:0 0;color:var(--text);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,transform .08s}header.bar .header-logout-btn:hover{background:var(--border);color:var(--danger)}header.bar .header-logout-btn:active{transform:scale(.94)}header.bar .header-logout-btn svg{width:20px;height:20px;display:block}@media (max-width:420px){header.bar{padding:8px 12px;gap:6px}header.bar .brand img{width:34px;height:34px;border-radius:8px}header.bar .brand .brand-name{font-size:19px}header.bar .me .name{max-width:96px;font-size:13px}header.bar .me img{width:28px;height:28px}header.bar .header-logout-btn{width:32px;height:32px}header.bar .header-logout-btn svg{width:18px;height:18px}}#messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 0 8px;display:flex;flex-direction:column;gap:3px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y;position:relative;background:var(--chat-bg,var(--bg))}.msg-col{width:100%;max-width:var(--content-w);margin:0 auto;padding:0 16px 4px;position:relative}.day-divider{text-align:center;color:var(--muted);font-size:11px;margin:14px 0 6px;letter-spacing:.02em}.day-divider strong{color:var(--text);font-weight:600}.row{display:flex;gap:8px;align-items:flex-end;width:100%;position:relative;margin-top:2px;animation:.22s cubic-bezier(.2,.7,.2,1) both bubbleIn;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.row.dragging{transition:none}.row.me{justify-content:flex-end;transform:translateX(calc(-1 * var(--reveal)));will-change:transform;animation-name:bubbleInMe}.row:not(.me){transform:none!important}.row .avatar-btn{background:0 0;border:0;padding:0;flex:none;cursor:pointer;width:28px;height:28px;border-radius:50%;align-self:flex-end;position:relative;overflow:visible}.row .avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--border);display:block}.row.me .avatar-btn{display:none}.presence-dot{position:absolute;right:2%;bottom:2%;width:28%;height:28%;min-width:10px;min-height:10px;max-width:22px;max-height:22px;border-radius:50%;background:#8e8e93;border:2px solid #2c2c2e;box-sizing:border-box;pointer-events:none;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:background-color .25s}.presence-dot.online{background:#22c55e}.presence-dot.offline{background:#8e8e93;opacity:.85}.mod-badge{position:absolute;right:-3px;top:-3px;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#2873ce;color:#fff;border:2px solid var(--panel);box-sizing:content-box;pointer-events:none}.mod-badge svg{width:10px;height:10px;display:block}.modal.profile-card .presence-dot{width:22px;height:22px;right:6px;bottom:6px;min-width:0;min-height:0;max-width:none;max-height:none;border:3px solid #2c2c2e}.modal.profile-card .mod-badge{width:24px;height:24px;right:4px;top:4px;border-width:3px}.modal.profile-card .mod-badge svg{width:14px;height:14px}.modal.profile-card h2 .mod-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#2873ce;letter-spacing:.02em;vertical-align:middle}.modal.profile-card h2 .mod-chip svg{width:12px;height:12px;display:block}[data-act=mod-ban],[data-act=mod-delete]{color:#2873ce}.mod-tag{margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;color:#fff;background:#2873ce;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.stack{display:flex;flex-direction:column;max-width:calc(100% - 40px);min-width:0;position:relative}.row.me .stack{align-items:flex-end;max-width:calc(100% - 8px)}.name-small{font-size:11px;color:var(--muted);margin:8px 0 2px 44px;font-weight:500;transition:transform .22s cubic-bezier(.2,.7,.2,1);cursor:pointer;width:fit-content;max-width:calc(100% - 44px)}.name-small.dragging{transition:none}.name-small:hover{text-decoration:underline}.name-small.me{margin-left:auto;margin-right:14px;text-align:right;transform:translateX(calc(-1 * var(--reveal)));will-change:transform}.bubble-wrap{position:relative;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.row.me .bubble-wrap{flex-direction:row-reverse}.bubble{padding:6px 12px;border-radius:18px;background:var(--bubble-other);color:var(--text);word-wrap:break-word;overflow-wrap:anywhere;box-shadow:var(--shadow);position:relative;min-height:28px;display:inline-block;max-width:100%;line-height:1.35}.row.me .bubble{background:var(--bubble-other);color:var(--text)}.bubble.image-only{padding:4px;background:0 0;box-shadow:none}.row.me .bubble.image-only{background:0 0}.bubble .msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.bubble.has-image .msg-text{display:block;margin-top:6px}.dm-bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin:2px 0 0;padding:0;line-height:1;opacity:0;transition:opacity .18s,color .22s;pointer-events:none;color:color-mix(in srgb,var(--accent,#2873ce) 78%,transparent);min-height:12px;width:100%}.dm-bubble-meta.show{opacity:1}.dm-status-text{font-size:10.5px;font-weight:400;letter-spacing:.1px;color:inherit;opacity:.85;white-space:nowrap}.dm-read-receipt{display:inline-flex;align-items:center;gap:0;padding:0;color:inherit;line-height:1;min-width:14px;height:11px;position:relative;flex:0 0 auto}.dm-read-receipt svg{width:11px;height:11px;display:block;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.dm-read-receipt .tick-2{margin-left:-5px}.dm-read-receipt[data-state=sent] .tick-2{display:none}.dm-bubble-meta[data-state=seen]{color:var(--accent,#2873ce)}.dm-bubble-meta[data-state=seen] .dm-status-text{opacity:.95}.dm-bubble-meta[data-state=seen] .dm-read-receipt svg{animation:.24s cubic-bezier(.2,.8,.2,1) both dmSeenPop}@keyframes dmSeenPop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.dm-bubble-meta,.dm-read-receipt,.dm-read-receipt svg{transition:none;animation:none}}#dm-room-backdrop .bubble{position:relative}#dm-room-backdrop .row.me .bubble.image-only .dm-bubble-meta{position:absolute;right:8px;bottom:8px;margin:0;padding:2px 6px;border-radius:10px;background:rgba(0,0,0,.55);color:color-mix(in srgb,var(--accent,#2873ce) 85%,#fff 15%);width:auto;min-width:0}#dm-room-backdrop .row.me .bubble.image-only .dm-bubble-meta[data-state=seen]{color:color-mix(in srgb,var(--accent,#2873ce) 92%,#fff 8%)}.bubble img.msg-image{display:block;max-width:min(320px,70vw);max-height:340px;width:auto;height:auto;border-radius:14px;object-fit:cover;background:var(--border);cursor:zoom-in}.reply-snippet{display:block;border-left:3px solid rgba(0,0,0,.18);background:rgba(0,0,0,.05);padding:6px 9px;border-radius:8px;color:var(--text);margin-bottom:6px;cursor:pointer;opacity:.9;max-width:100%;overflow:hidden;text-align:left;border-width:0 0 0 3px;font:inherit;font-size:12px}.reply-snippet .reply-to{font-weight:700;font-size:11px;display:block;margin-bottom:2px}.reply-snippet .reply-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.reply-snippet.missing{opacity:.6;font-style:italic}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;max-width:100%}.row.me .reactions{justify-content:flex-end}.reaction{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;background:var(--panel);border:1px solid var(--border);border-radius:999px;font-size:13px;cursor:pointer;line-height:1.2;max-width:100%;transition:transform .08s,background .15s,border-color .15s}.reaction:hover{background:var(--border)}.reaction.mine{background:rgba(10,132,255,.12);border-color:rgba(10,132,255,.45)}.reaction:active{transform:scale(.94)}.reaction .count{font-size:11px;color:var(--muted);font-weight:600}.reaction.mine .count{color:var(--bubble-me)}.reaction.add-emoji{color:var(--muted);background:0 0;border-style:dashed;padding:2px 6px}.reaction.add-emoji svg{width:14px;height:14px}.reaction.add-emoji:hover{color:var(--text);background:var(--border);border-style:solid}.row-time{position:absolute;top:50%;right:0;transform:translate(0,-50%);opacity:calc(var(--reveal) / var(--reveal-max));color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;transition:opacity .22s;width:calc(var(--reveal-max) - 8px);text-align:right;padding-right:2px}.row.me .row-time{transform:translate(var(--reveal),-50%);text-align:left;padding-right:0;padding-left:6px}.row.dragging .row-time{transition:none}.msg-col{padding-right:16px;max-width:100%}@media (max-width:520px){.msg-col{padding-right:12px;padding-left:12px}.row{gap:6px}.stack{max-width:calc(100% - 34px)}.row.me .stack{max-width:100%}.name-small{margin-left:38px;max-width:calc(100% - 38px)}}@media (max-width:380px){.msg-col{padding-right:10px;padding-left:10px}}.inline-actions{display:flex;align-items:center;gap:2px;opacity:0;transform:scale(.9);transition:opacity .15s,transform .15s;pointer-events:none}.row.show-actions .inline-actions,.row:hover .inline-actions{opacity:1;transform:scale(1);pointer-events:auto}.inline-actions button{background:var(--panel);border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:0;border-radius:50%;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.inline-actions button:hover{background:var(--border);color:var(--text)}.inline-actions svg{width:15px;height:15px}.composer-wrap{background:var(--panel);border-top:1px solid var(--border);width:100%;position:relative}.composer-inner{width:100%;max-width:var(--content-w);margin:0 auto;padding:0 16px}@media (max-width:520px){.composer-inner{padding:0 12px}}.reply-preview{display:none;align-items:center;gap:10px;padding:8px 0 6px;border-bottom:1px solid var(--border)}.reply-preview.open{display:flex}.reply-preview .bar-left{width:3px;align-self:stretch;background:var(--bubble-me);border-radius:2px}.reply-preview .rp-body{flex:1;min-width:0;font-size:12px}.reply-preview .rp-name{font-weight:700;color:var(--bubble-me);margin-bottom:2px}.reply-preview .rp-text{color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.reply-preview .rp-close{background:0 0;border:0;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:4px 8px}footer.composer{display:flex;gap:8px;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));align-items:flex-end;flex-wrap:nowrap;overflow:visible}.icon-btn{flex:0 0 auto;flex-shrink:0;width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;border:1px solid var(--border);background:var(--input-bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;z-index:2;visibility:visible;transition:background .15s,transform .08s,border-color .15s}.icon-btn:hover{background:var(--border)}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn svg{width:20px;height:20px;display:block;pointer-events:none}@media (max-width:520px){footer.composer{gap:6px;flex-wrap:nowrap;overflow:visible}.icon-btn#upload-btn,footer.composer #upload-btn.icon-btn,footer.composer .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;flex-shrink:0;display:inline-flex!important;visibility:visible!important;opacity:1;z-index:3}footer.composer .icon-btn svg{width:22px;height:22px}footer.composer .input-wrap{min-width:0;flex:1 1 auto}}footer.composer .input-wrap{flex:1;position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}footer.composer .preview{display:none;position:relative;align-self:flex-start}footer.composer .preview.open{display:inline-block}footer.composer .preview img{max-width:140px;max-height:100px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}footer.composer .preview .rm{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--danger);color:#fff;border:0;font-size:14px;font-weight:700;cursor:pointer;line-height:1}footer.composer input[type=text]{padding:10px 14px;border-radius:20px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:15px;outline:0;transition:border-color .15s;width:100%}footer.composer input[type=text]:focus{border-color:var(--bubble-me)}footer.composer input[type=text]:disabled{opacity:.55;cursor:not-allowed}.mention-box{position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:var(--panel-strong,var(--panel,#fff));border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);max-height:220px;overflow-y:auto;z-index:30;padding:4px}.mention-box .mb-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}.mention-box .mb-item.active,.mention-box .mb-item:hover{background:var(--bubble-me);color:#fff}.mention-box .mb-item img{width:24px;height:24px;border-radius:50%;object-fit:cover;background:var(--border)}.mention-box .mb-item .mb-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-box .mb-empty{padding:10px 12px;color:var(--muted);font-size:13px}.mention{color:var(--bubble-me);background:rgba(40,115,206,.12);padding:0 4px;border-radius:6px;font-weight:600;cursor:pointer}.bubble.me .mention{color:#fff;background:rgba(255,255,255,.22)}.mention:hover{text-decoration:underline}footer.composer #send{background:#2873ce;color:#fff;border:0;width:38px;height:38px;border-radius:50%;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter .15s,transform .08s,opacity .15s}footer.composer #send:hover:not(:disabled){filter:brightness(1.08)}footer.composer #send:active:not(:disabled){transform:scale(.95)}footer.composer #send:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.3)}footer.composer #send svg{width:18px;height:18px;display:block;pointer-events:none}.typing-indicator{position:absolute;left:0;right:auto;bottom:100%;display:none;align-items:center;gap:6px;padding:2px 14px 4px;font-size:12px;line-height:1.2;color:var(--muted);background:0 0;border:0;user-select:none;pointer-events:none;min-height:0;overflow:hidden;max-width:100%;z-index:2}.typing-indicator.active{display:inline-flex}.typing-indicator .typing-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;font-weight:500;opacity:.85}.typing-indicator .typing-dots{display:inline-flex;align-items:flex-end;gap:3px;margin-left:2px;height:10px}.typing-indicator .typing-dots span{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.45;animation:1.2s ease-in-out infinite typingDotBounce}.typing-indicator .typing-dots span:nth-child(2){animation-delay:.16s}.typing-indicator .typing-dots span:nth-child(3){animation-delay:.32s}@keyframes typingDotBounce{0%,100%,70%{transform:translateY(0);opacity:.35}35%{transform:translateY(-3px);opacity:.95}}.restriction{display:none;background:rgba(255,59,48,.08);border-top:1px solid rgba(255,59,48,.3);padding:10px 14px;color:var(--danger);font-size:13px;text-align:center}.restriction.open{display:block}.restriction a{color:var(--danger);font-weight:600}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:60;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));opacity:0;pointer-events:none;transition:opacity .2s;overflow-y:auto;overscroll-behavior:contain}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{background:var(--panel);color:var(--text);border-radius:18px;padding:24px 22px 20px;width:100%;max-width:360px;text-align:center;box-shadow:var(--shadow-lg);transform:translateY(14px) scale(.96);opacity:0;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s}.modal-backdrop.open .modal{transform:translateY(0) scale(1);opacity:1}.modal img.profile-avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;background:var(--border)}.modal.profile-card{padding:0 0 20px;overflow:hidden;text-align:left;max-width:min(420px,100%);width:100%;margin:auto;max-height:calc(100dvh - 40px);overflow-y:auto;position:relative}.modal.profile-card .profile-close-x{position:absolute;top:10px;left:10px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;border:0;border-radius:999px;cursor:pointer;z-index:6;padding:0;transition:background .15s,transform .08s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal.profile-card .profile-close-x:hover{background:rgba(0,0,0,.6)}.modal.profile-card .profile-close-x:active{transform:scale(.92)}.modal.profile-card .profile-close-x svg{width:16px;height:16px;display:block}.modal.profile-card .profile-banner{height:96px;width:100%;background:center/cover #2873ce;transition:background-color .2s}.modal.profile-card .profile-avatar-wrap{display:flex;justify-content:flex-start;padding:0 20px;margin-top:-56px}.modal.profile-card .profile-avatar-inner{position:relative;display:inline-block;line-height:0}.modal.profile-card img.profile-avatar{width:112px;height:112px;border-radius:50%;border:6px solid var(--panel);background:var(--panel);box-shadow:0 6px 18px rgba(0,0,0,.12);display:block}.modal.profile-card .profile-body{padding:8px 18px 0;display:flex;flex-direction:column;gap:10px;text-align:left}.modal.profile-card .profile-head{display:flex;flex-direction:column;gap:2px}.modal.profile-card h2{margin:0;font-size:17px;letter-spacing:-.01em;text-align:left;overflow-wrap:anywhere;word-break:break-word;font-weight:650}.modal.profile-card h2 .pronouns-sep{color:var(--muted);font-weight:400;margin:0 4px;font-size:12px;opacity:.75}.modal.profile-card h2 .pronouns-label{color:var(--muted);font-weight:400;font-size:12px;opacity:.85;letter-spacing:0}.modal.profile-card .sub .region-flag{margin-right:6px;font-size:13px;opacity:.85;vertical-align:baseline}.edit-modal select option .region-flag,.ob-step select option .region-flag{margin-right:4px}header.bar .me{padding:3px}header.bar .me .name{display:none}header.bar .me img{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--border);box-shadow:0 0 0 2px #2873ce,0 0 0 4px rgba(40,115,206,.2);transition:box-shadow .15s}header.bar .me:hover img{box-shadow:0 0 0 2px #2873ce,0 0 0 5px rgba(40,115,206,.32)}header.bar .header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin-left:2px;border:0;border-radius:50%;background:0 0;color:var(--text);cursor:pointer;flex-shrink:0;position:relative;transition:background .15s,color .15s,transform .08s}header.bar .header-icon-btn:hover{background:var(--border);color:#2873ce}header.bar .header-icon-btn:active{transform:scale(.94)}header.bar .header-icon-btn svg{width:20px;height:20px;display:block}header.bar .header-icon-btn .badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger,#ef4444);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--panel);pointer-events:none}header.bar .header-icon-btn .badge[hidden]{display:none}header.bar .header-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:0 0;color:var(--text);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,transform .08s;position:relative;margin-left:auto}header.bar .header-menu-btn:hover{background:var(--border);color:#2873ce}header.bar .header-menu-btn:active{transform:scale(.94)}header.bar .header-menu-btn svg{width:20px;height:20px;display:block}header.bar .me{margin-left:0}@media (max-width:420px){.modal.profile-card{max-width:100%}header.bar .header-menu-btn{width:32px;height:32px}header.bar .header-menu-btn svg{width:18px;height:18px}}.header-menu-drawer{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);min-width:220px;max-width:calc(100vw - 24px);padding:6px;z-index:70;opacity:0;pointer-events:none;transform:translateY(-4px) scale(.98);transition:opacity .14s,transform .14s cubic-bezier(.2,.8,.2,1)}.header-menu-drawer.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.header-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:0 0;color:var(--text);font:inherit;font-size:14px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .12s,color .12s}.header-menu-item:hover{background:var(--border);color:var(--text)}.header-menu-item .hm-icon{width:18px;height:18px;flex:0 0 auto;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.header-menu-item .hm-icon svg{width:18px;height:18px;display:block}.header-menu-item:hover .hm-icon{color:#2873ce}.header-menu-item .hm-caret{margin-left:auto;color:var(--muted);width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.header-menu-item .hm-caret svg{width:14px;height:14px;display:block}.header-menu-sub{margin:4px 6px 2px;padding:4px;border-radius:8px;background:var(--input-bg);display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .18s,padding .18s,margin .18s}.header-menu-sub.open{max-height:200px;padding:4px}.header-menu-sub .header-menu-item{padding:7px 10px 7px 32px;font-size:13.5px}.header-menu-divider{height:1px;margin:6px 10px;background:var(--border)}@media (max-width:420px){header.bar .header-icon-btn{width:32px;height:32px}header.bar .header-icon-btn svg{width:18px;height:18px}}#ac-overlay{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100vh;background:var(--bg);color:var(--text);z-index:1200;display:none;flex-direction:column;overflow:hidden;overscroll-behavior:contain}#ac-overlay.open{display:flex;animation:.2s both fadeIn}.ac-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 12px) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--panel)}.ac-header h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;min-width:0}.ac-header h2 .ac-title-icon{color:#2873ce;display:inline-flex;align-items:center}.ac-header h2 .ac-title-icon svg{width:22px;height:22px;display:block}.ac-header h2 .ac-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-close-btn{appearance:none;border:0;background:0 0;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;flex:0 0 auto;transition:background .12s,color .12s,transform .12s}.ac-close-btn:hover{background:var(--border);color:var(--text)}.ac-close-btn:active{transform:scale(.94)}.ac-close-btn svg{width:18px;height:18px;display:block}.ac-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.ac-wrap{max-width:560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}.ac-section{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.ac-section h3{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 2px}.ac-acct{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;cursor:pointer;min-width:0;transition:background .12s}.ac-acct+.ac-acct{margin-top:2px}.ac-acct:hover{background:var(--border)}.ac-acct.active{background:rgba(40,115,206,.08);cursor:default}.ac-acct-avatar{width:42px;height:42px;border-radius:50%;background:var(--bubble-other);flex:0 0 auto;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-weight:600;font-size:15px}.ac-acct-avatar img{width:100%;height:100%;object-fit:cover;display:block}.ac-acct-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ac-acct-name{font-weight:600;font-size:14.5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ac-acct-email{font-size:12.5px;color:var(--muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ac-acct-active{font-size:11px;font-weight:700;color:#2873ce;letter-spacing:.04em;padding:3px 9px;border-radius:999px;background:rgba(40,115,206,.12);flex:0 0 auto;text-transform:uppercase}.ac-acct-remove{flex:0 0 auto;appearance:none;border:0;background:0 0;width:32px;height:32px;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.ac-acct-remove:hover{background:var(--border);color:var(--danger)}.ac-acct-remove svg{width:16px;height:16px;display:block}.ac-empty{padding:18px 12px;text-align:center;color:var(--muted);font-size:13.5px}.ac-btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);width:100%;padding:11px 14px;border-radius:10px;font:inherit;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .12s,transform .12s,border-color .12s,color .12s}.ac-btn:hover{background:var(--border)}.ac-btn:active{transform:scale(.985)}.ac-btn svg{width:16px;height:16px;display:block;flex:0 0 auto}.ac-btn.primary{background:var(--bubble-me);color:var(--bubble-me-text);border-color:transparent}.ac-btn.primary:hover{filter:brightness(1.05);background:var(--bubble-me)}.ac-btn.danger{color:var(--danger)}.ac-btn.danger:hover{background:rgba(255,59,48,.1)}.ac-btn:disabled{opacity:.55;cursor:default;transform:none}.ac-field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.ac-field label{font-size:12.5px;color:var(--muted);font-weight:500}.ac-field input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:14.5px}.ac-field input:focus{outline:0;border-color:#2873ce}.ac-msg{font-size:12.5px;margin-top:6px;min-height:16px;line-height:1.35}.ac-msg.error{color:var(--danger)}.ac-msg.ok{color:#2da15d}.ac-row-actions{display:flex;gap:8px;flex-wrap:wrap}.ac-row-actions .ac-btn{flex:1 1 140px}.ac-hint{font-size:12.5px;color:var(--muted);margin:4px 2px 8px;line-height:1.45}@media (max-width:420px){.ac-header h2{font-size:15.5px}.ac-section{padding:12px;border-radius:12px}.ac-acct-avatar{width:38px;height:38px}}.ac-modal-back{position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.ac-modal-back.open{display:flex;animation:.15s both fadeIn}.ac-modal{background:var(--panel);color:var(--text);border-radius:14px;width:100%;max-width:400px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow-lg);max-height:calc(100dvh - 40px);overflow-y:auto}.ac-modal h3{margin:0 0 6px;font-size:17px}.ac-modal p{margin:0 0 12px;color:var(--muted);font-size:13.5px;line-height:1.45}.ac-modal-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end;flex-wrap:wrap}.ac-modal-actions .ac-btn{width:auto;flex:0 0 auto;padding:9px 14px}.popup-list .friend-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:0 0;width:100%}.popup-list .friend-row:last-child{border-bottom:0}.popup-list .friend-row .friend-avatar{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:visible}.popup-list .friend-row .friend-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--border);display:block}.popup-list .friend-row .friend-avatar .presence-dot{border-color:var(--panel)}.popup-list .friend-row .friend-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.popup-list .friend-row .friend-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-list .friend-row .friend-since{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-list .friend-row .friend-remove{background:0 0;border:0;color:var(--muted);width:32px;height:32px;padding:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,color .12s}.popup-list .friend-row .friend-remove:hover{background:rgba(255,59,48,.12);color:var(--danger)}.popup-list .friend-row .friend-remove:disabled{opacity:.5;cursor:not-allowed}.popup-list .friend-row .friend-remove svg{width:16px;height:16px;display:block}.modal.confirm-modal{background:var(--panel);color:var(--text);border-radius:16px;padding:0;width:100%;max-width:340px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.modal.confirm-modal .confirm-head{padding:16px 18px 6px;font-size:16px;font-weight:700}.modal.confirm-modal .confirm-body{padding:0 18px 16px;font-size:13.5px;color:var(--muted);line-height:1.4}.modal.confirm-modal .confirm-body strong{color:var(--text)}.modal.confirm-modal .confirm-foot{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--border);background:var(--panel-2,rgba(0,0,0,.02))}.modal.confirm-modal .confirm-btn{flex:1;font:inherit;font-size:13.5px;font-weight:600;padding:9px 12px;border-radius:10px;cursor:pointer;border:1px solid var(--border);background:var(--panel-2,rgba(0,0,0,.04));color:var(--text);transition:filter .12s,background .12s}.modal.confirm-modal .confirm-btn:hover{filter:brightness(1.05)}.modal.confirm-modal .confirm-btn:disabled{opacity:.55;cursor:not-allowed}.modal.confirm-modal .confirm-btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.modal.confirm-modal .confirm-btn.danger:hover{background:#dc2626;border-color:#dc2626}.modal.confirm-modal .confirm-btn.primary{background:#2873ce;color:#fff;border-color:#2873ce}.modal.confirm-modal .confirm-btn.primary:hover{background:#1f5fb0;border-color:#1f5fb0}.popup-list .friend-row .friend-req-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.popup-list .friend-row .friend-req-btn{background:0 0;border:1px solid var(--border);width:32px;height:32px;padding:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:background .12s,color .12s,border-color .12s}.popup-list .friend-row .friend-req-btn svg{width:16px;height:16px;display:block}.popup-list .friend-row .friend-req-btn.accept:hover{background:rgba(40,115,206,.12);color:#2873ce;border-color:#2873ce}.popup-list .friend-row .friend-req-btn.deny:hover{background:rgba(255,59,48,.12);color:var(--danger);border-color:var(--danger)}.popup-list .friend-row .friend-req-btn:disabled{opacity:.5;cursor:not-allowed}.modal.profile-card .profile-actions{display:flex;gap:10px;padding:0;margin-top:2px;justify-content:center}.modal.profile-card .profile-actions[hidden]{display:none}.modal.profile-card .profile-actions .pa-btn{flex:0 0 auto;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2,rgba(0,0,0,.04));color:var(--text);border:1px solid var(--border);border-radius:50%;padding:0;font-size:0;cursor:pointer;transition:background .15s,border-color .15s,transform .08s}.modal.profile-card .profile-actions .pa-btn:hover{background:var(--border)}.modal.profile-card .profile-actions .pa-btn:active{transform:scale(.96)}.modal.profile-card .profile-actions .pa-btn[hidden]{display:none}.modal.profile-card .profile-actions .pa-btn svg{width:18px;height:18px}.modal.profile-card .profile-actions .pa-btn#profile-add-friend{display:none!important}.modal.profile-card .profile-actions .pa-btn.primary{background:var(--panel-2,rgba(0,0,0,.04));border-color:var(--border);color:var(--text)}.modal.profile-card .profile-actions .pa-btn.primary:hover{background:var(--border);filter:none}.modal.profile-card .profile-actions .pa-btn:disabled{opacity:.8;cursor:default}.modal.profile-card .profile-actions .pa-btn.pending{color:#b9720b;border-color:rgba(224,147,26,.32);background:rgba(224,147,26,.1)}.modal.profile-card .profile-actions .pa-btn.pending:hover{background:rgba(224,147,26,.16)}.modal.profile-card .profile-actions .pa-btn.accepted{color:#1f7a3b;border-color:rgba(34,139,70,.28);background:rgba(34,139,70,.1)}.modal.profile-card .profile-actions .pa-btn.accepted:hover{background:rgba(34,139,70,.16)}.popup-list .popup-tabs{display:flex;gap:0;padding:6px 10px 0;border-bottom:1px solid var(--border);background:var(--panel)}.popup-list .popup-tab{flex:1;background:0 0;border:0;padding:8px 10px 10px;margin:0;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.popup-list .popup-tab:hover{color:var(--text)}.popup-list .popup-tab.active{color:var(--text);border-bottom-color:#2873ce}.popup-tab-badge{background:#2873ce;color:#fff;border-radius:999px;padding:0 6px;min-width:16px;height:16px;font-size:10px;font-weight:700;line-height:16px;text-align:center}.popup-tab-badge[hidden]{display:none}.popup-tab-add{flex:0 0 30px;width:30px;height:30px;margin-left:4px;align-self:center;background:0 0;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.popup-tab-add:hover{background:var(--input-bg);color:var(--text)}.popup-tab-add svg{width:18px;height:18px}.popup-tab-add[hidden]{display:none}.dm-side-new-group{width:26px;height:26px;align-self:center;margin-left:2px;background:0 0;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.dm-side-new-group:hover{background:var(--panel);color:var(--text)}.dm-side-new-group svg{width:16px;height:16px}.dm-side-new-group[hidden]{display:none}#group-create-backdrop .modal.group-create{width:min(420px,100%);max-height:min(90vh,560px);display:flex;flex-direction:column;background:var(--panel);border-radius:16px;overflow:hidden}.gc-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.gc-title{margin:0;font-size:16px;font-weight:700}.gc-body{padding:16px;display:flex;flex-direction:column;gap:14px;overflow:auto}.gc-avatar-field{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none}.gc-avatar-preview{width:56px;height:56px;border-radius:999px;background:var(--input-bg);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden;flex:none;border:1px dashed var(--border)}.gc-avatar-preview svg{width:22px;height:22px}.gc-avatar-preview img{width:100%;height:100%;object-fit:cover}.gc-avatar-label{color:var(--muted);font-size:13px;font-weight:500}.gc-field{display:flex;flex-direction:column;gap:6px}.gc-field-label{font-size:12px;font-weight:600;color:var(--muted)}.gc-optional{font-weight:400;opacity:.7}.gc-field input,.gc-field textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font:inherit;font-size:14px;resize:none;outline:0;transition:border-color .15s}.gc-field input:focus,.gc-field textarea:focus{border-color:#2873ce}.gc-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}.gc-btn{padding:8px 14px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:0 0;color:var(--text);transition:background .15s,opacity .15s}.gc-btn.secondary:hover{background:var(--input-bg)}.gc-btn.primary{background:#2873ce;border-color:#2873ce;color:#fff}.gc-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.gc-btn:disabled{opacity:.5;cursor:not-allowed}.group-row-avatar{width:44px;height:44px;border-radius:14px;background:var(--input-bg);overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.group-row-avatar img{width:100%;height:100%;object-fit:cover}.group-row-avatar svg{width:22px;height:22px}.group-room-add{margin-left:auto;width:34px;height:34px;border-radius:999px;background:0 0;border:0;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.group-room-add:hover{background:var(--input-bg);color:var(--text)}.group-room-add svg{width:18px;height:18px}.gadd-row{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-radius:10px;margin:2px 6px;transition:background .12s}.gadd-row:hover{background:var(--input-bg)}.gadd-row[aria-disabled=true]{opacity:.5;cursor:default}.gadd-avatar{position:relative;width:36px;height:36px;border-radius:999px;overflow:hidden;flex:none;background:var(--input-bg)}.gadd-avatar img{width:100%;height:100%;object-fit:cover}.gadd-avatar .presence-dot{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border:2px solid var(--panel)}.gadd-name{font-size:14px;font-weight:600;color:var(--text);flex:1;min-width:0}.gadd-name .gadd-sub{display:block;font-size:11px;color:var(--muted);font-weight:500}.gadd-action{background:#2873ce;color:#fff;border:0;border-radius:999px;padding:6px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;flex:none}.gadd-action:disabled{opacity:.5;cursor:default;background:var(--muted)}#group-settings-modal{max-width:440px}.gs-section{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.gs-section:last-child{border-bottom:0}.gs-label{font-size:12px;color:var(--muted);font-weight:600}.gs-input{width:100%;font:inherit;font-size:14px;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-sizing:border-box}.gs-textarea{resize:vertical;min-height:60px}.gs-input:focus{outline:0;border-color:#2873ce}.gs-ro{font-size:14px;color:var(--text);padding:4px 0}.gs-actions{display:flex;gap:8px;margin-top:6px}.gs-btn{flex:1;font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border-radius:10px;cursor:pointer;border:1px solid var(--border);background:var(--panel-2,rgba(0,0,0,.04));color:var(--text);transition:background .12s,border-color .12s}.gs-btn:hover{background:var(--input-bg)}.gs-btn-primary{background:#2873ce;color:#fff;border-color:#2873ce}.gs-btn-primary:hover{background:#215fb0}.gs-btn-danger{color:#c0392b}.gs-btn-danger:hover{background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.35)}.gs-image-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gs-image-preview{width:56px;height:56px;border-radius:50%;background:var(--input-bg);border:1px solid var(--border);overflow:hidden;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;flex:0 0 auto}.gs-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.gs-image-preview .gs-image-ph{font-size:22px;color:var(--muted)}.gs-members{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.gs-mem{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:8px}.gs-mem .avatar{width:32px;height:32px;border-radius:999px;object-fit:cover;flex:none;background:var(--border)}.gs-mem-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.gs-role{font-size:10.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;background:var(--input-bg);padding:2px 6px;border-radius:4px}.gs-rm{font:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;border:1px solid var(--border);background:0 0;color:#c0392b;cursor:pointer}.gs-rm:hover{background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.35)}.dm-request-bar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:rgba(40,115,206,.06)}.dm-request-bar[hidden]{display:none}.dm-request-bar .drb-text{font-size:12.5px;color:var(--muted);text-align:center}.dm-request-bar .drb-actions{display:flex;gap:8px}.dm-request-bar .drb-actions button{flex:1;font:inherit;font-size:13px;font-weight:600;padding:8px 10px;border-radius:10px;cursor:pointer;border:1px solid var(--border);background:var(--panel-2,rgba(0,0,0,.04));color:var(--text);transition:background .15s}.dm-request-bar .drb-actions button:hover{background:var(--border)}.dm-request-bar .drb-actions button.drb-accept{background:#2873ce;color:#fff;border-color:#2873ce}.dm-request-bar .drb-actions button.drb-accept:hover{filter:brightness(1.08)}.dm-room .dm-composer-wrap{display:flex;flex-direction:column;border-top:1px solid var(--border);position:relative}.dm-room .dm-reply-preview{display:none;padding:8px 12px;background:rgba(40,115,206,.05);border-bottom:1px solid var(--border);font-size:12.5px;color:var(--muted);align-items:center;gap:8px}.dm-room .dm-reply-preview.open{display:flex}.dm-room .dm-reply-preview .drp-bar{width:3px;align-self:stretch;background:#2873ce;border-radius:2px}.dm-room .dm-reply-preview .drp-body{flex:1;min-width:0}.dm-room .dm-reply-preview .drp-name{font-weight:700;color:var(--text);font-size:12px}.dm-room .dm-reply-preview .drp-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-room .dm-reply-preview .drp-close{background:0 0;border:0;color:var(--muted);cursor:pointer;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.dm-room .dm-reply-preview .drp-close:hover{background:var(--border);color:var(--text)}.dm-room .dm-image-preview{display:none;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel);gap:8px;align-items:center}.dm-room .dm-image-preview.open{display:flex}.dm-room .dm-image-preview img{max-width:120px;max-height:96px;border-radius:8px;object-fit:cover}.dm-room .dm-image-preview .dip-rm{background:var(--panel-2,rgba(0,0,0,.06));border:1px solid var(--border);cursor:pointer;width:28px;height:28px;border-radius:50%;color:var(--text);font-size:16px}.dm-room .dm-attach{background:0 0;border:0;cursor:pointer;width:36px;height:36px;border-radius:50%;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.dm-room .dm-attach:hover{background:var(--border);color:var(--text)}.dm-room .dm-attach svg{width:18px;height:18px}.popup-list{background:var(--panel);color:var(--text);border-radius:16px;padding:0;width:100%;max-width:400px;text-align:left;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - 80px));overflow:hidden}.popup-list .popup-head{display:flex;align-items:center;padding:14px 16px 10px;border-bottom:1px solid var(--border);gap:10px}.popup-list .popup-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0;flex:1;display:inline-flex;align-items:center;gap:8px}.popup-list .popup-title .popup-title-icon{width:16px;height:16px;color:var(--muted);flex:none}.popup-list .popup-close{background:0 0;border:0;color:var(--muted);width:28px;height:28px;padding:0;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.popup-list .popup-close:hover{background:var(--border);color:var(--text)}.popup-list .popup-close svg{width:16px;height:16px}.popup-list .popup-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.popup-list .popup-empty{padding:28px 20px;color:var(--muted);font-size:13px;text-align:center}.popup-list .popup-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;border-left:0;border-right:0;border-top:0;width:100%;color:inherit;text-align:left;font:inherit;transition:background .12s}.popup-list .popup-row:hover{background:var(--border)}.popup-list .popup-row:last-child{border-bottom:0}.popup-list .popup-row img.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--border);flex-shrink:0}.popup-list .popup-row .row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.popup-list .popup-row .row-top{display:flex;align-items:baseline;gap:8px}.popup-list .popup-row .row-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.popup-list .popup-row .row-ts{font-size:11px;color:var(--muted);flex-shrink:0}.popup-list .popup-row .row-sub{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-list .popup-row.unread .row-sub{color:var(--text);font-weight:600}.popup-list .popup-row.unread::before{content:"";width:8px;height:8px;border-radius:50%;background:#2873ce;flex-shrink:0;margin-right:-2px}.popup-list .popup-row .notif-actions{display:flex;gap:6px;margin-top:4px}.popup-list .popup-row .notif-actions button{font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:var(--panel-2,rgba(0,0,0,.04));color:var(--text)}.popup-list .popup-row .notif-actions button.accept{background:#2873ce;color:#fff;border-color:#2873ce}.popup-list .popup-row .notif-actions button:hover{filter:brightness(1.05)}.popup-list .popup-row .notif-actions button:disabled{opacity:.55;cursor:not-allowed}#dm-room-backdrop .modal.dm-room{background:var(--panel);color:var(--text);border-radius:0;padding:0;width:100%;max-width:none;max-height:100dvh;height:100dvh;text-align:left;display:flex;flex-direction:column;box-shadow:none}@media (min-width:900px){#dm-room-backdrop{padding:0;left:0;top:0;bottom:0;right:340px;width:auto;background:0 0;align-items:stretch;justify-content:stretch}#dm-room-backdrop .modal.dm-room{width:100%;max-width:none;height:100%;max-height:100%;border-left:0;border-right:1px solid var(--border)}}.dm-room .dm-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:2;padding-top:max(10px,env(safe-area-inset-top))}.dm-room .dm-back{background:0 0;border:0;color:var(--text);width:32px;height:32px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s;padding:0}.dm-room .dm-back:hover{background:var(--border)}.dm-room .dm-back svg{width:18px;height:18px}.dm-room .dm-peer{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;background:0 0;border:0;color:inherit;font:inherit;padding:2px;border-radius:8px;text-align:left}.dm-room .dm-peer:hover{background:var(--border)}.dm-room .dm-peer img{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--border)}.dm-room .dm-peer .dm-peer-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dm-room .dm-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overscroll-behavior-x:none;touch-action:pan-y;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--panel-2,rgba(0,0,0,.02))}#dm-room-backdrop .modal.dm-room,#group-room-backdrop .modal.dm-room{overflow:hidden;touch-action:pan-y;overscroll-behavior:contain}#dm-room-backdrop,#group-room-backdrop{overflow:hidden;touch-action:none;overscroll-behavior:contain}#group-room-backdrop .modal.dm-room{background:var(--panel);color:var(--text);border-radius:0;padding:0;width:100%;max-width:none;max-height:100dvh;height:100dvh;text-align:left;display:flex;flex-direction:column;box-shadow:none}@media (max-width:899.98px){#dm-room-backdrop,#group-room-backdrop{padding:0}}@media (min-width:900px){#group-room-backdrop{padding:0;left:0;top:0;bottom:0;right:340px;width:auto;background:0 0;align-items:stretch;justify-content:stretch}#group-room-backdrop .modal.dm-room{width:100%;max-width:none;height:100%;max-height:100%;border-right:1px solid var(--border)}}.dm-room .dm-empty,.dm-room .dm-loading{color:var(--muted);font-size:13px;text-align:center;padding:20px 10px}.dm-row{display:flex;align-items:flex-end;gap:6px;animation:.2s cubic-bezier(.2,.7,.2,1) both bubbleIn}.dm-row.me{justify-content:flex-end}.dm-bubble{max-width:min(74%,400px);padding:6px 10px;border-radius:15px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:14px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.dm-row.me .dm-bubble{background:var(--accent,#2873ce);color:var(--accent-text,#fff);border-color:var(--accent,#2873ce);border-bottom-right-radius:4px}.dm-row:not(.me) .dm-bubble{border-bottom-left-radius:4px}.dm-bubble a{color:inherit;text-decoration:underline}.dm-meta{font-size:10.5px;color:var(--muted);padding:0 8px}.dm-day-divider{text-align:center;color:var(--muted);font-size:11px;margin:10px 0 4px;letter-spacing:.02em}.dm-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--panel);padding-bottom:max(10px,env(safe-area-inset-bottom))}.dm-composer textarea{flex:1;resize:none;min-height:38px;max-height:120px;padding:9px 12px;border-radius:18px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:14px;outline:0;transition:border-color .15s}.dm-composer textarea:focus{border-color:#2873ce}.dm-composer button.dm-send{background:#2873ce;color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:filter .15s,transform .08s;flex-shrink:0}.dm-composer button.dm-send:hover{filter:brightness(1.08)}.dm-composer button.dm-send:active{transform:scale(.95)}.dm-composer button.dm-send:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.3)}.dm-composer button.dm-send svg{width:18px;height:18px}.modal.profile-card .sub{color:var(--muted);font-size:13px;margin:2px 0 0;text-align:left}.modal.profile-card .sub.empty{font-style:italic}.modal.profile-card .profile-section{background:var(--panel-2,rgba(0,0,0,.03));border:1px solid var(--border);border-radius:12px;padding:10px 12px}.modal.profile-card .profile-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;display:inline-flex;align-items:center;gap:6px}.modal.profile-card .profile-section-title .profile-section-icon{width:13px;height:13px;color:var(--muted);flex:none}.modal.profile-card .member-since{display:flex;flex-direction:column;gap:0;margin-top:6px;padding-top:4px;border-top:1px solid var(--border);color:var(--muted);text-align:left;align-self:stretch;line-height:1.15;opacity:.9}.modal.profile-card .member-since .ms-label{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1.15;margin:0;opacity:.8}.modal.profile-card .member-since .ms-value{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:400;line-height:1.2;color:var(--muted);margin-top:2px}.modal.profile-card .member-since .ms-icon{width:12px;height:12px;border-radius:3px;object-fit:contain;flex-shrink:0;display:inline-block;opacity:.85}.modal.profile-card .member-since .ms-date{white-space:nowrap}.modal.profile-card .member-since.empty .ms-value .ms-date{font-style:italic;color:var(--muted)}.modal.profile-card .bio{text-align:left;margin:0;color:var(--text);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.modal.profile-card .bio.empty{color:var(--muted);font-style:italic}.modal.profile-card .uid{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:var(--panel);border:1px solid var(--border);color:var(--muted);padding:3px 8px;border-radius:8px;margin-top:2px;overflow-wrap:anywhere;max-width:100%}.modal.profile-card .uid.empty{font-family:inherit;font-style:italic;background:0 0;border:0;padding:0}.modal.profile-card .discord-link{width:100%;margin:0;padding:0;background:0 0;border:0;display:flex;flex-direction:column;gap:8px;text-align:left}.modal.profile-card .actions{padding:0 18px;margin-top:12px}.modal.profile-card .profile-banner-actions{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;z-index:3}.modal.profile-card .edit-icon{position:static;top:auto;right:auto;background:rgba(0,0,0,.35);color:#fff;backdrop-filter:blur(6px)}.modal.profile-card .profile-menu-btn{width:34px;height:34px;border-radius:999px;background:rgba(0,0,0,.35);color:#fff;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:filter .15s,transform .08s}.modal.profile-card .profile-menu-btn:hover{filter:brightness(1.1)}.modal.profile-card .profile-menu-btn:active{transform:scale(.96)}.modal.profile-card .profile-menu-btn svg{width:18px;height:18px}.modal.profile-card .profile-menu{position:absolute;top:52px;right:0;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-menu);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:4}.modal.profile-card .profile-menu[hidden]{display:none}.modal.profile-card .profile-menu button{appearance:none;background:0 0;border:0;color:var(--text);text-align:left;font:inherit;font-size:14px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s}.modal.profile-card .profile-menu button:focus-visible,.modal.profile-card .profile-menu button:hover{background:var(--border);outline:0}.modal.profile-card .profile-menu button[data-act=cancel-request],.modal.profile-card .profile-menu button[data-act=report]{color:var(--danger)}.modal.profile-card .profile-menu button[hidden]{display:none}.modal .banner-color-row{display:flex;align-items:center;gap:8px}.modal .banner-color-row input[type=color]{width:44px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:0 0;cursor:pointer}.modal .banner-color-row input[type=text]{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg,var(--panel));color:var(--text)}.modal .banner-color-row .banner-reset{padding:8px 12px;border-radius:8px;background:var(--border);color:var(--text);border:0;font-size:13px;cursor:pointer}.modal h2{margin:10px 0 2px;font-size:22px;letter-spacing:-.01em}.modal .sub{color:var(--muted);font-size:13px;margin-bottom:4px}.modal .since{color:var(--muted);font-size:12px;margin:4px 0 6px}.modal .uid{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:4px 8px;border-radius:8px;margin-top:4px;max-width:100%;overflow-wrap:anywhere}.modal .actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.modal button.pill{padding:11px 14px;border-radius:10px;border:0;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s}.modal button.pill:hover{filter:brightness(.96)}.modal .close-btn{background:var(--border);color:var(--text)}.modal .logout-btn{background:var(--danger);color:#fff}.modal{position:relative}.modal .bio{color:var(--text);font-size:14px;text-align:center;margin:6px 8px 2px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.modal .meta{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--muted);margin:8px 0 2px}.modal .meta .meta-row{display:inline-flex;gap:6px;justify-content:center;flex-wrap:wrap}.modal .meta .meta-row b{color:var(--text);font-weight:600}.modal .edit-icon{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;background:var(--border);color:var(--text);border:0;cursor:pointer;display:none;align-items:center;justify-content:center;transition:filter .15s}.modal .edit-icon.show{display:inline-flex}.modal .edit-icon:hover{filter:brightness(.96)}.modal .edit-icon svg{width:16px;height:16px}.modal .discord-link{width:100%;margin-top:10px;padding:10px;border-radius:10px;background:var(--border);color:var(--text);display:flex;flex-direction:column;gap:8px;text-align:left}.modal .discord-link .dl-status{font-size:13px;color:var(--muted)}.modal .discord-link .dl-status b{color:var(--text)}.modal .discord-link .dl-actions{display:flex;justify-content:center}.modal .discord-link .dl-link{background:#5865f2;color:#fff}.modal .discord-link .dl-err{color:var(--danger);font-size:12px;min-height:1em;text-align:center}.modal .discord-link .dl-tip-wrap{position:relative;display:inline-block}.modal .discord-link .dl-tip{position:absolute;left:50%;transform:translateX(-50%) translateY(6px);bottom:calc(100% + 6px);max-width:min(260px,calc(100vw - 48px));width:max-content;background:var(--text);color:var(--panel);font-size:12px;line-height:1.35;padding:8px 10px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:5;text-align:center}.modal .discord-link .dl-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--text)}.modal .discord-link .dl-tip-wrap.show-tip .dl-tip,.modal .discord-link .dl-tip-wrap:focus-within .dl-tip,.modal .discord-link .dl-tip-wrap:hover .dl-tip{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes obPop{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@keyframes obStepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes obStepBack{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes obIconRing{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}#onboarding{flex:1;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:18px 24px 32px;animation:.28s both fadeIn;background:radial-gradient(1000px 600px at 10% -10%,rgba(40,115,206,.14),transparent 60%),radial-gradient(900px 520px at 110% 110%,rgba(40,115,206,.1),transparent 60%);min-height:100dvh;box-sizing:border-box;overflow-y:auto}#onboarding .ob-brand{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:6px 2px;color:var(--text);font-weight:700;font-size:18px;letter-spacing:.2px}#onboarding .ob-brand img{width:28px;height:28px;border-radius:7px;object-fit:cover}#onboarding .ob-brand .ob-brand-name{background:linear-gradient(90deg,#5aa3ff,#2873ce 70%);-webkit-background-clip:text;background-clip:text;color:transparent}#onboarding .ob-card{width:min(520px,100%);margin:auto;padding:14px 8px 22px;background:0 0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:18px;animation:.34s cubic-bezier(.2,.8,.2,1) both obPop;position:relative;overflow:visible}.ob-head{display:flex;flex-direction:column;gap:10px}.ob-step-pills{display:flex;gap:6px;width:100%}.ob-step-pill{flex:1;height:4px;background:var(--border);border-radius:4px;transition:background .22s,box-shadow .22s,transform .22s;transform:translateZ(0)}.ob-step-pill.done{background:#2873ce}.ob-step-pill.active{background:#2873ce;box-shadow:0 0 0 3px rgba(40,115,206,.18)}.ob-progress{width:100%;height:4px;background:var(--border);border-radius:4px;overflow:hidden;display:none}.ob-progress-fill{height:100%;background:#2873ce;border-radius:4px;transition:width .3s cubic-bezier(.2,.8,.2,1);width:0%}.ob-head h2{margin:4px 0 0;font-size:26px;line-height:1.25;letter-spacing:-.02em;word-break:break-word;overflow-wrap:anywhere;hyphens:auto}.ob-head .step-label{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.ob-head .step-sub{color:var(--muted);font-size:14px;line-height:1.55;margin-top:-2px;max-width:46ch;word-break:break-word;overflow-wrap:anywhere}.ob-body{position:relative;min-height:0;width:100%}.ob-step{display:none;flex-direction:column;gap:12px;width:100%}.ob-step.active{display:flex;animation:.26s cubic-bezier(.2,.8,.2,1) both obStepIn}.ob-step.active>*{animation:.28s cubic-bezier(.2,.8,.2,1) both obStepIn;animation-delay:calc(var(--ob-child, 0) * 40ms)}.ob-step.active>:first-child{--ob-child:0}.ob-step.active>:nth-child(2){--ob-child:1}.ob-step.active>:nth-child(3){--ob-child:2}.ob-step.active>:nth-child(4){--ob-child:3}.ob-step.active>:nth-child(5){--ob-child:4}.ob-step.active>:nth-child(6){--ob-child:5}.ob-step.active>:nth-child(7){--ob-child:6}.ob-step.active>:nth-child(8){--ob-child:7}@media (prefers-reduced-motion:reduce){.typing-indicator .typing-dots span{animation:none;opacity:.7}.ob-step.active,.ob-step.active>*{animation:none!important}}.ob-step .hint,.ob-step h3,.ob-step label,.ob-step p{word-break:break-word;overflow-wrap:anywhere}.ob-step.active.from-back{animation-name:obStepBack}.ob-step-icon{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,rgba(40,115,206,.22),rgba(40,115,206,.08));border:1px solid rgba(40,115,206,.35);color:#7ab8ff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:2px;box-shadow:0 6px 18px rgba(40,115,206,.18);animation:.38s cubic-bezier(.2,.8,.2,1) both obIconRing;flex:0 0 auto}.ob-step-icon svg{width:24px;height:24px}.ob-verify{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:8px 4px 0}.ob-verify-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(40,115,206,.22),rgba(40,115,206,.08));border:1px solid rgba(40,115,206,.45);display:inline-flex;align-items:center;justify-content:center;color:#7ab8ff;animation:.4s cubic-bezier(.2,.8,.2,1) both obIconRing}.ob-verify-icon svg{width:34px;height:34px}.ob-verify h3{margin:0;font-size:22px;letter-spacing:-.01em}.ob-verify p{margin:0;color:var(--muted);line-height:1.55;max-width:44ch}.ob-verify .ob-verify-email{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(40,115,206,.12);border:1px solid rgba(40,115,206,.35);font-weight:600;color:var(--text);word-break:break-all}.ob-verify-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.ob-verify-actions button{padding:11px 18px;border-radius:10px;border:0;font-weight:600;font-size:14px;cursor:pointer;transition:filter .15s}.ob-verify-actions .ob-verify-resend{background:#2873ce;color:#fff}.ob-verify-actions .ob-verify-resend:hover{filter:brightness(1.08)}.ob-verify-actions .ob-verify-resend:disabled{opacity:.6;cursor:not-allowed}.ob-verify-actions .ob-verify-refresh{background:var(--border);color:var(--text)}.ob-verify-actions .ob-verify-refresh:hover{filter:brightness(.94)}.ob-verify-status{color:var(--muted);font-size:13px;min-height:1em}.ob-verify-status.ok{color:#3ddc91}.ob-verify-status.err{color:var(--danger)}.verify-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(8,10,14,.62);backdrop-filter:blur(14px) saturate(1.05);-webkit-backdrop-filter:blur(14px) saturate(1.05);animation:.22s both vmFade}.verify-modal.open{display:flex}@keyframes vmFade{from{opacity:0}to{opacity:1}}.verify-modal-panel{width:100%;max-width:440px;background:linear-gradient(180deg,rgba(22,28,38,.96),rgba(16,20,28,.96));border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 0 1px rgba(40,115,206,.18) inset;padding:28px 26px 22px;color:var(--text);text-align:center;animation:.28s cubic-bezier(.2,.8,.2,1) both vmRise}@keyframes vmRise{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.verify-modal-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(40,115,206,.25),rgba(40,115,206,.08));border:1px solid rgba(40,115,206,.45);display:inline-flex;align-items:center;justify-content:center;color:#7ab8ff;margin-bottom:14px}.verify-modal-icon svg{width:34px;height:34px}.verify-modal-title{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.01em}.verify-modal-desc{margin:0 0 14px;color:var(--muted);line-height:1.55;font-size:14px}.verify-modal-spam{display:inline-block;margin-top:4px;font-size:12.5px;opacity:.85}.verify-modal-email{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(40,115,206,.14);border:1px solid rgba(40,115,206,.35);font-weight:600;font-size:13px;word-break:break-all;margin-bottom:18px;max-width:100%}.verify-modal-actions{display:flex;flex-direction:column;gap:10px}.verify-modal-actions button{padding:12px 16px;border-radius:10px;border:0;font-weight:600;font-size:14px;cursor:pointer;transition:filter .15s,transform .1s,background .15s,color .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.verify-modal-actions button:active:not(:disabled){transform:translateY(1px)}.verify-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.vm-primary{background:#2873ce;color:#fff}.vm-primary:hover:not(:disabled){filter:brightness(1.08)}.vm-primary.ok{background:rgba(74,222,128,.16);color:#4ade80;border:1px solid rgba(74,222,128,.45)}.vm-primary.error{background:rgba(240,76,92,.18);color:#ff8a94;border:1px solid rgba(240,76,92,.45)}.vm-secondary{background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.1)}.vm-secondary:hover:not(:disabled){background:rgba(255,255,255,.1)}.vm-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:.7s linear infinite vmSpin}@keyframes vmSpin{to{transform:rotate(360deg)}}.vm-check,.vm-x{width:16px;height:16px}.verify-modal-status{min-height:18px;margin-top:12px;color:var(--muted);font-size:13px;line-height:1.4;transition:color .2s}.verify-modal-status.ok{color:#4ade80}.verify-modal-status.err{color:#ff8a94}@media (max-width:420px){.verify-modal-panel{padding:22px 18px 18px}.verify-modal-title{font-size:19px}.verify-modal-desc{font-size:13px}.verify-modal-icon{width:60px;height:60px}.verify-modal-icon svg{width:28px;height:28px}}.composer.locked>*,.dm-composer.locked>*,.group-composer.locked>*{filter:grayscale(.35) blur(.4px);opacity:.55;pointer-events:none!important;user-select:none;-webkit-user-select:none;cursor:not-allowed}.composer.locked input,.composer.locked textarea,.dm-composer.locked input,.dm-composer.locked textarea,.group-composer.locked input,.group-composer.locked textarea{caret-color:transparent}.composer.locked,.dm-composer.locked,.group-composer.locked{position:relative}.composer.locked::after,.dm-composer.locked::after,.group-composer.locked::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(20,24,31,0) 0,rgba(20,24,31,.35) 100%);pointer-events:none}#onboarding .ob-username-wrap{position:relative}#onboarding .ob-username-wrap input{padding-right:40px}#onboarding .ob-username-state{position:absolute;right:12px;top:50%;transform:translateY(-50%) scale(.85);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);opacity:0;transition:opacity .2s,color .2s,transform .2s cubic-bezier(.2,.8,.2,1);pointer-events:none;background:0 0!important;border:0!important;padding:0!important;margin:0!important;animation:none!important}#onboarding .ob-username-state::before{content:none!important}#onboarding .ob-username-state.show{opacity:1;transform:translateY(-50%) scale(1)}#onboarding .ob-username-state.checking{color:#7ab8ff;animation:1s linear infinite obuSpin!important}#onboarding .ob-username-state.ok{color:#3ddc91}#onboarding .ob-username-state.err{color:var(--danger)}#onboarding .ob-username-state svg{width:16px;height:16px}@keyframes obuSpin{to{transform:translateY(-50%) rotate(360deg)}}#onboarding .ob-username-msg{min-height:0;font-size:12px;line-height:1.4;color:var(--muted);margin-top:2px;opacity:0;transform:translateY(-3px);transition:color .18s,opacity .22s,transform .22s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;gap:5px;background:0 0!important;border:0!important;padding:0!important;animation:none!important;position:static!important}#onboarding .ob-username-msg::before{content:none!important}#onboarding .ob-username-msg:not(:empty){opacity:1;transform:translateY(0)}#onboarding .ob-username-msg.ok{color:#3ddc91}#onboarding .ob-username-msg.err{color:var(--danger)}#onboarding .ob-username-wrap input.checking,#onboarding .ob-username-wrap input.err,#onboarding .ob-username-wrap input.ok{border-color:var(--border)!important;background:var(--input-bg,transparent)!important;animation:none!important}#onboarding .ob-username-wrap input.checking::before,#onboarding .ob-username-wrap input.err::before,#onboarding .ob-username-wrap input.ok::before{content:none!important}@media (max-width:600px){#onboarding{padding:14px 14px 24px}#onboarding .ob-card{padding:8px 0 18px;gap:14px}.ob-head h2{font-size:22px}.ob-head .step-sub{font-size:13px}.ob-step-icon{width:44px;height:44px;border-radius:12px}.ob-step-icon svg{width:22px;height:22px}.ob-body{min-height:0}.ob-verify h3{font-size:19px}.ob-verify p{font-size:13.5px;max-width:100%}.ob-verify .ob-verify-email{font-size:13px;padding:5px 10px}.ob-verify-actions button{padding:10px 14px;font-size:13.5px}}@media (max-width:380px){#onboarding .ob-brand{font-size:16px}#onboarding .ob-brand img{width:24px;height:24px}.ob-head h2{font-size:19px;line-height:1.3}.ob-head .step-sub{font-size:12.5px}.ob-verify h3{font-size:17.5px}.ob-verify p{font-size:13px}.ob-verify-icon{width:60px;height:60px}.ob-verify-icon svg{width:28px;height:28px}.ob-step input,.ob-step select,.ob-step textarea{font-size:14.5px;padding:11px 12px}}.ob-step label{font-size:14px;font-weight:600}.ob-step .req{color:var(--danger)}.ob-step .hint{color:var(--muted);font-size:12px}.ob-step input,.ob-step select,.ob-step textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:15px;outline:0;transition:border-color .15s}.ob-step textarea{min-height:80px;resize:vertical}.ob-step input:focus,.ob-step select:focus,.ob-step textarea:focus{border-color:#2873ce}.ob-avatar{display:flex;flex-direction:column;align-items:center;gap:12px}.ob-avatar img{width:110px;height:110px;border-radius:50%;object-fit:cover;background:var(--border);border:1px solid var(--border)}.ob-avatar button{background:var(--border);color:var(--text);border:0;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer}.ob-avatar button:hover{filter:brightness(.96)}.ob-actions{display:flex;gap:8px;justify-content:space-between;margin-top:4px}.ob-actions button{padding:11px 18px;border-radius:10px;border:0;font-weight:600;font-size:14px;cursor:pointer;transition:filter .15s,transform .08s}.ob-back{background:var(--border);color:var(--text)}.ob-back:disabled{opacity:.4;cursor:not-allowed}.ob-finish,.ob-next{background:#2873ce;color:#fff}.ob-finish:hover,.ob-next:hover{filter:brightness(1.08)}.ob-finish:disabled,.ob-next:disabled{opacity:.6;cursor:not-allowed}.ob-skip{margin:10px auto 0;display:block;background:0 0;color:var(--muted);border:0;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px}.ob-skip:hover{color:var(--text);text-decoration:underline}.ob-skip:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}#onboarding .err{color:var(--danger);font-size:13px;min-height:1em}.modal.edit-profile-card{padding:0 0 16px}.modal.edit-profile-card .profile-banner{transition:background-color .18s}.modal.edit-profile-card .avatar-upload-btn{position:absolute;top:-2px;right:-2px;width:32px;height:32px;border-radius:999px;border:2px solid var(--panel);background:rgba(40,115,206,.95);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:3;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:transform .12s,background .15s,box-shadow .15s}.modal.edit-profile-card .avatar-upload-btn:hover{background:#2873ce;transform:scale(1.06);box-shadow:0 4px 10px rgba(0,0,0,.28)}.modal.edit-profile-card .avatar-upload-btn:active{transform:scale(.94)}.modal.edit-profile-card .avatar-upload-btn:focus-visible{outline:#2873ce solid 2px;outline-offset:2px}.modal.edit-profile-card .avatar-upload-btn svg{width:15px;height:15px;display:block}.modal.edit-profile-card .ep-head{padding:0;gap:10px}.modal.edit-profile-card .ep-field{display:flex;flex-direction:column;gap:4px}.modal.edit-profile-card .ep-field label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;justify-content:space-between;gap:8px}.modal.edit-profile-card .ep-field label .hint{text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:500;color:var(--muted)}.modal.edit-profile-card .ep-input{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:14px;outline:0;transition:border-color .15s,background .15s}.modal.edit-profile-card .ep-input:focus{border-color:#2873ce}.modal.edit-profile-card .ep-input:disabled{background:var(--border);cursor:not-allowed;color:var(--muted)}.modal.edit-profile-card .ep-input-name{font-size:17px;font-weight:650;letter-spacing:-.01em;padding:10px 12px}.modal.edit-profile-card .ep-input-bio{min-height:78px;resize:vertical;line-height:1.45}.modal.edit-profile-card .ep-section{padding:12px 14px}.modal.edit-profile-card .ep-section .profile-section-title{margin-bottom:10px}.modal.edit-profile-card .ep-actions{display:flex;flex-direction:row;justify-content:flex-end;gap:8px;padding:4px 18px 0;margin-top:2px}.modal.edit-profile-card .ep-actions .pill{padding:10px 18px;font-size:14px}.modal.edit-profile-card .save-btn{background:#2873ce;color:#fff}.modal.edit-profile-card .err{color:var(--danger);font-size:13px;min-height:1em;margin:0 18px;text-align:left}.modal.edit-profile-card .banner-color-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal.edit-profile-card .banner-color-row input[type=color]{width:42px;height:32px;padding:2px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);cursor:pointer}.modal.edit-profile-card .banner-color-row input[type=text]{flex:1 1 120px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:13.5px;outline:0}.modal.edit-profile-card .banner-color-row input[type=text]:focus{border-color:#2873ce}.modal.edit-profile-card .banner-color-row .banner-reset{padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.modal.edit-profile-card .banner-color-row .banner-reset:hover{background:var(--border)}.modal.edit-modal{text-align:left;max-width:440px;padding:22px 22px 18px}.modal.edit-modal h2{text-align:left;margin:0 0 8px;font-size:20px}.modal.edit-modal .actions{flex-direction:row;justify-content:flex-end}.modal.edit-modal .save-btn{background:#2873ce;color:#fff}.modal.edit-modal .err{color:var(--danger);font-size:13px;min-height:1em;margin-top:6px;text-align:left}#image-viewer{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:120;padding:20px;opacity:0;transition:opacity .2s}#image-viewer.open{display:flex;opacity:1}#image-viewer img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;transform:scale(.96);transition:transform .22s cubic-bezier(.2,.8,.2,1)}#image-viewer.open img{transform:scale(1)}#image-viewer .close{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#image-viewer .close:hover{background:rgba(255,255,255,.24)}#image-viewer .close svg{width:20px;height:20px}.ctx-menu{position:fixed;min-width:128px;background:var(--panel);color:var(--text);border-radius:10px;box-shadow:var(--shadow-menu);border:1px solid var(--border);padding:4px;z-index:90;display:none;transform-origin:top left;animation:.12s cubic-bezier(.2,.7,.2,1) both menuIn}.ctx-menu.open{display:block}.ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;background:0 0;border:0;color:inherit;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1.1;text-align:left}.ctx-menu button:hover{background:var(--border)}.ctx-menu button.danger{color:var(--danger)}.ctx-menu svg{width:14px;height:14px;opacity:.85}#drawer{position:fixed;inset:0;display:none;z-index:92}#drawer.open{display:block}#drawer .scrim{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .2s}#drawer.open .scrim{opacity:1}#drawer .sheet{position:absolute;left:0;right:0;bottom:0;background:var(--panel);border-radius:18px 18px 0 0;padding:8px 10px max(16px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .24s cubic-bezier(.2,.8,.2,1)}#drawer.open .sheet{transform:translateY(0)}#drawer .grabber{width:36px;height:4px;border-radius:2px;background:var(--border);margin:6px auto 10px}#drawer button.row-btn{display:flex;align-items:center;gap:12px;width:100%;background:0 0;border:0;color:var(--text);padding:14px 12px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;text-align:left}#drawer button.row-btn:hover{background:var(--border)}#drawer button.row-btn.danger{color:var(--danger)}#drawer svg{width:20px;height:20px;opacity:.9}.reaction-picker{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 8px;display:none;gap:4px;z-index:95;box-shadow:var(--shadow-menu);animation:.16s cubic-bezier(.2,.7,.2,1) both menuIn;max-width:calc(100vw - 16px);flex-wrap:wrap}.reaction-picker.open{display:inline-flex}.reaction-picker button{background:0 0;border:0;font-size:22px;width:36px;height:36px;border-radius:50%;cursor:pointer;line-height:1;transition:transform .08s,background .12s;display:inline-flex;align-items:center;justify-content:center;color:var(--text);padding:0}.reaction-picker button:hover{background:var(--border);transform:scale(1.1)}.reaction-picker button.more svg{width:18px;height:18px;opacity:.75}.reaction-picker.full{border-radius:14px;flex-direction:column;flex-wrap:nowrap;width:min(340px,calc(100vw - 16px));max-width:calc(100vw - 16px);height:min(400px,calc(100dvh - 80px));max-height:calc(100dvh - 80px);padding:6px;gap:4px;overflow:hidden;align-items:stretch}.reaction-picker.full .cats{display:flex;gap:2px;padding:2px;border-bottom:1px solid var(--border);flex:0 0 auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.reaction-picker.full .cats::-webkit-scrollbar{display:none}.reaction-picker.full .cat-btn{flex:0 0 auto;width:32px;height:32px;font-size:18px;line-height:1;background:0 0;border:0;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:.65;transition:background .12s,opacity .12s;color:var(--text)}.reaction-picker.full .cat-btn:hover{background:var(--border);opacity:.9;transform:none}.reaction-picker.full .cat-btn.active{opacity:1;background:var(--border)}.reaction-picker.full .cat-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px 2px;flex:0 0 auto}.reaction-picker.full .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px;overflow-y:auto;flex:1 1 auto;min-height:0;padding:2px 4px 6px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.reaction-picker.full .grid button{width:100%;height:38px;border-radius:8px;font-size:22px}.reaction-picker.full .grid button:hover{transform:none}@media (max-width:420px){.reaction-picker.full{width:calc(100vw - 12px);height:min(380px,calc(100dvh - 72px))}.reaction-picker.full .grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}.reaction-picker.full .grid button{height:36px;font-size:20px}}#toasts{position:fixed;top:16px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:130;pointer-events:none;max-width:calc(100% - 24px)}.toast{background:rgba(20,20,22,.92);color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:var(--shadow-lg);animation:.2s both toastIn;max-width:360px}.toast.error{background:rgba(255,59,48,.95)}.toast.warn{background:rgba(255,159,10,.95);color:#111}.toast.fade-out{animation:.2s both toastOut}.empty,.loading{color:var(--muted);padding:28px;text-align:center;font-size:13px}.msg-highlight{animation:1.2s highlightPulse}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes bubbleIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bubbleInMe{from{opacity:0;transform:translateY(6px) scale(.98) translateX(calc(-1 * var(--reveal)))}to{opacity:1;transform:translateY(0) scale(1) translateX(calc(-1 * var(--reveal)))}}@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes menuIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes highlightPulse{0%,100%{background:0 0}20%{background:rgba(10,132,255,.15);border-radius:12px}}@media (prefers-reduced-motion:reduce){#drawer .sheet,#image-viewer img,#login,.ctx-menu,.modal,.name-small,.reaction-picker,.row,.toast{animation:none!important;transition:none!important}}#mod-overlay{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;background:var(--bg);color:var(--text);overscroll-behavior:contain}#mod-overlay.open{display:flex;animation:.2s both fadeIn}.mod-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px max(14px,env(safe-area-inset-right)) 14px max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--panel)}.mod-header h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;min-width:0}.mod-header h2 .mod-title-icon{color:#2873ce;display:inline-flex;align-items:center}.mod-header h2 .mod-title-icon svg{width:22px;height:22px;display:block}.mod-header h2 .mod-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-close-btn{appearance:none;border:0;background:0 0;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,transform .12s}.mod-close-btn:hover{background:var(--border);color:var(--text)}.mod-close-btn:active{transform:scale(.94)}.mod-close-btn svg{width:18px;height:18px;display:block}.mod-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.mod-wrap{max-width:1040px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}.mod-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mod-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mod-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width:820px){.mod-grid-2,.mod-grid-3{grid-template-columns:1fr}.mod-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.mod-section{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.mod-section h3{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.mod-section h3 svg{width:14px;height:14px;color:#2873ce}.mod-stat{text-align:center;padding:12px 8px}.mod-stat-num{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--text);line-height:1.1}.mod-stat-lbl{margin-top:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.mod-chart-wrap{position:relative;height:220px}.mod-btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 12px;border-radius:10px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,transform .12s,border-color .12s}.mod-btn:hover{background:var(--border)}.mod-btn:active{transform:scale(.985)}.mod-btn.primary{background:var(--bubble-me);color:var(--bubble-me-text);border-color:transparent}.mod-btn.primary:hover{filter:brightness(1.05);background:var(--bubble-me)}.mod-btn:disabled{opacity:.55;cursor:default;transform:none}.mod-btn svg{width:14px;height:14px}.mod-input,.mod-textarea{width:100%;box-sizing:border-box;font:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:9px 11px;transition:border-color .12s,box-shadow .12s}.mod-textarea{min-height:80px;resize:vertical;line-height:1.45}.mod-input:focus,.mod-textarea:focus{outline:0;border-color:#2873ce;box-shadow:0 0 0 3px rgba(40,115,206,.15)}.mod-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.mod-log,.mod-note{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--input-bg)}.mod-log-head,.mod-note-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--muted);margin-bottom:4px}.mod-log-actor,.mod-note-author{font-weight:600;color:var(--text)}.mod-note-body{font-size:13.5px;line-height:1.45;color:var(--text);white-space:pre-wrap;word-wrap:break-word}.mod-log-body{font-size:13px;line-height:1.4;color:var(--text);word-wrap:break-word}.mod-log .mod-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;text-transform:uppercase;background:rgba(40,115,206,.12);color:#2873ce}.mod-log .mod-badge.danger{background:rgba(255,59,48,.12);color:var(--danger)}.mod-log .mod-badge.warn{background:rgba(255,149,0,.15);color:#c67600}.mod-empty{padding:14px;text-align:center;color:var(--muted);font-size:13px}.mod-note-del{appearance:none;background:0 0;border:0;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:6px;font-size:11.5px}.mod-note-del:hover{color:var(--danger);background:rgba(255,59,48,.08)}.mod-check-input-row{display:flex;gap:8px;flex-wrap:wrap}.mod-check-input-row .mod-input{flex:1 1 240px}.mod-check-card{margin-top:10px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--input-bg)}.mod-check-card .mod-check-head{display:flex;align-items:center;gap:10px}.mod-check-card .mod-check-avatar{width:40px;height:40px;border-radius:50%;background:var(--border);object-fit:cover;flex:0 0 auto}.mod-check-card .mod-check-name{font-weight:600}.mod-check-card .mod-check-sub{font-size:11.5px;color:var(--muted)}.mod-check-card .mod-check-stats{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}.mod-check-card .mod-check-stats div b{display:block;font-size:15px}.mod-check-card .mod-check-stats div span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.mod-mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.mod-mod-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg)}.mod-mod-card img{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--border)}.mod-mod-card .mod-mod-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-banner{display:inline-block;background:rgba(40,115,206,.12);color:#2873ce;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mod-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}#image-viewer .iv-download{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));right:16px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:121}#image-viewer .iv-download:hover{background:rgba(255,255,255,.24)}#image-viewer .iv-download svg{width:20px;height:20px}#image-viewer:not(.open) .iv-download{display:none}.bubble video.msg-video{max-width:100%;max-height:320px;border-radius:10px;display:block;background:#000}.bubble .msg-file{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none;max-width:280px;min-width:180px}.bubble .msg-file:hover{filter:brightness(1.05)}.bubble .msg-file svg{width:28px;height:28px;flex:none;color:var(--muted)}.bubble .msg-file .msg-file-main{display:flex;flex-direction:column;min-width:0}.bubble .msg-file .msg-file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bubble .msg-file .msg-file-hint{font-size:11px;color:var(--muted)}.emoji-btn{background:0 0;border:0;color:var(--muted);cursor:pointer;padding:0;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:none}.emoji-btn:hover{background:var(--border);color:var(--text)}.emoji-btn svg{width:20px;height:20px}@media (hover:none) and (pointer:coarse){.emoji-btn{display:none!important}}#emoji-picker{position:fixed;width:280px;max-height:280px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.25);padding:10px;z-index:140;display:none;overflow:auto}#emoji-picker.open{display:block}#emoji-picker .ep-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}#emoji-picker .ep-btn{background:0 0;border:0;padding:6px 0;font-size:20px;line-height:1;cursor:pointer;border-radius:6px}#emoji-picker .ep-btn:hover{background:var(--border)}#attach-drawer{position:fixed;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.25);padding:6px;z-index:140;display:none;transform:translateY(-100%)}#attach-drawer.open{display:block}#attach-drawer .ad-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:0 0;color:var(--text);border:0;border-radius:8px;cursor:pointer;font-size:14px;text-align:left}#attach-drawer .ad-item:hover{background:var(--border)}#attach-drawer .ad-item svg{width:20px;height:20px;color:var(--muted);flex:none}#attach-drawer .ad-item .ad-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}#chat-row-ctx{position:fixed;min-width:200px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.25);padding:6px;z-index:160;display:none}#chat-row-ctx.open{display:block}#chat-row-ctx button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:0 0;color:var(--text);border:0;border-radius:7px;cursor:pointer;font-size:13.5px;text-align:left}#chat-row-ctx button:hover{background:var(--border)}#chat-row-ctx button.danger{color:var(--danger)}#chat-row-ctx button svg{width:16px;height:16px;flex:none}.dm-side-row.pinned .dm-side-name::before,.popup-row.pinned .row-name::before{content:"";display:inline-block;width:10px;height:10px;margin-right:4px;vertical-align:-1px;background-color:var(--muted);mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M16 3a2 2 0 0 1 0 4 1 1 0 0 0-1 1v2.76a4 4 0 0 0 2.22 3.58l.78.39V17h-5v5h-2v-5H6v-2.27l.78-.39A4 4 0 0 0 9 10.76V8a1 1 0 0 0-1-1 2 2 0 0 1 0-4z"/></svg>') no-repeat center/contain;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M16 3a2 2 0 0 1 0 4 1 1 0 0 0-1 1v2.76a4 4 0 0 0 2.22 3.58l.78.39V17h-5v5h-2v-5H6v-2.27l.78-.39A4 4 0 0 0 9 10.76V8a1 1 0 0 0-1-1 2 2 0 0 1 0-4z"/></svg>') no-repeat center/contain}.dm-side-disposed-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:0;background:0 0;color:var(--muted);cursor:pointer;margin:4px 6px 2px 10px}.dm-side-disposed-btn:hover{background:var(--border);color:var(--text)}.dm-side-disposed-btn svg{width:16px;height:16px}#disposed-mini{position:fixed;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.25);padding:6px;z-index:150;display:none}#disposed-mini.open{display:block}#disposed-mini button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:0 0;color:var(--text);border:0;border-radius:7px;cursor:pointer;font-size:13.5px;text-align:left}#disposed-mini button:hover{background:var(--border)}#disposed-mini button svg{width:16px;height:16px;color:var(--muted)}#disposed-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:145;display:none;align-items:flex-start;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 16px 16px}#disposed-overlay.open{display:flex}.disposed-card{width:100%;max-width:440px;max-height:80vh;background:var(--bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.disposed-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.disposed-head h3{font-size:15px;margin:0;font-weight:700}.disposed-body{flex:1;overflow:auto;padding:6px}.disposed-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px}.disposed-row:hover{background:var(--border)}.disposed-row img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--border)}.disposed-row .dr-main{flex:1;min-width:0}.disposed-row .dr-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disposed-row .dr-time{font-size:12px;color:var(--muted)}.disposed-row .dr-restore{background:0 0;border:0;padding:6px;border-radius:8px;cursor:pointer;color:var(--muted)}.disposed-row .dr-restore:hover{background:var(--bg);color:var(--text)}.disposed-row .dr-restore svg{width:18px;height:18px}.disposed-empty{padding:24px 18px;text-align:center;color:var(--muted);font-size:13.5px}.disposed-close{background:0 0;border:0;cursor:pointer;color:var(--muted);width:30px;height:30px;border-radius:8px}.disposed-close:hover{background:var(--border);color:var(--text)}.disposed-close svg{width:18px;height:18px}#settings-overlay{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100vh;background:var(--bg);color:var(--text);z-index:1250;display:none;overflow:hidden;overscroll-behavior:contain}#settings-overlay.open{display:flex;animation:.2s both fadeIn}body.settings-fullpage #app,body.settings-fullpage #header-menu-btn,body.settings-fullpage #header-menu-drawer{display:none!important}#settings-overlay.fullpage{animation:none}.settings-sidebar{flex:0 0 auto;width:260px;max-width:78vw;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .28s cubic-bezier(.2,.8,.2,1)}#settings-overlay.collapsed .settings-sidebar{width:64px}.settings-sidebar-header{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 14px) 14px 14px;border-bottom:1px solid var(--border);min-height:56px}.settings-sidebar-toggle{appearance:none;border:0;background:0 0;width:36px;height:36px;flex:0 0 auto;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.settings-sidebar-toggle:hover{background:var(--border);color:var(--text)}.settings-sidebar-toggle svg{width:18px;height:18px;display:block;transition:transform .28s cubic-bezier(.2,.8,.2,1)}#settings-overlay.collapsed .settings-sidebar-toggle svg{transform:rotate(180deg)}.settings-sidebar-title{font-size:15px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;opacity:1;transition:opacity .18s;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}#settings-overlay.collapsed .settings-sidebar-title{opacity:0;pointer-events:none}.settings-nav{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:10px 8px;display:flex;flex-direction:column;gap:2px;-webkit-overflow-scrolling:touch}.settings-nav-empty{color:var(--muted);font-size:12.5px;padding:14px 10px;line-height:1.45;opacity:1;transition:opacity .18s}#settings-overlay.collapsed .settings-nav-empty{opacity:0;pointer-events:none}.settings-sidebar-footer{flex:0 0 auto;padding:10px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;align-items:center;gap:8px}.settings-close-btn{appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);width:100%;padding:9px 12px;border-radius:10px;font:inherit;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.settings-close-btn:hover{background:var(--border)}.settings-close-btn svg{width:16px;height:16px;flex:0 0 auto}#settings-overlay.collapsed .settings-close-btn{padding:0;width:40px;height:40px;border-radius:999px}#settings-overlay.collapsed .settings-close-label{display:none}.settings-main{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;min-width:0}.settings-main-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 14px) max(16px,env(safe-area-inset-right)) 14px 16px;border-bottom:1px solid var(--border);background:var(--panel);min-height:56px}.settings-main-header h2{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px}.settings-main-header h2 .settings-title-icon{color:#2873ce;display:inline-flex}.settings-main-header h2 .settings-title-icon svg{width:20px;height:20px;display:block}.settings-close-x{appearance:none;border:0;background:0 0;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;flex:0 0 auto;transition:background .12s,color .12s,transform .12s}.settings-close-x:hover{background:var(--border);color:var(--text)}.settings-close-x:active{transform:scale(.94)}.settings-close-x svg{width:18px;height:18px;display:block}.settings-content{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:24px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 24px}.settings-content>[data-section-panel]{width:100%;max-width:780px;margin:0 auto;min-width:0}.settings-content [data-section-panel=account-center] .ac-wrap{max-width:720px;margin:0 auto}.settings-empty{max-width:420px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px;margin:32px auto 0}.settings-empty-icon{width:56px;height:56px;border-radius:14px;background:var(--panel);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:#2873ce}.settings-empty-icon svg{width:28px;height:28px}.settings-empty-title{font-size:16px;font-weight:650;color:var(--text);letter-spacing:-.01em}.settings-empty-body{font-size:13.5px;line-height:1.5}@media (max-width:720px){.settings-sidebar{width:220px}#settings-overlay.collapsed .settings-sidebar{width:56px}}@media (max-width:600px){#settings-overlay.open{flex-direction:column}.settings-sidebar{width:100%!important;max-width:none;flex:0 0 auto;border-right:0;border-bottom:1px solid var(--border);transition:none}.settings-sidebar-header{padding:calc(env(safe-area-inset-top) + 10px) 12px 8px;min-height:0;border-bottom:0}.settings-sidebar-toggle{display:none}.settings-sidebar-title{font-size:13px;color:var(--muted);font-weight:600}.settings-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px 10px 10px;gap:6px;scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav .settings-nav-item{flex:0 0 auto;white-space:nowrap;margin:0}.settings-sidebar-footer{display:none}.settings-content{padding:16px max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.settings-main-header{padding:12px max(14px,env(safe-area-inset-right)) 12px 14px;min-height:48px}.settings-main-header h2{font-size:16px}}.settings-content [data-section-panel=account-center] .ac-section{margin:0}.settings-nav .settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;appearance:none;background:0 0;border:0;color:var(--text);text-align:left;padding:10px 12px;margin:0 0 2px;border-radius:10px;cursor:pointer;font:inherit;font-size:14px;transition:background .14s,color .14s}.settings-nav .settings-nav-item:hover{background:color-mix(in srgb,var(--accent,#2873ce) 10%,transparent)}.settings-nav .settings-nav-item.active{background:color-mix(in srgb,var(--accent,#2873ce) 16%,transparent);color:var(--text)}.settings-nav .settings-nav-item svg{width:16px;height:16px;flex:none;stroke:currentColor}#settings-overlay.collapsed .settings-nav .settings-nav-item{justify-content:center;padding:10px 0}#settings-overlay.collapsed .settings-nav .settings-nav-item span.label{display:none}.appearance-section{display:flex;flex-direction:column;gap:24px;padding:6px 4px 28px;max-width:780px;margin:0 auto;width:100%;min-width:0}.appearance-section>*{min-width:0}.appearance-h{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.appearance-sub{font-size:12.5px;color:var(--muted);margin:0 0 10px;line-height:1.5}.appearance-presets{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:6px 8px 14px 2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.appearance-presets::-webkit-scrollbar{height:8px}.appearance-presets::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.appearance-preset-card{flex:0 0 auto;scroll-snap-align:start;width:148px;padding:8px 8px 10px;border-radius:14px;background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px;transition:transform .16s,border-color .16s,box-shadow .16s;font:inherit;appearance:none}@media (max-width:420px){.appearance-preset-card{width:134px}}.appearance-preset-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent,#2873ce) 35%,var(--border));box-shadow:var(--shadow)}.appearance-preset-card.active{border-color:var(--accent,#2873ce);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#2873ce) 30%,transparent)}.appearance-preset-card .ap-preview{height:84px;border-radius:10px;border:1px solid var(--border);padding:8px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;overflow:hidden;background:var(--ap-bg,#eee);color:var(--ap-text,#111);font-size:11px}.appearance-preset-card .ap-row{display:flex;align-items:center;gap:6px}.appearance-preset-card .ap-dot{width:10px;height:10px;border-radius:50%;background:var(--ap-accent,#0a84ff);flex:none}.appearance-preset-card .ap-pill{height:8px;border-radius:999px;background:var(--ap-panel,#fff);border:1px solid rgba(0,0,0,.06)}.appearance-preset-card .ap-pill.wide{width:80%}.appearance-preset-card .ap-pill.narrow{width:50%;background:var(--ap-accent,#0a84ff);border-color:transparent}.appearance-preset-card .ap-name{font-size:13px;font-weight:600;color:var(--text);margin:0}.appearance-custom{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:560px){.appearance-custom{grid-template-columns:1fr}}.appearance-color-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel);display:flex;flex-direction:column;gap:10px}.appearance-color-title{font-size:12.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.appearance-color-swatch{width:18px;height:18px;border-radius:6px;border:1px solid var(--border);background:var(--_swatch-bg,#2873ce)}.appearance-color-inputs{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}@media (max-width:380px){.appearance-color-inputs{grid-template-columns:auto minmax(0,1fr)}.appearance-color-inputs input[type=color]{grid-column:1/-1;justify-self:start}}.appearance-color-inputs label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.appearance-color-inputs input[type=text]{width:100%;padding:7px 9px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;font:inherit;font-size:13px}.appearance-color-inputs input[type=color]{-webkit-appearance:none;appearance:none;width:36px;height:28px;padding:0;border:1px solid var(--border);background:0 0;border-radius:8px;cursor:pointer}.appearance-color-inputs input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.appearance-color-inputs input[type=color]::-webkit-color-swatch{border-radius:6px;border:0}.appearance-color-reset{appearance:none;border:1px solid var(--border);background:0 0;color:var(--muted);padding:6px 10px;border-radius:8px;font:inherit;font-size:12px;cursor:pointer;align-self:flex-start}.appearance-color-reset:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent,#2873ce) 40%,var(--border))}.appearance-typography{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:560px){.appearance-typography{grid-template-columns:1fr}}.appearance-field{display:flex;flex-direction:column;gap:6px}.appearance-field label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.appearance-field select{appearance:none;-webkit-appearance:none;padding:9px 32px 9px 11px;border:1px solid var(--border);background:var(--input-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center/14px 14px;color:var(--text);border-radius:10px;font:inherit;font-size:14px;cursor:pointer}.appearance-size-row{display:flex;align-items:center;gap:10px}.appearance-size-row input[type=range]{flex:1 1 auto;accent-color:var(--accent,#2873ce)}.appearance-size-readout{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:46px;text-align:right}.appearance-preview{margin-top:10px;padding:14px 14px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;gap:6px}.appearance-preview .pv-bubble-me{align-self:flex-end;background:var(--accent,#2873ce);color:var(--accent-text,#fff);padding:6px 12px;border-radius:18px;max-width:70%;font-size:inherit}.appearance-preview .pv-bubble-other{align-self:flex-start;background:var(--bubble-other);color:var(--text);padding:6px 12px;border-radius:18px;max-width:70%;font-size:inherit}.appearance-empty-spacer{display:none}.opt-preferences-section{display:flex;flex-direction:column;gap:20px;padding:6px 4px 28px;max-width:780px;margin:0 auto;width:100%;min-width:0}.opt-preferences-section>*{min-width:0}.opt-intro-h{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.opt-intro-sub{font-size:12.5px;color:var(--muted);margin:0 0 4px;line-height:1.5}.opt-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0}.opt-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:14px;transition:border-color .18s,background .18s}.opt-item:hover{border-color:color-mix(in srgb,var(--accent,#2873ce) 35%,var(--border))}.opt-item-text{min-width:0;display:flex;flex-direction:column;gap:2px}.opt-item-title{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.3}.opt-item-desc{font-size:12.5px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.opt-toggle{position:relative;display:inline-block;width:46px;height:28px;flex:0 0 auto;cursor:pointer;user-select:none}.opt-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.opt-toggle-track{position:absolute;inset:0;background:color-mix(in srgb,var(--text,#000) 22%,transparent);border-radius:999px;transition:background .22s}.opt-toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.12);transition:transform .22s cubic-bezier(.2,.8,.2,1),background .22s}.opt-toggle input:checked~.opt-toggle-track{background:var(--accent,#2873ce)}.opt-toggle input:checked~.opt-toggle-thumb{transform:translateX(18px)}.opt-toggle input:focus-visible~.opt-toggle-track{outline:2px solid color-mix(in srgb,var(--accent,#2873ce) 55%,transparent);outline-offset:2px}.opt-toggle input:disabled~.opt-toggle-track{opacity:.5}.opt-toggle input:disabled~.opt-toggle-thumb{opacity:.7}@media (prefers-reduced-motion:reduce){.opt-toggle-thumb,.opt-toggle-track{transition:none}}@media (max-width:520px){.opt-item{padding:12px 14px;gap:12px}.opt-item-title{font-size:14px}.opt-item-desc{font-size:12px}}.opt-preferences-section.dp-section{gap:24px}.dp-field{display:flex;flex-direction:column;gap:10px;margin-top:12px}.dp-field-label{display:flex;flex-direction:column;gap:2px}.dp-field-label>span:first-child{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.3}.dp-field-hint{font-size:12.5px;color:var(--muted);line-height:1.45}.dp-select{position:relative;align-self:flex-start;max-width:100%;width:min(280px,100%)}.dp-select-btn{appearance:none;-webkit-appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 14px;font:inherit;font-size:14px;font-weight:500;line-height:1.2;min-height:42px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.dp-select-btn:hover{border-color:color-mix(in srgb,var(--text,#000) 22%,var(--border))}.dp-select-btn:focus-visible{outline:0;border-color:var(--accent,#2873ce);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2873ce) 25%,transparent)}.dp-select.open>.dp-select-btn{border-color:var(--accent,#2873ce);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2873ce) 25%,transparent)}.dp-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-select-caret{width:16px;height:16px;color:var(--muted);flex-shrink:0;transition:transform .22s cubic-bezier(.4,0,.2,1),color .15s}.dp-select.open .dp-select-caret{transform:rotate(180deg);color:var(--accent,#2873ce)}.dp-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 10px 32px rgba(0,0,0,.18);z-index:5;display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(-6px) scale(.985);transform-origin:top center;pointer-events:none;visibility:hidden;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),visibility 0s linear .18s;max-height:280px;overflow-y:auto}.dp-select.open .dp-select-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1),visibility linear}.dp-select-opt{appearance:none;-webkit-appearance:none;background:0 0;border:0;color:var(--text);font:inherit;font-size:13.5px;font-weight:500;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.25;min-height:36px;transition:background .14s,color .14s}.dp-select-opt:hover{background:color-mix(in srgb,var(--text,#000) 6%,transparent)}.dp-select-opt[aria-selected=true]{color:var(--accent,#2873ce);font-weight:600}.dp-select-opt-check{width:14px;height:14px;color:var(--accent,#2873ce);flex-shrink:0;opacity:0;transition:opacity .14s}.dp-select-opt[aria-selected=true] .dp-select-opt-check{opacity:1}.dp-cookie-legend{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);line-height:1.5}.dp-cookie-legend strong{color:var(--text);font-weight:600}@media (prefers-reduced-motion:reduce){.dp-select-btn,.dp-select-caret,.dp-select-menu,.dp-select-opt,.dp-select-opt-check{transition:none}}@media (max-width:520px){.dp-select{width:100%}.dp-select-btn{font-size:16px;min-height:44px;padding:11px 14px}.dp-select-opt{font-size:14px;min-height:40px;padding:10px 12px}.dp-cookie-legend{font-size:12px}}.add-friend-search{position:relative;padding:12px 14px 8px;border-bottom:1px solid var(--border);background:var(--panel)}.add-friend-search-icon{position:absolute;left:26px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none;transition:color .15s}#add-friend-input{width:100%;appearance:none;-webkit-appearance:none;background:var(--input-bg,color-mix(in srgb,var(--text,#000) 4%,var(--panel)));color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px 10px 36px;font:inherit;font-size:14px;line-height:1.2;min-height:42px;transition:border-color .15s,box-shadow .15s}#add-friend-input::placeholder{color:var(--muted)}#add-friend-input:focus{outline:0;border-color:var(--accent,#2873ce);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2873ce) 25%,transparent)}.add-friend-search:focus-within .add-friend-search-icon{color:var(--accent,#2873ce)}.popup-list .add-friend-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:0 0;width:100%}.popup-list .add-friend-row:last-child{border-bottom:0}.popup-list .add-friend-row .friend-avatar{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:visible}.popup-list .add-friend-row .friend-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.popup-list .add-friend-row .friend-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.popup-list .add-friend-row .friend-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-list .add-friend-row .friend-since{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-list .add-friend-row .af-add-btn{appearance:none;-webkit-appearance:none;background:var(--accent,#2873ce);color:#fff;border:1px solid var(--accent,#2873ce);width:32px;height:32px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .12s,opacity .15s}.popup-list .add-friend-row .af-add-btn:hover{background:color-mix(in srgb,var(--accent,#2873ce) 90%,#000)}.popup-list .add-friend-row .af-add-btn:active{transform:scale(.94)}.popup-list .add-friend-row .af-add-btn svg{width:16px;height:16px;display:block}.popup-list .add-friend-row .af-add-btn.pending,.popup-list .add-friend-row .af-add-btn[disabled]{background:0 0;color:var(--muted);border-color:var(--border);cursor:default}.popup-list .add-friend-row .af-add-btn.accepted{background:color-mix(in srgb,var(--accent,#2873ce) 18%,transparent);color:var(--accent,#2873ce);border-color:color-mix(in srgb,var(--accent,#2873ce) 35%,var(--border))}.add-friend-error{color:var(--danger,#ff3b30);padding:14px;text-align:center;font-size:13px}body[data-page=onboarding] #onboarding{padding:24px 20px 48px;background:radial-gradient(900px 560px at 8% -8%,rgba(40,115,206,.16),transparent 62%),radial-gradient(820px 520px at 110% 6%,rgba(90,163,255,.1),transparent 62%),radial-gradient(760px 480px at 50% 120%,rgba(40,115,206,.1),transparent 60%)}body[data-page=onboarding] #onboarding .ob-card{width:min(520px,100%);margin:12px auto 0;padding:0;gap:14px;background:0 0;border:0;box-shadow:none;animation:.34s cubic-bezier(.2,.8,.2,1) both obPop}body[data-page=onboarding] .ob-head{padding:4px 0 2px;gap:8px}body[data-page=onboarding] .ob-head h2{font-size:24px;margin:4px 0 0;letter-spacing:-.015em}body[data-page=onboarding] .ob-head .step-sub{font-size:13.5px}body[data-page=onboarding] .ob-body{display:block;gap:0}body[data-page=onboarding] .ob-step{padding:4px 2px 8px;background:0 0;border:0;border-radius:0;box-shadow:none}body[data-page=onboarding] .ob-step input[type=email],body[data-page=onboarding] .ob-step input[type=password],body[data-page=onboarding] .ob-step input[type=text],body[data-page=onboarding] .ob-step select,body[data-page=onboarding] .ob-step textarea{background:color-mix(in srgb,var(--input-bg,#fff) 88%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);box-shadow:0 6px 18px rgba(12,20,40,.06),inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .15s,box-shadow .15s}body[data-page=onboarding] .ob-step input[type=email]:focus,body[data-page=onboarding] .ob-step input[type=password]:focus,body[data-page=onboarding] .ob-step input[type=text]:focus,body[data-page=onboarding] .ob-step select:focus,body[data-page=onboarding] .ob-step textarea:focus{border-color:#2873ce;box-shadow:0 0 0 3px rgba(40,115,206,.18),0 6px 18px rgba(12,20,40,.06)}body[data-page=onboarding] .ob-step::before{content:none}body[data-page=onboarding] .ob-actions{display:flex;gap:10px;padding:10px 12px;margin:18px auto 0;width:min(360px,100%);background:color-mix(in srgb,var(--panel,#fff) 86%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;box-shadow:0 10px 28px rgba(12,20,40,.1);-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05)}body[data-page=onboarding] .ob-skip{margin:10px auto 0}body[data-page=onboarding] .ob-step-pills{margin-bottom:4px}body[data-page=onboarding] .ob-step-pill{height:5px;border-radius:5px}@media (max-width:520px){#add-friend-input{font-size:16px}body[data-page=onboarding] #onboarding{padding:18px 14px 32px}body[data-page=onboarding] #onboarding .ob-card{margin-top:6px;gap:12px}body[data-page=onboarding] .ob-actions{width:calc(100% - 28px);padding:10px 12px}}.va-section{gap:22px}.va-block{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.va-block-title{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.va-row{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:14px;min-width:0}.va-label{font-size:14px;font-weight:500;color:var(--text)}.va-hint{color:var(--muted);font-weight:400}.va-select{width:100%;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);padding:9px 32px 9px 12px;font-size:14px;line-height:1.3;transition:border-color .18s,box-shadow .18s;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.va-select:hover{border-color:color-mix(in srgb,var(--accent,#2873ce) 35%,var(--border))}.va-select:focus-visible{outline:0;border-color:var(--accent,#2873ce);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2873ce) 22%,transparent)}.va-slider-wrap{display:flex;align-items:center;gap:12px;min-width:0}.va-slider-wrap input[type=range]{flex:1 1 auto;height:4px;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,var(--accent,#2873ce) 0,var(--accent,#2873ce) calc(var(--va-progress,0%) * 1),color-mix(in srgb,var(--text,#000) 14%,transparent) calc(var(--va-progress,0%) * 1));background:color-mix(in srgb,var(--text,#000) 14%,transparent);border-radius:999px;outline:0}.va-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent,#2873ce);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .12s,box-shadow .12s}.va-slider-wrap input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--accent,#2873ce);cursor:pointer}.va-slider-wrap input[type=range]:focus-visible::-webkit-slider-thumb,.va-slider-wrap input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent,#2873ce) 18%,transparent)}.va-slider-val{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);min-width:32px;text-align:right}.va-mic-test{display:flex;flex-direction:column;gap:10px;margin-top:4px}.va-mic-test-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.va-test-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.va-test-btn:hover{border-color:color-mix(in srgb,var(--accent,#2873ce) 45%,var(--border))}.va-test-btn.active{background:var(--accent,#2873ce);border-color:var(--accent,#2873ce);color:#fff}.va-mic-test-hint{font-size:12.5px;color:var(--muted)}.va-meter{position:relative;width:100%;height:12px;background:color-mix(in srgb,var(--text,#000) 8%,transparent);border-radius:999px;overflow:hidden}.va-meter-fill{position:absolute;inset:0;width:0%;background:linear-gradient(to right,#1abc9c 0,#1abc9c 60%,#f1c40f 80%,#e74c3c 100%);transition:width .06s linear}.va-meter-fill.muted{opacity:.45;filter:grayscale(.4)}.va-meter-gate{position:absolute;top:-2px;bottom:-2px;left:25%;width:2px;background:color-mix(in srgb,var(--text,#000) 55%,transparent);border-radius:1px;pointer-events:none}.va-perm-hint{font-size:13px;color:#b54040;background:color-mix(in srgb,#b54040 12%,var(--panel));border:1px solid color-mix(in srgb,#b54040 35%,var(--border));padding:10px 12px;border-radius:10px}@media (max-width:600px){.va-row{grid-template-columns:1fr;gap:6px}.va-label{font-size:13.5px}}.mic-btn{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:1px solid transparent;border-radius:999px;color:var(--muted);cursor:pointer;transition:background .14s,color .14s,transform .12s;margin:0 4px}.mic-btn svg{width:20px;height:20px}.mic-btn:hover{color:var(--accent,#2873ce);background:color-mix(in srgb,var(--accent,#2873ce) 10%,transparent)}.mic-btn:active{transform:scale(.96)}.mic-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent,#2873ce) 55%,transparent);outline-offset:2px}#voice-drawer-backdrop{position:fixed;inset:0;background:rgba(8,12,24,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1500;display:none;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .22s}#voice-drawer-backdrop.open{display:flex;opacity:1}#voice-drawer{width:100%;max-width:560px;background:var(--panel);color:var(--text);border-top-left-radius:18px;border-top-right-radius:18px;border:1px solid var(--border);border-bottom:0;box-shadow:0 -16px 48px rgba(0,0,0,.25);transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.85,.2,1);padding:6px 16px 22px;max-height:80vh;overflow-y:auto}#voice-drawer-backdrop.open #voice-drawer{transform:translateY(0)}.vd-grabber{width:42px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text,#000) 22%,transparent);margin:8px auto 12px}.vd-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.vd-tabs{display:inline-flex;background:color-mix(in srgb,var(--text,#000) 7%,transparent);border-radius:999px;padding:4px;gap:2px}.vd-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:0 0;border:0;border-radius:999px;color:var(--muted);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .16s,color .16s}.vd-tab svg{width:16px;height:16px}.vd-tab.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}.vd-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:0 0;border:0;border-radius:999px;color:var(--muted);cursor:pointer;transition:background .14s,color .14s}.vd-close:hover{background:color-mix(in srgb,var(--text,#000) 8%,transparent);color:var(--text)}.vd-pane{display:flex;flex-direction:column;gap:14px;padding:4px 4px 8px}.vd-pane[hidden]{display:none}.vd-rec-status,.vd-stt-status{text-align:center;font-size:13.5px;color:var(--muted)}.vd-rec-meter{width:100%;height:10px;background:color-mix(in srgb,var(--text,#000) 8%,transparent);border-radius:999px;overflow:hidden}.vd-rec-meter-fill{height:100%;width:0%;background:linear-gradient(to right,#1abc9c 0,#1abc9c 60%,#f1c40f 80%,#e74c3c 100%);transition:width .06s linear}.vd-rec-timer{text-align:center;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;color:var(--text)}.vd-rec-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:6px 0}.vd-rec-cancel,.vd-rec-send,.vd-rec-toggle{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;cursor:pointer;transition:background .15s,color .15s,transform .15s,box-shadow .15s}.vd-rec-toggle{width:72px;height:72px;background:var(--accent,#2873ce);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--accent,#2873ce) 35%,transparent)}.vd-rec-toggle:hover{transform:translateY(-1px)}.vd-rec-toggle .vd-rec-stop{display:none}.vd-rec-toggle.recording{background:#e74c3c;box-shadow:0 8px 18px rgba(231,76,60,.45);animation:1.4s ease-in-out infinite vd-pulse}.vd-rec-toggle.recording .vd-rec-mic{display:none}.vd-rec-toggle.recording .vd-rec-stop{display:block}.vd-rec-toggle svg{width:30px;height:30px}@keyframes vd-pulse{0%,100%{box-shadow:0 8px 18px rgba(231,76,60,.45)}50%{box-shadow:0 8px 24px rgba(231,76,60,.7)}}.vd-rec-cancel,.vd-rec-send{background:color-mix(in srgb,var(--text,#000) 7%,transparent);color:var(--text)}.vd-rec-cancel svg,.vd-rec-send svg{width:22px;height:22px}.vd-rec-cancel:disabled,.vd-rec-send:disabled{opacity:.4;cursor:default}.vd-rec-send:not(:disabled){background:var(--accent,#2873ce);color:#fff}#vd-rec-preview{width:100%}.vd-stt-output{min-height:90px;max-height:180px;overflow-y:auto;padding:12px;font-size:14.5px;line-height:1.5;background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text)}.vd-stt-output:empty::before{content:"Your transcript will appear here…";color:var(--muted);font-style:italic}.vd-stt-interim{color:var(--muted);font-style:italic}.vd-stt-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.vd-stt-clear,.vd-stt-insert,.vd-stt-toggle{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .14s,color .14s,border-color .14s}.vd-stt-clear:hover,.vd-stt-insert:hover,.vd-stt-toggle:hover{border-color:color-mix(in srgb,var(--accent,#2873ce) 45%,var(--border))}.vd-stt-insert svg,.vd-stt-toggle svg{width:16px;height:16px}.vd-stt-toggle.active{background:#e74c3c;border-color:#e74c3c;color:#fff}.vd-stt-insert:not(:disabled){background:var(--accent,#2873ce);border-color:var(--accent,#2873ce);color:#fff}.vd-stt-insert:disabled{opacity:.45;cursor:default}.vd-stt-hint{font-size:13px;color:#b54040;background:color-mix(in srgb,#b54040 12%,var(--panel));border:1px solid color-mix(in srgb,#b54040 35%,var(--border));padding:8px 12px;border-radius:10px}@media (max-width:600px){#voice-drawer{padding-bottom:max(22px,env(safe-area-inset-bottom))}.vd-tab span{display:none}.vd-tab svg{width:18px;height:18px}}.voice-bubble .voice-msg{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;min-width:200px;max-width:320px}.voice-bubble .voice-play{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--accent,#2873ce);color:#fff;cursor:pointer;flex:0 0 auto;transition:transform .12s}.voice-bubble .voice-play:hover{transform:scale(1.05)}.voice-bubble .voice-play svg{width:16px;height:16px}.voice-bubble .voice-bar{flex:1 1 auto;height:4px;background:color-mix(in srgb,var(--text,#000) 18%,transparent);border-radius:999px;position:relative;min-width:60px}.voice-bubble .voice-bar-fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--accent,#2873ce);border-radius:999px}.voice-bubble .voice-dur{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);flex:0 0 auto}.bubble.is-me.voice-bubble .voice-play{background:rgba(255,255,255,.22);color:#fff}.bubble.is-me.voice-bubble .voice-bar-fill{background:rgba(255,255,255,.95)}.bubble.is-me.voice-bubble .voice-bar{background:rgba(255,255,255,.28)}.bubble.is-me.voice-bubble .voice-dur{color:rgba(255,255,255,.85)}.dm-room .dm-call-actions{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.dm-room .dm-call-actions[hidden]{display:none}.dm-room .dm-call-btn{background:0 0;border:0;color:var(--text);width:36px;height:36px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .08s;padding:0}.dm-room .dm-call-btn:hover{background:var(--border)}.dm-room .dm-call-btn:active{transform:scale(.94)}.dm-room .dm-call-btn svg{width:18px;height:18px}.modal.profile-card .profile-friend-indicator{position:absolute;top:10px;left:48px;z-index:4;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.42);color:#fff;cursor:pointer;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .15s,border-color .15s,transform .08s;padding:0}.modal.profile-card .profile-friend-indicator:hover{background:rgba(0,0,0,.58);border-color:rgba(255,255,255,.38)}.modal.profile-card .profile-friend-indicator:active{transform:scale(.93)}.modal.profile-card .profile-friend-indicator[hidden]{display:none}.modal.profile-card .profile-friend-indicator svg{width:16px;height:16px}.modal.profile-card .friend-indicator-overlay{position:absolute;top:44px;left:48px;z-index:5;min-width:140px;background:var(--panel,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.18);padding:4px;animation:.15s fio-fade-in}.modal.profile-card .friend-indicator-overlay[hidden]{display:none}@keyframes fio-fade-in{from{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fio-action{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:0 0;color:var(--text,#111);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s}.fio-action:hover{background:var(--panel-2,rgba(0,0,0,.06))}.fio-action.danger{color:#e74c4c}.fio-action.danger:hover{background:rgba(231,76,76,.1)}.modal-backdrop#confirm-remove-friend-backdrop{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(0,0,0,.58)}.call-overlay{position:fixed;inset:0;background:#0a0a0c;z-index:9000;display:flex;flex-direction:column;color:#fff;overflow:hidden}.call-overlay[hidden]{display:none}.call-overlay .call-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1b1d24 0,#0a0a0c 80%);overflow:hidden}.call-overlay .call-remote-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0a0a0c;display:none}.call-overlay[data-call-state=active] .call-remote-video,.call-overlay[data-call-state=connecting] .call-remote-video{display:block}.call-overlay .call-remote-info{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px;text-align:center}.call-overlay[data-call-state=active] .call-remote-info{position:absolute;top:18px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.42);border-radius:14px;padding:8px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.call-overlay[data-call-state=active] .call-avatar-wrap{display:none}.call-overlay .call-avatar-wrap{width:116px;height:116px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px rgba(255,255,255,.06),0 14px 28px rgba(0,0,0,.5);background:#1f2128}.call-overlay .call-remote-avatar{width:100%;height:100%;object-fit:cover;display:block}.call-overlay .call-remote-name{font-size:22px;font-weight:700;letter-spacing:.2px}.call-overlay[data-call-state=active] .call-remote-name{font-size:14px;font-weight:600}.call-overlay .call-state-text{font-size:14px;color:rgba(255,255,255,.7)}.call-overlay[data-call-state=ringing] .call-state-text{animation:1.4s ease-in-out infinite relay-pulse}@keyframes relay-pulse{0%,100%{opacity:.6}50%{opacity:1}}.call-overlay .call-local-video{position:absolute;bottom:18px;right:18px;width:180px;height:120px;object-fit:cover;border-radius:12px;background:#1f2128;box-shadow:0 6px 20px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1);z-index:3;display:none}.call-overlay[data-call-state=active] .call-local-video,.call-overlay[data-call-state=connecting] .call-local-video{display:block}.call-overlay .call-remote-audio{display:none}.call-overlay .call-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 18px max(18px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.45) 100%)}.call-overlay .call-ctrl{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;width:56px;height:56px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .08s;padding:0}.call-overlay .call-ctrl:hover{background:rgba(255,255,255,.18)}.call-overlay .call-ctrl:active{transform:scale(.94)}.call-overlay .call-ctrl svg{width:22px;height:22px}.call-overlay .call-ctrl.active{background:#fff;color:#111;border-color:#fff}.call-overlay .call-end{background:#d83a3a;border-color:#d83a3a}.call-overlay .call-end:hover{background:#b62929;border-color:#b62929}.call-overlay .call-accept{background:#2e9e4d;border-color:#2e9e4d}.call-overlay .call-accept:hover{background:#257f3e;border-color:#257f3e}.incoming-call{position:fixed;top:12px;right:12px;z-index:9100;display:flex;align-items:center;gap:10px;background:var(--panel,#1c1e25);color:var(--text,#fff);border:1px solid var(--border,rgba(255,255,255,.1));border-radius:14px;padding:10px 12px;box-shadow:0 14px 30px rgba(0,0,0,.45);max-width:360px;animation:.4s ease-out relay-incoming-bounce}.incoming-call[hidden]{display:none}@keyframes relay-incoming-bounce{0%{transform:translateY(-12px);opacity:0}100%{transform:translateY(0);opacity:1}}.incoming-call .ic-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--border,rgba(255,255,255,.08))}.incoming-call .ic-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.incoming-call .ic-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incoming-call .ic-kind{font-size:12px;opacity:.75}.incoming-call .ic-actions{display:inline-flex;gap:6px}.incoming-call .ic-btn{width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:filter .15s,transform .08s}.incoming-call .ic-btn:active{transform:scale(.94)}.incoming-call .ic-btn svg{width:16px;height:16px}.incoming-call .ic-accept{background:#2e9e4d}.incoming-call .ic-accept:hover{filter:brightness(1.08)}.incoming-call .ic-decline{background:#d83a3a}.incoming-call .ic-decline:hover{filter:brightness(1.08)}@media (max-width:480px){.call-overlay .call-local-video{width:110px;height:70px;bottom:12px;right:12px}.call-overlay .call-ctrl{width:50px;height:50px}.call-overlay .call-ctrl svg{width:20px;height:20px}.call-overlay .call-remote-name{font-size:18px}.incoming-call{left:12px;right:12px;max-width:none}}