/* Study book reader. Everything is scoped to .bk so it cannot touch the rest of the site. */
.bk{--ink:#1d2733;--ink2:#4a5666;--mute:#8a95a3;--line:#d9dee5;--card:#fff;--brand:#0f766e;--brand2:#0b5a54;
--a1:#0f766e;--a2:#2563eb;--a3:#d97706;--a4:#e11d48;--a5:#15803d;--a6:#7c3aed;
--t1:#d9f1ee;--t2:#dbe7fd;--t3:#fdebcf;--t4:#fde0e7;--t5:#dcf3e2;--t6:#ebe2fc;
--g1:#b91c1c;--g2:#ea580c;--g3:#d4a017;--g4:#65a30d;--g5:#15803d;--sea:#e6f1fb;--berg:#cfe3f7;--tip:#f4f9ff;--hl:#fff7e0;--hlb:#e8b931;
font:18px/1.75 Georgia,"Iowan Old Style","Palatino Linotype",serif;color:var(--ink);max-width:920px;margin:0 auto}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bk{--ink:#e8edf2;--ink2:#b3bdc9;--mute:#7b8896;--line:#2c3947;--card:#18212b;--brand:#45c4b6;--brand2:#7fe0d4;
--a1:#2fb5a6;--a2:#6a9bff;--a3:#f0a53a;--a4:#ff6b8b;--a5:#4ccf7a;--a6:#a98bff;--t1:#14312f;--t2:#172844;--t3:#3a2c14;--t4:#3d1b27;--t5:#15301f;--t6:#2a2044;--sea:#12263a;--berg:#1d3b57;--tip:#27506f;--hl:#2d2712;--hlb:#c79a1e}}
:root[data-theme="dark"] .bk{--ink:#e8edf2;--ink2:#b3bdc9;--mute:#7b8896;--line:#2c3947;--card:#18212b;--brand:#45c4b6;--brand2:#7fe0d4;
--a1:#2fb5a6;--a2:#6a9bff;--a3:#f0a53a;--a4:#ff6b8b;--a5:#4ccf7a;--a6:#a98bff;--t1:#14312f;--t2:#172844;--t3:#3a2c14;--t4:#3d1b27;--t5:#15301f;--t6:#2a2044;--sea:#12263a;--berg:#1d3b57;--tip:#27506f;--hl:#2d2712;--hlb:#c79a1e}
.bkbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}.bkbar i{display:block;height:100%;width:0;background:#0f766e}
.bk .cover{margin:6px 0 22px;padding:44px 30px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#0b5a54 0%,#0f766e 45%,#2563eb 130%);position:relative;overflow:hidden}
.bk .cover:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.bk .cover .kicker{font:600 13px system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.bk .cover .ctitle{font:800 46px/1.08 system-ui,sans-serif;margin:12px 0 6px;color:#fff}
.bk .cover .csub{font:500 24px/1.25 system-ui,sans-serif;margin:0 0 20px;color:#fff}
.bk .cover p{font:15px system-ui,sans-serif;color:#fff;opacity:.9;margin:0}
.bk .ch-head{margin:10px 0 22px;padding-bottom:20px;border-bottom:3px solid var(--brand)}
.bk .ch-num{font:700 13px system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.bk .ch-title{font:800 36px/1.15 system-ui,sans-serif;margin:8px 0 14px;letter-spacing:-.01em;color:var(--ink)}
.bk .lead{font:italic 19px/1.6 Georgia,serif;color:var(--ink2);margin:0}
.bk .meta{font:14px system-ui,sans-serif;color:var(--mute);margin-top:12px}
.bk .onpage{margin:0 0 24px;border:1px solid var(--line);border-radius:12px;background:var(--card);font:15px system-ui,sans-serif}
.bk .onpage summary{cursor:pointer;padding:12px 16px;font-weight:700;color:var(--ink)}
.bk .onpage nav{padding:0 16px 12px;display:flex;flex-direction:column}
.bk .onpage a{padding:4px 0;color:var(--ink2);text-decoration:none}.bk .onpage a:hover{color:var(--brand)}.bk .onpage a.s2{padding-left:18px;font-size:14px}
.bk h2,.bk h3,.bk h4{font-family:system-ui,sans-serif;line-height:1.25;color:var(--ink)}
.bk h2{font-size:28px;margin:54px 0 8px;padding-top:12px;color:var(--brand2);border-top:1px solid var(--line)}
.bk h3{font-size:21px;margin:34px 0 6px}.bk h4{font-size:17px;margin:26px 0 4px;color:var(--ink2)}
.bk p{margin:.8em 0}.bk ul,.bk ol{padding-left:1.3em;margin:.7em 0}.bk li{margin:.28em 0}.bk li::marker{color:var(--brand)}.bk li ul{margin:.2em 0}
.bk .fig{margin:26px -8px;padding:14px 8px 10px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.bk .fig-svg rect[rx],.bk .fig-svg path[fill^="var(--t"]{filter:drop-shadow(0 1px 1.5px rgba(20,30,45,.16))}
.bk .fig figcaption{font:13px/1.45 system-ui,sans-serif;color:var(--mute);margin:8px 6px 0;padding-top:8px;border-top:1px dashed var(--line)}.bk .fig figcaption b{color:var(--brand);margin-right:6px}
.bk .fig-svg{display:block;width:100%;min-width:600px;height:auto;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.bk .callout{margin:24px 0;padding:14px 18px 12px;border-radius:12px;border-left:5px solid var(--brand);background:var(--t1);font-family:system-ui,sans-serif;font-size:16px;line-height:1.6}
.bk .callout .ct{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand2)}.bk .callout p{margin:.2em 0 0}
.bk .callout.key{background:var(--hl);border-color:var(--hlb)}.bk .callout.key .ct{color:var(--a3)}.bk .callout.think{background:var(--t2);border-color:var(--a2)}.bk .callout.think .ct{color:var(--a2)}
.bk .tbl{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.bk table{border-collapse:collapse;width:100%;font:14.5px/1.5 system-ui,sans-serif;min-width:480px}
.bk th{background:var(--brand);color:#fff;text-align:left;padding:10px 12px;font-weight:600}.bk td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:top}
.bk tbody tr:nth-child(even) td{background:rgba(127,127,127,.06)}
.bk .pager{display:flex;gap:12px;flex-wrap:wrap;margin:44px 0 8px;font-family:system-ui,sans-serif}
.bk .toclist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.bk .toclist a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink);font-family:system-ui,sans-serif}
.bk .toclist a:hover{border-color:var(--brand)}.bk .toclist b{display:block;color:var(--brand);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.bk .toclist strong{display:block;font-size:19px;margin:4px 0}.bk .toclist span{color:var(--ink2);font-size:14.5px}
.bk .about{font:14.5px/1.6 system-ui,sans-serif;color:var(--ink2);margin-top:36px}
.bk .pg-head{margin:8px 0 18px;padding-bottom:12px;border-bottom:3px solid var(--brand)}
.bk .pg-sec{font:700 24px/1.25 system-ui,sans-serif;margin-top:6px;color:var(--ink)}
.bk .onpage summary em{font-weight:400;color:var(--mute);font-style:normal}.bk .onpage a.on{color:var(--brand);font-weight:700}
.bk .pgno{font:13.5px system-ui,sans-serif;color:var(--mute);text-align:center;margin-top:34px}
.bk .pager .btn{flex:1 1 220px;text-align:center}
@media(max-width:700px){.bk{font-size:16.5px}.bk .cover{padding:32px 20px}.bk .cover .ctitle{font-size:34px}.bk .cover .csub{font-size:20px}.bk .ch-title{font-size:28px}.bk h2{font-size:24px}.bk .fig{margin:22px -4px}}
@media print{body *{display:none!important}body:before{content:"This book can only be read on screen.";display:block;font:20px system-ui}}
.bk [hidden]{display:none!important}
