.reader-layout{width:min(1320px,calc(100% - 28px));margin:28px auto 60px;display:grid;grid-template-columns:260px minmax(0,850px) 190px;gap:22px;align-items:start}.reader-side,.reader-tools{position:sticky;top:96px;background:white;border:1px solid var(--line);border-radius:12px;padding:17px;max-height:calc(100vh - 120px);overflow:auto}.reader-side h3,.reader-tools h3{font-size:.84rem;color:var(--ink);margin:0 0 12px}.reader-side ol{margin:0;padding-left:20px;display:grid;gap:8px}.reader-side a{font-size:.76rem;color:#56657a}.reader-tools{display:grid;gap:10px}.reader-tools .button{width:100%;font-size:.78rem}.reader-paper{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:clamp(24px,5vw,58px);min-width:0}.reader-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:24px}.reader-head .back{color:var(--navy);font-weight:700;font-size:.84rem}.reading-progress{position:fixed;top:72px;left:0;height:3px;background:var(--teal);width:0;z-index:9999}.textbook-material{font-family:Georgia,'Times New Roman',serif;color:#263248;font-size:1.02rem;line-height:1.82}.textbook-material h1,.textbook-material h2,.textbook-material h3{font-family:Poppins,Arial,sans-serif;color:#172641;line-height:1.3}.material-cover{background:linear-gradient(135deg,#eef5fb,#f8fbfd);border-left:5px solid var(--navy);padding:25px;border-radius:8px;margin-bottom:30px}.material-cover p{margin:4px 0;font-family:Poppins,Arial,sans-serif;font-size:.82rem}.material-cover h1{font-size:clamp(2rem,5vw,3.2rem);margin:16px 0 0}.textbook-material section{scroll-margin-top:100px}.textbook-material h2{font-size:1.55rem;margin:44px 0 17px;border-bottom:1px solid #dde4ee;padding-bottom:10px}.textbook-material h3{font-size:1.05rem;margin:25px 0 10px}.textbook-material p{margin:0 0 16px}.textbook-material ul,.textbook-material ol{margin:10px 0 20px;padding-left:26px}.textbook-material li{margin:8px 0}.textbook-material table{width:100%;border-collapse:collapse;margin:18px 0;font-family:Poppins,Arial,sans-serif;font-size:.84rem}.textbook-material th,.textbook-material td{border:1px solid #d6deea;padding:10px;text-align:left}.textbook-material th{background:#edf3f8;color:#213a5e}.textbook-material code{white-space:normal;font-family:'Courier New',monospace}.worked-steps{background:#f6f9fc;border-left:4px solid var(--teal);padding:16px 16px 16px 38px!important}.practical-list{background:#f2fbf6;border:1px solid #cfeadb;padding:16px 16px 16px 38px!important;border-radius:8px}.student-support-note{margin-top:45px;background:#fff9e8;border:1px solid #f0dda9;padding:17px;border-radius:8px;font-family:Poppins,Arial,sans-serif;font-size:.82rem}.audio-status{font-size:.75rem;color:var(--muted);text-align:center}.reader-mobile-actions{display:none}
@media(max-width:1100px){.reader-layout{grid-template-columns:220px minmax(0,1fr)}.reader-tools{display:none}.reader-mobile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.reader-mobile-actions .button{flex:1}}@media(max-width:760px){.reading-progress{top:68px}.reader-layout{display:block;width:min(100% - 18px,850px);margin-top:12px}.reader-side{position:static;max-height:260px;margin-bottom:10px}.reader-paper{padding:22px 17px;border-radius:8px}.textbook-material{font-size:.96rem;line-height:1.76}.textbook-material h2{font-size:1.35rem}.reader-head{align-items:flex-start;flex-direction:column}}

/* Protected online reader and reliable audio controls */
.material-protected,
.material-protected * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}
.material-protected img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}
.reader-watermark {
    position: fixed;
    inset: 0;
    z-index: 920;
    pointer-events: none;
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    grid-auto-rows: 180px;
    align-items: center;
    justify-items: center;
    opacity: .042;
}
.reader-watermark span {
    color: #102a4b;
    font: 700 14px/1.3 Poppins, Arial, sans-serif;
    letter-spacing: .03em;
    white-space: nowrap;
    transform: rotate(-26deg);
}
.reader-paper,
.reader-side,
.reader-tools,
.site-header,
.site-footer {
    position: relative;
    z-index: 910;
}
.audio-progress {
    height: 7px;
    border-radius: 999px;
    background: #e6ebf2;
    overflow: hidden;
}
.audio-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--teal), var(--blue));
    transition: width .2s ease;
}
.reader-protection-note {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.5;
    text-align: center;
}
.protection-toast {
    position: fixed;
    left: 50%;
    bottom: 22px;
    z-index: 2147483600;
    max-width: min(560px, calc(100vw - 28px));
    transform: translate(-50%, 22px);
    padding: 11px 15px;
    border-radius: 9px;
    background: #172641;
    color: #fff;
    box-shadow: 0 16px 40px rgba(15, 28, 50, .26);
    font: 600 .78rem/1.45 Poppins, Arial, sans-serif;
    opacity: 0;
    visibility: hidden;
    transition: .2s ease;
}
.protection-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
@media (max-width: 760px) {
    .reader-watermark { grid-template-columns: repeat(2, minmax(150px, 1fr)); grid-auto-rows: 150px; }
    .reader-watermark span { font-size: 11px; }
    .reader-mobile-actions .button { min-width: calc(33.333% - 8px); }
    .reader-mobile-actions .button.green { flex-basis: 100%; }
}
@media print {
    body * { display: none !important; }
    body::before {
        content: "Printing is disabled for the online reading copy. Use the official paid PDF download.";
        display: block !important;
        margin: 40mm auto;
        max-width: 170mm;
        color: #111;
        font: 700 18pt/1.5 Arial, sans-serif;
        text-align: center;
    }
}

