/* Prototipo local de Primo Físico. No modifica los estilos compartidos del sitio académico. */
html,body{overscroll-behavior-y:none}
/* En escritorio la escala base queda al nivel del primer aumento del navegador;
   el móvil conserva la escala original para no alterar su composición. */
@media(min-width:761px){html{font-size:110%}}
#top{scroll-margin-top:64px}
.pf-about-trigger{--pf-about-glow:rgba(217,70,239,.84);--pf-about-sheen:rgba(255,255,255,.92)}
html[data-theme="light"] .pf-about-trigger{--pf-about-glow:rgba(124,58,237,.72);--pf-about-sheen:rgba(124,58,237,.42)}
.brand{display:inline-flex;align-items:center;gap:8px}
.pf-brand-mark{display:grid;place-items:center;width:30px;height:30px;padding:1px;border-radius:10px;background:linear-gradient(135deg,var(--v1),var(--v2),var(--v3));box-shadow:0 10px 22px -12px rgba(217,70,239,.85);transform:rotate(7deg)}
.pf-brand-mark{position:relative}
.pf-brand-mark::before{content:"";position:absolute;inset:-40%;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 42%,var(--pf-about-sheen) 50%,transparent 58%);transform:translateX(-120%) rotate(12deg)}
.pf-brand-logo{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block}
.pf-about-trigger.pf-about-pulse .pf-brand-mark{animation:pf-about-mark-glow .88s ease-out both}
.pf-about-trigger.pf-about-pulse .pf-brand-mark::before{animation:pf-about-sheen .78s ease-out both}
@keyframes pf-about-mark-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}35%{filter:drop-shadow(0 0 16px var(--pf-about-glow))}65%{filter:drop-shadow(0 0 8px var(--pf-about-glow))}}
@keyframes pf-about-sheen{0%{opacity:0;transform:translateX(-120%) rotate(12deg)}28%{opacity:1}100%{opacity:0;transform:translateX(120%) rotate(12deg)}}
.nav-links .nav-search-toggle{position:relative;display:inline-block;padding:4px 3px;border:0;background:transparent;color:var(--muted);font:500 .9rem/normal system-ui,sans-serif;letter-spacing:.2px;cursor:pointer;transition:color .25s ease,transform .12s ease,text-shadow .25s ease}
.nav-links .nav-search-toggle::after{content:"";position:absolute;left:2px;right:2px;bottom:-3px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--v1),var(--v2),var(--v3));transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.65,0,.35,1)}
.nav-links .nav-search-toggle:hover,.nav-links .nav-search-toggle[aria-expanded="true"]{color:#fff;text-shadow:0 0 18px rgba(217,70,239,.75),0 0 8px rgba(124,58,237,.55),0 0 2px rgba(255,255,255,.5);transform:translateY(-1px)}
.nav-links .nav-search-toggle:hover::after,.nav-links .nav-search-toggle[aria-expanded="true"]::after{transform:scaleX(1)}
.nav-links .nav-search-toggle:focus-visible{outline:3px solid rgba(217,70,239,.28);outline-offset:4px;border-radius:7px}
html[data-theme="light"] .nav-links .nav-search-toggle:hover,html[data-theme="light"] .nav-links .nav-search-toggle[aria-expanded="true"]{color:var(--v1);text-shadow:0 0 16px rgba(217,70,239,.45)}
@media(max-width:760px){
  .nav-links .nav-search-toggle{width:100%;padding:9px 12px;border-radius:11px;text-align:left;font-size:.9rem}
  .nav-links .nav-search-toggle::after{left:12px;right:12px;bottom:5px}
  .nav-links .nav-search-toggle:active{background:linear-gradient(90deg,rgba(124,58,237,.22),rgba(217,70,239,.16));color:#fff}
  html[data-theme="light"] .nav-links .nav-search-toggle:active{background:linear-gradient(90deg,rgba(124,58,237,.14),rgba(217,70,239,.12));color:var(--v1)}
}
.pf-hero{min-height:min(820px,88vh);display:flex;align-items:center;position:relative;overflow:hidden}
#top.pf-hero.reveal{opacity:1;transform:none}
.pf-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:clamp(28px,7vw,90px);align-items:center;width:100%}
.pf-hero-copy{max-width:760px;position:relative;z-index:1}
.pf-hero h1{font-size:clamp(3.1rem,10vw,6.2rem);margin:5px 0 16px;background:linear-gradient(100deg,#fff 12%,var(--v2) 52%,var(--v3) 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pf-tagline{max-width:23ch;color:var(--txt);font:600 clamp(1.25rem,3vw,1.9rem)/1.25 Georgia,"Times New Roman",serif}
.pf-lead{max-width:60ch;margin-top:20px;color:var(--muted);font-size:clamp(1rem,2vw,1.16rem)}
.pf-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pf-hero-orbit{justify-self:center;position:relative;width:min(330px,46vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 42% 36%,rgba(217,70,239,.22),transparent 30%),radial-gradient(circle,rgba(124,58,237,.16),rgba(18,10,36,.08) 62%,transparent 63%);filter:drop-shadow(0 24px 46px rgba(124,58,237,.28));cursor:pointer;text-decoration:none}
.pf-hero-orbit:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.pf-hero-orbit.pf-about-pulse .pf-orbit-core{animation:pf-about-core-glow .88s ease-out both}
@keyframes pf-about-core-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}35%{filter:drop-shadow(0 0 24px var(--pf-about-glow))}65%{filter:drop-shadow(0 0 10px var(--pf-about-glow))}}
.pf-hero-orbit::before{content:"";position:absolute;inset:13%;border:1px solid rgba(168,120,255,.25);border-radius:50%;transform:rotate(-22deg) scaleX(.68)}
.pf-hero-orbit::after{content:"";position:absolute;inset:0;border:1px solid rgba(217,70,239,.2);border-radius:50%;transform:rotate(22deg) scaleY(.68)}
.pf-orbit-core{display:grid;place-items:center;width:148px;height:148px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--v1),var(--v2),var(--v3));box-shadow:0 0 0 12px rgba(217,70,239,.06),0 20px 42px -14px rgba(217,70,239,.8);transform:rotate(7deg)}
.pf-orbit-core img{display:block;width:100%;height:100%;object-fit:contain}
.pf-orbit-ring{position:absolute;border:1px solid rgba(168,120,255,.32);border-radius:50%;animation:pf-orbit 14s linear infinite}
.pf-orbit-ring-a{inset:18%;transform:rotate(28deg) scaleX(.52)}
.pf-orbit-ring-b{inset:4%;transform:rotate(-35deg) scaleY(.55);animation-duration:19s;animation-direction:reverse;border-color:rgba(217,70,239,.24)}
.pf-orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--v2);box-shadow:0 0 16px 4px rgba(217,70,239,.7)}
.pf-orbit-dot-a{top:16%;right:24%}.pf-orbit-dot-b{bottom:18%;left:18%;background:var(--v3);box-shadow:0 0 16px 4px rgba(79,70,229,.72)}
@keyframes pf-orbit{to{transform:rotate(388deg) scaleX(.52)}}
.pf-orbit-ring-b{animation-name:pf-orbit-b}
@keyframes pf-orbit-b{to{transform:rotate(-395deg) scaleY(.55)}}
.pf-content{padding-top:clamp(62px,8vw,98px)}
.pf-filters{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 40px;padding:6px;border:1px solid var(--panel-brd);border-radius:999px;background:rgba(255,255,255,.025);width:max-content;max-width:100%}
.pf-filter{border:1px solid transparent;border-radius:999px;padding:9px 18px;background:transparent;color:var(--muted);font:600 .86rem system-ui,sans-serif;cursor:pointer;transition:.2s}
.pf-filter:hover{color:var(--txt);border-color:var(--panel-brd);background:rgba(124,58,237,.08)}
.pf-filter.active{color:#fff;border-color:transparent;background:linear-gradient(100deg,var(--v1),var(--v2));box-shadow:0 8px 22px -12px rgba(217,70,239,.72)}
html[data-theme="light"] .pf-filter.active{color:#fff}
.pf-library{margin-top:46px}
.pf-library>.subhead{margin-bottom:18px}
.pf-unified{display:grid;gap:15px}
.pf-unified>.post{display:flex;flex-direction:column;margin:0}
.pf-unified>.post h3{font-size:clamp(1.12rem,2.4vw,1.4rem)}
.pf-unified>.docitem{margin:0}
.pf-unified>.pf-item[hidden]{display:none!important}
.pf-kind{display:block;margin-top:7px;color:var(--accent);font-size:.67rem;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.pf-section-heading{display:flex;align-items:center;gap:clamp(12px,2vw,20px);margin-bottom:8px}
.pf-section-heading .section-title{margin-bottom:0}
.pf-section-mark{display:block;flex:0 0 auto;width:clamp(46px,6.5vw,76px);height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(217,70,239,.34))}
html[data-theme="light"] .pf-section-mark{filter:drop-shadow(0 8px 18px rgba(124,58,237,.25))}
@media(max-width:820px){
  .pf-hero{min-height:auto;padding-top:74px}
  .pf-hero-inner{grid-template-columns:1fr;gap:36px;justify-items:center}
  .pf-hero-orbit{width:min(280px,68vw);grid-row:1;justify-self:center;margin-left:0}
  .pf-hero-copy{grid-row:2;width:100%;margin-inline:auto;text-align:center;display:flex;flex-direction:column}
  .pf-tagline,.pf-lead{margin-left:auto;margin-right:auto}
  .pf-hero-copy .hero-cta{justify-content:center;order:4}
  .pf-hero-copy .pf-lead{order:5}
}
@media(max-width:560px){
  .pf-hero h1{font-size:clamp(2.9rem,16vw,4.4rem)}
  .pf-tagline{max-width:25ch;font-size:1.25rem}
  .pf-filters{width:100%;border-radius:18px}.pf-filter{flex:1 1 calc(50% - 9px);padding-inline:10px}
  .pf-section-heading{gap:10px}.pf-section-mark{width:48px}
}
@media(max-width:640px){
  /* Adelantar el copy para que la descripción siga dentro del primer
     encuadre después de la barra del navegador. */
  .pf-hero{padding-top:34px;padding-bottom:38px}
  .pf-hero-inner{gap:18px}
  .pf-hero-orbit{width:min(228px,58vw)}
  .pf-hero-copy{margin-top:-8px}
  .pf-hero h1{margin-top:0;margin-bottom:10px}
  .pf-tagline{font-size:clamp(1.12rem,5.5vw,1.28rem);line-height:1.2}
  .pf-lead{margin-top:12px;font-size:.96rem;line-height:1.42}
}
@media(max-width:420px){
  /* Este corte depende solo del ancho: la barra del navegador no lo activa ni
     lo desactiva durante el desplazamiento. */
  .pf-hero{padding-top:30px;padding-bottom:34px}
  .pf-hero-inner{gap:20px}
  .pf-hero-orbit{width:min(200px,52vw)}
  .pf-hero h1{font-size:clamp(2.5rem,13vw,3.5rem);margin-bottom:10px}
  .pf-tagline{font-size:1.1rem}
  .pf-lead{font-size:.94rem;line-height:1.45;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.pf-orbit-ring,.pf-search-drawer:not([hidden]),.pf-about-trigger.pf-about-pulse .pf-brand-mark,.pf-about-trigger.pf-about-pulse .pf-orbit-core{animation:none}.pf-brand-mark::before{display:none}}

/* ---- prototype information architecture ---- */
#explorar,#posts,#material{scroll-margin-top:86px}
.pf-paths,.pf-posts,.pf-material{padding-top:clamp(54px,7vw,88px)}
.pf-paths .section-lead,.pf-posts>.section-lead,.pf-material>.section-lead{max-width:62ch}
.pf-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.pf-route-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:230px;padding:clamp(24px,4vw,38px);overflow:hidden;border:1px solid var(--panel-brd);border-radius:var(--radius);background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(217,70,239,.09) 58%,rgba(79,70,229,.12));color:inherit;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pf-route-card::after{content:"";position:absolute;left:0;right:30%;top:0;height:2px;background:linear-gradient(90deg,var(--v1),var(--v2),var(--v3));opacity:.9}
.pf-route-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 50px -22px rgba(217,70,239,.6)}
.pf-route-card-alt{background:linear-gradient(135deg,rgba(79,70,229,.16),rgba(124,58,237,.08) 58%,rgba(217,70,239,.13))}
.pf-route-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(217,70,239,.4);border-radius:12px;background:rgba(10,7,19,.24);color:var(--accent);font-size:1.3rem}
.pf-route-label{font:700 clamp(1.25rem,2.8vw,1.65rem)/1.15 Georgia,"Times New Roman",serif;color:var(--txt)}
.pf-route-copy{max-width:43ch;color:var(--muted);line-height:1.58}
.pf-route-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--accent);font-weight:700}
.pf-route-link span:last-of-type{transition:transform .2s ease}
.pf-route-card:hover .pf-route-link span:last-of-type{transform:translateX(4px)}
html[data-theme="light"] .pf-route-card{background:linear-gradient(135deg,rgba(124,58,237,.09),rgba(255,255,255,.88) 58%,rgba(79,70,229,.08));box-shadow:0 14px 38px -24px rgba(79,70,229,.25)}
html[data-theme="light"] .pf-route-card-alt{background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(255,255,255,.9) 58%,rgba(217,70,239,.08))}
html[data-theme="light"] .pf-route-icon{background:rgba(255,255,255,.55)}
.pf-content-band{margin-top:34px}
.pf-content-band+.pf-content-band{margin-top:58px}
.pf-content-band>.subhead{margin-bottom:18px}
.pf-post-cta{display:flex;justify-content:center;margin-top:24px}
.pf-post-more{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:min(100%,280px);padding:13px 22px;border:1px solid rgba(217,70,239,.62);border-radius:999px;background:linear-gradient(100deg,var(--v1),var(--v2),var(--v3));color:#fff;text-decoration:none;font:800 .86rem/1.2 system-ui,sans-serif;box-shadow:0 16px 34px -17px rgba(217,70,239,.98);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.pf-post-more::before{content:"";position:absolute;top:-45%;bottom:-45%;left:-28%;width:24%;background:rgba(255,255,255,.52);filter:blur(10px);transform:skewX(-18deg);transition:left .55s ease}
.pf-post-more:hover{transform:translateY(-3px);box-shadow:0 20px 40px -16px rgba(217,70,239,1);filter:saturate(1.08)}
.pf-post-more:hover::before{left:112%}
.pf-post-more-mark,.pf-post-more-arrow{position:relative;line-height:1;transition:transform .22s ease,text-shadow .22s ease}
.pf-post-more-mark{font-size:1.08rem;color:#ffd9ff;text-shadow:0 0 9px rgba(255,217,255,.9)}
.pf-post-more-arrow{font-size:1.08rem}
.pf-post-more:hover .pf-post-more-arrow{transform:translateX(4px);text-shadow:0 0 8px rgba(255,255,255,.82)}
html[data-theme="light"] .pf-post-more{border-color:rgba(124,58,237,.42);box-shadow:0 16px 34px -17px rgba(79,70,229,.55)}
html[data-theme="light"] .pf-post-more::before{background:rgba(255,255,255,.7)}
html[data-theme="light"] .pf-post-more:hover{box-shadow:0 20px 40px -16px rgba(79,70,229,.7)}
.pf-post-grid{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;touch-action:pan-y;cursor:grab;padding:4px 2px 14px;margin-inline:-2px}
.pf-post-grid::-webkit-scrollbar{display:none}
.pf-post-grid>.pf-post-card{flex:0 0 100%;scroll-snap-align:start}
.pf-post-card{display:flex;flex-direction:column;min-width:0}
.pf-post-card.post-feat{position:relative}
.pf-featured-star{position:absolute;top:14px;right:16px;z-index:1;display:grid;place-items:center;width:34px;height:34px;color:transparent;font:700 1.7rem/1 Georgia,"Times New Roman",serif;background:linear-gradient(135deg,var(--v2),#f5b8ff 52%,var(--v3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 9px rgba(217,70,239,.78));pointer-events:none;transform:rotate(8deg)}
.pf-post-card.post-feat .pmeta,.pf-post-card.post-feat h3{padding-right:44px}
.pf-post-card.post-feat .pmeta{padding-right:0}
.pf-post-card h3{font-size:clamp(1.14rem,2.2vw,1.42rem)}
.pf-post-card>p{color:var(--muted)}
.pf-post-card .pmeta{gap:5px}
.pf-post-card .pmeta .pcat{font-size:.58rem;letter-spacing:.35px;padding:2px 7px;white-space:nowrap}
.pf-audience-badge{color:var(--accent)!important;border-color:rgba(217,70,239,.34)!important;background:rgba(217,70,239,.08)!important}
html[data-theme="light"] .pf-audience-badge{color:var(--v1)!important;border-color:rgba(124,58,237,.25)!important;background:rgba(124,58,237,.07)!important}
.pf-post-card:not(.post-feat)>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#bf .pf-post-card>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.pf-post-card .preview-actions{display:flex;flex-wrap:wrap;align-items:center;width:100%;min-width:0;margin-top:auto}
.pf-post-card .preview-actions .pdf-links{display:block;width:100%;min-width:0}
.pf-post-card .preview-actions .pdf-links .pdf-tech{width:100%;min-width:0}
#bt .pf-post-card .preview-actions{flex-wrap:wrap}
#bt .preview-actions:has(.pdf-tech){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#bf .preview-actions:has(.pdf-tech) .plink,
#bf .preview-actions:has(.pdf-tech) .pdf-tech,
#bt .preview-actions:has(.pdf-tech) .plink,
#bt .preview-actions:has(.pdf-tech) .pdf-tech{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:46px;height:46px;margin-top:0;padding:7px 10px;line-height:1.15;font-size:.75rem;font-weight:700;text-align:center}
#bf .preview-actions:has(.pdf-tech) .plink,
#bf .preview-actions:has(.pdf-tech) .pdf-tech,
#bt .preview-actions:has(.pdf-tech) .plink,
#bt .preview-actions:has(.pdf-tech) .pdf-tech{flex:1 1 0}
#bt .preview-actions:has(.pdf-tech) .reaction-pair,
#bt .preview-actions:has(.pdf-tech) .share-wrap{justify-self:stretch;width:100%;min-width:0}
#bt .preview-actions:has(.pdf-tech) .share-wrap>.action-btn{width:100%;box-sizing:border-box}
.pf-recent-band{padding-bottom:8px}
.pf-about{scroll-margin-top:86px;padding-top:clamp(62px,8vw,98px);padding-bottom:clamp(72px,9vw,112px)}
.pf-about .section-lead{max-width:62ch}
.pf-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.pf-about-card{position:relative;min-width:0;padding:clamp(22px,3vw,32px);border:1px solid var(--panel-brd);border-radius:var(--radius);background:linear-gradient(145deg,rgba(124,58,237,.13),rgba(255,255,255,.035) 58%,rgba(79,70,229,.1));overflow:hidden}
.pf-about-card::before{content:"";position:absolute;left:0;right:28%;top:0;height:2px;background:linear-gradient(90deg,var(--v1),var(--v2),var(--v3));opacity:.9}
.pf-about-kicker{display:block;margin-bottom:12px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:1px}
.pf-about-card h3{margin-bottom:12px;font-size:clamp(1.22rem,2.2vw,1.55rem)}
.pf-about-card p{color:var(--muted);line-height:1.58}
.pf-about-owner{cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.pf-about-owner:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 50px -24px rgba(217,70,239,.6)}
.pf-about-owner:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.pf-about-site-btn{display:inline-flex;margin-top:20px;white-space:nowrap}
html[data-theme="light"] .pf-about-card{background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(255,255,255,.88) 58%,rgba(79,70,229,.07))}
html[data-theme="light"] .pf-about-owner:hover{box-shadow:0 18px 50px -24px rgba(79,70,229,.3)}
.pf-material-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;min-width:0;margin-top:32px}
.pf-material-group{min-width:0;max-width:100%;box-sizing:border-box;padding:clamp(22px,4vw,34px);border:1px solid var(--panel-brd);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(124,58,237,.08))}
.pf-group-kicker{display:block;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.pf-material-group-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pf-material-group h3{margin:8px 0 10px;font-size:clamp(1.35rem,2.6vw,1.85rem)}
.pf-material-all-link{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;margin-top:10px;color:var(--accent);font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap}
.pf-material-all-link:hover{text-decoration:underline;text-underline-offset:4px}
.pf-material-more{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px;padding:13px 18px;border:1px solid rgba(217,70,239,.5);border-radius:999px;background:linear-gradient(100deg,rgba(124,58,237,.3),rgba(217,70,239,.2),rgba(79,70,229,.28));color:var(--txt);font:700 .86rem/1.25 system-ui,sans-serif;text-decoration:none;box-shadow:0 12px 28px -18px rgba(217,70,239,.85);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.pf-material-more:hover{transform:translateY(-2px);border-color:var(--accent);background:linear-gradient(100deg,rgba(124,58,237,.46),rgba(217,70,239,.34),rgba(79,70,229,.42));box-shadow:0 16px 32px -17px rgba(217,70,239,.98)}
.pf-material-more>span:last-child{transition:transform .2s ease}
.pf-material-more:hover>span:last-child{transform:translateX(4px)}
.pf-material-group>p{color:var(--muted);line-height:1.55}
.pf-material-feed{display:flex;flex-direction:row;gap:10px;width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;touch-action:pan-y;cursor:grab;margin-top:24px;padding:4px 2px 12px;margin-inline:-2px}
.pf-post-grid.is-dragging,.pf-material-feed.is-dragging{cursor:grabbing;user-select:none}
.pf-material-feed::-webkit-scrollbar{display:none}
.pf-material-feed>.docitem{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.pf-archive-back{margin-top:26px}
.pf-material-archive-feed{max-width:920px;margin:32px auto 0;gap:12px}
.pf-material-archive-item{scroll-margin-top:86px}
.pf-archive-status{max-width:920px;margin:24px auto 0}
.pf-archive-status[hidden]{display:none!important}
#material .docitem{background:rgba(255,255,255,.025)}
#material .dochead{padding:14px 15px}
#material .doctitle{font-size:.9rem;line-height:1.35}
#material .docdate{font-size:.72rem}
#material .material-actions{padding-inline:15px}
#material .material-discussion{padding-inline:15px}
/* En la portada se mantienen las reacciones y compartir; la discusión queda
   disponible únicamente en las páginas completas del material. */
.pf-material-feed .material-discussion{display:none}
/* Las portadas de Drive pueden tener una proporción muy alta. El marco fijo
   evita que una miniatura determine la altura completa del apunte abierto. */
#material .pf-material-feed .docbody,
.pf-material-archive-feed .docbody{flex-direction:column;align-items:flex-start;padding-left:18px;padding-right:18px}
#material .pf-material-feed .docthumb,
.pf-material-archive-feed .docthumb{width:118px;height:176px;object-fit:cover;object-position:center top;align-self:flex-start}
#material .pf-material-feed .docsum,
.pf-material-archive-feed .docsum{width:100%}
html[data-theme="light"] .pf-material-group{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(124,58,237,.07))}
html[data-theme="light"] #material .docitem{background:rgba(255,255,255,.72)}
html[data-theme="light"] .pf-material-more{border-color:rgba(124,58,237,.32);background:linear-gradient(100deg,rgba(124,58,237,.13),rgba(217,70,239,.1),rgba(79,70,229,.12));color:var(--v1);box-shadow:0 12px 28px -18px rgba(79,70,229,.4)}
html[data-theme="light"] .pf-material-more:hover{border-color:var(--v1);background:linear-gradient(100deg,rgba(124,58,237,.21),rgba(217,70,239,.16),rgba(79,70,229,.2));box-shadow:0 16px 32px -17px rgba(79,70,229,.52)}
@media(max-width:900px){
  .pf-material-grid,.pf-about-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  #explorar,#posts,#material{scroll-margin-top:72px}
  #about{scroll-margin-top:72px}
  .pf-route-grid{grid-template-columns:1fr}
  .pf-route-card{min-height:0;padding:24px}
  .pf-content-band+.pf-content-band{margin-top:42px}
  .pf-post-grid>.pf-post-card,.pf-material-feed>.docitem{flex-basis:88%}
  .pf-material-group{padding:22px 16px}
  .pf-material-group-title{gap:8px}
  .pf-material-all-link{font-size:.7rem}
  .pf-material-archive-item{scroll-margin-top:72px}
  #material .pf-material-feed .docthumb,
  .pf-material-archive-feed .docthumb{width:88px;height:124px;object-fit:cover;object-position:center top}
}
@media(max-width:420px){
  /* En tarjetas estrechas, conservar dos filas: lectura + PDF; luego las
     reacciones y compartir. */
  #bf .preview-actions,
  #bt .preview-actions:has(.pdf-tech){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #bf .preview-actions .plink,
  #bf .preview-actions .pdf-tech,
  #bt .preview-actions:has(.pdf-tech) .plink,
  #bt .preview-actions:has(.pdf-tech) .pdf-tech{width:100%;min-width:0;box-sizing:border-box}
  #bf .preview-actions .reaction-pair,
  #bf .preview-actions .share-wrap,
  #bt .preview-actions:has(.pdf-tech) .reaction-pair,
  #bt .preview-actions:has(.pdf-tech) .share-wrap{justify-self:stretch;width:100%;min-width:0}
  #bf .preview-actions .share-wrap>.action-btn,
  #bt .preview-actions:has(.pdf-tech) .share-wrap>.action-btn{width:100%;box-sizing:border-box}
}
@media(min-width:901px){
  /* En escritorio se muestran tres tarjetas completas; las siguientes quedan
     disponibles en el carrusel sin convertir cada post en una pantalla. */
  .pf-post-grid>.pf-post-card{flex-basis:calc((100% - 36px)/3)}
  .pf-material-feed>.docitem{flex-basis:calc((100% - 20px)/3)}
  #bf .preview-actions,
  #bt .preview-actions{display:flex;flex-wrap:nowrap;align-items:stretch;gap:6px}
  #bt .preview-actions:has(.pdf-tech),
  #bt .preview-actions:has(.pdf-links){display:flex;grid-template-columns:none}
  #bf .preview-actions .reaction-pair,
  #bt .preview-actions .reaction-pair{display:contents}
  #bf .preview-actions>.plink,
  #bf .preview-actions>.pdf-tech,
  #bf .preview-actions>.pdf-links,
  #bf .preview-actions>.share-wrap,
  #bt .preview-actions>.plink,
  #bt .preview-actions>.pdf-tech,
  #bt .preview-actions>.pdf-links,
  #bt .preview-actions>.share-wrap{flex:1 1 0;min-width:0}
  #bf .preview-actions .plink,
  #bf .preview-actions .action-btn,
  #bt .preview-actions .plink,
  #bt .preview-actions .action-btn{min-width:0;min-height:46px;height:46px;padding:7px 8px;font-size:.7rem;line-height:1.1;gap:4px;text-align:center;justify-content:center}
  #bf .preview-actions .action-btn svg:not(.pdf-sparks),
  #bt .preview-actions .action-btn svg:not(.pdf-sparks){width:15px;height:15px}
  #bf .preview-actions>.pdf-links .pdf-tech,
  #bt .preview-actions>.pdf-links .pdf-tech,
  #bf .preview-actions>.share-wrap>.action-btn,
  #bt .preview-actions>.share-wrap>.action-btn{width:100%;min-width:0}
}
.pf-carousel-shell{position:relative;min-width:0}
.pf-carousel-shell .pf-post-grid,.pf-carousel-shell .pf-material-feed{outline:none}
.pf-carousel-shell .pf-post-card,.pf-carousel-shell .docitem{opacity:.62;transition:opacity .35s ease,filter .35s ease}
.pf-carousel-shell .pf-post-card.is-active,.pf-carousel-shell .docitem.is-active{opacity:1}
.pf-carousel-arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:42px;height:42px;padding:7px;border:1px solid rgba(217,70,239,.58);border-radius:50%;background:rgba(18,10,36,.76);backdrop-filter:blur(9px);color:#f8eaff;cursor:pointer;filter:drop-shadow(0 0 12px rgba(217,70,239,.42));transform:translateY(-50%);transition:opacity .25s ease,background .25s ease,border-color .25s ease,filter .25s ease}
.pf-carousel-arrow--prev{left:8px}
.pf-carousel-arrow--next{right:8px}
.pf-carousel-arrow[disabled]{opacity:0;pointer-events:none}
.pf-carousel-arrow:not([disabled]):hover{border-color:var(--accent);background:rgba(124,58,237,.82);filter:drop-shadow(0 0 18px rgba(217,70,239,.78))}
.pf-carousel-arrow:focus-visible{outline:3px solid rgba(217,70,239,.42);outline-offset:3px}
.pf-carousel-arrow-svg{width:25px;height:29px;overflow:visible}
.pf-carousel-arrow-svg path{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.pf-carousel-chevron-b{opacity:.5}
.pf-carousel-arrow--prev .pf-carousel-arrow-svg{transform:scaleX(-1)}
.pf-carousel-arrow--prev:not([disabled]){animation:pf-carousel-nudge-left 1.8s ease-in-out infinite}
.pf-carousel-arrow--next:not([disabled]){animation:pf-carousel-nudge-right 1.8s ease-in-out infinite}
@keyframes pf-carousel-nudge-left{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(-4px)}}
@keyframes pf-carousel-nudge-right{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(4px)}}
.pf-carousel-controls{display:flex;align-items:center;justify-content:center;min-height:28px;margin-top:5px}
.pf-carousel-controls[hidden]{display:none}
.pf-carousel-dots{display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid rgba(168,120,255,.2);border-radius:999px;background:rgba(18,10,36,.38);backdrop-filter:blur(7px);touch-action:pan-y;user-select:none;cursor:grab}
.pf-carousel-dots.is-dragging{cursor:grabbing}
.pf-carousel-dot{display:block;width:10px;height:10px;flex:none;padding:0;border:1px solid rgba(232,213,255,.7);border-radius:50%;background:rgba(232,213,255,.22);cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}
.pf-carousel-dot:hover{border-color:#fff;background:rgba(217,70,239,.5);transform:scale(1.18)}
.pf-carousel-dot.is-active{width:14px;height:14px;border-color:transparent;background:linear-gradient(135deg,var(--v1),var(--v2),var(--v3));box-shadow:0 0 12px rgba(217,70,239,.72);transform:scale(1.05)}
.pf-carousel-dot:focus-visible{outline:3px solid rgba(217,70,239,.42);outline-offset:3px}
html[data-theme="light"] .pf-carousel-arrow{background:rgba(255,255,255,.8);color:var(--v1);border-color:rgba(124,58,237,.4);filter:drop-shadow(0 0 12px rgba(79,70,229,.24))}
html[data-theme="light"] .pf-carousel-dots{background:rgba(255,255,255,.72);border-color:rgba(124,58,237,.18)}
html[data-theme="light"] .pf-carousel-dot{border-color:rgba(79,70,229,.48);background:rgba(124,58,237,.12)}
@media(max-width:640px){
  .pf-carousel-arrow{width:36px;height:36px;padding:6px}
  .pf-carousel-arrow--prev{left:5px}.pf-carousel-arrow--next{right:5px}
  .pf-carousel-arrow-svg{width:22px;height:26px}
  .pf-carousel-dots{gap:8px;padding:6px 9px}
}
@media(prefers-reduced-motion:reduce){
  .pf-carousel-shell .pf-post-card,.pf-carousel-shell .docitem{transition:none}
  .pf-post-grid,.pf-material-feed{scroll-behavior:auto}
  .pf-carousel-arrow--prev:not([disabled]),.pf-carousel-arrow--next:not([disabled]){animation:none}
}
html[data-lang="es"] #notes-feed .pf-note-en,
html[data-lang="es"] .pf-material-archive-feed .pf-note-en,
html:not([data-lang="es"]) #notes-feed .pf-note-es,
html:not([data-lang="es"]) .pf-material-archive-feed .pf-note-es{display:none!important}

/* ---- tarjetas de post: marco amplio y acciones en dos niveles ----
   El carrusel sigue mostrando una vista parcial de las tarjetas vecinas en
   escritorio, pero cada tarjeta conserva la jerarquía visual de una ficha
   completa: marco, aire interior, título legible y acciones agrupadas. */
.pf-post-card{
  position:relative;
  box-sizing:border-box;
  min-height:clamp(480px,42vw,560px);
  padding:clamp(24px,2.4vw,32px) clamp(20px,2.4vw,32px) clamp(24px,2.2vw,32px);
  overflow:hidden;
  border:1px solid rgba(168,120,255,.28);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(18,10,36,.72) 57%,rgba(124,58,237,.12));
  box-shadow:0 22px 58px -36px rgba(217,70,239,.68);
  transition:opacity .35s ease,filter .35s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.pf-post-card::before{content:"";position:absolute;left:10%;right:10%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--v2),transparent);opacity:.48;pointer-events:none}
.pf-post-card:hover{border-color:rgba(217,70,239,.52);box-shadow:0 26px 64px -34px rgba(217,70,239,.82)}
.pf-post-card.post-feat .pmeta,.pf-post-card.post-feat h3{padding-right:48px}
.pf-post-card .pmeta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 clamp(22px,3vw,30px);padding:0}
.pf-post-card .pdate{font-size:clamp(.72rem,1.15vw,.88rem);font-weight:800;letter-spacing:1.15px}
.pf-post-card .pmeta .pcat{padding:6px 12px;border:1px solid rgba(168,120,255,.23);border-radius:999px;background:rgba(255,255,255,.035);font-size:clamp(.65rem,1vw,.78rem);font-weight:800;letter-spacing:.65px;line-height:1.15;white-space:nowrap}
.pf-post-card h3{margin:0 0 clamp(18px,2.1vw,26px);color:var(--txt);font:700 clamp(1.35rem,2.1vw,1.85rem)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.45px}
.pf-post-card>p{margin:0;color:var(--muted);font-size:clamp(.95rem,1.1vw,1.15rem);line-height:1.65}
.pf-post-card>p+p{margin-top:0}
.pf-post-card:not(.post-feat)>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#bf .pf-post-card>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.pf-post-card .preview-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"read pdf" "react share";
  align-items:stretch;
  gap:12px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%;
  min-width:0;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid rgba(168,120,255,.18);
}
.pf-post-card .preview-actions>.plink,
.pf-post-card .preview-actions>.pdf-tech,
.pf-post-card .preview-actions>.pdf-links{grid-area:read;min-width:0!important;width:100%;box-sizing:border-box}
.pf-post-card .preview-actions>.pdf-tech,
.pf-post-card .preview-actions>.pdf-links{grid-area:pdf}
.pf-post-card .preview-actions>.pdf-links{display:block}
.pf-post-card .preview-actions>.pdf-links>.pdf-tech{display:flex;width:100%;box-sizing:border-box}
.pf-post-card .preview-actions>.plink,
.pf-post-card .preview-actions>.pdf-tech{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(52px,5vw,66px);
  height:auto;
  margin:0;
  padding:10px 12px;
  border-radius:999px;
  font-size:clamp(.72rem,1.15vw,.96rem);
  font-weight:800;
  line-height:1.18;
  text-align:center;
  white-space:normal;
}
.pf-post-card .preview-actions>.plink{border:1px solid rgba(217,70,239,.45);box-shadow:0 14px 30px -18px rgba(217,70,239,.92)}
.pf-post-card .preview-actions>.reaction-pair{grid-area:react;display:flex!important;align-items:stretch;gap:8px;width:100%;min-width:0}
.pf-post-card .preview-actions>.reaction-pair>.action-btn{flex:1 1 0;min-width:0;min-height:46px;padding:8px 10px;font-size:clamp(.7rem,.9vw,.82rem)}
.pf-post-card .preview-actions>.share-wrap{grid-area:share;width:100%;min-width:0}
.pf-post-card .preview-actions>.share-wrap>.action-btn{width:100%;min-width:0;min-height:46px;padding:8px 10px;font-size:clamp(.7rem,.9vw,.82rem)}
.pf-post-card .preview-actions .action-btn svg:not(.pdf-sparks){width:20px;height:20px}
.pf-post-card .preview-actions>.plink:hover,.pf-post-card .preview-actions>.pdf-tech:hover{transform:translateY(-2px)}
.pf-post-card .preview-actions:not(:has(.pdf-tech)):not(:has(.pdf-links)){grid-template-areas:"read read" "react share"}
html[data-theme="light"] .pf-post-card{border-color:rgba(124,58,237,.22);background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(255,255,255,.84) 57%,rgba(79,70,229,.08));box-shadow:0 22px 58px -36px rgba(79,70,229,.35)}
html[data-theme="light"] .pf-post-card:hover{border-color:rgba(124,58,237,.45);box-shadow:0 26px 64px -34px rgba(79,70,229,.5)}

