
/* === VARIABLES === */
:root {
  --teal-900:#134e4a;--teal-800:#115e59;--teal-700:#0f766e;--teal-600:#0d9488;
  --teal-500:#14b8a6;--teal-400:#2dd4bf;--teal-200:#99f6e4;--teal-100:#ccfbf1;--teal-50:#f0fdfa;
  --amber-600:#d97706;--amber-50:#fffbeb;
  --rose-600:#e11d48;--rose-50:#fff1f2;
  --blue-600:#2563eb;--blue-50:#eff6ff;
  --purple-700:#7c3aed;--purple-50:#f5f3ff;
  --green-700:#15803d;--green-50:#f0fdf4;
  --slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-600:#475569;
  --slate-500:#64748b;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-200:#e2e8f0;
  --slate-100:#f1f5f9;--slate-50:#f8fafc;
  --font-display:'Source Serif 4',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --sidebar-w:200px;
  --topbar-h:46px;
  --radius:10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 12px)}
body{font-family:var(--font-body);font-size:1rem;line-height:1.72;color:var(--slate-800);background:var(--slate-50);transition:background .4s,color .4s}

/* === TOPBAR === */
.topbar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);background:rgba(240,253,250,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,184,166,.1);z-index:55;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;gap:.6rem;box-shadow:0 1px 3px rgba(13,148,136,.05)}
.home-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--teal-50);border:1px solid rgba(13,148,136,.15);color:var(--teal-700);text-decoration:none;font-size:.85rem;flex-shrink:0;transition:all .15s}
.home-btn:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}
.topbar-left{display:flex;align-items:center;gap:.5rem;min-width:0}
.topbar-title{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--teal-800);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-title:hover{color:var(--teal-600)}
.topbar-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
.topbar-search{position:relative;flex:0 1 220px;min-width:120px}
.topbar-search input{width:100%;padding:.3rem 2rem .3rem 1.8rem;border:1px solid var(--slate-300);border-radius:6px;font-size:.78rem;font-family:var(--font-body);background:#fff;color:var(--slate-800);outline:none;transition:border-color .15s}
.topbar-search input:focus{border-color:var(--teal-400);box-shadow:0 0 0 2px rgba(20,184,166,.12)}
.topbar-search input::placeholder{color:var(--slate-400)}
.topbar-search-icon{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);font-size:.78rem;color:var(--slate-400);pointer-events:none}
.search-nav{display:none;align-items:center;gap:.35rem;margin-left:.4rem}
.search-nav.active{display:flex}
.search-counter{font-size:.7rem;color:var(--slate-500);white-space:nowrap;min-width:48px;text-align:center}
.search-nav-btn{width:30px;height:30px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--slate-600);transition:all .12s}
.search-nav-btn:hover{background:var(--teal-50);border-color:var(--teal-300);color:var(--teal-700)}
.search-clear-btn{width:30px;height:30px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;cursor:pointer;font-size:.95rem;color:var(--slate-400);display:flex;align-items:center;justify-content:center;transition:all .12s}
.search-clear-btn:hover{background:var(--teal-50);border-color:var(--teal-300);color:var(--slate-700)}
input[type="search"]::-webkit-search-cancel-button{display:none;-webkit-appearance:none}
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
.tb-btn{width:30px;height:30px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--slate-600);transition:all .12s;font-family:var(--font-body)}
.tb-btn:hover{background:var(--teal-50);border-color:var(--teal-300);color:var(--teal-700)}
.tb-sep{width:1px;height:20px;background:var(--slate-200);margin:0 .15rem}
.version-seg{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--teal-200);background:var(--teal-50);flex-shrink:0}
.version-seg button{padding:.22rem .65rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:var(--font-body);border:none;background:transparent;color:var(--teal-600)}
.version-seg button:first-child{border-right:1px solid var(--teal-200)}
.version-seg button.active{background:var(--teal-700);color:#fff}
.version-seg button:not(.active):hover{background:var(--teal-100)}
.search-highlight{background:rgba(20,184,166,.25);border-radius:2px;padding:0 1px;transition:background .3s}
.search-highlight-current{background:rgba(217,119,6,.4);box-shadow:0 0 0 2px rgba(217,119,6,.3);border-radius:2px}

/* === SIDEBAR (flat) === */
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:#fff;border-right:1px solid var(--slate-200);z-index:60;display:flex;flex-direction:column;transition:transform .3s ease}
.sidebar-nav{flex:1;overflow-y:auto;padding:.6rem 0;scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent}
.sidebar-nav::-webkit-scrollbar{width:4px}
.sidebar-nav::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:2px}
.sidebar-nav .nav-spacer{height:.3rem}
.sidebar-nav .nav-label{display:block;padding:.55rem .7rem .2rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-600);border-top:1px solid var(--slate-200);margin-top:.2rem}
.sidebar-nav a{display:block;padding:.3rem .7rem;font-size:.78rem;color:var(--slate-600);text-decoration:none;border-left:2.5px solid transparent;transition:all .12s;line-height:1.25}
.sidebar-nav a:hover{background:var(--teal-50);color:var(--teal-800)}
.sidebar-nav a.active{background:var(--teal-50);color:var(--teal-800);border-left-color:var(--teal-500);font-weight:600}

/* === HAMBURGER === */
.hamburger{display:none;background:var(--teal-700);color:#fff;border:none;border-radius:7px;width:34px;height:34px;font-size:1.1rem;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);align-items:center;justify-content:center;flex-shrink:0}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:55;backdrop-filter:blur(2px)}

/* === PROGRESS BAR === */
.progress-bar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:3px;background:linear-gradient(90deg,var(--teal-400),var(--teal-600));z-index:70;width:0%;transition:width .15s;box-shadow:0 0 6px rgba(20,184,166,.3)}

