@font-face{font-family:"Fraunces Variable";src:url(/fonts/fraunces-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Nunito Sans Variable";src:url(/fonts/nunito-sans-latin.woff2) format("woff2");font-weight:200 900;font-display:swap}:root{color-scheme:light;font-family:"Nunito Sans Variable",system-ui,sans-serif;background:#f7f8fc;color:#18223b;accent-color:#4f46e5;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}main{max-width:960px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-size:1.5rem;font-weight:800;text-decoration:none}.badge{background:#e6f6ed;color:#116044;border-radius:100px;padding:7px 12px;font-size:.85rem}.badge.offline{background:#fff2d8;color:#835216}h1{font-size:clamp(2rem,6vw,3.2rem);line-height:1.12;letter-spacing:-.03em;max-width:650px;margin:40px 0 16px}h2{font-size:1.5rem;margin:0 0 16px}p{line-height:1.65;max-width:75ch}.intro{font-size:1.1rem}.muted,footer{color:#59647b}a{color:#4f46e5;text-underline-offset:4px}.tabs,.actions{display:flex;flex-wrap:wrap;gap:12px}.tabs{margin:26px 0}.tabs a{padding:12px 0;margin-right:16px;font-weight:650}section{background:#fff;border:1px solid #dfe3ef;border-radius:16px;padding:28px;margin:24px 0;scroll-margin-top:16px}form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}form>div:first-child{flex:1;min-width:0}label{display:block;margin-bottom:8px;font-weight:650}button,select{font:inherit;min-height:46px;padding:10px 14px;border:1px solid #cbd3e4;border-radius:10px;background:white;color:#18223b;max-width:100%}select{width:100%}button{background:#4f46e5;color:white;border-color:transparent;cursor:pointer;font-weight:650}button:hover{background:#4034cb}button.secondary{background:#eeecff;color:#3b31ad}button.secondary:hover{background:#e0e4fa}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #7166fa;outline-offset:3px}::selection{background:#dedbff;color:#18223b}[hidden]{display:none!important}article{max-width:68ch;margin:24px auto}article p{font:1.125rem/1.75 "Fraunces Variable",Georgia,serif}article h2{font-family:"Fraunces Variable",Georgia,serif}sup{font:small system-ui;color:#655cc0;margin-inline-end:8px}.chapters{display:flex;justify-content:space-between;gap:12px;margin-top:24px}fieldset{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;scrollbar-color:#bbb5f1 #f7f8fc}legend{font-weight:700;margin-bottom:12px}.book-option{display:flex;align-items:center;gap:10px;font-weight:400;padding:10px;border-radius:8px;background:#f7f8fc;margin:0;min-height:48px}.book-option input{width:20px;height:20px;flex-shrink:0}.book-option span{min-width:0;overflow-wrap:anywhere}.book-option small{display:block;color:#59647b;font-size:.8rem}.size{font-variant-numeric:tabular-nums;font-weight:650}progress{display:block;width:100%;height:12px;margin-top:20px}details{border-top:1px solid #dfe3ef;padding-top:20px;margin-top:24px}summary{cursor:pointer;padding:8px 0;font-weight:650}footer{font-size:.9rem;padding:8px 4px 24px}@media(max-width:560px){main{padding:16px}section{padding:20px 16px}fieldset{grid-template-columns:1fr}form>div:first-child{flex-basis:100%}.chapters button{font-size:.85rem;padding:10px}h1{margin-top:30px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;background:#111528;color:#f1f3ff}section,button.secondary,select{background:#1c223a;color:#f1f3ff;border-color:#39415b}a{color:#b6afff}.muted,footer,.book-option small{color:#b2bdd5}.book-option{background:#111528}.badge{background:#153b32;color:#8ce9c5}.badge.offline{background:#3d2e1b;color:#ffcf82}button{background:#b6afff;color:#21194c}button:hover,button.secondary:hover{background:#c6c0ff;color:#21194c}sup{color:#b6afff}details{border-color:#39415b}::selection{background:#4f46e5;color:white}}