@media(max-width:640px){
  .pf-post-grid>.pf-post-card{flex-basis:100%}
  .pf-post-card{min-height:500px;padding:28px 20px 30px;border-radius:26px}
  .pf-post-card .pmeta{gap:5px;margin-bottom:24px}
  .pf-post-card.post-feat .pmeta{padding-right:0}
  .pf-post-card .pdate{font-size:.68rem;letter-spacing:.9px}
  .pf-post-card .pmeta .pcat{padding:5px 7px;font-size:.61rem;letter-spacing:.35px}
  .pf-post-card h3{font-size:clamp(1.5rem,6.3vw,2rem)}
  .pf-post-card>p{font-size:clamp(.98rem,4.35vw,1.16rem);line-height:1.62}
  .pf-post-card .preview-actions{gap:10px;padding-top:18px}
  .pf-post-card .preview-actions>.plink,
  .pf-post-card .preview-actions>.pdf-tech{min-height:56px;padding-inline:10px;font-size:.82rem}
}
@media(max-width:340px){
  .pf-post-card{padding-inline:16px}
  .pf-post-card .pmeta .pcat{padding-inline:9px}
  .pf-post-card .preview-actions{gap:8px}
  .pf-post-card .preview-actions>.plink,
  .pf-post-card .preview-actions>.pdf-tech{font-size:.76rem}
}

