:root{color-scheme:dark;--paper: #17191d;--ink: #e8e4dc;--muted: #aaa8a3;--site-navigation-height: 44px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}.site-navigation{display:flex;align-items:center;width:min(100%,1280px);margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}.site-navigation a{display:inline-flex;align-items:center;min-height:var(--site-navigation-height);color:var(--muted);text-decoration:none}.site-navigation a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.site-navigation a:focus-visible{outline:2px solid #98bbb0;outline-offset:4px}.site-home-link{margin-inline-start:auto;font-size:13px}.geb-home-link{font:20px Georgia,serif;letter-spacing:.1em}.chapter-navigation{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:16px 20px 28px}.chapter-link{display:flex;align-items:center;gap:24px;padding:14px 22px;border:1px solid #45464b;border-radius:4px;color:var(--ink);text-decoration:none;font-size:14px;transition:background-color .18s ease,border-color .18s ease}.chapter-link>span:first-child{color:var(--muted);font-size:12px}.chapter-link:hover{background:#24262c;border-color:#98bbb0}.chapter-link:focus-visible{outline:2px solid #98bbb0;outline-offset:4px}.missing-chapter{align-items:center;justify-content:center;padding:40px 20px;text-align:center}.missing-chapter .error-code{margin:0 0 16px;color:#d6ac7e;font:clamp(64px,15vw,120px)/1 Georgia,serif}.missing-chapter h1{margin:0;font-size:clamp(24px,5vw,36px);font-weight:500}.missing-chapter .error-description{margin:14px 0 28px;color:var(--muted);line-height:1.8}footer{padding:24px 20px;color:var(--muted);text-align:center;font-size:11px;letter-spacing:.035em}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){.chapter-link{transition:none}}
