/* =========================================================
   OBSIDIAN CODEX — VAULT STYLE CANON
   Root-local stylesheet
   Archive-first • Ancient • Solemn • Static
   ========================================================= */


/* -------------------------
   1. SOFT RESET
------------------------- */
* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
}


/* -------------------------
   2. BASE TYPOGRAPHY
------------------------- */
body {
    font-family: "Times New Roman", Georgia, serif;
    line-height: 1.75;
    letter-spacing: 0.02em;
}


/* =========================================================
   3. ACCESS LAYERS (COLOR LOGIC)
   Visual depth increases with access
   ========================================================= */

/* ---------- ROOT / OC0 ---------- */
body.vault-root {
    background-color: #f5e6a8; /* corn */
    color: #000000;
}

body.vault-root a {
    color: #1a4fb3; /* blue */
    text-decoration: underline;
    border-bottom: none;
}

body.vault-root a:hover {
    color: #0d2f73;
}


/* ---------- VAULT1 ---------- */
body.vault1 {
    background-color: #e5e5e5; /* light gray */
    color: #1f3d1f; /* dark green */
}

body.vault1 a {
    color: #2f5f2f;
    text-decoration: none;
    border-bottom: 1px solid rgba(47,95,47,0.4);
}

body.vault1 a:hover {
    color: #1f3d1f;
    border-bottom-color: #1f3d1f;
}


/* ---------- VAULT2 ---------- */
body.vault2 {
    background-color: #9e9e9e; /* medium gray */
    color: #3f7f3f; /* medium green */
}

body.vault2 a {
    color: #4f9f4f;
    text-decoration: none;
    border-bottom: 1px solid rgba(79,159,79,0.4);
}

body.vault2 a:hover {
    color: #2f6f2f;
    border-bottom-color: #2f6f2f;
}


/* ---------- VAULT3 ---------- */
body.vault3 {
    background-color: #0b0b0b; /* black */
    color: #9fd89f; /* light green */
}

body.vault3 a {
    color: #b6f2b6;
    text-decoration: none;
    border-bottom: 1px solid rgba(182,242,182,0.4);
}

body.vault3 a:hover {
    color: #e0ffe0;
    border-bottom-color: #e0ffe0;
}


/* =========================================================
   4. SHARED STRUCTURAL COMPONENTS
   (Unaffected by access depth)
   ========================================================= */

/* --- Vault Landing --- */
.vault-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 24px;
    text-align: center;
}

.vault-image {
    max-width: 100%;
    height: auto;
    margin-bottom: 50px;
    opacity: 0.95;
    filter: brightness(70%) contrast(110%) saturate(80%);
}

.vault-text {
    font-size: 1.1em;
    margin-bottom: 40px;
}

.vault-text p {
    margin: 0 0 22px 0;
}

.vault-enter {
    margin-top: 40px;
}

.vault-enter a {
    font-size: 0.95em;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding-bottom: 4px;
}


/* --- Scroll Pages --- */
.scroll-container {
    max-width: 760px;
    margin: 0 auto;
    padding: 80px 24px;
}

.scroll-title {
    font-size: 2em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 40px;
    text-align: center;
}

.scroll-subtitle {
    font-size: 1em;
    opacity: 0.75;
    text-align: center;
    margin-bottom: 60px;
}

.scroll-body p {
    margin: 0 0 26px 0;
}

/* Drop cap */
.scroll-body p:first-child::first-letter {
    font-size: 3.4em;
    float: left;
    line-height: 0.9;
    padding-right: 10px;
    padding-top: 6px;
}


/* --- Section Index --- */
.section-container {
    max-width: 820px;
    margin: 0 auto;
    padding: 80px 24px;
}

.section-title {
    font-size: 1.8em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.section-intro {
    font-size: 1.05em;
    margin-bottom: 50px;
}

.section-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.section-list li {
    margin-bottom: 18px;
}

.section-list li::before {
    content: "▸ ";
    opacity: 0.6;
}


/* --- Mechanical Index --- */
.archive-index {
    max-width: 1000px;
    margin: 0 auto;
    padding: 80px 24px;
    font-family: "Courier New", monospace;
    font-size: 0.95em;
}

.archive-index h1 {
    font-family: "Times New Roman", Georgia, serif;
    letter-spacing: 0.12em;
    margin-bottom: 40px;
}

.archive-index ul {
    list-style: none;
    padding-left: 0;
}

.archive-index li {
    margin-bottom: 10px;
}


/* --- Seals & Marginalia --- */
.sealed {
    opacity: 0.6;
    font-style: italic;
}

.restricted {
    opacity: 0.75;
}

.marginalia {
    font-size: 0.85em;
    opacity: 0.65;
    border-left: 2px solid currentColor;
    padding-left: 14px;
    margin: 40px 0;
}


/* --- Navigation --- */
.vault-nav {
    margin-top: 80px;
    font-size: 0.9em;
    opacity: 0.75;
}

.vault-nav a {
    margin-right: 20px;
}


/* --- Header & Footer --- */
.vault-header,
.vault-footer {
    border-color: rgba(0,0,0,0.15);
}

.vault-header {
    border-bottom: 1px solid;
    padding: 20px 0;
    margin-bottom: 40px;
}

.vault-footer {
    border-top: 1px solid;
    margin-top: 80px;
    padding: 40px 0;
}

.vault-header-inner,
.vault-footer-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.vault-mark {
    font-size: 1.2em;
    letter-spacing: 0.25em;
}

.vault-submark {
    font-size: 0.8em;
    opacity: 0.6;
    letter-spacing: 0.15em;
    margin-top: 6px;
}


/* --- Crawl Credit --- */
.vault-crawl-credit {
    text-align: center;
    font-size: 0.7em;
    opacity: 0.35;
    margin-top: 40px;
}


/* -------------------------
   RESPONSIVE
------------------------- */
@media (max-width: 600px) {
    .vault-container,
    .scroll-container,
    .section-container,
    .archive-index {
        padding: 60px 18px;
    }

    .scroll-title {
        font-size: 1.6em;
    }
}
