@import url('https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,600;0,7..72,700;1,7..72,400&family=Source+Sans+3:wght@400;600;700&display=swap');

:root {
    --bg: #faf8f5; --bg-card: #fff; --text: #2c2c2c; --text-muted: #6b6b6b;
    --accent: #c2553a; --accent-light: #f3e8e4; --border: #e6e0d8;
    --shadow: 0 1px 3px rgba(0,0,0,.06); --radius: 6px;
}
@media (prefers-color-scheme: dark) {
    :root {
        --bg: #1a1918; --bg-card: #252321; --text: #e8e4df; --text-muted: #9a9590;
        --accent: #e07a5f; --accent-light: #3a2a24; --border: #3a3632;
        --shadow: 0 1px 3px rgba(0,0,0,.2);
    }
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth}
body{font-family:'Literata',Georgia,serif;background:var(--bg);color:var(--text);line-height:1.72;min-height:100vh}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
a:hover{border-bottom-color:var(--accent)}

.site-nav{position:sticky;top:0;z-index:100;background:var(--bg-card);border-bottom:1px solid var(--border);padding:.7rem 1.5rem}
.nav-inner{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:1rem}
.site-title{font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:.95rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.breadcrumb{font-size:.82rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.container{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
h1{font-family:'Source Sans 3',sans-serif;font-size:2rem;font-weight:700;margin-bottom:.3rem;line-height:1.25}
.page-subtitle{font-size:.92rem;color:var(--text-muted);margin-bottom:2rem;font-style:italic}
h3{font-family:'Source Sans 3',sans-serif;font-size:1.2rem;font-weight:600;margin:2.2rem 0 .7rem;color:var(--accent);padding-top:.5rem;border-top:1px solid var(--border)}
h4{font-family:'Source Sans 3',sans-serif;font-size:1.05rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text)}
p{margin-bottom:.65rem}
strong{font-weight:600}
em{font-style:italic}
code{font-size:.88em;background:var(--accent-light);padding:.12em .4em;border-radius:3px}

ul{margin:.25rem 0 .25rem 1.1rem;padding:0;list-style:none}
li{margin-bottom:.4rem;padding-left:0;position:relative}
li::before{content:"•";position:absolute;left:-1rem;color:var(--text-muted);font-size:.7em;line-height:2.4}
li > ul{margin-top:.3rem}

.section-grid{display:grid;gap:1rem;margin-top:1.5rem}
.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s;display:block}
.section-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.08);border-color:var(--accent);border-bottom-color:var(--accent)}
.card-number{font-family:'Source Sans 3',sans-serif;font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}
.card-title{font-family:'Source Sans 3',sans-serif;font-size:1.15rem;font-weight:600;color:var(--text)}

.sub-toc{background:var(--accent-light);border-radius:var(--radius);padding:1rem 1.3rem;margin:1.2rem 0 2rem}
.sub-toc-title{font-family:'Source Sans 3',sans-serif;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem}
.sub-toc a{display:block;padding:.2rem 0;font-size:.92rem;color:var(--text)}
.sub-toc a:hover{color:var(--accent)}

.back-link{display:inline-flex;align-items:center;gap:.3rem;font-family:'Source Sans 3',sans-serif;font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}
.back-link:hover{color:var(--accent)}

.page-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.page-nav a{font-family:'Source Sans 3',sans-serif;font-size:.88rem;color:var(--text-muted);max-width:45%}
.page-nav a:hover{color:var(--accent)}
.page-nav .next{text-align:right;margin-left:auto}

@media(max-width:640px){
    html{font-size:16px}
    .container{padding:1.5rem 1rem 4rem}
    h1{font-size:1.6rem}
    .nested{padding-left:.8rem}
}
