/* Anatomía longitudinal y cubiertas: SVG independientes de la GPU. */
.anatomy-layout { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr); gap:24px; align-items:start; }
.anatomy-card { overflow:hidden; }
.anatomy-card > header { padding:24px 28px; border-bottom:1px solid var(--line); }
.anatomy-card h2 { margin:12px 0 8px; font-size:1.4rem; }
.anatomy-card header p { margin:0; color:var(--muted); line-height:1.65; font-size:.9rem; }
.anatomy-mode { display:flex; margin:18px 22px; padding:4px; border:1px solid var(--line); border-radius:9px; gap:4px; }
.anatomy-mode button { flex:1; background:transparent; border:0; border-radius:6px; padding:11px 8px; font-size:.8rem; color:var(--muted); }
.anatomy-mode button.active { background:var(--teal-pale); color:var(--teal); font-weight:600; }
.anatomy-plate { margin:0; background:#f7f5ef; }
.anatomy-plate-frame { position:relative; margin:auto; }
.anatomy-plate-frame.portrait { max-width:460px; }
.anatomy-plate-frame img { display:block; width:100%; height:auto; }
.anatomy-plate-frame .anatomy-leaders { position:absolute; inset:0; width:100%; height:100%; background:none; padding:0; pointer-events:none; }
.anatomy-leaders path { fill:none; stroke:#6c8580; stroke-width:1; vector-effect:non-scaling-stroke; }
.anatomy-leaders circle { fill:#6c8580; }
.anatomy-pin { position:absolute; left:var(--pin-x); top:var(--pin-y); transform:translate(-50%,-50%); border:2px solid #fffefa; background:var(--pin-color); color:#fff; box-shadow:0 1px 6px #263a3530; cursor:pointer; }
.anatomy-pin.selected { outline:3px solid var(--teal); outline-offset:3px; }
.anatomy-pin:hover { filter:brightness(1.08); }
.covering-pin { width:32px; height:32px; border-radius:50%; font:600 12px Avenir,sans-serif; }
.region-pin { padding:8px 10px; min-height:32px; border-radius:7px; font:600 11px Avenir,sans-serif; }
.anatomy-landmark { position:absolute; transform:translate(-50%,-50%); max-width:94px; padding:5px; text-align:center; font-size:10px; color:#576b66; background:#fffefad9; border-radius:4px; }
.anatomy-plate figcaption { padding:18px 24px; font-size:.78rem; line-height:1.7; color:var(--muted); background:var(--card); }
.anatomy-plate figcaption p { margin:8px 0 12px; }
.anatomy-plate figcaption small { display:block; margin-top:8px; font-size:.68rem; }
.plate-selection { display:block; color:var(--teal); font-size:.84rem; }
.anatomy-key { flex:none; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--pin-color); color:white; font-size:11px; font-weight:600; }
.anatomy-card svg { display:block; width:100%; height:auto; background:linear-gradient(135deg,#fffefa,#f3f5ee); }
#region-map { max-height:700px; padding:14px 8px; }
#covering-map { padding:8px; }
.anatomy-card svg text { font:11px 'Avenir Next',Avenir,sans-serif; fill:var(--muted); }
.anatomy-card svg .diagram-heading { font-size:13px; font-weight:700; fill:var(--ink); }
.anatomy-card svg .diagram-note { font-size:11px; }
.region-root-lines path { fill:none; stroke-width:1.8; }
.region-root-lines [data-region-visual] { transition:opacity .2s; }
.region-muted { opacity:.48; }
.vertebral-reference rect,.vertebral-reference path { fill:#ded6c2; stroke:#b8ad93; stroke-width:1; }
.level-guide { fill:none; stroke:var(--teal); stroke-dasharray:4 4; }
svg [role=button] { cursor:pointer; }
svg [role=button]:focus-visible { outline:none; filter:drop-shadow(0 0 4px #408fba); }
svg [data-region].selected rect { stroke:#fffefa; stroke-width:3; }
svg [data-covering].selected { filter:drop-shadow(0 0 3px #527c79); }
.root-stroke { stroke-width:6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.sensory { stroke:#bc9b59; }.motor { stroke:#c87765; }.mixed { stroke:#888057; }
.signal-arrow { fill:none; stroke-width:2; }
.anatomy-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:20px; gap:8px; border-block:1px solid var(--line); }
#region-options { grid-template-columns:1fr; }
.anatomy-options button { display:flex; align-items:center; gap:10px; text-align:left; padding:12px; background:transparent; border:1px solid transparent; border-radius:8px; font-size:.85rem; }
.anatomy-options button:hover { background:var(--teal-pale); }
.anatomy-options button.selected { border-color:#c8d6cd; background:var(--teal-pale); }
.anatomy-options button small { display:block; margin-top:3px; color:var(--muted); }
.anatomy-options button b { margin-left:auto; white-space:nowrap; font-size:.76rem; color:var(--muted); }
.anatomy-swatch { flex:none; width:10px; height:10px; border-radius:50%; }
.anatomy-detail { margin:24px; padding:24px 0 0; border-top:3px solid var(--teal); }
.anatomy-detail h3 { font-family:Georgia,serif; font-size:1.65rem; margin:12px 0 24px; font-weight:500; }
.anatomy-detail-block { margin:18px 0; }
.anatomy-detail-block h4 { font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 8px; }
.anatomy-detail-block p { color:var(--muted); font-size:.9rem; line-height:1.7; margin:0; }
.anatomy-detail-block a { display:block; font-size:.8rem; margin:10px 0; }
.diagram-caption { padding:0 24px; color:var(--muted); font-size:.78rem; line-height:1.7; }
.anatomy-teacher { margin:24px 0; padding:24px; background:var(--teal-pale); border-radius:var(--radius); }
.anatomy-teacher p { line-height:1.7; margin-bottom:0; }
.model-layers { margin-top:14px; border-top:1px solid var(--line); padding-top:12px; font-size:11px; }
.model-layers summary { cursor:pointer; font-weight:600; margin-bottom:10px; }
.model-layer-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.model-layer-grid label { display:flex; align-items:center; gap:7px; }
.model-structure-options { display:flex; flex-wrap:wrap; gap:5px; margin-top:14px; }
.model-structure-options button { border:1px solid var(--line); background:var(--card); border-radius:6px; padding:7px 9px; font-size:10px; }
.model-structure-options button.active { border-color:var(--teal); background:var(--teal-pale); }
.coverings-preset { width:100%; margin-top:12px; font-size:11px; }
@media(max-width:1100px) { .anatomy-layout { grid-template-columns:1fr 1fr; gap:18px; } }
@media(max-width:760px) {
  .anatomy-layout { grid-template-columns:1fr; }
  .anatomy-card > header { padding:22px; }
  .anatomy-options { padding:16px; }
  .anatomy-detail { margin:22px; }
  .anatomy-plate figcaption { padding:18px 22px; }
  #region-map { max-height:680px; }
  .model-layer-grid { font-size:12px; }
  .main-nav .nav-btn:last-child { grid-column:1/-1; }
}
@media print {
  .anatomy-options,.anatomy-3d-link { display:none; }
  .anatomy-layout { display:block; }
  .anatomy-card { break-inside:avoid; margin:18px 0; }
  .anatomy-card svg { max-height:450px; }
}
