/* FN home cards v1 (Claude). */
.fn-has-media{overflow:hidden}
.fn-media .card-media-link{display:block;width:100%;height:100%;cursor:pointer}
.fn-media{display:block;position:relative;margin:-24px -24px 18px;aspect-ratio:16/9;overflow:hidden;background:#0b1415;border-bottom:1px solid #355154}
.fn-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.fn-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#03070799);pointer-events:none}
.fn-media.fn-illus{background:radial-gradient(circle at 28% 22%,#24464a 0,transparent 58%),repeating-linear-gradient(90deg,#89d2d80d 0 1px,transparent 1px 28px),repeating-linear-gradient(0deg,#89d2d80d 0 1px,transparent 1px 28px),linear-gradient(135deg,#142427,#050b0c)}.fn-media.fn-illus::after{display:none}
.fn-has-media:hover .fn-media img,.fn-has-media:focus-visible .fn-media img{transform:scale(1.04)}
.fn-badge{position:relative;z-index:2;width:max-content;max-width:100%;margin:-34px 0 14px -4px;display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#030707d9;border:1px solid #89d2d880;color:#e8f4f5;font:700 11px/1 Tomorrow,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 16px #0007;animation:fn-badge-float 6s ease-in-out infinite}
.fn-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#89d2d8;box-shadow:0 0 0 3px #89d2d833}.fn-badge.is-illus::before{background:#9be0ca}
@keyframes fn-badge-float{50%{transform:translateY(-3px)}}
.card-art{display:block;width:100%;height:100%}
.card-art .float{animation:card-art-float 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.card-art .trace{stroke-dashoffset:0;animation:card-art-trace 9s linear infinite}
.card-art .pulse{animation:card-art-pulse 1.6s ease-in-out infinite}
@keyframes card-art-float{50%{transform:translateY(-6px)}}@keyframes card-art-trace{to{stroke-dashoffset:-220}}@keyframes card-art-pulse{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.card-art .float,.card-art .trace,.card-art .pulse{animation:none}}
@media(max-width:620px){.topic-card.fn-has-media .fn-media{margin:-20px -20px 16px}}
@media(prefers-reduced-motion:reduce){.fn-media img{transition:none}.fn-badge,.card-art *{animation:none!important}.fn-has-media:hover .fn-media img,.fn-has-media:focus-visible .fn-media img{transform:none}}
@media print{.fn-media,.fn-badge{display:none}}
