:root{--ink:#293d35;--green:#284e40;--muted:#65746b;--line:#e2e5dc;--paper:#fffefa;--gold:#927343;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:#f4f3ed;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
button,select,textarea,input{font:inherit}
button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:9px 16px;background:var(--paper);color:var(--ink);transition:background .15s,border-color .15s}
button:hover{background:#e9eee6;border-color:#c4d0c2}
button:disabled{opacity:.45;cursor:default}
button.active,.primary{background:var(--green);color:#fff;border-color:var(--green)}
a{color:var(--green);text-underline-offset:4px}
a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b49559;outline-offset:4px}
.shell{max-width:860px;margin:auto;padding:30px 28px 56px}
.brand{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #d9dfd3;padding:0 0 20px}
.logo{font-family:Georgia,'Batang',serif;font-size:22px;font-weight:600;letter-spacing:-.7px}
.brand small,.muted{color:var(--muted);font-size:13px}
.intro{position:relative;padding:44px 0 30px}
.eyebrow{display:block;font-size:11px;letter-spacing:1.8px;color:var(--gold);font-weight:700}
h1{font-family:Georgia,'Batang',serif;font-size:clamp(29px,4.7vw,42px);font-weight:600;line-height:1.5;letter-spacing:-1.3px;margin:13px 0 18px;max-width:700px;text-wrap:balance}
h2{font-size:17px;letter-spacing:-.4px;margin:0 0 18px;line-height:1.6}
h3{font-size:15px;margin:0;letter-spacing:-.3px}
#ref{font-size:14px;font-weight:600;margin-right:8px}
.pill{display:inline-block;vertical-align:middle;font-size:11px;color:var(--green);background:#e4ebdf;padding:3px 11px;border-radius:20px}
.tabs{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.language-switch{display:flex;background:#e6e9e1;padding:4px;border-radius:12px;gap:3px}
.language-switch button{min-height:40px;padding:7px 19px;background:transparent;border-color:transparent;font-size:13px}
.language-switch button.active{background:var(--paper);color:var(--green);box-shadow:0 2px 5px #233e3210;font-weight:700;border-color:#dce2d5}
.page-actions{display:flex;gap:8px}
.page-actions button{font-size:12px;padding:8px 13px;background:transparent}
#todayBtn{color:var(--green);font-weight:700}
.reading-meta{padding:0 3px 19px}
.note{font-size:12px;color:var(--muted);line-height:1.8}
.reading-meta p{margin:3px 0}
#readingPlan{color:#405c4d}
#updateStatus{font-size:11px}
.layout{display:block}
.reading{background:var(--paper);padding:38px 42px;border:1px solid #dfe4d8;border-radius:22px;box-shadow:0 10px 35px #2b3e2c04;counter-reset:section}
.section{padding:30px 0;border-bottom:1px solid var(--line)}
.section:first-child{padding-top:0}
.section:last-child{border:0;padding-bottom:0}
.section h2{display:flex;align-items:center;gap:11px}
.section h2:before{counter-increment:section;content:counter(section,decimal-leading-zero);font-family:Georgia,serif;font-size:12px;letter-spacing:.5px;color:var(--gold);font-weight:400}
.section>p{margin:13px 0;font-size:16px;line-height:1.95}
.section>p.note{font-size:12px}
.passage{font-family:Georgia,'Batang',serif;font-size:19px;line-height:2.1;letter-spacing:-.2px}
.passage p{margin:15px 0}
.passage sup{font:11px -apple-system,system-ui,sans-serif;color:var(--gold);margin-right:9px}
.version-links{padding:0 0 17px;border-bottom:1px dashed var(--line);margin-bottom:24px}
.read-link{display:inline-flex;align-items:center;min-height:44px;border:1px solid #dce4d5;border-radius:9px;padding:8px 12px;color:var(--green);font-size:12px;text-decoration:none;margin:4px 8px 4px 0;background:#f6f8f1}
.read-link:hover{background:#edf2e8}
details{margin-top:12px}
summary{cursor:pointer;font-size:12px;color:var(--muted);padding:6px 0;min-height:36px}
blockquote{margin:0;border-left:3px solid #ad9360;border-radius:0 12px 12px 0;padding:20px 24px;background:#f3f2e8;font-family:Georgia,'Batang',serif;font-size:19px;line-height:1.95}
ol{padding-left:24px;margin:0}
li{padding-left:5px;margin:14px 0;font-size:16px}
li::marker{color:var(--gold);font-size:13px;font-weight:600}
.nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:20px 0 30px}
.nav button{font-size:12px;background:transparent;border-color:transparent;padding:8px}
.nav .muted{font-size:11px;font-variant-numeric:tabular-nums}
.panel{border:1px solid var(--line);border-radius:18px;padding:26px 30px;background:#e9eee5;margin-bottom:18px}
.panel.white{background:var(--paper)}
.journal{border-top:3px solid #bdcbaa}
.journal h2{font-family:Georgia,'Batang',serif;font-size:22px;font-weight:600;margin:7px 0 8px}
.journal>p.muted{margin:0 0 20px}
label{display:block;font-size:12px;font-weight:600;margin:12px 0 8px}
select,textarea{width:100%;border:1px solid #dce2d5;border-radius:11px;background:#fafbf6;padding:15px;color:var(--ink)}
textarea{min-height:170px;resize:vertical;line-height:1.9;font-size:15px}
textarea::placeholder{color:#798379}
.wide{width:100%;margin-top:10px}
#done{background:var(--green);color:white;border-color:var(--green);font-size:14px;min-height:48px}
#done:hover{background:#345e4c}
#done[aria-pressed=true]{background:#e7eee1;color:var(--green);border-color:#c5d3bc}
#export{background:transparent;font-size:12px;border-color:transparent;color:var(--muted);margin-top:4px}
.library{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px}
.entry{text-align:left;padding:20px;border-radius:14px}
.entry small{display:block;font-size:11px;opacity:.85}
.entry strong{display:block;font-size:15px;margin:7px 0;line-height:1.6}
.hidden{display:none!important}
aside{margin-top:28px}
aside .panel.white{background:transparent;border:none;border-left:2px solid #c8d3bd;border-radius:0;padding:4px 0 4px 20px}
aside .muted{margin:8px 0}
aside .note{margin:8px 0 0}
.footer{border-top:1px solid var(--line);padding-top:22px;margin-top:32px;font-size:11px;color:var(--muted);line-height:1.9}
#error{color:#9a3b2e;font-size:13px;margin:0}
@media(max-width:600px){.shell{padding:22px 18px 36px}.brand{padding-bottom:18px}.logo{font-size:20px}.brand small{font-size:10px}.intro{padding:30px 0 25px}h1{letter-spacing:-1px;font-size:30px;margin-top:12px}.tabs{gap:12px}.language-switch{width:100%}.language-switch button{flex:1}.page-actions{width:100%;gap:8px}.page-actions button{flex:1}.reading{padding:26px 22px;border-radius:17px}.section{padding:26px 0}.section>p,li{font-size:15px}.passage{font-size:18px;line-height:2.05}.passage p{margin:15px 0}blockquote{font-size:18px;padding:17px 19px}.panel{padding:23px 22px}.library{grid-template-columns:1fr}.reading-meta{padding-bottom:16px}.nav{margin-bottom:24px}textarea{font-size:16px}.footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
