:root{
  --navy:#0a1324;--navy2:#111f36;--ink:#172033;--slate:#5d6a7e;--line:#dbe3eb;
  --mint:#dff7ef;--teal:#37bfa4;--cyan:#71d6e8;--blue:#4a91d8;--violet:#a58bff;
  --coral:#ff6f6f;--yellow:#fff46e;--paper:#f6f8fb;--white:#fff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}
a{color:inherit}.book-shell{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:100vh}
aside{position:sticky;top:0;height:100vh;overflow:auto;padding:22px;background:linear-gradient(180deg,#071321,#0d2440 66%,#123d53);color:#fff}
.brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--mint),var(--cyan) 50%,var(--blue));color:var(--navy);font-weight:900;box-shadow:0 12px 30px rgba(69,189,197,.25)}
.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:#9fb5c7;font-size:.72rem}
.search-wrap{margin:18px 0}.search-wrap input{width:100%;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;outline:0}
.search-wrap input::placeholder{color:#9fb4c5}.search-wrap input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(113,214,232,.14)}
nav{display:grid;gap:4px}nav a{padding:8px 10px;border-radius:9px;text-decoration:none;color:#bfd0dd;font-size:.82rem}nav a:hover{background:rgba(255,255,255,.08);color:white}
.nav-label{margin:15px 8px 5px;color:#7fe0d3;font:700 .62rem ui-monospace,monospace;letter-spacing:.1em}
main{padding:36px clamp(20px,5vw,70px) 80px;max-width:1500px}
.hero{padding:38px;border-radius:28px;color:#fff;background:radial-gradient(circle at 82% 20%,rgba(113,214,232,.22),transparent 27%),linear-gradient(125deg,var(--navy),#12314d 60%,#283c72)}
.eyebrow{color:#89eadf;font:700 .68rem ui-monospace,monospace;letter-spacing:.12em}.hero h1{margin:9px 0 12px;font-size:clamp(2.7rem,6vw,6rem);line-height:.94;letter-spacing:-.055em}.hero p{max-width:850px;color:#c8d8e5;line-height:1.65}
.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.hero-grid div{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}.hero-grid strong{display:block;font-size:1.4rem}.hero-grid span{color:#a9bdcd;font-size:.72rem}
.notice{margin-top:15px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.06);font-size:.78rem;color:#c7d5e0}
.book-section{margin:34px 0;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(27,54,76,.05)}
.book-section h2{margin:6px 0 8px;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em}.book-section>p{color:var(--slate);line-height:1.65}
.section-kicker{color:#5b47bd;font:700 .66rem ui-monospace,monospace;letter-spacing:.1em}
.chapter-grid,.term-grid,.source-grid,.disease-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.card h3{margin:4px 0 7px}.card p,.card li{color:var(--slate);font-size:.82rem;line-height:1.55}.card ul{margin:10px 0 0;padding-left:18px}.card .plain{margin-top:10px;padding:10px;border-radius:10px;background:var(--mint);color:#245e52}.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.badge{padding:5px 8px;border-radius:999px;background:#edf3f8;color:#496176;font:700 .62rem ui-monospace,monospace}
.chart{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f4f9fb)}.chart-title{font-weight:800;margin-bottom:10px}.chart-note{margin-top:8px;color:#788898;font-size:.7rem}
.flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.flow .node{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:750}.flow .arrow{color:#6a7e91;font-weight:900}.node.mint{background:#e9faf5;border-color:#bfe9dc}.node.blue{background:#eef6ff;border-color:#c8dcf1}.node.violet{background:#f3efff;border-color:#d8cdfb}.node.coral{background:#fff1f1;border-color:#ffd0d0}.node.yellow{background:#fffde6;border-color:#f4e987}
.spectrum{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border-radius:12px}.spectrum div{padding:12px 8px;text-align:center;font-size:.72rem;font-weight:750}.spectrum .p1{background:#ffe0e0}.spectrum .p2{background:#ffeccc}.spectrum .p3{background:#fff8c4}.spectrum .p4{background:#dff5ea}.spectrum .p5{background:#ccecdf}
table{width:100%;border-collapse:collapse;margin-top:14px;font-size:.8rem}th,td{padding:11px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#f4f8fb;color:#395269}td{color:#596b7b}
.pyramid{display:grid;gap:5px;max-width:680px;margin:0 auto}.pyramid div{margin:auto;padding:9px;text-align:center;border-radius:9px;font-size:.75rem;font-weight:750}.pyramid div:nth-child(1){width:42%;background:#dff7ef}.pyramid div:nth-child(2){width:55%;background:#ddecfa}.pyramid div:nth-child(3){width:68%;background:#eee8ff}.pyramid div:nth-child(4){width:82%;background:#fff2d3}.pyramid div:nth-child(5){width:96%;background:#ffe5e5}
.metric-bars{display:grid;gap:9px}.metric-row{display:grid;grid-template-columns:160px 1fr 65px;gap:8px;align-items:center}.bar{height:11px;border-radius:999px;background:#edf2f6;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--blue))}.metric-row small{color:#65798b}
.exposure-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.exposure-map div{padding:13px;border-radius:13px;background:#fff;border:1px solid var(--line)}.exposure-map b{display:block;margin-bottom:4px}.exposure-map span{color:#6b7c8d;font-size:.72rem}
.callout{margin:15px 0;padding:14px 16px;border-left:5px solid var(--teal);border-radius:10px;background:#effbf8;color:#285f53}.callout.warn{border-left-color:var(--yellow);background:#fffdea;color:#695d1c}.callout.danger{border-left-color:var(--coral);background:#fff1f1;color:#873d3d}
.glossary{columns:2;column-gap:22px}.glossary div{break-inside:avoid;margin-bottom:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.glossary b{display:block}.glossary span{color:#65788a;font-size:.78rem;line-height:1.45}
.source-grid a{display:block;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;text-decoration:none}.source-grid strong,.source-grid span{display:block}.source-grid span{margin-top:4px;color:#687b8c;font-size:.76rem}
.hidden-by-search{display:none!important}.search-empty{display:none;padding:16px;margin-top:16px;border-radius:12px;background:#fff3f3;color:#8e4141}
footer{margin-top:30px;color:#728191;font-size:.76rem}
@media(max-width:960px){.book-shell{grid-template-columns:1fr}aside{position:relative;height:auto}.hero-grid{grid-template-columns:repeat(2,1fr)}.chapter-grid,.term-grid,.source-grid,.disease-grid{grid-template-columns:1fr}.exposure-map{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){main{padding:18px 12px 50px}.hero,.book-section{padding:20px}.hero-grid{grid-template-columns:1fr}.glossary{columns:1}.metric-row{grid-template-columns:110px 1fr 50px}.exposure-map{grid-template-columns:1fr}}


/* Beginner scientist + whole-person medical book v2 */
.starter-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.starter-steps article{position:relative;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f7fbfd)}
.starter-steps article>b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--mint),var(--cyan));color:#13425b;font:800 .75rem ui-monospace,monospace}
.starter-steps h3{margin:11px 0 5px}.starter-steps p{margin:0;color:var(--slate);font-size:.8rem;line-height:1.5}
.beginner-example{margin-top:16px;padding:15px 16px;border-radius:14px;background:linear-gradient(135deg,#eefbf7,#eef7ff);border:1px solid #cae8e4}
.beginner-example strong{display:block;margin-bottom:7px}.beginner-example code{display:block;padding:10px 12px;border-radius:10px;background:#fff;color:#20465f;font-size:.78rem;white-space:normal}.beginner-example p{margin:8px 0 0;color:#547083;font-size:.78rem;line-height:1.5}

.systems-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;position:relative}
.system-node{min-height:120px;padding:18px;border-radius:18px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(23,54,75,.05)}
.system-node b,.system-node span{display:block}.system-node b{font-size:1rem}.system-node span{margin-top:6px;color:#61788b;font-size:.75rem;line-height:1.5}
.system-node.immune{background:linear-gradient(145deg,#f4efff,#fff)}
.system-node.kidney{background:linear-gradient(145deg,#edf7ff,#fff)}
.system-node.metabolic{background:linear-gradient(145deg,#fff9dd,#fff)}
.system-node.pain{background:linear-gradient(145deg,#fff0f1,#fff)}
.system-node.brain{background:linear-gradient(145deg,#eef8ff,#fff)}
.system-node.environment{background:linear-gradient(145deg,#eafaf3,#fff)}
.map-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 20px}
.map-links span{padding:11px 12px;border-radius:12px;background:#f4f8fb;border-left:4px solid var(--teal);color:#4f6678;font-size:.76rem;line-height:1.4}
.source-line{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);color:#748596;font-size:.72rem;line-height:1.6}
.source-line a{color:#356d9b;font-weight:700;text-decoration:underline;text-underline-offset:2px}

.ckd-stage-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:15px 0}
.ckd-stage-chart div{display:grid;gap:3px;padding:12px 8px;border-radius:12px;text-align:center;border:1px solid var(--line)}
.ckd-stage-chart div:nth-child(1),.ckd-stage-chart div:nth-child(2){background:#e6f7ec}
.ckd-stage-chart div:nth-child(3){background:#fff6cf}
.ckd-stage-chart div:nth-child(4){background:#ffedcf}
.ckd-stage-chart div:nth-child(5){background:#ffe2d8}
.ckd-stage-chart div:nth-child(6){background:#ffd9dd}
.ckd-stage-chart b{font-size:.9rem}.ckd-stage-chart span{font:800 .8rem ui-monospace,monospace}.ckd-stage-chart small{color:#657789;font-size:.62rem;line-height:1.3}

.mind-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.mind-map div{padding:15px;border-radius:15px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7faff)}
.mind-map b,.mind-map span{display:block}.mind-map span{margin-top:5px;color:#6a7d8f;font-size:.72rem}
.mental-grid{margin-top:14px}
.matrix td:first-child{font-weight:800;color:#334f66}
.historical-bars{display:grid;gap:10px;margin-top:14px}
.historical-bars>div{display:grid;grid-template-columns:145px 1fr 58px;gap:9px;align-items:center}
.historical-bars span{font-size:.75rem;color:#566f82}.historical-bars i{display:block;height:14px;width:var(--w);max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--blue))}.historical-bars b{text-align:right;font-size:.75rem;color:#2f536f}

@media(max-width:980px){
  .starter-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .systems-map,.mind-map{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ckd-stage-chart{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .starter-steps,.systems-map,.mind-map,.map-links{grid-template-columns:1fr}
  .ckd-stage-chart{grid-template-columns:repeat(2,minmax(0,1fr))}
  .historical-bars>div{grid-template-columns:110px 1fr 48px}
}

