/* rational.quest */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0c1445; color: #e2e8f0; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.7; }
.axiom { position: relative; padding: 8rem 2rem 5rem; text-align: center; background: linear-gradient(180deg, #0c1445, #1e1b4b); overflow: hidden; }
.star-field { position: absolute; inset: 0; }
.star { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #e2e8f0; }
.constellation-line { position: absolute; background: rgba(226,232,240,0.3); }
.l1 { top: 22%; left: 22%; width: 160px; height: 1px; transform: rotate(25deg); }
.l2 { top: 38%; right: 20%; width: 120px; height: 1px; transform: rotate(-15deg); }
.axiom-inner { position: relative; z-index: 1; }
.brand { font-family: 'Cormorant', serif; font-weight: 500; font-size: clamp(2rem, 5vw, 3rem); letter-spacing: 0.08em; margin-bottom: 0.5rem; }
.subtitle { font-size: 0.9rem; color: rgba(226,232,240,0.6); }
.theorems { max-width: 600px; margin: 0 auto; padding: 4rem 2rem; }
.chapter { margin-bottom: 3rem; }
.chapter-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.chapter-label { font-family: 'Cormorant', serif; font-style: italic; font-weight: 500; font-size: 0.9rem; color: #f59e0b; }
.logic-marker { display: inline-block; }
.logic-marker.triangle { width: 12px; height: 12px; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); background: #f59e0b; }
.logic-marker.square { width: 10px; height: 10px; background: #f59e0b; }
.chapter-title { font-family: 'Cormorant', serif; font-weight: 500; font-size: 1.5rem; margin-bottom: 0.75rem; }
.chapter-body { font-size: 0.85rem; color: rgba(226,232,240,0.7); }
.gold-dot { display: block; width: 4px; height: 4px; border-radius: 50%; background: #f59e0b; margin-top: 1.5rem; }
.proof { padding: 4rem 2rem; }
.theorem-frame { max-width: 500px; margin: 0 auto; border-top: 1px solid #f59e0b; border-bottom: 1px solid #f59e0b; padding: 2.5rem 1.5rem; text-align: center; }
.theorem-text { font-family: 'Cormorant', serif; font-style: italic; font-weight: 500; font-size: clamp(1.2rem, 3vw, 1.8rem); color: #e2e8f0; line-height: 1.5; }
.qed { text-align: center; padding: 3rem 2rem 6rem; }
.qed-label { font-family: 'Fira Code', monospace; font-size: 1.5rem; color: #f59e0b; display: block; margin-bottom: 0.5rem; letter-spacing: 0.1em; }
.qed-close { font-family: 'Cormorant', serif; font-weight: 500; font-size: 1rem; color: rgba(226,232,240,0.5); }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.accent-green { color: #22c55e; }
.border-green { border-color: #22c55e; }
