:root {
  --bg: #07101d;
  --bg-elev: #0b1728;
  --bg-soft: #0f1e32;
  --text: #eef8ff;
  --muted: #9bb0c4;
  --muted-2: #6f8498;
  --line: rgba(135, 201, 226, .16);
  --line-strong: rgba(135, 221, 238, .28);
  --glass: rgba(12, 28, 46, .62);
  --glass-strong: rgba(8, 23, 39, .82);
  --primary: #38c8d8;
  --primary-2: #0a9ba8;
  --blue: #4fa7ff;
  --medical-blue: #07538c;
  --success: #62d7a2;
  --warning: #ffd166;
  --danger: #ff7b86;
  --shadow: 0 24px 70px rgba(0,0,0,.32);
  --radius: 24px;
  --radius-sm: 16px;
  --shell: min(1180px, calc(100% - 36px));
  --topbar: 72px;
}

html[data-theme="light"] {
  --bg: #edf7fb;
  --bg-elev: #ffffff;
  --bg-soft: #e7f2f8;
  --text: #102538;
  --muted: #526a7d;
  --muted-2: #748799;
  --line: rgba(7, 83, 140, .12);
  --line-strong: rgba(10, 155, 168, .24);
  --glass: rgba(255,255,255,.74);
  --glass-strong: rgba(255,255,255,.9);
  --shadow: 0 24px 70px rgba(17,55,75,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  overflow-x: hidden;
}
body.no-scroll { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }

.ambient { position: fixed; width: 44vw; height: 44vw; border-radius: 50%; filter: blur(90px); opacity: .13; pointer-events: none; z-index: -3; }
.ambient-a { top: -18vw; left: -10vw; background: #0bc5d8; }
.ambient-b { right: -18vw; top: 28vh; background: #1669c8; }
.grid-overlay {
  position: fixed; inset: 0; z-index: -2; pointer-events: none; opacity: .32;
  background-image: linear-gradient(rgba(103,191,220,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(103,191,220,.035) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.shell { width: var(--shell); margin-inline: auto; }
.glass { background: var(--glass); border: 1px solid var(--line); box-shadow: 0 14px 40px rgba(0,0,0,.10); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.glass-strong { background: var(--glass-strong); border: 1px solid var(--line-strong); box-shadow: var(--shadow); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }

.topbar {
  position: fixed; top: 14px; left: 50%; transform: translateX(-50%); z-index: 100;
  width: min(1220px, calc(100% - 28px)); height: var(--topbar); border-radius: 22px;
  display: flex; align-items: center; padding: 0 16px 0 18px; gap: 20px;
}
.brand { display: flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark { width: 42px; height: 42px; filter: drop-shadow(0 7px 16px rgba(56,200,216,.18)); }
.brand-copy { display: grid; line-height: 1.08; }
.brand-copy strong { letter-spacing: .13em; font-size: 12px; color: var(--primary); }
.brand-copy span { font-weight: 760; font-size: 16px; }
.desktop-nav { display: flex; margin: 0 auto; align-items: center; gap: 5px; }
.desktop-nav a { color: var(--muted); font-size: 13.5px; font-weight: 650; padding: 10px 11px; border-radius: 12px; transition: .22s ease; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--text); background: rgba(56,200,216,.09); }
.top-actions { display: flex; align-items: center; gap: 8px; }
.icon-btn { width: 42px; height: 42px; border-radius: 13px; background: rgba(255,255,255,.035); border: 1px solid var(--line); display: inline-grid; place-items: center; cursor: pointer; font-size: 19px; }
.install-btn, .complete-btn { border: 1px solid rgba(56,200,216,.25); background: rgba(56,200,216,.12); color: var(--text); border-radius: 13px; min-height: 42px; padding: 0 14px; font-weight: 720; cursor: pointer; }

main { min-height: 100vh; }
.view { display: none; padding: calc(var(--topbar) + 56px) 0 120px; }
.view.active { display: block; animation: viewIn .33s ease; }
@keyframes viewIn { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: none; } }

.hero { min-height: min(700px, calc(100vh - 80px)); display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 54px; padding-top: 25px; }
.hero-copy { padding: 28px 0; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: .14em; font-weight: 780; font-size: 11px; color: var(--primary); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--line); background: rgba(56,200,216,.045); padding: 8px 11px; border-radius: 999px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(98,215,162,.12); }
.hero h1, .page-head h1 { margin: 22px 0 18px; font-size: clamp(44px, 5.8vw, 78px); letter-spacing: -.045em; line-height: .98; max-width: 850px; }
.hero h1 span { display: block; background: linear-gradient(120deg, #7ce7ee, #4fa7ff 68%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lead { max-width: 720px; color: var(--muted); font-size: clamp(17px, 2vw, 21px); margin: 0 0 26px; }
.search-shell { height: 66px; border-radius: 19px; display: flex; align-items: center; gap: 12px; padding: 0 14px 0 18px; max-width: 720px; color: var(--muted); }
.search-shell input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 16px; }
.search-shell input::placeholder { color: var(--muted-2); }
kbd { color: var(--muted-2); border: 1px solid var(--line); background: rgba(255,255,255,.04); padding: 4px 7px; border-radius: 8px; font-family: inherit; font-size: 11px; }
.quick-hints { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.quick-hints button { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 12.5px; padding: 5px 0; margin-right: 10px; }
.quick-hints button:hover { color: var(--primary); }
.hero-cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.primary-cta, .secondary-cta { min-height: 50px; border-radius: 15px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; font-weight: 760; cursor: pointer; }
.primary-cta { border: 1px solid rgba(93,226,236,.42); color: #04151b; background: linear-gradient(135deg, #6ce0e7, #45b7df); box-shadow: 0 13px 30px rgba(56,200,216,.18); }
.secondary-cta { border: 1px solid var(--line); color: var(--text); background: rgba(255,255,255,.035); }

.hero-visual { position: relative; min-height: 510px; display: grid; place-items: center; }
.orbital-card { width: min(460px, 100%); aspect-ratio: 1; border-radius: 36px; position: relative; display: grid; place-items: center; overflow: hidden; }
.orbital-card::before { content:""; position:absolute; inset:12%; border-radius:50%; background: radial-gradient(circle, rgba(56,200,216,.16), transparent 66%); filter: blur(8px); }
.orbit { position: absolute; border: 1px solid rgba(103,210,228,.18); border-radius: 50%; }
.orbit::after { content:""; position:absolute; width:8px; height:8px; background:var(--primary); border-radius:50%; top:-4px; left:50%; box-shadow:0 0 18px var(--primary); }
.orbit-1 { width: 68%; height: 68%; animation: spin 14s linear infinite; }
.orbit-2 { width: 85%; height: 43%; transform: rotate(28deg); animation: spin2 18s linear infinite; }
.orbit-3 { width: 45%; height: 84%; transform: rotate(-31deg); animation: spin3 22s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spin2 { from{transform:rotate(28deg)} to{transform:rotate(388deg)} }
@keyframes spin3 { from{transform:rotate(-31deg)} to{transform:rotate(329deg)} }
.pulse-core { width: 126px; height: 126px; border-radius: 34px; display:grid; place-items:center; background: linear-gradient(145deg, rgba(56,200,216,.18), rgba(79,167,255,.11)); border:1px solid rgba(95,224,236,.28); box-shadow:0 0 55px rgba(56,200,216,.16); z-index:2; }
.pulse-core img { width: 80px; height: 80px; }
.ecg { position:absolute; bottom: 35px; left:0; width:100%; height:105px; color:rgba(95,224,236,.45); }
.visual-tag { position:absolute; z-index:3; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text); background:rgba(8,23,39,.78); border:1px solid var(--line); padding:8px 11px; border-radius:999px; }
.tag-a { top:14%; left:8%; } .tag-b { right:9%; top:30%; } .tag-c { bottom:17%; left:13%; }

.section-block { margin-top: 92px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.section-heading h2, .panel h2, .statement h2, .calculator-demo h2, .future-panel h2 { margin:5px 0 0; font-size:clamp(25px,3vw,36px); letter-spacing:-.025em; line-height:1.1; }
.section-heading > a, .text-btn { color:var(--primary); font-size:13px; font-weight:720; }
.text-btn { background:transparent; border:0; cursor:pointer; }

.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.quick-card { border-radius:19px; min-height:130px; padding:18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:3px; cursor:pointer; color:var(--text); text-align:left; transition:transform .22s ease,border-color .22s ease; }
.quick-card:hover { transform:translateY(-4px); border-color:rgba(80,209,221,.35); }
.quick-icon { margin-bottom:auto; width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(56,200,216,.09);color:var(--primary);font-weight:900;font-size:15px; }
.quick-card strong { font-size:15px; } .quick-card small { color:var(--muted); }

.track-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.track-card { position:relative; border-radius:22px; padding:22px; min-height:240px; overflow:hidden; cursor:pointer; transition:.24s ease; }
.track-card:hover { transform:translateY(-4px); border-color:var(--line-strong); }
.track-index { font-size:11px; letter-spacing:.16em; color:var(--primary); font-weight:850; }
.track-card h3 { margin:18px 0 8px; font-size:23px; letter-spacing:-.02em; }
.track-card p { color:var(--muted); font-size:14px; margin:0 0 24px; }
.track-count { position:absolute; bottom:20px; left:22px; color:var(--muted-2); font-size:12px; }
.track-arrow { position:absolute; right:18px; bottom:17px; width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(56,200,216,.08);color:var(--primary); }

.specialty-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.specialty-grid.large { margin-top:18px; }
.specialty-card { border-radius:22px; padding:22px; min-height:220px; display:flex; flex-direction:column; cursor:pointer; transition:.22s ease; }
.specialty-card:hover { transform:translateY(-4px); border-color:var(--line-strong); }
.specialty-icon { width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb, var(--spec-accent) 14%, transparent); color:var(--spec-accent);font-weight:900;font-size:19px;border:1px solid color-mix(in srgb, var(--spec-accent) 24%, transparent); }
.specialty-card h3 { margin:18px 0 7px; font-size:21px; }
.specialty-card p { color:var(--muted); font-size:13.5px; margin:0; }
.specialty-footer { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; color:var(--muted-2); font-size:12px; }

.two-col-home { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.panel { border-radius:24px; padding:24px; }
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.mini-badge { font-size:10px; font-weight:800; letter-spacing:.1em; color:var(--success); border:1px solid rgba(98,215,162,.2); background:rgba(98,215,162,.07); padding:5px 8px; border-radius:999px; text-transform:uppercase; }
.progress-ring-wrap { display:grid; grid-template-columns:100px 1fr; gap:18px; align-items:center; margin-top:26px; }
.progress-ring { --p:0; width:92px;height:92px;border-radius:50%; display:grid;place-items:center; background:conic-gradient(var(--primary) calc(var(--p)*1%), rgba(255,255,255,.06) 0); position:relative; }
.progress-ring::after { content:""; position:absolute; inset:9px; border-radius:50%; background:var(--bg-elev); }
.progress-ring span { position:relative; z-index:1; font-weight:850; }
.progress-ring-wrap p { margin:4px 0 0;color:var(--muted);font-size:13px; }
.recent-list, .featured-list { display:grid; gap:9px; margin-top:20px; }
.mini-topic { width:100%; border:1px solid var(--line); background:rgba(255,255,255,.025); color:var(--text); border-radius:15px; padding:12px 13px; display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer; }
.mini-topic span { display:grid; }
.mini-topic small { color:var(--muted); margin-top:2px; }
.empty-state { color:var(--muted-2); font-size:13px; }
.statement { border-radius:28px; padding:34px; display:grid;grid-template-columns:1.2fr .8fr; gap:34px; align-items:center; }
.statement p { color:var(--muted); margin:0; }

.page-head { padding-top:34px; padding-bottom:20px; }
.page-head h1 { font-size:clamp(39px,5vw,68px); max-width:970px; margin-bottom:16px; }
.page-head p { color:var(--muted); font-size:18px; max-width:800px; margin:0; }
.route-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:30px; }
.route-step { position:relative; border-radius:22px; padding:22px; min-height:210px; cursor:pointer; transition:.22s ease; }
.route-step:hover,.route-step.active { border-color:var(--line-strong); transform:translateY(-3px); }
.route-step::before { content:attr(data-number); color:rgba(56,200,216,.17); font-size:55px; line-height:1; font-weight:900; position:absolute; right:16px; top:12px; }
.route-step h3 { margin:42px 0 7px;font-size:21px; } .route-step p{margin:0;color:var(--muted);font-size:13px;}

.filter-row, .search-filters, .tool-tabs, .tabs-line { display:flex; gap:8px; flex-wrap:wrap; }
.filter-row button, .search-filters button, .tool-tabs button, .tabs-line button { border:1px solid var(--line); background:rgba(255,255,255,.025); color:var(--muted); padding:9px 12px; border-radius:999px; cursor:pointer; font-size:12px; font-weight:720; }
.filter-row button.active, .search-filters button.active, .tool-tabs button.active, .tabs-line button.active { color:#06161b; background:var(--primary); border-color:transparent; }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
.topic-card { position:relative; border-radius:19px; padding:18px; min-height:190px; display:flex; flex-direction:column; transition:.22s ease; cursor:pointer; }
.topic-card:hover { transform:translateY(-3px); border-color:var(--line-strong); }
.topic-card-top { display:flex; justify-content:space-between; gap:8px; }
.topic-tags { display:flex;gap:5px;flex-wrap:wrap; }
.topic-tag { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--primary); padding:4px 7px; border-radius:999px; background:rgba(56,200,216,.07); border:1px solid rgba(56,200,216,.12); }
.star-btn { position:relative; z-index:2; width:31px;height:31px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer; }
.star-btn.active { color:var(--warning); }
.topic-card h3 { margin:14px 0 7px; font-size:18px; line-height:1.25; }
.topic-card p { margin:0;color:var(--muted);font-size:13px; }
.topic-card-foot { margin-top:auto; padding-top:17px; display:flex;justify-content:space-between;color:var(--muted-2);font-size:11px; }

.tool-tabs { margin-top:26px; }
.calculator-demo { border-radius:26px;padding:28px;display:grid;grid-template-columns:1fr 1.15fr .8fr;gap:24px;align-items:end; }
.calculator-demo p{color:var(--muted);font-size:13px;margin:8px 0 0}.calc-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.calc-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.calc-form input{height:48px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);border-radius:13px;padding:0 12px;outline:0}.calc-form .primary-cta{border:0}.calc-result{border-left:1px solid var(--line);padding-left:22px;min-height:72px;display:flex;align-items:center;color:var(--muted);font-size:14px}.calc-result strong{font-size:28px;color:var(--text);display:block;line-height:1.1}

.tabs-line { margin-top:20px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.methodology-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.method-card{border-radius:20px;padding:20px}.method-card>span{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--primary)}.method-card h3{margin:35px 0 7px;font-size:19px}.method-card p{margin:0;color:var(--muted);font-size:13px}
.source-list{display:grid;gap:9px}.source-item{border:1px solid var(--line);border-radius:17px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:rgba(255,255,255,.018)}.source-item h3{font-size:15px;margin:0 0 3px}.source-item p{margin:0;color:var(--muted);font-size:12.5px}.source-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.source-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;padding:3px 6px;color:var(--muted-2)}.source-item a{color:var(--primary);font-size:12px;font-weight:760}.safety-note{border-radius:24px;padding:25px;display:grid;grid-template-columns:48px 1fr;gap:17px}.safety-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,123,134,.1);border:1px solid rgba(255,123,134,.2);color:var(--danger);font-weight:900}.safety-note h2{margin:0 0 5px;font-size:21px}.safety-note p{margin:0;color:var(--muted);font-size:13px}

.ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.ecosystem-card{border-radius:24px;padding:24px;min-height:280px;display:flex;gap:18px;align-items:flex-start;transition:.22s ease}.ecosystem-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}.ecosystem-symbol{width:55px;height:55px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center;font-size:23px;font-weight:900;color:var(--primary);background:rgba(56,200,216,.08);border:1px solid rgba(56,200,216,.18)}.ecosystem-card h2{font-size:24px;line-height:1.08;margin:10px 0}.ecosystem-card p{color:var(--muted);font-size:13px}.external{display:inline-block;color:var(--primary);font-weight:760;font-size:12px;margin-top:15px}.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.book-card{border-radius:24px;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(56,200,216,.025));border:1px solid var(--line);box-shadow:0 18px 54px rgba(0,0,0,.18);transition:.25s ease}.book-card:hover{transform:translateY(-5px);border-color:rgba(56,200,216,.36);box-shadow:0 24px 70px rgba(0,0,0,.28)}.book-cover-link{position:relative;display:block;aspect-ratio:2/3;background:linear-gradient(180deg,rgba(8,19,33,.9),rgba(5,12,23,.96));overflow:hidden}.book-cover{width:100%;height:100%;display:block;object-fit:contain;background:#09111c;transition:transform .35s ease}.book-card:hover .book-cover{transform:scale(1.018)}.book-badge{position:absolute;left:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(4,13,24,.82);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.book-copy{padding:18px 18px 20px;display:flex;flex-direction:column;min-height:136px}.book-card h3{font-size:17px;line-height:1.24;margin:0 0 7px}.book-card p{font-size:11px;color:var(--muted);margin:0}.book-card .book-copy>a{margin-top:auto;padding-top:18px;color:var(--primary);font-size:11px;font-weight:760}.future-panel{border-radius:24px;padding:28px;display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;align-items:center}.future-panel p{color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.about-grid .panel{min-height:220px}.about-grid p{color:var(--muted);font-size:14px}

.pwa-channel-card .install-btn{margin-top:10px}

.bottom-nav { display:none; }

.search-overlay { position:fixed;inset:0;z-index:500;background:rgba(2,7,13,.74);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:.22s ease;padding:8vh 16px;overflow:auto }.search-overlay.open{opacity:1;pointer-events:auto}.search-panel{width:min(850px,100%);margin:0 auto;border-radius:28px;padding:25px}.search-panel-head{display:flex;justify-content:space-between;gap:20px}.search-panel-head h2{font-size:29px;margin:5px 0 0}.global-search-box{height:62px;border:1px solid var(--line-strong);background:rgba(255,255,255,.035);border-radius:18px;margin:22px 0 13px;display:flex;align-items:center;gap:11px;padding:0 16px;color:var(--muted)}.global-search-box input{flex:1;height:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.search-results{display:grid;gap:8px;max-height:52vh;overflow:auto;margin-top:15px;padding-right:3px}.search-result{border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:rgba(255,255,255,.025);cursor:pointer;display:flex;justify-content:space-between;gap:15px}.search-result:hover{border-color:var(--line-strong)}.search-result strong{display:block;font-size:14px}.search-result small{color:var(--muted);font-size:11px}.search-result>span:last-child{color:var(--primary)}

.topic-drawer { position:fixed;inset:0;z-index:550;pointer-events:none }.topic-drawer.open{pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;background:rgba(2,7,13,.72);opacity:0;transition:.25s ease}.topic-drawer.open .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(760px,100%);background:var(--bg-elev);border-left:1px solid var(--line);transform:translateX(100%);transition:.34s cubic-bezier(.22,.85,.34,1);box-shadow:-30px 0 80px rgba(0,0,0,.35);display:flex;flex-direction:column}.topic-drawer.open .drawer-panel{transform:none}.drawer-top{height:72px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(8,23,39,.5);backdrop-filter:blur(16px)}html[data-theme="light"] .drawer-top{background:rgba(255,255,255,.7)}.drawer-actions{display:flex;gap:8px;align-items:center}.drawer-scroll{overflow:auto;padding:32px clamp(22px,5vw,50px) 70px}.topic-meta{display:flex;gap:6px;flex-wrap:wrap}.drawer-scroll h1{font-size:clamp(35px,5vw,55px);line-height:1.03;letter-spacing:-.035em;margin:17px 0 13px}.topic-summary{color:var(--muted);font-size:17px;margin:0 0 30px}.topic-section{padding:22px 0;border-top:1px solid var(--line)}.topic-section h2{font-size:18px;margin:0 0 11px}.topic-section ul{margin:0;padding-left:19px;color:var(--muted)}.topic-section li{margin:7px 0}.topic-callout{border-radius:16px;border:1px solid rgba(56,200,216,.18);background:rgba(56,200,216,.055);padding:15px;color:var(--muted);font-size:13px}.topic-source-box{margin-top:30px;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:17px;padding:16px}.topic-source-box h3{font-size:13px;margin:0 0 8px}.topic-source-box p{font-size:12px;color:var(--muted);margin:4px 0}

.more-sheet{position:fixed;inset:0;z-index:520;pointer-events:none}.more-sheet.open{pointer-events:auto}.sheet-backdrop{position:absolute;inset:0;background:rgba(2,7,13,.6);opacity:0;transition:.2s}.more-sheet.open .sheet-backdrop{opacity:1}.sheet-panel{position:absolute;left:10px;right:10px;bottom:10px;border-radius:24px;padding:10px 14px calc(18px + env(safe-area-inset-bottom));transform:translateY(120%);transition:.3s cubic-bezier(.22,.85,.34,1)}.more-sheet.open .sheet-panel{transform:none}.sheet-handle{width:42px;height:4px;background:var(--line-strong);border-radius:999px;margin:2px auto 8px}.sheet-panel a,.sheet-panel button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:16px 4px;display:flex;justify-content:space-between;cursor:pointer;text-align:left}.sheet-panel>*:last-child{border-bottom:0}
.install-overlay{position:fixed;inset:0;z-index:540;pointer-events:none}.install-overlay.open{pointer-events:auto}.install-backdrop{position:absolute;inset:0;background:rgba(2,7,13,.72);opacity:0;transition:.22s ease}.install-overlay.open .install-backdrop{opacity:1}.install-panel{position:absolute;left:50%;top:50%;width:min(560px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,calc(-50% + 24px));opacity:0;border-radius:26px;padding:25px;transition:.24s ease}.install-overlay.open .install-panel{transform:translate(-50%,-50%);opacity:1}.install-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.install-panel-head h2{font-size:29px;margin:5px 0 0}.install-panel>p{color:var(--muted);font-size:13px;line-height:1.65}.install-platform-card{margin-top:18px;border:1px solid var(--line-strong);border-radius:18px;padding:17px;background:rgba(56,200,216,.045)}.install-platform-card strong{color:var(--primary)}.install-platform-card ol{margin:12px 0 0;padding-left:22px;color:var(--muted);font-size:13px;line-height:1.65}.install-note{font-size:11px!important;color:var(--muted-2)!important}
.toast{position:fixed;left:50%;bottom:28px;z-index:700;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#07131d;color:white;border:1px solid rgba(116,223,235,.25);box-shadow:0 12px 35px rgba(0,0,0,.32);border-radius:999px;padding:10px 16px;font-size:12px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}

/* v0.13.5 · Home alignment: the clinical status capsule and the square visual card
   share the same horizontal start line on desktop, then the whole hero moves
   modestly upward without changing the frozen Anatomy Lab geometry. */
@media (min-width: 1041px) {
  #inicio.view { padding-top: calc(var(--topbar) + 34px); }
  #inicio .hero { align-items: start; padding-top: 14px; }
  #inicio .hero-copy { padding-top: 28px; }
  #inicio .hero-visual { align-self: start; min-height: 510px; place-items: center; }
}

@media (max-width: 1040px) {
  .desktop-nav { display:none; }
  .top-actions { margin-left:auto; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:64px; }
  .hero-visual { min-height:420px; }
  .orbital-card{width:min(520px,80vw);}
  .quick-grid { grid-template-columns:repeat(4,1fr); }
  .track-grid { grid-template-columns:repeat(2,1fr); }
  .specialty-grid { grid-template-columns:repeat(2,1fr); }
  .route-timeline { grid-template-columns:repeat(2,1fr); }
  .methodology-grid{grid-template-columns:repeat(2,1fr)}
  .ecosystem-grid{grid-template-columns:1fr}.ecosystem-card{min-height:unset}.books-grid{grid-template-columns:repeat(2,1fr)}
  .calculator-demo{grid-template-columns:1fr}.calc-result{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}
}

@media (max-width: 720px) {
  :root { --shell: min(100% - 24px, 1180px); --topbar: 62px; }
  body { padding-bottom: 76px; }
  .topbar { top:8px;width:calc(100% - 16px);border-radius:18px;height:62px;padding:0 10px 0 12px; }
  .brand-mark{width:36px;height:36px}.brand-copy strong{font-size:10px}.brand-copy span{font-size:14px}.top-actions .install-btn{display:none!important}.top-actions .icon-btn{width:38px;height:38px}
  .view { padding-top: 92px; padding-bottom: 82px; }
  .hero { display:block; padding-top:35px; }
  .hero-copy { padding:10px 0; }
  .hero h1,.page-head h1 { font-size:clamp(40px,13vw,60px); }
  .hero-lead{font-size:16px}.search-shell{height:60px}.search-shell kbd{display:none}.hero-cta-row>*{width:100%}.hero-visual{min-height:350px;margin-top:30px}.orbital-card{width:100%;max-width:390px;border-radius:28px}.visual-tag{font-size:9px}
  .section-block{margin-top:68px}.section-heading{align-items:flex-start}.section-heading>a{display:none}.quick-grid{grid-template-columns:repeat(2,1fr);gap:9px}.quick-card{min-height:120px;padding:15px}.track-grid,.specialty-grid,.content-grid,.two-col-home,.route-timeline,.methodology-grid,.books-grid,.about-grid{grid-template-columns:1fr}.track-card{min-height:210px}.specialty-card{min-height:190px}.statement,.future-panel{grid-template-columns:1fr;padding:23px}.progress-ring-wrap{grid-template-columns:86px 1fr}.progress-ring{width:80px;height:80px}.route-step{min-height:170px}.calculator-demo{padding:22px}.calc-form{grid-template-columns:1fr 1fr}.calc-form .primary-cta{grid-column:1/-1;width:100%}.source-item{grid-template-columns:1fr}.ecosystem-card{padding:20px}.books-grid{grid-template-columns:repeat(2,1fr)}.book-card{min-height:210px}
  .bottom-nav { position:fixed;z-index:120;left:7px;right:7px;bottom:7px;height:66px;border-radius:20px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom); }
  .bottom-nav a,.bottom-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;padding:3px}.bottom-nav span{font-size:18px;line-height:1}.bottom-nav small{font-size:9px;font-weight:700}.bottom-nav a.active{color:var(--primary)}
  .search-overlay{padding:10px 7px 80px}.search-panel{padding:20px 16px;border-radius:23px;min-height:calc(100vh - 100px)}.search-results{max-height:62vh}.drawer-panel{border-left:0}.drawer-scroll{padding:25px 18px 65px}.drawer-scroll h1{font-size:38px}.topic-summary{font-size:15px}.complete-btn{font-size:11px;padding:0 10px}.install-panel{padding:22px 18px}.install-panel-head h2{font-size:25px}.toast{bottom:86px;max-width:calc(100% - 30px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

@media (max-width: 420px) {
  .books-grid { grid-template-columns:1fr; }
  .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-card strong { font-size:14px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* =========================================================
   MedEssentials v0.2 · Clinical learning cards
   ========================================================= */
.evidence-mini{border-color:rgba(98,215,162,.28)!important;background:rgba(98,215,162,.08)!important;color:var(--success)!important;font-weight:820}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h2{margin:0!important}
.evidence-badge,.curriculum-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:9px;letter-spacing:.1em;font-weight:850;text-transform:uppercase;border:1px solid rgba(56,200,216,.22);background:rgba(56,200,216,.06);color:var(--primary)}
.evidence-badge.strong{border-color:rgba(98,215,162,.28);background:rgba(98,215,162,.08);color:var(--success)}
.curriculum-badge{color:var(--muted);border-color:var(--line);background:rgba(255,255,255,.025)}
.compact-objectives{padding-top:4px;border-top:0}.compact-objectives ul{columns:2;column-gap:30px}
.learning-hero{margin:4px 0 18px;border:1px solid rgba(98,215,162,.18);background:radial-gradient(circle at 95% 8%,rgba(56,200,216,.11),transparent 38%),linear-gradient(135deg,rgba(98,215,162,.045),rgba(255,255,255,.018));border-radius:22px;padding:20px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.learning-hero h2{margin:12px 0 5px;font-size:25px}.learning-hero p{margin:0;color:var(--muted);font-size:13px}.review-stamp{text-align:right;min-width:130px}.review-stamp span{display:block;color:var(--muted-2);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.review-stamp strong{display:block;margin-top:5px;color:var(--text);font-size:12px}
.key-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px}.key-number{border:1px solid rgba(56,200,216,.16);background:rgba(56,200,216,.035);border-radius:14px;padding:11px 13px}.key-number span{display:block;color:var(--primary);font-size:8px;letter-spacing:.12em;font-weight:900}.key-number strong{display:block;margin-top:4px;font-size:11.5px;line-height:1.4}
.clinical-cards{display:grid;grid-template-columns:1fr;gap:8px}.clinical-card{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;border:1px solid var(--line);background:rgba(255,255,255,.018);border-radius:15px;padding:13px}.clinical-card>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(56,200,216,.07);border:1px solid rgba(56,200,216,.13);color:var(--primary);font-size:9px;font-weight:900}.clinical-card p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.danger-section{margin-top:3px;padding:18px!important;border:1px solid rgba(255,105,120,.17)!important;background:rgba(255,105,120,.035);border-radius:17px}.danger-section h2{color:#ff9aa7}.danger-section ul{color:var(--text)!important}.management-section{padding-left:18px!important;padding-right:18px!important;border:1px solid rgba(56,200,216,.14)!important;background:rgba(56,200,216,.025);border-radius:17px}.soft-section{background:rgba(255,255,255,.012)}
.algorithm-flow{display:grid;gap:7px}.algorithm-step{display:grid;grid-template-columns:31px 1fr;gap:11px;align-items:center;position:relative}.algorithm-step:not(:last-child)::after{content:"";position:absolute;left:15px;top:31px;width:1px;height:15px;background:linear-gradient(var(--primary),transparent)}.algorithm-step>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(56,200,216,.09);border:1px solid rgba(56,200,216,.2);color:var(--primary);font-size:10px;font-weight:900}.algorithm-step p{margin:0;border:1px solid var(--line);border-radius:13px;padding:10px 12px;color:var(--muted);font-size:12.5px;line-height:1.45;background:rgba(255,255,255,.018)}
.dual-learning{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pearl-box,.error-box{border-radius:16px;padding:15px;border:1px solid var(--line);background:rgba(255,255,255,.018)}.pearl-box{border-color:rgba(98,215,162,.17);background:rgba(98,215,162,.025)}.error-box{border-color:rgba(255,183,77,.16);background:rgba(255,183,77,.022)}.pearl-box h2,.error-box h2{font-size:15px!important}.pearl-box ul,.error-box ul{font-size:12.5px}
.quiz-stack{display:grid;gap:8px}.quiz-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018);overflow:hidden}.quiz-card summary{list-style:none;cursor:pointer;padding:13px;display:flex;align-items:flex-start;gap:10px;font-size:12.5px;font-weight:720}.quiz-card summary::-webkit-details-marker{display:none}.quiz-card summary>span{width:23px;height:23px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:rgba(56,200,216,.08);color:var(--primary);font-size:9px}.quiz-card summary::after{content:"+";margin-left:auto;color:var(--muted)}.quiz-card[open] summary::after{content:"−"}.quiz-card p{margin:0;padding:0 13px 14px 46px;color:var(--muted);font-size:12.5px;line-height:1.5}
.medical-disclaimer{border:1px dashed rgba(255,255,255,.12);border-radius:14px;padding:13px 14px}.medical-disclaimer strong{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}.medical-disclaimer p{margin:5px 0 0;color:var(--muted-2);font-size:11px;line-height:1.5}
.topic-source-box{display:grid;gap:13px}.source-group+ .source-group{padding-top:12px;border-top:1px solid var(--line)}.topic-source-box .source-group h3{display:flex;align-items:center;gap:7px}.clinical-source-group h3{color:var(--success)}.topic-source-box .source-group p{display:flex;flex-direction:column;gap:1px}.topic-source-box .source-group a{color:var(--primary);font-weight:720}.topic-source-box .source-group span{color:var(--muted-2);font-size:9.5px}.evidence-footer{padding-top:11px;border-top:1px solid var(--line);color:var(--muted-2);font-size:10px;line-height:1.45}

@media(max-width:720px){.compact-objectives ul{columns:1}.learning-hero{grid-template-columns:1fr}.review-stamp{text-align:left}.key-number-grid,.dual-learning{grid-template-columns:1fr}.clinical-card{grid-template-columns:28px 1fr;padding:11px}.danger-section,.management-section{padding:15px!important}}


/* Legal, privacy, consent and contact */
.site-footer{position:relative;z-index:20;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(0,0,0,.12));margin-top:54px;padding:30px 0 calc(34px + env(safe-area-inset-bottom))}.footer-inner{display:grid;grid-template-columns:1.1fr 1fr auto;gap:26px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:40px;height:40px}.footer-brand strong{display:block;font-size:13px;letter-spacing:.01em}.footer-brand span{display:block;color:var(--muted-2);font-size:10.5px;margin-top:2px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 15px;justify-content:center}.footer-links a{color:var(--muted);font-size:11px;font-weight:720}.footer-links a:hover{color:var(--primary)}.footer-legal{text-align:right;color:var(--muted-2);font-size:9.5px;line-height:1.45}.footer-legal span{display:block}.legal-head{padding-bottom:12px}.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding-bottom:42px}.legal-grid-wide{grid-template-columns:1.1fr .9fr}.legal-card{border-radius:22px;padding:24px}.legal-card h2{margin:0 0 10px;font-size:20px}.legal-card p{margin:0 0 12px;color:var(--muted);font-size:13px}.legal-card p:last-child{margin-bottom:0}.legal-link{color:var(--primary);font-weight:800}.legal-list{margin:0;padding-left:20px;color:var(--muted);font-size:13px}.legal-list li{margin:10px 0}.consent-card{display:flex;flex-direction:column;align-items:flex-start}.consent-btn{border:0;margin-top:8px;cursor:pointer}.consent-status{min-height:20px;margin-top:12px!important;color:var(--success)!important;font-size:11px!important}.contact-panel{border-radius:28px;padding:30px;display:grid;grid-template-columns:82px 1fr;gap:25px;align-items:center}.contact-symbol{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:rgba(56,200,216,.08);border:1px solid rgba(56,200,216,.2);color:var(--primary);font-weight:900;font-size:30px}.contact-panel h2{font-size:clamp(25px,4vw,38px);margin:7px 0 8px}.contact-panel p{color:var(--muted);max-width:720px;margin:0 0 20px}.contact-cta{display:inline-flex}.contact-note{margin-top:14px;border-radius:18px;padding:16px 18px;color:var(--muted);font-size:12px}.contact-note strong{color:var(--warning)}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer-legal{text-align:center}.legal-grid,.legal-grid-wide{grid-template-columns:1fr}.contact-panel{grid-template-columns:1fr;text-align:center}.contact-symbol{margin:0 auto}.contact-panel p{margin-left:auto;margin-right:auto}}
@media(max-width:620px){.site-footer{margin-bottom:78px;padding-top:24px}.footer-links{gap:10px 14px}.legal-card{padding:20px}.contact-panel{padding:23px}.contact-symbol{width:64px;height:64px}}

/* v0.3.0 — study-mode + integrative-module navigation */
.study-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.study-mode-card{position:relative;border-radius:24px;padding:24px;min-height:250px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;transition:transform .22s ease,border-color .22s ease}.study-mode-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-70px;background:radial-gradient(circle,rgba(56,200,216,.14),transparent 68%);pointer-events:none}.study-mode-card:hover{transform:translateY(-4px);border-color:var(--line-strong)}.study-mode-index{font-size:11px;letter-spacing:.14em;color:var(--muted-2);font-weight:850;margin-bottom:20px}.study-mode-card h3{font-size:25px;line-height:1.08;letter-spacing:-.025em;margin:8px 0 10px}.study-mode-card p{color:var(--muted);font-size:13px;margin:0 0 20px}.study-mode-card b{margin-top:auto;color:var(--primary);font-size:12px}.route-modes{margin-top:28px}.route-heading{margin-top:72px;margin-bottom:22px}