/* === MAIN === */
.main-wrap{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-height:100vh;padding-top:var(--topbar-h);overflow-x:hidden;position:relative}
.site-header{background:radial-gradient(ellipse 60% 80% at 10% 40%,rgba(20,184,166,.6) 0%,transparent 70%),radial-gradient(ellipse 50% 70% at 85% 15%,rgba(13,148,136,.55) 0%,transparent 65%),radial-gradient(ellipse 55% 75% at 50% 95%,rgba(45,212,191,.5) 0%,transparent 60%),radial-gradient(ellipse 45% 60% at 95% 70%,rgba(15,118,110,.5) 0%,transparent 55%),#073530;color:#fff;padding:clamp(1rem,2.5vw,1.8rem) clamp(1.5rem,4vw,3rem) clamp(.8rem,2vw,1.4rem);text-align:center;position:relative;overflow:hidden}
.site-header h2{font-family:var(--font-display);font-size:clamp(1.2rem,2.8vw,1.7rem);font-weight:700;letter-spacing:-.02em}
.taglines{font-size:clamp(.72rem,1.3vw,.85rem);color:#5eead4;opacity:.7;font-style:italic;margin-top:.15rem}
.last-updated{font-size:clamp(.68rem,1.1vw,.78rem);color:rgba(255,255,255,.6);margin-top:.35rem}
.main-content{margin:0 auto;padding:1rem clamp(1rem,4vw,3.5rem) 1.5rem;overflow-x:hidden;max-width:100%;width:100%;box-sizing:border-box}

/* === SECTIONS & HEADINGS === */
.block{margin-bottom:1.2rem;scroll-margin-top:calc(var(--topbar-h) + 16px);max-width:100%;overflow-x:hidden;background:#fff;border-radius:var(--radius);box-shadow:0 1px 5px rgba(0,0,0,.07);padding:0 1.5rem 1.2rem;border:1px solid var(--slate-200)}
.block + .block{margin-top:1.2rem}
.block > h2{font-family:var(--font-display);font-size:clamp(1rem,2.2vw,1.2rem);font-weight:700;color:var(--teal-900);margin-bottom:.4rem;padding-bottom:.25rem;border-bottom:2px solid var(--teal-100)}
.block h3{font-family:var(--font-display);font-size:clamp(.93rem,2vw,1.05rem);font-weight:700;color:var(--teal-800);margin:.9rem 0 .4rem;padding:.35rem .9rem;background:var(--teal-100);border-left:4px solid var(--teal-500);border-radius:0 var(--radius) var(--radius) 0;scroll-margin-top:calc(var(--topbar-h) + 16px)}
.block h4{font-family:var(--font-body);font-size:clamp(.82rem,1.7vw,.9rem);font-weight:700;color:var(--teal-800);margin:.7rem 0 .25rem;padding:.25rem .6rem;background:var(--slate-100);border-left:2px solid var(--teal-400);border-radius:0 6px 6px 0;scroll-margin-top:calc(var(--topbar-h) + 16px)}
p{margin-bottom:.8rem}
ul,ol{margin:.5rem 0 .8rem 1.3rem}
li{margin-bottom:.25rem}
li::marker{color:var(--teal-600)}

/* === BLOCK HEADER === */
.block-header{background:linear-gradient(135deg,var(--teal-700),var(--teal-600));border-radius:var(--radius) var(--radius) 0 0;padding:.9rem 1.5rem;margin:0 -1.5rem 1rem;position:relative;overflow:hidden}
.block-header h2{border:none;padding:0;margin:0;font-size:clamp(1.05rem,2.3vw,1.2rem);color:#fff}
.block-header .block-meta{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-top:.35rem;font-size:.8rem;color:rgba(255,255,255,.8)}
.block-header .block-meta strong{color:#fff}

/* === BLOCK FOOTER === */
.block-footer{border-top:1px dashed var(--slate-200);padding-top:.8rem;margin-top:1rem}
.block-footer h4{background:none;border:none;padding:0;margin:0 0 .4rem;font-size:.85rem;color:var(--teal-700)}
.block-deliverable{font-size:.88rem;margin-bottom:.5rem}


/* === PRINT PANEL (click-based dropdown) === */
.print-wrap{position:relative;display:inline-flex;flex-shrink:0}
.tb-print{font-size:.72rem;white-space:nowrap;padding:.22rem .55rem;gap:.25rem;width:auto}
.print-panel{display:none;position:absolute;top:calc(100% + 8px);right:0;width:300px;background:#fff;border:1px solid var(--teal-200);border-radius:8px;padding:.7rem .9rem;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;font-size:.75rem;line-height:1.5;color:var(--slate-700)}
.print-panel::before{content:'';position:absolute;top:-6px;right:16px;width:10px;height:10px;background:#fff;border-left:1px solid var(--teal-200);border-top:1px solid var(--teal-200);transform:rotate(45deg)}
.print-panel.open{display:block}
.print-panel strong{color:var(--teal-800)}
.print-panel .pt-version{font-weight:700;color:var(--teal-700);text-transform:uppercase}
.print-go{display:block;width:100%;margin-top:.5rem;padding:.45rem;background:var(--teal-700);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:background .12s}
.print-go:hover{background:var(--teal-800)}

/* === BIB COPY BUTTON === */
.bib-copy-btn{padding:.25rem .6rem;font-size:.75rem;background:var(--teal-50);border:1px solid var(--teal-300);border-radius:4px;color:var(--teal-700);cursor:pointer;font-family:var(--font-body);white-space:nowrap;flex-shrink:0;transition:all .12s}
.bib-copy-btn:hover{background:var(--teal-100)}
.bib-style-box{display:inline-flex;align-items:center;gap:.4rem;margin:.4rem 0 .2rem;padding:.3rem .55rem;background:var(--slate-100);border:1px solid var(--slate-200);border-radius:5px;font-size:.82rem}
.bib-style-box strong{font-size:.84rem;color:var(--teal-700);background:none;padding:0;font-family:var(--font-body)}

/* === NLM CATALOG === */
.nlm-wrap{position:relative;display:inline-flex;margin-top:.5rem;align-items:center;gap:.35rem}
.nlm-link-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:6px;font-size:.78rem;font-weight:700;color:var(--slate-600);text-decoration:none;transition:all .12s;cursor:pointer}
.nlm-link-btn:hover{background:var(--teal-50);border-color:var(--teal-300);color:var(--teal-700)}
.nlm-help-btn{display:none;width:22px;height:22px;background:var(--slate-100);border:1px solid var(--slate-300);border-radius:50%;font-size:.7rem;font-weight:700;color:var(--slate-500);cursor:pointer;align-items:center;justify-content:center;transition:all .12s;flex-shrink:0;line-height:1}
.nlm-help-btn:hover{background:var(--teal-50);border-color:var(--teal-400);color:var(--teal-700)}
.nlm-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:0;width:320px;background:#fff;border:1px solid var(--teal-200);border-radius:8px;padding:.7rem .9rem;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;font-size:.75rem;line-height:1.5;color:var(--slate-700)}
.nlm-tooltip::before{content:'';position:absolute;top:-6px;left:16px;width:10px;height:10px;background:#fff;border-left:1px solid var(--teal-200);border-top:1px solid var(--teal-200);transform:rotate(45deg)}
.nlm-tooltip strong{color:var(--teal-800)}
.nlm-wrap:hover .nlm-tooltip{display:block}
.nlm-tooltip.open{display:block}
.nlm-example{background:var(--slate-100);border-radius:5px;padding:.4rem .6rem;font-family:var(--font-mono);font-size:.68rem;line-height:1.6;color:var(--slate-600)}
@media(max-width:768px){.nlm-help-btn{display:inline-flex}.nlm-wrap:hover .nlm-tooltip{display:none}.nlm-tooltip.open{display:block}}

/* === EXT-BLOCK: per-block expandable content === */
.ext-block{margin:.7rem 0;border:1px solid var(--teal-200);border-radius:var(--radius);overflow:hidden;background:var(--teal-50)}
.ext-toggle{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .9rem;background:transparent;border:none;cursor:pointer;font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--teal-700);transition:all .12s}
.ext-toggle:hover{background:rgba(20,184,166,.08)}
.ext-toggle .arrow{font-size:.5rem;transition:transform .2s;flex-shrink:0}
.ext-block.open .ext-toggle .arrow{transform:rotate(90deg)}
.ext-content{max-height:0;overflow:hidden;padding:0 .9rem;border-left:3px solid var(--purple-700);margin:0;background:var(--purple-50)}
.ext-block.open .ext-content{max-height:none;overflow:visible;padding:.5rem .9rem .7rem}
/* In extendida mode: show content directly, hide toggle */
body:not(.mode-basica) .ext-block{border:none;background:transparent;margin:.4rem 0}
body:not(.mode-basica) .ext-toggle{display:none}
body:not(.mode-basica) .ext-content{max-height:none;padding:.7rem 1rem;overflow:visible;border-radius:0 6px 6px 0}

/* === MODE INDICATOR === */
.mode-indicator{display:none;background:linear-gradient(90deg,var(--purple-700),var(--purple-50));color:#fff;text-align:center;padding:.5rem .8rem;font-size:.82rem;font-weight:600;letter-spacing:.03em;margin:0 0 .5rem;border-radius:var(--radius)}
body:not(.mode-basica) .mode-indicator{display:block}

/* === AMPLIACION OPCIONAL (accordion) === */
.ampliacion{margin:.7rem 0;border:1px solid var(--teal-200);border-radius:var(--radius);overflow:hidden;background:var(--teal-50)}
.ampliacion summary{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--teal-700);cursor:pointer;list-style:none;transition:background .12s;user-select:none}
.ampliacion summary:hover{background:rgba(20,184,166,.08)}
.ampliacion summary::-webkit-details-marker{display:none}
.ampliacion summary::before{content:'▶';font-size:.5rem;color:var(--teal-500);transition:transform .2s;flex-shrink:0}
.ampliacion[open] summary::before{transform:rotate(90deg)}
.ampliacion-body{padding:.5rem .9rem .7rem}

/* === TABS (Block 8) === */
.tabs-container{margin:.8rem 0}
.tabs-bar{display:inline-flex;gap:.35rem;padding:.3rem;background:var(--slate-100);border-radius:8px;margin-bottom:1rem}
.tab-btn{padding:.5rem 1.4rem;font-size:.88rem;font-weight:700;font-family:var(--font-body);border:none;background:transparent;color:var(--slate-500);cursor:pointer;border-radius:6px;transition:all .15s}
.tab-btn:hover{color:var(--teal-700);background:rgba(255,255,255,.6)}
.tab-btn.active{color:#fff;background:var(--teal-700);box-shadow:0 2px 6px rgba(13,148,136,.3)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* === ROADMAP HERO === */
.roadmap-hero{margin:1rem 0 1.5rem;padding:1.5rem 1.5rem 1.2rem;background:linear-gradient(135deg,#f0fdfa 0%,#f8fafc 100%);border-radius:var(--radius);border:1px solid var(--slate-200);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.roadmap-hero-title{font-family:var(--font-display);font-size:clamp(.85rem,1.5vw,.95rem);font-weight:700;color:var(--teal-800);text-align:center;margin-bottom:1rem;letter-spacing:.03em;text-transform:uppercase}
.roadmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}
.roadmap-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--slate-200);border-top:3px solid var(--teal-400);border-radius:var(--radius);padding:.9rem .9rem .7rem;transition:all .25s;position:relative;overflow:hidden}
.roadmap-card::after{content:'→';position:absolute;bottom:.6rem;right:.7rem;font-size:.85rem;font-weight:700;color:var(--teal-400);opacity:0;transform:translateX(-6px);transition:all .25s}
.roadmap-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(13,148,136,.12);border-top-color:var(--teal-600)}
.roadmap-card:hover::after{opacity:1;transform:translateX(0)}
.roadmap-card-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:linear-gradient(135deg,var(--teal-600),var(--teal-500));color:#fff;border-radius:50%;font-weight:700;font-size:.8rem;margin-bottom:.35rem;box-shadow:0 2px 6px rgba(13,148,136,.25)}
.roadmap-card h3{font-size:.84rem;font-weight:700;color:var(--teal-800);margin:0 0 .25rem;padding:0;background:none;border:none;line-height:1.25}
.roadmap-tree{list-style:none;margin:.35rem 0 0;padding:0;font-size:.68rem;color:var(--slate-500);line-height:1.55}
.roadmap-tree li{position:relative;padding-left:1.15rem}
.roadmap-tree li::before{content:'├─ ';position:absolute;left:0;color:var(--teal-400);font-family:'Courier New',monospace;font-weight:700;font-size:.62rem;line-height:1.55}
.roadmap-tree li:last-child::before{content:'└─ '}
.roadmap-card-example .roadmap-tree li::before{color:var(--amber-500)}
.roadmap-card-example{border-top-color:var(--amber-600);border-color:var(--amber-600)}
.roadmap-card-example .roadmap-card-num{background:linear-gradient(135deg,var(--amber-600),#f59e0b);box-shadow:0 2px 6px rgba(217,119,6,.25)}
.roadmap-card-example:hover{border-top-color:var(--amber-600);box-shadow:0 8px 20px rgba(217,119,6,.12)}
.roadmap-card-example::after{color:var(--amber-600)}
@media(max-width:500px){.roadmap-grid{grid-template-columns:1fr 1fr}}

/* === CALLOUTS === */
.callout{border-radius:var(--radius);padding:.65rem .9rem;margin:.6rem 0;font-size:.88rem;line-height:1.6}
.callout-tip{background:var(--blue-50);border-left:4px solid var(--blue-600)}
.callout-warning{background:var(--amber-50);border-left:4px solid var(--amber-600)}
.callout-important{background:var(--rose-50);border-left:4px solid var(--rose-600)}
.callout-note{background:var(--green-50);border-left:4px solid var(--green-700)}

/* === PROF NOTES === */
.prof-note{background:var(--purple-50);border-left:4px solid var(--purple-700);border-radius:var(--radius);padding:.6rem .85rem;margin:.5rem 0;font-size:.85rem;line-height:1.55;color:var(--slate-700)}
.prof-note::before{content:'💡 Fíjate — ';font-weight:700;color:var(--purple-700)}

/* === TABLES === */
.table-wrap{overflow-x:auto;margin:.9rem 0;border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.06);max-width:100%}
table{width:100%;max-width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;table-layout:auto;word-wrap:break-word}
thead th{background:var(--teal-800);color:#fff;font-weight:600;text-align:left;padding:.55rem .8rem;font-size:.78rem}
tbody td{padding:.5rem .8rem;border-bottom:1px solid var(--slate-200);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
tbody tr:nth-child(even){background:var(--slate-50)}
tbody tr{transition:background .15s}
tbody tr:hover{background:var(--teal-50)}
td strong{color:var(--teal-800)}

/* === CITE FORMAT (code blocks) === */
.cite-format{font-family:var(--font-mono);font-size:.78rem;background:var(--slate-100);padding:.6rem .8rem;border-radius:6px;margin:.6rem 0;line-height:1.8;color:var(--slate-700);overflow-x:auto;border:1px solid var(--slate-200);white-space:pre-wrap}
.apa-fmt-table em,.apa-hl{background:#fef9c3;padding:.05rem .2rem;border-radius:3px;color:inherit}
.apa-fmt-table em strong{color:inherit}

/* === BLOCK QUOTE === */
.block-quote{margin:.7rem 0 .7rem 1.27rem;padding:.4rem .8rem;font-size:.88rem;line-height:1.6;color:var(--slate-700);border-left:3px solid var(--slate-300)}

/* === EXAMPLE CARD (collapsible) === */
.example-card{margin:1.5rem 0;border:2px solid var(--teal-400);border-radius:var(--radius);overflow:hidden;background:#fff}
.example-card-header{padding:1.2rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:1rem;transition:background .15s}
.example-card-header:hover{background:var(--teal-50)}
.example-card-header h2{font-family:var(--font-display);font-size:1.1rem;color:var(--teal-800);margin:0;border:none;padding:0;flex:1}
.example-card-header p{font-size:.85rem;color:var(--slate-500);margin:0}
.example-card-toggle{background:var(--teal-600);color:#fff;border:none;padding:.4rem 1rem;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-body);transition:background .15s}
.example-card-toggle:hover{background:var(--teal-700)}
.example-card-body{display:none;padding:1rem 1.5rem;border-top:1px solid var(--teal-200)}
.example-card.open .example-card-body{display:block}
.example-card.open .example-card-toggle{background:var(--slate-500)}

/* === EXAMPLE SECTIONS (details accordion inside example) === */
.example-section{margin:.4rem 0;border:1px solid var(--slate-200);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s}
.example-section:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.example-section summary{padding:.5rem 1rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--teal-800);cursor:pointer;background:var(--slate-50);border-bottom:1px solid transparent;list-style:none;display:flex;align-items:center;gap:.45rem;transition:all .12s;user-select:none}
.example-section summary:hover{background:var(--teal-50)}
.example-section summary::-webkit-details-marker{display:none}
.example-section summary::before{content:'▶';font-size:.5rem;color:var(--teal-500);transition:transform .2s;flex-shrink:0}
.example-section[open] summary::before{transform:rotate(90deg)}
.example-section[open] summary{border-bottom-color:var(--slate-200);background:var(--teal-50)}
.example-body{padding:.6rem 1rem}
.example-body p:last-child{margin-bottom:0}
.toggle-all-bar{display:flex;gap:.4rem;align-items:center;justify-content:flex-start;margin:.7rem 0}
.toggle-all-btn{background:#fff;border:1px solid var(--slate-300);color:var(--slate-600);padding:.25rem .7rem;border-radius:5px;font-size:.74rem;font-weight:600;cursor:pointer;transition:all .12s;font-family:var(--font-body)}
.toggle-all-btn:hover{background:var(--teal-50);border-color:var(--teal-400);color:var(--teal-700)}

/* === CHULETA CARD === */
.chuleta-card{background:var(--amber-50);border:2px solid var(--amber-600);border-radius:var(--radius);padding:.8rem 1.1rem;margin:.8rem 0}
.chuleta-card h4{color:var(--amber-600)!important;background:none!important;border:none!important;padding:0!important;margin:0 0 .4rem!important;font-size:1rem}

/* === TOOL CARD (generadores de citas) === */
.tool-card{background:#fff;border:1px solid var(--slate-200);border-top:3px solid var(--teal-400);border-radius:var(--radius);padding:1rem 1.2rem;margin:.7rem 0;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tool-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.tool-card-header h4{margin:0!important;padding:0!important;background:none!important;border:none!important;font-size:1rem;font-weight:700;color:var(--teal-800)}
.tool-card-header a{font-size:.85rem;font-weight:600;color:var(--teal-600)}
.tool-card-desc{font-size:.9rem;color:var(--slate-500);margin-bottom:.5rem;font-style:italic}
.tool-card ol{margin:.4rem 0 0;padding-left:1.4rem}
.tool-card li{margin-bottom:.25rem}

/* === CHECKLIST === */
.ck-item{display:flex;align-items:flex-start;gap:.5rem;margin:.4rem 0;font-size:.9rem;padding:.4rem .6rem;border-radius:6px;transition:background .12s}
.ck-item:hover{background:var(--teal-50)}
.ck-item input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:1.15rem;height:1.15rem;border:2px solid var(--slate-300);border-radius:4px;cursor:pointer;flex-shrink:0;margin-top:.1rem;position:relative;transition:all .12s}
.ck-item input[type="checkbox"]:checked{background:var(--teal-600);border-color:var(--teal-600)}
.ck-item input[type="checkbox"]:checked::after{content:'';position:absolute;left:3px;top:0px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck-item label{cursor:pointer;line-height:1.4}
.ck-item input[type="checkbox"]:checked + label{color:var(--slate-400);text-decoration:line-through}

/* === FOOTER + SCROLL TOP === */
.site-footer{text-align:center;padding:2rem 1.5rem;color:var(--slate-500);font-size:clamp(.88rem,1.4vw,1rem);line-height:1.6;border-top:1px solid var(--slate-200);margin-top:1.5rem}
.scroll-top{position:fixed;bottom:1.5rem;right:1.5rem;width:44px;height:44px;background:linear-gradient(135deg,#15803d,#22c55e);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.1rem;box-shadow:0 3px 12px rgba(21,128,61,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s;z-index:90}
.scroll-top:hover{background:#15803d;transform:translateY(-3px);box-shadow:0 5px 16px rgba(21,128,61,.5)}
.scroll-top.visible{opacity:1}

/* === RESPONSIVE === */
@media(max-width:900px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0);box-shadow:4px 0 15px rgba(0,0,0,.1)}
  .sidebar-backdrop.open{display:block}
  .hamburger{display:flex}
  .topbar{left:0;height:auto;padding:.3rem .5rem;flex-wrap:wrap;gap:.25rem .4rem}
  .topbar-left{display:none}
  .topbar-right{display:flex;flex-wrap:wrap;gap:.25rem .4rem;align-items:center;flex:1;min-width:0}
  .version-seg{order:-1}
  .version-seg+.tb-sep{display:none}
  .tb-dark{margin-left:auto}
  .tb-sep:first-of-type{display:none}
  .topbar-search{order:10;flex:1 0 100%;min-width:0}
  .search-nav{order:11;flex:1 0 100%;justify-content:center}
  .search-nav-btn,.search-clear-btn{width:38px;height:38px;font-size:1rem}
  .search-counter{min-width:36px;font-size:.72rem}
  .main-wrap{margin-left:0;width:100%;padding-top:78px}
  .progress-bar{left:0}
  .main-content{padding:1rem .9rem 3rem}
  .site-header{padding:2rem 1rem 1.5rem}
  table{font-size:.78rem}
  thead th,tbody td{padding:.4rem .5rem}
  .version-seg button{padding:.18rem .45rem;font-size:.66rem}
  .sidebar-nav a{font-size:.88rem;padding:.45rem .9rem;line-height:1.35}
  .block{padding:0 1rem 1rem}
  .block-header{margin:0 -1rem .8rem;padding:.7rem 1rem}
  .tb-print,.print-panel{display:none!important}
}
@media(max-width:500px){
  .version-seg button{padding:.18rem .35rem;font-size:.64rem}
  .main-content{padding:1rem .7rem 2rem}
  .block > h2{font-size:1.1rem}
  .block h3{font-size:1rem}
  table{font-size:.72rem}
  thead th,tbody td{padding:.3rem .35rem}
  .site-header{padding:.8rem .7rem .6rem}
  .example-card-header{padding:.8rem;flex-direction:column;align-items:flex-start;gap:.5rem}
  .roadmap-grid{grid-template-columns:1fr 1fr}
  .block{padding:0 .7rem .8rem}
  .block-header{margin:0 -.7rem .7rem;padding:.6rem .7rem}
}

/* === DARK MODE === */
body.dark{
  --slate-50:#0f172a;--slate-100:#1e293b;--slate-200:#334155;--slate-300:#475569;
  --slate-400:#64748b;--slate-500:#94a3b8;--slate-600:#cbd5e1;--slate-700:#e2e8f0;
  --slate-800:#f1f5f9;--slate-900:#f8fafc;
  --teal-50:rgba(45,212,191,.06);--teal-100:rgba(45,212,191,.1);
  background:#0b1120;color:#cbd5e1
}
body.dark .topbar{background:rgba(11,17,32,.92);backdrop-filter:blur(16px);border-bottom-color:#1e293b}
body.dark .topbar-search input{background:#1a2332;border-color:#334155;color:#e2e8f0}
body.dark .topbar-search input::placeholder{color:#64748b}
body.dark .topbar-search input:focus{border-color:var(--teal-500);box-shadow:0 0 0 2px rgba(20,184,166,.15)}
body.dark .home-btn{background:#1a2332;border-color:#334155;color:var(--teal-300)}
body.dark .home-btn:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}
body.dark .tb-btn,body.dark .search-nav-btn,body.dark .search-clear-btn{background:#1a2332;border-color:#334155;color:#94a3b8}
body.dark .tb-btn:hover,body.dark .search-nav-btn:hover,body.dark .search-clear-btn:hover{background:rgba(45,212,191,.12);border-color:var(--teal-400);color:var(--teal-300)}
body.dark .sidebar{background:#0b1120;border-right-color:#1a2332}
body.dark .sidebar-nav a{color:#8b9dc3}
body.dark .sidebar-nav a:hover{background:rgba(45,212,191,.06);color:var(--teal-300)}
body.dark .sidebar-nav a.active{background:rgba(45,212,191,.1);color:var(--teal-300);border-left-color:var(--teal-400)}
body.dark .sidebar-nav .nav-label{color:var(--teal-400);border-top-color:#1a2332}
body.dark .block{background:#131d2e;border-color:#1e293b}
body.dark .block > h2{color:var(--teal-300);border-bottom-color:rgba(45,212,191,.15)}
body.dark .block h3{color:var(--teal-400);background:rgba(45,212,191,.12);border-left-color:var(--teal-400)}
body.dark .block h4{color:#e2e8f0;background:rgba(255,255,255,.03);border-left-color:var(--teal-500)}
body.dark .block-header{background:linear-gradient(135deg,var(--teal-800),rgba(45,212,191,.18))}
body.dark .block-header h2{color:var(--teal-200)}
body.dark .block-header .block-meta{color:#94a3b8}
body.dark .block-header .block-meta strong{color:var(--teal-300)}
body.dark .block-footer{border-top-color:#334155}
body.dark .ext-content{border-left-color:rgba(167,139,250,.4);background:rgba(167,139,250,.06)}
body.dark .callout{background:rgba(45,212,191,.05);border-color:rgba(45,212,191,.15);color:#94a3b8}
body.dark .callout-warning{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.18);color:#fbbf24}
body.dark .callout-important{background:rgba(251,113,133,.05);border-color:rgba(251,113,133,.15);color:#fda4af}
body.dark .callout-note{background:rgba(96,165,250,.05);border-color:rgba(96,165,250,.15);color:#93c5fd}
body.dark .callout-tip{background:rgba(96,165,250,.05);border-color:rgba(96,165,250,.15);color:#93c5fd}
body.dark .prof-note{background:rgba(167,139,250,.06);border-color:rgba(167,139,250,.18);color:#c4b5fd}
body.dark table{background:#131d2e;border-radius:var(--radius);overflow:hidden}
body.dark thead th{background:#0f172a;color:var(--teal-300);border-bottom:2px solid #1e293b}
body.dark tbody td{border-bottom-color:#1a2332;color:#94a3b8}
body.dark tbody tr:nth-child(even){background:rgba(255,255,255,.015)}
body.dark tbody tr:hover{background:rgba(45,212,191,.04)}
body.dark td strong{color:#5eead4}
body.dark .cite-format{background:#131d2e;border-color:#1e293b;color:#8b9dc3}
body.dark .apa-fmt-table em,body.dark .apa-hl{background:rgba(250,204,21,.15);color:#fde68a}
body.dark .example-section,body.dark .example-card{background:#131d2e;border-color:#1e293b}
body.dark .example-section:hover{box-shadow:0 4px 20px rgba(0,0,0,.35);border-color:#334155}
body.dark .example-section summary{background:#131d2e;color:var(--teal-300)}
body.dark .example-section summary:hover,body.dark .example-section[open] summary{background:rgba(45,212,191,.08)}
body.dark .example-card{border-color:var(--teal-500)}
body.dark .example-card-header:hover{background:rgba(45,212,191,.06)}
body.dark .example-card-header h2{color:var(--teal-300)}
body.dark .ampliacion{background:rgba(45,212,191,.04);border-color:#334155}
body.dark .ampliacion summary{color:var(--teal-300)}
body.dark .ampliacion summary:hover{background:rgba(45,212,191,.08)}
body.dark .version-seg{border-color:#334155;background:rgba(45,212,191,.04)}
body.dark .version-seg button{color:#8b9dc3}
body.dark .version-seg button.active{background:var(--teal-600);color:#fff}
body.dark .scroll-top{background:var(--teal-700);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3)}
body.dark .progress-bar{background:var(--teal-400)}
body.dark .search-highlight{background:rgba(45,212,191,.25)}
body.dark .search-highlight-current{background:rgba(251,191,36,.35);box-shadow:0 0 0 2px rgba(251,191,36,.25)}
body.dark .roadmap-hero{background:linear-gradient(135deg,#0d1a1a 0%,#131d2e 100%);border-color:#1e293b}
body.dark .roadmap-hero-title{color:var(--teal-300)}
body.dark .roadmap-card{background:#131d2e;border-color:#1e293b;border-top-color:var(--teal-500)}
body.dark .roadmap-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.4);border-color:#334155;border-top-color:var(--teal-400)}
body.dark .roadmap-card::after{color:var(--teal-400)}
body.dark .roadmap-card h3{color:var(--teal-300)}
body.dark .roadmap-tree li{color:#64748b}
body.dark .roadmap-tree li::before{color:var(--teal-500)}
body.dark .block-quote{border-left-color:#475569;color:#94a3b8}
body.dark .chuleta-card{background:rgba(217,119,6,.1)!important;border-color:var(--amber-600)!important}
body.dark .chuleta-card h4{color:#fbbf24!important}
body.dark .tool-card{background:var(--dark-card);border-color:var(--slate-700);border-top-color:var(--teal-500);box-shadow:0 2px 8px rgba(0,0,0,.3)}
body.dark .tool-card-header h4{color:var(--teal-300)}
body.dark .tool-card-header a{color:var(--teal-400)}
body.dark .tool-card-desc{color:var(--slate-400)}
body.dark a{color:var(--teal-300)}
body.dark a:hover{color:var(--teal-200)}
body.dark .ck-item:hover{background:rgba(45,212,191,.04)}
body.dark .ck-item input[type="checkbox"]{border-color:#475569}
body.dark .ck-item input[type="checkbox"]:checked + label{color:#64748b}
body.dark .tab-btn{color:#64748b}
body.dark .tab-btn:hover{color:var(--teal-300);background:rgba(45,212,191,.1)}
body.dark .tab-btn.active{color:#fff;background:var(--teal-600);box-shadow:0 2px 6px rgba(0,0,0,.3)}
body.dark .tabs-bar{background:#0f172a}
body.dark .print-panel{background:#1e293b;border-color:#334155;color:#cbd5e1}
body.dark .print-panel::before{background:#1e293b;border-color:#334155}
body.dark .print-panel strong{color:var(--teal-300)}
body.dark .print-panel .pt-version{color:var(--teal-300)}
body.dark .print-go{background:var(--teal-600)}
body.dark .bib-copy-btn{background:rgba(45,212,191,.1);border-color:#334155;color:var(--teal-300)}
body.dark .nlm-link-btn{background:#1e293b;border-color:#334155;color:var(--teal-300)}
body.dark .nlm-link-btn:hover{background:rgba(45,212,191,.1);border-color:var(--teal-500)}
body.dark .nlm-tooltip{background:#1e293b;border-color:#334155;color:#cbd5e1}
body.dark .nlm-tooltip::before{background:#1e293b;border-color:#334155}
body.dark .nlm-example{background:#0f172a;color:#94a3b8}
body.dark .bib-style-box{background:#131d2e;border-color:#334155}
body.dark .bib-style-box strong{color:var(--teal-300)}
body.dark .ext-block{background:rgba(45,212,191,.04);border-color:#334155}
body.dark .ext-toggle{color:var(--teal-300)}
body.dark .ext-toggle:hover{background:rgba(45,212,191,.08)}
body.dark .mode-indicator{background:linear-gradient(90deg,rgba(167,139,250,.3),rgba(167,139,250,.05));color:#c4b5fd}
body.dark .ext-content::before{color:#c4b5fd}
@keyframes flash-in{0%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:translateY(0)}}
.tb-dark{font-size:.85rem;line-height:1}
.tb-dark .icon-sun{display:none}
.tb-dark .icon-moon{display:inline}
body.dark .tb-dark .icon-sun{display:inline}
body.dark .tb-dark .icon-moon{display:none}

/* === PRINT === */
@media print{
  /* --- Ocultar UI --- */
  .sidebar,.hamburger,.progress-bar,.scroll-top,.sidebar-backdrop,.topbar,.mode-indicator,.print-wrap,.bib-copy-btn,.bib-style-box,.toggle-all-bar,.example-card-toggle,.ext-toggle,.nlm-wrap{display:none!important}

  /* --- Layout --- */
  .main-wrap{margin-left:0;width:100%;padding-top:0}
  .main-content{max-width:100%;padding:0 .4cm}
  .roadmap-hero{display:none!important}

  /* --- Tipografía compacta --- */
  body{font-size:9pt;line-height:1.35;color:#000}
  p{margin-bottom:.12rem!important}
  ul,ol{margin:.1rem 0 .15rem .8rem!important}
  li{margin-bottom:.05rem!important}

  /* --- Header: 2 líneas máximo --- */
  .site-header{padding:.2rem .4rem .15rem!important;background:none!important;color:#000!important}
  .site-header h2{font-size:12pt!important;color:#000!important;margin:0!important}
  .taglines{font-size:7pt!important;color:#555!important;margin:0!important}
  .last-updated{display:none!important}

  /* --- Bloques: sin cards, flujo continuo --- */
  .block{box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:0 0 .15rem!important;background:transparent!important}
  .block + .block{margin-top:.1rem!important;border-top:1px solid #ddd!important;padding-top:.1rem!important}

  /* --- Block headers: una línea gris --- */
  .block-header{background:#eee!important;margin:0 0 .15rem!important;padding:.15rem .4rem!important;border-radius:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .block-header h2{color:#000!important;font-size:10pt!important;margin:0!important;padding:0!important}
  .block-header .block-meta{font-size:7pt!important;color:#555!important;margin-top:.05rem!important}
  .block-header .block-meta strong{color:#000!important}

  /* --- Headings --- */
  .block h3{margin:.15rem 0 .1rem!important;padding:.1rem .3rem!important;font-size:9pt!important;background:#f4f4f4!important;border-left:2px solid #999!important;color:#000!important;border-radius:0!important}
  .block h4{margin:.1rem 0 .05rem!important;padding:.05rem .2rem!important;font-size:8.5pt!important;background:none!important;border-left:2px solid #bbb!important;color:#000!important;border-radius:0!important}

  /* --- Callouts y notas --- */
  .callout,.prof-note{margin:.1rem 0!important;padding:.1rem .3rem!important;font-size:8pt!important;background:transparent!important;border-color:#aaa!important;border-radius:0!important}
  .prof-note::before{font-size:7.5pt!important}

  /* --- Tablas --- */
  table{font-size:7.5pt!important}
  thead th{padding:.1rem .25rem!important;background:#ddd!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  tbody td{padding:.1rem .25rem!important}
  .table-wrap{margin:.15rem 0!important;box-shadow:none!important}

  /* --- Cite format / Block quote --- */
  .cite-format{font-size:7.5pt!important;padding:.15rem .3rem!important;margin:.1rem 0!important;border:1px solid #ccc!important;background:transparent!important}
  .block-quote{margin:.1rem 0 .1rem .6rem!important;padding:.1rem .4rem!important;font-size:8.5pt!important}

  /* --- Checklist --- */
  .ck-item{padding:.05rem .2rem!important;font-size:8pt!important;margin:.05rem 0!important}
  .block-footer{margin-top:.15rem!important;padding-top:.1rem!important;border-top:1px dashed #ccc!important}
  .block-deliverable{font-size:7.5pt!important;margin-bottom:.1rem!important}

  /* --- Ext blocks: ocultos en básica --- */
  .ext-block{margin:0!important;border:none!important;background:transparent!important}
  .ext-content{max-height:none!important;overflow:visible!important;padding:.1rem .3rem!important;border-left:1px solid #999!important;background:transparent!important;margin:.05rem 0!important}
  .ext-content::before{display:none!important}
  body.mode-basica .ext-content{display:none!important}
  body.mode-basica .ext-block.open .ext-content{display:block!important}

  /* --- Ejemplo: NO abrir automáticamente, respetar estado --- */
  .example-card{border:1px solid #ccc!important;box-shadow:none!important;margin:.2rem 0!important}
  .example-card-header{padding:.2rem .4rem!important}
  .example-card-header h2{font-size:10pt!important}
  .example-card-header p{font-size:7.5pt!important}
  .example-card.open .example-card-body{display:block!important}
  .example-section{margin:.1rem 0!important;border:1px solid #ddd!important;box-shadow:none!important}
  .example-section summary{font-size:8pt!important;padding:.1rem .3rem!important}
  .example-body{padding:.1rem .3rem!important}

  /* --- Tabs: solo mostrar el panel activo --- */
  .tabs-bar{display:inline-flex!important;padding:.1rem!important;margin-bottom:.2rem!important;background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tab-btn{font-size:8pt!important;padding:.1rem .5rem!important}

  /* --- Chuleta --- */
  .chuleta-card{padding:.15rem .3rem!important;margin:.1rem 0!important;border:1px solid #d97706!important;background:transparent!important}
  .tool-card{box-shadow:none!important;border:1px solid #ccc!important;border-top:2px solid #999!important;padding:.3rem .5rem!important;margin:.3rem 0!important}

  /* --- Details: respetar estado abierto/cerrado --- */
  details:not([open]) > *:not(summary){display:none!important}
  #refs-guia summary{font-size:9pt!important}

  /* --- Footer --- */
  .site-footer{padding:.2rem!important;font-size:7pt!important;margin-top:.1rem!important}

  /* --- Links: NO mostrar URL (ahorra espacio) --- */
  a{color:#000!important;text-decoration:underline!important}

}

/* ================================================================
   REDISEÑO UX — "Que el contenido entre de la mejor forma posible"
   Para adultos de FP (25-55+) que necesitan claridad y calidez.
   ================================================================ */

/* --- 1. TIPOGRAFÍA Y LECTURA --- */
body{background:#f8faf9}
.main-content{max-width:none;margin:0;padding:2.8rem clamp(1rem,3vw,2rem) .5rem}
[data-page="index"] .main-content{padding:0 .5rem .5rem!important}
[data-page="index"] .page-block-wrap{padding:0}
[data-page="index"] .content-layout{display:block}
.page-block-wrap{font-size:inherit;line-height:1.55;color:var(--slate-800)}
.page-block-wrap p{margin-bottom:.55em}
.page-block-wrap ul,.page-block-wrap ol{}
.page-block-wrap h3{font-size:clamp(.92rem,2vw,1.02rem)!important;margin:.25rem -.5rem .1rem!important;padding:.25rem .6rem .25rem 1.5rem!important;background:linear-gradient(90deg,#f0fdfa 0%,transparent 100%)!important;border-left:3px solid var(--teal-400)!important;border-bottom:none!important;border-radius:0 6px 6px 0!important;color:var(--teal-800);cursor:pointer;position:relative;user-select:none;line-height:1.3!important}
.page-block-wrap h3::before{content:'▸';position:absolute;left:.3rem;top:.25rem;font-size:.82rem;color:var(--teal-400);transition:transform .2s}
.page-block-wrap h3.sec-open::before{transform:rotate(90deg)}
.sec-body{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}
.sec-body.sec-collapsed{max-height:0!important;height:0!important;opacity:0;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
.sec-expand-bar{display:flex;gap:.5rem;margin:0 0 .3rem;font-size:.68rem}
.sec-expand-bar button{background:none;border:1px solid var(--teal-200);color:var(--teal-600);padding:.1rem .5rem;border-radius:4px;cursor:pointer;font-size:.68rem}
.sec-expand-bar button:hover{background:var(--teal-50);border-color:var(--teal-400)}
body.dark .page-block-wrap h3::before{color:var(--teal-500)}
body.dark .sec-expand-bar button{border-color:#334155;color:var(--teal-400)}
body.dark .sec-expand-bar button:hover{background:rgba(45,212,191,.08);border-color:var(--teal-600)}
.page-block-wrap h4{margin-top:.5rem;margin-bottom:.2rem;font-size:.88rem}
/* H4 collapsible inside tab panels */
.tab-panel h4[id]{cursor:pointer;position:relative;padding-left:1.2rem!important;user-select:none}
.tab-panel h4[id]::before{content:'▸';position:absolute;left:.15rem;top:.22rem;font-size:.78rem;color:var(--teal-400);transition:transform .2s}
.tab-panel h4[id].h4-open::before{transform:rotate(90deg)}
.h4-body{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}
.h4-body.h4-collapsed{max-height:0!important;height:0!important;opacity:0;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
body.dark .tab-panel h4[id]::before{color:var(--teal-500)}
.page-block-wrap ul,.page-block-wrap ol{margin-bottom:.5em}
.page-block-wrap .block{box-shadow:none;border:none;padding:0;margin:0;background:transparent}
.page-block-wrap .block-header{display:none}
/* APA hanging indent (sangría francesa) */
.bib-apa .example-body>p{text-indent:-1.27cm;padding-left:1.27cm;margin-bottom:.5rem}
body.dark{background:#0b1120}
body.dark .page-block-wrap{color:#cbd5e1}
body.dark .page-block-wrap .block{background:transparent!important}
body.dark .page-block-wrap h3{color:var(--teal-300);background:linear-gradient(90deg,rgba(45,212,191,.06) 0%,transparent 100%)!important;border-left-color:var(--teal-600)!important}
@media(max-width:500px){.page-block-wrap h3{margin-left:-.3rem;margin-right:-.3rem;padding:.35rem .5rem}}

/* --- 2. BREADCRUMB con flechas ← → (fixed) --- */
.breadcrumb{display:flex;align-items:center;gap:.4rem;padding:.35rem clamp(1.5rem,4vw,3rem);font-size:.82rem;flex-wrap:nowrap;position:fixed;top:calc(var(--topbar-h) + 4px);left:180px;right:0;background:#eef8f6;z-index:40;border-bottom:1.5px solid var(--teal-100);box-shadow:0 1px 3px rgba(0,0,0,.04)}
body.dark .breadcrumb{background:#0d1a1f;border-bottom-color:#1a3a3a;box-shadow:0 1px 3px rgba(0,0,0,.2)}
@media(max-width:900px){.breadcrumb{left:0}}
.breadcrumb a:not(.bc-arrow){color:var(--teal-600);text-decoration:none;font-weight:500}
.breadcrumb a:not(.bc-arrow):hover{text-decoration:underline}
.bc-sep{color:var(--slate-300);font-size:.7rem}
.bc-current{color:var(--slate-700);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bc-progress{margin-left:.3rem;color:var(--slate-400);font-size:.75rem;font-weight:600;white-space:nowrap}
.bc-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:2px solid var(--teal-400);background:var(--teal-50);color:var(--teal-700);text-decoration:none;font-size:1rem;font-weight:700;transition:all .15s;flex-shrink:0;line-height:1}
.bc-arrow:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600);transform:scale(1.1)}
body.dark .breadcrumb a:not(.bc-arrow){color:var(--teal-400)}
body.dark .bc-sep{color:#334155}
body.dark .bc-current{color:#e2e8f0}
body.dark .bc-progress{color:#64748b}
body.dark .bc-arrow{border-color:var(--teal-500);background:rgba(45,212,191,.1);color:var(--teal-300)}
body.dark .bc-arrow:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}

/* --- 3. CHAPTER HEADER — compacto, número al lado --- */
.chapter-header{display:flex;align-items:center;gap:.6rem;padding:.5rem 0 .4rem;margin-bottom:.5rem;border-bottom:2px solid var(--teal-100)}
.chapter-num{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;color:var(--teal-300);line-height:1;flex-shrink:0}
.chapter-info{flex:1;min-width:0}
.chapter-title{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700;color:var(--teal-800);line-height:1.2;margin:0}
.chapter-goal{font-size:.78rem;color:var(--slate-500);margin:.2rem 0 0;line-height:1.4}
body.dark .chapter-header{border-bottom-color:#1e293b}
body.dark .chapter-num{color:rgba(45,212,191,.18)}
body.dark .chapter-title{color:var(--teal-300)}
body.dark .chapter-goal{color:#64748b}
@media(max-width:500px){
  .chapter-header{gap:.6rem;padding:.8rem 0 .6rem}
  .chapter-num{font-size:1.5rem}
}

/* --- 4. NEXT-STEP NAV — invita a seguir --- */
.next-step{margin:.8rem 0 .3rem;padding:.5rem 0 0;border-top:2px solid var(--teal-100)}
.next-step-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-400);margin-bottom:.4rem}
.next-step-card{display:flex;align-items:center;gap:.6rem;text-decoration:none;padding:.5rem .8rem;border-radius:8px;border:1px solid var(--teal-200);background:linear-gradient(135deg,#f0fdfa 0%,#fff 100%);transition:all .25s}
.next-step-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(13,148,136,.1);border-color:var(--teal-400);background:linear-gradient(135deg,#ccfbf1 0%,#f0fdfa 100%)}
.next-step-num{width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--teal-600),var(--teal-500));color:#fff;border-radius:50%;font-weight:700;font-size:.82rem;flex-shrink:0;box-shadow:0 2px 8px rgba(13,148,136,.2)}
.next-step-info{flex:1;min-width:0}
.next-step-info h3{font-size:.92rem;font-weight:700;color:var(--teal-800);margin:0 0 .1rem;line-height:1.3}
.next-step-info p{font-size:.72rem;color:var(--slate-500);margin:0;line-height:1.4}
.next-step-arrow{font-size:1.2rem;color:var(--teal-400);font-weight:700;flex-shrink:0;transition:transform .2s}
.next-step-card:hover .next-step-arrow{transform:translateX(4px)}
.prev-step-link{display:inline-block;margin-top:.5rem;font-size:.75rem;color:var(--slate-400);text-decoration:none}
.prev-step-link:hover{color:var(--teal-600);text-decoration:underline}
body.dark .next-step{border-top-color:#1e293b}
body.dark .next-step-label{color:#475569}
body.dark .next-step-card{background:linear-gradient(135deg,#0d1a1a 0%,#131d2e 100%);border-color:#1e293b}
body.dark .next-step-card:hover{border-color:var(--teal-500);box-shadow:0 8px 24px rgba(0,0,0,.3);background:linear-gradient(135deg,rgba(45,212,191,.08) 0%,#131d2e 100%)}
body.dark .next-step-info h3{color:var(--teal-300)}
body.dark .next-step-info p{color:#64748b}
body.dark .next-step-arrow{color:var(--teal-500)}
body.dark .prev-step-link{color:#475569}
body.dark .prev-step-link:hover{color:var(--teal-400)}
@media(max-width:500px){
  .next-step-card{padding:1rem;gap:.8rem}
  .next-step-num{width:2.2rem;height:2.2rem;font-size:.8rem}
}

/* --- 5. PROGRESS TRACK — barra fina arriba --- */
.progress-track{position:fixed;top:0;left:0;right:0;height:4px;background:var(--slate-100);z-index:110}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-500),var(--teal-400));border-radius:0 2px 2px 0;transition:width .5s ease;width:0}
body.dark .progress-track{background:#1e293b}

/* --- 6. LANDING PAGE additions --- */
/* Reset h3 collapsible styles on landing cards */
[data-page="index"] .page-block-wrap h3{background:none;border-left:none;margin:0 0 .3rem;padding:0;cursor:default;position:static;user-select:auto}
[data-page="index"] .page-block-wrap h3::before{display:none}
/* Wider roadmap, tighter cards */
.roadmap-hero{padding:.8rem .8rem .6rem!important;margin:.5rem 0 .8rem!important}
.roadmap-hero-title{margin-bottom:.6rem!important}
.roadmap-grid{gap:.5rem!important;grid-template-columns:repeat(auto-fill,minmax(155px,1fr))!important}
.roadmap-card{padding:.6rem .7rem .5rem!important}
.roadmap-card h3{margin-bottom:.2rem!important;font-size:.82rem!important}
.roadmap-card-num{width:1.7rem!important;height:1.7rem!important;font-size:.72rem!important;margin-bottom:.25rem!important}
.roadmap-card .roadmap-tree{margin-bottom:0!important;font-size:.72rem!important}
.roadmap-card .roadmap-tree li{padding:.01rem 0 .01rem 1.15rem}

/* Visited roadmap cards */
.roadmap-card.visited{opacity:.8}
.roadmap-card.visited .roadmap-card-num{background:linear-gradient(135deg,var(--green-700),#22c55e)}
.roadmap-card.visited .roadmap-card-num::after{content:'✓';font-size:.65rem}

/* Print button with text */
.tb-print{font-size:.78rem!important;white-space:nowrap}

/* --- 7. SIDEBAR — limpia y slim --- */
@media(min-width:901px){
  .sidebar{width:180px}
  .main-wrap{margin-left:180px}
  .topbar{left:180px}
}
.sidebar-nav a{font-size:.82rem;padding:.4rem .8rem}

/* --- 8. TOC lateral FIJO al borde derecho --- */
.content-layout{display:block}
[data-page="index"] .content-layout{display:block}
@media(min-width:1100px){.has-toc .main-content{padding-right:200px}}
.page-toc{position:fixed;right:1rem;top:calc(var(--topbar-h) + 4.5rem);width:170px;max-height:calc(100vh - var(--topbar-h) - 6rem);overflow-y:auto}
.page-toc h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-400);margin:0 0 .5rem;padding:0}
.page-toc a{display:block;font-size:.74rem;line-height:1.4;padding:.25rem 0 .25rem .6rem;color:var(--slate-500);text-decoration:none;border-left:2px solid transparent;transition:all .15s}
.page-toc a:hover{color:var(--teal-600);border-left-color:var(--teal-300)}
.page-toc a.active{color:var(--teal-700);border-left-color:var(--teal-500);font-weight:600}
.page-toc a.toc-sub{padding-left:1rem;font-size:.7rem}
body.dark .page-toc h4{color:#475569}
body.dark .page-toc a{color:#64748b}
body.dark .page-toc a:hover{color:var(--teal-400);border-left-color:var(--teal-600)}
body.dark .page-toc a.active{color:var(--teal-300);border-left-color:var(--teal-500)}
@media(max-width:1099px){.page-toc{display:none}}
@media print{.page-toc{display:none!important}.sec-body,.h4-body{max-height:none!important;height:auto!important;opacity:1!important;overflow:visible!important}}

/* toggle-all buttons: visible on ejemplo page */

/* --- Footer compacto --- */
.site-footer{padding:.6rem 1rem!important;margin-top:.3rem!important;font-size:.78rem!important}

/* --- Block-footer (entregable + checklist) compacto --- */
.block-footer{margin-top:.4rem!important;padding-top:.4rem!important}
.block-footer h4{margin:0 0 .2rem!important;font-size:.82rem!important}
.block-deliverable{font-size:.82rem!important;margin-bottom:.3rem!important}
.ck-item{margin:.15rem 0!important;padding:.2rem .4rem!important;font-size:.82rem!important}
.ck-item input[type="checkbox"]{width:1rem!important;height:1rem!important}

/* --- 9. EXAMPLE PAGE --- */
.example-page .example-card{box-shadow:none;border:none;background:transparent}
.example-page .example-card-toggle{display:none}
.example-page .example-card-body{display:block!important}

/* --- 9. PRINT --- */
@media print{
  .breadcrumb,.next-step,.progress-track,.progress-bar,.chapter-header,.sec-expand-bar{display:none!important}
  .main-wrap{margin-left:0!important;padding-top:0!important}
  body{background:#fff!important}
  .cite-format button,.copy-btn,[onclick*="copy"]{display:none!important}
  .sec-body{max-height:none!important;opacity:1!important;overflow:visible!important}
}