/* Las reglas históricas de los carruseles usan selectores con ID. Estas
   declaraciones mantienen el nuevo tamaño de la ficha aunque esas reglas
   sigan activas para las páginas anteriores. */
#bt .pf-post-card .preview-actions>.plink,
#bf .pf-post-card .preview-actions>.plink,
#bt .pf-post-card .preview-actions>.pdf-tech,
#bf .pf-post-card .preview-actions>.pdf-tech,
#bt .pf-post-card .preview-actions>.pdf-links>.pdf-tech,
#bf .pf-post-card .preview-actions>.pdf-links>.pdf-tech{
  min-height:clamp(52px,5vw,66px)!important;
  height:auto!important;
  padding:10px 12px!important;
  font-size:clamp(.72rem,1.15vw,.96rem)!important;
  line-height:1.18!important;
}
#bt .pf-post-card .preview-actions>.reaction-pair>.action-btn,
#bf .pf-post-card .preview-actions>.reaction-pair>.action-btn,
#bt .pf-post-card .preview-actions>.share-wrap>.action-btn,
#bf .pf-post-card .preview-actions>.share-wrap>.action-btn{
  min-height:46px!important;
  height:auto!important;
  padding:8px 10px!important;
  font-size:clamp(.7rem,.9vw,.82rem)!important;
  line-height:1.2!important;
}

