/* Scoped to the new study module; inherits the user's existing theme. */
.main-nav a[data-route="biomaterials"].active{background:var(--theme-surface,var(--paper));color:var(--ink);border-color:var(--theme-edge,var(--line))}
#biomaterialsRoot{--nm-bg:var(--theme-surface,var(--paper,#fff));--nm-raised:var(--theme-raised,var(--wash,#f5f1ec));--nm-line:var(--theme-edge,var(--line,#d9d0c5));--nm-accent:var(--lav,#6b543f);color:var(--ink);font-size:1rem;line-height:1.6;max-width:1500px;margin:auto}
#biomaterialsRoot *{box-sizing:border-box}#biomaterialsRoot button,#biomaterialsRoot select,#biomaterialsRoot textarea{font:inherit}#biomaterialsRoot button{cursor:pointer}#biomaterialsRoot button:disabled{cursor:default;opacity:.55}#biomaterialsRoot :focus-visible{outline:3px solid var(--nm-accent);outline-offset:4px}#biomaterialsRoot p{margin:0 0 1rem}#biomaterialsRoot h1{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.04em;margin:.15rem 0 .25rem;line-height:1.1}#biomaterialsRoot h2{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.2;letter-spacing:-.025em;margin:1rem 0}#biomaterialsRoot small{font-size:.875rem}#biomaterialsRoot .nm-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.8rem;color:var(--nm-accent)}
.nm-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem}.nm-header p{color:var(--muted)}.nm-progress{min-width:180px;display:grid;gap:.25rem}.nm-progress strong{font-size:2.1rem;line-height:1.1}.nm-progress strong span{font-size:1.1rem;font-weight:400;color:var(--muted)}.nm-progress>span{font-size:.875rem}.nm-progress progress,.nm-round-progress progress{height:7px;accent-color:var(--nm-accent);width:100%;border:none;border-radius:99px;overflow:hidden}.nm-toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--nm-line);padding-bottom:1rem}.nm-modes{display:flex;gap:.35rem;flex-wrap:wrap}.nm-modes button{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid transparent;border-radius:12px;padding:.7rem .8rem;color:var(--ink);font-weight:700}.nm-modes button small{opacity:.65;font-size:.75rem}.nm-modes button[aria-pressed=true]{border-color:var(--nm-accent);background:var(--nm-raised);color:var(--nm-accent)}.nm-import{border:1px solid var(--nm-line);border-radius:12px;padding:.7rem 1rem;background:var(--nm-bg);color:var(--ink);font-size:.875rem!important}.nm-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:1.5rem;align-items:start}.nm-main{min-width:0}.nm-launch,.nm-question,.nm-lesson,.nm-match,.nm-design,.nm-finish{background:var(--nm-bg);border:1px solid var(--nm-line);border-radius:24px;padding:clamp(1.2rem,3vw,2.3rem);box-shadow:0 8px 30px rgba(45,30,18,.035)}.nm-stage-label{display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--nm-accent);font-weight:800;flex-wrap:wrap}.nm-stage-label>span{font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none}.nm-aside{border:1px solid var(--nm-line);border-radius:22px;background:var(--nm-bg);overflow:hidden}.nm-aside-top{padding:1.3rem 1.25rem .7rem}.nm-aside-top h2{font-size:1.5rem!important;margin:.3rem 0!important}.nm-aside-top p{font-size:.875rem;color:var(--muted)}.nm-topic-list{display:grid;padding:0 .6rem .7rem}.nm-topic-list button{display:grid;grid-template-columns:23px 1fr 25px;align-items:center;text-align:left;gap:.5rem;border:0;border-radius:10px;padding:.75rem .55rem;background:transparent;color:var(--ink)}.nm-topic-list button:hover,.nm-topic-list button.selected{background:var(--nm-raised)}.nm-topic-list button>span,.nm-topic-list small{font-size:.75rem;color:var(--muted)}.nm-topic-list button b{font-size:.875rem;font-weight:600;line-height:1.3}.nm-aside-bottom{padding:1.1rem 1.25rem;background:var(--nm-raised);border-top:1px solid var(--nm-line)}.nm-aside-bottom b{font-size:.875rem}.nm-aside-bottom p{font-size:.875rem;color:var(--muted);margin:.5rem 0!important}.nm-aside-bottom [data-sync]{display:block;font-size:.75rem}.nm-aside-bottom button{font-size:.875rem!important;margin-top:.5rem}.nm-filter{display:grid;gap:.4rem;font-size:.875rem;font-weight:700;margin:1.4rem 0 .8rem;max-width:100%}.nm-filter select,.nm-design select{width:100%;min-height:46px;border:1px solid var(--nm-line);background:var(--nm-bg);color:var(--ink);padding:.65rem .75rem;border-radius:11px;font-size:1rem}.nm-launch-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.nm-primary,.nm-secondary{min-height:46px;padding:.75rem 1.2rem;border-radius:12px;border:1px solid var(--nm-accent);font-weight:700!important;transition:transform .15s}.nm-primary{color:var(--nm-bg);background:var(--nm-accent)}.nm-primary:not(:disabled):hover,.nm-secondary:not(:disabled):hover{transform:translateY(-2px)}.nm-secondary{background:var(--nm-bg);color:var(--nm-accent)}.nm-text-btn{border:0;padding:.3rem 0;background:none;color:var(--nm-accent);text-decoration:underline;text-underline-offset:3px;font-size:.875rem!important}.nm-study-note{padding:1rem 1.2rem;background:var(--nm-raised);border-left:3px solid var(--nm-accent);border-radius:0 12px 12px 0;margin-top:1rem;font-size:.875rem}.nm-study-note p{margin:.25rem 0 0!important}.nm-diagram{margin:1.3rem 0;border:1px solid var(--nm-line);border-radius:16px;overflow:hidden;background:var(--nm-raised)}.nm-diagram svg{width:100%;height:auto;display:block;color:var(--nm-accent);font-family:inherit}.nm-diagram text{fill:var(--ink)}.nm-diagram figcaption{padding:.7rem 1rem;border-top:1px solid var(--nm-line);font-size:.875rem;font-weight:600}.nm-diagram figcaption span{display:block;font-size:.75rem;font-weight:400;color:var(--muted)}.nm-svg-box{fill:var(--nm-bg);stroke:var(--nm-line);stroke-width:2}.nm-svg-arrow,.nm-svg-axis{stroke:currentColor;stroke-width:2;fill:none}.nm-svg-polymer{stroke:currentColor;stroke-width:5;fill:none}.nm-svg-ligand{fill:var(--nm-accent);stroke:var(--nm-bg);stroke-width:3}.nm-svg-cleave{stroke:#be7232;stroke-width:5;stroke-dasharray:9 7;fill:none}.nm-svg-curve{stroke:var(--nm-accent);stroke-width:5;fill:none}.nm-round-progress{display:flex;gap:1rem;align-items:center;margin:1.3rem 0}.nm-round-progress span{white-space:nowrap;font-size:.875rem;color:var(--muted)}.nm-options{display:grid;gap:.7rem;margin:1.5rem 0}.nm-options button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:.8rem;align-items:center;text-align:left;border:1px solid var(--nm-line);border-radius:13px;background:var(--nm-bg);padding:1rem;color:var(--ink);line-height:1.45}.nm-options button:not(:disabled):hover{border-color:var(--nm-accent);background:var(--nm-raised)}.nm-options button>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--nm-line);border-radius:8px;font-size:.875rem}.nm-options button b{font-weight:500}.nm-options button small{grid-column:2;font-weight:700}.nm-options button.correct{border:2px solid #377652;opacity:1!important}.nm-options button.incorrect{border:2px solid #b4533e;opacity:1!important}.nm-feedback{padding:1.2rem;border:1px solid #6d9d7e;border-left:4px solid #377652;border-radius:12px;margin:1rem 0;background:var(--nm-raised)}.nm-feedback.review{border-color:#c7956b;border-left-color:#a7642e}.nm-feedback p{margin:.5rem 0!important}.nm-feedback small{color:var(--muted)}.nm-question-footer,.nm-self-rate,.nm-lesson-nav{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}.nm-write-label{display:grid;gap:.7rem;font-size:.875rem}.nm-write-label textarea{min-height:170px;width:100%;resize:vertical;padding:1rem;border:1px solid var(--nm-line);border-radius:12px;color:var(--ink);background:var(--nm-bg);font-size:1rem}.nm-answer-area>.nm-secondary{margin-top:1rem}.nm-lead{font-size:1.1rem;color:var(--muted)}.nm-lesson-points section{display:grid;grid-template-columns:30px 1fr;gap:.8rem;padding:1.1rem 0;border-bottom:1px solid var(--nm-line)}.nm-lesson-points section>span{font-size:.8rem;color:var(--nm-accent);font-weight:800;padding-top:.2rem}.nm-lesson-points p{margin:0!important}.nm-trap{background:var(--nm-raised);border-radius:12px;padding:1.1rem 1.3rem;margin:1.5rem 0;border-left:4px solid #a7642e}.nm-trap p{margin:.4rem 0 0!important}.nm-source-note{border:1px solid var(--nm-line);border-radius:12px;padding:1rem;font-size:.875rem}.nm-source-note summary{cursor:pointer;font-weight:700}.nm-source-note p{margin:1rem 0!important}.nm-source-note a{color:var(--nm-accent);text-decoration:underline}.nm-score{font-size:5rem;font-weight:700;line-height:1.1;margin:1.5rem 0}.nm-score span{font-size:2rem;color:var(--muted)}.nm-review-list{display:grid;gap:.5rem;margin-top:2rem}.nm-review-list button{border:1px solid var(--nm-line);border-radius:10px;padding:.8rem;text-align:left;color:var(--ink);background:var(--nm-raised)}.nm-match-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.nm-match-board>div{display:grid;gap:.75rem}.nm-match-board button{border:1px solid var(--nm-line);border-radius:12px;background:var(--nm-bg);color:var(--ink);padding:1rem;text-align:left;min-height:90px;line-height:1.4}.nm-match-board button.picked{border:2px solid var(--nm-accent);background:var(--nm-raised)}.nm-match-board button.matched{border-color:#377652;opacity:.65!important}.nm-match-status{padding:1rem;background:var(--nm-raised);border-radius:12px;margin-bottom:1rem;font-size:.95rem}.nm-design-picks{display:grid;gap:1rem;margin:1.5rem 0}.nm-design-picks label{display:grid;gap:.4rem;font-weight:700;font-size:.875rem}.nm-case-nav{display:flex;justify-content:center;gap:.6rem;margin-top:2rem}.nm-case-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--nm-line);color:var(--ink);background:var(--nm-bg)}.nm-case-nav button[aria-pressed=true]{border-color:var(--nm-accent);background:var(--nm-raised)}
@media(max-width:1120px){.nm-layout{grid-template-columns:minmax(0,1fr)}.nm-topic-list{grid-template-columns:1fr 1fr}.nm-aside{margin-top:.5rem}.nm-aside-top p{display:none}.nm-header{gap:1rem}}@media(max-width:600px){.nm-header{align-items:flex-start}.nm-progress{min-width:110px;max-width:130px}.nm-progress strong{font-size:1.6rem}.nm-progress>span{font-size:.75rem}.nm-toolbar{gap:.6rem}.nm-modes{gap:.2rem}.nm-modes button{padding:.5rem;font-size:.875rem!important}.nm-modes button small{display:none}.nm-topic-list{grid-template-columns:1fr}.nm-stage-label{font-size:.7rem}.nm-match-board{gap:.6rem}.nm-match-board button{padding:.6rem;min-height:100px;font-size:.9rem!important}.nm-lesson-nav>*{flex:1}.nm-launch-actions>*{width:100%}.nm-header p{font-size:.875rem}.nm-diagram{overflow-x:auto}.nm-diagram svg{min-width:480px}.nm-lesson-points section{grid-template-columns:22px 1fr}.nm-import{width:100%}}@media(prefers-reduced-motion:reduce){#biomaterialsRoot *{transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.nm-toolbar,.nm-aside,.nm-lesson-nav{display:none!important}.nm-layout{display:block}.nm-lesson{box-shadow:none;border:none}.nm-diagram{break-inside:avoid}}
/* Keep text legible over image-based user themes. */
#biomaterialsRoot .nm-header{background:var(--nm-bg);border:1px solid var(--nm-line);border-radius:20px;padding:1.3rem 1.5rem}
#biomaterialsRoot .nm-toolbar{background:var(--nm-bg);border:1px solid var(--nm-line);border-radius:16px;padding:.7rem}
.nm-diagram-canvas{overflow-x:auto}.nm-diagram-hint{display:none!important}
@media(max-width:600px){#biomaterialsRoot .nm-header{padding:1rem}.nm-diagram{overflow:hidden}.nm-diagram svg{min-width:760px}.nm-diagram-hint{display:block!important;font-weight:600!important}}
/* Complete-source study tools. Original figures are always separate from generated guides. */
.nm-source-panel{background:var(--nm-bg);border:1px solid var(--nm-line);border-radius:24px;padding:clamp(1rem,2.5vw,2rem);overflow-wrap:anywhere}
.nm-source-panel h3{font-size:1.2rem;margin:1.6rem 0 .8rem}.nm-source-panel h4{font-size:1rem;margin:1.2rem 0 .8rem}.nm-source-panel a{color:var(--nm-accent);text-decoration:underline;text-underline-offset:3px}.nm-source-panel label{font-weight:700;font-size:.875rem;display:grid;gap:.4rem}.nm-source-panel select,.nm-source-panel input{font:inherit;color:var(--ink);background:var(--nm-bg);width:100%;min-width:0;max-width:100%;border:1px solid var(--nm-line);border-radius:10px;padding:.7rem;min-height:44px}.nm-source-filters{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.nm-source-count{font-size:.8rem;color:var(--muted)}.nm-source-nav,.nm-source-zoom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.nm-source-zoom label{display:flex;align-items:center;gap:.7rem}.nm-source-zoom select{width:auto}.nm-source-study{padding:1.1rem;border:1px solid var(--nm-line);border-left:4px solid var(--nm-accent);border-radius:12px;background:var(--nm-raised);margin:1rem 0}.nm-source-study textarea{margin:.7rem 0}.nm-original{margin:0;border:1px solid var(--nm-line);border-radius:12px;overflow:hidden;background:white}.nm-original-scroll{overflow:auto;max-height:80vh}.nm-original img{display:block;width:100%;height:auto;max-width:none!important}.nm-original figcaption{background:var(--nm-raised);font-size:.8rem;padding:.8rem 1rem}.nm-source-details{border:1px solid var(--nm-line);border-radius:12px;padding:1rem;margin:.8rem 0}.nm-source-details summary{font-weight:700;cursor:pointer;line-height:1.5}.nm-source-details p{margin:1rem 0!important}.nm-source-details pre{white-space:pre-wrap;font:inherit;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.nm-page-guide{border-left:3px solid var(--nm-accent);padding-left:1rem;margin:1.5rem 0}.nm-reference-links{display:flex;flex-wrap:wrap;gap:.5rem}.nm-source-link{font:inherit;font-size:.8rem!important;padding:.5rem .7rem;border:1px solid var(--nm-line);border-radius:8px;background:var(--nm-raised);color:var(--ink);text-align:left}.nm-coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.nm-coverage-grid button{text-align:left;display:grid;grid-template-columns:40px 1fr;gap:.5rem;padding:.8rem;border:1px solid var(--nm-line);border-radius:10px;background:var(--nm-raised);color:var(--ink);font-size:.85rem!important}.nm-coverage-grid button.checked{border-color:#377652}.nm-source-hash{font-size:.75rem;word-break:break-all}.nm-glossary{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:.6rem 1rem}.nm-glossary dt{font-weight:700}.nm-glossary dd{margin:0}.nm-source-panel [hidden]{display:none!important}.nm-source-banner{background:var(--nm-bg);border:1px solid var(--nm-line);border-radius:14px;padding:1rem;margin:0 0 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.nm-source-banner p{margin:0!important;font-size:.9rem}.nm-source-banner button{white-space:nowrap}
@media(max-width:600px){.nm-source-filters,.nm-coverage-grid{grid-template-columns:1fr}.nm-source-zoom{align-items:flex-start}.nm-source-panel select{font-size:.875rem}.nm-glossary{grid-template-columns:1fr}.nm-glossary dd{margin-bottom:.8rem}.nm-source-banner{flex-direction:column;align-items:flex-start}.nm-source-nav>*{flex:1}.nm-original-scroll{max-height:65vh}}
