/* logical.day */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #fafafa; color: #171717; font-family: 'Inter', sans-serif; line-height: 1.7; }
.hero { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; }
.brand { font-weight: 500; font-size: clamp(1.5rem, 4vw, 2rem); color: #171717; margin-bottom: 1rem; }
.turnstile { font-family: 'Fira Code', monospace; font-size: clamp(4rem, 10vw, 6rem); color: #171717; display: block; margin-bottom: 0.5rem; }
.tagline { font-size: 0.85rem; color: #737373; margin-bottom: 1rem; }
.red-square { width: 10px; height: 10px; background: #dc2626; }
.axioms { max-width: 600px; margin: 0 auto; padding: 2rem 1.5rem; }
.module { padding: 2rem 0; background: #ffffff; }
.symbol { font-family: 'Fira Code', monospace; font-size: 2.5rem; color: #171717; display: block; margin: 0.5rem 0; }
.module-title { font-weight: 600; font-size: 1.1rem; color: #171717; margin-bottom: 0.3rem; }
.module-text { font-size: 0.85rem; color: #737373; }
.rule { height: 1px; background: #e5e5e5; }
.truth-table { max-width: 400px; margin: 0 auto; padding: 3rem 1.5rem; }
.table { width: 100%; border-collapse: collapse; }
.table th { font-family: 'Fira Code', monospace; font-weight: 600; font-size: 0.85rem; padding: 8px 16px; text-align: left; border-bottom: 2px solid #171717; }
.table td { font-family: 'Fira Code', monospace; font-size: 0.85rem; padding: 8px 16px; }
.table tbody tr:nth-child(even) { background: #f5f5f5; }
.qed { max-width: 600px; margin: 0 auto; padding: 3rem 1.5rem; text-align: center; }
.qed .rule { margin-bottom: 1.5rem; }
.qed-text { font-style: italic; font-size: 1rem; color: #171717; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
