/* Base Variables */ :root { --font-primary: 'Inter', system-ui, sans-serif; --color-bg: #f9fafb; --color-surface: #ffffff; --color-primary: #2563eb; --color-primary-hover: #1e40af; --color-text: #111827; --color-muted: #6b7280; --color-border: #e5e7eb; --radius: 0.5rem; --shadow: 0 1px 3px rgba(0,0,0,0.1); } /* Global Reset */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } /* Layout */ body { font-family: var(--font-primary); background: var(--color-bg); color: var(--color-text); line-height: 1.6; -webkit-font-smoothing: antialiased; } .container { max-width: 1200px; margin: 0 auto; padding: 1rem; } /* Header */ header { background: var(--color-primary); color: #fff; padding: 1rem 0; border-radius: var(--radius); box-shadow: var(--shadow); } header .logo { font-size: 1.5rem; font-weight: 700; } header nav { margin-top: 0.5rem; } header nav a { color: #fff; text-decoration: none; margin-right: 1rem; font-weight: 500; } header nav a:hover { opacity: 0.85; } /* Forum List */ .forum-list { display: grid; gap: 1.5rem; margin-top: 2rem; } .forum-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.25rem; transition: transform 0.2s; } .forum-card:hover { transform: translateY(-2px); } .forum-card h2 { font-size: 1.25rem; margin-bottom: 0.5rem; color: var(--color-primary); } .forum-card p { color: var(--color-muted); margin-bottom: 0.75rem; } .forum-card .meta { font-size: 0.875rem; color: var(--color-muted); } /* Thread View */ .thread { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); margin-top: 2rem; } .thread-header { padding: 1rem; border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; align-items: center; } .thread-header h1 { font-size: 1.5rem; color: var(--color-primary); } .thread-header .actions button { background: var(--color-primary); color: #fff; border: none; border-radius: var(--radius); padding: 0.5rem 1rem; cursor: pointer; font-weight: 500; } .thread-header .actions button:hover { background: var(--color-primary-hover); } .post { padding: 1rem; border-bottom: 1px solid var(--color-border); } .post:last-child { border-bottom: none; } .post .author { font-weight: 600; color: var(--color-primary); } .post .timestamp { font-size: 0.85rem; color: var(--color-muted); margin-left: 0.5rem; } .post .content { margin-top: 0.5rem; } /* Reply Form */ .reply-form { margin-top: 1.5rem; padding: 1rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow); } .reply-form textarea { width: 100%; min-height: 120px; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 0.75rem; resize: vertical; font-family: inherit; } .reply-form button { margin-top: 0.75rem; background: var(--color-primary); color: #fff; border: none; border-radius: var(--radius); padding: 0.5rem 1.25rem; cursor: pointer; font-weight: 500; } .reply-form button:hover { background: var(--color-primary-hover); } /* Responsive */ @media (max-width: 768px) { header .logo, header nav a { display: block; text-align: center; } .forum-list { grid-template-columns: 1fr; } .thread-header { flex-direction: column; align-items: flex-start; } .thread-header .actions { margin-top: 0.5rem; } }