*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #090910;--surface: #0f0f18;--surface2: #15151f;--surface3: #1c1c28;--border: #1f1f2e;--border2: #2a2a3d;--text: #c8c8d8;--text-dim: #5a5a7a;--text-muted: #2e2e42;--accent: #f0b429;--accent-dim: rgba(240,180,41,.08);--accent-glow: rgba(240,180,41,.15);--cyan: #22d3ee;--cyan-dim: rgba(34,211,238,.07);--green: #4ade80;--red: #f87171;--purple: #a78bfa;--font-mono: "Fira Code", "Cascadia Code", "Consolas", monospace;--font-ui: "Barlow Condensed", "Fira Code", monospace;--radius: 2px;--scrollbar-w: 6px}html,body,#root{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:var(--scrollbar-w);height:var(--scrollbar-w)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a52}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none;color:inherit}input{font-family:var(--font-mono);background:none;border:none;outline:none;color:var(--text)}input::placeholder{color:var(--text-dim)}.login-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0b0d12;position:relative;overflow:hidden;font-family:JetBrains Mono,Fira Mono,monospace}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 20% 60%,rgba(96,165,250,.07) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 80% 30%,rgba(167,139,250,.05) 0%,transparent 70%);pointer-events:none}.login-card{position:relative;z-index:1;width:360px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:40px 36px 32px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 64px #00000080}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:6px}.login-logo-mark{font-size:24px;color:#60a5fa}.login-logo-text{font-size:22px;font-weight:700;color:#f1f5f9;letter-spacing:.04em}.login-tagline{font-size:11px;color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff73}.login-field input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:13px;color:#f1f5f9;outline:none;transition:border-color .15s}.login-field input::placeholder{color:#fff3}.login-field input:focus{border-color:#60a5fa80}.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-error{font-size:11px;color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2);border-radius:5px;padding:8px 10px}.login-btn{margin-top:4px;height:40px;background:#2563eb;border-radius:6px;font-family:inherit;font-size:13px;font-weight:600;color:#fff;letter-spacing:.04em;transition:background .15s,opacity .15s}.login-btn:hover:not(:disabled){background:#1d4ed8}.login-btn:disabled{opacity:.4;cursor:not-allowed}.login-divider{height:1px;background:#ffffff12;margin:24px 0 16px}.login-register-hint{font-size:12px;color:#ffffff4d;text-align:center}.login-register-link{color:#60a5fa;font-family:inherit;font-size:12px;text-decoration:underline;cursor:pointer;transition:color .1s}.login-register-link:hover{color:#93c5fd}.pay-root{min-height:100vh;background:#0b0d12;color:#f1f5f9;font-family:JetBrains Mono,Fira Mono,monospace;position:relative;display:flex;flex-direction:column}.pay-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 60% at 50% 40%,rgba(96,165,250,.05) 0%,transparent 70%);pointer-events:none}.pay-header{display:flex;align-items:center;gap:10px;padding:18px 32px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}.pay-logo-mark{font-size:20px;color:#60a5fa}.pay-logo-text{font-size:18px;font-weight:700;letter-spacing:.04em}.pay-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px;position:relative;z-index:1}.pay-card{width:100%;max-width:440px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:36px 32px;display:flex;flex-direction:column;gap:16px}.pay-plan-badge{display:inline-block;align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#60a5fa;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:4px;padding:3px 10px}.pay-title{font-size:20px;font-weight:700;color:#f1f5f9;margin:0}.pay-network{font-size:11px;color:#ffffff4d;letter-spacing:.05em;margin-top:-8px}.pay-qr-wrap{display:flex;justify-content:center;padding:12px;background:#fff;border-radius:10px;align-self:center}.pay-qr{display:block;border-radius:4px}.pay-address-row{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:10px 12px}.pay-address{flex:1;font-size:11px;color:#ffffffb3;word-break:break-all;font-family:inherit}.pay-amount-row{display:flex;align-items:center;gap:8px;background:#60a5fa0f;border:1px solid rgba(96,165,250,.15);border-radius:7px;padding:10px 12px}.pay-amount-label{font-size:11px;color:#fff6}.pay-amount-val{font-size:16px;font-weight:700;color:#60a5fa;flex:1}.pay-copy-btn{flex-shrink:0;width:28px;height:28px;font-size:14px;color:#ffffff59;border:1px solid rgba(255,255,255,.08);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:color .1s,border-color .1s}.pay-copy-btn:hover{color:#60a5fa;border-color:#60a5fa4d}.pay-copy-btn--done{color:#4ade80!important;border-color:#4ade804d!important}.pay-timer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:7px}.pay-timer-label{font-size:11px;color:#ffffff59}.pay-timer-val{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:#94a3b8}.pay-timer--urgent .pay-timer-val{color:#f87171;animation:pay-blink 1s step-end infinite}@keyframes pay-blink{0%,to{opacity:1}50%{opacity:.4}}.pay-checking{display:flex;align-items:center;gap:8px;font-size:11px;color:#ffffff40}.pay-pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pay-pulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes pay-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.pay-warning{font-size:11px;color:#fbbf24b3;background:#fbbf240d;border:1px solid rgba(251,191,36,.15);border-radius:6px;padding:10px 12px;line-height:1.5}.pay-success,.pay-expired{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.pay-success-icon{width:64px;height:64px;border-radius:50%;background:#4ade8026;border:2px solid #4ade80;display:flex;align-items:center;justify-content:center;font-size:28px;color:#4ade80}.pay-expired-icon{width:64px;height:64px;border-radius:50%;background:#f871711a;border:2px solid #f87171;display:flex;align-items:center;justify-content:center;font-size:28px;color:#f87171}.pay-success h2{font-size:22px;color:#4ade80}.pay-expired h2{font-size:22px;color:#f87171}.pay-success p,.pay-expired p{font-size:13px;color:#fff6;max-width:280px}.pay-back-btn{margin-top:8px;height:40px;padding:0 24px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:7px;font-family:inherit;font-size:13px;color:#f1f5f9;cursor:pointer;transition:background .15s}.pay-back-btn:hover{background:#ffffff21}.pay-card--cc{align-items:center;text-align:center;max-width:420px}.pay-cc-amount{display:flex;align-items:baseline;gap:8px;margin:28px 0 24px;justify-content:center}.pay-cc-amount-val{font-size:52px;font-weight:700;color:#f1f5f9;letter-spacing:-.02em}.pay-cc-amount-unit{font-size:18px;color:#fff6}.pay-cc-btn{width:100%;height:52px;background:#2563eb;border-radius:10px;font-family:inherit;font-size:15px;font-weight:700;color:#fff;letter-spacing:.03em;transition:background .15s,transform .1s;margin-bottom:16px}.pay-cc-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.pay-cc-btn:active{transform:translateY(0)}.pay-cc-hint{font-size:12px;color:#ffffff59;line-height:1.6;max-width:300px;margin:0 auto 20px}.pay-back-link{font-family:inherit;font-size:11px;color:#ffffff40;text-decoration:underline;margin-top:8px;transition:color .1s}.pay-back-link:hover{color:#ffffff80}.pricing-root{min-height:100vh;background:#0b0d12;color:#f1f5f9;font-family:JetBrains Mono,Fira Mono,monospace;position:relative;overflow-x:hidden}.pricing-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 10% 80%,rgba(96,165,250,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 70% at 90% 20%,rgba(167,139,250,.05) 0%,transparent 60%);pointer-events:none}.pricing-header{display:flex;align-items:center;gap:10px;padding:18px 32px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}.pricing-logo-mark{font-size:20px;color:#60a5fa}.pricing-logo-text{font-size:18px;font-weight:700;letter-spacing:.04em}.pricing-signin-link{margin-left:auto;font-family:inherit;font-size:12px;color:#fff6;text-decoration:underline;cursor:pointer;transition:color .1s}.pricing-signin-link:hover{color:#60a5fa}.pricing-main{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:64px 24px 80px}.pricing-hero{text-align:center;margin-bottom:56px}.pricing-title{font-size:32px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px;background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pricing-sub{font-size:13px;color:#ffffff59;letter-spacing:.08em}.pricing-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;justify-content:center;margin-bottom:32px}@media(max-width:900px){.pricing-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.pricing-cards{grid-template-columns:1fr}}.pricing-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:28px 22px;position:relative;transition:border-color .2s;display:flex;flex-direction:column}.pricing-card:hover{border-color:#ffffff26}.pricing-card .pricing-cta{margin-top:auto}.pricing-card--featured{border-color:#60a5fa59;background:#60a5fa0a}.pricing-card--featured:hover{border-color:#60a5fa8c}.pricing-card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 12px;border-radius:20px}.pricing-card-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:12px}.pricing-card-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.pricing-amount{font-size:36px;font-weight:700;color:#f1f5f9}.pricing-period{font-size:13px;color:#fff6}.pricing-card-equiv{font-size:11px;color:#60a5fab3;margin-bottom:24px}.pricing-features{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px;font-size:12px;color:#ffffff8c}.pricing-cta{width:100%;height:42px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;color:#f1f5f9;letter-spacing:.03em;transition:background .15s,border-color .15s}.pricing-cta:hover{background:#ffffff21}.pricing-cta--featured{background:#2563eb;border-color:transparent}.pricing-cta--featured:hover{background:#1d4ed8}.pricing-features-section{text-align:center;margin-bottom:28px}.pricing-features-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;margin-bottom:14px}.pricing-features-list{list-style:none;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px 24px}.pricing-features-list li{font-size:12px;color:#ffffff80;display:flex;align-items:center;gap:6px}.pricing-feature-icon{color:#60a5fa;font-size:13px}.pricing-payment-note{text-align:center;font-size:11px;color:#fff3;letter-spacing:.06em}.register-back{font-family:inherit;font-size:12px;color:#ffffff59;margin-bottom:24px;display:block;transition:color .1s}.register-back:hover{color:#60a5fa}.register-card{max-width:420px;margin:0 auto;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:36px 32px}.register-plan-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#60a5fa;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:4px;padding:3px 10px;margin-bottom:16px}.register-title{font-size:22px;font-weight:700;margin-bottom:24px;color:#f1f5f9}.register-form{display:flex;flex-direction:column;gap:16px}.register-field{display:flex;flex-direction:column;gap:6px}.register-field label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59}.register-field input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:13px;color:#f1f5f9;outline:none;transition:border-color .15s}.register-field input::placeholder{color:#fff3}.register-field input:focus{border-color:#60a5fa80}.register-field input:disabled{opacity:.5}.register-error{font-size:11px;color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2);border-radius:5px;padding:8px 10px}.register-btn{margin-top:4px;height:42px;background:#2563eb;border-radius:7px;font-family:inherit;font-size:13px;font-weight:600;color:#fff;letter-spacing:.04em;transition:background .15s,opacity .15s}.register-btn:hover:not(:disabled){background:#1d4ed8}.register-btn:disabled{opacity:.4;cursor:not-allowed}.register-note{font-size:11px;color:#fff3;text-align:center;margin-top:16px}.checkout-wrap{display:flex;gap:32px;align-items:flex-start;max-width:860px;margin:0 auto}@media(max-width:700px){.checkout-wrap{flex-direction:column}}.checkout-info{flex:1;min-width:0}.checkout-form-card{flex:0 0 360px;max-width:360px}@media(max-width:700px){.checkout-form-card{flex:unset;max-width:100%;width:100%}}.checkout-plan-pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#60a5fa;background:#60a5fa14;border:1px solid rgba(96,165,250,.18);border-radius:20px;padding:4px 14px;margin-bottom:20px}.checkout-saving{font-size:9px;background:#2563eb;color:#fff;border-radius:10px;padding:1px 7px;letter-spacing:.06em}.checkout-info-title{font-size:20px;font-weight:700;color:#f1f5f9;margin-bottom:24px}.checkout-steps{list-style:none;display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.checkout-steps li{display:flex;gap:14px;align-items:flex-start}.checkout-step-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#60a5fa1f;border:1px solid rgba(96,165,250,.25);color:#60a5fa;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.checkout-steps li strong{font-size:13px;color:#f1f5f9;display:block;margin-bottom:3px}.checkout-steps li p{font-size:11px;color:#ffffff59;line-height:1.5;margin:0}.checkout-steps em{color:#60a5fa;font-style:normal;font-weight:600}.checkout-window-note{font-size:11px;color:#fbbf2499;background:#fbbf240d;border:1px solid rgba(251,191,36,.12);border-radius:6px;padding:10px 14px;line-height:1.5}.fav-pane{background:var(--surface);display:flex;flex-direction:column;height:100%;width:260px;flex-shrink:0;border-right:1px solid var(--border2)}.fav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.fav-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:6px;color:var(--text-muted);font-size:12px}.fav-empty-icon{font-size:28px;opacity:.25;color:var(--accent)}.fav-empty-hint{font-size:10px;color:var(--text-muted);opacity:.6}.fav-section{padding-bottom:8px}.fav-section-label{padding:10px 12px 4px;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.fav-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.fav-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:6px 8px 6px 12px;text-align:left;transition:background .1s}.fav-row-body:hover{background:var(--surface2)}.fav-row-top{display:flex;align-items:center;gap:5px}.fav-kind{font-size:9px;color:var(--text-dim);flex-shrink:0}.fav-name{flex:1;font-size:12px;font-weight:500;color:var(--text);min-width:0}.fav-name--unknown{color:var(--text-muted);font-style:italic}.fav-time{font-size:10px;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.fav-gender{font-size:10px;color:var(--text-dim);flex-shrink:0}.fav-row-bottom{display:flex;align-items:center;gap:6px}.fav-id{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);flex:1;min-width:0}.fav-stat{font-size:10px;color:var(--accent);flex-shrink:0}.fav-karma{font-size:10px;color:var(--text-dim);flex-shrink:0}.fav-row--selected,.fav-row--selected .fav-row-body{background:var(--surface2)}.fav-row--selected .fav-name{color:var(--accent)}.fav-remove-btn{flex-shrink:0;width:32px;font-size:15px;color:var(--accent);opacity:.7;display:flex;align-items:center;justify-content:center;transition:opacity .1s,color .1s}.fav-remove-btn:hover{opacity:1;color:var(--red, #f87171)}.group-list-pane{background:var(--bg)}.gl-skeleton{padding:4px 0}.gl-skel-row{height:52px;margin:2px 8px;border-radius:var(--radius);background:var(--surface2);animation:shimmer 1.4s ease-in-out infinite}.gl-row-wrap{display:flex;align-items:stretch;border-bottom:1px solid var(--border);border-left:2px solid transparent;transition:border-color .15s}.gl-row-wrap--fav{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.gl-fav-btn{flex-shrink:0;width:28px;font-size:15px;color:var(--text-muted);opacity:.35;display:flex;align-items:center;justify-content:center;transition:opacity .1s,color .1s}.gl-row-wrap:hover .gl-fav-btn{opacity:.7}.gl-fav-btn:hover{opacity:1!important;color:var(--accent)}.gl-fav-btn--active{color:var(--accent)!important;opacity:1!important}.gl-row{display:flex;flex-direction:column;flex:1;min-width:0;padding:7px 4px 7px 12px;text-align:left;transition:background .1s;gap:2px;border:none}.gl-row:hover{background:var(--surface2)}.gl-row--active{background:var(--accent-dim)!important}.gl-row-wrap--fav .gl-row--active{background:color-mix(in srgb,var(--accent) 14%,transparent)!important}.gl-row-top{display:flex;align-items:center;gap:5px}.gl-kind{font-size:9px;color:var(--text-dim);flex-shrink:0}.gl-name{flex:1;font-size:12px;font-weight:500;color:var(--text);min-width:0}.gl-row--active .gl-name,.gl-row-wrap--fav .gl-row--active .gl-name{color:var(--accent)}.gl-name--unknown{color:var(--text-dim);font-weight:400;font-family:var(--font-mono);font-size:11px}.gl-time{font-size:10px;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.gl-row-bottom{display:flex;align-items:center;gap:6px}.gl-id{font-size:10px;color:var(--text-muted);flex:1;min-width:0}.gl-stats{display:flex;gap:8px;font-size:10px;color:var(--text-dim);flex-shrink:0}.gl-stats span{white-space:nowrap}.gl-resolve-btn{flex-shrink:0;width:16px;height:16px;font-size:10px;font-weight:700;color:var(--text-muted);border:1px solid var(--border2);border-radius:50%;line-height:1;transition:color .1s,border-color .1s,background .1s}.gl-resolve-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.gl-resolve-btn--spin{animation:gl-spin .8s linear infinite;color:var(--accent);border-color:var(--accent)}@keyframes gl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-pane{background:var(--surface)}.user-pane-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-muted);font-size:12px}.user-header{padding:10px 12px;border-bottom:1px solid var(--border2);background:var(--surface2);flex-shrink:0}.user-avatar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.user-avatar-big{width:38px;height:38px;border-radius:50%;font-size:15px;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}.user-name-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-display-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-id-row{display:flex;align-items:center;gap:4px;min-width:0}.user-id-label{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.user-qr-btn{font-size:18px;color:var(--text-dim);flex-shrink:0;padding:2px 4px;line-height:1;transition:color .1s}.user-qr-btn:hover{color:var(--accent)}.user-fav-btn{font-size:20px;color:var(--text-muted);opacity:.4;flex-shrink:0;padding:2px 4px;transition:color .1s,opacity .1s}.user-fav-btn:hover{opacity:.9;color:var(--accent)}.user-fav-btn--active{color:var(--accent)!important;opacity:1!important}.user-close-btn{font-size:14px;color:var(--text-dim);flex-shrink:0;padding:2px 4px;transition:color .1s}.user-close-btn:hover{color:var(--text)}.user-stat-row{display:flex;gap:12px;flex-wrap:wrap}.user-stat{display:flex;flex-direction:column;gap:1px}.user-stat-val{font-size:13px;font-weight:600;color:var(--accent)}.user-stat-lbl{font-size:9px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.user-gender{font-size:11px;color:var(--text-dim);margin-left:auto;align-self:flex-end}.user-about{margin-top:5px;font-size:11px;color:var(--text-dim);line-height:1.4;font-style:italic;white-space:pre-wrap;word-break:break-word}.user-note-dot{font-size:12px;color:var(--text-dim);opacity:.7;flex-shrink:0}.user-note-wrap{position:relative;margin-top:6px}.user-note-input{width:100%;box-sizing:border-box;background:var(--surface);border:1px solid var(--border2);border-radius:4px;color:var(--text);font-size:11px;font-family:inherit;line-height:1.45;padding:5px 7px;resize:vertical;min-height:26px;max-height:160px;transition:border-color .15s;outline:none}.user-note-input::placeholder{color:var(--text-muted)}.user-note-input:focus{border-color:var(--cyan)}.user-note-saved{position:absolute;bottom:5px;right:7px;font-size:9px;color:var(--green, #4ade80);opacity:0;animation:note-saved-fade 1.5s ease forwards;pointer-events:none}@keyframes note-saved-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.user-tabs{display:flex;border-bottom:1px solid var(--border2);flex-shrink:0}.user-tab{flex:1;height:30px;font-size:10px;letter-spacing:.1em;font-weight:600;color:var(--text-dim);border-bottom:2px solid transparent;text-transform:uppercase;transition:color .1s,border-color .1s}.user-tab:hover{color:var(--text)}.user-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.user-tab-body{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.ug-row{display:flex;flex-direction:column;gap:2px;padding:6px 12px;border-bottom:1px solid var(--border);text-align:left;transition:background .1s;width:100%}.ug-row:hover{background:var(--surface2)}.ug-row-top{display:flex;align-items:center;gap:5px}.ug-name{flex:1;font-size:12px;font-weight:500;color:var(--text);min-width:0}.ug-count{font-size:10px;color:var(--accent);flex-shrink:0}.ug-row-bottom{display:flex;align-items:center;gap:8px}.ug-id{font-size:10px;color:var(--text-muted);flex:1;min-width:0}.ug-time{font-size:10px;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.pie-wrap{display:flex;align-items:center;gap:10px;padding:10px 12px 8px;border-bottom:1px solid var(--border2);background:var(--surface2)}.pie-svg{flex-shrink:0}.pie-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;max-height:112px;overflow-y:auto}.pie-legend-row{display:flex;align-items:center;gap:5px;padding:2px 4px;border-radius:3px;text-align:left;width:100%;transition:background .1s,opacity .15s;cursor:pointer}.pie-legend-row:hover{background:var(--surface)}.pie-legend-row--other{cursor:default}.pie-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pie-name{flex:1;font-size:10px;color:var(--text);min-width:0}.pie-pct{font-size:10px;font-weight:600;color:var(--text-dim);flex-shrink:0}.um-row{padding:6px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;transition:background .1s;cursor:pointer}.um-row:hover{background:var(--surface2)}.um-row:hover .um-group{text-decoration:underline}.um-meta{display:flex;align-items:center;gap:6px}.um-group{font-size:10px;color:var(--cyan);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-time{font-size:10px;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.um-text{font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-word;line-height:1.4}.um-media{font-size:11px;color:var(--text-muted)}.user-json-error{padding:6px 12px;font-size:10px;color:var(--red);border-bottom:1px solid var(--border);background:#f871710f}.user-json{margin:0;padding:12px;font-family:var(--font-mono);font-size:11px;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-all;background:transparent;border:none;width:100%;box-sizing:border-box}.user-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:8px}.user-photo-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--surface2);border:1px solid var(--border);cursor:pointer;transition:opacity .15s,border-color .15s}.user-photo-thumb:hover{opacity:.85;border-color:var(--border2)}.user-photo-thumb--main{border-color:var(--accent)}.user-photo-thumb--error{opacity:.3;cursor:default}.user-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.user-photo-main-badge,.user-media-type-badge{position:absolute;top:3px;right:4px;font-size:10px;text-shadow:0 0 4px #000}.user-photo-main-badge{color:var(--accent)}.user-media-type-badge{color:#ffffffd9}.user-photo-missing{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:18px;color:var(--text-muted)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:2px;box-shadow:0 8px 40px #0009}.lightbox-close{position:absolute;top:16px;right:20px;font-size:20px;color:#ffffffb3;cursor:pointer;transition:color .1s}.lightbox-close:hover{color:#fff}.up-skeleton{padding:12px;display:flex;flex-direction:column;gap:8px}.up-skel-line{height:12px;border-radius:3px;background:var(--surface2);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.7}}.mf-root{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--bg)}.mf-toolbar{display:flex;align-items:center;gap:12px;padding:0 16px;height:36px;background:var(--surface2);border-bottom:1px solid var(--border2);flex-shrink:0}.mf-title{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--text-dim)}.mf-filters{display:flex;gap:2px}.mf-filter-btn{padding:2px 10px;font-size:10px;letter-spacing:.06em;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius);transition:color .1s,border-color .1s,background .1s}.mf-filter-btn:hover{color:var(--text);border-color:var(--border2)}.mf-filter-btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.mf-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.mf-count{font-size:10px;color:var(--text-muted);letter-spacing:.05em}.mf-poll-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:mf-poll-pulse 10s ease-in-out infinite;flex-shrink:0}@keyframes mf-poll-pulse{0%{opacity:.25;transform:scale(.8)}5%{opacity:1;transform:scale(1.2);box-shadow:0 0 6px var(--accent)}15%{opacity:.6;transform:scale(1)}to{opacity:.25;transform:scale(.8)}}.mf-new-badge{font-size:10px;font-family:var(--font-ui);letter-spacing:.06em;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);padding:1px 8px;cursor:pointer;animation:mf-badge-in .2s ease;transition:background .1s}.mf-new-badge:hover{background:var(--accent-glow)}@keyframes mf-badge-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mf-grid-wrap{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:12px}.mf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;gap:12px;color:var(--text-muted);font-size:12px}.mf-empty-icon{font-size:36px;opacity:.2}.mf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px}.mf-thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--surface3);cursor:pointer;display:block;border:1px solid transparent;transition:border-color .12s,transform .12s}.mf-thumb:hover{border-color:var(--accent);transform:scale(1.02);z-index:1}.mf-thumb--fresh{animation:mf-fresh-in 1.5s ease forwards}@keyframes mf-fresh-in{0%{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);opacity:.6;transform:scale(.95)}20%{opacity:1;transform:scale(1.03)}60%{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}to{border-color:transparent;box-shadow:none;transform:scale(1)}}.mf-thumb-media{width:100%;height:100%;object-fit:cover;display:block}.mf-thumb-missing{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:20px;color:var(--text-muted)}.mf-thumb-badge{position:absolute;top:5px;right:6px;font-size:11px;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none}.mf-thumb-overlay{position:absolute;bottom:0;left:0;right:0;padding:18px 6px 5px;background:linear-gradient(transparent,#000000bf);display:flex;flex-direction:column;gap:1px;opacity:0;transition:opacity .15s}.mf-thumb:hover .mf-thumb-overlay{opacity:1}.mf-thumb-name{font-size:10px;color:#ffffffe6;max-width:100%}.mf-thumb-time{font-size:9px;color:#ffffff80}.mf-spinner{display:flex;justify-content:center;align-items:center;gap:5px;padding:20px}.mf-spin-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:mf-blink 1.2s ease-in-out infinite}.mf-spin-dot:nth-child(2){animation-delay:.2s}.mf-spin-dot:nth-child(3){animation-delay:.4s}@keyframes mf-blink{0%,80%,to{opacity:.15;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.mf-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#05050aeb;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mf-lb-content{position:relative;display:flex;flex-direction:row;max-width:min(96vw,1380px);max-height:92vh;background:var(--surface);border:1px solid var(--border2);border-radius:3px;overflow:hidden}.mf-lb-left{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.mf-lb-media{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000;max-height:calc(92vh - 44px)}.mf-lb-user-panel{width:320px;flex-shrink:0;border-left:1px solid var(--border2);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.mf-lb-user-panel .pane{flex:1;min-height:0;border:none}.mf-lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block}.mf-lb-video{max-width:100%;max-height:100%;display:block}.mf-lb-missing{padding:60px;color:var(--text-muted);font-size:12px}.mf-lb-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--text-dim);font-size:12px}.mf-lb-unsupported-icon{font-size:36px;opacity:.3}.mf-lb-download{font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:5px 16px;text-decoration:none;transition:background .1s}.mf-lb-download:hover{background:var(--accent-dim)}.mf-lb-meta{display:flex;align-items:center;gap:8px;padding:0 10px;height:40px;background:var(--surface2);border-top:1px solid var(--border);flex-shrink:0}.mf-lb-sender{font-size:12px;color:var(--accent);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.mf-lb-sender:hover{text-decoration:underline}.mf-lb-group{font-size:11px;color:var(--cyan);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;opacity:.8}.mf-lb-group:hover{opacity:1;text-decoration:underline}.mf-lb-time{font-size:10px;color:var(--text-dim);margin-left:auto}.mf-lb-close{font-size:13px;color:var(--text-dim);padding:4px 6px;border-radius:var(--radius);transition:color .1s}.mf-lb-close:hover{color:var(--red)}.mf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;color:#ffffffb3;background:#0006;padding:8px 12px;border-radius:var(--radius);z-index:10;transition:background .1s,color .1s;line-height:1}.mf-lb-nav:hover{background:#000000a6;color:#fff}.mf-lb-prev{left:6px}.mf-lb-next{right:6px}.mf-lb-action{font-size:14px;color:var(--text-dim);padding:3px 7px;border-radius:var(--radius);transition:color .1s,background .1s;line-height:1}.mf-lb-action:hover{color:var(--text);background:var(--surface3)}.mf-lb-action--liked{color:#e05}.mf-lb-action--liked:hover{color:#e05;background:#ee00551f}.mf-lb-action--hidden{color:var(--text-muted)}.mf-lb-action--hidden:hover{color:var(--red);background:#ff50501a}.mf-lb-freeze{font-size:12px}.mf-lb-freeze--on{color:#6cf}.mf-lb-freeze--on:hover{color:#6cf;background:#66ccff1a}.mf-lb-frozen-badge{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:10;font-size:11px;letter-spacing:.04em;background:#0a0a14d9;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:4px 14px;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .1s;animation:mf-badge-in .2s ease}.mf-lb-frozen-badge:hover{background:var(--accent-dim)}.mf-thumb-liked{position:absolute;top:4px;left:5px;font-size:11px;color:#e05;text-shadow:0 1px 4px rgba(0,0,0,.8);pointer-events:none}.mf-thumb--hidden{opacity:.45}.mf-thumb--hidden:hover{opacity:.8}.mf-thumb-actions{position:absolute;bottom:5px;right:5px;display:flex;gap:2px;opacity:0;transition:opacity .12s;pointer-events:none}.mf-thumb:hover .mf-thumb-actions{opacity:1;pointer-events:auto}.mf-ta-btn{font-size:13px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:#0000008c;color:#ffffffb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .1s,color .1s;flex-shrink:0}.mf-ta-btn:hover{background:#000c;color:#fff}.mf-ta-btn--active{color:#e05;background:#000000a6}.mf-type-filters{display:flex;gap:2px}.mf-filter-wrap{position:relative}.mf-filter-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:200;width:280px;background:var(--surface2);border:1px solid var(--border2);border-radius:4px;box-shadow:0 8px 32px #0000008c;animation:mf-popup-in .12s ease}@keyframes mf-popup-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mf-fp-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 7px;border-bottom:1px solid var(--border)}.mf-fp-title{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase}.mf-fp-close{font-size:11px;color:var(--text-muted);padding:2px 5px;border-radius:var(--radius);transition:color .1s}.mf-fp-close:hover{color:var(--red)}.mf-fp-section{padding:8px 0 4px;border-bottom:1px solid var(--border)}.mf-fp-section:last-of-type{border-bottom:none}.mf-fp-label{font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--text-muted);padding:0 12px 4px}.mf-fp-row{display:flex;align-items:flex-start;gap:9px;padding:5px 12px;cursor:pointer;border-radius:0;transition:background .08s}.mf-fp-row:hover{background:var(--surface3)}.mf-fp-row--dim{opacity:.45;pointer-events:none}.mf-fp-row input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.mf-fp-row-text{display:flex;flex-direction:column;gap:1px}.mf-fp-row-name{font-size:11px;color:var(--text);line-height:1.3}.mf-fp-row-desc{font-size:10px;color:var(--text-muted);line-height:1.3}.mf-fp-footer{padding:7px 12px 9px;border-top:1px solid var(--border)}.mf-fp-clear{font-size:10px;color:var(--text-dim);text-decoration:underline;transition:color .1s}.mf-fp-clear:hover{color:var(--red)}.mf-chips{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 12px;background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.mf-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);padding:1px 6px 1px 8px;letter-spacing:.04em}.mf-chip-remove{font-size:9px;color:var(--text-dim);line-height:1;padding:1px 2px;border-radius:2px;transition:color .1s}.mf-chip-remove:hover{color:var(--red)}.mf-poll-dot--paused,.mf-poll-dot--offline{background:var(--text-muted);animation:none}.mf-refresh-hint{display:flex;align-items:center;gap:10px;justify-content:center;padding:12px}.mf-refresh-btn{font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:3px 12px;transition:background .1s}.mf-refresh-btn:hover{background:var(--accent-dim)}.mf-refresh-note{font-size:10px;color:var(--text-muted)}.mf-empty-clear{font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:4px 14px;transition:background .1s}.mf-empty-clear:hover{background:var(--accent-dim)}.msg-pane{background:var(--surface)}.msg-qr-btn{font-size:18px;color:var(--text-dim);flex-shrink:0;padding:2px 4px;line-height:1;transition:color .1s}.msg-qr-btn:hover{color:var(--accent)}.msg-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.msg-loading,.msg-end{text-align:center;font-size:10px;letter-spacing:.1em;padding:8px 0;color:var(--text-muted)}.msg-end{border-bottom:1px solid var(--border);margin-bottom:4px}.msg-newer-hint{text-align:center;font-size:10px;letter-spacing:.1em;padding:8px 0;color:var(--accent);cursor:pointer;border-top:1px solid var(--border);margin-top:4px;opacity:.8;transition:opacity .1s}.msg-newer-hint:hover{opacity:1}.msg-row{display:flex;align-items:flex-start;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border);transition:background .1s}.msg-row:hover{background:var(--surface2)}.msg-row--highlight{background:#f59e0b14!important}.msg-row--flash{animation:msg-flash 2.5s ease-out forwards}@keyframes msg-flash{0%{background:#60a5fa59}30%{background:#60a5fa40}to{background:transparent}}.msg-type--delete{opacity:.45}.msg-type--system{opacity:.6;font-style:italic}.msg-avatar{width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .1s,transform .1s;margin-top:2px;line-height:1}.msg-avatar:hover:not(:disabled){opacity:.8;transform:scale(1.1)}.msg-avatar:disabled{cursor:default}.msg-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.msg-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msg-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;line-height:1.2}.msg-sender{font-size:11px;font-weight:600;cursor:pointer;transition:opacity .1s;line-height:1}.msg-sender:hover{opacity:.75}.msg-sender--id{color:var(--text-dim)!important;font-weight:400;font-size:10px;font-family:var(--font-mono)}.msg-sender--system{font-size:11px;font-weight:600;color:var(--text-muted);cursor:default}.msg-karma{font-size:9px;color:var(--accent);background:var(--accent-dim);border-radius:3px;padding:1px 4px;line-height:1}.msg-super{font-size:9px;color:var(--accent)}.msg-time{font-size:9px;color:var(--text-muted);white-space:nowrap;margin-left:auto}.msg-type-badge{font-size:10px;color:var(--text-dim)}.msg-text{font-size:12px;color:var(--text);line-height:1.45;word-break:break-word;white-space:pre-wrap}.msg-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.msg-lightbox-img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:2px;box-shadow:0 8px 40px #000000b3;cursor:default}.msg-lightbox-video{max-width:92vw;max-height:88vh;border-radius:2px;background:#000;cursor:default}.msg-lightbox-close{position:absolute;top:16px;right:20px;font-size:20px;color:#fff9;cursor:pointer;transition:color .1s}.msg-lightbox-close:hover{color:#fff}.msg-lightbox-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--text-dim);font-size:12px}.msg-lightbox-download{font-size:12px;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);padding:5px 16px;text-decoration:none;transition:background .1s}.msg-lightbox-download:hover{background:var(--accent-dim)}.msg-view-toggle{display:flex;gap:2px;margin-left:8px;flex-shrink:0}.msg-view-btn{width:24px;height:22px;font-size:12px;color:var(--text-dim);border-radius:var(--radius);transition:background .1s,color .1s}.msg-view-btn:hover{background:var(--surface3);color:var(--text)}.msg-view-btn--active{background:var(--accent-dim);color:var(--accent)}.msg-gallery-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.msg-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px}.msg-gallery-thumb{position:relative;aspect-ratio:1;background:var(--surface2);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:opacity .15s}.msg-gallery-thumb:hover{opacity:.82}.msg-gallery-thumb:disabled{cursor:default;opacity:.4}.msg-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.msg-gallery-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:16px;color:var(--text-muted)}.msg-gallery-sender{position:absolute;bottom:0;left:0;right:0;padding:2px 4px;font-size:9px;font-weight:600;background:#0000008c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .1s}.msg-gallery-sender:hover{background:#000000bf}.msg-gallery-empty{display:flex;align-items:center;justify-content:center;height:120px;font-size:12px;color:var(--text-muted)}.msg-img-wrap{display:inline-block;background:none;padding:0;cursor:zoom-in}.msg-img{display:block;max-width:min(280px,100%);max-height:200px;border-radius:var(--radius);border:1px solid var(--border2);object-fit:cover;cursor:zoom-in;transition:opacity .15s}.msg-img:hover{opacity:.85}.msg-video{display:block;max-width:min(320px,100%);max-height:240px;border-radius:var(--radius);border:1px solid var(--border2);background:#000}.msg-media-link{color:var(--cyan);font-size:11px;text-decoration:none}.msg-media-link:hover{text-decoration:underline}.msg-media-placeholder{font-size:11px;color:var(--text-muted)}.msg-empty{color:var(--text-muted);font-size:11px}.msg-users-wrap{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:4px 0}.msg-user-row{display:flex;align-items:center;gap:9px;width:100%;padding:6px 10px;text-align:left;transition:background .1s;border-bottom:1px solid var(--border)}.msg-user-row:hover{background:var(--surface2)}.msg-user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;overflow:hidden}.msg-user-avatar-img{width:100%;height:100%;object-fit:cover}.msg-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msg-user-name{font-size:12px;font-weight:600;display:block}.msg-user-id{font-size:9px;color:var(--text-muted);display:block;font-family:var(--font-ui)}.msg-user-stats{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.msg-user-count{font-size:10px;color:var(--text-dim);font-family:var(--font-ui)}.msg-user-ago{font-size:9px;color:var(--text-muted)}.wr-root{padding:24px 28px;min-height:100%;font-family:JetBrains Mono,Fira Mono,monospace}.wr-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.wr-title{font-size:16px;font-weight:700;letter-spacing:.04em;color:#f1f5f9;display:flex;align-items:center;gap:8px}.wr-title-icon{color:#60a5fa;font-size:18px}.wr-stats{display:flex;gap:10px;margin-left:8px;flex-wrap:wrap}.wr-stat{font-size:11px;color:#ffffff59;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:2px 10px}.wr-stat--active{color:#4ade80;border-color:#4ade8033;background:#4ade800f}.wr-stat--pending{color:#fbbf24;border-color:#fbbf2433;background:#fbbf240f}.wr-stat--expired{color:#f87171;border-color:#f8717133;background:#f871710f}.wr-actions{margin-left:auto;display:flex;gap:8px}.wr-btn{height:30px;padding:0 14px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.05em;background:#2563eb;color:#fff;border-radius:6px;transition:background .15s}.wr-btn:hover:not(:disabled){background:#1d4ed8}.wr-btn:disabled{opacity:.4;cursor:not-allowed}.wr-btn--ghost{background:#ffffff0f;color:#fff9;border:1px solid rgba(255,255,255,.1)}.wr-btn--ghost:hover:not(:disabled){background:#ffffff1a}.wr-error{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.18);border-radius:6px;padding:10px 14px;font-size:12px;margin-bottom:16px}.wr-empty{color:#ffffff40;font-size:13px;text-align:center;padding:60px 0}.wr-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.07);border-radius:10px}.wr-table{width:100%;border-collapse:collapse;font-size:12px}.wr-table thead th{background:#ffffff08;color:#ffffff59;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}.wr-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}.wr-table tbody tr:last-child{border-bottom:none}.wr-table tbody tr:hover{background:#ffffff05}.wr-table td{padding:10px 14px;color:#ffffffb3;vertical-align:middle}.ws-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:8px;padding:2px 8px}.ws-badge--active{color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.2)}.ws-badge--pending{color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.2)}.ws-badge--expired{color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.2)}.ws-badge--unknown{color:#ffffff4d;background:transparent;border:1px solid rgba(255,255,255,.1)}.wr-cell-user{color:#f1f5f9;font-weight:600}.wr-cell-plan{color:#94a3b8;text-transform:capitalize}.wr-cell-date{color:#fff6;white-space:nowrap;font-size:11px}.wr-dim{color:#fff3}.wr-expired-date{color:#f87171!important}.wr-addr{font-family:inherit;font-size:11px;color:#60a5fa;cursor:pointer;border-bottom:1px dashed rgba(96,165,250,.3);transition:color .1s}.wr-addr:hover{color:#93c5fd}.wr-addr--copied{color:#4ade80;border-color:#4ade8066}.wr-cell-balance{white-space:nowrap}.wr-balance{font-weight:700;color:#4ade80}.wr-fetch-btn{font-family:inherit;font-size:10px;font-weight:600;color:#ffffff59;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:2px 8px;letter-spacing:.05em;transition:background .1s,color .1s}.wr-fetch-btn:hover:not(:disabled){background:#60a5fa1a;color:#60a5fa;border-color:#60a5fa4d}.wr-fetch-btn:disabled{opacity:.4;cursor:not-allowed}.nd-root{padding:24px 28px;font-family:JetBrains Mono,Fira Mono,monospace}.nd-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.nd-title{font-size:16px;font-weight:700;color:#f1f5f9;display:flex;align-items:center;gap:8px}.nd-title-icon{color:#60a5fa}.nd-actions{margin-left:auto;display:flex;gap:8px}.nd-btn{height:30px;padding:0 14px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.05em;background:#2563eb;color:#fff;border-radius:6px;transition:background .15s}.nd-btn:hover:not(:disabled){background:#1d4ed8}.nd-btn:disabled{opacity:.4;cursor:not-allowed}.nd-btn--ghost{background:#ffffff0f;color:#fff9;border:1px solid rgba(255,255,255,.1)}.nd-btn--ghost:hover:not(:disabled){background:#ffffff1a}.nd-btn--add{height:34px;padding:0 20px}.nd-error{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.18);border-radius:6px;padding:10px 14px;font-size:12px;margin-bottom:16px}.nd-error--inline{margin-bottom:0;margin-top:8px}.nd-empty{color:#ffffff40;font-size:13px;text-align:center;padding:60px 0}.nd-add-form{background:#ffffff08;border:1px solid rgba(96,165,250,.2);border-radius:10px;padding:20px;margin-bottom:20px}.nd-add-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#60a5fa;margin-bottom:14px}.nd-add-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.nd-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:160px}.nd-field--sm{flex:0 0 120px;min-width:100px}.nd-field label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d}.nd-field input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:7px 10px;font-family:inherit;font-size:12px;color:#f1f5f9;outline:none;transition:border-color .15s}.nd-field input:focus{border-color:#60a5fa80}.nd-field input::placeholder{color:#fff3}.nd-list{display:flex;flex-direction:column;gap:10px}.nd-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;transition:border-color .2s}.nd-card--expanded{border-color:#60a5fa33}.nd-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px}.nd-card-left{display:flex;align-items:center;gap:12px}.nd-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nd-dot--online{background:#4ade80;box-shadow:0 0 6px #4ade8080}.nd-dot--offline{background:#f87171}.nd-dot--error{background:#fbbf24}.nd-dot--unknown{background:#fff3}.nd-node-name{font-size:13px;font-weight:700;color:#f1f5f9}.nd-node-addr{font-size:11px;color:#ffffff59;margin-top:1px}.nd-provider-tag{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff4d;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:2px 8px}.nd-card-right{display:flex;align-items:center;gap:6px;margin-left:auto}.nd-last-seen{font-size:10px;color:#fff3;margin-right:4px}.nd-icon-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#ffffff4d;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:5px;transition:background .1s,color .1s}.nd-icon-btn:hover{background:#ffffff14;color:#f1f5f9}.nd-icon-btn--del:hover{background:#f871711a;color:#f87171;border-color:#f8717133}.nd-listeners{border-top:1px solid rgba(255,255,255,.06);padding:16px 18px;background:#00000026}.nd-loading{font-size:12px;color:#ffffff40}.nd-listeners-head{display:flex;align-items:center;margin-bottom:10px}.nd-listeners-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff4d}.nd-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:16px}.nd-table th{text-align:left;padding:6px 10px;color:#ffffff40;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.06)}.nd-table td{padding:8px 10px;color:#fff9;border-bottom:1px solid rgba(255,255,255,.04)}.nd-table tr:last-child td{border-bottom:none}.nd-cell-uid{color:#f1f5f9;font-weight:600}.nd-cell-container{color:#ffffff59;font-size:10px}.nd-cell-date{color:#ffffff4d}.nd-ls-status{font-size:10px;font-weight:700;letter-spacing:.06em;border-radius:6px;padding:2px 7px}.nd-ls-status--up{color:#4ade80;background:#4ade8014;border:1px solid rgba(74,222,128,.2)}.nd-ls-status--down{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2)}.nd-stop-btn{font-family:inherit;font-size:10px;font-weight:600;color:#f87171b3;background:#f871710f;border:1px solid rgba(248,113,113,.15);border-radius:4px;padding:2px 8px;letter-spacing:.05em;transition:all .1s}.nd-stop-btn:hover{color:#f87171;background:#f871711f}.nd-start-form{border-top:1px solid rgba(255,255,255,.05);padding-top:14px}.nd-start-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;margin-bottom:10px}.nd-start-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.nd-start-btn{height:34px;align-self:flex-end;flex-shrink:0}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;height:38px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border2);flex-shrink:0}.topbar-logo{font-family:var(--font-ui);font-size:15px;font-weight:700;letter-spacing:.12em;color:var(--accent)}.topbar-sub{font-size:11px;color:var(--text-dim);letter-spacing:.08em}.topbar-tabs{display:flex;align-items:center;gap:2px;margin-left:4px}.topbar-tab{padding:3px 12px;font-size:10px;letter-spacing:.08em;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius);transition:color .1s,border-color .1s,background .1s}.topbar-tab:hover{color:var(--text);border-color:var(--border2)}.topbar-tab--active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.topbar-spacer{flex:1}.profile-menu{position:relative;margin-left:8px}.profile-trigger{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;border-radius:var(--radius);border:1px solid transparent;transition:border-color .1s,background .1s}.profile-trigger:hover{border-color:var(--border2);background:var(--surface2)}.profile-avatar{width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-name{font-size:12px;color:var(--text);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{font-size:8px;color:var(--text-muted)}.profile-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--surface2);border:1px solid var(--border2);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:200;overflow:hidden;padding:4px 0}.profile-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px}.profile-row--header{padding-top:10px}.profile-row-label{font-size:10px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}.profile-row-value{font-size:11px;color:var(--text);font-weight:500;text-align:right}.profile-status--active{color:var(--green)}.profile-status--expired{color:var(--red, #f87171)}.profile-status--pending{color:var(--accent)}.profile-status--none{color:var(--text-muted)}.profile-divider{height:1px;background:var(--border);margin:4px 0}.profile-logout-btn{width:100%;text-align:left;padding:8px 14px;font-size:12px;color:var(--red, #f87171);opacity:.7;transition:opacity .1s,background .1s}.profile-logout-btn:hover{opacity:1;background:#f871710f}.topbar-status{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.15em;color:var(--green)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #4ade8066}50%{opacity:.7;box-shadow:0 0 0 4px #4ade8000}}.media-view{display:flex;flex:1;min-height:0;overflow:hidden}.panes{display:grid;grid-template-columns:260px 1fr 340px;flex:1;overflow:hidden;min-height:0}.pane{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--surface)}.pane:last-child{border-right:none}.pane-header{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;background:var(--surface2);border-bottom:1px solid var(--border2);flex-shrink:0}.pane-title{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase}.pane-count{font-size:10px;color:var(--text-muted);margin-left:auto}.search-wrap{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.search-wrap input{flex:1;font-size:12px;color:var(--text)}.search-icon{font-size:11px;color:var(--text-dim)}.pane-scroll{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-muted);font-size:12px}.empty-state-icon{font-size:28px;opacity:.3}.qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001}.qr-popup{background:#fff;border-radius:10px;padding:20px 20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;box-shadow:0 12px 40px #0006;min-width:240px}.qr-canvas{display:block;border-radius:4px}.qr-popup-name{font-size:14px;font-weight:700;color:#111;max-width:200px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-popup-url{font-size:10px;color:#888;font-family:monospace}.qr-popup-close{position:absolute;top:8px;right:10px;font-size:14px;color:#aaa;cursor:pointer;transition:color .1s}.qr-popup-close:hover{color:#333}
