/* =====================================================================
   LYN Biblioteca – portada de la biblioteca y páginas de artículo
   Todo vive bajo .lynb para no chocar con el tema.
   ===================================================================== */

html.lynb-on, html.lynb-on body { overflow-x: clip; }

.lynb {
	--navy: #0b1638;
	--royal: #13308c;
	--ink: #0d1530;
	--text: #1d2540;
	--blue: #3d6ef5;
	--blue-2: #2a56e0;
	--blue-soft: #eaf0ff;
	--orange: #f2a93b;
	--muted: #5a6479;
	--soft: #f5f7fd;
	--line: #e0e6f3;
	--card: #fff;
	--like: #e5484d;
	--area: #2a56e0;
	--ff-h: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
	--ff: 'Inter', 'Segoe UI', system-ui, sans-serif;
	--ff-read: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--ease: cubic-bezier(.2, .7, .2, 1);
	--wrap: 1280px;
	font-family: var(--ff);
	font-size: 16px;
	line-height: 1.6;
	color: var(--text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	position: relative;
}
.lynb.lynb--fw {
	width: calc(100vw - var(--lynb-sbw, 0px)) !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw + var(--lynb-sbw, 0px) / 2) !important;
	margin-right: calc(50% - 50vw + var(--lynb-sbw, 0px) / 2) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.lynb-main { display: block; flex: 1 1 100%; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; }

/* reset local */
.lynb *, .lynb *::before, .lynb *::after { box-sizing: border-box; }
.lynb h1, .lynb h2, .lynb h3, .lynb h4, .lynb p, .lynb ul, .lynb ol, .lynb li, .lynb dl, .lynb dt, .lynb dd, .lynb figure, .lynb blockquote {
	margin: 0; padding: 0; border: 0; background: none; text-transform: none; letter-spacing: normal;
}
.lynb ul, .lynb ol { list-style: none; }
.lynb li::before, .lynb li::marker { content: none; }
.lynb a { color: inherit; text-decoration: none; box-shadow: none; }
.lynb img { max-width: 100%; height: auto; display: block; border: 0; border-radius: 0; box-shadow: none; }
.lynb button { font: inherit; margin: 0; cursor: pointer; text-transform: none; letter-spacing: normal; }
.lynb [hidden] { display: none !important; }
.lynb :focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.lynb [id] { scroll-margin-top: calc(var(--lynb-off, 90px) + 16px); }
.lynb .lynb-ico { width: 1.1em; height: 1.1em; flex: none; display: inline-block; vertical-align: middle; }
.lynb .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.lynb .lynb-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }
.lynb .lynb-h2 { font: 800 clamp(26px, 2.8vw, 38px)/1.12 var(--ff-h); letter-spacing: -.02em; color: var(--ink); text-wrap: balance; }