/* ---- desplegable de búsqueda desde la navegación ---- */
.pf-search-drawer{position:fixed;z-index:40;left:0;right:0;top:var(--pf-search-top,60px);max-height:calc(100vh - var(--pf-search-top,60px));overflow:auto;border-bottom:1px solid var(--panel-brd);background:rgba(10,7,19,.92);backdrop-filter:blur(16px);box-shadow:0 22px 48px -38px rgba(217,70,239,.75)}
.pf-search-drawer[hidden]{display:none}
.pf-search-drawer:not([hidden]){animation:pf-search-drawer-in .24s ease both}
.pf-search-drawer-inner{width:min(1080px,100%);margin:0 auto;padding:24px clamp(16px,4vw,40px) 30px}
.pf-search-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.pf-search-drawer .section-lead{max-width:62ch;margin-top:12px}
.pf-search-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--panel-brd);border-radius:50%;background:rgba(255,255,255,.035);color:var(--txt);font:400 1.5rem/1 system-ui,sans-serif;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.pf-search-close:hover{transform:rotate(90deg);border-color:var(--accent);background:rgba(217,70,239,.12)}
.pf-search-close:focus-visible{outline:3px solid rgba(217,70,239,.28);outline-offset:3px}
html[data-theme="light"] .pf-search-drawer{background:rgba(255,255,255,.88);box-shadow:0 22px 48px -38px rgba(79,70,229,.4)}
html[data-theme="light"] .pf-search-close{background:rgba(124,58,237,.04)}
@keyframes pf-search-drawer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* ---- prototype keyword search ---- */
.pf-search-shell{max-width:960px;margin-top:28px;padding:clamp(20px,4vw,32px);border:1px solid var(--panel-brd);border-radius:var(--radius);background:linear-gradient(145deg,rgba(124,58,237,.14),rgba(255,255,255,.025) 52%,rgba(79,70,229,.1));box-shadow:0 24px 60px -42px rgba(217,70,239,.65)}
.pf-search-label{display:block;margin-bottom:10px;color:var(--txt);font-weight:700}
.pf-search-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:4px 5px 4px 15px;border:1px solid var(--panel-brd);border-radius:15px;background:rgba(10,7,19,.34);transition:border-color .2s ease,box-shadow .2s ease}
.pf-search-control:focus-within{border-color:rgba(217,70,239,.7);box-shadow:0 0 0 3px rgba(217,70,239,.11)}
.pf-search-icon{position:relative;width:17px;height:17px;border:2px solid var(--accent);border-radius:50%;opacity:.9}
.pf-search-icon::after{content:"";position:absolute;width:7px;height:2px;right:-5px;bottom:-2px;border-radius:2px;background:var(--accent);transform:rotate(45deg);transform-origin:left center}
.pf-search-input{min-width:0;width:100%;padding:11px 0;border:0;outline:0;background:transparent;color:var(--txt);font:inherit}
.pf-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.pf-search-input::placeholder{color:var(--muted);opacity:.84}
.pf-search-clear{display:inline-flex;align-items:center;padding:8px 7px;border:0;background:transparent;color:var(--muted);font:600 .78rem system-ui,sans-serif;cursor:pointer;transition:color .2s ease}
.pf-search-clear:hover{color:var(--accent)}
.pf-search-submit{margin:0;padding:11px 18px;border-radius:11px;white-space:nowrap}
.pf-search-hint{margin:10px 2px 0;color:var(--muted);font-size:.8rem}
.pf-search-status{margin-top:24px;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.3px}
.pf-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.pf-search-card{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--panel-brd);border-radius:16px;background:rgba(255,255,255,.035);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.pf-search-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 16px 38px -24px rgba(217,70,239,.68)}
.pf-search-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pf-search-type{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.pf-search-category{padding:2px 9px;border:1px solid var(--panel-brd);border-radius:999px;color:var(--txt);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.45px}
.pf-search-date{margin-left:auto;color:var(--muted);font-size:.72rem}
.pf-search-card h3{margin:0 0 10px;font-size:clamp(1.1rem,2vw,1.35rem)}
.pf-search-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0;color:var(--muted);line-height:1.58}
.pf-search-card .plink{align-self:flex-start;margin-top:auto;padding-top:12px}
.pf-search-empty{margin-top:18px;padding:28px 20px}
html[data-theme="light"] .pf-featured-star{filter:drop-shadow(0 0 8px rgba(124,58,237,.42))}
html[data-theme="light"] .pf-search-shell{background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(255,255,255,.88) 52%,rgba(79,70,229,.07));box-shadow:0 24px 54px -42px rgba(79,70,229,.4)}
html[data-theme="light"] .pf-search-control{background:rgba(255,255,255,.72)}
html[data-theme="light"] .pf-search-card{background:rgba(255,255,255,.58)}
@media(max-width:640px){
  .pf-search-control{grid-template-columns:auto minmax(0,1fr) auto;padding-left:13px}
  .pf-search-submit{grid-column:1/-1;width:100%}
  .pf-search-results{grid-template-columns:1fr}
  .pf-search-date{margin-left:auto}
}

