:root{color-scheme:dark;--bg: #12110f;--sidebar: #0d0c0b;--line: #2c2824;--text: #f3eee4;--muted: #a3998d;--faint: #6f685f;--accent: #ff5d3a;--link: #f0b2a2;--code: #1d1a17;--pending: #221e1a;--sans: "Avenir Next", "Segoe UI", sans-serif;--serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--mono: "SF Mono", ui-monospace, "Cascadia Code", monospace;--sidebar-width: 17.5rem;--toc-width: 14rem}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:var(--serif);font-size:1.0625rem;line-height:1.65}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:#fff}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:1.5rem 1.1rem 2rem;background:var(--sidebar);border-right:1px solid var(--line)}.brand{display:block;margin:0 0 1.4rem;color:var(--text);font-family:var(--sans);font-size:.78rem;font-weight:650;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}.brand:hover{color:#fff}.lesson-nav{display:flex;flex-direction:column;gap:.2rem}.lesson-nav a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .7rem;padding:.55rem .6rem;border-radius:.55rem;color:var(--muted);text-decoration:none}.lesson-nav a:hover,.lesson-nav a[aria-current=page]{background:#1a1815;color:var(--text)}.lesson-nav .code{grid-row:span 2;align-self:center;color:var(--accent);font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.04em}.lesson-nav .name{overflow:hidden;font-family:var(--sans);font-size:.86rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.lesson-nav .meta{color:var(--faint);font-family:var(--sans);font-size:.72rem}.stage{min-width:0}.reading{width:min(46rem,calc(100% - 3rem));margin:0 auto;padding:2.2rem 0 5rem}.library-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.8rem;padding:0;list-style:none}.library-list a{display:block;padding:.95rem 1rem;border:1px solid var(--line);border-radius:.8rem;color:inherit;text-decoration:none}.library-list a:hover{border-color:#5a463d}.library-list .code{color:var(--accent);font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.06em}.library-list h2{margin:.25rem 0 .35rem;font-family:var(--sans);font-size:1.2rem;font-weight:620;letter-spacing:-.02em}.library-list p,.lede{margin:0;color:var(--muted);font-family:var(--sans);font-size:.92rem}.player{margin-bottom:1.6rem}.player video,.player audio{width:100%;border-radius:.75rem;background:#000}.player audio{margin-top:.7rem}.pending{margin:0 0 1.4rem;padding:.9rem 1rem;border:1px dashed #4a4038;border-radius:.75rem;background:var(--pending);color:var(--muted);font-family:var(--sans);font-size:.92rem}.article h1,.reading>h1{margin:0 0 1rem;font-family:var(--sans);font-size:2.15rem;font-weight:650;letter-spacing:-.035em;line-height:1.15}.article h2{margin:2.4rem 0 .7rem;font-family:var(--sans);font-size:1.35rem;font-weight:640;letter-spacing:-.02em;line-height:1.25}.article h3{margin:1.6rem 0 .4rem;font-family:var(--sans);font-size:1.05rem}.article p,.article ul,.article ol{margin:.8rem 0}.article ul,.article ol{padding-left:1.3rem}.article li+li{margin-top:.28rem}.article img{display:block;width:100%;height:auto;margin:1rem 0;border-radius:.7rem;background:#090909}.article code{padding:.08em .32em;border-radius:.3rem;background:var(--code);font-family:var(--mono);font-size:.86em}.article pre{overflow:auto;padding:.9rem 1rem;border-radius:.7rem;background:var(--code)}.article pre code{padding:0;background:transparent;font-size:.84rem}.article blockquote{margin:1rem 0;padding-left:.9rem;border-left:2px solid var(--accent);color:var(--muted)}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--sans);font-size:.92rem}.pager a{text-decoration:none}.toc{position:sticky;top:1.5rem;align-self:start}.with-toc{display:grid;grid-template-columns:minmax(0,46rem) var(--toc-width);justify-content:center;gap:2rem;padding:2.2rem 1.5rem 5rem}.with-toc .reading{width:auto;margin:0;padding:0}.toc ol{margin:.4rem 0 0;padding:0;list-style:none}.toc a{display:block;padding:.28rem 0;color:var(--faint);font-family:var(--sans);font-size:.78rem;line-height:1.35;text-decoration:none}.toc a:hover{color:var(--text)}.toc p{margin:0;color:var(--faint);font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}@media(max-width:1100px){.with-toc{grid-template-columns:minmax(0,46rem)}.toc{display:none}}.account{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.account p{margin:0 0 .45rem;color:var(--faint);font-family:var(--sans);font-size:.75rem;overflow-wrap:anywhere}.account button{padding:0;border:0;background:transparent;color:var(--link);font-family:var(--sans);font-size:.82rem;cursor:pointer}.account button:hover{color:#fff}.gate{width:min(36rem,calc(100% - 2rem));margin:12vh auto 0}.gate .brand{margin-bottom:1rem}.gate h1{margin:0 0 .8rem;font-family:var(--sans);font-size:2rem;letter-spacing:-.03em}.gate p{color:var(--muted);font-family:var(--sans);font-size:1rem}.gate-error{color:#ffb4a4!important}.gate-button{display:inline-block;margin-top:.6rem;padding:.7rem 1rem;border-radius:.6rem;background:var(--accent);color:#fff;font-family:var(--sans);font-weight:650;text-decoration:none}.gate-button:hover{color:#fff;background:#ff7a5c}@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.reading{width:min(46rem,calc(100% - 2rem))}}