/* ---------- botones y chips ---------- */
.lynb .lynb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font: 600 14.5px/1.2 var(--ff); color: var(--royal); background: #fff;
	border: 1.5px solid var(--line); border-radius: 11px; padding: 11px 16px;
	transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--ease), box-shadow .2s;
	white-space: nowrap;
}
.lynb .lynb-btn .lynb-ico { width: 17px; height: 17px; }
.lynb .lynb-btn:hover { border-color: #b9c8f3; background: #f6f8ff; color: var(--royal); }
.lynb .lynb-btn:active { transform: scale(.97); }
.lynb .lynb-btn--primary { background: var(--blue-2); border-color: var(--blue-2); color: #fff; box-shadow: 0 10px 22px -14px rgba(42, 86, 224, .9); }
.lynb .lynb-btn--primary:hover { background: #1f47c4; border-color: #1f47c4; color: #fff; }
.lynb .lynb-btn--orange { background: var(--orange); border-color: var(--orange); color: #fff; box-shadow: 0 12px 26px -14px rgba(242, 169, 59, .9); }
.lynb .lynb-btn--orange:hover { background: #f6b24c; border-color: #f6b24c; color: #fff; }
.lynb .lynb-btn--outline { border-color: var(--blue-2); color: var(--blue-2); padding: 13px 26px; }
.lynb .lynb-btn--sm { padding: 8px 12px; font-size: 13.5px; }
.lynb .lynb-btn--like[aria-pressed="true"], .lynb .lynb-pill--like[aria-pressed="true"] { color: var(--like); border-color: #f6c4c6; background: #fff3f3; }
.lynb .lynb-btn--like[aria-pressed="true"] .lynb-ico, .lynb .lynb-pill--like[aria-pressed="true"] .lynb-ico { fill: currentColor; }
.lynb [data-save][aria-pressed="true"] { color: var(--orange); border-color: #f6d6a2; background: #fff8ec; }
.lynb [data-save][aria-pressed="true"] .lynb-ico { fill: currentColor; }
.lynb .is-pop .lynb-ico { animation: lynb-pop .45s var(--ease); }
@keyframes lynb-pop { 40% { transform: scale(1.35); } }

.lynb .lynb-chip {
	display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
	font: 600 13px/1.1 var(--ff); color: var(--royal); background: var(--blue-soft);
}
.lynb .lynb-chip .lynb-ico { width: 14px; height: 14px; }
.lynb .lynb-chip--area { color: var(--area); background: color-mix(in srgb, var(--area) 11%, #fff); }
.lynb .lynb-chip--open { color: #0f7a5a; background: #e3f6ee; }
.lynb .lynb-chip--repub { color: #8a4b00; background: #fff1dc; }
.lynb .lynb-chip--repub .lynb-ico { width: 14px; height: 14px; }

/* =====================================================================
   PÁGINA DE ARTÍCULO
   ===================================================================== */
.lynb .lynb-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 9999; pointer-events: none; }
.lynb .lynb-progress i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--blue), var(--orange)); transform-origin: left; transform: scaleX(0); }

.lynb .lynb-ahead { background: linear-gradient(180deg, #f3f6fd 0%, #f8faff 100%); border-bottom: 1px solid var(--line); padding: 34px 0 30px; }
.lynb .lynb-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: var(--muted); margin-bottom: 22px; }
.lynb .lynb-crumbs a { color: var(--blue-2); }
.lynb .lynb-crumbs a:hover { text-decoration: underline; }
.lynb .lynb-crumbs span { color: #a3abbf; }
.lynb .lynb-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.lynb .lynb-title { font: 800 clamp(27px, 3.3vw, 44px)/1.14 var(--ff-h); letter-spacing: -.022em; color: var(--ink); max-width: 30ch; text-wrap: balance; }
.lynb .lynb-authors { margin-top: 20px; font-size: 16.5px; line-height: 1.9; color: var(--ink); max-width: 90ch; }
.lynb .lynb-author { font-weight: 600; white-space: nowrap; }
.lynb .lynb-author sup { font-size: 11px; font-weight: 600; color: var(--blue-2); margin-left: 1px; }
.lynb .lynb-star { color: var(--orange) !important; }
.lynb .lynb-orcid { color: #a6ce39; display: inline-flex; vertical-align: -2px; margin-left: 2px; }
.lynb .lynb-orcid .lynb-ico { width: 16px; height: 16px; }
.lynb .lynb-mailto { color: var(--blue-2); display: inline-flex; vertical-align: -2px; }
.lynb .lynb-mailto .lynb-ico { width: 16px; height: 16px; }
.lynb .lynb-sep { color: var(--muted); }
.lynb .lynb-afils { margin-top: 10px; font-size: 14.5px; color: var(--muted); }
.lynb .lynb-afils summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; color: var(--blue-2); font-weight: 600; list-style: none; }
.lynb .lynb-afils summary::-webkit-details-marker { display: none; }
.lynb .lynb-afils summary .lynb-ico { transition: transform .25s; }
.lynb .lynb-afils[open] summary .lynb-ico { transform: rotate(180deg); }
.lynb .lynb-afils ol { margin: 12px 0 6px; display: grid; gap: 4px; }
.lynb .lynb-afils sup { color: var(--blue-2); font-weight: 700; }
.lynb .lynb-corresp a { color: var(--blue-2); }
.lynb .lynb-publine { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 18px; font-size: 14px; color: var(--muted); }
.lynb .lynb-publine li { display: inline-flex; align-items: center; gap: 7px; }
.lynb .lynb-publine a { color: var(--blue-2); }
.lynb .lynb-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.lynb .lynb-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr) 300px; gap: 48px; padding-top: 40px; padding-bottom: 80px; align-items: start; }
.lynb .lynb-left, .lynb .lynb-right { align-self: stretch; position: relative; min-width: 0; }
.lynb .lynb-sticky.is-js-fixed { position: fixed !important; }
.lynb .lynb-sticky.is-js-bottom { position: absolute !important; }
.lynb .lynb-sticky { position: sticky; top: calc(var(--lynb-off, 90px) + 18px); max-height: calc(100vh - var(--lynb-off, 90px) - 36px); overflow-y: auto; scrollbar-width: thin; padding-right: 4px; }
.lynb .lynb-aside-h { display: flex; align-items: center; gap: 8px; font: 700 12px/1.2 var(--ff); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }
.lynb .lynb-sticky .lynb-aside-h:not(:first-child) { margin-top: 26px; }

/* índice */
.lynb .lynb-toc__list { display: grid; gap: 2px; border-left: 2px solid var(--line); }
.lynb .lynb-toc__list ol { display: grid; gap: 1px; margin: 2px 0 4px; }
.lynb .lynb-toc a { display: block; padding: 6px 10px 6px 14px; margin-left: -2px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.35; color: #3a4460; transition: color .2s, border-color .2s, background-color .2s; }
.lynb .lynb-toc li.is-sub a { padding-left: 26px; font-size: 13.5px; color: var(--muted); }
.lynb .lynb-toc a span { color: #8d96ad; font-variant-numeric: tabular-nums; margin-right: 2px; }
.lynb .lynb-toc a:hover { color: var(--blue-2); }
.lynb .lynb-toc a.is-active { color: var(--blue-2); font-weight: 600; border-left-color: var(--blue-2); background: linear-gradient(90deg, #eef3ff, transparent); }
.lynb .lynb-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lynb .lynb-thumbs a { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--soft); }
.lynb .lynb-thumbs img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.lynb .lynb-thumbs a:hover img { transform: scale(1.06); }
.lynb .lynb-thumbs span { position: absolute; left: 6px; bottom: 6px; background: rgba(11, 22, 56, .78); color: #fff; font: 700 11px/1 var(--ff); padding: 4px 7px; border-radius: 6px; }
.lynb .lynb-tablist { display: grid; gap: 6px; }
.lynb .lynb-tablist a { display: block; font-size: 13.5px; line-height: 1.4; color: #3a4460; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line); background: #fff; }
.lynb .lynb-tablist a:hover { border-color: #b9c8f3; color: var(--blue-2); }
.lynb .lynb-tablist b { color: var(--blue-2); }
.lynb .lynb-toc-m { display: none; }

/* cuerpo */
.lynb .lynb-article { min-width: 0; max-width: 780px; }
.lynb .lynb-article > section, .lynb .lynb-body { margin-bottom: 44px; }
.lynb .lynb-article h2 { font: 700 clamp(21px, 1.9vw, 26px)/1.25 var(--ff-h); color: var(--ink); letter-spacing: -.012em; margin: 0 0 16px; }
.lynb .lynb-abstract { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue-2); border-radius: 16px; padding: 26px 28px 24px; }
.lynb .lynb-abstract p { font: 400 17.5px/1.75 var(--ff-read); color: var(--text); }
.lynb .lynb-abstract p + p { margin-top: 12px; }
.lynb .lynb-kw { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.lynb .lynb-kw span { font: 700 12px/1 var(--ff); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.lynb .lynb-kw a { font-size: 13.5px; padding: 6px 12px; border-radius: 999px; border: 1px solid #d5def5; color: var(--blue-2); background: #f6f8ff; }
.lynb .lynb-kw a:hover { background: var(--blue-soft); }
.lynb .lynb-points { background: #fffaf0; border: 1px solid #f5e1bd; border-radius: 16px; padding: 22px 26px; }
.lynb .lynb-points ul { display: grid; gap: 10px; }
.lynb .lynb-points li { display: flex; gap: 12px; font-size: 16px; line-height: 1.55; }
.lynb .lynb-points .lynb-ico { color: #c27a0c; margin-top: 3px; }

.lynb .lynb-body { font: 400 18px/1.78 var(--ff-read); color: var(--text); }
.lynb .lynb-body > * + * { margin-top: 1.05em; }
.lynb .lynb-body p { margin-bottom: 0; }
.lynb .lynb-body h2 { margin: 2.1em 0 .7em; padding-top: 4px; }
.lynb .lynb-body h3 { font: 700 19px/1.3 var(--ff-h); color: var(--ink); margin: 1.6em 0 .55em; }
.lynb .lynb-body h4 { font: 700 16.5px/1.35 var(--ff); color: var(--ink); margin: 1.4em 0 .4em; }
.lynb .lynb-body > h2:first-child { margin-top: 0; }
.lynb .lynb-secnum { color: var(--blue-2); margin-right: 2px; font-variant-numeric: tabular-nums; }
.lynb .lynb-body a { color: var(--blue-2); text-decoration: underline; text-decoration-color: #b8c8f5; text-underline-offset: 3px; }
.lynb .lynb-body a:hover { text-decoration-color: currentColor; }
.lynb .lynb-body ul, .lynb .lynb-body ol { padding-left: 1.4em; }
.lynb .lynb-body ul { list-style: disc; }
.lynb .lynb-body ol { list-style: decimal; }
.lynb .lynb-body li + li { margin-top: .35em; }
.lynb .lynb-body li::marker { content: normal; color: var(--blue-2); }
.lynb .lynb-body blockquote { border-left: 4px solid var(--orange); padding: 4px 0 4px 20px; font-style: italic; color: #3a4460; }
.lynb .lynb-body code { font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace; font-size: .86em; background: #f1f4fb; padding: .15em .4em; border-radius: 5px; }
.lynb .lynb-body pre { background: #0f1a3d; color: #e6ebff; border-radius: 12px; padding: 18px 20px; overflow-x: auto; font-size: 14.5px; line-height: 1.6; }
.lynb .lynb-body pre code { background: none; padding: 0; color: inherit; }
.lynb .lynb-cite { font-family: var(--ff); font-size: .82em; white-space: nowrap; color: var(--muted); }
.lynb .lynb-body .lynb-cite a, .lynb .lynb-body .lynb-xref { text-decoration: none; font-weight: 600; color: var(--blue-2); }
.lynb .lynb-body .lynb-cite a:hover, .lynb .lynb-body .lynb-xref:hover { text-decoration: underline; }

.lynb .lynb-body figure { margin: 2em 0; }
.lynb .lynb-fig { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; }
.lynb .lynb-fig img { margin: 0 auto; border-radius: 10px; cursor: zoom-in; width: auto; }
.lynb .lynb-body figcaption { font: 400 14.5px/1.6 var(--ff); color: #4a5470; margin-top: 12px; text-align: left; }
.lynb .lynb-body figcaption b { color: var(--ink); }
.lynb .lynb-tab figcaption { margin: 0 0 12px; }
.lynb .lynb-tab-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.lynb .lynb-body table { width: 100%; border-collapse: collapse; font: 400 14.5px/1.5 var(--ff); }
.lynb .lynb-body th, .lynb .lynb-body td { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.lynb .lynb-body thead th, .lynb .lynb-body table tr:first-child th { background: #f1f4fb; font-weight: 700; color: var(--ink); }
.lynb .lynb-body tbody tr:nth-child(even) td { background: #fafbfe; }
.lynb .lynb-body tr:last-child td { border-bottom: 0; }
.lynb .lynb-body .wp-block-table { overflow: visible; }
.lynb :target { animation: lynb-flash 1.6s ease-out; }
@keyframes lynb-flash { 0%, 30% { background-color: #fff3d6; } 100% { background-color: transparent; } }

.lynb .lynb-decl dl { display: grid; gap: 14px; }
.lynb .lynb-decl dl > div { padding: 14px 18px; border-radius: 12px; background: var(--soft); }
.lynb .lynb-decl dt { font: 700 14px/1.3 var(--ff); color: var(--ink); margin-bottom: 4px; }
.lynb .lynb-decl dd { font-size: 15.5px; line-height: 1.6; color: #3a4460; }

.lynb .lynb-refs ol { display: grid; gap: 4px; counter-reset: none; }
.lynb .lynb-refs li { display: grid; grid-template-columns: 34px 1fr; gap: 6px; padding: 8px 10px; border-radius: 10px; font-size: 15px; line-height: 1.6; color: #3a4460; }
.lynb .lynb-refnum { font: 700 13px/1.6 var(--ff); color: var(--blue-2); text-align: right; padding-right: 6px; }
.lynb .lynb-reftext { overflow-wrap: anywhere; }
.lynb .lynb-refs a { color: var(--blue-2); }
.lynb .lynb-refs li.is-hl { background: #fff3d6; }

.lynb .lynb-supp ul { display: grid; gap: 8px; }
.lynb .lynb-supp a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); font-weight: 500; }
.lynb .lynb-supp a span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lynb .lynb-supp a small { display: block; font-size: 12.5px; font-weight: 400; color: var(--muted); }
.lynb .lynb-supp a .lynb-ico { color: var(--blue-2); }
.lynb .lynb-supp a:hover { border-color: #b9c8f3; background: #f8faff; }

.lynb .lynb-howcite { background: var(--soft); border-radius: 16px; padding: 22px 24px; }
.lynb .lynb-howcite h2 { font-size: 18px; margin-bottom: 10px; }
.lynb .lynb-howcite > p:first-of-type { font: 400 16px/1.65 var(--ff-read); margin-bottom: 14px; overflow-wrap: anywhere; }
.lynb .lynb-license { display: flex; gap: 8px; align-items: flex-start; margin-top: 16px; font-size: 13.5px; color: var(--muted); }
.lynb .lynb-license .lynb-ico { color: #0f7a5a; margin-top: 2px; }

/* comentarios */
.lynb .lynb-notice { display: flex; gap: 10px; align-items: center; background: #e3f6ee; color: #0f6b4f; border-radius: 12px; padding: 12px 16px; margin-bottom: 18px; font-weight: 500; }
.lynb .lynb-clist { display: grid; gap: 18px; margin-bottom: 30px; }
.lynb .lynb-clist li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; }
.lynb .lynb-avatar { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, #4b7dff, #13308c); color: #fff; display: grid; place-items: center; font: 700 17px/1 var(--ff-h); }
.lynb .lynb-cmeta { font-size: 14px; color: var(--muted); margin-bottom: 4px; }
.lynb .lynb-cmeta strong { color: var(--ink); margin-right: 6px; }
.lynb .lynb-ctext { font-size: 16px; line-height: 1.65; }
.lynb .lynb-ctext p + p { margin-top: 8px; }
.lynb .lynb-empty-c { color: var(--muted); margin-bottom: 24px; }
.lynb .comment-respond { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 24px; }
.lynb .lynb-form-h { font: 700 18px/1.3 var(--ff-h); color: var(--ink); margin: 0 0 6px; }
.lynb .lynb-form-h small { display: block; }
.lynb .lynb-cnote { font-size: 13.5px; color: var(--muted); margin-bottom: 14px; }
.lynb .lynb-cform { display: flex; flex-wrap: wrap; gap: 0 14px; }
.lynb .lynb-cf { flex: 1 1 100%; margin: 0 0 14px; }
.lynb .lynb-cf.is-half { flex: 1 1 calc(50% - 7px); min-width: 200px; }
.lynb .lynb-cf label { display: block; font: 600 13.5px/1.3 var(--ff); color: var(--ink); margin-bottom: 6px; }
.lynb .lynb-cf input, .lynb .lynb-cf textarea { width: 100%; font: 400 15px/1.5 var(--ff); color: var(--ink); padding: 11px 13px; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; box-shadow: none; }
.lynb .lynb-cf input:focus, .lynb .lynb-cf textarea:focus { border-color: var(--blue); outline: none; box-shadow: 0 0 0 3px rgba(61, 110, 245, .15); }
.lynb .comment-form-cookies-consent { flex: 1 1 100%; display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: var(--muted); margin-bottom: 14px; }
.lynb .comment-form-cookies-consent input { margin-top: 3px; }
.lynb .form-submit { flex: 1 1 100%; margin: 0; }
.lynb .form-submit input[type=submit], .lynb .form-submit .lynb-btn { cursor: pointer; font: 600 15px/1.2 var(--ff); padding: 13px 22px; border-radius: 11px; border: 0; background: var(--blue-2); color: #fff; }
.lynb .comment-reply-title small a { font-size: 13px; color: var(--blue-2); margin-left: 8px; }

/* columna derecha */
.lynb .lynb-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px 18px 16px; }
.lynb .lynb-card + .lynb-card { margin-top: 16px; }
.lynb .lynb-ring { position: relative; width: 150px; height: 150px; margin: 4px auto 14px; }
.lynb .lynb-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.lynb .lynb-ring__bg { fill: none; stroke: #eef1f8; stroke-width: 12; }
.lynb .lynb-ring__seg { fill: none; stroke-width: 12; stroke-linecap: butt; transition: stroke-dasharray 1s var(--ease), stroke-dashoffset 1s var(--ease); }
.lynb .lynb-ring__c { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.lynb .lynb-ring__c b { font: 800 28px/1 var(--ff-h); color: var(--ink); font-variant-numeric: tabular-nums; }
.lynb .lynb-ring__c span { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.lynb .lynb-mlist { display: grid; gap: 2px; }
.lynb .lynb-mlist li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #3a4460; padding: 6px 2px; border-top: 1px solid #f0f2f8; }
.lynb .lynb-mlist li:first-child { border-top: 0; }
.lynb .lynb-mlist i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); flex: none; }
.lynb .lynb-mlist b { margin-left: auto; color: var(--ink); font-variant-numeric: tabular-nums; }
.lynb .lynb-info dl { display: grid; gap: 0; }
.lynb .lynb-info dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #f0f2f8; font-size: 14px; }
.lynb .lynb-info dl > div:first-child { border-top: 0; }
.lynb .lynb-info dt { color: var(--muted); }
.lynb .lynb-info dd { color: var(--ink); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.lynb .lynb-info dd a { color: var(--blue-2); }
.lynb .lynb-related ul { display: grid; gap: 4px; }
.lynb .lynb-related a { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; padding: 8px; margin: 0 -8px; border-radius: 12px; transition: background-color .2s; }
.lynb .lynb-related a:hover { background: var(--soft); }
.lynb .lynb-related__img { width: 56px; height: 56px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, #13308c, #6c3fd6); color: #fff; }
.lynb .lynb-related__img img { width: 100%; height: 100%; object-fit: cover; }
.lynb .lynb-related b { display: block; font-size: 14px; line-height: 1.35; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lynb .lynb-related small { display: block; font-size: 12.5px; color: var(--muted); margin-top: 3px; }

/* ventanas */
.lynb .lynb-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; background: rgba(8, 15, 40, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: lynb-fade .2s ease; }
.lynb .lynb-modal__box { position: relative; width: min(680px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 20px; padding: 28px; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5); animation: lynb-rise .3s var(--ease); }
.lynb .lynb-modal__box--sm { width: min(480px, 100%); }
.lynb .lynb-modal__box h3 { font: 700 21px/1.3 var(--ff-h); color: var(--ink); margin-bottom: 14px; padding-right: 40px; }
.lynb .lynb-modal__box > p { color: var(--muted); margin-bottom: 16px; }
.lynb .lynb-modal__x { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--soft); color: var(--ink); display: grid; place-items: center; padding: 0; }
.lynb .lynb-modal__x:hover { background: var(--blue-soft); }
@keyframes lynb-fade { from { opacity: 0; } }
@keyframes lynb-rise { from { opacity: 0; transform: translateY(16px) scale(.98); } }
.lynb .lynb-tabs { display: flex; gap: 4px; background: var(--soft); padding: 4px; border-radius: 12px; margin-bottom: 14px; }
.lynb .lynb-tabs button { flex: 1; border: 0; background: transparent; padding: 9px 12px; border-radius: 9px; font-weight: 600; font-size: 14px; color: var(--muted); }
.lynb .lynb-tabs button.is-on { background: #fff; color: var(--blue-2); box-shadow: 0 2px 6px rgba(19, 48, 140, .12); }
.lynb .lynb-citebox { border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; font: 400 15.5px/1.65 var(--ff-read); color: var(--ink); margin-bottom: 16px; overflow-wrap: anywhere; }
.lynb .lynb-citebox pre { margin: 0; font: 13px/1.6 ui-monospace, Menlo, Consolas, monospace; white-space: pre-wrap; }
.lynb .lynb-export { display: grid; gap: 10px; }
.lynb .lynb-export .lynb-btn { justify-content: flex-start; padding: 14px 16px; white-space: normal; text-align: left; }
.lynb .lynb-export .lynb-btn span { display: flex; flex-direction: column; }
.lynb .lynb-export small { font-weight: 400; color: var(--muted); font-size: 13px; }
.lynb .lynb-share-title { font-weight: 600; color: var(--ink) !important; line-height: 1.4; }
.lynb .lynb-share { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 16px; }
.lynb .lynb-share a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 4px; border-radius: 12px; border: 1px solid var(--line); font-size: 12.5px; font-weight: 600; color: var(--ink); transition: background-color .2s, transform .2s var(--ease); }
.lynb .lynb-share a:hover { background: var(--soft); transform: translateY(-2px); }
.lynb .lynb-share .lynb-ico { width: 24px; height: 24px; }
.lynb .lynb-share [data-net=linkedin] .lynb-ico { color: #0a66c2; }
.lynb .lynb-share [data-net=whatsapp] .lynb-ico { color: #25d366; }
.lynb .lynb-share [data-net=facebook] .lynb-ico { color: #1877f2; }
.lynb .lynb-share [data-net=email] .lynb-ico { color: var(--blue-2); }
.lynb .lynb-copyrow { display: flex; gap: 8px; }
.lynb .lynb-copyrow input { flex: 1; min-width: 0; font: 400 14px/1.4 var(--ff); color: var(--muted); padding: 10px 12px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--soft); }
.lynb .lynb-lightbox { position: fixed; inset: 0; z-index: 100001; background: rgba(6, 12, 32, .92); display: grid; place-items: center; padding: 40px 20px; animation: lynb-fade .2s ease; }
.lynb .lynb-lightbox figure { max-width: min(1200px, 100%); }
.lynb .lynb-lightbox img { max-height: 78vh; width: auto; margin: 0 auto; border-radius: 10px; background: #fff; }
.lynb .lynb-lightbox figcaption { color: #dfe5f7; font-size: 14.5px; line-height: 1.55; margin-top: 14px; max-width: 80ch; }
.lynb .lynb-lightbox .lynb-modal__x { background: rgba(255, 255, 255, .14); color: #fff; }
.lynb .lynb-toast { position: fixed; left: 50%; bottom: 26px; z-index: 100002; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: var(--navy); color: #fff; padding: 12px 18px; border-radius: 12px; font-size: 14.5px; font-weight: 500; transition: opacity .25s, transform .25s var(--ease); box-shadow: 0 16px 40px -16px rgba(0, 0, 0, .5); }
.lynb .lynb-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* =====================================================================
   PORTADA DE LA BIBLIOTECA
   ===================================================================== */
.lynb .lynb-hero { --hero: #0a1540; --hero-ov: .7; position: relative; overflow: hidden; isolation: isolate; color: #fff; padding: clamp(56px, 7vw, 92px) 0 clamp(48px, 6vw, 72px); background: var(--hero); }
.lynb .lynb-hero__bg { position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(60% 80% at 85% 10%, rgba(61, 110, 245, .55), transparent 60%),
		radial-gradient(45% 60% at 10% 100%, rgba(242, 169, 59, .2), transparent 60%),
		linear-gradient(160deg, color-mix(in srgb, var(--hero) 80%, #2a56e0) 0%, var(--hero) 60%, color-mix(in srgb, var(--hero) 85%, #000) 100%);
}
.lynb .lynb-hero.no-glow .lynb-hero__bg { background: var(--hero); }
.lynb .lynb-hero.no-glow .lynb-hero__bg::after { display: none; }
.lynb .lynb-hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.lynb .lynb-hero.has-img .lynb-hero__bg { background: var(--hero); }
.lynb .lynb-hero.has-img .lynb-hero__bg::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--hero); opacity: var(--hero-ov); }
.lynb .lynb-hero.has-img:not(.no-glow) .lynb-hero__bg::before { background: radial-gradient(60% 80% at 85% 10%, rgba(61, 110, 245, .5), transparent 60%), var(--hero); }
.lynb .lynb-hero__bg::after { z-index: 2; }
.lynb .lynb-hero__bg::after { content: ""; position: absolute; inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1.4px); background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 60%); mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
}
.lynb .lynb-hero__in { position: relative; }
.lynb .lynb-hero__eyebrow { display: inline-flex; align-items: center; gap: 12px; font: 700 13px/1 var(--ff); letter-spacing: .18em; text-transform: uppercase; color: var(--orange); }
.lynb .lynb-hero__eyebrow::before { content: ""; width: 36px; height: 3px; border-radius: 3px; background: var(--orange); }
.lynb .lynb-hero__title { font: 800 clamp(32px, 4.6vw, 60px)/1.06 var(--ff-h); letter-spacing: -.03em; color: #fff; margin: 18px 0 16px; max-width: 18ch; text-wrap: balance; }
.lynb .lynb-hero__text { font-size: clamp(16px, 1.3vw, 18.5px); line-height: 1.65; color: rgba(255, 255, 255, .8); max-width: 62ch; }
.lynb .lynb-search { display: flex; align-items: center; gap: 10px; max-width: 720px; margin-top: 30px; background: #fff; border-radius: 16px; padding: 8px 8px 8px 18px; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .6); }
.lynb .lynb-search > .lynb-ico { width: 22px; height: 22px; color: var(--muted); }
.lynb .lynb-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 400 16.5px/1.4 var(--ff); color: var(--ink); padding: 10px 4px; box-shadow: none; }
.lynb .lynb-search input::-webkit-search-cancel-button { cursor: pointer; }
.lynb .lynb-search .lynb-btn { padding: 13px 22px; border-radius: 11px; }
.lynb .lynb-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: 14px; color: rgba(255, 255, 255, .7); }
.lynb .lynb-topics button { border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .06); color: #fff; padding: 6px 13px; border-radius: 999px; font-size: 13.5px; transition: background-color .2s, border-color .2s; }
.lynb .lynb-topics button:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .5); }
.lynb .lynb-hero__stats { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14.5px; color: rgba(255, 255, 255, .72); }
.lynb .lynb-hero__stats li { display: inline-flex; align-items: center; gap: 7px; }
.lynb .lynb-hero__stats b { font: 800 20px/1 var(--ff-h); color: #fff; font-variant-numeric: tabular-nums; }
.lynb .lynb-hero__stats .lynb-ico { color: #6ee7b7; }

.lynb .lynb-lib-main { background: var(--soft); padding: 40px 0 80px; }
.lynb .lynb-toolbar { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; }
.lynb .lynb-filter { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.lynb .lynb-filter button { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--line); background: #fff; color: #3a4460; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; transition: all .2s; }
.lynb .lynb-filter button span { font-size: 12px; color: #8d96ad; font-weight: 600; font-variant-numeric: tabular-nums; }
.lynb .lynb-filter button:hover { border-color: #b9c8f3; color: var(--royal); }
.lynb .lynb-filter button.is-on { background: var(--royal); border-color: var(--royal); color: #fff; }
.lynb .lynb-filter button[data-area]:not([data-area=""]).is-on { background: var(--area); border-color: var(--area); }
.lynb .lynb-filter button.is-on span { color: rgba(255, 255, 255, .75); }
.lynb .lynb-tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lynb .lynb-saved-toggle { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--line); background: #fff; padding: 8px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; color: #3a4460; }
.lynb .lynb-saved-toggle span { background: var(--soft); border-radius: 999px; padding: 2px 8px; font-size: 12px; font-variant-numeric: tabular-nums; }
.lynb .lynb-saved-toggle[aria-pressed="true"] { border-color: var(--orange); color: #9a5f05; background: #fff8ec; }
.lynb .lynb-saved-toggle[aria-pressed="true"] .lynb-ico { fill: currentColor; }
.lynb .lynb-sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
.lynb .lynb-sort select { font: 600 14px/1.2 var(--ff); color: var(--ink); border: 1.5px solid var(--line); border-radius: 10px; padding: 9px 30px 9px 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6479' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; -webkit-appearance: none; appearance: none; height: auto; }
.lynb .lynb-count { margin: 22px 0 18px; font-size: 14.5px; color: var(--muted); }
.lynb .lynb-count span[data-count] { font-weight: 700; color: var(--ink); }

.lynb .lynb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lynb .lynb-acard { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s; animation: lynb-in .5s var(--ease) both; }
@keyframes lynb-in { from { opacity: 0; transform: translateY(12px); } }
.lynb .lynb-acard:hover { transform: translateY(-5px); border-color: #c9d6fa; box-shadow: 0 28px 50px -30px rgba(19, 48, 140, .4); }
.lynb .lynb-acard__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #10205a; }
.lynb .lynb-acard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.lynb .lynb-acard:hover .lynb-acard__media img { transform: scale(1.05); }
.lynb .lynb-ph { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255, 255, 255, .82);
	background: radial-gradient(70% 80% at 20% 10%, var(--area) 0%, transparent 65%), radial-gradient(60% 70% at 90% 100%, #6c3fd6 0%, transparent 60%), #10205a; }
.lynb .lynb-ph .lynb-ico { width: 46px; height: 46px; }
.lynb .lynb-acard__type { position: absolute; left: 12px; bottom: 12px; background: rgba(11, 22, 56, .78); color: #fff; font: 600 12px/1 var(--ff); padding: 7px 10px; border-radius: 8px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.lynb .lynb-acard__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 14px; }
.lynb .lynb-acard__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.lynb .lynb-acard__title { font: 700 18.5px/1.3 var(--ff-h); color: var(--ink); letter-spacing: -.01em; margin-bottom: 10px; }
.lynb .lynb-acard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lynb .lynb-acard__title a:hover { color: var(--blue-2); }
.lynb .lynb-acard__text { font-size: 14.5px; line-height: 1.6; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 12px; }
.lynb .lynb-acard__authors { font-size: 13px; color: #3a4460; margin-bottom: 14px; }
.lynb .lynb-acard__foot { display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 12px; border-top: 1px solid #eef1f8; }
.lynb .lynb-acard__sp { flex: 1; }
.lynb .lynb-pill { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid transparent; border-radius: 999px; background: transparent; font: 600 13.5px/1 var(--ff); color: #4a5470; font-variant-numeric: tabular-nums; transition: background-color .2s, color .2s; }
.lynb .lynb-pill .lynb-ico { width: 17px; height: 17px; }
.lynb a.lynb-pill:hover, .lynb button.lynb-pill:hover { background: var(--soft); color: var(--royal); }
.lynb .lynb-pill--static { cursor: default; }
.lynb .lynb-pill--icon { padding: 7px; }
.lynb .lynb-noresults { text-align: center; padding: 60px 20px; background: #fff; border: 1.5px dashed #ccd7f2; border-radius: 20px; }
.lynb .lynb-noresults > .lynb-ico { width: 40px; height: 40px; color: var(--blue); margin-bottom: 10px; }
.lynb .lynb-noresults h3 { font: 700 20px/1.3 var(--ff-h); color: var(--ink); margin-bottom: 6px; }
.lynb .lynb-noresults p { color: var(--muted); margin-bottom: 18px; }
.lynb .lynb-more { text-align: center; margin-top: 36px; }

.lynb .lynb-areas { padding: 72px 0; background: #fff; }
.lynb .lynb-areas__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.lynb .lynb-area { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; text-align: left; border: 1px solid var(--line); background: #fff; border-radius: 16px; padding: 16px 18px; transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.lynb .lynb-area:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--area) 40%, #fff); box-shadow: 0 18px 36px -24px rgba(19, 48, 140, .4); }
.lynb .lynb-area__ico { grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: var(--area); background: color-mix(in srgb, var(--area) 12%, #fff); }
.lynb .lynb-area__ico .lynb-ico { width: 24px; height: 24px; }
.lynb .lynb-area__name { font: 700 15.5px/1.3 var(--ff-h); color: var(--ink); }
.lynb .lynb-area__n { font-size: 13px; color: var(--muted); }

.lynb .lynb-about { background: var(--soft); padding: 80px 0; }
.lynb .lynb-about__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: center; }
.lynb .lynb-about__text > p { font-size: 17px; line-height: 1.7; color: var(--muted); margin: 16px 0 26px; max-width: 60ch; }
.lynb .lynb-about__list { display: grid; gap: 14px; }
.lynb .lynb-about__list li { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; color: var(--muted); }
.lynb .lynb-about__list .lynb-ico { width: 40px; height: 40px; padding: 10px; border-radius: 12px; background: #fff; color: var(--blue-2); border: 1px solid var(--line); }
.lynb .lynb-about__list b { display: block; color: var(--ink); font-size: 15.5px; }
.lynb .lynb-cta { position: relative; overflow: hidden; border-radius: 24px; padding: clamp(28px, 3.5vw, 44px); color: #fff; background: radial-gradient(90% 90% at 100% 0%, #2d52b8 0%, transparent 60%), linear-gradient(160deg, #172b70, #0e1a45); box-shadow: 0 40px 70px -40px rgba(14, 26, 69, .8); }
.lynb .lynb-cta h2 { font: 800 clamp(24px, 2.4vw, 32px)/1.15 var(--ff-h); color: #fff; margin-bottom: 12px; }
.lynb .lynb-cta p { color: rgba(255, 255, 255, .8); font-size: 16px; line-height: 1.65; margin-bottom: 24px; }

.lynb-extra { max-width: 1280px; margin: 0 auto; padding: 40px 28px; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1200px) {
	.lynb .lynb-layout { grid-template-columns: 210px minmax(0, 1fr); }
	.lynb .lynb-right { grid-column: 1 / -1; }
	.lynb .lynb-right .lynb-sticky { position: static; max-height: none; overflow: visible; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.lynb .lynb-right .lynb-card + .lynb-card { margin-top: 0; }
	.lynb .lynb-areas__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.lynb .lynb-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 24px; }
	.lynb .lynb-left { display: none; }
	.lynb .lynb-toc-m { display: block; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
	.lynb .lynb-toc-m summary { display: flex; align-items: center; gap: 10px; padding: 14px 16px; font-weight: 700; color: var(--ink); cursor: pointer; list-style: none; }
	.lynb .lynb-toc-m summary::-webkit-details-marker { display: none; }
	.lynb .lynb-toc-m summary .lynb-ico:last-child { margin-left: auto; transition: transform .25s; }
	.lynb .lynb-toc-m[open] summary .lynb-ico:last-child { transform: rotate(180deg); }
	.lynb .lynb-toc-m .lynb-toc { padding: 0 16px 14px; }
	.lynb .lynb-article { max-width: none; }
	.lynb .lynb-right .lynb-sticky { grid-template-columns: 1fr 1fr; }
	.lynb .lynb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lynb .lynb-about__grid { grid-template-columns: 1fr; }
	.lynb .lynb-areas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.lynb .lynb-wrap { padding: 0 16px; }
	.lynb .lynb-ahead { padding: 24px 0 22px; }
	.lynb .lynb-authors { font-size: 15px; line-height: 1.8; }
	.lynb .lynb-author { white-space: normal; }
	.lynb .lynb-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.lynb .lynb-actions .lynb-btn { padding: 11px 10px; }
	.lynb .lynb-actions .lynb-btn--primary { grid-column: 1 / -1; }
	.lynb .lynb-abstract { padding: 20px 18px; }
	.lynb .lynb-body { font-size: 17px; }
	.lynb .lynb-right .lynb-sticky { grid-template-columns: 1fr; }
	.lynb .lynb-refs li { grid-template-columns: 28px 1fr; padding: 8px 4px; font-size: 14.5px; }
	.lynb .lynb-share { grid-template-columns: repeat(3, 1fr); }
	.lynb .lynb-modal__box { padding: 22px 18px; border-radius: 16px; }
	.lynb .lynb-search { padding: 6px 6px 6px 14px; }
	.lynb .lynb-search .lynb-btn { padding: 12px 14px; }
	.lynb .lynb-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 2px 16px; width: calc(100% + 32px); }
	.lynb .lynb-filter::-webkit-scrollbar { display: none; }
	.lynb .lynb-filter button { flex: none; }
	.lynb .lynb-tools { width: 100%; justify-content: space-between; }
	.lynb .lynb-grid { grid-template-columns: minmax(0, 1fr); }
	.lynb .lynb-areas__grid { grid-template-columns: 1fr; }
	.lynb .lynb-cf.is-half { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.lynb *, .lynb *::before, .lynb *::after { animation: none !important; transition: none !important; }
}
@media print {
	.lynb .lynb-left, .lynb .lynb-right, .lynb .lynb-actions, .lynb .lynb-comments, .lynb .lynb-progress, .lynb .lynb-toc-m { display: none !important; }
	.lynb .lynb-layout { display: block; }
}

/* ---------- Republicación ---------- */
.lynb .lynb-repub { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px; max-width: 900px; padding: 16px 18px; background: #fff; border: 1px solid #f3d6a6; border-left: 4px solid var(--orange, #f2a93b); border-radius: 14px; box-shadow: 0 10px 30px -24px rgba(13, 21, 48, .5); }
.lynb .lynb-repub__ic { flex: 0 0 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #fff1dc; color: #b86a00; }
.lynb .lynb-repub p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); }
.lynb .lynb-repub .lynb-repub__h { font: 700 15px/1.4 var(--ff); color: var(--ink); margin-bottom: 4px; }
.lynb .lynb-repub__h span { font-weight: 500; color: var(--muted); }
.lynb .lynb-repub__go { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 700; font-size: 14px; color: var(--blue-2); text-decoration: none; }
.lynb .lynb-repub__go:hover { text-decoration: underline; }
.lynb .lynb-repub__go .lynb-ico { width: 15px; height: 15px; }
.lynb .lynb-howcite__note { font-size: 14px; color: var(--muted); margin: -2px 0 6px; }
.lynb .lynb-body h4 .lynb-secnum { color: var(--blue-2); }
@media (max-width: 640px) { .lynb .lynb-repub { padding: 14px; gap: 10px; } .lynb .lynb-repub__ic { display: none; } }

/* =====================================================================
   v1.4 · IDENTIDAD LYN (igual que la portada principal)
   Fuentes y colores de la marca, colores planos: sin manchas de degradado,
   sin brillos en los botones y sin etiquetas en mayúsculas espaciadas.
   ===================================================================== */
.lynb {
	--royal: #003187;
	--ink: #003187;
	--text: #353740;
	--blue: #003187;
	--blue-2: #003187;
	--blue-soft: #e8edf6;
	--orange: #ffa500;
	--muted: #5f626d;
	--soft: #f5f6f8;
	--line: #e1e3e8;
	--ff: 'HK Grotesk', 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
	--ff-h: 'MADE GoodTime Grotesk', 'GoodTime Grotesk', 'Sora', 'Hanken Grotesk', sans-serif;
	--ff-read: var(--ff);
	--ease-out: cubic-bezier(.23, 1, .32, 1);
}
.lynb .lynb-h2, .lynb .lynb-title, .lynb .lynb-hero__title, .lynb .lynb-cta h2 { letter-spacing: -.03em; }
.lynb .lynb-body { font-size: 18px; line-height: 1.75; }

/* ---------- botones, chips y etiquetas ---------- */
.lynb .lynb-btn { border-radius: 8px; }
.lynb .lynb-btn--primary { background: var(--royal); border-color: var(--royal); box-shadow: none; }
.lynb .lynb-btn--primary:hover { background: #002463; border-color: #002463; }
.lynb .lynb-btn--orange { background: var(--orange); border-color: var(--orange); color: #002463; box-shadow: none; }
.lynb .lynb-btn--orange:hover { background: #ffb52e; border-color: #ffb52e; color: #002463; }
.lynb .lynb-chip, .lynb .lynb-kw a { border-radius: 4px; }
.lynb .lynb-filter button, .lynb .lynb-saved-toggle, .lynb .lynb-sort select { border-radius: 8px; }
.lynb .lynb-aside-h, .lynb .lynb-kw span { font: 600 13px/1.2 var(--ff); letter-spacing: .01em; text-transform: none; }
.lynb .lynb-progress i { background: var(--orange); }
.lynb .lynb-toc a.is-active { background: none; }
.lynb .lynb-abstract { border-top-color: var(--royal); border-radius: 14px; }
.lynb .lynb-points, .lynb .lynb-howcite, .lynb .lynb-card, .lynb .lynb-fig, .lynb .comment-respond { border-radius: 14px; }

/* ---------- colores planos donde había degradados ---------- */
.lynb .lynb-ph, .lynb .lynb-related__img, .lynb .lynb-avatar { background: var(--royal); }
.lynb .lynb-acard__type { background: rgba(0, 36, 99, .88); -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: 4px; }
.lynb .lynb-cta { background: #0b1638; box-shadow: none; border-radius: 14px; }

/* ---------- tarjetas: borde fino, movimiento sutil ---------- */
.lynb .lynb-acard { border-radius: 14px; transition: transform .35s var(--ease-out), border-color .25s ease; }
.lynb .lynb-acard:hover { transform: translateY(-3px); box-shadow: none; border-color: color-mix(in srgb, var(--royal) 40%, #fff); }
.lynb .lynb-area { border-radius: 14px; }
.lynb .lynb-area:hover { box-shadow: none; }
.lynb .lynb-area__ico { border-radius: 10px; }
.lynb .lynb-noresults { border-radius: 14px; }

/* ---------- portada de la biblioteca ---------- */
.lynb .lynb-hero__bg { background: var(--hero); }
.lynb .lynb-hero__bg::after { content: none; }
.lynb .lynb-hero.has-img:not(.no-glow) .lynb-hero__bg::before { background: var(--hero); }
.lynb .lynb-hero__mol { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; display: block; }
.lynb .lynb-hero__eyebrow { font: 600 15px/1.2 var(--ff); letter-spacing: .01em; text-transform: none; }
.lynb .lynb-hero__eyebrow::before { content: none; }
.lynb .lynb-hero__title { font-weight: 700; }
.lynb .lynb-search { border-radius: 12px; box-shadow: none; }
.lynb .lynb-topics button { border-radius: 4px; }
.lynb .lynb-hero__stats b { font-weight: 700; }
.lynb .lynb-hero__stats .lynb-ico { color: var(--orange); }

/* lo más valorado, a la derecha del buscador */
.lynb .lynb-hero__top { margin-top: 36px; padding: 20px 22px 6px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.lynb .lynb-hero__top-h { display: flex; align-items: center; gap: 8px; font: 700 15px/1.2 var(--ff); color: #fff; margin-bottom: 6px; }
.lynb .lynb-hero__top-h .lynb-ico { color: var(--orange); fill: currentColor; }
.lynb .lynb-hero__top li { animation: lynb-in .6s var(--ease-out) calc(.15s + var(--i, 0) * 80ms) both; }
.lynb .lynb-hero__top li a { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.lynb .lynb-hero__top li:first-child a { border-top: 0; }
.lynb .lynb-hero__top-n { font: 700 26px/1 var(--ff-h); color: var(--orange); font-variant-numeric: tabular-nums; }
.lynb .lynb-hero__top-t b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 600 15.5px/1.38 var(--ff); color: #fff; transition: color .2s ease; }
.lynb .lynb-hero__top-t small { display: block; margin-top: 4px; font-size: 13px; color: rgba(255, 255, 255, .6); }
@media (hover: hover) and (pointer: fine) {
	.lynb .lynb-hero__top li a:hover b { color: var(--orange); }
}
@media (min-width: 1024px) {
	.lynb .lynb-hero__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(36px, 4.5vw, 72px); align-items: center; }
	.lynb .lynb-hero__top { margin-top: 0; }
}