/* Privacy shield discourages capture while the page is out of focus. Browser pages cannot block operating-system screenshots completely. */
.reader-paper.privacy-shield .material-protected{filter:blur(18px);opacity:.18;transition:.15s ease}
.reader-paper.privacy-shield::after{content:"Protected reading copy";position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#17395f;font:800 1rem/1.4 Poppins,Arial,sans-serif;z-index:50}

/* Health-science textbook enhancements */
.textbook-material .worked-example{margin:22px 0;padding:18px 20px;border-left:5px solid #0aa36c;background:#effcf6;border-radius:12px}.textbook-material .worked-example h3{margin-top:0;color:#087853}.textbook-material .study-notice{margin-top:34px;padding:22px;border:1px solid #dbe7f0;background:#f8fbfd;border-radius:16px}.textbook-material .material-cover{background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #d7e8e3;border-radius:20px;padding:28px;margin-bottom:26px}.textbook-material .material-cover h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;margin:.4rem 0 0}.textbook-material h2{scroll-margin-top:100px}.textbook-material ol,.textbook-material ul{padding-left:1.45rem}.textbook-material li{margin:.55rem 0;line-height:1.72}.textbook-material p{line-height:1.82}.health-hero{background:radial-gradient(circle at 82% 18%,rgba(16,185,129,.25),transparent 30%),linear-gradient(135deg,#071a2c,#0a3951 54%,#0b6b5f)}

.concept-diagram{margin:28px 0;padding:22px;border:1px solid #ddd6fe;border-radius:18px;background:linear-gradient(135deg,#faf8ff,#f4fbff)}
.diagram-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagram-flow span{padding:12px;border-radius:10px;background:#fff;border:1px solid #ddd6fe;text-align:center;font-weight:800}.concept-diagram figcaption{margin-top:12px;color:#64748b}
@media(max-width:680px){.diagram-flow{grid-template-columns:1fr}}

.code-example{margin:18px 0;padding:18px;border:1px solid #24445f;border-radius:16px;background:#0b1220;color:#e5edf7}
.code-example h3{color:#7dd3fc;margin-top:0}.code-example pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.code-example code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#e5edf7}
.special-focus{border:1px solid #bfdbfe;background:#f7fbff;border-radius:18px;padding:18px;margin:22px 0}

.formula-card{margin:18px 0;padding:16px 18px;border-left:5px solid #16a34a;background:#f0fdf4;border-radius:14px;color:#14532d}
.special-focus{border:1px solid #bbf7d0;background:#f7fff9;border-radius:18px;padding:18px;margin:22px 0}

.formula-card{margin:18px 0;padding:16px 18px;border-left:5px solid #0f766e;border-radius:12px;background:#ecfdf5;color:#0f3d37}
.special-focus{border:1px solid #bfdbfe;background:#f7fbff;border-radius:18px;padding:18px;margin:22px 0}
.special-focus h3{color:#0b4f8a}.engineering-diagram{margin:22px 0;padding:20px;border-radius:18px;background:#f8fbff;border:1px solid #dbeafe}

.authority-table,.problem-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.95rem}.authority-table th,.authority-table td,.problem-table th,.problem-table td{border:1px solid #d7dee8;padding:11px;text-align:left;vertical-align:top}.authority-table th,.problem-table th{background:#f8f3e8;color:#432c09}.special-focus{border:1px solid #e2c788;background:#fffbef;border-radius:18px;padding:18px;margin:22px 0}

.special-focus{border:1px solid #fde68a;background:#fffdf4;border-radius:18px;padding:18px;margin:22px 0}
.special-focus h3{color:#92400e}.material-cover{background:linear-gradient(145deg,#fff7ed,#ffffff 58%,#ecfdf5)}

.code-example{margin:18px 0;padding:18px;border:1px solid #28435f;border-radius:16px;background:#0f172a;color:#e2e8f0}.code-example h3{color:#7dd3fc;margin-top:0}.code-example pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.code-example code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.special-focus{background:#f8fcff;border:1px solid #cfe1ef;border-radius:18px;padding:20px;margin:24px 0}

.special-focus{border:1px solid #bbd8d1;background:#f4fffc;border-radius:18px;padding:18px;margin:22px 0}
.textbook-material table{display:table;overflow-wrap:anywhere}