.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.module-grid.compact{margin-top:0}.module-card{--module-accent:var(--primary);position:relative;border-radius:22px;padding:22px;min-height:255px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;color:var(--text);overflow:hidden;transition:transform .22s ease,border-color .22s ease}.module-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--module-accent)}.module-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;top:-70px;background:radial-gradient(circle,color-mix(in srgb,var(--module-accent) 18%,transparent),transparent 70%);pointer-events:none}.module-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--module-accent) 42%,var(--line))}.module-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px;background:color-mix(in srgb,var(--module-accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--module-accent) 25%,transparent);color:var(--module-accent);font-weight:900}.module-card .kicker{color:var(--module-accent)}.module-card h3{margin:7px 0 9px;font-size:21px;letter-spacing:-.02em;line-height:1.1}.module-card p{color:var(--muted);font-size:12.5px;margin:0 0 22px}.module-footer{margin-top:auto;width:100%;display:flex;justify-content:space-between;gap:10px;color:var(--muted-2);font-size:10.5px;font-weight:720}.module-footer span:last-child{color:var(--module-accent)}.module-meta-copy{margin:8px 0 0;color:var(--muted);max-width:760px;font-size:13px}

.tool-context{margin-top:14px;margin-bottom:18px;border-radius:18px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.tool-context strong{color:var(--primary);font-size:13px}.tool-context p{margin:0;color:var(--muted);font-size:12px}.tool-context span{color:var(--muted-2);font-size:10.5px;font-weight:750}.feedback-btn{text-decoration:none}

/* Standalone legal documents packaged with the WebApp */
.legal-document{padding:calc(var(--topbar) + 58px) 0 90px}.legal-doc-shell{width:min(930px,calc(100% - 32px));margin:0 auto}.legal-doc-hero{padding:34px 0 24px}.legal-doc-hero h1{font-size:clamp(40px,6vw,66px);line-height:1;letter-spacing:-.04em;margin:14px 0 15px}.legal-doc-hero p{color:var(--muted);font-size:16px;max-width:800px}.legal-doc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.legal-doc-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:10px;font-weight:720}.legal-doc-content{display:grid;gap:14px}.legal-doc-card{border-radius:22px;padding:24px}.legal-doc-card h2{margin:0 0 10px;font-size:21px}.legal-doc-card h3{margin:20px 0 8px;font-size:15px}.legal-doc-card p,.legal-doc-card li{color:var(--muted);font-size:13px}.legal-doc-card p{margin:0 0 12px}.legal-doc-card ul,.legal-doc-card ol{margin:0;padding-left:20px}.legal-doc-card li{margin:8px 0}.legal-doc-card a{color:var(--primary);font-weight:760}.legal-doc-callout{border-color:rgba(56,200,216,.3);background:rgba(56,200,216,.06)}.legal-doc-warning{border-color:rgba(255,209,102,.24);background:rgba(255,209,102,.045)}.legal-back-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.legal-back-row a{min-height:44px;border:1px solid var(--line);border-radius:14px;padding:0 15px;display:inline-flex;align-items:center;font-size:12px;font-weight:760}.legal-back-row a:first-child{border-color:rgba(56,200,216,.25);background:rgba(56,200,216,.08);color:var(--primary)}.legal-topbar .desktop-nav{gap:3px}.legal-topbar .desktop-nav a{font-size:12px;padding:9px}.legal-footer-note{color:var(--muted-2);font-size:10px;text-align:center;margin-top:26px}

