/* Tarjetas del blog en el home (subconjunto de blog.css con el prefijo .bs-blog). */
.bs-blog{--text-3:#7C7F88;--sch-grid:rgba(255,255,255,0.045);--prod-ink:#fff;--sig:#fff;--mono:'JetBrains Mono',ui-monospace,"SF Mono",Menlo,Consolas,"Cascadia Mono","Liberation Mono",monospace;--ease:cubic-bezier(.2,.8,.2,1)}
html[data-theme="light"] .bs-blog{--text-3:#6B6E77;--sch-grid:rgba(40,52,92,0.07);--sig:#15161B}
.bs-blog .card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s;min-width:0;color:var(--text)}
.bs-blog .card:hover{border-color:var(--border-2)}
.bs-blog .card .fig{border-bottom:1px solid var(--border)}
.bs-blog .card .body{padding:18px 22px 22px;display:grid;grid-template-rows:auto 1fr;align-content:start}
.bs-blog .card h3{margin:10px 0 0;font-weight:600;font-size:17px;line-height:1.25;letter-spacing:-.02em;text-wrap:balance;color:var(--text)}
.bs-blog .card:hover h3{color:var(--accent-2)}
.bs-blog .meta{font-family:var(--mono);font-size:13px;color:var(--text-3);display:flex;gap:4px 12px;flex-wrap:wrap;font-variant-numeric:tabular-nums;line-height:1.5}
.bs-blog .meta>*{white-space:nowrap}
.bs-blog .grid .card .meta{min-height:calc(2 * 1.5em)}
.bs-blog .card .fig-glyph{display:none}
.bs-blog .sch-thumb .bus.main{stroke-width:2.5}.bs-blog .sch-thumb .bus{stroke-width:1.75}.bs-blog .sch-thumb .node{stroke-width:1.25}
.bs-blog .meta .k{color:var(--text-3)}
.bs-blog .sch{font-family:var(--mono);background:var(--surface);display:block;width:100%;height:auto}
.bs-blog .sch .g{stroke:var(--sch-grid);stroke-width:1}
.bs-blog .sch .bus{fill:none;stroke:var(--accent-2);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.bs-blog .sch .bus.main{stroke-width:2}
.bs-blog .sch .bus.exc{stroke-dasharray:.03 .025}
.bs-blog .sch .bus.ret{stroke:var(--text-3)}
.bs-blog .sch .node{fill:var(--bg);stroke:var(--border-2);stroke-width:1}
.bs-blog .sch .lbl{fill:var(--text-2)}
.bs-blog .sch .prod{fill:var(--accent-3);transform-box:fill-box;transform-origin:center}
.bs-blog .sch .plbl{fill:var(--prod-ink);font-weight:500}
.bs-blog .sch .sig{fill:var(--sig);opacity:0}
.bs-blog .sch .comet{fill:none;stroke:var(--sig);stroke-width:3;stroke-linecap:round;stroke-dasharray:.1 .9;stroke-dashoffset:.1;opacity:0}
@media (prefers-reduced-motion:no-preference){
  .bs-blog .sch.play .bus:not(.exc){stroke-dasharray:1;stroke-dashoffset:1;animation:bsDraw .6s var(--ease) forwards;animation-delay:calc(var(--d,0ms) + var(--stag,0ms))}
  .bs-blog .sch.play .bus.exc{opacity:0;animation:bsFade .4s ease forwards;animation-delay:calc(var(--d,0ms) + var(--stag,0ms))}
  .bs-blog .sch.play .sig{animation:bsSig var(--dur,1.5s) linear forwards;animation-delay:calc(var(--d,0ms) + var(--stag,0ms))}
  .bs-blog .sch.play .comet{animation:bsComet var(--dur,1.5s) linear forwards;animation-delay:calc(var(--d,0ms) + var(--stag,0ms))}
  .bs-blog .sch.play .prod{animation:bsHub .32s var(--ease);animation-delay:calc(var(--d,0ms) + var(--stag,0ms))}
  .bs-blog .sch.play.re .sig,.bs-blog .sch.play.re .comet{animation-delay:calc(.12s + var(--d,0ms) - var(--d0,0ms))}
  .bs-blog .sch.play.re .prod{animation-delay:calc(.12s + var(--d,0ms) - var(--d0,0ms))}
}
@keyframes bsDraw{to{stroke-dashoffset:0}}
@keyframes bsFade{to{opacity:1}}
@keyframes bsSig{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes bsComet{0%{stroke-dashoffset:.1;opacity:0}8%{opacity:1}92%{opacity:1}100%{stroke-dashoffset:-.9;opacity:0}}
@keyframes bsHub{0%{transform:scale(1)}50%{transform:scale(1.07)}100%{transform:scale(1)}}
@media (max-width:760px){
  .bs-blog .card.compact{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:12px 16px 12px 12px}
  .bs-blog .card.compact .fig{display:none}
  .bs-blog .card.compact .fig-glyph{display:block;border:1px solid var(--border);border-radius:8px;overflow:hidden}
  .bs-blog .grid .card .meta{min-height:0}
  .bs-blog .card.compact .body{padding:0;display:block}
  .bs-blog .card.compact h3{font-size:17px;margin-top:4px}
}
@media (forced-colors:active){.bs-blog .sch .bus,.bs-blog .sch .node{stroke:CanvasText}.bs-blog .sch .prod{fill:Highlight}}
@media (max-width:760px){.bs-blog .grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:28px!important}}

@media (max-width:760px){.bs-blog .card.compact .meta>*{white-space:normal}.bs-blog .card.compact .body{min-width:0}}
@media (max-width:380px){.bs-blog .card.compact{grid-template-columns:72px 1fr}}
@media (max-width:980px){.bs-blog .grid{grid-template-columns:1fr 1fr!important}.bs-blog .grid .card:first-child{grid-column:1 / -1}}
@media (max-width:760px){.bs-blog .grid{grid-template-columns:1fr!important}}
