:root{--bg:#08090d;--card:#12141b;--card2:#191c25;--line:rgba(255,255,255,.08);--text:#f7f7fb;--muted:rgba(255,255,255,.56);--accent:#7c5cff;--accent2:#d85cff;--danger:#ff5b7e;--ok:#46d98d;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif}body{min-height:100dvh}button,input,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.row{display:flex;align-items:center}.glass{background:rgba(8,9,13,.84);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
#shell{min-height:100dvh;padding-bottom:calc(78px + var(--safe-bottom))}#page{max-width:640px;margin:auto}.topbar{position:sticky;top:0;z-index:30;height:calc(61px + var(--safe-top));padding:calc(10px + var(--safe-top)) 16px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;border:0;background:transparent;font-weight:900;letter-spacing:2px;font-size:20px;padding:0}.pulse-mark{width:27px;height:27px;border:2px solid var(--accent);border-radius:50%;display:grid;place-items:center}.pulse-mark i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent)}.beta-pill{margin-left:auto;border-radius:999px;padding:6px 9px;background:rgba(124,92,255,.14);color:#c8bdff;font-size:10px;font-weight:800;letter-spacing:.7px}.icon-btn{position:relative;border:0;background:rgba(255,255,255,.06);width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.notif-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--danger);right:2px;top:2px;border:2px solid var(--bg)}
.tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;height:calc(66px + var(--safe-bottom));padding:7px 10px var(--safe-bottom);display:flex;border-top:1px solid var(--line)}.tab{width:20%;border:0;background:transparent;color:rgba(255,255,255,.45);display:flex;flex-direction:column;align-items:center;gap:2px}.tab.active{color:#fff}.tab>span{font-size:24px;line-height:25px;font-weight:600}.tab .plus{font-size:30px}.tab small{font-size:10px}
.section{padding:18px 16px}.page-title{font-size:34px;margin:0;font-weight:800;letter-spacing:-1.2px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px}.avatar{border-radius:50%;object-fit:cover;background:linear-gradient(145deg,#6148dd,#b75cff);border:1px solid rgba(255,255,255,.1)}.avatar-fallback{border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#6148dd,#b75cff);font-weight:800}.name{font-weight:700}.username{color:var(--muted);font-size:12px}
.feed{border-top:1px solid var(--line)}.post{padding:16px;border-bottom:1px solid var(--line)}.post-head{display:flex;align-items:center;gap:10px}.post-head button{border:0;background:none;padding:0;text-align:left}.post-text{font-size:16px;line-height:1.43;margin:13px 0;white-space:pre-wrap;overflow-wrap:anywhere}.post-media{width:100%;max-height:520px;object-fit:cover;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:#111}.actions{display:flex;gap:20px;align-items:center;margin-top:12px}.action{border:0;background:none;padding:5px 0;display:flex;gap:6px;align-items:center}.action.liked{color:var(--danger)}.more{margin-left:auto!important;color:var(--muted)}
.search{display:flex;gap:9px;align-items:center;padding:12px 13px;border-radius:16px;background:var(--card);border:1px solid var(--line);margin:18px 0}.search input{width:100%;border:0;outline:0;background:none;color:#fff}.person{display:flex;align-items:center;gap:11px;padding:11px 0}.person>button.profile-hit{display:flex;gap:11px;align-items:center;min-width:0;flex:1;border:0;background:none;text-align:left;padding:0}.person-text{min-width:0}.person-text>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.primary,.secondary,.danger,.pill{border:0;font-weight:700}.primary{background:var(--accent);border-radius:15px;padding:13px 16px}.secondary{background:rgba(255,255,255,.07);border-radius:15px;padding:13px 16px}.danger{background:rgba(255,91,126,.14);color:#ff829b;border-radius:15px;padding:13px 16px}.pill{border-radius:999px;padding:9px 14px;background:var(--accent)}.pill.following{background:rgba(255,255,255,.08)}.full{width:100%}
.field{width:100%;border:1px solid var(--line);outline:none;background:var(--card);color:#fff;border-radius:15px;padding:13px}.field:focus{border-color:rgba(124,92,255,.65)}textarea.field{resize:none;min-height:118px}.stack{display:flex;flex-direction:column;gap:10px}.create-preview{margin-top:14px}.preview-img{width:100%;max-height:420px;object-fit:cover;border-radius:20px}.file-label{display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer}
.profile-hero{position:relative}.banner{height:170px;background:linear-gradient(135deg,#2d1f77,#a04cff);overflow:hidden}.banner img{width:100%;height:100%;object-fit:cover}.profile-body{padding:0 16px 20px}.profile-avatar-wrap{margin-top:-47px;width:98px;height:98px;border-radius:50%;border:4px solid var(--bg);overflow:hidden}.profile-avatar-wrap>*{width:100%!important;height:100%!important}.profile-top{display:flex;align-items:flex-end}.profile-actions{margin-left:auto;display:flex;gap:8px;padding-top:10px}.bio{white-space:pre-wrap;color:rgba(255,255,255,.8);line-height:1.4;margin-top:9px}.stats{display:flex;gap:24px;margin-top:14px}.stat b{margin-right:4px}.stat span{color:var(--muted);font-size:13px}.profile-posts{border-top:1px solid var(--line);margin-top:12px}
.inbox-row{display:flex;gap:12px;align-items:center;padding:12px;margin-bottom:9px;width:100%;text-align:left;color:#fff}.unread{min-width:20px;height:20px;border-radius:999px;background:var(--accent);display:grid;place-items:center;font-size:10px;font-weight:800}
.chat{height:100dvh;padding-top:var(--safe-top);display:flex;flex-direction:column;background:var(--bg)}.chat-head{display:flex;align-items:center;gap:10px;padding:9px 14px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.back{border:0;background:none;font-size:29px;padding:2px 8px 2px 0}.messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.bubble{max-width:79%;border-radius:18px;padding:10px 13px;line-height:1.36;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{align-self:flex-end;background:var(--accent);border-bottom-right-radius:6px}.bubble.theirs{align-self:flex-start;background:var(--card2);border-bottom-left-radius:6px}.chat-compose{display:flex;align-items:flex-end;gap:8px;padding:9px 12px calc(9px + var(--safe-bottom));border-top:1px solid var(--line);background:#0b0c11}.chat-compose textarea{flex:1;min-height:42px;max-height:100px;border:0;outline:0;border-radius:20px;padding:11px 14px;background:var(--card);color:#fff;resize:none}.send{width:42px;height:42px;border:0;border-radius:50%;background:var(--accent);font-size:20px}
.sheet-bg{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.58);display:flex;align-items:flex-end}.sheet{width:100%;max-height:90dvh;overflow:auto;background:#101219;border:1px solid var(--line);border-radius:26px 26px 0 0;padding:12px 16px calc(18px + var(--safe-bottom))}.handle{width:42px;height:5px;border-radius:9px;background:rgba(255,255,255,.2);margin:0 auto 16px}.sheet-title{font-size:25px;font-weight:800;margin:0 0 15px}.comment{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.comment-body{flex:1}.comment-text{margin-top:4px;white-space:pre-wrap}.menu-row{width:100%;border:0;background:none;text-align:left;padding:14px 2px;border-bottom:1px solid var(--line)}.menu-row.danger-text{color:#ff829b}
.toast{position:fixed;left:50%;bottom:calc(82px + var(--safe-bottom));z-index:250;transform:translate(-50%,18px);background:#20232e;border:1px solid var(--line);padding:11px 15px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(24px + var(--safe-top)) 18px calc(24px + var(--safe-bottom));background:radial-gradient(circle at 50% 18%,#24184b 0,#08090d 48%)}.auth-box{width:100%;max-width:430px}.auth-logo{display:flex;align-items:center;justify-content:center;gap:11px;font-size:31px;font-weight:900;letter-spacing:3px;margin-bottom:28px}.auth-logo .pulse-mark{width:42px;height:42px}.auth-tabs{display:flex;padding:4px;background:rgba(255,255,255,.06);border-radius:16px;margin-bottom:14px}.auth-tabs button{width:50%;border:0;background:none;padding:10px;border-radius:12px}.auth-tabs button.active{background:rgba(255,255,255,.09);font-weight:700}.error{color:#ff829b;font-size:13px;line-height:1.4}.loading{padding:50px 16px;text-align:center;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--muted);padding:42px 20px;line-height:1.5}.separator{height:1px;background:var(--line);margin:15px 0}.notice{padding:12px 13px;border-radius:15px;background:rgba(124,92,255,.1);border:1px solid rgba(124,92,255,.2);font-size:12px;line-height:1.5;color:#d8d1ff}
@media(min-width:700px){#page{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
