:root{
  --bg:#f8fbfc;
  --card:#ffffff;
  --ink:#102c67;
  --teal:#0d8a8f;
  --teal-soft:#dff1f0;
  --line:#9ed9da;
  --muted:#55657a;
  --danger:#d36464;
  --warning:#e6a84a;
  --success:#2d9d78;
  --shadow:0 12px 35px rgba(16,44,103,.08);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#f7fbfc 0%,#eef7f7 100%);
}
.page-shell{
  max-width:1180px;
  margin:0 auto;
  padding:24px 18px 56px;
}
.hero,.section-card,.section-nav,.site-footer{background:var(--card); box-shadow:var(--shadow); border:1px solid rgba(13,138,143,.12)}
.hero{
  position:relative;
  border-radius:32px;
  padding:36px 38px 30px;
  overflow:hidden;
}
.hero:before,.hero:after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  background:radial-gradient(circle at center, rgba(13,138,143,.18), rgba(13,138,143,0));
  pointer-events:none;
}
.hero:before{left:-80px;top:-90px}
.hero:after{right:-80px;bottom:-110px}
.hero-topline{
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.83rem;
  color:var(--teal);
  font-weight:700;
  margin-bottom:10px;
}
.hero h1,.section-heading h2{
  font-family:'Playfair Display','Source Serif 4',serif;
  margin:0;
  line-height:1.04;
}
.hero h1{font-size:4rem;margin-bottom:8px}
.hero-subtitle{
  font-family:'Source Serif 4',serif;
  font-size:2rem;
  color:var(--teal);
  margin:0 0 10px;
}
.hero-text{max-width:850px; font-size:1.05rem; color:var(--muted); line-height:1.7}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-chips span{
  background:var(--teal-soft);
  color:var(--ink);
  border:1px solid rgba(13,138,143,.15);
  padding:10px 14px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
}
.section-nav{
  display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
  border-radius:20px; padding:14px; margin:18px 0 22px;
  position:sticky; top:8px; z-index:10; backdrop-filter:blur(8px);
}
.section-nav a{
  text-decoration:none; color:var(--ink); font-weight:600; padding:8px 14px; border-radius:999px;
}
.section-nav a:hover{background:var(--teal-soft); color:var(--teal)}
.section-card{
  border-radius:30px;
  padding:30px 28px;
  margin-bottom:22px;
}
.section-heading{margin-bottom:18px}
.section-kicker{
  display:inline-block; font-size:.85rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--teal); background:var(--teal-soft); padding:7px 12px; border-radius:999px; margin-bottom:10px;
}
.section-heading h2{font-size:2.35rem;margin-bottom:8px}
.section-heading p{max-width:880px;color:var(--muted);line-height:1.75;font-size:1rem}
.case-layout,.sim-layout{display:grid;grid-template-columns:340px 1fr;gap:20px}
.patient-summary,.monitor-panel,.trend-panel,.controls-panel,.results-panel{
  background:linear-gradient(180deg,#fbfeff,#f5fafb);
  border:1px solid rgba(13,138,143,.15);
  border-radius:24px;
  padding:20px;
}
.patient-badge,.status-pill{
  display:inline-flex; align-items:center; gap:8px; background:var(--teal-soft); color:var(--teal);
  padding:8px 12px; border-radius:999px; font-weight:700; font-size:.9rem;
}
.patient-summary h3,.monitor-header h3,.trend-panel h3{font-family:'Source Serif 4',serif; font-size:1.8rem; margin:12px 0 10px}
.patient-summary p,.patient-highlights div,.trend-box p,.algorithm-callout p,.interpretation-box,.quiz-explanation,.summary-grid p{line-height:1.7}
.patient-highlights{display:grid;gap:10px;margin:16px 0}
.patient-highlights div{background:#fff;border:1px solid rgba(13,138,143,.12);border-radius:16px;padding:12px 14px;color:var(--muted)}
.timeline-buttons{display:grid;gap:10px;margin-top:14px}
.timeline-buttons button{
  border:none; background:#fff; border:1px solid rgba(13,138,143,.15); color:var(--ink); padding:12px 14px; border-radius:16px;
  text-align:left; font-weight:700; cursor:pointer; transition:.2s ease;
}
.timeline-buttons button small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
.timeline-buttons button.active,.timeline-buttons button:hover{background:var(--teal-soft); border-color:var(--teal); transform:translateY(-1px)}
.case-details{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.monitor-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.vitals-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px;
}
.vital-card{background:#fff;border:1px solid rgba(13,138,143,.12);border-radius:18px;padding:14px}
.vital-card span{display:block;color:var(--muted);font-size:.88rem;margin-bottom:6px}
.vital-card strong{font-size:1.35rem;font-family:'Source Serif 4',serif}
.trend-box,.algorithm-callout,.interpretation-box{background:#fff;border-radius:18px;padding:16px;border:1px solid rgba(13,138,143,.12)}
.trend-box h4,.algorithm-callout h4{margin:0 0 8px;font-size:1.05rem}
.simple-chart{margin-bottom:18px}
.chart-header{display:flex;justify-content:space-between;font-weight:700;margin-bottom:10px}
.bars{display:flex;gap:10px;align-items:flex-end;height:140px;background:linear-gradient(180deg,#f3fbfb,#fbfefe);padding:16px;border-radius:18px;border:1px solid rgba(13,138,143,.12)}
.bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.bar{width:100%;max-width:40px;background:linear-gradient(180deg,#4bbab7,#0d8a8f);border-radius:10px 10px 4px 4px;transition:.3s ease}
.bars.lactate .bar{background:linear-gradient(180deg,#9ad8da,#2f9a96)}
.bar-label{font-size:.8rem;color:var(--muted)}
.bar-value{font-size:.82rem;font-weight:700;color:var(--ink)}
.control-block{margin-bottom:16px}
.control-block label{display:flex;justify-content:space-between;gap:10px;font-weight:700;margin-bottom:6px}
input[type=range]{width:100%; accent-color:var(--teal)}
.matrix-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.matrix-box{padding:18px;border-radius:20px;color:#fff;min-height:108px;display:flex;flex-direction:column;justify-content:space-between}
.matrix-box strong{font-size:2rem;font-family:'Source Serif 4',serif}
.true-positive{background:linear-gradient(180deg,#48b88e,#2d9d78)}
.false-positive{background:linear-gradient(180deg,#eda95a,#d88f35)}
.false-negative{background:linear-gradient(180deg,#ef8d8d,#d36464)}
.true-negative{background:linear-gradient(180deg,#67a7d8,#417db0)}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.metric-card{background:#fff;border:1px solid rgba(13,138,143,.12);border-radius:18px;padding:14px}
.metric-card span{display:block;font-size:.88rem;color:var(--muted);margin-bottom:6px}
.metric-card strong{font-size:1.45rem;font-family:'Source Serif 4',serif}
.quiz-container{display:grid;gap:18px}
.quiz-question{background:linear-gradient(180deg,#fbfeff,#f5fafb);border:1px solid rgba(13,138,143,.14);border-radius:22px;padding:18px}
.quiz-question h3{margin:0 0 10px;font-size:1.2rem;font-family:'Source Serif 4',serif}
.quiz-options{display:grid;gap:10px}
.quiz-option{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid rgba(13,138,143,.12);border-radius:14px;padding:12px;cursor:pointer}
.quiz-option input{margin-top:4px}
.quiz-option.correct{border-color:var(--success);background:#effaf5}
.quiz-option.incorrect{border-color:var(--danger);background:#fff2f2}
.quiz-explanation{display:none;margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff;border-left:4px solid var(--teal);color:var(--muted)}
.quiz-explanation.visible{display:block}
.quiz-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.primary-btn,.secondary-btn{border:none;padding:12px 18px;border-radius:14px;font-weight:700;cursor:pointer}
.primary-btn{background:var(--teal);color:#fff}
.secondary-btn{background:#edf5f6;color:var(--ink)}
.quiz-score{margin-top:16px;font-size:1.05rem;font-weight:700}
.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.summary-grid article{background:linear-gradient(180deg,#fbfeff,#f5fafb);border:1px solid rgba(13,138,143,.14);border-radius:22px;padding:18px}
.summary-grid h3{margin:0 0 8px;font-family:'Source Serif 4',serif;font-size:1.35rem}
.reference-list{padding-left:22px;line-height:1.9;color:var(--ink)}
.site-footer{text-align:center;padding:22px;border-radius:24px;color:var(--muted)}
@media (max-width: 980px){
  .case-layout,.sim-layout,.case-details,.summary-grid{grid-template-columns:1fr}
  .vitals-grid,.metrics-grid{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:3rem}.hero-subtitle{font-size:1.6rem}
}
@media (max-width: 640px){
  .page-shell{padding:14px 10px 40px}
  .hero,.section-card{padding:22px 16px}
  .hero h1{font-size:2.45rem}.hero-subtitle{font-size:1.35rem}
  .section-heading h2{font-size:1.9rem}
  .vitals-grid,.metrics-grid,.matrix-grid{grid-template-columns:1fr}
}
