:root{--bg:#f5f7fa;--card:#fff;--text:#0f1419;--muted:#536471;--border:#e1e8ed;--accent:#1d9bf0;--danger:#e0245e}@media (prefers-color-scheme:dark){:root{--bg:#000;--card:#16181c;--text:#e7e9ea;--muted:#8b98a5;--border:#2f3336}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:640px;margin:0 auto;padding:16px}.nav{z-index:10;background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:12px;display:flex;position:sticky;top:0}.brand{color:var(--accent);margin-right:8px;font-weight:800}.badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:4px;padding:0 7px;font-size:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:14px}.post{gap:12px;display:flex}.post-main{flex:1;min-width:0}.name{font-weight:700}.body{white-space:pre-wrap;word-wrap:break-word;margin:4px 0 8px}.media{border:1px solid var(--border);border-radius:12px;max-width:100%;margin-bottom:8px}.actions{gap:24px;display:flex}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.avatar.placeholder{background:var(--accent);color:#fff;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.muted{color:var(--muted)}.danger,.liked{color:var(--danger)}.center{text-align:center}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.user-row{align-items:center;gap:12px;display:flex}.user-row .grow{flex:1}textarea,input[type=text],input[type=email],input[type=password],input[type=search]{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:10px 12px}button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:8px 18px;font-weight:700}button:disabled{opacity:.5;cursor:default}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.wide{width:100%}button.link,label.link,a.link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-weight:400}button.link:hover,label.link:hover{color:var(--accent)}.composer textarea{background:0 0;border:0;font-size:18px}.profile-head{align-items:center;gap:16px;display:flex}.profile-head h1{margin:0;font-size:22px}.unread{border-left:3px solid var(--accent)}h2{margin:20px 0 10px;font-size:18px}:root{--bubble:#e4e6eb;--online:#31a24c}@media (prefers-color-scheme:dark){:root{--bubble:#303338}}.small{font-size:12px}.profile-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}button.icon{padding:8px 12px}.avatar-wrap{flex-shrink:0;display:inline-flex;position:relative}.online-dot{background:var(--online);border:2px solid var(--card);border-radius:50%;width:11px;height:11px;position:absolute;bottom:0;right:0}.icon-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:4px 6px;font-size:16px;line-height:1;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg)}.icon-btn:disabled{opacity:.35}.messenger{position:relative}.messenger-panel{z-index:30;width:340px;max-height:70vh;padding:8px;position:absolute;top:32px;right:-120px;overflow-y:auto;box-shadow:0 12px 28px #0003}.messenger-panel h3{margin:4px 8px 8px;font-size:20px}.messenger-item{text-align:left;width:100%;color:var(--text);background:0 0;border-radius:10px;align-items:center;gap:10px;padding:8px;font-weight:400;display:flex}.messenger-item:hover{background:var(--bg)}.messenger-text{flex-direction:column;flex:1;min-width:0;display:flex}.messenger-text .small{min-width:0;color:var(--muted);display:flex}.unread-item .messenger-text .small{color:var(--text);font-weight:700}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:12px;height:12px}.chat-dock{z-index:40;pointer-events:none;flex-direction:row-reverse;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:0;right:16px}.chat-window{pointer-events:auto;background:var(--card);border:1px solid var(--border);border-radius:10px 10px 0 0;flex-direction:column;width:328px;height:455px;display:flex;box-shadow:0 8px 24px #00000038}.chat-window.minimized{width:240px;height:auto}.chat-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 6px 6px 8px;display:flex}.chat-title{text-align:left;align-items:center;gap:8px;min-width:0;display:flex;color:var(--text)!important}.chat-name{flex-direction:column;min-width:0;line-height:1.2;display:flex}.chat-name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-actions{flex-shrink:0;display:flex}.chat-body{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex;overflow-y:auto}.chat-intro{flex-direction:column;align-items:center;gap:4px;padding:16px 0;display:flex}.chat-empty{margin:auto}.chat-time{text-align:center;color:var(--muted);margin:10px 0 4px;font-size:11px}.msg-row{display:flex}.msg-row.mine{justify-content:flex-end}.bubble{background:var(--bubble);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;border-radius:18px;flex-direction:column;gap:4px;max-width:75%;padding:7px 12px;display:flex}.msg-row.mine .bubble{background:var(--accent);color:#fff}.bubble.pending{opacity:.6}.bubble.failed{background:var(--danger)!important}.bubble-img{border-radius:12px;max-width:100%;max-height:220px;display:block}.msg-status{text-align:right;padding-right:4px;font-size:11px}.call-bubble{background:var(--bubble);border-radius:18px;padding:8px 12px;font-size:14px}.call-bubble.missed{color:var(--danger)}.bubble.typing{flex-direction:row;gap:4px;padding:12px 14px}.bubble.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite blink}.bubble.typing i:nth-child(2){animation-delay:.2s}.bubble.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-error{padding:4px 10px}.chat-input{border-top:1px solid var(--border);align-items:flex-end;gap:4px;padding:8px;display:flex}.chat-input textarea{resize:none;background:var(--bg);border:0;border-radius:18px;flex:1;max-height:120px;padding:8px 12px}.chat-input .send{font-size:18px}@media (max-width:720px){.chat-dock{flex-direction:column;align-items:stretch;gap:0;left:0;right:0}.chat-window{width:100%;height:70vh}.chat-window:not(:last-child){display:none}.chat-window.minimized{width:100%;height:auto}.messenger-panel{width:min(340px,94vw);left:-140px;right:auto}}.call-incoming{z-index:60;background:var(--card);border:1px solid var(--border);border-radius:16px;align-items:center;gap:16px;padding:16px 20px;animation:.2s ease-out pop;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #00000059}@keyframes pop{0%{opacity:0;transform:translate(-50%,-12px)}}.call-incoming-actions{gap:12px;display:flex}.call-btn{color:#fff;background:#ffffff29;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;padding:0;font-size:20px;display:inline-flex}.call-incoming .call-btn{background:var(--bg);color:var(--text)}.call-btn.accept{animation:1.2s infinite pulse;background:var(--online)!important;color:#fff!important}.call-btn.decline{color:#fff!important;background:#e41e3f!important}.call-btn.off,.call-btn.on{color:#000;background:#fff}@keyframes pulse{50%{box-shadow:0 0 0 10px #31a24c33}}.call-screen{z-index:70;color:#fff;background:#0b0b0d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.remote-video{object-fit:contain;background:#000;width:100%;height:100%}.local-video{aspect-ratio:16/9;object-fit:cover;background:#222;border:2px solid #ffffff40;border-radius:12px;width:22vw;min-width:120px;max-width:260px;position:absolute;bottom:100px;right:20px;box-shadow:0 6px 18px #00000080}.local-video.off{opacity:.15}.mirror{transform:scaleX(-1)}.hidden-media{opacity:0;width:1px;height:1px;position:absolute}.call-peer{flex-direction:column;align-items:center;gap:12px;display:flex}.call-peer-name{font-size:26px;font-weight:700}.call-status{color:#ffffffbf;font-variant-numeric:tabular-nums}.call-top{text-shadow:0 1px 4px #000;position:absolute;top:16px;left:20px}.call-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:999px;gap:14px;padding:10px 16px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.call-stats{background:#0009;border-radius:10px;padding:10px 12px;font:12px/1.5 ui-monospace,Menlo,monospace;position:absolute;top:16px;right:16px}.auth-shell{z-index:40;background:var(--bg);grid-template-columns:1.1fr 1fr;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-center{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.auth-hero{color:#fff;background:linear-gradient(135deg,#0b1d3a 0%,#1d4ed8 45%,#7c3aed 80%,#db2777 100%);justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.auth-orb{filter:blur(60px);opacity:.55;border-radius:50%;position:absolute}.auth-orb-1{background:#22d3ee;width:380px;height:380px;animation:14s ease-in-out infinite alternate drift;top:-90px;left:-80px}.auth-orb-2{background:#f472b6;width:420px;height:420px;animation:18s ease-in-out infinite alternate-reverse drift;bottom:-140px;right:-100px}@keyframes drift{to{transform:translate(60px,40px)scale(1.1)}}.auth-hero-inner{max-width:440px;position:relative}.auth-hero h2{letter-spacing:-.02em;margin:28px 0;font-size:clamp(36px,4.4vw,56px);font-weight:800;line-height:1.05}.auth-points{gap:14px;margin:0;padding:0;font-size:17px;list-style:none;display:grid}.auth-points li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;display:flex}.auth-logo{letter-spacing:-.01em;align-items:center;gap:10px;font-size:26px;font-weight:800;display:inline-flex}.auth-logo-mark{color:#1d4ed8;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:inline-flex;box-shadow:0 6px 20px #00000040}.auth-logo-small{color:var(--accent);margin-bottom:18px;display:none}.auth-logo-small .auth-logo-mark{color:#fff;background:linear-gradient(135deg,#1d4ed8,#7c3aed)}.auth-panel{justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-card{width:100%;max-width:420px}.auth-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:32px}.auth-sub{margin:0 0 22px}.auth-tabs{background:var(--card);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:4px;display:grid}.auth-tabs button{color:var(--muted);background:0 0;border-radius:9px;padding:9px;font-weight:600}.auth-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #1d9bf059}.social{gap:10px;display:grid}.social-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-weight:600;transition:transform 80ms,box-shadow .15s,border-color .15s;display:flex}.social-btn:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.social-github{color:#fff;background:#24292f;border-color:#24292f}.social-facebook{color:#fff;background:#1877f2;border-color:#1877f2}.social-facebook svg path{fill:#fff}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-error{color:var(--danger);background:#e0245e1a;border:1px solid #e0245e4d;border-radius:10px;margin-bottom:14px;padding:10px 14px}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1d9bf033}.auth-form small{font-weight:400}.auth-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-pw{position:relative}.auth-pw input{padding-right:64px}.auth-pw-toggle{color:var(--accent);background:0 0;padding:6px 10px;font-size:13px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-submit{color:#fff;background:linear-gradient(135deg,#1d9bf0,#6d28d9);border-radius:12px;margin-top:4px;padding:13px;font-size:16px;font-weight:700;box-shadow:0 6px 18px #1d9bf059}.auth-submit:disabled{opacity:.6}.auth-switch{text-align:center;margin:20px 0 6px}.auth-legal{text-align:center;font-size:12px}.auth-spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.welcome-banner{color:#fff;background:linear-gradient(135deg,#1d4ed8,#7c3aed);border-radius:12px;gap:4px;padding:14px 16px;display:grid}@media (max-width:860px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.auth-logo-small{display:inline-flex}}.auth-switch .link{color:var(--accent);font-weight:600}.container:has(.layout-2col){max-width:1010px}.layout-2col{grid-template-columns:minmax(0,640px) 330px;justify-content:center;gap:24px;display:grid}.side{align-self:start;position:sticky;top:72px}@media (max-width:1020px){.layout-2col{grid-template-columns:minmax(0,640px)}.side{display:none}}.side-card h3{margin:0 0 8px;font-size:19px;font-weight:800}.trend{color:var(--text);border-radius:8px;flex-direction:column;padding:8px 4px;text-decoration:none;display:flex}.trend:hover{background:var(--bg)}.suggestion{padding:6px 0}.ellipsis-col{min-width:0;color:var(--text);flex-direction:column;text-decoration:none;display:flex}.follow-btn{border-radius:999px;padding:6px 16px;font-weight:700}.follow-btn.sm{padding:4px 14px;font-size:14px}.follow-btn.following:hover{color:var(--danger);border-color:var(--danger)}.pill{background:var(--bg);color:var(--muted);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:12px}.profile-stats{gap:18px;margin-top:4px;display:flex}.profile-stats .link{color:var(--text);padding:0}.tabs{border-bottom:1px solid var(--border);margin:0 0 12px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:1;padding:12px 0;font-weight:700}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.tabs button:hover{background:var(--card)}.repost-head{margin:-4px 0 6px 40px;font-size:13px;font-weight:700}.repost-head a{color:var(--muted)}.actions{justify-content:space-between;align-items:center;gap:8px;max-width:460px}.act{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 8px;font-size:14px;font-weight:400;text-decoration:none}.act:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.act.liked{color:var(--danger)}.act.reposted{color:#00ba7c}.act.saved{color:var(--accent)}.menu-wrap{position:relative}.menu{z-index:20;flex-direction:column;min-width:150px;padding:4px;display:flex;position:absolute;top:30px;left:-10px;box-shadow:0 8px 24px #0000002e}.menu button{color:var(--text);text-align:left;background:0 0;border-radius:8px;padding:8px 12px;font-weight:700}.menu button:hover{background:var(--bg)}.quote-embed{border:1px solid var(--border);color:var(--text);border-radius:12px;margin:4px 0 8px;padding:10px 12px;text-decoration:none;display:block}a.quote-embed:hover{background:var(--bg)}.quote-head{align-items:center;gap:6px;font-size:14px;display:flex}.quote-embed .body{margin:4px 0 0}.quote-composer{margin-top:8px}.rich-link{color:var(--accent)}.rich-link:hover{text-decoration:underline}.toast{background:var(--accent);color:#fff;z-index:60;border-radius:8px;padding:10px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0003}.warn{color:#ffad1f}.search-bar{background:var(--card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:4px 16px;display:flex}.search-bar:focus-within{border-color:var(--accent)}.search-bar input{background:0 0;border:0;flex:1;padding:8px 0}.search-bar input:focus{outline:none}.notif-icon{text-align:center;width:22px;font-weight:800}.notif-icon.k-like{color:var(--danger)}.notif-icon.k-repost{color:#00ba7c}.notif-icon.k-mention,.notif-icon.k-follow{color:var(--accent)}.media{object-fit:cover;background:var(--border);height:auto;max-height:560px;display:block}.success{color:#00ba7c}button.link-button{color:var(--danger);text-align:left;background:0 0;border:0;padding:0;font-weight:400}.media-pick{align-items:center;gap:6px;display:inline-flex;color:var(--accent)!important;font-weight:600!important}.media-preview{margin:8px 0;position:relative}.media-preview img{border:1px solid var(--border);object-fit:cover;border-radius:12px;max-width:100%;max-height:360px;display:block}.media-remove{color:#fff;background:#0f1419bf;border-radius:50%;width:32px;height:32px;padding:0;font-size:15px;position:absolute;top:8px;left:8px}.avatar-edit{align-items:center;gap:18px;display:flex}.avatar-edit-btn{background:0 0;border-radius:50%;padding:0;line-height:0;position:relative;overflow:hidden}.avatar-edit-overlay{color:#fff;opacity:0;background:#00000059;justify-content:center;align-items:center;font-size:13px;line-height:1.2;transition:opacity .15s;display:flex;position:absolute;inset:0}.avatar-edit-btn:hover .avatar-edit-overlay,.avatar-edit-btn:disabled .avatar-edit-overlay,.avatar-edit-btn:disabled{opacity:1}a.button{background:var(--accent);color:#fff;border-radius:999px;padding:8px 18px;font-weight:700;display:inline-block}a.button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}a.button:hover{filter:brightness(.95);text-decoration:none}