@media(max-width:1040px){.study-mode-grid,.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.study-mode-grid,.module-grid{grid-template-columns:1fr}.study-mode-card,.module-card{min-height:215px}.route-heading{margin-top:54px}.tool-context{grid-template-columns:1fr;gap:4px}.bottom-nav{grid-template-columns:repeat(4,1fr)}.legal-document{padding-top:90px}.legal-doc-card{padding:20px}.legal-topbar .brand-copy span{font-size:13px}}

@media(max-width:620px){.books-grid{grid-template-columns:1fr}.book-card{max-width:430px;margin-inline:auto;width:100%}}


/* v0.6.0 · Academic high-yield layer */
.academic-boost{position:relative;overflow:hidden;border:1px solid rgba(108,214,255,.18);border-radius:22px;padding:22px;background:linear-gradient(145deg,rgba(10,31,52,.78),rgba(7,20,34,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.academic-boost:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,rgba(84,209,197,.13),transparent 70%);pointer-events:none}
.academic-intro{color:var(--muted);max-width:850px;margin:.35rem 0 1rem}.academic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.academic-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;background:rgba(6,16,29,.62)}.academic-card h3{font-size:.98rem;margin:0 0 10px}.academic-card ul{margin:0;padding-left:1.15rem}.academic-card li{margin:.42rem 0;color:var(--text-soft)}.academic-card p{margin:0;color:var(--text-soft);line-height:1.65}.rapid-card{border-color:rgba(108,214,255,.22)}.seminar-card{border-color:rgba(115,224,169,.20)}.exam-card{border-color:rgba(241,199,110,.20)}.oral-card{border-color:rgba(244,155,193,.18)}
@media(max-width:720px){.academic-grid{grid-template-columns:1fr}.academic-boost{padding:17px}}


