/* Aplicaciones · catálogo con filtro por asignatura */
.ap-hero{padding:34px 0 10px}
.ap-eyebrow{margin:0 0 10px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary,#5ef2e0)}
.ap-hero h1{font-size:clamp(2.2rem,6vw,3.6rem);margin:0 0 12px}
.ap-lede{max-width:60ch;color:var(--text-muted,#9aaac4);font-size:1.05rem;line-height:1.6;margin:0 0 22px}
.ap-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.ap-chip{border:1px solid var(--border-soft,rgba(130,190,255,.2));background:transparent;color:var(--text-main,#eaf2ff);border-radius:999px;padding:9px 16px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:.18s}
.ap-chip span{margin-left:4px;font-size:.76rem;opacity:.7}
.ap-chip:hover{border-color:var(--primary,#8b6bff)}
.ap-chip.is-on{background:var(--primary,#8b6bff);border-color:var(--primary,#8b6bff);color:#fff}
.ap-chip.is-empty:not(.is-on){opacity:.6}
.ap-chip:focus-visible,.ap-card:focus-visible{outline:3px solid var(--secondary,#5ef2e0);outline-offset:2px}
.ap-status{color:var(--text-muted,#9aaac4);font-size:.86rem;margin:0 0 14px;min-height:1.2em}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding-bottom:40px}
.ap-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;border:1px solid var(--border-soft,rgba(130,190,255,.2));background:var(--bf-surface,rgba(14,21,40,.6));color:var(--text-main,#eaf2ff);text-decoration:none;backdrop-filter:blur(8px);transition:transform .2s,border-color .2s}
html.theme-light .ap-card{background:rgba(255,255,255,.85)}
.ap-card:hover{transform:translateY(-4px);border-color:var(--primary,#8b6bff)}
.ap-card__ico{display:inline-grid;place-items:center;min-width:48px;height:48px;padding:0 10px;border-radius:13px;background:linear-gradient(135deg,var(--primary,#8b6bff),var(--secondary,#5ef2e0));color:#fff;font-weight:800;width:max-content}
.ap-card__subj{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary,#5ef2e0)}
.ap-card strong{font-size:1.2rem;line-height:1.2}
.ap-card p{margin:0;color:var(--text-muted,#9aaac4);line-height:1.55;font-size:.94rem}
.ap-card ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.ap-card li{font-size:.72rem;border:1px solid var(--border-soft,rgba(130,190,255,.2));border-radius:99px;padding:3px 10px;color:var(--text-muted,#9aaac4)}
.ap-card__level{font-size:.74rem;color:var(--text-muted,#9aaac4);font-weight:500;margin-top:2px}
.ap-card__go{margin-top:auto;padding-top:8px;font-weight:700;color:var(--secondary,#5ef2e0)}
.ap-empty{grid-column:1/-1;padding:30px;border:1px dashed var(--border-soft,rgba(130,190,255,.3));border-radius:18px;color:var(--text-muted,#9aaac4)}
.ap-empty strong{color:var(--text-main,#eaf2ff);font-size:1.1rem}
.ap-empty a{color:var(--secondary,#5ef2e0);font-weight:700}
/* Tarjetas «En desarrollo» */
.ap-card--wip{cursor:default;pointer-events:none;opacity:.72;border-style:dashed;position:relative}
.ap-card--wip:hover{transform:none;border-color:var(--border-soft,rgba(130,190,255,.2))}
.ap-wip-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 10px;border:1px solid var(--secondary,#5ef2e0);color:var(--secondary,#5ef2e0);width:max-content}
.ap-wip-badge::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--secondary,#5ef2e0);animation:ap-pulse 1.8s ease-in-out infinite}
.ap-card__go--wip{color:var(--text-muted,#9aaac4);font-weight:600}
@keyframes ap-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.ap-wip-badge::before{animation:none}}
/* Página «En desarrollo» */
.ap-wip-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 0}
.ap-wip-card{text-align:center;max-width:480px;padding:clamp(32px,6vw,56px);border:1px solid var(--border-soft,rgba(130,190,255,.2));border-radius:24px;background:var(--bf-surface,rgba(14,21,40,.6));backdrop-filter:blur(10px)}
html.theme-light .ap-wip-card{background:rgba(255,255,255,.88)}
.ap-wip-icon{display:block;font-size:2.8rem;margin:0 0 18px;opacity:.6}
.ap-wip-card h1{font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 14px;line-height:1.2}
.ap-wip-desc{color:var(--text-muted,#9aaac4);font-size:1rem;line-height:1.65;margin:0 0 28px}
.ap-wip-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;background:linear-gradient(135deg,var(--primary,#8b6bff),var(--secondary,#5ef2e0));color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 18px rgba(139,107,255,.28)}
.ap-wip-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(139,107,255,.42)}
.ap-wip-btn:focus-visible{outline:3px solid var(--secondary,#5ef2e0);outline-offset:3px}
/* Fallback sin JavaScript */
.ap-noscript-list{list-style:none;padding:0;margin:0 0 40px;display:flex;flex-direction:column;gap:12px}
.ap-noscript-list a{display:block;padding:16px 20px;border:1px solid var(--border-soft,rgba(130,190,255,.2));border-radius:14px;color:var(--text-main,#eaf2ff);text-decoration:none;background:var(--bf-surface,rgba(14,21,40,.6))}
.ap-noscript-list a:hover{border-color:var(--primary,#8b6bff)}
.ap-noscript-list strong{color:var(--secondary,#5ef2e0)}
