:root{color-scheme:dark;--bg:#101417;--panel:#1a2023;--line:#354044;--text:#f0f1ec;--muted:#abb9ba;--soft:#87999b;--accent:#b6dfc8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}#app{width:min(100% - 40px,920px);margin:0 auto;padding:48px 0 80px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere;margin-bottom:0}h2{font-size:1.1rem}h3{font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere}p{line-height:1.6}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* The view templates retain utility class names, but these explicit rules provide the layout. */
#app>p{margin:12px 0 0;color:var(--muted)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:32px;color:var(--soft);font-size:.85rem;line-height:1.5}.breadcrumbs a{text-decoration:none;color:var(--muted)}.breadcrumbs a:hover{color:var(--text);text-decoration:underline}.breadcrumbs span{overflow-wrap:anywhere}.breadcrumbs span.text-neutral-700{color:#647579}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;margin-top:32px}.card-grid>a{display:block;min-width:0;padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:15px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.card-grid>a:hover{background:#232d2e;border-color:#7aa792;transform:translateY(-2px)}.card-grid h3{margin:0;color:var(--text);font-weight:650}.card-grid p{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.card-grid+section{margin-top:40px}section{margin-bottom:36px}section h2{margin-bottom:0;color:var(--soft);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}section .card-grid{margin-top:14px}
.lock-bar{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:64px;padding-top:24px}.lock-bar button{padding:10px 4px;border:0;background:none;color:var(--muted)}.lock-bar button:hover{color:var(--text)}
.gate{width:min(100%,440px);margin:clamp(40px,11vh,115px) auto 0}.gate>p{margin:16px 0 0;color:var(--muted)}.gate form{margin-top:32px}.gate input{display:block;width:100%;min-height:52px;padding:0 16px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;font-size:16px}.gate input::placeholder{color:var(--soft)}.gate form button{width:100%;min-height:52px;margin-top:12px;border:0;border-radius:12px;background:var(--accent);color:#11251d;font-weight:700}.gate form button:hover{background:#d3f3df}.gate form p{min-height:1.4em;margin:14px 0;color:var(--soft);font-size:.9rem}.gate form p.text-red-400{color:#ffb3aa}
.group-heading{display:flex;align-items:flex-start;gap:24px}.group-heading #cover-slot{width:104px;flex:none}.group-heading #cover-slot:empty{display:none}.group-heading img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.group-heading>div:last-child{min-width:0}.group-heading p{margin:10px 0 0;color:var(--muted);font-size:.9rem}.group-heading p:last-child{color:var(--soft)}.group-heading+.mt-4{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.group-heading+.mt-4 span{padding:6px 10px;border-radius:99px;background:#293735;color:#cce5d8;font-size:.77rem}.group-heading+.mt-4 span.text-red-300{background:#452b30;color:#f3bec1}.chapter-list{margin-top:34px;border-top:1px solid var(--line)}.chapter-link{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 4px;border-bottom:1px solid var(--line);text-decoration:none}.chapter-link:hover{background:#1a2424}.chapter-link span:first-child{color:var(--soft);font-size:.8rem;font-variant-numeric:tabular-nums}.chapter-link span:nth-child(2){color:var(--text);overflow-wrap:anywhere}.chapter-link span:last-child{color:var(--soft);font-size:.8rem;text-align:right;max-width:210px}
#chapter-body{margin-top:30px;color:var(--muted)}.prose{max-width:70ch;margin:34px auto 0;color:#dce3dc;font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:clamp(1.07rem,1.4vw,1.18rem);line-height:1.82;overflow-wrap:anywhere}.prose>*:first-child{margin-top:0}.prose h1,.prose h2,.prose h3{font-family:ui-sans-serif,system-ui,sans-serif;color:var(--text);line-height:1.25;letter-spacing:-.02em;margin:2em 0 .7em}.prose h1{font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose p{line-height:inherit;margin:0 0 1.35em}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose strong{color:#fff}.prose blockquote{margin:1.6em 0;padding:.1em 0 .1em 1.2em;border-left:3px solid #658c78;color:#bdccc2;font-style:italic}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose img{display:block;max-width:100%;height:auto;margin:1.5em auto;border-radius:8px}.prose pre{overflow-x:auto;max-width:100%;padding:18px;background:#1c2425;border:1px solid var(--line);border-radius:10px}.prose code{font-size:.85em;background:#263132;padding:.15em .3em;border-radius:4px}.prose pre code{padding:0;background:none}.prose ul,.prose ol{padding-left:1.5em;margin:0 0 1.35em}.prose li{margin-bottom:.4em}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{padding:8px 12px;border:1px solid var(--line)}
.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line)}.page-nav a{display:block;min-width:0;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.page-nav a:hover{border-color:#7aa792;background:#23302c}.page-nav a:nth-child(2){text-align:right}
@media(max-width:600px){#app{width:min(100% - 32px,920px);padding:28px 0 64px}.breadcrumbs{margin-bottom:25px}.card-grid{grid-template-columns:1fr;gap:10px;margin-top:26px}.card-grid>a{padding:18px;min-height:76px}.group-heading{gap:16px}.group-heading #cover-slot{width:76px}.chapter-link{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:15px 2px}.chapter-link span:last-child{grid-column:2;text-align:left;max-width:none}.prose{font-size:1.06rem;line-height:1.76;margin-top:28px}.page-nav{grid-template-columns:1fr}.page-nav span:empty{display:none}.page-nav a:nth-child(2){text-align:left}.lock-bar{margin-top:48px}.gate{margin-top:12vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-grid>a{transition:none}}
