@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Charter&display=swap";:root{--bg:#0a0a0a;--text:#c8c8c8;--accent:#4a9eff;--subtle:#3a3a3a;--warning:#ff6b6b;--muted:#666}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);scroll-behavior:smooth;font-family:Charter,Georgia,serif;font-size:18px;line-height:1.7}body{max-width:720px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem 4rem}h1,h2,h3,h4{color:#e0e0e0;margin-top:2rem;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;line-height:1.3}h1{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}h2{color:var(--accent);font-size:1.2rem;font-weight:500}h3{font-size:1.05rem;font-weight:500}p{margin-bottom:1.2rem}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.7;text-decoration:underline}code,pre,.mono{font-family:JetBrains Mono,monospace;font-size:.9rem}pre{color:#b0b0b0;background:#111;border:1px solid #222;border-radius:6px;margin-bottom:1.2rem;padding:1rem;overflow-x:auto}code{color:var(--accent);background:#111;border-radius:3px;padding:.1rem .3rem}blockquote{border-left:2px solid var(--subtle);color:#999;margin-bottom:1.2rem;margin-left:0;padding-left:1rem}hr{border:none;border-top:1px solid #222;margin:2rem 0}.cursor{background:var(--accent);vertical-align:text-bottom;width:.6em;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.fade-in{opacity:0;animation:.6s forwards fadeIn;transform:translateY(10px)}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}nav{border-bottom:1px solid #222;margin-bottom:3rem;padding-bottom:1rem}nav a{margin-right:1.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.chapter-grid{gap:1rem;display:grid}.chapter-card{background:#0d0d0d;border-radius:14px;padding:1.5rem;transition:background .25s;position:relative;overflow:hidden}.chapter-card a{color:inherit;text-decoration:none;display:block}.chapter-card:before{content:"";border-radius:inherit;background:linear-gradient(to bottom, transparent 0%, var(--accent) 25%, var(--accent) 75%, transparent 100%);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.chapter-card:hover{background:#111}.chapter-card .chapter-num{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.chapter-card .chapter-title{color:#e0e0e0;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:1.1rem;display:flex}.chapter-card .chapter-summary{color:#999;font-size:.88rem;line-height:1.5}.chapter-card .symbol{opacity:.4;font-size:1.2rem}.chapter-card.hidden{opacity:.35;cursor:default}.chapter-card.hidden:before{background:linear-gradient(to bottom, transparent 0%, var(--subtle) 25%, var(--subtle) 75%, transparent 100%)}.type-badge{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--subtle);color:var(--muted);border-radius:3px;margin-bottom:.5rem;padding:.15rem .5rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-block}.map-symbol{opacity:.5;margin-right:.5rem;font-size:1.5rem}footer{color:var(--muted);border-top:1px solid #222;margin-top:4rem;padding-top:1rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.hidden-indicator{opacity:.3;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.8rem}.symbol-margin{float:right;opacity:.15;user-select:none;margin-left:1rem;font-size:2rem}#boot{background:#0d0d0d;border:1px solid #1a1a1a;border-radius:6px;min-height:8em;margin-bottom:2rem;padding:1.2rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.8}.boot-line{visibility:hidden;color:var(--accent);margin:0}.boot-line:after{content:"▊";color:var(--accent);margin-left:.2em;animation:1s step-end infinite blink}.boot-line:last-child:after{animation:1s step-end infinite blink}.statusbar{color:var(--muted);border-bottom:1px solid #1a1a1a;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:2rem;padding:.6rem 0;font-family:JetBrains Mono,monospace;font-size:.75rem;display:flex}.statusbar span:before{content:"■";color:var(--accent);vertical-align:middle;margin-right:.4em;font-size:.5rem}
