:root{--paper:#faf6ef;--surface:#fffefa;--sunk:#f4eee2;--bg:#faf6ef;--ink:#1f1d19;--muted:#6a6357;--rule:#e5dbc9;--rule-strong:#cdbfa4;--line:#e5dbc9;--accent:#2a4a7f;--accent-ink:#fffefa;--accent-soft:#e8eef7;--correct:#2c6841;--correct-bg:#eaf2ea;--correct-line:#a9cab2;--wrong:#a3372b;--wrong-bg:#f9ebe7;--wrong-line:#dfb9ad;--serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--radius:6px;--press:#1f1d19;--tap:54px;--shadow:0 1px 2px #5a46230d,0 10px 30px #5a46230d}@media (prefers-color-scheme:dark){:root{--paper:#17140f;--surface:#201c16;--sunk:#1a1712;--bg:#17140f;--ink:#f0e8da;--muted:#aba18f;--rule:#352e24;--rule-strong:#4d4335;--line:#352e24;--accent:#9cbaea;--accent-ink:#17140f;--accent-soft:#1e2836;--correct:#7cc294;--correct-bg:#17251b;--correct-line:#345f46;--wrong:#e89a8b;--wrong-bg:#2c1b16;--wrong-line:#63382e;--press:#000;--shadow:0 1px 2px #00000080,0 10px 30px #00000059}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit}[hidden]{display:none!important}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.site{z-index:30;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px;position:sticky;top:0}.site-row{flex-wrap:wrap;align-items:center;gap:18px;max-width:1240px;margin:0 auto;display:flex}.logo{font:600 20px var(--serif);white-space:nowrap;color:var(--ink);text-decoration:none}.logo span{color:var(--accent)}.search{flex:420px;max-width:640px;position:relative}@media (width<=719px){.search{flex-basis:100%;order:3;max-width:none}}.search label{background:var(--sunk);border:1.5px solid var(--rule-strong);border-radius:6px;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.search label:focus-within{border-color:var(--accent);background:var(--surface)}.search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.search svg{color:var(--muted);flex:none}.results{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;margin:0;padding:6px;list-style:none;position:absolute;top:52px;left:0;right:0}.results a{color:inherit;border-radius:5px;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.results a:hover{background:var(--accent-soft)}.results .mini{border-radius:2px;flex:none;width:30px;height:40px;padding:0;font-size:0}.results b{font:600 15.5px/1.3 var(--serif);display:block}.results span{color:var(--muted);font-size:13px}.results .none{color:var(--muted);padding:12px;font-size:14.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}@media (width>=960px){.card{padding:26px 30px}}h2.sec{font:600 19px/1.3 var(--serif);letter-spacing:0;margin:0 0 4px}p.sub{color:var(--muted);margin:0 0 18px;font-size:14px;font-style:italic}.btn{background:var(--accent);width:100%;min-height:54px;color:var(--accent-ink);font:600 16.5px var(--sans);cursor:pointer;box-shadow:2px 2px 0 var(--press);border:1px solid var(--accent);border-radius:5px;justify-content:center;align-items:center;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:flex}.btn:active{box-shadow:0 0 0 var(--press);transform:translate(2px,2px)}.btn:hover{filter:brightness(1.06)}.btn.ghost{border:1px solid var(--rule-strong);color:var(--ink);box-shadow:none;background:0 0}.btn[disabled]{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--muted);box-shadow:none;cursor:not-allowed;filter:none;transform:none}.cover{color:#f3ece0;text-align:center;font:600 13px/1.3 var(--serif);box-shadow:var(--shadow);border-radius:3px;place-items:center;padding:10px;display:grid;overflow:hidden}.cover.img{background:var(--sunk);padding:0}.cover img{object-fit:cover;width:100%;height:100%;display:block}.c1{background:linear-gradient(160deg,#35578c,#1d3660)}.c2{background:linear-gradient(160deg,#4f7a5a,#2b4a34)}.c3{background:linear-gradient(160deg,#8a5a3c,#5a3722)}.c4{background:linear-gradient(160deg,#6b4f7f,#41304f)}.c5{background:linear-gradient(160deg,#3f6f78,#22454b)}.c6{background:linear-gradient(160deg,#7a6a3a,#4d4222)}.incl{gap:9px;margin:16px 0 0;padding:0;font-size:14.5px;line-height:1.45;list-style:none;display:grid}.incl li{font-family:var(--serif);align-items:flex-start;gap:10px;display:flex}.incl i{background:var(--correct-bg);width:19px;height:19px;color:var(--correct);border-radius:6px;flex:none;place-items:center;margin-top:2px;font-size:12px;font-style:normal;font-weight:700;display:grid}.fineprint{color:var(--muted);margin:14px 0 0;font-size:12.5px;line-height:1.5}.buybar{z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:10px 14px calc(env(safe-area-inset-bottom) + 10px);align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #00000012}.buybar .t{flex:1;min-width:0}.buybar .t b{font-size:15px;display:block}.buybar .t span{color:var(--muted);font-size:12.5px;display:block}.buybar .btn{flex:none;width:auto;min-height:48px;margin:0;padding:0 24px;font-size:15.5px}@media (width>=960px){.buybar{display:none}}.crumbs{max-width:1180px;color:var(--muted);margin:0 auto;padding:16px 16px 0;font-size:13.5px}.crumbs a{color:var(--muted)}.wrap{max-width:1180px;margin:0 auto;padding:22px 16px 150px}@media (width>=960px){.wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;padding-bottom:70px;display:grid}}.col{gap:20px;min-width:0;display:grid}.side{gap:18px;display:grid}@media (width<=959px){.side{order:2}}.qc-btn{cursor:pointer;background:var(--accent);width:100%;min-height:52px;color:var(--accent-ink);border:1px solid var(--accent);font:600 16px var(--sans);box-shadow:2px 2px 0 var(--press);border-radius:5px;justify-content:center;align-items:center;margin-top:14px;text-decoration:none;display:flex}.qc-btn[aria-disabled=true]{border-color:var(--rule-strong);color:var(--muted);box-shadow:none;cursor:default;pointer-events:none;background:0 0}.home{background:var(--paper)}.home .wrap{max-width:1240px;padding:22px 16px 60px;display:block}.home .main{gap:22px;display:grid}@media (width>=1000px){.home .main{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px}}.home .main>div{min-width:0}.tryside{gap:18px;display:grid}.howc{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:20px}.howc h2{font:600 18px var(--serif);margin:0 0 12px}.how{counter-reset:s;gap:11px;margin:0;padding:0;list-style:none;display:grid}.how li{font:400 15px/1.45 var(--serif);align-items:flex-start;gap:11px;display:flex}.how li:before{counter-increment:s;content:counter(s);background:var(--sunk);border:1px solid var(--line);width:24px;height:24px;font:650 12px var(--sans);border-radius:7px;flex:none;place-items:center;display:grid}.how b{font-weight:600}.how span span{color:var(--muted)}.intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:16px;display:flex}.home h1{font:600 28px/1.2 var(--serif);margin:0}@media (width>=1000px){.home h1{font-size:32px}}.intro p{color:var(--muted);margin:4px 0 0;font-size:15px}.shelfbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.shelfbar h2{font:600 18px var(--serif);margin:0}.chips{flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;display:flex}@media (width<=719px){.chips{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{flex:none}}.chip{border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer;border-radius:99px;padding:5px 12px;font-size:13.5px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;display:grid}@media (width>=800px){.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}}.shelf .cover{aspect-ratio:3/4;transition:transform .15s}@media (width<=559px){.shelf .cover{padding:6px;font-size:10.5px}.shelf .cover.img{padding:0}.book b{font-size:13.5px}.book span{font-size:11.5px}}.book{color:inherit;text-decoration:none;display:block}.book:hover .cover{transform:translateY(-3px)}.book b{font:600 15px/1.3 var(--serif);margin-top:8px;display:block}.book span{color:var(--muted);margin-top:1px;font-size:12.5px;display:block}.book .ed{color:var(--ink);font-weight:600;display:inline}.request{text-align:center;aspect-ratio:3/4;border:1.5px dashed var(--rule-strong);color:var(--muted);font:400 14px/1.4 var(--serif);cursor:pointer;background:0 0;border-radius:3px;place-items:center;padding:14px;text-decoration:none;display:grid}.request b{color:var(--ink);margin-bottom:4px;font-size:15px;display:block}.launchnote{font:400 16px/1.6 var(--serif);color:var(--muted);grid-column:span 2;align-self:center;margin:0}.launchnote b{color:var(--ink)}@media (width<=559px){.launchnote{grid-column:1/-1}}.try{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:20px}.try h2.sec{font:600 18px var(--serif);margin:0}.try .sub{color:var(--muted);margin:2px 0 12px;font-size:12.5px;font-style:normal}.trust{gap:12px;margin-top:40px;display:grid}@media (width>=760px){.trust{grid-template-columns:repeat(3,minmax(0,1fr))}}.trust div{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0 0 6px 6px;padding:14px 16px}.trust b{font:600 16px/1.3 var(--serif);margin-bottom:2px;display:block}.trust span{color:var(--muted);font-size:14px;line-height:1.5}footer.foot{border-top:1px solid var(--line);color:var(--muted);margin-top:36px;padding:20px 16px 36px;font-size:13.5px}footer.foot .fr{flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:1240px;margin:0 auto;display:flex}footer.foot nav{flex-wrap:wrap;gap:16px;display:flex}footer.foot a{color:var(--muted)}footer.line{max-width:1180px;color:var(--muted);margin:0 auto;padding:0 16px 40px;font-size:13.5px}.bookpage .side{position:sticky;top:88px}@media (width<=959px){.bookpage .side{position:static}}.bookhead{align-items:flex-start;gap:18px;display:flex}.bookhead .cover{flex:none;width:86px;height:116px;font-size:12px;line-height:1.35}@media (width>=640px){.bookhead .cover{width:112px;height:150px;font-size:11.5px}}.bookmeta{flex:1;min-width:0}.bookpage h1{font:600 27px/1.18 var(--serif);letter-spacing:0;margin:0 0 5px}@media (width>=960px){.bookpage h1{font-size:33px}}.byline{color:var(--muted);font:400 15.5px var(--serif);margin:0 0 3px;font-style:italic}.isbn{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.edcheck{border:1px solid var(--correct-line);background:var(--correct-bg);border-radius:5px;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 14px;font-size:14px;line-height:1.5;display:flex}.edcheck i{color:var(--correct);flex:none;font-style:normal;font-weight:700}.stats{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.stat{border:1px solid var(--line);background:var(--sunk);border-radius:5px;flex:120px;padding:10px 14px}.stat b{font:600 22px/1 var(--serif);font-variant-numeric:tabular-nums;display:block}.stat span{color:var(--muted);font-size:12.5px}.chaps{gap:10px;display:grid}.ch{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:5px;align-items:center;gap:14px;padding:15px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.ch:hover{border-color:var(--accent);background:var(--accent-soft)}.ch .n{background:var(--sunk);border:1px solid var(--line);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:660;display:grid}.ch .b{flex:1;min-width:0}.ch .nm{font:600 17px/1.3 var(--serif);display:block}.ch .m{color:var(--muted);margin-top:3px;font-size:13px;display:block}.ch .r{flex:none;width:104px;display:none}@media (width>=560px){.ch .r{display:block}}.ch .r .lbl{color:var(--muted);text-align:right;margin-bottom:5px;font-size:12px;display:block}.ch .r .bar{background:var(--line);border-radius:99px;height:7px;display:block;overflow:hidden}.ch .r .bar i{background:var(--accent);height:100%;display:block}.ch.untested .r .bar{border:1.5px dashed var(--line);background:0 0}.ch.untested .r .lbl{font-style:italic}.ch .go{color:var(--muted);flex:none}.qc-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.amt{font:600 36px/1 var(--serif);font-variant-numeric:tabular-nums}.amtrow{align-items:baseline;gap:9px;margin-bottom:4px;display:flex}.amtrow span{color:var(--muted);font-size:14px}.bookpage .side .btn{margin-top:14px}.faq{gap:2px;display:grid}.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:0;padding-bottom:0}.faq summary{cursor:pointer;font:600 17px var(--serif);justify-content:space-between;align-items:center;gap:14px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--muted);flex:none;font-size:20px;font-weight:400}.faq details[open] summary:after{content:"−"}.faq p{font:400 16px/1.65 var(--serif);color:var(--muted);margin:10px 0 0}.chapterpage .wrap{padding-top:16px}.chapterpage .col{gap:16px}.card.hero{padding:14px 18px}@media (width>=960px){.card.hero{padding:14px 22px}}.hero .eyebrow{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 2px}.hero h1{font:600 23px/1.25 var(--serif);letter-spacing:0;margin:0}@media (width>=960px){.hero h1{font-size:26px}}.hero .meta{color:var(--muted);margin:4px 0 0;font-size:14px}.hero .meta b{color:var(--ink);font-weight:600}.chapterpage .col>.card:nth-child(2){padding-top:16px;padding-bottom:20px}.chapterpage h2.sec{font-size:18px}.chapterpage p.sub{margin-bottom:12px}.qhd{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;display:flex}.btn-sm{background:var(--accent);min-height:42px;color:var(--accent-ink);border:1px solid var(--accent);font:600 15px var(--sans);box-shadow:2px 2px 0 var(--press);white-space:nowrap;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.btn-sm:active{box-shadow:none;transform:translate(2px,2px)}@media (width<=959px){.qhd .btn-sm{width:100%}}.qlist{gap:12px;margin-top:16px;display:grid}.qcard.item{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:16px}.qn{background:var(--sunk);border:1px solid var(--line);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:650;display:grid}.locked{gap:10px;margin-top:14px;display:grid}.lrow{border:1px solid var(--line);background:var(--surface);border-radius:5px;align-items:center;gap:13px;padding:13px 16px;display:flex;position:relative}.lrow .qn{background:0 0}.lmeta{flex:1;min-width:0}.lmeta .fake{background:var(--line);border-radius:99px;height:11px;display:block}.lmeta .fake.b{width:86%;margin-bottom:8px}.lmeta .fake.c{width:54%}.lock{color:var(--muted);flex:none}.pager{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.pager span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.pgbtn{border:1.5px solid var(--rule-strong);background:var(--surface);min-height:44px;font:600 15px var(--sans);cursor:pointer;color:var(--ink);border-radius:5px;padding:0 18px}.pgbtn[disabled]{color:var(--muted);opacity:.55;cursor:default}.price{gap:12px;display:grid}.tier{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:6px;gap:10px;padding:16px;transition:border-color .15s,background .15s;display:grid}.tier:hover{border-color:var(--accent)}.tier.on{border-color:var(--accent);background:var(--accent-soft)}.tier .r1{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tier .nm{font:600 17px var(--serif)}.tier .amt{font:600 25px var(--serif);font-variant-numeric:tabular-nums}.tier .d{color:var(--muted);font-size:13.5px;line-height:1.5}.best{font:700 11px var(--sans);letter-spacing:.05em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border-radius:99px;margin-left:8px;padding:3px 9px;display:inline-block}.topics{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.topics li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 2px;font-size:14.5px;display:flex}.topics .nm{font:400 14.5px var(--serif)}.topics .ct{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.side h2.sec{margin-bottom:8px}.more{color:var(--accent);font:600 14px var(--sans);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:6px 0}.mix{border:1px solid var(--line);border-radius:99px;height:10px;margin-top:6px;display:flex;overflow:hidden}.mix i{background:var(--accent);height:100%;display:block}.mixkey{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:13px;display:flex}.mixkey span{align-items:center;gap:6px;display:flex}.sw{background:var(--accent);border-radius:3px;width:10px;height:10px;display:inline-block}.l1{opacity:.45}.l2{opacity:.72}.practicepage{background:var(--paper);line-height:1.6}.topbar{z-index:30;background:var(--surface);border-bottom:1px solid var(--rule);padding:calc(env(safe-area-inset-top) + 10px) 18px 0;position:sticky;top:0}.topbar-row{align-items:center;gap:14px;max-width:1180px;margin:0 auto;padding-bottom:10px;display:flex}.crumb{flex:1;min-width:0}.crumb b{font:600 16.5px/1.25 var(--serif);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.crumb span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-style:italic;display:block;overflow:hidden}.iconbtn{border:1px solid var(--rule-strong);cursor:pointer;width:38px;height:38px;color:var(--muted);background:0 0;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.iconbtn:hover{background:var(--sunk);color:var(--ink)}.pbar{background:var(--rule);max-width:1180px;height:3px;margin:0 auto}.pbar i{background:var(--accent);width:0;height:100%;transition:width .35s;display:block}.layout{max-width:1180px;margin:0 auto;padding:22px 18px 120px}@media (width>=980px){.layout{padding:28px 18px 60px}}.ready{margin-top:18px;padding:4px 4px 0}.ready h3{font:600 15px var(--serif);margin:0 0 10px}.ready .line{color:var(--muted);margin:0;font-size:13.5px}.ready .line b{color:var(--ink)}.page{max-width:620px;margin:0 auto;padding:28px 16px 70px}.page h1{font:600 28px/1.2 var(--serif);margin:0 0 8px}@media (width>=960px){.page h1{font-size:32px}}.page p.lead{color:var(--muted);margin:0 0 22px;font-size:15.5px}.links{gap:10px;margin-top:6px;display:grid}.field{gap:6px;margin-bottom:16px;display:grid}.field label{font-size:14px;font-weight:600}.field label span{color:var(--muted);font-weight:400}.field input{border:1.5px solid var(--rule-strong);background:var(--surface);height:48px;color:var(--ink);font:400 16.5px var(--serif);border-radius:5px;padding:0 14px}.field input:focus{border-color:var(--accent);outline:none}.row2{gap:0 16px;display:grid}@media (width>=560px){.row2{grid-template-columns:1fr 1fr}}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.formerr{color:var(--wrong);margin:0 0 14px;font-size:14.5px}.site a.sign{white-space:nowrap;color:var(--accent);margin-left:auto;font-size:14.5px;text-decoration:none}.page.narrow{max-width:520px}.fine{color:var(--muted);margin:14px 0 0;font-size:13.5px}.done .bought{border:1px solid var(--line);background:var(--sunk);border-radius:5px;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;display:flex}.done .bought .cv{border-radius:2px;flex:none;width:40px;height:54px;overflow:hidden}.done .bought .cv img{object-fit:cover;width:100%;height:100%;display:block}.done .bought b{font:600 16.5px/1.35 var(--serif);display:block}.done .bought .t span{color:var(--muted);font-size:13.5px;display:block}.done .eyebrow{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--correct);align-items:center;gap:8px;margin:0 0 6px;display:flex}.done .eyebrow i{background:var(--correct);color:#fff;letter-spacing:0;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;font-style:normal;display:grid}.done .eyebrow.plain{color:var(--muted)}.done .notes{border-top:1px solid var(--line);font:400 15.5px/1.5 var(--serif);gap:10px;margin:20px 0 0;padding:16px 0 0;list-style:none;display:grid}.done .notes li{align-items:flex-start;gap:10px;display:flex}.done .notes li:before{content:"";background:var(--rule-strong);border-radius:50%;flex:none;width:6px;height:6px;margin-top:9px}.done .notes b{font-weight:600}.done .after{margin:16px 0 0;font-size:14.5px}.done .btns{gap:10px;display:grid}.stripe{color:var(--muted);text-align:center;margin:10px 0 0;font-size:12.5px;line-height:1.45}.own{font:600 11.5px var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);vertical-align:2px;border-radius:99px;padding:3px 9px;display:inline-block}.prog{color:var(--muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:14.5px}.chapterpage .pbar,.bookpage .pbar{background:var(--line);border-radius:99px;max-width:none;height:5px;margin:8px 0 16px;display:block;overflow:hidden}.chapterpage .pbar i,.bookpage .pbar i{background:var(--accent);height:100%;transition:none;display:block}.progcard .btn.ghost{color:var(--ink);border:1px solid var(--rule-strong);box-shadow:none;background:0 0;min-height:48px;margin-top:10px;font-size:15.5px}.progcard .btn.ghost:hover{border-color:var(--accent);filter:none}.progcard .btn.ghost b{font-variant-numeric:tabular-nums;margin-left:6px}.mprog{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.chapterpage .mprog .pbar{margin:7px 0 0}.mprog .prog{margin:0}.mprog a{font:600 14.5px var(--sans);color:var(--accent);margin-top:8px;text-decoration:none;display:inline-block}@media (width>=960px){.mprog{display:none}}.ctl{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin-top:14px;display:flex}.ctl .range{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.ctl .right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 14px;display:flex}.per{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.per select{border:1.5px solid var(--rule-strong);background:var(--surface);height:36px;color:var(--ink);font:600 14px var(--sans);border-radius:5px;padding:0 8px}.pages{align-items:center;gap:4px;display:flex}.pages a,.pages .off{border:1.5px solid var(--rule-strong);background:var(--surface);min-width:36px;height:36px;font:600 14px var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;text-decoration:none;display:inline-flex}.pages a[href]:hover{border-color:var(--accent)}.pages a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pages .off{opacity:.45}.pages .gap{text-align:center;min-width:18px;color:var(--muted)}.ctl.bottom{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}@media (width<=959px){.ctl.top .right{display:contents}.ctl.top .pages{flex-basis:100%}.ctl.bottom{justify-content:center}.ctl.bottom .range{display:none}}.capnote{border:1px solid var(--line);background:var(--sunk);font:400 15.5px/1.5 var(--serif);border-radius:5px;margin:16px 0 0;padding:12px 14px}.practicebar{z-index:40;background:var(--surface);border-top:1px solid var(--line);padding:10px 14px calc(env(safe-area-inset-bottom) + 10px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #00000012}.practicebar .btn{min-height:48px;font-size:15.5px}@media (width>=960px){.practicebar{display:none}}@media (width<=959px){.owned .wrap{padding-bottom:100px}.side .progcard{display:none}}.page.wide{max-width:760px}.mybooks .list{gap:16px;display:grid}.bk{padding:0;overflow:hidden}.bkhead{align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}@media (width>=960px){.bkhead{padding:22px 26px 16px}}.bkhead .cv{width:52px;height:70px;box-shadow:var(--shadow);border-radius:2px;flex:none;overflow:hidden}.bkhead .cv img{object-fit:cover;width:100%;height:100%;display:block}.bkhead .t{flex:1;min-width:0}.bkhead h2{font:600 19px/1.3 var(--serif);margin:0 0 2px}.bkhead .by{font:italic 400 14.5px var(--serif);color:var(--muted);margin:0}.bkhead .own{vertical-align:baseline;margin-top:7px}.bkhead .prog{margin-top:8px;font-size:14px}.bar{background:var(--line);border-radius:99px;max-width:260px;height:5px;margin-top:6px;display:block;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows a{border-bottom:1px solid var(--line);color:inherit;align-items:center;gap:14px;padding:12px 22px;text-decoration:none;display:flex}@media (width>=960px){.rows a{padding:12px 26px}}.rows li:last-child a{border-bottom:0}.rows a:hover{background:var(--accent-soft)}.rows .n{background:var(--sunk);border:1px solid var(--line);min-width:30px;height:30px;font:650 13px var(--sans);border-radius:8px;flex:none;place-items:center;padding:0 6px;display:grid}.rows .b{flex:1;min-width:0}.rows .nm{font:600 16px/1.3 var(--serif);display:block}.rows .m{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13.5px;display:block}.rows .go{font:600 14px var(--sans);color:var(--accent);white-space:nowrap;flex:none}.bkfoot{border-top:1px solid var(--line);background:var(--sunk);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 22px;font-size:14px;display:flex}@media (width>=960px){.bkfoot{padding:14px 26px}}.bkfoot span{color:var(--muted)}.bkfoot a{font-weight:600;text-decoration:none}.bkfoot form{margin:0}.bkfoot .linkbtn{font:600 14px var(--sans);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=559px){.rows a{gap:12px;padding:12px 16px}.bkhead{padding:18px 16px 14px}.bkfoot{padding:12px 16px}.rows .go{color:var(--muted);font-size:0}.rows .go:after{content:"›";font-size:22px}}.device h2{font:600 17px/1.3 var(--serif);margin:0 0 4px}.device p{color:var(--muted);margin:0 0 6px;font-size:14.5px;line-height:1.5}.devlist{margin:8px 0 0;padding:0;list-style:none}.devlist li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.devlist b{font:600 16px var(--serif)}.devlist .m{color:var(--muted);font-size:13.5px;display:block}.devlist form{margin:0}.devlist .btn{width:auto;min-height:40px;padding:0 16px;font-size:14.5px}.thisdev{font:600 11.5px var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);vertical-align:2px;border-radius:99px;margin-left:6px;padding:3px 9px}.yourrow{margin:0 0 18px}.yourrow .yhead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.yourrow h2{font:600 18px var(--serif);margin:0}.yourrow .yhead a{font:600 14px var(--sans);text-decoration:none}.yourrow .ybooks{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.yourrow .ybook{color:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.yourrow .ybook:hover{border-color:var(--accent)}.yourrow .cv{border-radius:2px;flex:none;width:38px;height:51px;overflow:hidden}.yourrow .cv img{object-fit:cover;width:100%;height:100%;display:block}.yourrow .ybook b{font:600 15px/1.3 var(--serif);display:block}.yourrow .ybook span.m{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;display:block}.doc h1{margin:0 0 4px}.doc h2{font:600 19px/1.3 var(--serif);margin:26px 0 6px}.doc p,.doc li{font:400 16.5px/1.65 var(--serif)}.doc p{margin:0 0 10px}.doc ul{margin:0 0 10px;padding-left:20px}.doc li{margin-bottom:4px}.doc .updated{font:400 13.5px var(--sans);color:var(--muted);margin:0 0 4px}
