/* riron.net - Scholarly Theory Network */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --paper-ivory: #FDFBF5;
    --parchment: #F5F0E8;
    --sand: #D0C8B8;
    --warm-brown: #6A6050;
    --deep-brown: #6A4A2A;
    --ink-dark: #1A1814;
    --theory-blue: #1A3A6A;
    --theory-green: #2A6A4A;
}
body {
    background: var(--paper-ivory);
    color: var(--ink-dark);
    font-family: 'Libre Baskerville', serif;
    font-weight: 400;
    overflow-x: hidden;
}

/* Header */
#header {
    text-align: center;
    padding: 4rem 2rem 3rem;
    border-bottom: 1px solid var(--sand);
}
.theory-network {
    display: block;
    max-width: 400px;
    margin: 0 auto 2rem;
    opacity: 0.6;
}
.net-node {
    opacity: 0;
    animation: nodeAppear 0.4s ease forwards;
}
.net-node:nth-child(6) { animation-delay: 0.2s; }
.net-node:nth-child(7) { animation-delay: 0.4s; }
.net-node:nth-child(8) { animation-delay: 0.6s; }
.net-node:nth-child(9) { animation-delay: 0.8s; }
.net-node:nth-child(10) { animation-delay: 1s; }
.net-line {
    stroke-dasharray: 300;
    stroke-dashoffset: 300;
    animation: drawLine 1.5s ease forwards;
    animation-delay: 1.2s;
}
@keyframes nodeAppear {
    0% { opacity: 0; transform: scale(0); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes drawLine {
    0% { stroke-dashoffset: 300; }
    100% { stroke-dashoffset: 0; }
}
.journal-title {
    font-size: clamp(1.8rem, 3.5vw, 2.5rem);
    font-weight: 700;
    color: var(--ink-dark);
    letter-spacing: 0.02em;
}
.journal-sub {
    font-size: 1rem;
    color: var(--theory-blue);
    margin-top: 0.5rem;
    font-style: italic;
}

/* Content */
#content {
    max-width: 700px;
    margin: 0 auto;
    padding: 3rem 2rem;
}

/* Theorem blocks */
.theorem-block {
    margin: 3rem 0;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.theorem-block.visible {
    opacity: 1;
    transform: translateY(0);
}
.theorem {
    margin-bottom: 1.5rem;
}
.theorem-label {
    font-weight: 700;
    color: var(--theory-blue);
    margin-right: 0.3rem;
}
.theorem-text {
    font-style: italic;
    line-height: 1.85;
}
.proof {
    padding-left: 2rem;
    border-left: 2px solid var(--sand);
}
.proof-label {
    font-style: italic;
    color: var(--warm-brown);
    margin-right: 0.3rem;
}
.proof-text {
    font-size: 1rem;
    line-height: 1.85;
    color: var(--ink-dark);
    margin-top: 0.5rem;
}
.math {
    font-family: 'STIX Two Math', serif;
    font-style: italic;
    color: var(--theory-green);
}
.qed {
    display: block;
    text-align: right;
    color: var(--deep-brown);
    font-size: 0.7rem;
    margin-top: 1rem;
}

/* Section Rule */
.section-rule {
    border: none;
    border-top: 1px solid var(--sand);
    margin: 2rem 0;
}

/* Footer */
#footer {
    text-align: center;
    padding: 4rem 2rem;
    border-top: 1px solid var(--sand);
}
.footer-text {
    font-size: 0.85rem;
    color: var(--warm-brown);
    opacity: 0.4;
}

@media (max-width: 600px) {
    #content { padding: 2rem 1.5rem; }
    .proof { padding-left: 1rem; }
}
