@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Work+Sans:wght@500;600;700&display=swap');

:root { --bg:#000; --panel:#080808; --text:#f1f1f1; --red:#e53935; --line:#2b2b2b; --muted:#8b8b8b; --soft:#1a1a1a; }
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--text); font-family:'Source Serif 4',Georgia,serif; line-height:1.4; }
button,input,textarea { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; }
.site-shell { display:grid; grid-template-columns:235px minmax(0,700px); gap:28px; max-width:1000px; margin:0 auto; min-height:100vh; padding:0 24px; }
.sidebar { position:sticky; top:0; height:100vh; padding:30px 0; display:flex; flex-direction:column; }
.mark { position:relative; display:grid; grid-template-columns:repeat(3,8px); grid-template-rows:repeat(3,8px); gap:3px; width:40px; height:40px; padding:7px; background:var(--red); border-radius:6px; margin-bottom:12px; }
.mark i { display:block; width:8px; height:8px; border:2px solid #000; border-radius:1px; }.mark i:nth-child(1) { grid-column:2; grid-row:1; }.mark i:nth-child(2) { grid-column:2; grid-row:2; }.mark i:nth-child(3) { grid-column:2; grid-row:3; }
.wordmark { font:700 22px 'Work Sans',sans-serif; margin-bottom:38px; }.nav { display:grid; gap:8px; }.nav-link { display:flex; align-items:center; gap:14px; padding:11px 14px; border-radius:8px; font:600 16px 'Work Sans',sans-serif; color:#aaa; }.nav-link:hover,.nav-link.active { background:var(--soft); color:var(--text); }.nav-icon { width:22px; text-align:center; font-size:21px; font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24; }
.account-card { display:flex; align-items:center; gap:10px; margin-top:auto; padding:10px; border-top:1px solid var(--line); font-family:'Work Sans',sans-serif; }.account-card strong,.account-card small { display:block; }.account-card small { color:var(--muted); font-size:12px; }
.content-column { min-width:0; border-left:1px solid var(--line); border-right:1px solid var(--line); background:var(--bg); }.topbar { display:flex; align-items:center; justify-content:space-between; padding:27px 28px 20px; border-bottom:1px solid var(--line); }.topbar h1 { font-size:31px; line-height:1; }.online-dot { width:9px; height:9px; border-radius:50%; background:var(--red); }
.view { display:none; }.active-view { display:block; }.composer { display:flex; gap:14px; padding:24px 28px; background:var(--panel); border-bottom:1px solid var(--line); }.composer-body { flex:1; min-width:0; }.composer textarea { width:100%; min-height:70px; border:0; resize:vertical; outline:0; background:transparent; color:var(--text); font-size:20px; }.composer textarea::placeholder { color:var(--muted); }.composer-footer { display:flex; align-items:center; gap:14px; border-top:1px solid var(--line); padding-top:12px; }.composer-note { flex:1; color:var(--muted); font:12px 'Work Sans',sans-serif; }.action-button,.auth-button { border:0; border-radius:6px; background:var(--red); color:#fff; font:700 14px 'Work Sans',sans-serif; padding:10px 16px; }.icon-button,.profile-photo-button { display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--red); cursor:pointer; }.material-symbols-rounded { font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24; }
.posts-feed { background:var(--panel); }.post { display:flex; gap:14px; padding:22px 28px; border-bottom:1px solid var(--line); }.post:hover { background:#101010; }.post-body { min-width:0; flex:1; }.post-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; }.post-name { font-weight:700; }.post-handle,.post-time { color:var(--muted); font-size:14px; }.post-content { margin-top:7px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:18px; }.post-image { display:block; max-width:100%; max-height:420px; margin-top:13px; border-radius:8px; }.post-actions { display:flex; gap:24px; margin-top:15px; }.post-action,.text-button { border:0; background:transparent; color:var(--muted); }.post-action:hover,.text-button:hover { color:var(--red); }
.avatar { flex:0 0 auto; display:grid; place-items:center; width:43px; height:43px; overflow:hidden; border-radius:10px; background:#242424; color:var(--text); font:700 15px 'Work Sans',sans-serif; }.avatar img { width:100%; height:100%; object-fit:cover; }.empty-state { padding:50px 28px; text-align:center; color:var(--muted); }
.section-intro { padding:28px; border-bottom:1px solid var(--line); background:var(--panel); }.section-intro h2 { font-size:28px; }.people-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:20px; }.person-card { display:flex; flex-direction:column; gap:12px; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }.person-card .avatar { width:52px; height:52px; }.person-name { font-weight:700; font-size:19px; }.person-bio { min-height:40px; color:var(--muted); font-size:14px; }.friend-button { align-self:flex-start; border:1px solid var(--text); border-radius:5px; background:transparent; color:var(--text); padding:7px 11px; font:600 12px 'Work Sans',sans-serif; }.friend-button:hover,.friend-button.sent { background:var(--red); border-color:var(--red); color:#fff; }.notifications-list { background:var(--panel); }.notification-item { display:flex; gap:14px; align-items:flex-start; padding:20px 28px; border-bottom:1px solid var(--line); }.notification-item p { color:var(--muted); }.notification-actions { display:flex; gap:10px; margin-top:10px; }
.chat-layout { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:610px; background:var(--panel); }.chat-content { border-right:1px solid var(--line); padding:15px; }.chat-content > strong { font:700 12px 'Work Sans',sans-serif; text-transform:uppercase; letter-spacing:1px; color:var(--muted); }.room-item { padding:12px; margin-top:8px; border-radius:7px; cursor:pointer; }.room-item:hover,.room-item.active { background:var(--soft); }.room-item p { color:var(--muted); font-size:12px; }.room-item .invite-button { display:flex; align-items:center; gap:4px; margin-top:8px; border:0; background:transparent; color:var(--red); font:600 12px 'Work Sans',sans-serif; }.room-form { display:grid; gap:7px; padding-top:18px; margin-top:15px; border-top:1px solid var(--line); }.room-form label { color:var(--muted); font:600 11px 'Work Sans',sans-serif; }.room-form input,.chat-input { width:100%; border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--text); padding:8px; outline:0; }.room-form button { border:0; background:transparent; color:var(--red); text-align:left; font:700 12px 'Work Sans',sans-serif; }.chat-messages-container { display:flex; min-width:0; flex-direction:column; }.chat-room-heading { display:flex; justify-content:space-between; padding:16px; border-bottom:1px solid var(--line); }.room-status { color:var(--muted); font-size:13px; }.chat-messages { flex:1; min-height:380px; overflow-y:auto; padding:18px; }.message { width:fit-content; max-width:82%; padding:9px 12px; margin-bottom:10px; border-radius:9px; background:var(--soft); }.message-sent { margin-left:auto; background:var(--red); color:#fff; }.message-time { margin-top:3px; opacity:.6; font-size:11px; }.message-image { display:block; max-width:260px; max-height:220px; margin-bottom:6px; border-radius:6px; }.chat-input-container { display:flex; gap:8px; padding:13px; border-top:1px solid var(--line); }.chat-input { flex:1; }.chat-send-button { border:0; border-radius:5px; background:var(--red); color:#fff; padding:8px 14px; font:700 12px 'Work Sans',sans-serif; }
.profile-summary { position:relative; padding:30px 28px 25px; background:var(--panel); border-bottom:1px solid var(--line); }.profile-summary .avatar-large { width:82px; height:82px; margin-bottom:16px; font-size:23px; }.profile-photo-button { position:absolute; top:78px; left:90px; width:32px; height:32px; border:1px solid var(--red); border-radius:50%; background:var(--panel); }.profile-summary h1 { font-size:30px; }.profile-summary p { color:var(--muted); margin-top:4px; }.profile-bio { max-width:540px; margin-top:15px !important; color:var(--text) !important; }.profile-stats { display:flex; gap:28px; margin-top:22px; }.stat-number { display:block; font-weight:700; font-size:20px; }.stat-label { color:var(--muted); font:12px 'Work Sans',sans-serif; }
.auth-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--bg); }.auth-container { width:min(100%,430px); padding:34px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }.auth-container h1 { margin:22px 0 25px; font-size:32px; }.auth-form { display:grid; gap:16px; }.form-group { display:grid; gap:7px; }.form-group input,.form-group textarea { width:100%; border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--text); padding:12px; outline:0; }.auth-footer { color:var(--muted); margin-top:22px; }.auth-footer a { color:var(--red); font-weight:600; }
@media (max-width:1000px) { .site-shell { grid-template-columns:76px minmax(0,700px); gap:0; }.sidebar { align-items:center; padding-right:10px; }.wordmark { display:none; }.nav-link { min-width:46px; justify-content:center; padding:11px; font-size:0; }.nav-link .nav-icon { font-size:21px; }.account-card { border:0; padding:0; }.account-card > span:not(.avatar) { display:none; } }
@media (max-width:650px) { .site-shell { display:block; padding:0; }.sidebar { position:fixed; z-index:4; bottom:0; width:100%; height:60px; padding:0; flex-direction:row; justify-content:center; background:var(--bg); border-top:1px solid var(--line); }.mark,.wordmark,.account-card { display:none; }.nav { display:flex; width:100%; justify-content:space-evenly; }.nav-link { min-width:45px; height:59px; }.content-column { border:0; padding-bottom:60px; }.topbar { padding:22px 18px 16px; }.composer,.post,.section-intro { padding-left:18px; padding-right:18px; }.people-grid { grid-template-columns:1fr; padding:14px; }.chat-layout { grid-template-columns:1fr; }.chat-content { border-right:0; border-bottom:1px solid var(--line); } }