.post-feed { display: flex; flex-direction: column; gap: 1.5rem; } .post-card { background: var(--surface); border: 1px solid rgba(199, 212, 222, 0.3); border-radius: 16px; padding: 1.75rem 2rem; transition: all 200ms ease; position: relative; overflow: hidden; } .post-card:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(31, 39, 51, 0.12); border-color: rgba(15, 173, 185, 0.2); } .post-card header { margin-bottom: 1rem; } .post-card h2 { margin: 0; font-size: 1.35rem; font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; } .post-card h2 a { color: var(--text); text-decoration: none; transition: color 200ms ease; } .post-card h2 a:hover { color: var(--accent); } .post-link { margin: 0.4rem 0 0; word-break: break-word; font-size: 0.94rem; color: var(--muted); } .post-meta { margin: 0; color: var(--muted); font-size: 0.9rem; font-weight: 500; display: flex; align-items: center; gap: 0.5rem; } .post-stats { margin: 1.25rem 0 0; display: flex; align-items: center; gap: 1.5rem; font-size: 0.9rem; color: var(--muted); } .post-detail { background: var(--surface); border: 1px solid rgba(199, 212, 222, 0.3); border-radius: 20px; padding: 3rem; box-shadow: 0 4px 24px rgba(31, 39, 51, 0.08); transition: transform 200ms ease, box-shadow 200ms ease; } .post-detail:hover { transform: translateY(-1px); box-shadow: 0 8px 32px rgba(31, 39, 51, 0.12); } .post-detail h1 { margin: 0; font-size: 2.2rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; } .post-detail h1 a { color: var(--text); text-decoration: none; transition: color 200ms ease; } .post-detail h1 a:hover { color: var(--accent); } .post-detail .post-link { margin-top: 0.75rem; } .post-detail .post-meta { margin-top: 0.75rem; font-size: 1rem; font-weight: 500; } .post-body { margin: 2.5rem 0; font-size: 1.1rem; line-height: 1.7; color: var(--text); } .post-votes { border-top: 1px solid rgba(199, 212, 222, 0.3); margin-top: 2.5rem; padding-top: 2rem; } @media (max-width: 640px) { .post-card { padding: 1.5rem 1.25rem; border-radius: 12px; } .post-card h2 { font-size: 1.2rem; } .post-detail { padding: 2rem 1.5rem; border-radius: 16px; } .post-detail h1 { font-size: 1.8rem; } }