@font-face{font-family:Frank;font-weight:400;font-display:swap;src:url(/fonts/frank-hebrew-400.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Frank;font-weight:400;font-display:swap;src:url(/fonts/frank-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2013-2026}
@font-face{font-family:Frank;font-weight:700;font-display:swap;src:url(/fonts/frank-hebrew-700.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Frank;font-weight:700;font-display:swap;src:url(/fonts/frank-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+2013-2026}
@font-face{font-family:Assist;font-weight:400;font-display:swap;src:url(/fonts/assistant-hebrew-400.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Assist;font-weight:400;font-display:swap;src:url(/fonts/assistant-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+2013-2026}
@font-face{font-family:Assist;font-weight:600;font-display:swap;src:url(/fonts/assistant-hebrew-600.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Assist;font-weight:600;font-display:swap;src:url(/fonts/assistant-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+2013-2026}

:root{
  --bg:#f7f5ef; --paper:#fffdf8; --ink:#1d2226; --soft:#5d6b72; --line:#dfe3df;
  --sea:#2f6f73; --glow:#3aa58a; --night:#0f1a1f; --night2:#163a3d;
  --accent1:#2f6f73; --accent2:#9a6458; --accent3:#4a5a86; --acc:var(--accent1);
  --fs:1.14rem;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0e1416; --paper:#121b1e; --ink:#e6ebe8; --soft:#93a3a6; --line:#25343a;
        --sea:#6fb3a6; --glow:#4cc29f; --accent1:#6fb3a6; --accent2:#d49c8f; --accent3:#9aaee0}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Frank,"Times New Roman",serif;font-size:var(--fs);line-height:1.8}
a{color:var(--acc)}
.b1{--acc:var(--accent1)} .b2{--acc:var(--accent2)} .b3{--acc:var(--accent3)}
.wrap{max-width:40rem;margin:0 auto;padding:0 16px}

/* top bar */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);font-family:Assist,sans-serif;font-size:.9rem}
.crumbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--soft);margin-inline-end:auto}
.crumbs a{color:var(--soft);text-decoration:none}
.crumbs a:hover{color:var(--acc)}
.install{font-family:Assist,sans-serif;font-weight:600;font-size:.85rem;border:1px solid var(--acc);color:var(--acc);
  background:transparent;border-radius:999px;padding:6px 14px;cursor:pointer;flex:none}
.progress{position:fixed;top:0;inset-inline:0;height:3px;z-index:6}
.progress span{display:block;height:100%;width:0;background:var(--acc);transition:width .1s linear;margin-inline-start:0}

/* hero */
.hero{position:relative;overflow:hidden;color:#e9f0ee;text-align:center;padding:72px 16px 120px;
  background:linear-gradient(180deg,#0f1a1f 0%,#12262c 50%,#163a3d 78%,#1d5650 100%)}
.hero .stars{position:absolute;inset:0;width:100%;height:100%;fill:#e9f0ee;opacity:.6}
.hero>*:not(svg){position:relative}
.kicker{font-family:Assist,sans-serif;font-weight:600;letter-spacing:.3em;font-size:.8rem;color:var(--acc);margin:0 0 8px}
.hero .kicker{color:#9cc7bd}
.hero h1{font-size:clamp(2.8rem,11vw,4.6rem);line-height:1.05;margin:0 0 18px}
.hero .lead{max-width:32rem;margin:0 auto 10px;font-size:1.1rem;color:#cfe3de}
.by{font-family:Assist,sans-serif;letter-spacing:.2em;font-size:.85rem;color:#9cc7bd;margin:0 0 26px}
.hero .sea{position:absolute;bottom:0;inset-inline:0;width:100%;height:90px}
.hero .sea path{fill:#0d2427} .hero .sea ellipse{fill:#3aa58a;opacity:.35;filter:blur(6px)}
.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}
.btn{display:inline-block;font-family:Assist,sans-serif;font-weight:600;text-decoration:none;padding:11px 22px;border-radius:999px;
  background:var(--acc);color:#fff}
.hero .btn{background:#3aa58a;color:#0b1b1d}
.btn.ghost{background:transparent;border:1px solid currentColor;color:var(--acc)}
.hero .btn.ghost{color:#e9f0ee}
.install.big{margin-top:6px;border-color:#9cc7bd;color:#cfe3de}
.hero .install:not([hidden])+.install{margin-inline-start:8px}

/* book cards */
.books{display:grid;gap:14px;margin:-60px 0 34px;position:relative}
.book{display:block;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:20px 20px 16px;border-inline-start:5px solid var(--acc);box-shadow:0 6px 24px rgba(0,0,0,.08)}
.book .num{display:block;text-align:center;font-family:Assist,sans-serif;font-size:.8rem;letter-spacing:.15em;color:var(--acc)}
.book .t{display:block;font-size:1.7rem;font-weight:700;margin:2px 0 6px}
.book .d{display:block;color:var(--soft);font-size:1rem;line-height:1.65}
.book .go{display:block;margin-top:10px;font-family:Assist,sans-serif;font-weight:600;font-size:.9rem;color:var(--acc)}
.about h2,.tochead{font-family:Assist,sans-serif;font-weight:600;letter-spacing:.25em;font-size:.85rem;color:var(--acc);margin:28px 0 8px}
.about p{margin:0 0 12px}

/* book page */
.bookhead{text-align:center;padding:40px 0 10px}
.bookhead h1{font-size:clamp(2.2rem,9vw,3.2rem);margin:0 0 12px;line-height:1.15}
.bookhead .lead{color:var(--soft);margin:0 auto;max-width:32rem}
.toc{list-style:none;padding:0;margin:0 0 30px}
.toc a{display:flex;align-items:baseline;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.toc a:hover .ct{color:var(--acc)}
.toc .n{font-family:Assist,sans-serif;font-weight:600;color:var(--acc);width:1.6em;flex:none}
.toc .ct{flex:1}
.toc .m{font-family:Assist,sans-serif;font-size:.8rem;color:var(--soft)}
.others{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;font-family:Assist,sans-serif;font-size:.9rem;margin-bottom:30px}

/* chapter */
.read{padding-bottom:20px}
.chhead{text-align:center;padding:44px 0 6px}
.chhead h1{font-size:clamp(1.9rem,7.5vw,2.6rem);line-height:1.2;margin:0}
.chhead h1::after{content:"";display:block;width:56px;height:2px;background:var(--glow);margin:18px auto 0}
.motto{margin:22px auto 30px;max-width:30rem;text-align:center;border:0;padding:0}
.motto p{margin:0;font-size:1.05rem;line-height:1.6}
.motto em{font-style:normal}
.motto cite{display:block;margin-top:6px;font-style:normal;font-family:Assist,sans-serif;font-size:.85rem;color:var(--soft)}
article p{margin:0;text-indent:1.4em;text-align:start;hyphens:none}
article p.first{text-indent:0;margin-top:4px}
article p.set{text-indent:0;text-align:center;margin:14px 0}
article em{font-style:normal;font-family:Assist,sans-serif;font-size:.95em;color:color-mix(in srgb,var(--acc) 70%,var(--ink))}
article p.set strong{font-family:Assist,sans-serif;color:var(--glow)}
.brk{text-align:center!important;text-indent:0!important;color:var(--glow);margin:22px 0!important;font-size:.9rem}
.end{text-align:center!important;text-indent:0!important;margin-top:40px!important;font-family:Assist,sans-serif;font-weight:600;letter-spacing:.3em;color:var(--acc)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:44px 0 10px}
.pager a{display:block;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.98rem;line-height:1.4}
.pager small{display:block;font-family:Assist,sans-serif;color:var(--acc);font-size:.78rem;margin-bottom:2px}
.pager .next{text-align:left}

.foot{text-align:center;font-family:Assist,sans-serif;font-size:.85rem;color:var(--soft);padding:26px 16px calc(30px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:20px}
.foot p{margin:4px 0}
.foot a{color:var(--soft)}
.toast{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));inset-inline:16px;max-width:28rem;margin:0 auto;background:var(--night);color:#e9f0ee;
  font-family:Assist,sans-serif;font-size:.92rem;padding:12px 16px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.3);z-index:9}
.toast button{float:left;background:none;border:0;color:#9cc7bd;font:inherit;cursor:pointer}
@media (min-width:720px){body{--fs:1.2rem}article p{text-align:justify}.books{grid-template-columns:repeat(3,1fr)}.book .t{font-size:1.5rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
