/* lymen · estilos comunes y de documentación */
body.docs *,body.docs *::before,body.docs *::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Figtree,system-ui,sans-serif;color:#12303C;background:#fff}
a{color:#0E6E78}a:hover{color:#0A5259}
.logo{font-family:Fredoka,sans-serif;font-weight:600;line-height:1;color:#F5C518;text-decoration:none}
.btn-am{background:#F5C518;color:#16323F;text-decoration:none}
.btn-am:hover{background:#FFD23F;color:#16323F}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid #F5C518;outline-offset:2px}
.docs :focus-visible{outline-color:#0E6E78}
.docs-cab :focus-visible{outline-color:#F5C518}

/* cabecera */
.docs-cab{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:14px 24px;background:#16323F;color:#D7E8EC;position:relative;z-index:20}
.docs-cab .logo{font-size:30px}
.docs-etiqueta{padding:4px 10px;border-radius:8px;background:rgba(245,197,24,.14);color:#F5C518;font-size:14px;font-weight:800;text-decoration:none}
.buscador{flex:1 1 280px;max-width:460px;position:relative}
.buscador input{width:100%;height:44px;padding:0 64px 0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:15px}
.buscador input::placeholder{color:#A9C3CB}
.buscador kbd{position:absolute;right:10px;top:22px;transform:translateY(-50%);padding:2px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.25);font-family:'JetBrains Mono',monospace;font-size:12px;color:#A9C3CB;pointer-events:none}
.relleno{flex:1}
.volver{color:#D7E8EC;font-weight:600;text-decoration:none}
.volver:hover{color:#F5C518}
.btn-demo{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;font-weight:800}
.resultados{position:absolute;left:0;right:0;top:50px;max-height:min(70vh,520px);overflow:auto;background:#fff;color:#12303C;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:6px}
.resultados[hidden]{display:none}
.resultados a{display:block;padding:10px 12px;border-radius:10px;color:#12303C;text-decoration:none}
.resultados a:hover,.resultados a.sel{background:#FFF7D6}
.resultados .r-t{font-weight:800;font-size:15px}
.resultados .r-g{font-size:12px;font-weight:700;letter-spacing:.5px;color:#4A6470;margin-left:6px}
.resultados .r-x{display:block;font-size:13.5px;line-height:1.45;color:#4A6470;margin-top:2px}
.resultados mark{background:#F5C518;color:#16323F;border-radius:3px;padding:0 1px}
.resultados .vacio{padding:14px;color:#4A6470;font-size:14px}

/* estructura */
.docs-grid{display:grid;grid-template-columns:290px minmax(0,1fr) 250px;align-items:start}
.arbol{position:sticky;top:0;max-height:100vh;overflow:auto;padding:28px 16px;border-right:1px solid #E6EFF1;display:flex;flex-direction:column;gap:22px}
.arbol-grupo{display:flex;flex-direction:column;gap:2px}
.arbol-tit{padding:0 12px 6px;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#4A6470}
.arbol a{display:block;padding:8px 12px;border-radius:9px;color:#12303C;text-decoration:none;font-size:15px}
.arbol a:hover{background:#E6EFF1}
.arbol a[aria-current=page]{background:#FFF7D6;font-weight:800;box-shadow:inset 3px 0 0 #F5C518}
.docs-ia{margin-top:6px;padding:16px;border-radius:14px;background:#16323F;color:#fff;display:flex;flex-direction:column;gap:10px}
.docs-ia strong{font-size:15px;display:flex;align-items:center;gap:8px}
.docs-ia span{font-size:14px;line-height:1.45;color:#D7E8EC}
.docs-ia a,.docs-ia a:hover{font-family:'JetBrains Mono',monospace;font-size:14px;color:#F5C518;padding:0;background:none}
.menu-movil{display:none}
.art{min-width:0;padding:36px 48px 80px;display:flex;flex-direction:column;gap:22px}
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:#4A6470}
.art-titulo{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.art h1{margin:0;flex:1 1 380px;font-family:Fredoka,sans-serif;font-weight:600;font-size:44px;line-height:1.08}
.acciones{display:flex;gap:8px}
.acciones button,.acciones a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid #B9CDD3;background:#fff;color:#12303C;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none}
.acciones .btn-md{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:400}
.acciones button:hover,.acciones a:hover{background:#F1F6F7;color:#12303C}
.lead{margin:0;font-size:19px;line-height:1.6;color:#4A6470}
.toc-movil{display:none;border:1px solid #D3E2E6;border-radius:12px;background:#F1F6F7}
.toc-movil summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:15px}
.toc-movil div{display:flex;flex-direction:column;padding:0 16px 12px;gap:6px}
.toc-movil a{color:#12303C;text-decoration:none;font-size:14.5px}

/* contenido */
.contenido{font-size:17px;line-height:1.7}
.contenido>*:first-child{margin-top:0}
.contenido p{margin:0 0 16px}
.contenido h2{margin:34px 0 14px;font-family:Fredoka,sans-serif;font-weight:600;font-size:28px;line-height:1.2;scroll-margin-top:24px}
.contenido h3{margin:26px 0 10px;font-size:21px;line-height:1.3;scroll-margin-top:24px}
.contenido h4{margin:20px 0 8px;font-size:17px;scroll-margin-top:24px}
.contenido .ancla{margin-left:8px;color:#B9CDD3;text-decoration:none;font-weight:400;opacity:0}
.contenido h2:hover .ancla,.contenido h3:hover .ancla,.ancla:focus{opacity:1}
.contenido ul,.contenido ol{margin:0 0 16px;padding-left:26px}
.contenido li{margin:4px 0}
.contenido li>p{margin:0 0 6px}
.contenido hr{border:0;border-top:1px solid #E6EFF1;margin:28px 0}
.contenido img{max-width:100%;height:auto}
.contenido code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:#EEF4F5;border-radius:6px;padding:2px 6px;overflow-wrap:anywhere}
.codigo-wrap{margin:0 0 18px;border-radius:14px;overflow:hidden;background:#16323F}
.codigo-top{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 16px;background:#0F2630;color:#A9C3CB;font-family:'JetBrains Mono',monospace;font-size:12px}
.copiar-codigo{min-height:32px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#D7E8EC;font:inherit;font-family:Figtree,sans-serif;font-size:13px;font-weight:700;cursor:pointer}
.copiar-codigo:hover{background:rgba(255,255,255,.1)}
.codigo{margin:0;padding:18px 20px;background:#16323F;color:#E8F2F4;font-family:'JetBrains Mono',monospace;font-size:14px;line-height:1.75;overflow-x:auto;white-space:pre}
.contenido .codigo code{background:none;padding:0;font-size:inherit;overflow-wrap:normal;color:inherit}
.tabla-wrap{margin:0 0 20px;overflow-x:auto;border:1px solid #D3E2E6;border-radius:12px}
.contenido table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}
.contenido th{background:#F1F6F7;text-align:left;font-weight:800;white-space:nowrap}
.contenido th,.contenido td{padding:10px 14px;border-bottom:1px solid #E6EFF1;vertical-align:top}
.contenido td{min-width:110px}
.contenido tr:last-child td{border-bottom:0}
.nota{margin:0 0 18px;padding:14px 18px;border-radius:14px;background:#FFF7D6;border:1px solid #F0D978;color:#4A3900;font-size:16px}
.nota p:last-child{margin-bottom:0}
.nota code{background:rgba(0,0,0,.06)}
.anterior-siguiente{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.anterior-siguiente a{flex:1 1 240px;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:14px;border:1px solid #D3E2E6;color:#12303C;text-decoration:none}
.anterior-siguiente a:hover{border-color:#F5C518;background:#FFFDF3;color:#12303C}
.anterior-siguiente .sig{align-items:flex-end;text-align:right;margin-left:auto}
.anterior-siguiente span{font-size:13px;color:#4A6470}
.anterior-siguiente strong{font-size:17px}
.pie-art{padding-top:18px;border-top:1px solid #E6EFF1;font-size:15px;color:#4A6470;display:flex}
.pie-art span{margin-left:auto}

/* índice lateral */
.toc{position:sticky;top:0;max-height:100vh;overflow:auto;padding:40px 20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.toc .arbol-tit{padding:0 0 6px}
.toc a{color:#4A6470;text-decoration:none;padding:4px 0 4px 12px;border-left:3px solid #E6EFF1}
.toc a:hover{color:#12303C}
.toc a.act{color:#12303C;font-weight:700;border-left-color:#F5C518}

/* responsive */
@media (max-width:1180px){
  .docs-grid{grid-template-columns:270px minmax(0,1fr)}
  .toc{display:none}
  .toc-movil{display:block}
}
@media (max-width:860px){
  .docs-grid{grid-template-columns:minmax(0,1fr)}
  .menu-movil{display:flex;align-items:center;justify-content:space-between;margin:12px 16px 0;min-height:46px;padding:0 16px;border-radius:12px;border:1px solid #B9CDD3;background:#F1F6F7;color:#12303C;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
  .menu-movil::after{content:'+';font-size:22px}
  .menu-movil[aria-expanded=true]::after{content:'–'}
  .arbol{display:none;position:static;max-height:none;border-right:0;border-bottom:1px solid #E6EFF1}
  .arbol.abierto{display:flex}
  .art{padding:24px 16px 56px}
  .art h1{font-size:34px}
  .docs-cab{padding:12px 16px;gap:10px 16px}
  .volver{display:none}
  .buscador{flex-basis:100%;max-width:none;order:5}
  .relleno{display:none}
  .btn-demo{margin-left:auto}
  .buscador kbd{display:none}
  .buscador input{padding-right:14px}
  .resultados{position:fixed;left:12px;right:12px;top:128px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
