@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:light;--bg:#f7f6f1;--panel:#fffefa;--text:#253b33;--muted:#657169;--border:#e2e5dc;--green:#245441;--soft:#eaf0e5;--gold:#927144;--hero:#e8edde;--sidebar:#f0f2e9;--shadow:0 12px 38px #263c3310}
:root[data-theme=dark]{color-scheme:dark;--bg:#151e1a;--panel:#1e2923;--text:#e6ecdf;--muted:#a5b1a7;--border:#344037;--green:#aac8a7;--soft:#2a3b2f;--gold:#c6a579;--hero:#253b2e;--sidebar:#19251e;--shadow:0 12px 38px #0002}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 'DM Sans',sans-serif}button,input,textarea{font:inherit}button,a,input,summary,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprites{position:absolute;width:0;height:0}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.mobile-brand{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:54px;line-height:1.1;letter-spacing:-1.2px}h2{font-size:31px;line-height:1.2}h3{font-size:29px;line-height:1.2}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);border-right:1px solid var(--border);padding:37px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:39px;line-height:1}.brand>svg{width:37px;height:37px;color:var(--green)}.brand-sub{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2.4px;margin-top:10px}.side-label{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin:54px 12px 17px}nav a{display:flex;align-items:center;gap:12px}.sidebar nav a{padding:13px 15px;margin:4px 0;border-radius:8px;font-size:14px;color:var(--muted)}nav a.active{background:var(--soft);color:var(--green);font-weight:600}.sidebar nav a.active{box-shadow:inset 3px 0 var(--green)}#fav-count{margin-left:auto;font-size:11px;background:var(--panel);padding:1px 7px;border-radius:5px}.side-bottom{margin-top:auto}.side-bottom p{padding:20px 12px;font-size:12px;color:var(--muted)}.side-bottom em{font-family:Georgia,serif}.side-bottom>small{font-size:8px;letter-spacing:1.4px;color:var(--muted);display:block;margin:23px 12px 0}.theme-open{display:flex;align-items:center;gap:10px}.side-bottom button{background:none;border:1px solid var(--border);width:100%;padding:12px;border-radius:8px;font-size:12px}.side-bottom button span{margin-left:auto}.workspace{margin-left:238px}.topbar{height:82px;border-bottom:1px solid var(--border);padding:0 48px;display:flex;align-items:center;justify-content:space-between}.desktop-breadcrumb{font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:22px}.edition{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.icon-button{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%}.avatar{width:33px;height:33px;display:grid;place-items:center;background:var(--soft);border-radius:50%;font-size:12px;color:var(--green)}main{max-width:1240px;margin:auto;padding:43px 48px 64px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:9px;margin-bottom:15px}.eyebrow:before{content:'';width:19px;height:1px;background:currentColor}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:30px}.page-heading p{color:var(--muted);margin-top:12px}.page-count{font-size:11px;color:var(--muted);white-space:nowrap}.hero{background:var(--hero);border:1px solid var(--border);border-radius:15px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;min-height:285px;margin-bottom:37px}.hero-copy{padding:32px 36px;z-index:1}.hero .eyebrow{color:var(--green);font-size:9px}.hero h2{font-size:40px;max-width:420px;line-height:1.08}.hero p{font-size:13px;color:var(--muted);max-width:350px;margin:13px 0 22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;background:var(--green);color:var(--panel);padding:12px 20px;border-radius:7px;font-size:12px;font-weight:600}.button svg{width:17px;height:17px}.hero-art{position:relative;overflow:hidden;display:grid;place-items:center;min-height:250px}.hero-art>svg{width:100%;height:100%;position:absolute;stroke:none;fill:none}.hero-art .art-ink{stroke:var(--green);stroke-width:1;opacity:.35}.hero-art .art-fill{fill:var(--green);opacity:.08}.hero-art span{position:absolute;bottom:20px;font-size:8px;letter-spacing:3px;color:var(--green)}.controls{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:23px}.tabs{display:flex;gap:4px;background:var(--sidebar);padding:4px;border:1px solid var(--border);border-radius:8px}.tabs button{background:transparent;border:0;border-radius:5px;padding:8px 13px;color:var(--muted);font-size:11px;white-space:nowrap}.tabs button.selected{background:var(--panel);color:var(--text);box-shadow:0 2px 5px #00000008}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:9px 13px;width:240px;color:var(--muted)}.search svg{width:17px}.search input{width:100%;background:transparent;border:0;outline:0;color:var(--text);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{font-size:24px}.section-heading span{font-size:10px;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.book-card{background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:22px;min-height:218px;position:relative;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}.book-card.available:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.book-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.book-emblem{width:37px;height:42px;border:1px solid var(--border);background:var(--soft);display:grid;place-items:center;border-radius:4px 8px 8px 4px;color:var(--green)}.book-emblem svg{width:18px}.tag{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}.book-card p{font-size:12px;color:var(--muted);margin-top:8px;margin-bottom:19px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:13px;margin-top:auto;font-size:10px;color:var(--muted)}.card-bottom a{color:var(--green);font-weight:600;display:flex;gap:6px;align-items:center}.card-bottom svg{width:15px;height:15px}.save{border:0;background:none;padding:6px;color:var(--muted)}.save.saved{color:var(--gold)}.save.saved svg{fill:var(--gold);stroke:var(--gold)}.prototype-note{font-size:11px;color:var(--muted);margin-top:23px}.empty{padding:55px 25px;text-align:center;border:1px dashed var(--border);border-radius:12px;color:var(--muted);grid-column:1/-1}.empty h2{color:var(--text);margin-bottom:10px}.empty .button{margin-top:20px}footer{border-top:1px solid var(--border);margin:0 48px;padding:22px 0;font-family:Georgia,serif;font-size:20px;display:flex;justify-content:space-between;color:var(--muted)}footer span{font:10px 'DM Sans',sans-serif}.mobile-brand,.mobile-nav{display:none}.back{display:inline-flex;gap:8px;font-size:12px;color:var(--muted);margin-bottom:25px}.back svg{transform:rotate(180deg);width:16px}.study-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.study-heading p{margin-top:12px;color:var(--muted)}.study-tools{display:flex;gap:8px;align-items:center}.study-tools button{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:9px 12px;display:flex;align-items:center;gap:6px;font-size:12px}.study-tools button.saved{color:var(--gold)}.study-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:28px;align-items:start}.reading{font-size:var(--reading-size,15px)}.idea{background:var(--hero);border:1px solid var(--border);border-radius:12px;padding:28px;margin-bottom:20px}.idea h2{font-size:30px;line-height:1.35;margin-bottom:18px}.idea .reference{font-size:11px;color:var(--green)}.reading>details{border:1px solid var(--border);border-radius:9px;background:var(--panel);margin-bottom:12px;overflow:hidden}.reading summary{cursor:pointer;list-style:none;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:500}.reading summary::-webkit-details-marker{display:none}.reading summary:after{content:'+';font-size:22px;font-weight:400;color:var(--muted)}.reading details[open] summary:after{content:'−'}.detail-body{padding:0 23px 23px;color:var(--muted);line-height:1.8}.detail-body p+p{margin-top:15px}.detail-body strong{color:var(--text);font-weight:600}.detail-body ul,.detail-body ol{padding-left:21px;margin:0}.detail-body li+li{margin-top:15px}.detail-body a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fact-list dt{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold)}.fact-list dd{margin:4px 0 0;color:var(--text)}.study-aside{position:sticky;top:24px}.side-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:23px;margin-bottom:16px}.side-card h3{font-size:24px;margin-bottom:15px}.side-card p{font-size:12px;color:var(--muted);margin-bottom:17px}.side-card a{display:block;font-size:12px;color:var(--muted);padding:7px 0}.side-card a:hover{color:var(--green)}.side-card .button{width:100%;font-size:11px}.progress-track{height:5px;background:var(--soft);border-radius:5px;margin-bottom:16px}.progress-track span{display:block;background:var(--green);height:100%;border-radius:5px}.application{display:flex;gap:11px;align-items:flex-start;margin:13px 0}.application input{margin-top:8px;accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.application span{display:block}.notes{width:100%;min-height:140px;resize:vertical;padding:13px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text)}.note-status{font-size:10px;display:block;margin-top:7px}.journey-card{padding:30px;background:var(--panel);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.journey-card p{color:var(--muted);margin-top:7px;font-size:13px}.journey-card .button{flex-shrink:0}dialog{width:min(430px,calc(100% - 36px));background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:15px;padding:28px;box-shadow:var(--shadow)}dialog::backdrop{background:#10271da8;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading .icon-button{font-size:22px}dialog p{color:var(--muted);font-size:13px;margin-top:10px}.theme-options{display:flex;gap:10px;margin:23px 0}.theme-options button{flex:1;padding:18px 8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:24px}.theme-options span{display:block;font-size:12px;margin-top:7px}.theme-options button.selected{border:2px solid var(--green);background:var(--soft)}dialog small{font-size:11px;color:var(--muted)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--text);color:var(--bg);padding:12px 20px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){main{padding-top:55px}.hero{min-height:315px}.hero-copy{padding:40px}.hero h2{font-size:45px}}
@media(max-width:1100px){.sidebar{width:205px;padding:30px 15px}.workspace{margin-left:205px}main{padding:30px}.topbar{padding:0 30px}.book-grid{grid-template-columns:repeat(2,1fr)}.study-layout{grid-template-columns:minmax(0,1fr)}.study-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.hero-copy{padding:28px}.hero h2{font-size:36px}.edition{display:none}}
@media(max-width:700px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:66px;padding:0 22px}.mobile-brand{display:block;font-size:33px}.desktop-breadcrumb{display:none}.top-actions{gap:12px}main{padding:29px 21px 34px}h1{font-size:43px}.page-heading{margin-bottom:24px}.page-heading p{font-size:13px}.page-count{display:none}.hero{grid-template-columns:1fr;min-height:0;margin-bottom:27px;position:relative}.hero-copy{padding:27px;position:relative;max-width:100%}.hero h2{font-size:35px;max-width:300px}.hero p{max-width:270px}.hero-art{display:none}.controls{flex-direction:column-reverse;align-items:stretch;gap:13px}.search{width:100%}.tabs{align-self:flex-start;width:100%}.tabs button{flex:1;padding:9px 7px;font-size:10px}.book-grid{gap:12px}.book-card{padding:16px;min-height:213px}.book-top{margin-bottom:23px}.book-card h3{font-size:26px}.book-card p{font-size:11px}.tag{font-size:7px}.book-emblem{width:30px;height:35px}.card-bottom{font-size:9px;gap:4px}.card-bottom a{font-size:10px}.section-heading h2{font-size:25px}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:var(--panel);border-top:1px solid var(--border);padding:9px 15px calc(9px + env(safe-area-inset-bottom));z-index:5}.mobile-nav a{flex:1;display:flex;flex-direction:column;gap:3px;font-size:9px;color:var(--muted);padding:5px;border-radius:8px}.mobile-nav a.active{color:var(--green)}.mobile-nav svg{width:20px;height:20px}body{padding-bottom:78px}footer{margin:0 21px;padding:18px 0;align-items:center}footer span{max-width:180px;text-align:right;line-height:1.5;font-size:9px}.study-heading{align-items:flex-start;gap:15px}.study-heading h1{font-size:49px}.study-heading p{font-size:12px}.study-tools{flex-wrap:wrap;justify-content:flex-end;max-width:133px}.study-tools button{padding:7px 9px;font-size:11px}.study-tools .save-label{display:none}.study-layout{gap:16px}.idea{padding:23px}.idea h2{font-size:28px}.reading summary{padding:17px;font-size:15px}.detail-body{padding:0 17px 20px}.fact-list{grid-template-columns:1fr}.study-aside{display:block}.journey-card{align-items:flex-start;flex-direction:column}#toast{bottom:95px;max-width:90%;width:max-content}.eyebrow{font-size:9px;letter-spacing:1.7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Reader controls scale every text level, including previously fixed labels. */
.reading{font-size:var(--reading-size,18px)}
.reading .idea h2{font-size:1.75em}.reading .reference{font-size:.875em}.reading .eyebrow{font-size:.75em}.reading summary{font-size:1.05em}.reading .fact-list dt{font-size:.75em}.reading .fact-list dd{font-size:1em}.reading .notes{font-size:1em}.reading .note-status{font-size:.75em}
.study-tools button{min-width:44px;min-height:44px;font-size:14px}.study-tools button:disabled{opacity:.4;cursor:default}
/* Keep secondary text comfortable even at the reader's smallest setting. */
.reading .reference{font-size:max(16px,.95em)}
.reading .eyebrow,.reading .fact-list dt,.reading .note-status{font-size:max(15px,.85em)}
.eyebrow{font-size:13px;letter-spacing:1.2px;flex-wrap:wrap}
.back,.prototype-note,.page-count,.section-heading span{font-size:14px}
.side-card p,.side-card a{font-size:16px}
.side-card .button,.button{font-size:14px}
.study-tools button{font-size:16px}
.desktop-breadcrumb{font-size:14px}
.side-label,.side-bottom>small{font-size:11px}
.side-bottom p,.side-bottom button{font-size:14px}
.edition{font-size:11px}
dialog p{font-size:16px}dialog small,.theme-options span{font-size:14px}
.hero .eyebrow{font-size:13px}
@media(max-width:700px){.page-heading p,.hero p,.study-heading p{font-size:15px}.book-card p{font-size:14px}.tag{font-size:10px}.card-bottom,.card-bottom a{font-size:12px}.card-bottom{flex-wrap:wrap;gap:8px}.search input{font-size:16px}.tabs button{font-size:12px}.mobile-nav a{font-size:12px}.prototype-note{font-size:13px}.side-card p,.side-card a{font-size:14px}.note-status{font-size:13px}.study-heading{flex-wrap:wrap}.study-tools{max-width:none}.reading .idea h2{font-size:1.6em}.reading summary{padding:18px;font-size:1.05em}}
@media(max-width:700px){.eyebrow,.hero .eyebrow{font-size:14px;letter-spacing:1px}.tag{font-size:13px;letter-spacing:.5px}.card-bottom,.card-bottom a{font-size:14px}.tabs button{font-size:14px;white-space:normal;line-height:1.4;min-height:44px}.mobile-nav a{font-size:14px}.prototype-note{font-size:15px}.section-heading span{font-size:14px}.side-card p,.side-card a{font-size:16px}.side-card .button{font-size:14px}.note-status{font-size:15px}footer span{font-size:13px;max-width:220px}footer{gap:20px}.hero p,.page-heading p,.study-heading p,.book-card p{font-size:16px}.book-top{gap:4px}.tag{overflow-wrap:anywhere}.book-card{min-width:0}}

.journey-card+.journey-card{margin-top:18px}
@media(max-width:700px){.study-heading .eyebrow::before{display:none}}

.account-link{border:1px solid var(--border);border-radius:7px;padding:9px 13px;font-size:14px;white-space:nowrap}.cloud-indicator{display:block;max-width:1240px;margin:auto;text-align:right;padding:8px 48px 0;color:var(--muted);font-size:14px}.cloud-indicator:empty{display:none}.account-card{max-width:760px;padding:28px}.account-card h2{margin-bottom:20px}.account-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.account-actions .button:disabled{opacity:.5;cursor:default}.conflict-card{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.conflict-card p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}.conflict-card .button{margin:8px 8px 0 0}@media(max-width:700px){.cloud-indicator{padding:8px 21px 0}.account-actions{flex-direction:column}.account-card{padding:23px}.mobile-nav a{font-size:13px}}