/* v0.7.0 · ECG Laboratory ------------------------------------------------ */
.ecg-lab{margin-top:24px;padding:22px;border:1px solid color-mix(in srgb,var(--cyan) 32%,transparent);border-radius:24px;background:linear-gradient(145deg,rgba(4,22,35,.88),rgba(5,13,28,.92));box-shadow:inset 0 0 45px rgba(39,217,230,.04),0 20px 55px rgba(0,0,0,.18)}
.ecg-concept-note{margin:14px 0 18px;padding:14px 16px;border-left:3px solid var(--cyan);border-radius:12px;background:rgba(64,208,220,.07);color:var(--muted);line-height:1.55}.ecg-concept-note strong,.ecg-concept-note b{color:var(--text)}
.ecg-picker{position:relative;margin:10px 0 14px}.ecg-picker summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(7,24,38,.86);user-select:none}.ecg-picker summary::-webkit-details-marker{display:none}.ecg-picker summary span{color:var(--cyan);font-size:18px}.ecg-picker summary strong{font-size:14px}.ecg-picker summary em{margin-left:auto;font-style:normal;color:var(--cyan);font-size:13px;text-align:right}.ecg-picker[open] summary{border-color:rgba(77,222,232,.4);border-bottom-left-radius:6px;border-bottom-right-radius:6px}.ecg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid rgba(77,222,232,.24);border-top:0;border-radius:0 0 16px 16px;background:rgba(3,13,24,.98)}.ecg-option-group{display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}.ecg-option-group>span{flex-basis:100%;font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin:2px 0 3px}.ecg-option-group button{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer}.ecg-option-group button:hover,.ecg-option-group button.active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 18px rgba(61,224,234,.12)}
.ecg-screen{position:relative;overflow:hidden;min-height:290px;border-radius:20px;border:1px solid rgba(71,222,233,.35);background:radial-gradient(circle at 55% 45%,rgba(26,154,169,.12),transparent 38%),#020b12;box-shadow:inset 0 0 55px rgba(20,201,219,.08),0 14px 38px rgba(0,0,0,.28)}.ecg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(63,198,211,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(63,198,211,.055) 1px,transparent 1px),linear-gradient(rgba(63,198,211,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(63,198,211,.025) 1px,transparent 1px);background-size:50px 50px,50px 50px,10px 10px,10px 10px}.ecg-screen svg{position:absolute;left:0;right:0;top:54px;width:100%;height:185px;overflow:visible}.ecg-trace{fill:none;stroke:#58edf0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:url(#ecgGlow);vector-effect:non-scaling-stroke}.ecg-trace.secondary{stroke:#7aaeff;stroke-width:2.4;opacity:.72}.ecg-trace.animate{stroke-dasharray:1800;stroke-dashoffset:1800;animation:ecgDraw 2.2s cubic-bezier(.22,.72,.25,1) forwards}.ecg-trace.secondary.animate{animation-duration:2.45s}.ecg-scan{position:absolute;top:50px;bottom:36px;width:80px;background:linear-gradient(90deg,transparent,rgba(80,241,246,.08),transparent);filter:blur(5px);animation:ecgScan 4.6s linear infinite}.ecg-screen-head,.ecg-screen-foot{position:absolute;z-index:2;left:15px;right:15px;display:flex;align-items:center;gap:10px}.ecg-screen-head{top:13px}.ecg-screen-head span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.ecg-screen-head strong{font-size:14px;color:var(--text)}.ecg-screen-head em{margin-left:auto;font-style:normal;color:var(--cyan);font-size:12px}.ecg-screen-foot{bottom:10px;justify-content:space-between;color:#5c8993;font-size:10px;letter-spacing:.04em}.ecg-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.ecg-info-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.ecg-info-card>span{display:block;color:var(--cyan);font-size:9px;letter-spacing:.15em;margin-bottom:7px}.ecg-info-card p,.ecg-info-card li{font-size:12.5px;line-height:1.55;color:var(--muted)}.ecg-info-card ul{margin:0;padding-left:18px}.ecg-info-card.urgency strong{display:block;color:#ffd27a;margin-bottom:8px}.ecg-info-card.urgency p{margin:0}
@keyframes ecgDraw{to{stroke-dashoffset:0}}@keyframes ecgScan{from{transform:translateX(-100px)}to{transform:translateX(calc(100vw + 100px))}}
@media(max-width:720px){.ecg-lab{padding:16px;margin-inline:-2px}.ecg-options,.ecg-info-grid{grid-template-columns:1fr}.ecg-screen{min-height:250px}.ecg-screen svg{top:55px;height:155px}.ecg-screen-head strong{font-size:12px}.ecg-screen-head span{display:none}.ecg-screen-foot{font-size:9px}.ecg-picker summary{align-items:flex-start}.ecg-picker summary em{max-width:48%}}
@media(prefers-reduced-motion:reduce){.ecg-trace.animate,.ecg-scan{animation:none}.ecg-trace.animate{stroke-dasharray:none;stroke-dashoffset:0}}


/* v0.9 · Guided Reading / Mini Lesson */
.guided-reading{
  position:relative;
  overflow:hidden;
}
.guided-reading::before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-120px;top:-120px;
  background:radial-gradient(circle,rgba(34,211,238,.12),transparent 68%);
  pointer-events:none;
}
.guided-reading-intro{
  max-width:850px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.75;
  margin:.2rem 0 1.25rem;
}
.guided-reading-list{
  display:grid;
  gap:.85rem;
}
.guided-reading-block{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:1rem;
  padding:1.1rem 1.15rem;
  border:1px solid rgba(94,234,212,.12);
  background:linear-gradient(135deg,rgba(7,23,42,.78),rgba(8,31,48,.58));
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.guided-reading-number{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  color:#67e8f9;
  font-weight:800;
  letter-spacing:.06em;
  border:1px solid rgba(34,211,238,.26);
  background:rgba(6,182,212,.07);
  box-shadow:0 0 22px rgba(34,211,238,.07);
}
.guided-reading-block h3{
  margin:.05rem 0 .42rem;
  font-size:1.03rem;
  color:#eefcff;
}
.guided-reading-block p{
  margin:0;
  color:#c8d8e2;
  line-height:1.78;
  font-size:.98rem;
}
.curiosity-box{
  margin-top:1.15rem;
  padding:1.2rem 1.25rem;
  border-radius:20px;
  border:1px solid rgba(167,139,250,.22);
  background:linear-gradient(135deg,rgba(91,33,182,.10),rgba(6,182,212,.06));
}
.curiosity-box h3{
  margin:.4rem 0 .45rem;
  color:#f1edff;
  font-size:1.08rem;
}
.curiosity-box p{
  margin:0;
  line-height:1.72;
  color:#d5d4e7;
}
.textbook-note{
  margin-top:1rem;
  display:flex;
  gap:1rem;
  padding:1.1rem 1.2rem;
  border-radius:18px;
  border:1px dashed rgba(125,211,252,.25);
  background:rgba(2,12,22,.5);
}
.textbook-icon{
  flex:0 0 auto;
  font-size:1.65rem;
  line-height:1;
}
.textbook-note h3{
  margin:0 0 .35rem;
  color:#dff8ff;
  font-size:1rem;
}
.textbook-note p{
  margin:0;
  color:#9fb4c2;
  line-height:1.65;
  font-size:.91rem;
}
@media(max-width:620px){
  .guided-reading-block{
    grid-template-columns:34px 1fr;
    gap:.75rem;
    padding:1rem;
  }
  .guided-reading-number{width:32px;height:32px;border-radius:10px;font-size:.78rem}
  .guided-reading-block p{font-size:.95rem;line-height:1.72}
  .textbook-note{align-items:flex-start}
}


/* v0.10 · Seminarios / Tutorías / Exámenes */
.exam-deepdive-master{
  border:1px solid rgba(34,211,238,.22);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(5,22,37,.94),rgba(8,31,48,.78));
  overflow:hidden;
  box-shadow:0 12px 44px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03);
}
.exam-deepdive-master>summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.2rem;
  transition:.2s ease;
}
.exam-deepdive-master>summary::-webkit-details-marker,.exam-topic-detail>summary::-webkit-details-marker{display:none}
.exam-deepdive-master>summary:hover{background:rgba(34,211,238,.035)}
.exam-summary-main{display:flex;align-items:flex-start;gap:.9rem}
.exam-summary-icon{
  width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;
  background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.2);
  box-shadow:0 0 28px rgba(34,211,238,.08)
}
.exam-summary-main h2{margin:.15rem 0 .2rem;font-size:1.13rem;color:#effcff}
.exam-summary-main p{margin:0;color:#9eb5c2;font-size:.9rem}
.exam-open-label{
  white-space:nowrap;border:1px solid rgba(103,232,249,.22);border-radius:999px;
  color:#67e8f9;background:rgba(6,182,212,.06);padding:.48rem .72rem;font-size:.78rem;font-weight:750
}
.exam-deepdive-master[open] .exam-open-label{color:#a7f3d0;border-color:rgba(110,231,183,.22)}
.exam-deepdive-content{padding:0 1.15rem 1.15rem}
.exam-context-note{
  padding:1rem 1.05rem;margin:.1rem 0 1rem;border-radius:16px;
  background:rgba(15,23,42,.55);border-left:3px solid rgba(34,211,238,.55)
}
.exam-context-note strong{color:#e6fbff}.exam-context-note p{margin:.3rem 0 0;color:#9fb2bf;line-height:1.58;font-size:.88rem}
.exam-topic-list{display:grid;gap:.65rem}
.exam-topic-detail{
  border:1px solid rgba(148,163,184,.13);border-radius:16px;background:rgba(2,12,22,.42);overflow:hidden
}
.exam-topic-detail>summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:38px 1fr 24px;align-items:center;
  gap:.8rem;padding:.9rem 1rem
}
.exam-topic-detail>summary:hover{background:rgba(34,211,238,.025)}
.exam-topic-index{
  color:#67e8f9;font-size:.75rem;font-weight:800;width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;border:1px solid rgba(34,211,238,.18);background:rgba(34,211,238,.05)
}
.exam-topic-detail summary strong{display:block;color:#edfaff;font-size:.96rem}
.exam-topic-detail summary small{display:block;color:#8fa7b6;margin-top:.2rem;font-size:.79rem;line-height:1.35}
.exam-chevron{color:#67e8f9;transition:transform .2s ease}.exam-topic-detail[open] .exam-chevron{transform:rotate(180deg)}
.exam-topic-body{padding:.15rem 1rem 1rem 3.95rem}
.exam-explain h3,.exam-question h3{margin:.2rem 0 .42rem;color:#e7faff;font-size:.96rem}
.exam-explain p,.exam-question p{margin:0;color:#c2d1da;line-height:1.72;font-size:.92rem}
.exam-question{
  margin-top:.9rem;padding:.9rem 1rem;border-radius:15px;
  border:1px solid rgba(167,139,250,.18);background:rgba(91,33,182,.07)
}
.exam-question h3{color:#ece7ff}
.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}
.exam-grid article{
  display:flex;gap:.7rem;padding:.8rem;border-radius:14px;background:rgba(8,20,32,.55);
  border:1px solid rgba(148,163,184,.11)
}
.exam-grid h4{margin:0 0 .25rem;color:#dff7fb;font-size:.83rem}.exam-grid p{margin:0;color:#98adba;font-size:.81rem;line-height:1.5}
.exam-reading-reminder{
  margin-top:1rem;padding:.9rem 1rem;border-radius:15px;background:rgba(6,182,212,.045);
  border:1px dashed rgba(103,232,249,.2);color:#a9bec9;font-size:.86rem;line-height:1.55
}
.exam-reading-reminder strong{color:#dcf9ff}
@media(max-width:680px){
  .exam-deepdive-master>summary{align-items:flex-start;flex-direction:column}
  .exam-open-label{margin-left:3.45rem}
  .exam-topic-body{padding:.15rem .85rem .9rem .85rem}
  .exam-grid{grid-template-columns:1fr}
  .exam-topic-detail>summary{grid-template-columns:34px 1fr 18px;padding:.82rem}
}


/* v0.10.1 · Krebs Lab */
.krebs-lab{position:relative;overflow:hidden}
.krebs-lab::before{content:"";position:absolute;right:-180px;top:180px;width:400px;height:400px;background:radial-gradient(circle,rgba(34,211,238,.08),transparent 67%);pointer-events:none}
.krebs-opening{display:grid;gap:.8rem}
.krebs-one-sentence{font-size:1.12rem;line-height:1.78;color:#e4f8fb;padding:1rem 1.1rem;border-left:3px solid #22d3ee;background:rgba(6,182,212,.045);border-radius:0 16px 16px 0}
.krebs-opening article,.krebs-amphibolic,.krebs-carbon,.krebs-teachback{padding:1.05rem 1.15rem;border:1px solid rgba(103,232,249,.12);background:rgba(3,15,27,.48);border-radius:18px}
.krebs-opening h3,.krebs-amphibolic h3,.krebs-carbon h3,.krebs-teachback h3{margin:.1rem 0 .45rem;color:#effcff}
.krebs-opening p,.krebs-amphibolic p,.krebs-carbon p{margin:0;color:#bdcfda;line-height:1.75}
.krebs-four-title{margin:1.4rem 0 .7rem}.krebs-four-title h3{margin:.2rem 0;color:#e9fbff}
.krebs-four-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.krebs-move{display:flex;gap:.8rem;padding:.9rem;border-radius:16px;border:1px solid rgba(34,211,238,.13);background:linear-gradient(135deg,rgba(8,31,48,.65),rgba(4,18,30,.62))}
.krebs-move>span{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#07101d;background:#67e8f9;font-weight:900;box-shadow:0 0 22px rgba(103,232,249,.2)}
.krebs-move strong{color:#e8fbff;font-size:.84rem;letter-spacing:.04em}.krebs-move p{margin:.25rem 0 0;color:#a9bdc9;font-size:.88rem;line-height:1.55}
.krebs-visual-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(300px,1.1fr);gap:1rem;margin-top:1.3rem;align-items:center}
.krebs-orbit-wrap{display:grid;place-items:center}
.krebs-orbit{position:relative;width:min(430px,100%);aspect-ratio:1}
.krebs-orbit svg{position:absolute;inset:0;width:100%;height:100%}
.krebs-ring{fill:none;stroke:rgba(34,211,238,.18);stroke-width:2;filter:url(#krebsGlow)}
.krebs-arrow-path{fill:none;stroke:rgba(103,232,249,.65);stroke-width:2;filter:url(#krebsGlow)}
#krebsArrow path{fill:#67e8f9}
.krebs-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,rgba(6,182,212,.14),rgba(4,16,28,.93) 67%);border:1px solid rgba(103,232,249,.28);box-shadow:0 0 45px rgba(34,211,238,.12),inset 0 0 30px rgba(34,211,238,.06)}
.krebs-center span{color:#67e8f9;font-weight:900;font-size:1.35rem}.krebs-center strong{color:#effcff;font-size:.83rem}.krebs-center small{color:#7895a6;font-size:.68rem}.krebs-center b{color:#67e8f9;margin:.12rem 0}.krebs-center em{font-style:normal;color:#a7f3d0;font-size:.7rem;font-weight:700}
.krebs-orbit-node{position:absolute;width:38px;height:38px;border-radius:50%;border:1px solid rgba(103,232,249,.42);background:#071522;color:#67e8f9;font-weight:900;cursor:pointer;box-shadow:0 0 18px rgba(34,211,238,.12);z-index:2;transition:.2s}
.krebs-orbit-node:hover,.krebs-orbit-node.active{transform:translate(-50%,-50%) scale(1.13);background:#0e7490;color:white;box-shadow:0 0 28px rgba(34,211,238,.35)}
.krebs-orbit-node{transform:translate(-50%,-50%)}
.node-1{left:50%;top:7%}.node-2{left:80%;top:20%}.node-3{left:93%;top:50%}.node-4{left:80%;top:80%}.node-5{left:50%;top:93%}.node-6{left:20%;top:80%}.node-7{left:7%;top:50%}.node-8{left:20%;top:20%}
.krebs-memory{max-width:430px;margin-top:-.15rem;text-align:center;padding:.7rem}.krebs-memory strong{display:block;color:#67e8f9;letter-spacing:.13em}.krebs-memory span{display:block;color:#dff9ff;font-weight:700;margin:.25rem 0}.krebs-memory p{margin:0;color:#829dac;font-size:.78rem;line-height:1.45}
.krebs-step-panel{padding:1.15rem;border-radius:20px;border:1px solid rgba(34,211,238,.18);background:linear-gradient(145deg,rgba(4,18,31,.95),rgba(7,31,46,.77));min-height:360px}
.krebs-step-panel h3{font-size:1.5rem;margin:.25rem 0 .35rem;color:#effcff}.krebs-reaction{color:#a7f3d0;font-weight:700;line-height:1.55}
.krebs-step-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.9rem 0}.krebs-step-panel dl div{padding:.7rem;border-radius:12px;background:rgba(15,23,42,.45)}.krebs-step-panel dt{font-size:.7rem;color:#6fdcf0;text-transform:uppercase;letter-spacing:.06em}.krebs-step-panel dd{margin:.25rem 0 0;color:#d7e7ed;font-size:.86rem}
.krebs-why,.krebs-remember,.krebs-exam{padding:.72rem 0;border-top:1px solid rgba(148,163,184,.1)}.krebs-why strong,.krebs-remember strong,.krebs-exam strong{color:#e8fbff;font-size:.86rem}.krebs-why p,.krebs-remember p,.krebs-exam p{margin:.22rem 0 0;color:#a9bdc8;font-size:.87rem;line-height:1.55}
.krebs-step-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.8rem}
.krebs-step-button{display:flex;align-items:center;gap:.48rem;border:1px solid rgba(148,163,184,.12);background:rgba(3,14,24,.62);border-radius:12px;padding:.55rem .6rem;color:#b9cbd5;cursor:pointer;text-align:left}
.krebs-step-button span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(34,211,238,.07);color:#67e8f9;font-size:.72rem;font-weight:800}.krebs-step-button strong{font-size:.72rem}
.krebs-step-button.active{border-color:rgba(103,232,249,.36);background:rgba(6,182,212,.08);color:#effcff}
.krebs-scoreboard{margin-top:1.35rem}.krebs-scoreboard h3{margin:.2rem 0;color:#e9fbff}
.krebs-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.krebs-score{padding:.85rem .6rem;text-align:center;border:1px solid rgba(34,211,238,.14);border-radius:16px;background:rgba(5,22,36,.6)}.krebs-score strong{display:block;font-size:1.55rem;color:#67e8f9}.krebs-score span{display:block;color:#e6fbff;font-weight:800}.krebs-score p{margin:.28rem 0 0;color:#7993a3;font-size:.7rem;line-height:1.35}
.krebs-concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}.krebs-energy,.krebs-oxygen{padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(167,139,250,.16);background:linear-gradient(135deg,rgba(91,33,182,.07),rgba(5,22,36,.55))}.krebs-energy h3,.krebs-oxygen h3{margin:.2rem 0 .45rem;color:#f1edff;font-size:1rem}.krebs-energy p,.krebs-oxygen p{margin:0;color:#c2ccd8;line-height:1.68;font-size:.9rem}.krebs-old-note{margin-top:.7rem;padding:.65rem;border-radius:12px;background:rgba(2,12,22,.5);color:#9fb4c2;font-size:.78rem;line-height:1.5}
.krebs-regulation{margin-top:.9rem;padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(34,211,238,.13);background:rgba(4,18,30,.56)}.krebs-regulation h3{margin:.2rem 0;color:#e9fbff}.krebs-regulation>div>p{color:#9fb4c2;margin:.35rem 0 .8rem}.krebs-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.krebs-reg-grid article{padding:.85rem;border-radius:14px;background:rgba(2,12,22,.45)}.krebs-reg-grid h4{margin:0 0 .45rem}.krebs-reg-grid .go h4{color:#a7f3d0}.krebs-reg-grid .stop h4{color:#fda4af}.krebs-reg-grid ul{margin:.2rem 0;padding-left:1.15rem;color:#a9bdc8;font-size:.85rem;line-height:1.55}.krebs-checkpoints{color:#cfe8ee;font-size:.83rem}
.krebs-amphibolic,.krebs-carbon,.krebs-teachback{margin-top:.85rem}
.krebs-clinical{margin-top:1.15rem}.krebs-clinical h3{margin:.2rem 0;color:#e9fbff}.krebs-clinical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.krebs-clinical-grid article{padding:.9rem;border-radius:15px;border:1px solid rgba(110,231,183,.12);background:rgba(5,31,34,.35)}.krebs-clinical-grid h3{margin:0 0 .35rem;color:#d1fae5;font-size:.92rem}.krebs-clinical-grid p{margin:0;color:#a9bdc8;font-size:.84rem;line-height:1.6}
.krebs-carbon{border-color:rgba(251,191,36,.2);background:rgba(120,53,15,.07)}.krebs-carbon h3{color:#fde68a}
.krebs-teachback{border-color:rgba(103,232,249,.22);background:linear-gradient(135deg,rgba(6,182,212,.06),rgba(3,14,24,.7))}.krebs-teachback blockquote{margin:.6rem 0 0;color:#e2f7fa;line-height:1.78;font-size:.95rem;border-left:2px solid #67e8f9;padding-left:1rem}
.krebs-quiz{margin-top:1.15rem}.krebs-quiz h3{margin:.2rem 0;color:#e9fbff}.krebs-quiz-q{margin:.45rem 0;border:1px solid rgba(148,163,184,.12);border-radius:13px;background:rgba(3,14,24,.5);overflow:hidden}.krebs-quiz-q summary{cursor:pointer;padding:.75rem .85rem;color:#dff8ff;font-weight:650;font-size:.88rem}.krebs-quiz-q p{margin:0;padding:0 .85rem .8rem;color:#9fb4c2;line-height:1.6;font-size:.84rem}
@media(max-width:760px){
 .krebs-four-grid,.krebs-concept-grid,.krebs-reg-grid,.krebs-clinical-grid{grid-template-columns:1fr}
 .krebs-visual-grid{grid-template-columns:1fr}
 .krebs-step-selector{grid-template-columns:repeat(2,1fr)}
 .krebs-score-grid{grid-template-columns:repeat(2,1fr)}
 .krebs-score:last-child{grid-column:1/-1}
}
@media(max-width:430px){
 .krebs-orbit{width:315px}
 .krebs-center{width:118px;height:118px}
 .krebs-center span{font-size:1.1rem}.krebs-center strong{font-size:.7rem}.krebs-center em{font-size:.58rem}
 .krebs-orbit-node{width:32px;height:32px;font-size:.75rem}
 .krebs-step-panel dl{grid-template-columns:1fr}
}

/* v0.11 · Pregrado clínico + Anatomía de superficie */
.specialty-seminar-panel{margin:1rem 0 1.25rem}
.pregrad-bridge-master{border:1px solid rgba(34,211,238,.22);border-radius:22px;background:linear-gradient(145deg,rgba(4,18,31,.94),rgba(8,31,48,.78));overflow:hidden;box-shadow:0 14px 46px rgba(0,0,0,.18)}
.pregrad-bridge-master>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.2rem}
.pregrad-bridge-master>summary::-webkit-details-marker,.bridge-topic-detail>summary::-webkit-details-marker{display:none}
.pregrad-bridge-master>summary h3{margin:.18rem 0 .25rem;color:#effcff}.pregrad-bridge-master>summary p{margin:0;color:#9fb4c2;font-size:.9rem}
.bridge-badge{white-space:nowrap;color:#67e8f9;border:1px solid rgba(103,232,249,.22);background:rgba(6,182,212,.06);padding:.5rem .72rem;border-radius:999px;font-size:.76rem;font-weight:800}
.pregrad-bridge-content{padding:0 1.05rem 1.05rem}.bridge-note{padding:.9rem 1rem;margin:0 0 .9rem;border-left:3px solid rgba(34,211,238,.55);background:rgba(15,23,42,.48);border-radius:0 14px 14px 0}.bridge-note strong{color:#e7fbff}.bridge-note p{margin:.25rem 0 0;color:#91a8b6;font-size:.84rem;line-height:1.55}
.bridge-topic-detail{border:1px solid rgba(148,163,184,.12);border-radius:15px;background:rgba(2,12,22,.44);overflow:hidden;margin:.55rem 0}
.bridge-topic-detail>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px 1fr 20px;gap:.75rem;align-items:center;padding:.82rem .9rem}.bridge-topic-detail>summary:hover{background:rgba(34,211,238,.025)}
.bridge-index{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;color:#67e8f9;border:1px solid rgba(103,232,249,.18);background:rgba(34,211,238,.05);font-size:.72rem;font-weight:850}.bridge-topic-detail summary strong{display:block;color:#eafaff;font-size:.92rem}.bridge-topic-detail summary small{display:block;color:#8299a8;font-size:.74rem;margin-top:.15rem}.bridge-chevron{color:#67e8f9;transition:transform .2s}.bridge-topic-detail[open] .bridge-chevron{transform:rotate(180deg)}
.bridge-topic-body{padding:.1rem .9rem .9rem 3.9rem}.bridge-focus{color:#c7d7df;line-height:1.65;font-size:.9rem;margin:.2rem 0 .8rem}.bridge-core,.bridge-oral,.bridge-shine,.bridge-question{padding:.78rem .85rem;border-radius:13px;margin:.6rem 0;background:rgba(8,20,32,.5);border:1px solid rgba(148,163,184,.1)}.bridge-core h4,.bridge-oral h4,.bridge-shine h4{margin:0 0 .35rem;color:#dff8ff;font-size:.83rem}.bridge-core ul,.bridge-shine ul{margin:.25rem 0;padding-left:1.1rem;color:#9fb4c2;font-size:.82rem;line-height:1.5}.bridge-oral{border-color:rgba(103,232,249,.14)}.bridge-oral p{margin:0;color:#b9cbd5;font-size:.84rem;line-height:1.58}.bridge-shine{border-color:rgba(167,139,250,.15);background:rgba(91,33,182,.055)}.bridge-question{border-color:rgba(251,191,36,.14);background:rgba(120,53,15,.055)}.bridge-question strong{color:#fde68a;font-size:.78rem}.bridge-question p{margin:.3rem 0;color:#ecf6f7;font-weight:700;font-size:.85rem}.bridge-question small{color:#aebfc8;line-height:1.5;display:block}.bridge-links{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.7rem}.bridge-links button{border:1px solid rgba(103,232,249,.18);background:rgba(6,182,212,.05);color:#67e8f9;border-radius:999px;padding:.46rem .66rem;cursor:pointer;font-size:.75rem;font-weight:750}

.surface-lab{position:relative;overflow:hidden}.surface-lab::before{content:"";position:absolute;right:-140px;top:0;width:360px;height:360px;background:radial-gradient(circle,rgba(34,211,238,.08),transparent 68%);pointer-events:none}.surface-intro{font-size:1.02rem;line-height:1.75;color:#c7d7df;max-width:920px}.surface-caution{padding:.8rem .9rem;border-radius:14px;background:rgba(120,53,15,.08);border:1px solid rgba(251,191,36,.16);color:#e8d6a3;font-size:.84rem;line-height:1.55}.surface-lab-heading{margin:1.35rem 0 .7rem}.surface-lab-heading h3{margin:.18rem 0;color:#eafaff}.surface-lab-heading p{margin:.3rem 0;color:#8fa6b4;font-size:.86rem;line-height:1.55}
.cortex-grid{display:grid;grid-template-columns:minmax(340px,1.08fr) minmax(300px,.92fr);gap:1rem;align-items:stretch}.cortex-map,.surface-info-panel{border:1px solid rgba(34,211,238,.14);border-radius:20px;background:rgba(4,18,30,.55);padding:1rem}.brain-silhouette{position:relative;min-height:330px}.brain-silhouette svg{width:100%;height:330px;filter:drop-shadow(0 0 26px rgba(34,211,238,.06))}.brain-silhouette svg path:first-child{fill:rgba(6,182,212,.055);stroke:rgba(103,232,249,.45);stroke-width:3}.brain-silhouette .central-line{fill:none;stroke:rgba(244,114,182,.45);stroke-width:2;stroke-dasharray:5 7}.brain-silhouette .post-line{fill:none;stroke:rgba(167,139,250,.38);stroke-width:2;stroke-dasharray:5 7}
.cortex-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;border:1px solid #67e8f9;background:#071522;box-shadow:0 0 16px rgba(34,211,238,.25);cursor:pointer;z-index:2}.cortex-hotspot span{position:absolute;left:50%;top:18px;transform:translateX(-50%);font-size:.61rem;white-space:nowrap;color:#9db6c4;background:rgba(2,12,22,.86);padding:.16rem .28rem;border-radius:5px;opacity:.72}.cortex-hotspot:hover,.cortex-hotspot.active{background:#22d3ee;box-shadow:0 0 24px rgba(34,211,238,.55)}.cortex-hotspot.active span{color:#e9fbff;opacity:1}.cortex-legend{display:flex;align-items:center;justify-content:center;gap:.6rem;color:#7390a1;font-size:.72rem}.cortex-legend span{width:90px;height:1px;background:linear-gradient(90deg,#67e8f9,rgba(103,232,249,.1))}
.surface-info-panel{display:flex;flex-direction:column}.surface-info-panel h3{font-size:1.45rem;margin:.24rem 0 .4rem;color:#effcff}.surface-info-panel>p{color:#9fb4c2;line-height:1.58}.surface-info-panel dl{display:grid;gap:.6rem}.surface-info-panel dl div{padding:.72rem;border-radius:13px;background:rgba(15,23,42,.45)}.surface-info-panel dt{color:#67e8f9;font-size:.68rem;text-transform:uppercase;font-weight:800}.surface-info-panel dd{margin:.25rem 0 0;color:#c8d7df;line-height:1.55;font-size:.84rem}.surface-pearl{margin-top:auto;padding:.8rem;border-radius:13px;background:rgba(91,33,182,.065);border:1px solid rgba(167,139,250,.15)}.surface-pearl strong{color:#e8ddff;font-size:.8rem}.surface-pearl p{margin:.28rem 0 0;color:#b7b7cb;font-size:.82rem;line-height:1.52}
.surface-region-tabs{display:flex;gap:.45rem;flex-wrap:wrap}.surface-region-btn{border:1px solid rgba(148,163,184,.14);background:rgba(3,15,26,.65);color:#99afbc;border-radius:999px;padding:.52rem .72rem;cursor:pointer;font-size:.78rem}.surface-region-btn.active{color:#eafcff;border-color:rgba(103,232,249,.4);background:rgba(6,182,212,.09)}.surface-body-panel{margin-top:.7rem;padding:1rem;border-radius:18px;border:1px solid rgba(34,211,238,.14);background:rgba(4,18,30,.52)}.surface-body-panel>h3{margin:.05rem 0 .7rem;color:#eafcff}.surface-body-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem}.surface-body-grid article{padding:.8rem;border-radius:14px;background:rgba(2,12,22,.46);border:1px solid rgba(148,163,184,.09)}.surface-body-grid h4{margin:0 0 .35rem;color:#dff8ff;font-size:.8rem}.surface-body-grid p,.surface-body-grid ul{margin:.2rem 0;color:#9fb4c2;font-size:.82rem;line-height:1.55}.surface-body-grid ul{padding-left:1.1rem}.surface-tip{margin-top:.7rem;color:#a7f3d0;font-size:.83rem;line-height:1.5}
.abdomen-grid-wrap{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(300px,1.15fr);gap:.9rem}.abdomen-nine-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(103,232,249,.18);border-radius:18px;overflow:hidden;background:rgba(4,18,30,.55)}.abd-region-btn{min-height:90px;border:0;border-right:1px solid rgba(103,232,249,.1);border-bottom:1px solid rgba(103,232,249,.1);background:rgba(3,15,26,.35);color:#9cb2bf;cursor:pointer;padding:.6rem}.abd-region-btn:nth-child(3n){border-right:0}.abd-region-btn:nth-child(n+7){border-bottom:0}.abd-region-btn:hover,.abd-region-btn.active{background:rgba(6,182,212,.1);color:#eaffff;box-shadow:inset 0 0 20px rgba(34,211,238,.05)}.abd-region-btn strong{font-size:.74rem;line-height:1.2}.abdomen-info{padding:1rem 1.05rem;border-radius:18px;background:rgba(3,15,26,.54);border:1px solid rgba(34,211,238,.14)}.abdomen-info h3{margin:.2rem 0 .65rem;color:#effcff}.abdomen-info h4{margin:.7rem 0 .25rem;color:#d8f7fb;font-size:.8rem}.abdomen-info p{margin:0;color:#aabdc8;line-height:1.65;font-size:.86rem}.surface-cases{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.surface-case{border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(3,14,24,.48);overflow:hidden}.surface-case summary{cursor:pointer;padding:.8rem .9rem;color:#e6fbff;font-weight:750;font-size:.86rem}.surface-case ol{margin:0;padding:0 1rem 1rem 2.1rem;color:#9fb4c2;font-size:.82rem;line-height:1.55}
@media(max-width:760px){.pregrad-bridge-master>summary{align-items:flex-start;flex-direction:column}.bridge-badge{margin-left:0}.bridge-topic-body{padding:.1rem .8rem .85rem}.cortex-grid,.abdomen-grid-wrap{grid-template-columns:1fr}.surface-body-grid{grid-template-columns:1fr}.surface-cases{grid-template-columns:1fr}.brain-silhouette{min-height:280px}.brain-silhouette svg{height:280px}.cortex-hotspot span{display:none}}
@media(max-width:430px){.abd-region-btn{min-height:72px}.abd-region-btn strong{font-size:.66rem}.cortex-map{padding:.5rem}.surface-info-panel{padding:.85rem}}


/* ==========================================================================
   v0.12 · Anatomy Visual Lab
   ========================================================================== */
.anatomy-visual-lab{--anatomy-cyan:#67e8f9;--anatomy-cyan2:#22d3ee;--anatomy-violet:#a78bfa}
.neuro3d-grid,.torso3d-grid{display:grid;grid-template-columns:minmax(390px,1.18fr) minmax(300px,.82fr);gap:1rem;align-items:start}
.anatomy-visual-card,.torso-right-column>div{border:1px solid rgba(34,211,238,.14);border-radius:22px;background:linear-gradient(145deg,rgba(3,16,29,.78),rgba(6,31,45,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.anatomy-visual-card{padding:.85rem;overflow:hidden}
.anatomy-visual-controls{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.65rem;flex-wrap:wrap}
.anatomy-layer-chips{display:flex;gap:.4rem;flex-wrap:wrap}
.anatomy-layer-chip,.segmented-control button{
  border:1px solid rgba(103,232,249,.15);background:rgba(2,12,22,.6);color:#8faab8;
  border-radius:999px;padding:.44rem .68rem;font-size:.74rem;font-weight:750;cursor:pointer;transition:.2s ease
}
.anatomy-layer-chip:hover,.anatomy-layer-chip.active,.segmented-control button.active{
  color:#eaffff;background:rgba(6,182,212,.11);border-color:rgba(103,232,249,.34);box-shadow:0 0 20px rgba(34,211,238,.08)
}
.anatomy-opacity-control{display:flex;align-items:center;gap:.45rem;color:#8fa8b6;font-size:.72rem}
.anatomy-opacity-control input{width:88px;accent-color:#22d3ee}
.anatomy-opacity-control b{width:34px;color:#67e8f9;font-size:.7rem}
.anatomy-3d-scene{--parallax-x:0deg;--parallax-y:0deg;perspective:900px}
.anatomy-depth-card{position:relative;transform-style:preserve-3d;transform:rotateY(var(--parallax-x)) rotateX(var(--parallax-y));transition:transform .18s ease-out}
.anatomy-visual-note{margin:.6rem .25rem .1rem;color:#7f99a8;font-size:.74rem;line-height:1.48}
.anatomy-orientation{display:flex;align-items:center;gap:.5rem;justify-content:center;color:#7895a5;font-size:.64rem;letter-spacing:.09em;margin-top:-.35rem}
.anatomy-orientation i{height:1px;flex:0 1 190px;background:linear-gradient(90deg,transparent,#67e8f9,transparent)}

/* NeuroSurface */
.neuro-scene{--shell-opacity:.27}
.neuro3d-svg{display:block;width:100%;height:auto;max-height:570px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.2))}
.neuro-back-glow{fill:rgba(34,211,238,.025);filter:url(#softGlow)}
.neuro-head-shell{fill:url(#headShellGrad);fill-opacity:var(--shell-opacity);stroke:rgba(177,247,255,.58);stroke-width:2.2;filter:url(#neuroGlow)}
.neuro-face-line,.neuro-neck-line,.neuro-jaw-line{fill:none;stroke:rgba(103,232,249,.34);stroke-width:1.7}
.neuro-brain-base{fill:url(#brainGlowGrad);stroke:rgba(103,232,249,.30);stroke-width:1.4}
.neuro-lobe{stroke-width:1.1;stroke:rgba(226,252,255,.20);transition:.22s;filter:url(#neuroGlow)}
.neuro-lobe.frontal{fill:rgba(6,182,212,.24)}
.neuro-lobe.parietal{fill:rgba(59,130,246,.18)}
.neuro-lobe.temporal{fill:rgba(167,139,250,.18)}
.neuro-lobe.occipital{fill:rgba(244,114,182,.16)}
.neuro-sulcus{fill:none;stroke:rgba(210,250,255,.30);stroke-width:1.25;stroke-linecap:round}
.neuro-sulcus.central{stroke:rgba(251,113,133,.63);stroke-width:2}
.neuro-sulcus.lateral{stroke:rgba(167,139,250,.50);stroke-width:1.8}
.neuro-zone-overlay{fill:rgba(103,232,249,.04);stroke:rgba(103,232,249,.10);stroke-width:1;transition:.2s}
.neuro-zone-overlay.active,.neuro-lobe.active{fill:rgba(103,232,249,.30);stroke:rgba(190,250,255,.78);filter:url(#neuroGlow)}
.neuro-cerebellum{fill:rgba(110,231,183,.15);stroke:rgba(167,243,208,.42);stroke-width:1.4;filter:url(#neuroGlow)}
.cerebellar-line{fill:none;stroke:rgba(167,243,208,.25);stroke-width:1}
.neuro-midbrain,.neuro-pons,.neuro-medulla,.neuro-cord{fill:url(#stemGrad);stroke:rgba(216,180,254,.46);stroke-width:1.25;filter:url(#neuroGlow)}
.neuro-medulla.active{fill:rgba(103,232,249,.58);stroke:#dffcff}
.neuro-hotspot{
  position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  border:0;background:transparent;color:#92aab8;cursor:pointer;z-index:6;padding:0
}
.neuro-hotspot i{display:block;width:12px;height:12px;border-radius:50%;background:#071c28;border:2px solid #67e8f9;box-shadow:0 0 0 5px rgba(34,211,238,.07),0 0 20px rgba(34,211,238,.32)}
.neuro-hotspot span{position:absolute;left:18px;top:-6px;white-space:nowrap;opacity:0;transform:translateX(-4px);transition:.18s;padding:.28rem .42rem;border-radius:8px;background:rgba(3,14,24,.92);border:1px solid rgba(103,232,249,.18);font-size:.64rem;font-weight:750;color:#dffcff;pointer-events:none}
.neuro-hotspot:hover span,.neuro-hotspot.active span{opacity:1;transform:none}
.neuro-hotspot.active i{background:#67e8f9;border-color:white;box-shadow:0 0 0 7px rgba(34,211,238,.10),0 0 30px rgba(34,211,238,.55)}
.neuro-scene.hide-shell .neuro-layer-shell{opacity:.05}
.neuro-scene.hide-cortex .neuro-layer-cortex{opacity:.04}
.neuro-scene.hide-stem .neuro-layer-stem{opacity:.04}
.neuro-scene.hide-cerebellum .neuro-layer-cerebellum{opacity:.04}
.neuro-layer{transition:opacity .25s ease}
.neuro-info-panel{min-height:500px}
.neuro-depth-note{margin-top:.8rem;padding:.75rem;border-radius:13px;background:rgba(6,182,212,.045);border:1px dashed rgba(103,232,249,.16)}
.neuro-depth-note strong{color:#dffaff;font-size:.78rem}.neuro-depth-note p{margin:.25rem 0 0;color:#87a2b1;font-size:.77rem;line-height:1.5}

/* Torso */
.torso-subcontrols{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin:.35rem 0 .65rem}
.segmented-control{display:flex;padding:.2rem;border:1px solid rgba(103,232,249,.10);background:rgba(2,12,22,.5);border-radius:999px;gap:.2rem}
.torso-scene{--shell-opacity:.18}
.torso3d-svg{display:block;width:100%;height:auto;max-height:690px;filter:drop-shadow(0 18px 38px rgba(0,0,0,.22))}
.torso-shell{fill:url(#torsoShellGrad);fill-opacity:var(--shell-opacity);stroke:rgba(177,247,255,.45);stroke-width:2;filter:url(#torsoGlow)}
.rib-cage,.sternum,.pelvis-outline,.diaphragm-line{fill:none;stroke:rgba(103,232,249,.15);stroke-width:1.4}
.diaphrragm-line{stroke-dasharray:4 5}
.organ{cursor:pointer;transition:opacity .2s,filter .2s,stroke .2s,transform .2s;transform-origin:center;filter:url(#torsoGlow)}
.right-lung,.left-lung{fill:rgba(34,211,238,.16);stroke:rgba(103,232,249,.40);stroke-width:1.4}
.heart{fill:rgba(244,114,182,.28);stroke:rgba(251,113,133,.55);stroke-width:1.4}
.liver{fill:rgba(251,191,36,.20);stroke:rgba(253,224,71,.43);stroke-width:1.4}
.stomach{fill:rgba(167,139,250,.20);stroke:rgba(196,181,253,.46);stroke-width:1.3}
.spleen{fill:rgba(244,114,182,.21);stroke:rgba(251,113,133,.45);stroke-width:1.3}
.pancreas{fill:rgba(251,146,60,.22);stroke:rgba(253,186,116,.50);stroke-width:1.3}
.kidney{fill:rgba(14,165,233,.15);stroke:rgba(125,211,252,.42);stroke-width:1.2}
.posterior{opacity:.58;stroke-dasharray:3 3}
.colon{stroke:rgba(110,231,183,.52);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;opacity:.48}
.small-bowel{stroke:rgba(103,232,249,.38);stroke-width:8;stroke-linecap:round;opacity:.42}
.bladder{fill:rgba(59,130,246,.20);stroke:rgba(147,197,253,.46);stroke-width:1.3}
.uterus{stroke:rgba(244,114,182,.64);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.prostate{fill:rgba(167,139,250,.28);stroke:rgba(196,181,253,.58);stroke-width:1.2}
.femoral-vessels{stroke:rgba(251,113,133,.50);stroke-width:5;stroke-linecap:round}
.organ:hover,.organ-selected{filter:url(#torsoGlow) drop-shadow(0 0 8px rgba(103,232,249,.6));stroke:#dffcff!important;opacity:1!important}
.organ.region-highlight{opacity:1!important;filter:url(#torsoGlow) drop-shadow(0 0 8px rgba(34,211,238,.30))}
.organ.trauma-highlight{opacity:1!important;stroke:#fde68a!important;filter:url(#torsoGlow) drop-shadow(0 0 13px rgba(251,191,36,.64));animation:traumaOrganPulse 1.3s ease-in-out infinite}
@keyframes traumaOrganPulse{50%{filter:url(#torsoGlow) drop-shadow(0 0 22px rgba(251,191,36,.8))}}
.torso-scene[data-layer="thorax"] .organ-system-abdomen,.torso-scene[data-layer="thorax"] .organ-system-pelvis{opacity:.06}
.torso-scene[data-layer="abdomen"] .organ-system-thorax,.torso-scene[data-layer="abdomen"] .organ-system-pelvis{opacity:.06}
.torso-scene[data-layer="pelvis"] .organ-system-thorax,.torso-scene[data-layer="pelvis"] .organ-system-abdomen{opacity:.06}
.organ-layer{transition:opacity .25s}
.pelvis-sex{transition:opacity .2s}.pelvis-general .pelvis-sex{opacity:.08}.pelvis-female .pelvis-sex.male{opacity:.04;pointer-events:none}.pelvis-female .pelvis-sex.female{opacity:1}.pelvis-male .pelvis-sex.female{opacity:.04;pointer-events:none}.pelvis-male .pelvis-sex.male{opacity:1}
.abd-overlay{opacity:0;pointer-events:none;transition:opacity .2s}
.show-regions .abdomen-mode-regions,.show-quadrants .abdomen-mode-quadrants{opacity:1;pointer-events:auto}
.abd-region-overlay,.abd-quadrant-overlay{fill:rgba(6,182,212,.008);stroke:rgba(103,232,249,.18);stroke-width:1;cursor:pointer;transition:.18s}
.abd-region-overlay:hover,.abd-region-overlay.active,.abd-quadrant-overlay:hover,.abd-quadrant-overlay.active{fill:rgba(6,182,212,.10);stroke:rgba(103,232,249,.62);filter:url(#torsoGlow)}
.patient-side{fill:#6f8d9d;font-size:11px;letter-spacing:.06em}
.trauma-trajectory{stroke:#fbbf24;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 8;opacity:0;filter:url(#torsoGlow)}
.trauma-trajectory.visible{opacity:1;animation:trajectoryDash 1.1s linear infinite}
@keyframes trajectoryDash{to{stroke-dashoffset:-32}}
.trauma-entry{fill:#fb7185;stroke:#fff;stroke-width:2;opacity:0;filter:url(#torsoGlow)}.trauma-entry.visible{opacity:1;animation:entryPulse 1s ease-in-out infinite}@keyframes entryPulse{50%{r:13}}
.organ-legend{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.55rem}
.organ-legend-btn{border:1px solid rgba(148,163,184,.10);background:rgba(2,12,22,.52);color:#8099a7;border-radius:999px;padding:.34rem .5rem;font-size:.64rem;cursor:pointer;display:flex;align-items:center;gap:.32rem}
.organ-legend-btn:hover,.organ-legend-btn.active,.organ-legend-btn.region-highlight{color:#e8fbff;border-color:rgba(103,232,249,.28);background:rgba(6,182,212,.07)}
.organ-dot{width:7px;height:7px;border-radius:50%;background:#67e8f9;box-shadow:0 0 8px rgba(103,232,249,.4)}.organ-dot.thorax{background:#38bdf8}.organ-dot.abdomen{background:#fbbf24}.organ-dot.pelvis{background:#c4b5fd}
.torso-right-column{display:grid;gap:.8rem}
.torso-info-panel{min-height:390px}
.organ-focus{margin-top:.9rem;padding:.8rem;border-radius:14px;background:rgba(6,182,212,.045);border:1px solid rgba(103,232,249,.13)}
.organ-focus h4{font-size:1rem!important;margin:.3rem 0!important;color:#eaffff!important}.organ-focus p{font-size:.8rem!important}.organ-focus .organ-clinical{margin-top:.5rem!important;color:#c9d9df!important}
.trauma-visual-panel{padding:1rem}.trauma-visual-panel h3{margin:.2rem 0;color:#effcff}.trauma-visual-panel>p{color:#8da6b4;font-size:.8rem;line-height:1.5}
.trauma-preset-list{display:grid;gap:.42rem;margin:.7rem 0}.trauma-preset-btn{border:1px solid rgba(251,191,36,.12);background:rgba(120,53,15,.045);color:#baaa88;border-radius:12px;padding:.6rem .7rem;font-size:.76rem;text-align:left;cursor:pointer}.trauma-preset-btn:hover,.trauma-preset-btn.active{color:#fff4ce;border-color:rgba(251,191,36,.36);background:rgba(120,53,15,.13)}
.trauma-message{padding:.75rem;border-radius:12px;background:rgba(2,12,22,.52);color:#b8c8d0;font-size:.78rem;line-height:1.5;margin-bottom:.6rem}
.ghost-button.small{min-height:auto;padding:.45rem .7rem;font-size:.72rem}

/* Responsive anatomy */
@media(max-width:980px){
  .neuro3d-grid,.torso3d-grid{grid-template-columns:1fr}
  .neuro-info-panel{min-height:0}
}
@media(max-width:620px){
  .anatomy-visual-card{padding:.55rem}
  .anatomy-visual-controls{align-items:flex-start}
  .anatomy-opacity-control{width:100%;justify-content:flex-end}
  .neuro-hotspot span{display:none}
  .torso-subcontrols{display:grid}
  .segmented-control{width:max-content;max-width:100%;overflow:auto}
  .organ-legend{max-height:110px;overflow:auto}
  .neuro3d-svg{max-height:440px}.torso3d-svg{max-height:600px}
}


/* v0.12.1 · Anatomy Visual Lab polish */
.drawer-panel.visual-wide{width:min(1180px,100%)}
.drawer-panel.visual-wide .drawer-scroll{overflow-x:hidden;padding-left:clamp(18px,3vw,38px);padding-right:clamp(18px,3vw,38px)}
.drawer-panel.visual-wide .topic-section,.drawer-panel.visual-wide .neuro3d-grid,.drawer-panel.visual-wide .torso3d-grid,.drawer-panel.visual-wide .surface-info-panel,.drawer-panel.visual-wide .torso-right-column,.drawer-panel.visual-wide .anatomy-visual-card{min-width:0;max-width:100%;box-sizing:border-box}
.drawer-panel.visual-wide .surface-info-panel,.drawer-panel.visual-wide .torso-info-panel,.drawer-panel.visual-wide .trauma-visual-panel{overflow:hidden}
.drawer-panel.visual-wide .surface-info-panel p,.drawer-panel.visual-wide .surface-info-panel dd,.drawer-panel.visual-wide .torso-info-panel p,.drawer-panel.visual-wide .trauma-visual-panel p,.drawer-panel.visual-wide .trauma-message,.drawer-panel.visual-wide .organ-focus{overflow-wrap:anywhere;word-break:normal;white-space:normal;max-width:100%}
.neuro3d-grid,.torso3d-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.neuro-head-shell{stroke-width:2.05}
.neuro-eye-line,.neuro-neck-line,.neuro-hairline{fill:none;stroke:rgba(177,247,255,.42);stroke-width:1.55;stroke-linecap:round}
.neuro-eye-line{stroke:rgba(103,232,249,.52)}
.neuro-hairline{stroke:rgba(103,232,249,.18);stroke-dasharray:3 5}
.clavicles,.spine-hint{fill:none;stroke:rgba(103,232,249,.17);stroke-width:1.3}
.spine-hint{stroke-dasharray:3 6}
.lung-fissure{fill:none;stroke:rgba(187,247,255,.18);stroke-width:1}
.thyroid{fill:rgba(244,114,182,.30);stroke:rgba(251,113,133,.58);stroke-width:1.25}
.trachea{fill:rgba(148,163,184,.16);stroke:rgba(203,213,225,.42);stroke-width:1.2}
.gallbladder{fill:rgba(74,222,128,.26);stroke:rgba(134,239,172,.54);stroke-width:1.2}
.aorta{stroke:rgba(251,113,133,.68);stroke-width:7;stroke-linecap:round;opacity:.80}
.ivc{stroke:rgba(96,165,250,.64);stroke-width:8;stroke-linecap:round;opacity:.74}
.torso-shell.adult-female{stroke-width:1.9}
.torso-scene .rib-cage{stroke:rgba(186,230,253,.17);stroke-width:1.2}
.torso-scene .pelvis-outline{stroke:rgba(196,181,253,.20);stroke-width:1.35}
.torso-scene .diaphragm-line{stroke:rgba(103,232,249,.22);stroke-dasharray:5 5}
.torso3d-svg .organ{vector-effect:non-scaling-stroke}
.torso3d-svg .colon{stroke-width:14}
.torso3d-svg .small-bowel{stroke-width:8.5}
@media(max-width:1040px){
  .drawer-panel.visual-wide{width:100%}
  .drawer-panel.visual-wide .neuro3d-grid,.drawer-panel.visual-wide .torso3d-grid{grid-template-columns:1fr}
  .drawer-panel.visual-wide .surface-info-panel{min-height:0}
}
@media(max-width:760px){
  .drawer-panel.visual-wide .drawer-scroll{padding-left:14px;padding-right:14px}
  .neuro3d-svg{max-height:500px}.torso3d-svg{max-height:670px}
}

/* v0.12.2 · Anatomy redraw + responsive fix */
.drawer-panel.visual-wide{width:min(1380px,calc(100vw - 18px));max-width:calc(100vw - 18px);right:0}
.drawer-panel.visual-wide .drawer-scroll{overflow-x:hidden;scrollbar-gutter:stable;padding-right:clamp(26px,3vw,44px)}
.drawer-panel.visual-wide *{min-width:0;box-sizing:border-box}
.neuro3d-grid,.torso3d-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.surface-info-panel,.torso-right-column,.torso-info-panel,.trauma-visual-panel{width:100%;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.surface-info-panel p,.surface-info-panel dd,.torso-info-panel p,.torso-info-panel h3,.torso-info-panel h4,.trauma-visual-panel p,.trauma-message,.organ-focus p{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.visual-build-tools{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.visual-build-badge{font-size:.66rem;font-weight:900;letter-spacing:.09em;color:#03151e;background:#67e8f9;border-radius:999px;padding:.38rem .55rem;box-shadow:0 0 20px rgba(103,232,249,.22)}
.orientation-strong{margin-top:.15rem}.orientation-strong b{color:#67e8f9;font-size:1rem}.orientation-strong span:last-child{color:#a7f3d0}
.neuro-ear,.neuro-hairline,.neuro-lip-line{fill:none;stroke:rgba(103,232,249,.42);stroke-width:1.3}.neuro-hairline{stroke-opacity:.55}.neuro-lip-line{stroke-opacity:.62}
.neuro-head-shell.adult-female-profile{fill:url(#headShellGrad);fill-opacity:var(--shell-opacity);stroke:rgba(177,247,255,.68);stroke-width:2.25}
.clavicles,.sternum,.detailed-ribs path,.anatomic-pelvis{fill:none;stroke:rgba(190,240,248,.22);stroke-width:1.6}.clavicles{stroke-opacity:.35}.sternum{stroke-opacity:.28}
.lung-fissure{fill:none;stroke:rgba(103,232,249,.25);stroke-width:1.1}
.anatomic-heart{fill:rgba(244,114,182,.34)!important;stroke:rgba(251,113,133,.58)!important}
.anatomic-liver{fill:rgba(245,158,11,.31)!important;stroke:rgba(251,191,36,.58)!important}
.anatomic-stomach{fill:rgba(167,139,250,.29)!important;stroke:rgba(196,181,253,.54)!important}
.anatomic-pancreas{fill:rgba(251,146,60,.32)!important;stroke:rgba(253,186,116,.56)!important}
.anatomic-colon{stroke:rgba(52,211,153,.64)!important;stroke-width:20!important;opacity:.72!important}
.anatomic-bowel{stroke:rgba(240,199,199,.72)!important;stroke-width:10!important;opacity:.75!important}
.aorta{stroke:rgba(251,113,133,.68)!important;stroke-width:7!important}.ivc{stroke:rgba(96,165,250,.62)!important;stroke-width:7!important}
.thyroid{fill:rgba(244,114,182,.48)!important;stroke:rgba(249,168,212,.62)!important}.trachea{stroke:rgba(213,251,255,.65)!important;stroke-width:4!important}
.torso-shell.adult-anatomic{fill:url(#torsoShellGrad);fill-opacity:var(--shell-opacity);stroke:rgba(177,247,255,.52);stroke-width:2.15}
@media(max-width:1180px){
 .drawer-panel.visual-wide{width:100%;max-width:100%;right:0}
 .drawer-panel.visual-wide .neuro3d-grid,.drawer-panel.visual-wide .torso3d-grid{grid-template-columns:1fr}
 .drawer-panel.visual-wide .surface-info-panel{min-height:0}
}
@media(max-width:720px){
 .drawer-panel.visual-wide .drawer-scroll{padding-left:13px;padding-right:18px}
 .visual-build-tools{justify-content:flex-start}
}

.drawer-panel.visual-wide .surface-info-panel,.drawer-panel.visual-wide .torso-info-panel,.drawer-panel.visual-wide .trauma-visual-panel,.drawer-panel.visual-wide .torso-right-column{overflow:visible!important;}


/* v0.12.3 · Anatomical correction: adult profile + colon / cecum / appendix */
.neuro-head-shell.adult-female-profile{stroke-width:2;filter:url(#neuroGlow)}
.neuro-eyebrow{fill:none;stroke:rgba(103,232,249,.32);stroke-width:1.2}
.orientation-strong{font-weight:800;color:#8eb0bf}.orientation-strong b{color:#67e8f9;font-size:1rem}
.athletic-unisex{stroke-width:1.9}
.spine-hint{fill:none;stroke:rgba(196,181,253,.15);stroke-width:2;stroke-dasharray:3 6}
.cecum{fill:rgba(110,231,183,.14);stroke:rgba(167,243,208,.58);stroke-width:1.6;filter:url(#torsoGlow)}
.appendix{fill:none;stroke:#fbbf24;stroke-width:5;stroke-linecap:round;filter:url(#torsoGlow)}
.rectosigmoid{fill:none;stroke:rgba(110,231,183,.66);stroke-width:11;stroke-linecap:round;filter:url(#torsoGlow)}
.appendix-callout{fill:#f8d87c;font-size:10px;font-weight:800;letter-spacing:.05em}
.appendix-callout-line{fill:none;stroke:rgba(251,191,36,.65);stroke-width:1.2}
.organ.appendix:hover,.organ.appendix.organ-selected{stroke:#fff2b8!important;stroke-width:7}
.organ.cecum:hover,.organ.cecum.organ-selected{stroke:#d1fae5!important}
.appendix-high-yield{padding:1rem;border:1px solid rgba(251,191,36,.16);border-radius:18px;background:linear-gradient(135deg,rgba(120,53,15,.08),rgba(5,22,36,.55));min-width:0;overflow-wrap:anywhere}
.appendix-high-yield h3{margin:.2rem 0 .45rem;color:#fff4ce}.appendix-high-yield p{margin:0 0 .75rem;color:#c8d3d8;line-height:1.62;font-size:.82rem}
.organ-topic-link{margin-top:.65rem}
.anatomy-clean .abd-overlay{opacity:0!important;pointer-events:none!important}
.torso3d-grid>*{min-width:0}.torso-right-column,.torso-right-column>div,.torso-info-panel,.surface-info-panel{min-width:0;max-width:100%}
.torso-right-column p,.torso-right-column h3,.torso-right-column h4,.surface-info-panel p,.surface-info-panel dd{overflow-wrap:anywhere;word-break:normal;white-space:normal}
@media(max-width:1180px){.torso3d-grid,.neuro3d-grid{grid-template-columns:1fr!important}.torso-right-column{grid-template-columns:1fr}.surface-info-panel{min-height:0}}

.neuro-eye{fill:#dffcff;stroke:#67e8f9;stroke-width:1}.neuro-nose-detail,.neuro-chin-detail{fill:none;stroke:rgba(103,232,249,.34);stroke-width:1.15}

.torso-neck-detail{fill:none;stroke:rgba(103,232,249,.24);stroke-width:1.2}


/* v0.12.4 — compact anatomy canvas and adult proportion polish */
.drawer-panel.visual-wide{
  width:min(1120px,calc(100vw - 20px))!important;
  max-width:calc(100vw - 20px)!important;
}
.drawer-panel.visual-wide .drawer-scroll{
  padding-left:clamp(14px,2vw,26px)!important;
  padding-right:clamp(18px,2vw,28px)!important;
}
.drawer-panel.visual-wide .neuro3d-grid{
  grid-template-columns:minmax(360px,.92fr) minmax(300px,.72fr)!important;
  gap:.7rem!important;
}
.drawer-panel.visual-wide .torso3d-grid{
  grid-template-columns:minmax(430px,1fr) minmax(300px,.78fr)!important;
  gap:.7rem!important;
}
.drawer-panel.visual-wide .anatomy-visual-card{
  padding:.7rem!important;
}
.neuro3d-svg{max-height:515px!important}
.torso3d-svg{max-height:650px!important}
.lia-ponytail{
  fill:none;
  stroke:rgba(103,232,249,.13);
  stroke-width:7;
  stroke-linecap:round;
  filter:url(#neuroGlow);
}
.lia-hairline{stroke-width:1.55!important;stroke:rgba(103,232,249,.30)!important}
.neuro-eye-line{fill:none;stroke:rgba(214,251,255,.58);stroke-width:1.5;stroke-linecap:round}
.neuro-eye-pupil{fill:#67e8f9;filter:url(#neuroGlow)}
.adult-face-contour,.adult-jaw{stroke:rgba(177,247,255,.48)!important}
.adult-thigh-outline{
  fill:none;
  stroke:rgba(177,247,255,.26);
  stroke-width:1.5;
  stroke-linecap:round;
}
.inguinal-landmark{
  fill:none;
  stroke:rgba(103,232,249,.18);
  stroke-width:1.2;
  stroke-dasharray:4 4;
}
.torso-shell.adult-balanced-body{
  fill:url(#torsoShellGrad);
  fill-opacity:var(--shell-opacity);
  stroke:rgba(177,247,255,.54);
  stroke-width:2;
  fill-rule:evenodd;
}
@media(max-width:1180px){
  .drawer-panel.visual-wide{width:100%!important;max-width:100%!important}
  .drawer-panel.visual-wide .neuro3d-grid,
  .drawer-panel.visual-wide .torso3d-grid{grid-template-columns:1fr!important}
}


/* v0.12.4 refinement — adult skin/profile overlay */
.lia-skin-profile{
  fill:none;
  stroke:rgba(219,252,255,.78);
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#neuroGlow);
}
.lia-facial-plane{
  fill:none;
  stroke:rgba(103,232,249,.34);
  stroke-width:1.25;
  stroke-linecap:round;
}
.lia-neck-anterior{
  fill:none;
  stroke:rgba(219,252,255,.58);
  stroke-width:1.8;
  stroke-linecap:round;
}
.neuro-head-shell.lia-adult-profile{
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(103,232,249,.38)!important;
}


/* ==========================================================================
   v0.12.5 · Avatar Trace Alignment
   ========================================================================== */
.avatar-profile-trace{
  fill:rgba(9,26,38,.025);
  stroke:rgba(214,252,255,.76);
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#neuroGlow);
}
.neuro-head-shell.lia-adult-profile{
  fill-opacity:.02!important;
  stroke:rgba(103,232,249,.15)!important;
  stroke-width:1.05!important;
}
.neuro-face-line,.neuro-lip-line,.neuro-jaw-line,.neuro-neck-line,
.neuro-hairline,.lia-ponytail,.lia-skin-profile,.lia-facial-plane,.lia-neck-anterior,
.neuro-nose-detail,.neuro-chin-detail,.legacy-body-guide{
  opacity:0!important;
}
.neuro-ear{opacity:.24}
.neuro-eye-line,.neuro-eye-pupil,.neuro-eyebrow{opacity:.32}

.torso-shell.avatar-front-trace{
  fill:rgba(6,182,212,.018)!important;
  stroke:rgba(216,252,255,.66)!important;
  stroke-width:2.05!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill-rule:evenodd;
  filter:url(#torsoGlow);
}

/* Give the colon enough presence to teach orientation without exceeding the traced waist. */
.anatomic-colon{stroke-width:15!important}
.rectosigmoid{stroke-width:9!important}
.small-bowel.anatomic-bowel{stroke-width:8.5!important}

/* Compact anatomy drawer: material occupies the space instead of lateral emptiness. */
.drawer-panel.visual-wide{
  width:min(1000px,calc(100vw - 18px))!important;
  max-width:calc(100vw - 18px)!important;
}
.drawer-panel.visual-wide .neuro3d-grid{
  grid-template-columns:minmax(350px,.94fr) minmax(290px,.70fr)!important;
  gap:.55rem!important;
}
.drawer-panel.visual-wide .torso3d-grid{
  grid-template-columns:minmax(420px,.98fr) minmax(300px,.76fr)!important;
  gap:.55rem!important;
}
.drawer-panel.visual-wide .drawer-scroll{
  padding-left:16px!important;
  padding-right:18px!important;
}
.neuro3d-svg{max-height:500px!important}
.torso3d-svg{max-height:625px!important}

@media(max-width:1050px){
  .drawer-panel.visual-wide{width:100%!important;max-width:100%!important}
  .drawer-panel.visual-wide .neuro3d-grid,
  .drawer-panel.visual-wide .torso3d-grid{grid-template-columns:1fr!important}
}


/* ==========================================================================
   v0.12.6 · Calvaria + Body Contour Polish
   ========================================================================== */
.face-trace-only{
  fill:none!important;
  stroke:rgba(220,252,255,.82)!important;
  stroke-width:2.1!important;
  filter:url(#neuroGlow);
}
.calvarial-shell-v126{
  fill:url(#headShellGrad)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(103,232,249,.28)!important;
  stroke-width:1.25!important;
}
.calvarial-occipital-outline{
  fill:none;
  stroke:rgba(219,252,255,.68);
  stroke-width:2.05;
  stroke-linecap:round;
  filter:url(#neuroGlow);
}
.cranial-base-reference{
  fill:none;
  stroke:rgba(103,232,249,.22);
  stroke-width:1.15;
  stroke-dasharray:4 5;
}
/* No hair contour is used as skull boundary. */
.neuro-hairline,.lia-ponytail{display:none!important}

.torso-shell.refined-avatar-body-v126{
  fill:rgba(6,182,212,.018)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(221,253,255,.72)!important;
  stroke-width:2.15!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#torsoGlow);
}
.arm-cut-v126{
  fill:none;
  stroke:rgba(221,253,255,.78);
  stroke-width:2.25;
  stroke-linecap:round;
  filter:url(#torsoGlow);
}
/* The clean cut crosses each upper arm; no dangling skin-flap effect. */
.legacy-body-guide{display:none!important}

/* A touch narrower colon for the avatar waist while keeping recognisable haustral frame. */
.anatomic-colon{stroke-width:13.5!important}
.rectosigmoid{stroke-width:8.5!important}

/* Slightly tighter visual card without starving the explanatory panel. */
.drawer-panel.visual-wide{
  width:min(980px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
}
.drawer-panel.visual-wide .torso3d-grid{
  grid-template-columns:minmax(410px,.96fr) minmax(300px,.78fr)!important;
  gap:.48rem!important;
}
.drawer-panel.visual-wide .neuro3d-grid{
  grid-template-columns:minmax(345px,.92fr) minmax(295px,.72fr)!important;
  gap:.48rem!important;
}
@media(max-width:1010px){
  .drawer-panel.visual-wide{width:100%!important;max-width:100%!important}
  .drawer-panel.visual-wide .neuro3d-grid,
  .drawer-panel.visual-wide .torso3d-grid{grid-template-columns:1fr!important}
}

.face-neck-extension-v126{fill:none;stroke:rgba(220,252,255,.72);stroke-width:2;stroke-linecap:round;filter:url(#neuroGlow)}


/* ==========================================================================
   v0.12.7 · Anatomy Realignment
   ========================================================================== */

/* One outer craniofacial line only. */
.lia-single-head-trace{
  fill:rgba(8,27,39,.028);
  fill-opacity:var(--shell-opacity);
  stroke:rgba(218,252,255,.76);
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#neuroGlow);
}
.neuro-calvaria-inner{
  fill:none;
  stroke:rgba(103,232,249,.20);
  stroke-width:1.05;
  stroke-dasharray:4 5;
}
.cranial-base-reference{
  fill:none;
  stroke:rgba(103,232,249,.16);
  stroke-width:1;
}

/* Ensure all old competing portrait traces remain hidden. */
.avatar-profile-trace,.face-trace-only,.calvarial-shell-v126,
.calvarial-occipital-outline,.face-neck-extension-v126,
.lia-skin-profile,.lia-hairline,.lia-ponytail{
  display:none!important;
}

/* Smooth adult/unisex body based on preferred prior proportions. */
.torso-shell.smooth-adult-avatar-body{
  fill:rgba(6,182,212,.018)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(216,252,255,.62)!important;
  stroke-width:2.05!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#torsoGlow);
}

/* Obstetric relation: uterine outlet / canal walls. */
.birth-canal-wall{
  fill:none;
  stroke:rgba(244,114,182,.52);
  stroke-width:3;
  stroke-linecap:round;
  filter:url(#torsoGlow);
}
.birth-canal-axis{
  fill:none;
  stroke:rgba(103,232,249,.20);
  stroke-width:1;
  stroke-dasharray:4 4;
}

/* Slightly tighter composition without crushing explanatory text. */
.drawer-panel.visual-wide{
  width:min(1000px,calc(100vw - 18px))!important;
  max-width:calc(100vw - 18px)!important;
}
.drawer-panel.visual-wide .torso3d-grid{
  grid-template-columns:minmax(420px,1fr) minmax(300px,.78fr)!important;
  gap:.6rem!important;
}
.drawer-panel.visual-wide .neuro3d-grid{
  grid-template-columns:minmax(350px,.95fr) minmax(300px,.72fr)!important;
  gap:.6rem!important;
}
@media(max-width:1050px){
  .drawer-panel.visual-wide{width:100%!important;max-width:100%!important}
  .drawer-panel.visual-wide .torso3d-grid,
  .drawer-panel.visual-wide .neuro3d-grid{grid-template-columns:1fr!important}
}


/* ==========================================================================
   v0.12.8 · Face Profile Polish — HEAD ONLY
   ========================================================================== */
.lia-face-v128{
  fill:rgba(8,27,39,.026)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(220,253,255,.82)!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:url(#neuroGlow);
}
.neuro-calvaria-inner{
  fill:none!important;
  stroke:rgba(103,232,249,.17)!important;
  stroke-width:1!important;
  stroke-dasharray:4 5!important;
}
.cranial-base-reference{
  fill:none!important;
  stroke:rgba(103,232,249,.13)!important;
  stroke-width:1!important;
}
.neuro-face-line,.neuro-lip-line,.neuro-jaw-line,.neuro-neck-line,
.lia-skin-profile,.lia-facial-plane,.lia-neck-anterior,
.neuro-nose-detail,.neuro-chin-detail,.avatar-profile-trace,
.face-trace-only,.face-neck-extension-v126,.calvarial-occipital-outline{
  display:none!important;
}


/* ==========================================================================
   v0.12.9 · Avatar Face Trace — HEAD ONLY
   ========================================================================== */
.lia-avatar-face-v129{
  fill:rgba(8,27,39,.024)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(220,253,255,.82)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:url(#neuroGlow);
}
.neuro-calvaria-inner{
  fill:none!important;
  stroke:rgba(103,232,249,.16)!important;
  stroke-width:1!important;
  stroke-dasharray:4 5!important;
}
.lia-brow-v129{
  fill:none;
  stroke:rgba(159,240,248,.34);
  stroke-width:1.25;
  stroke-linecap:round;
}
.lia-eye-v129{
  fill:none;
  stroke:rgba(218,252,255,.56);
  stroke-width:1.25;
  stroke-linecap:round;
}
.lia-pupil-v129{
  fill:#67e8f9;
  opacity:.72;
  filter:url(#neuroGlow);
}
.lia-upper-lip-v129,.lia-lower-lip-v129{
  fill:none;
  stroke:rgba(218,252,255,.40);
  stroke-width:1.05;
  stroke-linecap:round;
}
.lia-ear-v129,.lia-ear-inner-v129{
  fill:none;
  stroke:rgba(103,232,249,.23);
  stroke-width:1.1;
  stroke-linecap:round;
}
.cranial-base-reference{
  fill:none!important;
  stroke:rgba(103,232,249,.12)!important;
  stroke-width:1!important;
}
.neuro-face-line,.neuro-lip-line,.neuro-jaw-line,.neuro-neck-line,
.lia-skin-profile,.lia-facial-plane,.lia-neck-anterior,
.neuro-nose-detail,.neuro-chin-detail,.avatar-profile-trace,
.face-trace-only,.face-neck-extension-v126,.calvarial-occipital-outline,
.lia-face-v128{
  display:none!important;
}


/* ==========================================================================
   v0.12.10 · Head Proportion Fine-Tuning
   ========================================================================== */
.lia-head-proportion-v1210{
  transform-box:fill-box;
  transform-origin:center;
}
.v1210-calvaria-lowered{
  stroke:rgba(103,232,249,.18)!important;
  stroke-width:1!important;
  stroke-dasharray:4 5!important;
}
/* Keep the transformed skin contour dominant while the inner guide stays subtle. */
.v1210-head-shell .lia-avatar-face-v129{
  stroke:rgba(220,253,255,.84)!important;
}


/* ==========================================================================
   v0.12.11 · Head Microalignment
   ========================================================================== */
.lia-head-micro-v1211{
  transform-box:fill-box;
  transform-origin:center;
}
.v1211-calvaria-lowered{
  stroke:rgba(103,232,249,.18)!important;
}


/* ==========================================================================
   v0.12.12 · Head Final Microfit
   ========================================================================== */
.lia-head-micro-v1212{
  transform-box:fill-box;
  transform-origin:center;
}
.v1212-calvaria-adjusted{
  stroke:rgba(103,232,249,.18)!important;
  stroke-width:1!important;
  stroke-dasharray:4 5!important;
}


/* ==========================================================================
   v0.12.13 · Head/Neck Decoupled
   ========================================================================== */
.lia-head-v1213{
  fill:rgba(8,27,39,.024)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(220,253,255,.84)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:url(#neuroGlow);
}
.v1213-calvaria{
  fill:none!important;
  stroke:rgba(103,232,249,.18)!important;
  stroke-width:1!important;
  stroke-dasharray:4 5!important;
}
/* Legacy cumulative wrappers are no longer used in the rendered SVG. */
.lia-head-proportion-v1210,.lia-head-micro-v1211,.lia-head-micro-v1212{
  transform:none;
}


/* ==========================================================================
   v0.12.14 · Head Posterior Fit
   ========================================================================== */
.lia-head-v1214{
  stroke:rgba(220,253,255,.84)!important;
}
.occipital-neck-smoother-v1214{
  fill:none;
  stroke:rgba(220,253,255,.84);
  stroke-width:2.15;
  stroke-linecap:round;
  filter:url(#neuroGlow);
}
/* Dotted calvaria intentionally unchanged in this build. */


/* ==========================================================================
   v0.12.15 · Occipital Closure
   ========================================================================== */
.lia-head-v1215{
  stroke:rgba(220,253,255,.84)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.occipital-neck-smoother-v1214{
  display:none!important;
}
/* Dotted calvaria remains intentionally locked from v0.12.13. */

/* v0.12.17 · Head Geometry Fix */
.lia-head-v1217{stroke:rgba(220,253,255,.86)!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important;}


/* ==========================================================================
   v0.12.18 · Cervical Axis Realignment
   ========================================================================== */
.lia-head-v1218{
  stroke:rgba(220,253,255,.86)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
/* Dotted calvaria remains explicitly locked. */


/* ==========================================================================
   v0.12.19 · Final Cranio-Cervical Fit
   ========================================================================== */
.lia-head-v1219{
  stroke:rgba(220,253,255,.86)!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
/* Dotted calvaria remains locked and unchanged. */


/* ==========================================================================
   v0.12.20 · NeuroSurface Final
   Final eye landmark alignment only.
   ========================================================================== */


/* ==========================================================================
   v0.12.22 · GI Vertical Orientation Fix
   Base limpia: v0.12.20
   ========================================================================== */

.stomach-v1222{
  transform-box:view-box;
  transform-origin:0 0;
}

/* Duodenum is explicit in this build to clarify continuity. */
.duodenum-v1222{
  fill:none;
  stroke:rgba(255,207,184,.82);
  stroke-width:8.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#torsoGlow);
}

.small-bowel-v1222{
  transform-box:view-box;
  transform-origin:0 0;
}

/* No silhouette / thorax / liver / colon overrides in this build. */


/* ==========================================================================
   v0.12.23 · GI Fine Alignment + Duodenum
   ========================================================================== */

/* Duodenum remains visually distinct because of its anatomical/clinical identity. */
.duodenum-v1223{
  fill:none;
  stroke:inherit;
  stroke-width:8.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:url(#torsoGlow);
}

/* No global changes to torso, thorax, liver, colon or pelvis in this build. */


/* ==========================================================================
   v0.12.24 · Duodenum / Pancreas / Appendix Polish
   ========================================================================== */

/* Secondary buttons: prevent browser-default white rectangles anywhere in the lab. */
.ghost-button{
  border:1px solid rgba(103,232,249,.20);
  background:rgba(6,182,212,.055);
  color:#8eeaf2;
  border-radius:999px;
  cursor:pointer;
  font-family:inherit;
  font-weight:750;
}
.ghost-button:hover{
  border-color:rgba(103,232,249,.42);
  background:rgba(6,182,212,.11);
  color:#dffcff;
}

/* Duodenum: violet deliberately separates it from liver (gold) and pancreas (orange). */
.duodenum-v1224{
  fill:none;
  stroke:#a78bfa!important;
  stroke-width:8.5!important;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:stroke .18s, filter .18s, opacity .18s;
  filter:url(#torsoGlow) drop-shadow(0 0 4px rgba(167,139,250,.22));
}
.organ-dot.duodenum{
  background:#a78bfa!important;
  box-shadow:0 0 9px rgba(167,139,250,.62)!important;
}

/* Explicit selected/highlight states override the permanent duodenal color. */
.duodenum-v1224.organ-selected{
  stroke:#f5f3ff!important;
  stroke-width:10.5!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(167,139,250,.95))!important;
}
.duodenum-v1224.region-highlight{
  stroke:#c4b5fd!important;
  filter:url(#torsoGlow) drop-shadow(0 0 10px rgba(167,139,250,.66))!important;
}
.duodenum-v1224.trauma-highlight{
  stroke:#fde68a!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(251,191,36,.8))!important;
}
.organ-legend-btn.active .organ-dot.duodenum{
  background:#f5f3ff!important;
  box-shadow:0 0 12px rgba(167,139,250,.95)!important;
}

/* Pancreas is translated only; its established color remains unchanged. */
.pancreas-v1224{
  transition:filter .18s, opacity .18s;
}

/* Appendix base stays fixed; distal tip curves medially. */
.appendix-v1224{
  stroke-linecap:round;
  stroke-linejoin:round;
}
\n\n/* ==========================================================================\n   v0.12.25 · Appendix / Duodenum / Spleen Fine Polish\n   ========================================================================== */\n.appendix-v1225{stroke-linecap:round!important;stroke-linejoin:round!important;}\n.duodenum-v1225{stroke-linecap:round!important;stroke-linejoin:round!important;}\n.spleen-v1225{transition:filter .18s,opacity .18s;}\n

/* ==========================================================================
   v0.12.26 · Duodenum Redraw
   ========================================================================== */

.duodenum-v1226{
  fill:none;
  stroke:#a78bfa!important;
  stroke-width:7.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:stroke .18s, filter .18s, opacity .18s, stroke-width .18s;
  filter:url(#torsoGlow) drop-shadow(0 0 4px rgba(167,139,250,.22));
}

/* Preserve the individual-interaction behavior of the duodenum. */
.duodenum-v1226.organ-selected{
  stroke:#f5f3ff!important;
  stroke-width:9.6!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(167,139,250,.95))!important;
}
.duodenum-v1226.region-highlight{
  stroke:#c4b5fd!important;
  stroke-width:8.6!important;
  filter:url(#torsoGlow) drop-shadow(0 0 10px rgba(167,139,250,.66))!important;
}
.duodenum-v1226.trauma-highlight{
  stroke:#fde68a!important;
  stroke-width:9.4!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(251,191,36,.80))!important;
}


/* ==========================================================================
   v0.12.27 · Duodenum Visibility + D4 Refinement
   ========================================================================== */

.duodenum-v1227{
  fill:none!important;
  stroke:#f472b6!important;
  stroke-opacity:1!important;
  opacity:.96!important;
  stroke-width:8.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:stroke .18s, filter .18s, opacity .18s, stroke-width .18s;
  filter:url(#torsoGlow) drop-shadow(0 0 6px rgba(244,114,182,.58))!important;
  isolation:isolate;
}

.duodenum-v1227:hover{
  stroke:#f9a8d4!important;
  opacity:1!important;
  stroke-width:9.0!important;
  filter:url(#torsoGlow) drop-shadow(0 0 10px rgba(244,114,182,.76))!important;
}

.duodenum-v1227.organ-selected{
  stroke:#fff1f6!important;
  stroke-opacity:1!important;
  opacity:1!important;
  stroke-width:10.4!important;
  filter:url(#torsoGlow) drop-shadow(0 0 16px rgba(244,114,182,.96))!important;
}

.duodenum-v1227.region-highlight{
  stroke:#fbcfe8!important;
  stroke-opacity:1!important;
  opacity:1!important;
  stroke-width:9.2!important;
  filter:url(#torsoGlow) drop-shadow(0 0 12px rgba(244,114,182,.74))!important;
}

.duodenum-v1227.trauma-highlight{
  stroke:#fde68a!important;
  stroke-opacity:1!important;
  opacity:1!important;
  stroke-width:10!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(251,191,36,.82))!important;
}

.organ-dot.duodenum{
  background:#f472b6!important;
  box-shadow:0 0 10px rgba(232,121,249,.72)!important;
}

.organ-legend-btn.active .organ-dot.duodenum{
  background:#fff1f6!important;
  box-shadow:0 0 13px rgba(244,114,182,.96)!important;
}

.pancreas-v1227{
  transition:filter .18s, opacity .18s;
}


/* ==========================================================================
   v0.12.28 · Duodenum + Gallbladder Final Positioning
   ========================================================================== */

.duodenum-v1228{
  /* Geometry moved directly in SVG coordinates; no transform block. */
}

.gallbladder-v1228{
  transition:filter .18s, opacity .18s;
}

/* v0.12.29 · Upper Abdomen Alignment */
.duodenum-v1229{
  stroke:#f472b6!important;
  stroke-opacity:1!important;
  opacity:.97!important;
  filter:url(#torsoGlow) drop-shadow(0 0 6px rgba(244,114,182,.58))!important;
}
.duodenum-v1229.organ-selected{
  stroke:#fff1f6!important;
  filter:url(#torsoGlow) drop-shadow(0 0 16px rgba(244,114,182,.96))!important;
}
.organ-dot.duodenum{
  background:#f472b6!important;
  box-shadow:0 0 10px rgba(244,114,182,.70)!important;
}


/* ==========================================================================\n   v0.12.30 · Upper Abdomen + Lung Medialization\n   ========================================================================== */
.duodenum-v1230{
  fill:none!important;
  stroke:#86efac!important;
  stroke-opacity:.88!important;
  opacity:.94!important;
  stroke-width:8.2!important;
  filter:url(#torsoGlow) drop-shadow(0 0 5px rgba(134,239,172,.42))!important;
}
.duodenum-v1230:hover{
  stroke:#bbf7d0!important;
  opacity:1!important;
  filter:url(#torsoGlow) drop-shadow(0 0 9px rgba(134,239,172,.62))!important;
}
.duodenum-v1230.organ-selected{
  stroke:#f0fdf4!important;
  opacity:1!important;
  stroke-width:10.2!important;
  filter:url(#torsoGlow) drop-shadow(0 0 15px rgba(134,239,172,.88))!important;
}
.duodenum-v1230.region-highlight{
  stroke:#bbf7d0!important;
  opacity:1!important;
  filter:url(#torsoGlow) drop-shadow(0 0 11px rgba(134,239,172,.66))!important;
}
.organ-dot.duodenum{
  background:#86efac!important;
  box-shadow:0 0 9px rgba(134,239,172,.60)!important;
}
.right-lung-v1230,.left-lung-v1230,.liver-v1230,.stomach-v1230{transition:filter .18s,opacity .18s;}

/* v0.12.31 · Organ Proportion Fine-Tuning */
.stomach-v1231,.right-lung-v1231,.left-lung-v1231,.heart-v1231{transition:filter .18s,opacity .18s;}


/* ==========================================================================
   v0.12.32 · Heart + Stomach Position Fit
   ========================================================================== */
.stomach-v1232,
.heart-v1232{
  transition:filter .18s, opacity .18s;
}


/* ==========================================================================
   v0.12.33 · Heart Final Positioning Round
   ========================================================================== */
.heart-v1233{
  transition:filter .18s, opacity .18s;
}

/* v0.12.34 · Appendix Vermiform Redraw */
.appendix-v1234{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* v0.12.35 · Appendix Final Shortening */
.appendix-v1235{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* v0.12.36 · Appendix + Thyroid Fine Fit */
.appendix-v1236,
.thyroid-v1236{
  transition:filter .18s, opacity .18s;
}

/* v0.12.37 · Appendix + Trachea Final Abdomen/Torso Fit */
.appendix-v1237,
.trachea-v1237{
  transition:filter .18s, opacity .18s;
}


/* ==========================================================================
   v0.12.38 · Femoral Neurovascular Bundle
   Lateral → medial: Nerve · Artery · Vein
   ========================================================================== */

.femoral-artery{
  fill:none;
  stroke:rgba(251,113,133,.68);
  stroke-width:5.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.84;
}

.femoral-vein{
  fill:none;
  stroke:rgba(96,165,250,.64);
  stroke-width:5.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
}

.femoral-nerve{
  fill:none;
  stroke:rgba(251,191,36,.48);
  stroke-width:4.0;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
  filter:drop-shadow(0 0 3px rgba(251,191,36,.16));
}

/* Individual legend dots. */
.organ-dot.femoral-artery{
  background:rgba(251,113,133,.88);
  box-shadow:0 0 8px rgba(251,113,133,.44);
}
.organ-dot.femoral-vein{
  background:rgba(96,165,250,.88);
  box-shadow:0 0 8px rgba(96,165,250,.42);
}
.organ-dot.femoral-nerve{
  background:rgba(251,191,36,.56);
  box-shadow:0 0 7px rgba(251,191,36,.24);
}

/* Generic .organ-selected remains in charge of the bright selection state. */


/* ==========================================================================
   v0.12.39 · Avatar Body Silhouette + VAN Mnemonic
   ========================================================================== */

.torso-shell.lia-avatar-body-v1239{
  fill:rgba(6,182,212,.018)!important;
  fill-opacity:var(--shell-opacity)!important;
  stroke:rgba(216,252,255,.72)!important;
  stroke-width:2.05!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:url(#torsoGlow);
}

.arm-cut-v1239{
  stroke:rgba(216,252,255,.62)!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
}

.organ-mnemonic{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid rgba(103,232,249,.18);
  border-radius:14px;
  background:rgba(6,182,212,.055);
}
.organ-mnemonic strong{
  display:block;
  color:#9bf6ff;
  font-size:.82rem;
  letter-spacing:.04em;
  margin-bottom:5px;
}
.organ-mnemonic p{
  margin:0;
  color:var(--text-muted);
  line-height:1.55;
  font-size:.91rem;
}


/* ==========================================================================
   v0.12.40 · Body Morphometry Fine Fit
   ========================================================================== */

.torso-shell.lia-avatar-body-v1240{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.arm-cut-v1240{
  stroke-linecap:round!important;
}

.liver-v1240{
  transition:filter .18s, opacity .18s;
}


/* ==========================================================================
   v0.12.41 · Silhouette Morphometry II
   ========================================================================== */
.torso-shell.lia-avatar-body-v1241{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  shape-rendering:geometricPrecision;
}
.arm-cut-v1241{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}


/* v0.12.42 · Silhouette Final Microfit */
.torso-shell.lia-avatar-body-v1242{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  shape-rendering:geometricPrecision;
}
.arm-cut-v1242,
.torso-neck-detail-v1242{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  shape-rendering:geometricPrecision;
}


/* ==========================================================================
   v0.12.43 · Pelvic Outlet + Perineum + Spleen Fine Fit
   ========================================================================== */
.torso-shell.lia-avatar-body-v1243,
.pelvis-outline-v1243{
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  shape-rendering:geometricPrecision;
}
.spleen-v1243{
  transition:filter .18s, opacity .18s;
}


/* ==========================================================================
   DAKISKAI MedEssentials v0.13.0 · Clinical Calculators & Rapid Tools
   ========================================================================== */
.calculator-lab[hidden]{display:none!important}.calculator-lab{margin-top:22px;margin-bottom:76px}
.calculator-command{border-radius:26px;padding:25px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:18px 24px;align-items:end;position:relative;overflow:hidden}
.calculator-command:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-130px;top:-210px;background:radial-gradient(circle,rgba(34,211,238,.13),transparent 70%);pointer-events:none}
.calculator-command-copy h2{margin:5px 0 7px;font-size:clamp(28px,4vw,43px);letter-spacing:-.035em}.calculator-command-copy p{color:var(--muted);margin:0;max-width:760px;line-height:1.6}.calculator-command-copy p strong{color:#c7f9ff}
.calculator-search{height:54px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:10px;padding:0 15px;z-index:1}.calculator-search span{color:var(--primary);font-size:21px}.calculator-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit}
.calculator-privacy-badge{grid-column:1/-1;width:max-content;border:1px solid rgba(110,231,183,.18);background:rgba(16,185,129,.07);color:#9ff2ce;border-radius:999px;padding:7px 11px;font-size:10.5px;font-weight:780;letter-spacing:.04em}
.calculator-safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.calculator-safety-grid article{border:1px solid var(--line);border-radius:16px;padding:13px 15px;background:rgba(255,255,255,.018);display:grid;gap:3px}.calculator-safety-grid b{font-size:11.5px;color:#c8f9ff}.calculator-safety-grid span{font-size:10.5px;color:var(--muted)}
.calculator-group-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 11px}.calculator-group-tabs button{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:10.5px;font-weight:750;cursor:pointer}.calculator-group-tabs button.active{background:var(--primary);color:#041419;border-color:transparent}
.calculator-count{font-size:11px;color:var(--muted-2);margin:0 0 13px}.calculator-count strong{color:var(--primary);font-size:14px}
.calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clinical-calculator-card{text-align:left;border:1px solid var(--line);border-radius:20px;padding:17px;min-height:196px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;transition:.2s ease;position:relative;overflow:hidden}.clinical-calculator-card:hover{transform:translateY(-2px);border-color:rgba(56,200,216,.32);box-shadow:0 12px 40px rgba(0,0,0,.16)}
.calculator-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.calculator-group{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:820}.calc-featured{font-size:9px;border:1px solid rgba(110,231,183,.16);color:#9ff2ce;border-radius:999px;padding:4px 6px}
.clinical-calculator-card>strong{font-size:16px;line-height:1.22;letter-spacing:-.015em}.clinical-calculator-card>p{color:var(--muted);font-size:11.5px;line-height:1.55;margin:8px 0 14px;flex:1}.calculator-card-footer{display:flex;justify-content:space-between;gap:8px;align-items:end;font-size:9.5px;color:var(--muted-2)}.calculator-card-footer b{color:#9beaf2;font-size:10px}
.calculator-editorial-note{margin-top:16px;border-radius:18px;padding:15px 17px;border-left:3px solid rgba(250,204,21,.46)}.calculator-editorial-note span{font-size:9px;font-weight:850;letter-spacing:.09em;color:#fde68a}.calculator-editorial-note p{font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0 0}
.search-section-label{font-size:9px;font-weight:850;letter-spacing:.14em;color:var(--primary);padding:11px 4px 6px}
.calculator-drawer .drawer-panel{width:min(780px,100%)}.calculator-drawer-brand{display:grid;text-align:center;line-height:1.05}.calculator-drawer-brand span{font-size:8px;letter-spacing:.18em;color:var(--primary);font-weight:850}.calculator-drawer-brand strong{font-size:11px}.local-chip{display:inline-flex;align-items:center;border:1px solid rgba(110,231,183,.20);background:rgba(16,185,129,.08);color:#9ff2ce;border-radius:999px;padding:5px 8px;font-size:8.5px!important;font-weight:850!important;letter-spacing:.08em}
.calculator-formula-card{border:1px solid rgba(34,211,238,.15);background:linear-gradient(145deg,rgba(6,182,212,.06),rgba(14,165,233,.025));border-radius:18px;padding:15px 16px;margin:8px 0 20px}.calculator-formula-card p{margin:6px 0 0;color:#c8dce6;font-size:13px;line-height:1.6}
.clinical-calculator-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding-bottom:20px}.calc-field{display:grid;gap:6px}.calc-field>span{font-size:10.5px;color:var(--muted);font-weight:760}.calc-input-wrap{height:49px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:13px;display:flex;align-items:center;overflow:hidden}.calc-input-wrap input{min-width:0;flex:1;border:0;background:transparent;color:var(--text);outline:0;padding:0 11px;height:100%;font:inherit}.calc-input-wrap em{font-style:normal;font-size:9px;color:var(--muted-2);padding:0 10px;border-left:1px solid var(--line);white-space:nowrap}.calc-field select{height:49px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:13px;padding:0 11px;outline:0}
.calculator-form-actions{grid-column:1/-1;display:flex;gap:9px;margin-top:6px}.calculator-form-actions button{height:47px;padding:0 18px}.secondary-cta{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:13px;cursor:pointer;font-weight:750}
.clinical-calculator-result{border-top:1px solid var(--line);padding:22px 0}.calc-empty-result{min-height:120px;border:1px dashed var(--line);border-radius:18px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.calc-empty-result>span{font-size:30px;color:var(--primary)}
.calc-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.calc-result-card{border:1px solid rgba(56,200,216,.16);background:rgba(56,200,216,.045);border-radius:16px;padding:14px;display:grid;gap:3px}.calc-result-card>span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.calc-result-card>strong{font-size:24px;letter-spacing:-.035em;color:#eafcff}.calc-result-card>em{font-size:10px;color:var(--primary);font-style:normal}.calc-result-card>small{font-size:9px;color:var(--muted-2)}
.calc-interpretation{margin-top:11px;border-radius:15px;padding:13px 14px;background:rgba(110,231,183,.05);border:1px solid rgba(110,231,183,.13)}.calc-interpretation b{font-size:10px;color:#9ff2ce}.calc-interpretation p{margin:5px 0 0;color:var(--muted);font-size:11.5px;line-height:1.55}.calc-detail-list{margin:11px 0 0;padding-left:19px;color:var(--muted);font-size:11px;line-height:1.55}.calc-warning{margin-top:11px;border:1px solid rgba(250,204,21,.16);background:rgba(250,204,21,.045);color:#e7d7a4;border-radius:14px;padding:11px 12px;font-size:10.5px;line-height:1.55}
.calculator-safety-card{border:1px solid rgba(248,113,113,.13);background:rgba(248,113,113,.035);border-radius:16px;padding:14px;margin:8px 0 18px}.calculator-safety-card strong{font-size:10px;color:#fda4af}.calculator-safety-card p{font-size:11px;color:var(--muted);line-height:1.55;margin:5px 0 0}
.calculator-reference-box{border-top:1px solid var(--line);padding-top:20px}.calculator-reference-box #calculatorReferences{display:grid;gap:8px;margin-top:10px}.calculator-reference-box a{display:grid;gap:2px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;text-decoration:none}.calculator-reference-box a strong{font-size:10.5px;color:#c8f9ff}.calculator-reference-box a span{font-size:9px;color:var(--muted-2)}.calculator-review-note{font-size:9px;color:var(--muted-2);line-height:1.5}
@media(max-width:980px){.calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.calculator-command{grid-template-columns:1fr;padding:20px}.calculator-safety-grid{grid-template-columns:1fr}.calculator-grid{grid-template-columns:1fr}.clinical-calculator-form{grid-template-columns:1fr}.calculator-form-actions{grid-column:auto}.calc-result-grid{grid-template-columns:1fr}.calculator-drawer .drawer-panel{width:100%}.calculator-command-copy h2{font-size:30px}}


/* v0.13.0 · Clinical Wayfinding */
.calculator-wayfinder,.calculator-by-area,.calculator-featured-block{margin-top:18px}
.wayfinder-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:9px}
.wayfinder-head small{color:var(--muted-2);font-size:9.5px;line-height:1.4;text-align:right}
.calculator-situation-tabs{display:flex;flex-wrap:wrap;gap:7px}
.calculator-situation-tabs button{border:1px solid var(--line);background:rgba(255,255,255,.024);color:var(--muted);border-radius:999px;padding:9px 12px;font-size:10px;font-weight:760;cursor:pointer;transition:.18s ease}
.calculator-situation-tabs button:hover{border-color:rgba(56,200,216,.3);color:#dffcff}
.calculator-situation-tabs button.active{background:linear-gradient(135deg,var(--primary),#74e5ec);color:#041419;border-color:transparent;box-shadow:0 6px 20px rgba(34,211,238,.12)}
.calculator-area-accordion{border:1px solid var(--line);border-radius:19px;margin:9px 0;overflow:hidden}
.calculator-area-accordion summary{list-style:none;cursor:pointer;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.calculator-area-accordion summary::-webkit-details-marker{display:none}
.calculator-area-accordion summary>span:first-child{display:grid;gap:3px}
.calculator-area-accordion summary b{font-size:13px;color:#e8fbff}
.calculator-area-accordion summary small{font-size:9.5px;color:var(--muted-2)}
.area-chevron{color:var(--primary);font-size:18px;transition:transform .18s}
.calculator-area-accordion[open] .area-chevron{transform:rotate(180deg)}
.calculator-area-body{border-top:1px solid var(--line);padding:12px}
.calculator-featured-block{border:1px solid rgba(34,211,238,.10);border-radius:20px;padding:14px;background:linear-gradient(145deg,rgba(34,211,238,.025),rgba(255,255,255,.01))}
@media(max-width:720px){
  .wayfinder-head{align-items:flex-start;flex-direction:column;gap:3px}
  .wayfinder-head small{text-align:left}
  .calculator-situation-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}
  .calculator-situation-tabs::-webkit-scrollbar{display:none}
  .calculator-situation-tabs button{white-space:nowrap}
}

/* v0.13.1 · ICU / Intensivmedizin Pack */
.calculator-area-accordion summary b:first-child{letter-spacing:-.01em}
.calculator-icu-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(34,211,238,.18);background:rgba(34,211,238,.055);color:#aaf4fb;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}


/* ==========================================================================
   v0.13.3 · Dynamic Interpretation & Reassessment
   ========================================================================== */
.calc-followup{
  margin-top:13px;
  border:1px solid rgba(34,211,238,.16);
  background:linear-gradient(145deg,rgba(34,211,238,.055),rgba(110,231,183,.025));
  border-radius:16px;
  padding:14px 15px;
}
.calc-followup-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.calc-followup-head span{
  width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;
  background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.20);
  color:var(--primary);font-size:12px;font-weight:900
}
.calc-followup-head b{font-size:10.5px;color:#bdf8fd;letter-spacing:.015em}
.calc-followup ul{margin:0;padding-left:18px;color:var(--muted);font-size:10.8px;line-height:1.58}
.calc-followup li+li{margin-top:5px}

/* v0.13.3 · Clinical Clarity & contextual abbreviations. Anatomical surface remains frozen at v0.12.43. */
.calculator-glossary{margin-top:14px;padding-top:12px;border-top:1px solid rgba(103,232,249,.12)}
.calculator-glossary-title{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7dd3fc;margin-bottom:7px}
.calculator-glossary dl{margin:0;display:grid;gap:6px}
.calculator-glossary dl>div{display:grid;grid-template-columns:minmax(78px,auto) 1fr;gap:10px;align-items:start}
.calculator-glossary dt{font-size:11px;font-weight:800;color:#d7f8fb}
.calculator-glossary dd{margin:0;font-size:11px;line-height:1.45;color:var(--muted)}
@media (max-width:520px){.calculator-glossary dl>div{grid-template-columns:1fr;gap:2px}}


/* v0.14.0 · Germany clinical bridge */
.german-bridge{position:relative;overflow:hidden;border-color:rgba(108,214,255,.24);background:linear-gradient(145deg,rgba(7,28,42,.90),rgba(6,20,34,.96))}
.german-bridge::after{content:"DE";position:absolute;right:1rem;top:-1.2rem;font-weight:900;font-size:7rem;line-height:1;color:rgba(108,214,255,.035);pointer-events:none}
.german-bridge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.german-bridge-head h2{margin:.2rem 0 0}
.german-bridge-intro{max-width:78ch;color:var(--muted);margin:.2rem 0 1.1rem}
.german-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.german-term{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem;border:1px solid rgba(108,214,255,.16);border-radius:14px;background:rgba(5,19,32,.62)}
.german-term strong{color:#eaf8ff;font-size:.94rem}
.german-term span{color:var(--muted);font-size:.82rem}
.german-phrase-grid{margin-top:1.15rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.german-phrase-grid h3{grid-column:1/-1;margin:0 0 .15rem;font-size:.95rem;color:#bfefff}
.german-phrase-grid article{padding:.85rem .9rem;border-left:2px solid rgba(108,214,255,.52);background:rgba(3,16,28,.62);border-radius:0 12px 12px 0}
.german-phrase-grid p{margin:0 0 .25rem;color:#f2fbff;font-weight:700}
.german-phrase-grid small{color:var(--muted)}
.german-handover{margin-top:1rem;padding:.85rem 1rem;border-radius:14px;background:rgba(84,209,197,.07);border:1px solid rgba(84,209,197,.14)}
.german-handover h3{margin:0 0 .4rem;color:#9cebdd}
.german-handover ul{margin:.2rem 0 0;padding-left:1.2rem}
@media(max-width:900px){.german-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.german-term-grid,.german-phrase-grid{grid-template-columns:1fr}.german-phrase-grid h3{grid-column:auto}.german-bridge-head{align-items:flex-start;flex-direction:column}}


/* v0.14.0 · Procedural Core + EU practice */
.procedure-section{position:relative}.procedure-head,.eu-practice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.procedure-purpose{border:1px solid rgba(99,216,232,.22);background:rgba(99,216,232,.055);border-radius:16px;padding:14px 16px;margin-bottom:12px}.procedure-purpose strong{color:var(--primary);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.procedure-purpose p{margin:5px 0 0;color:var(--muted);line-height:1.6}.procedure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0}.procedure-grid.bottom{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.procedure-card{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.018);padding:13px;min-width:0}.procedure-card h3{margin:0 0 8px;font-size:13px}.procedure-card ul{font-size:12px;line-height:1.5}.procedure-card.contra-card,.procedure-card.complication-card{border-color:rgba(244,128,128,.18);background:rgba(244,128,128,.035)}.procedure-card.critical-card{border-color:rgba(241,199,110,.22);background:rgba(241,199,110,.04)}.procedure-card.tips-card{border-color:rgba(115,224,169,.20);background:rgba(115,224,169,.035)}.procedure-steps{margin:16px 0}.procedure-steps>h3{font-size:14px;margin:0 0 9px}.procedure-step{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.procedure-step>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(99,216,232,.2);background:rgba(99,216,232,.06);font-size:10px;font-weight:900;color:var(--primary)}.procedure-step strong{font-size:13px}.procedure-step p{margin:3px 0 0;color:var(--muted);font-size:12.5px;line-height:1.55}.procedure-warning,.eu-note{border-radius:15px;padding:13px 15px;margin-top:12px;border:1px solid rgba(241,199,110,.18);background:rgba(241,199,110,.035)}.procedure-warning strong,.eu-note strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.procedure-warning p,.eu-note p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.eu-practice{background:linear-gradient(145deg,rgba(9,25,40,.48),rgba(5,18,31,.28))}.eu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.eu-card{border:1px solid var(--line);background:rgba(255,255,255,.018);border-radius:15px;padding:13px}.eu-card-head{display:flex;align-items:center;gap:8px}.eu-card-head span{font-size:18px}.eu-card h3{margin:0;font-size:13px}.eu-card ul{margin-top:8px;font-size:12px;line-height:1.5}
@media(max-width:760px){.procedure-grid,.procedure-grid.bottom,.eu-grid{grid-template-columns:1fr}.procedure-head,.eu-practice-head{flex-direction:column}.procedure-step{grid-template-columns:30px 1fr}}

/* v0.14.5 · PWA Public Release */
.author-profile-card{position:relative;overflow:hidden;border-radius:30px;padding:26px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;align-items:center;margin:4px 0 16px;border-color:rgba(56,200,216,.25);background:linear-gradient(135deg,rgba(56,200,216,.075),rgba(8,19,33,.72) 52%,rgba(255,255,255,.025))}
.author-profile-card::after{content:"";position:absolute;width:310px;height:310px;right:-130px;bottom:-190px;border-radius:50%;background:radial-gradient(circle,rgba(56,200,216,.13),transparent 70%);pointer-events:none}
.author-portrait-frame{position:relative;width:220px;aspect-ratio:1;border-radius:30px;padding:5px;background:linear-gradient(145deg,rgba(99,223,236,.72),rgba(56,200,216,.10) 45%,rgba(255,255,255,.08));box-shadow:0 22px 55px rgba(0,0,0,.34),0 0 0 1px rgba(56,200,216,.12)}
.author-portrait-frame picture{display:block;width:100%;height:100%}.author-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:25px;background:#f7fafc}
.author-photo-badge{position:absolute;left:14px;bottom:14px;border:1px solid rgba(120,235,246,.42);border-radius:999px;padding:6px 9px;background:rgba(4,13,24,.86);backdrop-filter:blur(10px);color:#aaf3f8;font-size:9px;font-weight:900;letter-spacing:.13em}
.author-profile-copy{position:relative;z-index:1}.author-profile-copy h2{font-size:clamp(29px,4vw,42px);letter-spacing:-.035em;line-height:1.02;margin:8px 0 5px}.author-profession{color:#a9d6ef!important;font-weight:720;font-size:13px!important;margin-bottom:16px!important}.author-profile-copy>p:not(.author-profession){max-width:650px;color:var(--muted);font-size:13px;line-height:1.65}
.author-role-row{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 14px}.author-role-row span{border:1px solid rgba(56,200,216,.18);border-radius:999px;padding:7px 10px;background:rgba(56,200,216,.055);color:#b4eaf0;font-size:9.5px;font-weight:760}.author-profile-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.author-contact-link,.author-professional-link{display:inline-flex;font-size:11px;font-weight:820}.author-contact-link{color:var(--primary)}.author-professional-link{color:var(--muted);font-weight:720}.author-professional-link:hover{color:var(--primary)}
.author-trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.author-trust-strip>div{min-height:76px;border:1px solid var(--line);border-radius:17px;padding:13px 14px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;justify-content:center}.author-trust-strip strong{color:var(--primary);font-size:10px;letter-spacing:.12em}.author-trust-strip span{color:var(--muted);font-size:10.5px;font-weight:680;margin-top:4px;line-height:1.3}
@media(max-width:760px){.author-profile-card{grid-template-columns:1fr;padding:21px;gap:22px}.author-portrait-frame{width:min(230px,72vw);margin:0 auto}.author-profile-copy{text-align:center}.author-profile-copy>p:not(.author-profession){margin-left:auto;margin-right:auto}.author-role-row,.author-profile-links{justify-content:center}.author-trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.author-trust-strip{grid-template-columns:1fr 1fr}.author-profile-copy h2{font-size:30px}}

/* v0.14.6 · Oncology Clinical Utilities */
.calc-choice-group{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;padding:12px;margin:0;display:grid;gap:8px}.calc-choice-group legend{padding:0 5px;color:var(--muted);font-size:10.5px;font-weight:760}.calc-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:rgba(255,255,255,.02);cursor:pointer;min-height:46px}.calc-choice:hover{border-color:rgba(56,200,216,.30)}.calc-choice input{width:18px;height:18px;accent-color:var(--primary);flex:0 0 auto}.calc-choice span{display:grid;gap:3px;color:#dceff3;font-size:11px;line-height:1.42}.calc-choice small,.calc-field small{color:var(--muted-2);font-size:9.5px;line-height:1.45}.urgent-choice{grid-column:1/-1;border-color:rgba(250,204,21,.20);background:rgba(250,204,21,.035)}
.performance-classifier,.anc-classifier{grid-column:1/-1;display:grid;gap:13px}.calc-mode-tabs{display:flex;gap:7px;padding:4px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02)}.calc-mode-tabs button{flex:1;min-height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:780;cursor:pointer}.calc-mode-tabs button.active{background:linear-gradient(135deg,var(--primary),#74e5ec);color:#041419}.calc-mode-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.calc-mode-panel[hidden]{display:none}.calc-instruction{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.performance-progress{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;color:var(--primary);font-size:10px;font-weight:800}.performance-progress i{height:5px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.performance-progress b{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#6ee7b7);transition:width .2s}.performance-question{grid-column:1/-1;border:1px solid rgba(56,200,216,.19);border-radius:18px;padding:18px;background:linear-gradient(145deg,rgba(56,200,216,.06),rgba(255,255,255,.018));display:grid;gap:10px}.performance-question[hidden]{display:none}.performance-question>span{font-size:9px;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}.performance-question>strong{font-size:15px;line-height:1.5}.performance-question>div{display:flex;flex-wrap:wrap;gap:8px}.performance-question button{min-height:45px;padding:8px 14px}.performance-trend{border:1px solid var(--line);border-radius:15px;padding:11px 13px}.performance-trend summary{cursor:pointer;color:var(--muted);font-size:10.5px;font-weight:750}.performance-trend .calc-field{margin-top:10px}
.performance-confirmation{margin-top:13px;border:1px solid rgba(56,200,216,.18);border-radius:17px;padding:14px;display:grid;gap:11px;background:rgba(56,200,216,.035)}.performance-confirmation>b{color:#c8f9ff;font-size:11px}.performance-confirmation>div{display:flex;flex-wrap:wrap;gap:7px}.performance-confirmation button{min-height:42px;padding:8px 12px}.performance-confirmation label{display:grid;gap:6px;color:var(--muted);font-size:10px}.performance-confirmation textarea{min-height:92px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.13);color:#dceff3;padding:10px;font:inherit;font-size:10.5px;line-height:1.5}.copy-clinical-text,.clinical-crosslink{width:max-content;max-width:100%;border:1px solid rgba(56,200,216,.24);background:rgba(56,200,216,.06);color:#aaf3f8;border-radius:12px;cursor:pointer;font-size:10px;font-weight:780}.performance-confirmation>small{color:var(--muted-2);line-height:1.45}.clinical-crosslink{margin-top:12px;min-height:42px;padding:8px 12px}.calc-input-wrap select{height:100%;max-width:145px;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--bg-elev);color:var(--text);padding:0 8px;outline:0}
@media(max-width:720px){.performance-classifier,.anc-classifier,.calc-mode-panel,.calc-mode-tabs,.performance-trend,.performance-classifier .calc-field,.anc-classifier .calc-field{width:100%;min-width:0;max-width:100%}.performance-classifier select,.anc-classifier select{width:100%;min-width:0;max-width:100%}.calc-mode-panel{grid-template-columns:1fr}.performance-question>div,.performance-confirmation>div{display:grid}.performance-question button,.performance-confirmation button{width:100%}.calc-mode-tabs{display:grid}.calc-mode-tabs button{width:100%;min-width:0;white-space:normal}.copy-clinical-text,.clinical-crosslink{width:100%}}

/* v0.14.9 · stable date calculators */
.calc-date-field input[type="date"]{width:100%;min-width:0;color-scheme:dark}.calc-date-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.85);opacity:.8;cursor:pointer}
:root[data-theme="light"] .calc-date-field input[type="date"]{color-scheme:light}
