/* Textbook edition 2. Shared HTML layout; all assets work offline. */
:root{--blue:#174b70;--red:#a63a32;--ink:#20303f;--muted:#536474;--line:#d6dfe6;--wash:#f5f7f9;--soft:#eaf0f5;font-family:'Segoe UI',Arial,sans-serif;line-height:1.75}
body{background:#fcfcfa}.book-header{background:#153e5b;border-bottom:3px solid #b88746;padding:16px max(24px,calc((100vw - 1500px)/2));min-height:76px}.book-header>a{max-width:760px}.book-header span{letter-spacing:.02em}.book-layout{max-width:1500px;grid-template-columns:270px minmax(0,1fr)}.book-nav{background:#f3f6f8;padding:24px 22px}.book-nav a{border-radius:3px}.book-nav a:hover{background:#e4edf3}.book-nav a.current{border-color:#b88746}.book-main{padding:38px clamp(24px,4vw,64px) 80px;max-width:1120px;background:#fff;box-shadow:1px 0 var(--line)}.institution{font-size:.8rem;color:var(--blue);line-height:1.5;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:27px;font-weight:650}.institution span{font-weight:400;color:var(--muted)}h1{font-family:Georgia,'Times New Roman',serif;font-size:2.3rem;line-height:1.2;letter-spacing:-.02em}h2{border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:54px}h3{font-size:1.1rem}.lead{color:#425362;font-size:1.08rem}.lesson-meta{display:block;border-left:3px solid #b88746;padding:8px 14px;background:#f7f5f0}.eyebrow{letter-spacing:.08em;color:#8e512c}.book-main>section{scroll-margin-top:18px}.book-main article+article{margin-top:32px}.book-foot{border-top:1px solid var(--line);padding-top:20px}.nav-toggle{display:none}.formula-index{background:#f5f7f9;border:1px solid var(--line);padding:12px 16px;margin:20px 0;font-size:.84rem}.formula-index ol{columns:2;column-gap:30px;padding-left:23px}.formula-index li{break-inside:avoid;margin:7px 0}.formula-index a{text-decoration:none}.formula{padding:16px 18px 12px;border:1px solid var(--line);border-radius:4px;background:#fafbfc;scroll-margin-top:24px;min-width:0}.equation-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:20px;align-items:center}.equation-row .math{min-width:0;padding:7px 0}.formula-number{font-size:.86rem;white-space:nowrap;font-variant-numeric:tabular-nums;text-decoration:none;border-radius:3px;padding:5px 2px}.formula-number:hover{text-decoration:underline}.katex-display{text-align:center;margin:.5em 0}.formula figcaption{padding:8px 0 0;margin:0;font-size:.86rem;line-height:1.65;color:#475967}.formula:target{outline:3px solid #b88746;outline-offset:3px;background:#fffaf0}.formula-tools{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:7px;font-size:.7rem}.formula .copy-tex{position:static;display:inline-block;margin:0;border-radius:3px;padding:3px 9px}.formula-permalink{color:var(--muted)}.inline-math{white-space:normal}.inline-math>.katex{font-size:1.08em}.derivation-steps{padding-left:26px}.derivation-steps>li{padding-left:8px;margin:20px 0}.derivation-steps>li::marker{color:var(--blue);font-weight:700}.derivation-steps .formula{margin:15px 0}.applicability{border-left:3px solid #b88746;padding:14px 18px;background:#faf7f0;font-size:.89rem}.math::after{display:none!important}
.code-block{border:1px solid #cad6df;border-radius:5px;margin:20px 0;overflow:hidden}.code-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 14px;background:#eaf0f5;font-size:.73rem;color:#34546c}.copy-code{border:1px solid #b8c9d7;border-radius:3px;background:white;color:var(--blue);padding:4px 9px;cursor:pointer;flex-shrink:0}.code-block pre{border:0;margin:0;background:#f8fafc;padding:20px;font-size:.78rem;tab-size:4}.python-code .c,.python-code .c1{color:#516c53!important;font-style:italic}.python-code .k,.python-code .kn,.python-code .kd{color:#7b2f82!important;font-weight:650}.python-code .s,.python-code .s1,.python-code .s2,.python-code .sd{color:#8f3728!important}.python-code .nb,.python-code .nf{color:#125b91!important}.python-code .mi,.python-code .mf{color:#805818!important}.python-code .o{color:#7d374e!important}.copy-status{font-size:.75rem;color:var(--muted)}.home-main{max-width:1180px}.home-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;border:0;background:#edf2f6;border-radius:5px;padding:24px}.home-summary strong{font-size:1.5rem}.home-summary span{display:block;line-height:1.5;margin-top:5px}.reading-route h2{font-size:1.2rem;margin-top:35px}.reading-route ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:0;counter-reset:route}.reading-route li{margin:0;counter-increment:route;font-size:.83rem}.reading-route li::before{content:'0' counter(route);display:block;color:#a36e34;font-weight:700;font-size:1.1rem;margin-bottom:6px}.reading-route strong{display:block;color:var(--blue)}.reading-route span{display:block;color:var(--muted);line-height:1.6;margin-top:6px}.home-tools{border:1px solid var(--line);padding:15px;background:#fff;border-radius:5px}.home-tools input{min-width:160px}.book-module li a{background:#fff}.book-module h3{line-height:1.5}.book-module h3 .toolbar-info{white-space:nowrap}.note,.result{border-radius:0 4px 4px 0}.result{border-color:#b88746;background:#fcf8ef}.example-card{background:#fff}.example-card h2{border:0;padding:0}.book-nav .nav-content>nav a[aria-current=location]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1100px){.book-layout{grid-template-columns:230px minmax(0,1fr)}.book-main{padding:30px}.book-header{padding:16px 24px}.widget-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:780px){:root{font-size:16px}.book-header{padding:14px 18px;min-height:66px}.book-header a{font-size:.94rem}.book-layout{display:block}.book-nav{padding:12px 18px;height:auto;position:static}.nav-toggle{display:block;border:1px solid #b9cad7;background:white;color:var(--blue);padding:9px 13px;border-radius:4px;width:100%;text-align:left;font-weight:600}.nav-toggle::after{content:'＋';float:right}.nav-toggle[aria-expanded=true]::after{content:'−'}.nav-toggle:not([aria-expanded=true])+.nav-content{display:none}.nav-content{padding-top:12px}.book-main,.home-main{padding:25px 18px 55px}.institution{font-size:.74rem;margin-bottom:22px;padding-bottom:15px}h1{font-size:1.95rem}.lead{font-size:1rem}.home-summary{grid-template-columns:1fr 1fr;gap:20px;padding:18px}.home-summary strong{font-size:1.3rem}.reading-route ol{grid-template-columns:1fr 1fr;gap:20px}.home-tools{padding:12px;gap:9px}.home-tools .btn{font-size:.78rem;padding:7px 10px}.formula{padding:12px 10px}.equation-row{gap:10px}.formula-number{font-size:.73rem}.formula .katex{font-size:.98em}.formula-tools{font-size:.68rem}.formula-index ol{columns:1}.derivation-steps{padding-left:20px}.derivation-steps>li{padding-left:1px}.code-toolbar{align-items:flex-start;font-size:.7rem;padding:10px;gap:8px}.code-block pre{padding:14px;font-size:.75rem}.book-nav .nav-content>nav{display:block}.book-nav .nav-content>nav a{padding:8px 0}.femm-figure figcaption{line-height:1.6}}
.book-main,.home-main,.book-nav{overflow-wrap:anywhere;hyphens:auto}
.katex,pre,code{overflow-wrap:normal;hyphens:none}
.equation-row .math{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8199ac #eaf0f5}
.equation-row .math:focus-visible{outline:2px solid #b88746;outline-offset:2px}
.formula-tools{flex-wrap:wrap}
@media screen and (max-width:600px){}
.math-scroll-hint{margin-right:auto;color:#40566a;font-size:.72rem;line-height:1.45}
.math-scroll-hint[hidden]{display:none}
@media(max-width:480px){h1{font-size:clamp(1.5rem,6.2vw,1.95rem)}}
@media(max-width:360px){.book-main,.home-main{padding-left:14px;padding-right:14px}.equation-row{gap:7px}.formula-number{font-size:.7rem}}
@media(prefers-reduced-motion:no-preference){.formula:target{animation:equation-focus 1s ease-out}@keyframes equation-focus{from{background:#ffe6af}to{background:#fffaf0}}}
@media print{body,.book-main{background:white;box-shadow:none}.book-header,.book-nav,.formula-tools,.code-toolbar,.formula-index,.reading-route,.home-tools{display:none!important}.book-main,.home-main{max-width:none;padding:0}.institution{display:block}.formula{break-inside:avoid;background:white}.formula-number{color:#000}.code-block pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:8pt}.example-script{display:block}.example-script::details-content{display:block}.home-summary{grid-template-columns:repeat(4,1fr)}h1{font-size:25pt}h2{font-size:17pt}.book-foot{font-size:8pt}}

.caption-number,.figure-number{font-weight:650;white-space:nowrap;text-decoration:none}.caption-number:hover,.figure-number:hover{text-decoration:underline}.caption-number,table[id],figure[id]{scroll-margin-top:24px}
.figure-viewer{width:min(1200px,calc(100vw - 24px));height:calc(100dvh - 24px);max-width:none;max-height:none;padding:0;border:1px solid #9aafbd;border-radius:6px;background:#fff;color:#172b3a;box-sizing:border-box}.figure-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}.figure-viewer::backdrop{background:rgba(10,22,32,.8)}.figure-viewer-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border-bottom:1px solid #c5d2db}.figure-viewer-tools button,.figure-original{min-height:44px;padding:9px 14px;border:1px solid #8b9eac;border-radius:4px;background:white;color:#164c70;font:inherit;font-size:.85rem;cursor:pointer}.figure-viewer-tools button[aria-pressed=true]{background:#164c70;color:#fff}.figure-close{margin-left:auto}.figure-viewer-scroll{overflow:auto;min-width:0;min-height:0;background:#e8edf1;padding:12px;overscroll-behavior:contain}.figure-viewer-scroll img{display:block;max-width:none;height:auto;margin:auto}.figure-viewer-caption{padding:10px 16px;margin:0;border-top:1px solid #c5d2db;font-size:.88rem;line-height:1.45;max-height:22vh;overflow:auto}.figure-viewer :focus-visible{outline:3px solid #d27800;outline-offset:2px}@media(max-width:600px){.figure-viewer{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.figure-viewer-tools{gap:6px;padding:6px}.figure-viewer-tools button,.figure-original{padding:8px 10px}.figure-original{font-size:.75rem}}

/* Original manual illustrations: restrained scale, readable Russian keys. */
.manual-figure{padding:20px 0 22px;border-bottom:1px solid var(--line);max-width:100%;break-inside:avoid}
.manual-figure .manual-figure-image{display:block;width:var(--manual-figure-width);max-width:100%;margin:0 auto 16px;cursor:zoom-in}
.manual-figure .manual-figure-image img{width:100%;height:auto;border:0;background:#fff}
.manual-figure figcaption{font-size:.88rem;line-height:1.65;color:var(--ink,#172b3a);margin:0}
.manual-figure figcaption p{margin:0 0 10px}.manual-figure-title{font-weight:600}
.manual-figure .manual-figure-source{font-size:.76rem;color:var(--muted);margin:12px 0 0}
.manual-figure-key{padding:12px 16px;background:var(--wash);border-left:2px solid #b8cad8;margin:12px 0}
.manual-figure-key>p{font-size:.8rem;font-weight:600}.manual-figure-key dl{margin:0;font-size:.81rem}
.manual-figure-key dl>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:12px;margin:5px 0}
.manual-figure-key dt{font-weight:600;overflow-wrap:anywhere}.manual-figure-key dd{margin:0}
.manual-caption-note{font-size:.82rem;color:var(--muted)}
.figure-viewer-caption[data-manual-caption=true]{white-space:pre-line}
.manual-figure:target{outline:2px solid #b88746;outline-offset:7px}
@media(max-width:480px){.manual-figure{padding-top:14px}.manual-figure-key{padding:10px 12px}.manual-figure-key dl>div{grid-template-columns:1fr;gap:0;margin:9px 0}.manual-figure figcaption{font-size:.86rem}}
@media print{.manual-figure{break-inside:avoid}.manual-figure-source>a:first-child{display:none}}

/* Source mathematics stays selectable, accessible and readable without a PDF. */
.manual-math-entry{margin:24px 0 30px;max-width:100%;min-width:0}
.manual-math-title{font-size:1rem;line-height:1.5;margin:0 0 10px;color:var(--blue)}
.manual-math-entry .formula{margin:0 0 12px}
.manual-math-context{padding:12px 16px;border-left:2px solid #b8cad8;background:var(--wash);font-size:.88rem;line-height:1.65}
.manual-math-context p{margin:0 0 9px}.manual-math-context p:last-child{margin-bottom:0}
.manual-math-context ul{margin:4px 0 12px;padding-left:22px}
.manual-source-note{padding-top:10px;border-top:1px solid var(--line)}
.manual-table-entry{margin:22px 0 30px;min-width:0;max-width:100%}
.manual-table-entry tbody th{font-weight:500;text-align:left}
.manual-table-entry thead th:first-child{min-width:3.5rem;overflow-wrap:normal;word-break:normal;hyphens:none}
.manual-table-notes{font-size:.88rem;line-height:1.65;padding-left:22px}
.manual-legacy-anchor{display:block;scroll-margin-top:24px}
.manual-math-index ul{padding-left:22px}.manual-math-index li{break-inside:avoid}
@media(max-width:480px){.manual-math-context{padding:10px 12px}.manual-math-title{font-size:.95rem}}
@media print{.manual-math-context{background:white}.manual-math-entry .manual-math-title{break-after:avoid}}
.field-math-stage{position:relative}
.field-math-axes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#43596b}

/* Reading tables: content determines width; colour and rules reveal structure. */
:root {
  --table-ink: #18394f;
  --table-rule: #d8e2e9;
  --table-head: #edf3f7;
  --table-stripe: #f6f9fb;
}

.table-wrap,
.engineering-table,
.micro-prose .table-wrap {
  display: block;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  margin: 24px 0 8px;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: thin;
  scrollbar-color: #839bab #edf3f7;
  scroll-margin-top: 24px;
}

:is(.table-wrap, .engineering-table) > table,
.micro-prose .table-wrap > table,
.example-main .table-wrap > table.compact-table,
.journal-comparison .table-wrap > table {
  width: auto;
  /* Remove the old mobile minimum even when a legacy has-scroll class exists. */
  min-width: 0 !important;
  max-width: none;
  margin: 0;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .88rem;
  line-height: 1.55;
  font-variant-numeric: lining-nums tabular-nums;
}

:is(.table-wrap, .engineering-table) > table > caption,
.example-main .table-wrap > table > caption,
.manual-table-entry .table-wrap > table > caption {
  caption-side: top;
  width: var(--table-viewport-width, auto);
  max-width: var(--table-viewport-width, calc(100vw - 48px));
  position: sticky;
  left: 0;
  padding: 0 0 12px;
  border: 0;
  background: transparent;
  color: var(--table-ink);
  text-align: left;
  font-size: .9rem;
  line-height: 1.5;
  font-weight: 600;
}

:is(.table-wrap, .engineering-table) > table :is(th, td),
.example-main .table-wrap > table :is(th, td),
.micro-prose .table-wrap > table :is(th, td) {
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--table-rule);
  vertical-align: top;
  text-align: left;
  font-size: inherit;
  line-height: 1.55;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

:is(.table-wrap, .engineering-table) > table thead th {
  padding-top: 11px;
  padding-bottom: 11px;
  background: var(--table-head);
  border-top: 2px solid #315e7a;
  border-bottom: 1px solid #bdceda;
  color: var(--table-ink);
  font-size: .94em;
  font-weight: 650;
  vertical-align: bottom;
}

:is(.table-wrap, .engineering-table) > table thead tr + tr th {
  border-top: 0;
}

:is(.table-wrap, .engineering-table) > table tbody th {
  background: #fff;
  color: #243d4d;
  font-weight: 500;
}

:is(.table-wrap, .engineering-table) > table tbody tr:nth-child(even) > :is(th, td) {
  background: #fff;
}

:is(.table-wrap, .engineering-table) > table.table-striped tbody tr:nth-child(even) > :is(th, td) {
  background: var(--table-stripe);
}

:is(.table-wrap, .engineering-table) > table tbody tr:last-child > :is(th, td) {
  border-bottom: 1px solid #b9cbd7;
}

@media (hover: hover) {
  :is(.table-wrap, .engineering-table) > table tbody tr:hover > :is(th, td) {
    background: #edf4f8;
  }
}

:is(.table-wrap, .engineering-table) > table tr.selected > :is(th, td) {
  background: #e5f2ed;
}

/* Remove equal-width and frozen-first-column rules from the earlier template. */
.example-main .table-wrap > table.compact-table th:first-child,
.table-wrap .symbols-table :is(th, td):first-child,
.table-wrap .symbols-table :is(th, td):last-child,
.table-wrap .parameter-table :is(th, td):nth-child(3) {
  width: auto;
}

.micro-api-body .table-wrap > table th:first-child {
  width: auto;
  overflow-wrap: normal;
}

/* Keep argument names readable; wide identifiers use the table's local scroll. */
.micro-api-body .table-wrap > table th[scope="row"] code {
  overflow-wrap: normal;
  word-break: normal;
}

:is(.table-wrap, .engineering-table) > table :is(th, td):is(.numeric-cell, .table-number),
.manual-table-entry .table-wrap > table :is(.numeric-cell, .table-number) {
  text-align: right;
  font-variant-numeric: lining-nums tabular-nums;
}

:is(.table-wrap, .engineering-table) > table tbody :is(.numeric-cell, .table-number) {
  white-space: nowrap;
}

:is(.table-wrap, .engineering-table) > table :is(.unit-cell, .table-unit) {
  white-space: nowrap;
  text-align: left;
  color: #435d6e;
}

.table-wrap > table .text-cell,
.table-wrap > table .table-label {
  white-space: normal;
}

.table-wrap > table .table-code {
  overflow-wrap: anywhere;
}

:is(.table-wrap, .engineering-table) > table.table-dense :is(th, td) {
  padding: 10px;
}

/* Only long datasets get a bounded, keyboard-scrollable reading window. */
:is(.table-wrap, .engineering-table).table-long {
  max-height: min(34rem, 72vh);
  scrollbar-width: auto;
}

:is(.table-wrap, .engineering-table).table-long > table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--table-head);
  box-shadow: 0 1px #b5c7d4;
}

.table-wrap:focus-visible,
.engineering-table:focus-visible {
  outline: 3px solid #a36e34;
  outline-offset: 4px;
}

.table-scroll-status {
  max-width: 70ch;
  margin: 24px 0 6px;
  color: #4c6475;
  font-size: .76rem;
  line-height: 1.5;
}
.table-scroll-status + :is(.table-wrap, .engineering-table).is-scrollable { margin-top: 6px; }
.table-scroll-status[hidden] { display: none; }

@media (max-width: 780px) {
  :is(.table-wrap, .engineering-table) > table,
  .micro-prose .table-wrap > table,
  .example-main .table-wrap > table.compact-table,
  .journal-comparison .table-wrap > table { font-size: .9rem; }
  :is(.table-wrap, .engineering-table) > table :is(th, td),
  .example-main .table-wrap > table :is(th, td),
  .micro-prose .table-wrap > table :is(th, td) { padding: 10px 12px; }
  :is(.table-wrap, .engineering-table) > table.table-dense :is(th, td) { padding: 9px 10px; }
  :is(.table-wrap, .engineering-table) > table > caption { font-size: .92rem; }
  .table-scroll-status { font-size: .8rem; }
}

@media print {
  .table-wrap,
  .engineering-table,
  :is(.table-wrap, .engineering-table).table-long {
    display: block;
    width: fit-content;
    max-width: 100%;
    max-height: none;
    overflow: visible;
    margin: 12pt 0;
  }
  :is(.table-wrap, .engineering-table) > table { width: auto; max-width: 100%; font-size: 9pt; }
  :is(.table-wrap, .engineering-table) > table thead { display: table-header-group; }
  :is(.table-wrap, .engineering-table) > table > caption { width: auto; max-width: none; position: static; }
  :is(.table-wrap, .engineering-table).table-long > table thead th { position: static; box-shadow: none; }
  :is(.table-wrap, .engineering-table) > table :is(th, td) { padding: 5pt 7pt; }
  :is(.table-wrap, .engineering-table) > table tr { break-inside: avoid; }
  .table-scroll-status { display: none !important; }
}

.author-bibliography{padding-left:1.5rem}.author-bibliography li{margin-block:.65rem;line-height:1.65;scroll-margin-top:2rem}.author-bibliography li:target{background:#f3f6f8;outline:2px solid #b88746;outline-offset:4px}

/* Shared textbook navigation and reading surfaces. */
.textbook-header{min-height:60px;padding-block:10px;gap:16px;align-items:center}
.textbook-header>.header-links{gap:24px;align-items:center}
.book-appendices{position:relative;margin:0;font-size:inherit}
.book-appendices>summary{cursor:pointer;color:inherit;padding:8px 0;white-space:nowrap}
.book-appendices>nav{position:absolute;z-index:50;right:0;top:100%;width:min(300px,calc(100vw - 36px));padding:12px 18px;background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:0 5px 18px #183d5620}
.book-header .book-appendices nav a{display:block;color:var(--blue);padding:6px 0;line-height:1.5}
.book-header a:focus-visible,.book-appendices summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.textbook-title{max-width:900px;margin-bottom:24px}
.textbook-title h1{font-size:clamp(1.8rem,3vw,2.6rem)}
.reading-bookmark{font-size:.85rem}
.home-main .course-search{border:0;box-shadow:none;background:none;padding:0;margin:24px 0}
.home-main .course-search h2{font-size:1.1rem;margin-top:24px}
.home-main .home-tools{border:0;padding:0;margin:14px 0;background:none}
.textbook-parts{list-style:none;padding:0;columns:2;column-gap:36px;margin-bottom:32px}
.textbook-parts li{break-inside:avoid;margin:0 0 12px;line-height:1.55}
.textbook-parts span{font-variant-numeric:tabular-nums}
.home-main .book-module li a{border:0;border-radius:0;padding:8px 0;background:transparent}
.home-main .book-module li a:hover{text-decoration:underline;background:transparent}
.reading-details{font-size:.85rem;margin:16px 0;color:var(--muted)}
.reading-details>summary{cursor:pointer}
.download-links{gap:8px 22px}
.download-links a,.example-main .download-links a{border:0;padding:3px 0;border-radius:0;text-decoration:underline;text-underline-offset:3px}
.lab-tabs a,.reference-tabs a{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--blue)!important;padding:6px 0!important;text-decoration:underline;text-underline-offset:5px}
.lab-tabs,.reference-tabs{gap:12px 24px!important}
.lab-tabs a.active,.reference-tabs a.active{font-weight:700;text-decoration-thickness:2px}
.book-main .formula{border:0;background:transparent;border-radius:0;padding:12px 0}
.formula:target{background:#fffaf0}
.math-scroll-hint{display:block;font-size:.72rem;color:var(--muted);margin-top:6px}
.math-scroll-hint[hidden]{display:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
@media(max-width:780px){.textbook-header{padding:10px 18px}.textbook-header>.header-links{gap:15px;font-size:.8rem}.textbook-header>a{font-size:.95rem}.textbook-parts{columns:1}.home-main .home-tools input{min-width:0}.book-appendices>nav{max-height:75vh;overflow-y:auto}.lab-tabs,.reference-tabs{flex-wrap:wrap!important}}
@media print{.textbook-header,.reading-bookmark{display:none!important}.textbook-parts{columns:1}}

body .home-main h1{hyphens:auto;overflow-wrap:normal}
.engineering-actions a{border:0;background:transparent;border-radius:0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:380px){body .home-main .textbook-title h1{font-size:1.65rem;line-height:1.25}.textbook-header>.header-links{justify-content:space-between}}
