
:root{color-scheme:light;--bg:#f3f0e8;--paper:#fffefa;--ink:#202a35;--muted:#617080;--accent:#146b64;--accent2:#c77935;--line:#ded8ca;--shadow:0 16px 40px rgba(40,47,54,.09);--reader-size:19px;--toolbar:rgba(255,254,250,.94)}
html[data-theme="dark"]{color-scheme:dark;--bg:#101820;--paper:#18242d;--ink:#e8edf0;--muted:#a9b6be;--accent:#72d0c2;--accent2:#efb774;--line:#31414b;--shadow:0 16px 42px rgba(0,0,0,.28);--toolbar:rgba(24,36,45,.95)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Vazirmatn","IRANSans","Tahoma","Segoe UI",sans-serif;line-height:2;font-size:var(--reader-size);transition:background .2s,color .2s}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}
button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:.42rem .75rem;cursor:pointer;transition:transform .12s,border-color .12s}
button:hover{border-color:var(--accent);transform:translateY(-1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.top-progress{height:4px;position:fixed;z-index:50;inset:0 0 auto}.top-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.toolbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem max(1rem,calc((100vw - 1400px)/2));background:var(--toolbar);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(0,0,0,.04)}
.toolbar .group{display:flex;align-items:center;gap:.3rem;padding-inline-end:.55rem;margin-inline-end:.25rem;border-inline-end:1px solid var(--line)}
.toolbar button{font-size:.88rem;line-height:1.5;white-space:nowrap}.toolbar .search{display:flex;align-items:center;gap:.35rem;flex:1 1 260px;min-width:200px}
.toolbar input[type="search"]{width:100%;min-width:120px;padding:.38rem .65rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px}
.toolbar select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:.3rem}
#search-status,.status{color:var(--muted);font-size:.78rem;white-space:nowrap}
.hero{background:radial-gradient(ellipse at 80% 0%,rgba(20,107,100,.18),transparent 54%),linear-gradient(145deg,var(--paper),var(--bg));border-bottom:1px solid var(--line);padding:2.6rem 1.25rem 2rem}
.hero-inner{max-width:1100px;margin:auto}.kicker{color:var(--accent);font-weight:700;font-size:.82rem;letter-spacing:.04em}
.hero h1{font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.3;margin:.4rem 0}.hero p{max-width:760px;color:var(--muted);margin:.3rem 0}
.hero .chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem}.chip{border:1px solid var(--line);border-radius:999px;padding:.15rem .75rem;color:var(--muted);font-size:.82rem;background:var(--paper)}
.reader-layout{max-width:1400px;margin:1.5rem auto 5rem;padding:0 1rem;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:1.4rem;align-items:start}
#book{min-width:0}.book-unit{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(1rem,3vw,3rem);margin:0 0 1.5rem;box-shadow:var(--shadow);scroll-margin-top:88px;overflow-wrap:anywhere}
.book-unit section.chapter,.book-unit .chapter-part{display:block}.book-unit h1,.book-unit h2,.book-unit h3,.book-unit h4{line-height:1.55;scroll-margin-top:100px}
.book-unit h1{font-size:1.85em;margin:.5em 0 .8em;color:var(--accent)}.book-unit h2{font-size:1.5em;margin:1.5em 0 .6em}
.book-unit h3{font-size:1.22em;margin:1.3em 0 .5em;color:var(--accent)}.book-unit h4{font-size:1.08em;margin:1.2em 0 .4em}
.book-unit p{margin:.7em 0;text-align:justify;text-wrap:pretty}.book-unit blockquote{border-inline-start:4px solid var(--accent2);margin:1.5rem 0;padding:.8rem 1rem;background:color-mix(in srgb,var(--accent2) 8%,var(--paper));border-radius:10px}
.book-unit blockquote p{margin:.2rem 0}.book-unit cite{font-style:italic}
.book-unit figure{margin:1.25rem auto;padding:.8rem 1rem;max-width:850px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--paper));text-align:center}
.book-unit figcaption,.book-unit caption{color:var(--muted);font-size:.9em;line-height:1.8}
.book-unit table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.88em;line-height:1.8}
.book-unit table caption{text-align:right;padding:.5rem;font-weight:700;color:var(--ink)}
.book-unit th,.book-unit td{padding:.5rem .65rem;border:1px solid var(--line);vertical-align:top}.book-unit th{background:color-mix(in srgb,var(--accent) 10%,var(--paper))}
.book-unit .math{font-family:"Cambria Math","Times New Roman",serif;direction:ltr;unicode-bidi:isolate;white-space:nowrap}.book-unit [dir="ltr"]{unicode-bidi:isolate}
.source-range{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.1rem .65rem;margin-bottom:.8rem;color:var(--muted);font-size:.72em;line-height:1.7}
.chapter-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem;font-size:.87em}.chapter-nav a{padding:.25rem .5rem}
.toc-panel{position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}
.toc-panel h2{font-size:1.05rem;margin:.2rem 0 .7rem}.toc-panel ol{padding-inline-start:1.4rem;margin:0}.toc-panel li{margin:.28rem 0;font-size:.83rem;line-height:1.65}.toc-panel a{color:var(--ink)}.toc-panel a.active{color:var(--accent);font-weight:800}
.toc-note{font-size:.76rem;color:var(--muted);border-top:1px solid var(--line);margin-top:.8rem;padding-top:.7rem}
.mark-search{background:#ffe27a;color:#302900;border-radius:3px;padding:0 .05em}.mark-search.current{outline:2px solid #cc7730}
.help{font-size:.78rem;color:var(--muted);padding:.75rem 1rem;border:1px dashed var(--line);border-radius:10px;margin:.5rem 1rem}
footer.page-footer{max-width:1100px;margin:0 auto 2rem;padding:0 1rem;color:var(--muted);font-size:.8rem;text-align:center}[hidden]{display:none!important}
@media(max-width:900px){.reader-layout{grid-template-columns:1fr}.toc-panel{position:static;max-height:none;order:-1}.toc-panel ol{columns:2}.toolbar{padding:.55rem .7rem}.book-unit{border-radius:12px}}
@media(max-width:560px){body{line-height:1.9}.toolbar{gap:.3rem}.toolbar .group{padding-inline-end:.3rem;margin-inline-end:0}.toolbar button{padding:.33rem .48rem;font-size:.78rem}.toolbar .search{order:3;flex-basis:100%}.toc-panel ol{columns:1}.hero{padding-top:1.7rem}.book-unit{padding:1rem}.book-unit p{text-align:start}.chapter-nav{font-size:.78em}}
@media print{.toolbar,.toc-panel,.top-progress,.chapter-nav,.hero .chips{display:none!important}.reader-layout{display:block;margin:0;padding:0}.book-unit{box-shadow:none;border:0;padding:0;break-after:page}.hero{padding:0}.book-unit figure,.book-unit table{break-inside:avoid}body{background:white;color:black;font-size:12pt}}


.book-cover{position:relative;width:min(100%,650px);aspect-ratio:439.37/666.14;margin:0 auto;background:#e42a13;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.18);color:#fff;font-family:Tahoma,Arial,sans-serif}.cover-panel{position:absolute;left:4.5%;top:14.8%;width:95.5%;height:70.5%;border-left:2px solid rgba(255,255,255,.95);background:linear-gradient(180deg,#44294d 0%,#672c4a 46%,#ae2c2b 100%)}.cover-author{position:absolute;top:14%;right:8%;left:7%;height:15%;display:flex;align-items:center;justify-content:flex-end;font-size:clamp(18px,3vw,28px);border-bottom:2px solid rgba(255,255,255,.9)}.book-cover h1{position:absolute;top:31%;right:7%;left:7%;margin:0;color:#fff;font-size:clamp(38px,6.7vw,69px);font-weight:400;line-height:1.14;text-align:right}.cover-publisher{position:absolute;right:8%;bottom:4.5%;font-family:Georgia,serif;font-size:clamp(18px,3vw,28px);color:#fff}.cover-mark{font-size:1.1em;margin-inline-end:.22em}.book-unit figure{display:flex;flex-direction:column;align-items:center;gap:.6rem}.book-unit figure img{display:block;max-width:min(100%,760px);max-height:80vh;height:auto;object-fit:contain;margin:auto}.book-unit math{direction:ltr;unicode-bidi:isolate;font-family:"Cambria Math","STIX Two Math",serif;font-size:1.03em}.book-unit .equation math[display="block"]{display:block;text-align:center;margin:.7rem auto}.book-unit .equation{direction:ltr;text-align:center;overflow-x:auto}.book-unit figure figcaption{width:100%}
@media print{.hero{padding:0;background:none;border:0}.book-cover{width:100%;max-width:none;height:100vh;aspect-ratio:auto;box-shadow:none;break-after:page}.book-cover h1{font-size:48pt}.cover-author{font-size:20pt}.cover-publisher{font-size:18pt}.book-unit figure{break-inside:avoid}.book-unit figure img{max-height:75vh;max-width:100%}.book-unit math{font-size:11pt}}

/* library mobile */
@media screen and (max-width:820px){
  .book-unit .translation-segment > math,.book-unit .equation,.book-unit table{display:block;max-width:100%;overflow-x:auto}
  .book-unit .translation-segment > math{direction:ltr}
  .book-unit{overflow-x:auto}
  .library-reader{width:calc(100% - 1.2rem)}
 }