/* ---- material de estudio: tarjetas independientes, como los posts ----
   Cada subsección conserva su carrusel, pero desaparece el marco contenedor.
   La descripción y las acciones quedan visibles desde el inicio. */
.pf-material-grid{gap:clamp(52px,7vw,84px)}
.pf-material-group{padding:0;border:0;border-radius:0;background:none}
html[data-theme="light"] .pf-material-group{background:none}
#material .pf-material-feed>.pf-material-card{
  position:relative;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  height:clamp(480px,42vw,560px);
  min-height:0;
  padding:clamp(24px,2.4vw,32px) clamp(20px,2.4vw,32px) clamp(24px,2.2vw,32px);
  overflow:hidden;
  border:1px solid rgba(168,120,255,.28);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(18,10,36,.72) 57%,rgba(124,58,237,.12));
  box-shadow:0 22px 58px -36px rgba(217,70,239,.68);
  transition:opacity .35s ease,filter .35s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
#material .pf-material-feed>.pf-material-card::before{content:"";position:absolute;left:10%;right:10%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--v2),transparent);opacity:.48;pointer-events:none}
#material .pf-material-feed>.pf-material-card:hover{border-color:rgba(217,70,239,.52);box-shadow:0 26px 64px -34px rgba(217,70,239,.82)}
#material .pf-material-feed>.pf-material-card>.dochead{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  margin:0 0 clamp(22px,3vw,30px);
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:default;
}
#material .pf-material-feed>.pf-material-card>.dochead::before{display:none}
#material .pf-material-feed>.pf-material-card .docnum{width:30px;height:30px;border-radius:9px;font-size:.78rem}
#material .pf-material-feed>.pf-material-card .docdate{min-width:0;font-size:clamp(.72rem,1.15vw,.88rem);font-weight:800;letter-spacing:1.15px}
#material .pf-material-feed>.pf-material-card .doctitle{order:3;flex:0 0 100%;min-width:0;color:var(--txt);font:700 clamp(1.35rem,2.1vw,1.85rem)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.45px}
#material .pf-material-feed>.pf-material-card .docchev{display:none}
#material .pf-material-feed>.pf-material-card>.docpanel{order:2;display:block;flex:1;min-height:0;grid-template-rows:1fr;transition:none}
#material .pf-material-feed>.pf-material-card>.docpanel>.docinner{height:100%;overflow:visible}
#material .pf-material-feed>.pf-material-card .docbody{display:flex;flex-direction:column;height:100%;padding:0;gap:0;opacity:1;transform:none;transition:none}
#material .pf-material-feed>.pf-material-card .docthumb{display:none}
#material .pf-material-feed>.pf-material-card .docsum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:10px;width:100%;height:100%}
#material .pf-material-feed>.pf-material-card .docsum p{grid-column:1/-1;align-self:start;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;margin:0;color:var(--muted);font-size:clamp(.95rem,1.1vw,1.15rem);line-height:1.65}
#material .pf-material-feed>.pf-material-card .docopen{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:clamp(52px,5vw,66px);margin:0!important;padding:10px 12px;border:1px solid rgba(217,70,239,.45);border-radius:999px;background:linear-gradient(100deg,var(--v1),var(--v2),var(--v3));color:#fff;font-size:clamp(.72rem,1.15vw,.96rem);font-weight:800;line-height:1.18;text-align:center;box-sizing:border-box;box-shadow:0 14px 30px -18px rgba(217,70,239,.92);transition:transform .2s ease,box-shadow .25s ease}
#material .pf-material-feed>.pf-material-card .docopen:hover{transform:translateY(-2px);box-shadow:0 18px 36px -18px rgba(217,70,239,.98)}
#material .pf-material-feed>.pf-material-card .docopen:not(.alt){grid-column:1}
#material .pf-material-feed>.pf-material-card .docopen.alt{grid-column:2;background:linear-gradient(100deg,rgba(124,58,237,.3),rgba(217,70,239,.2),rgba(79,70,229,.3));border-color:rgba(168,120,255,.4);color:var(--txt);box-shadow:none}
#material .pf-material-feed>.pf-material-card .docopen.alt:hover{box-shadow:0 14px 30px -18px rgba(217,70,239,.65)}
#material .pf-material-feed>.pf-material-card .docsum>.docopen:only-of-type{grid-column:1/-1}
#material .pf-material-feed>.pf-material-card>.material-actions{order:3;display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%;min-width:0;margin-top:20px;padding:14px 0 0;border-top:1px solid rgba(168,120,255,.18);background:none}
#material .pf-material-feed>.pf-material-card>.material-actions .reaction-pair{display:flex;flex:0 1 auto;gap:8px;min-width:0}
#material .pf-material-feed>.pf-material-card>.material-actions .action-btn{min-width:0;min-height:46px;padding:8px 10px;font-size:clamp(.7rem,.9vw,.82rem)}
#material .pf-material-feed>.pf-material-card>.material-actions .share-wrap{margin-left:auto;min-width:0}
#material .pf-material-feed>.pf-material-card>.material-actions .share-wrap>.action-btn{width:100%}
#material .pf-material-feed>.pf-material-card .material-discussion{display:none}
html[data-theme="light"] #material .pf-material-feed>.pf-material-card{border-color:rgba(124,58,237,.22);background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(255,255,255,.84) 57%,rgba(79,70,229,.08));box-shadow:0 22px 58px -36px rgba(79,70,229,.35)}
html[data-theme="light"] #material .pf-material-feed>.pf-material-card:hover{border-color:rgba(124,58,237,.45);box-shadow:0 26px 64px -34px rgba(79,70,229,.5)}
@media(max-width:640px){
  #material .pf-material-feed>.pf-material-card{height:500px;padding:28px 20px 30px;border-radius:26px}
  #material .pf-material-feed>.pf-material-card .doctitle{font-size:clamp(1.5rem,6.3vw,2rem)}
  #material .pf-material-feed>.pf-material-card .docsum p{font-size:clamp(.98rem,4.35vw,1.16rem);line-height:1.62}
  #material .pf-material-feed>.pf-material-card>.material-actions{gap:8px}
}
@media(max-width:340px){
  #material .pf-material-feed>.pf-material-card{padding-inline:16px}
  #material .pf-material-feed>.pf-material-card .docopen{font-size:.76rem}
}
