:root{--bg: #0e1116;--card: #16191f;--card-hover: #1a1e26;--border: #262b34;--text: #e7e9ea;--muted: #8b949e;--accent: #1d9bf0;--accent-strong: #1a8cd8;--danger: #f4212e;--like: #f91880;--radius: 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.container{max-width:600px;margin:0 auto;padding:0 .75rem 4rem}.container.narrow{max-width:380px;padding-top:4rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#0e1116cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.85rem .25rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);z-index:5}.brand{display:flex;align-items:center;gap:.5rem;font-size:1.3rem;font-weight:800;margin:0;letter-spacing:-.02em}.brand-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--like))}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.auth-card h1{text-align:center;margin-top:0}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{flex:1;background:transparent;border:1px solid var(--border);color:var(--muted);padding:.55rem;border-radius:999px;cursor:pointer;transition:all .15s}.tabs button.active{color:#fff;background:var(--accent);border-color:var(--accent)}form{display:flex;flex-direction:column;gap:.75rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}input,textarea{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .15s}input:focus,textarea:focus{outline:none;border-color:var(--accent)}button.primary{background:var(--accent);color:#fff;border:none;padding:.6rem;border-radius:999px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}button.primary:hover:not(:disabled){background:var(--accent-strong)}button.primary.small{padding:.45rem 1.1rem;font-size:.9rem}button.primary:disabled{opacity:.5;cursor:default}button.link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0}.icon-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;width:26px;height:26px;border-radius:50%;transition:all .15s}.icon-btn:hover{background:#f4212e1f}.icon-btn.danger{color:var(--danger)}.tiny{font-size:.75rem}.composer-prompt{display:flex;align-items:center;gap:.7rem}.composer .pick-btn{flex:1;text-align:left;background:var(--bg);border:1px solid var(--border);color:var(--muted);padding:.7rem 1rem;border-radius:999px;font-size:.95rem;cursor:pointer;transition:border-color .15s}.composer .pick-btn:hover{border-color:var(--accent);color:var(--text)}.composer-preview img,.composer-preview video{width:100%;border-radius:12px;max-height:55vh;object-fit:contain;background:#000;margin-bottom:.5rem}.file-meta{color:var(--muted);font-size:.78rem;margin-bottom:.4rem}.caption-input{width:100%;resize:vertical;min-height:3rem}.composer-actions{display:flex;align-items:center;gap:.75rem;margin-top:.6rem}.composer-actions .counter{margin-right:auto;color:var(--muted);font-size:.8rem}.quota{margin-top:.85rem}.quota-bar{height:5px;border-radius:999px;background:var(--border);overflow:hidden}.quota-fill{height:100%;background:var(--accent);transition:width .3s ease}.quota-fill.full{background:var(--danger)}.quota-text{display:block;margin-top:.3rem;color:var(--muted);font-size:.72rem}.feed{display:flex;flex-direction:column;gap:1rem}.post{padding:1rem;transition:background .15s}.post:hover{background:var(--card-hover)}.post-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.post-head-text{display:flex;flex-direction:column;line-height:1.2}.author{color:var(--text);font-weight:700;font-size:.92rem}.muted{color:var(--muted)}.expiry{margin-left:auto;color:var(--muted);font-size:.72rem;border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;white-space:nowrap}.post-media img,.post-media video{width:100%;display:block;border-radius:14px;background:#000;max-height:70vh;object-fit:contain;border:1px solid var(--border)}.caption{margin:.75rem 0 0;line-height:1.45;white-space:pre-wrap;word-break:break-word}.actions{display:flex;gap:.5rem;margin-top:.6rem}.action{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.35rem .6rem;border-radius:999px;transition:all .15s}.action:hover{color:var(--text);background:#ffffff0d}.action.on{color:var(--accent)}.action.like.on{color:var(--like)}.action .heart{font-size:1.05rem;display:inline-block}.action.like.on .heart{animation:pop .28s ease}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}.comments{margin-top:.85rem;border-top:1px solid var(--border);padding-top:.8rem;display:flex;flex-direction:column;gap:.75rem}.comment{display:flex;gap:.55rem;align-items:flex-start}.comment-body{display:flex;flex-direction:column;gap:.1rem}.comment-meta{display:flex;align-items:baseline;gap:.4rem}.comment-text{font-size:.9rem;line-height:1.4;word-break:break-word}.comment-form{flex-direction:row;gap:.5rem;margin-top:.2rem}.comment-form input{flex:1}.empty{text-align:center;padding:3rem 1rem;color:var(--text)}.empty-icon{font-size:2.5rem;margin-bottom:.5rem}.empty p{margin:.25rem 0}.skeleton .sk-avatar,.skeleton .sk-line,.skeleton .sk-media{display:block;background:linear-gradient(90deg,var(--border) 25%,#2f3742 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:8px}.sk-avatar{width:40px;height:40px;border-radius:50%!important}.sk-line{height:10px;margin:3px 0}.sk-line.short{width:120px}.sk-line.tiny{width:70px;height:8px}.sk-media{width:100%;height:220px;border-radius:14px!important}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hint{color:var(--muted);font-size:.85rem;margin:.5rem 0 0}.center{text-align:center;padding:1.5rem 0}.error{color:var(--danger);font-size:.85rem;margin:.35rem 0 0}
