:root{--paper:#f7f3ea;--ink:#24312d;--muted:#75807a;--green:#28594a;--gold:#bd7a42;--line:#ded8ca;--panel:#fffdf8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,sans-serif}button,select,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}header{height:72px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 94%,transparent);z-index:5}.brand{font-family:Georgia,serif;font-size:24px}.brand span{color:var(--gold)}.header-actions{display:flex;gap:14px}.primary{background:var(--green);color:#fff;border-radius:6px;padding:11px 18px}.library{max-width:1200px;margin:auto;padding:8vh 28px}.hero{padding:6vh 0 9vh;max-width:760px}.eyebrow,.assistant small{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:700}.hero h1{font:56px/1.08 Georgia,serif;margin:18px 0}.hero h1 em{font-weight:400;color:var(--green)}.hero>p:last-child{color:var(--muted);font-size:18px}.section-title{display:flex;align-items:baseline;gap:15px}.section-title h2{font:30px Georgia,serif}.section-title small{color:var(--muted)}.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px}.book{min-height:260px;padding:26px;background:var(--green);color:#f7f1e4;border-radius:4px;box-shadow:0 12px 24px #24312d22;text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.book:nth-child(3n+2){background:#82543d}.book:nth-child(3n){background:#334b62}.book:hover{transform:translateY(-5px)}.book h3{font:24px/1.2 Georgia,serif}.book small{opacity:.7;text-transform:uppercase}.reader{height:calc(100vh - 72px);display:grid;grid-template-columns:240px minmax(400px,1fr) 360px}.reader aside,.assistant{background:var(--panel);padding:28px;border-right:1px solid var(--line);overflow:auto}.reader aside h3{font:23px Georgia,serif;margin:36px 0}.setting{margin:25px 0}.setting label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.setting select,.directions select{width:100%;padding:9px;border:1px solid var(--line);background:var(--paper)}.reader article{display:flex;flex-direction:column;min-width:0;padding:20px 6vw}.reader-toolbar{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.page{flex:1;overflow:hidden;padding:5vh 0;font:21px/1.85 Georgia,serif;white-space:pre-wrap}.sentence{border-radius:3px}.sentence:hover{background:#e8dfca;cursor:pointer}.reader nav{height:45px;display:flex;align-items:center;gap:15px}.progress{height:2px;background:var(--line);flex:1}.progress i{display:block;height:100%;background:var(--gold)}.assistant{border:0;border-left:1px solid var(--line)}.assistant-head{display:flex;justify-content:space-between}.assistant-head h3{font:25px Georgia,serif;margin:8px 0 25px}.assistant-head>button{font-size:24px}.assistant blockquote{margin:15px 0;padding:12px;border-left:2px solid var(--gold);font:italic 15px/1.5 Georgia,serif}.tabs{display:flex;border-bottom:1px solid var(--line);margin-top:25px}.tabs button{padding:10px 6px;margin-right:10px;color:var(--muted)}.tabs .active{color:var(--green);border-bottom:2px solid var(--green)}.directions{display:flex;align-items:center;gap:8px;margin:18px 0}.wide{width:100%}.result{white-space:pre-wrap;line-height:1.55;margin-top:20px}.hidden{display:none}.drop{border:1px dashed var(--gold);padding:45px;display:flex;flex-direction:column;align-items:center;gap:8px}.drop input{display:none}dialog{border:0;border-radius:8px;padding:30px;background:var(--panel);color:var(--ink);max-width:520px;width:90%}dialog::backdrop{background:#14241eb5}.dialog-close{float:right;font-size:22px}.error{color:#a33}body.dark{--paper:#18211e;--panel:#202a26;--ink:#eee9dd;--muted:#a3aaa5;--line:#39443f;--green:#467e6b}#bookmarks button{display:block;color:var(--muted);font-size:12px;margin:8px 0;text-align:left}@media(max-width:1000px){.reader{grid-template-columns:180px 1fr}.assistant{position:fixed;right:0;top:72px;bottom:0;width:min(390px,92vw);box-shadow:-10px 0 30px #0002}.hero h1{font-size:44px}}@media(max-width:700px){.reader{display:block}.reader aside{display:none}.reader article{height:calc(100vh - 72px);padding:15px 22px}.hero h1{font-size:37px}.library{padding:4vh 20px}.header-actions #theme{display:none}}
