.badge{display:inline-flex;align-items:center;gap:var(--space-xs,4px);padding:4px 8px;border-radius:var(--radius-base,4px);font-size:var(--font-size-sm,12px);font-weight:var(--font-weight-medium,500);line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid transparent}.badge-default{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.badge-dark,.badge-primary{background-color:var(--button-accent-bg,var(--color-accent));color:var(--button-accent-text,var(--color-accent-contrast))}.badge-light,.badge-secondary{background-color:var(--button-surface-bg,var(--color-panel-bg));color:var(--button-surface-text,var(--color-text));border-color:var(--button-surface-border,var(--color-border))}.badge-success{background-color:var(--color-success);color:var(--color-white,var(--color-card-bg))}.badge-warning{background-color:var(--color-warning,var(--color-warning));color:var(--color-text,#000)}.badge-error{background-color:var(--color-error)}.badge-error,.badge-info{color:var(--color-white,var(--color-card-bg))}.badge-info{background-color:var(--color-info,#0dcaf0)}.badge-widget{background-color:var(--badge-widget-bg);color:var(--badge-widget-text);border:1px solid var(--badge-widget-border)}.badge-active{background-color:var(--badge-active-bg);color:var(--badge-active-text);border:none}.badge-inactive{background-color:var(--badge-inactive-bg);color:var(--badge-inactive-text);border:none}.badge-outline{background-color:initial}.badge-outline.badge-default{color:var(--text-primary);border-color:var(--border-color)}.badge-outline.badge-dark,.badge-outline.badge-primary{color:var(--button-accent-bg,var(--color-accent));border-color:var(--button-accent-bg,var(--color-accent))}.badge-outline.badge-light,.badge-outline.badge-secondary{color:var(--button-surface-text,var(--color-text));border-color:var(--button-surface-border,var(--color-border))}.badge-outline.badge-success{color:var(--color-success);border-color:var(--color-success)}.badge-outline.badge-warning{color:var(--color-warning,var(--color-warning));border-color:var(--color-warning,var(--color-warning))}.badge-outline.badge-error{color:var(--color-error);border-color:var(--color-error)}.badge-outline.badge-info{color:var(--color-info,#0dcaf0);border-color:var(--color-info,#0dcaf0)}.badge-sm{padding:2px 6px;font-size:11px}.badge-md{padding:4px 8px;font-size:var(--font-size-sm,12px)}.badge-lg{padding:6px 10px;font-size:var(--font-size-base,14px)}.badge-pill{border-radius:var(--radius-pill);padding-left:10px;padding-right:10px}.badge-icon{justify-content:center;font-size:.9em}.badge-close,.badge-content,.badge-icon{display:flex;align-items:center}.badge-close{justify-content:center;background:none;border:none;color:inherit;font-size:18px;font-weight:700;cursor:pointer;padding:0;line-height:1;margin-left:2px;transition:opacity var(--transition-fast)}.badge-close:hover{opacity:.7}.badge-close:focus{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}.badge-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}[data-theme=dark] .badge-default{background-color:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .badge-outline.badge-default{border-color:var(--border-color)}.blog-post-card{display:flex;flex-direction:column;height:100%;border-radius:max(var(--radius-lg),20px);background:var(--color-bg-primary);border:1px solid color-mix(in srgb,var(--color-border-light) 88%,var(--color-primary) 12%);overflow:hidden;transition:transform var(--transition-default),box-shadow var(--transition-default),border-color var(--transition-default);box-shadow:var(--shadow-card,0 12px 30px color-mix(in srgb,var(--color-text-primary) 8%,transparent));cursor:pointer}.blog-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg,0 20px 38px color-mix(in srgb,var(--color-text-primary) 12%,transparent));border-color:color-mix(in srgb,var(--color-border) 78%,var(--color-text) 22%)}.blog-post-card:focus-within{outline:3px solid color-mix(in srgb,var(--color-primary) 32%,transparent);outline-offset:3px}.blog-post-card--featured{border:2px solid var(--color-primary)}.blog-post-card__image-wrapper{position:relative;width:100%;aspect-ratio:1.78/1;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--color-bg-secondary)) 0,var(--color-bg-secondary) 100%)}.blog-post-card__image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-default)}.blog-post-card__image-wrapper:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--color-text-primary) 16%,transparent));pointer-events:none}.blog-post-card:hover .blog-post-card__image{transform:scale(1.04)}.blog-post-card__image-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,var(--color-bg-secondary)) 0,var(--color-bg-secondary) 100%);color:var(--color-text-secondary);text-align:center}.blog-post-card__image-fallback-icon{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--color-card-bg) 82%,transparent);box-shadow:var(--shadow-sm,0 10px 20px color-mix(in srgb,var(--color-text-primary) 8%,transparent));font-size:1.35rem}.blog-post-card__image-fallback-copy{font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.blog-post-card__featured-badge{position:absolute;top:var(--space-md);right:var(--space-md);padding:4px 12px;background-color:var(--color-primary);color:var(--color-on-primary,#fff);font-size:11px;font-weight:700;text-transform:uppercase;border-radius:var(--radius-full);z-index:2}.blog-post-card__content{padding:clamp(.9rem,1.4vw,1.1rem);display:flex;flex-direction:column;gap:.72rem;flex:1 1}.blog-post-card__tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:2rem}.blog-post-card__badge-link{text-decoration:none}.blog-post-card__badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none;border-radius:999px}.blog-post-card__badge--category{font-weight:700}.blog-post-card__badge--count{color:var(--color-text-secondary)}.blog-post-card__title{margin:0;font-size:clamp(1rem,1.1vw,1.14rem);font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary);line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-post-card__title-link{color:inherit;text-decoration:none}.blog-post-card__title-link:hover{color:var(--color-primary)}.blog-post-card__excerpt{margin:0;font-size:clamp(.86rem,.9vw,.93rem);color:var(--color-text-secondary);line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1em * 1.65 * 4)}.blog-post-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.85rem;border-top:1px solid color-mix(in srgb,var(--color-border-light) 86%,transparent);gap:.75rem;flex-wrap:wrap}.blog-post-card__author{display:flex;gap:.65rem;align-items:center}.blog-post-card__author-avatar{flex-shrink:0}.blog-post-card__author-name{font-size:.88rem;font-weight:700;color:var(--color-text-primary)}.blog-post-card__info{display:flex;gap:.35rem;align-items:center;font-size:.78rem;font-weight:600;color:var(--color-text-secondary);flex-wrap:wrap}.blog-post-card__separator{color:var(--color-text-tertiary)}.blog-post-card__footer{justify-content:space-between;padding-top:.8rem;border-top:1px dashed color-mix(in srgb,var(--color-border-light) 84%,transparent)}.blog-post-card__footer,.blog-post-card__stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.blog-post-card__stat{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text-secondary);font-size:.78rem;font-weight:700}.blog-post-card__stat-icon{opacity:.85}.blog-post-card__action{text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg-primary) 90%);border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);font-size:.84rem;font-weight:800;color:var(--color-primary)}.blog-post-card__action:hover{color:color-mix(in srgb,var(--color-primary) 82%,var(--color-text-primary) 18%);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-bg-primary) 86%)}.blog-post-card--horizontal{flex-direction:row}.blog-post-card--horizontal .blog-post-card__image-wrapper{width:40%;aspect-ratio:4/3;flex-shrink:0}.blog-post-card--compact{flex-direction:row}.blog-post-card--compact .blog-post-card__image-wrapper{width:120px;aspect-ratio:1/1;flex-shrink:0}.blog-post-card--compact .blog-post-card__content{padding:var(--space-md)}.blog-post-card--compact .blog-post-card__title{font-size:16px;-webkit-line-clamp:2;line-clamp:2}.blog-post-card--compact .blog-post-card__excerpt{display:none}[data-theme=dark] .blog-post-card{background-color:var(--color-bg-secondary)}[data-theme=dark] .blog-post-card__image-fallback{background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-primary) 22%,transparent),transparent 42%),linear-gradient(135deg,var(--color-bg-secondary) 0,color-mix(in srgb,var(--color-bg-primary) 90%,var(--color-primary) 10%) 100%);color:var(--color-text-secondary)}[data-theme=dark] .blog-post-card:hover{box-shadow:var(--shadow-lg,0 20px 38px color-mix(in srgb,var(--color-text-primary) 18%,transparent))}[data-theme=dark] .blog-post-card__meta{border-top-color:var(--color-border-dark)}[data-theme=dark] .blog-post-card__footer{border-top-color:color-mix(in srgb,var(--color-border-dark) 84%,transparent)}@media (max-width:992px){.blog-post-card--horizontal{flex-direction:column}.blog-post-card--horizontal .blog-post-card__image-wrapper{width:100%;aspect-ratio:16/9}}@media (max-width:576px){.blog-post-card__content{padding:var(--space-md)}.blog-post-card__title{font-size:1rem}.blog-post-card__excerpt{-webkit-line-clamp:3;line-clamp:3;min-height:calc(1em * 1.65 * 3)}.blog-post-card__meta{flex-direction:column}.blog-post-card__footer,.blog-post-card__meta{align-items:flex-start}.blog-post-card--compact .blog-post-card__image-wrapper{width:100px}}