.news-page-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.news-page-bg__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.5;animation:news-bg-drift 30s ease-in-out infinite}.news-page-bg__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0d0d0dd9,#0d0d0db3 30%,#0d0d0dcc 70%,#0d0d0df2)}@keyframes news-bg-drift{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.news-page-bg__img{animation:none}}.news-hero{position:relative;z-index:1;padding:clamp(3rem,6vw,5rem) 0 1.5rem;text-align:center}.news-content{position:relative;z-index:1}.news-title{font-family:var(--font-heading);font-size:clamp(var(--text-3xl),4vw,var(--text-4xl));font-weight:700;letter-spacing:.04em;margin-bottom:.75rem}.news-title-muted{color:var(--text-secondary)}.news-subtitle{color:var(--text-secondary);font-size:clamp(var(--text-sm),1.5vw,var(--text-base));margin-top:.75rem;margin-bottom:1.5rem}.news-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.news-filter{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1rem;border-radius:4px;border:1px solid var(--bg-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.news-filter:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.news-filter.active{background:var(--rust-primary);color:var(--bg-deep);border-color:var(--rust-primary)}.news-filter:active{transform:scale(.97)}.news-content{padding:1.5rem 0 clamp(3rem,6vw,5rem)}.news-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem}@media(min-width:640px){.news-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.news-grid{grid-template-columns:repeat(3,1fr)}}.news-skeleton{background:var(--bg-surface);border:1px solid var(--bg-subtle);border-radius:6px;padding:1rem;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-thumb{width:100%;height:10rem;border-radius:4px;background:var(--bg-subtle);margin-bottom:.75rem}.skeleton-badge{width:4.5rem;height:1.1rem;border-radius:3px;background:var(--bg-subtle);margin-bottom:.6rem}.skeleton-title{width:80%;height:.9rem;border-radius:3px;background:var(--bg-subtle);margin-bottom:.5rem}.skeleton-excerpt{width:60%;height:.7rem;border-radius:3px;background:var(--bg-subtle);margin-bottom:.5rem}.skeleton-date{width:35%;height:.6rem;border-radius:3px;background:var(--bg-subtle)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.news-card{display:block;background:var(--bg-surface);border:1px solid var(--bg-subtle);border-radius:6px;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;opacity:0;transform:translateY(16px);animation:card-enter .4s ease forwards}.news-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000059;border-color:#ff6b2b40}.news-card:active{transform:scale(.99)}@keyframes card-enter{to{opacity:1;transform:translateY(0)}}.news-thumb-wrap{position:relative;width:100%;height:10rem;overflow:hidden}.news-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.news-card:hover .news-thumb{transform:scale(1.05)}.news-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,.6) 0%,transparent 50%);pointer-events:none}.news-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-subtle) 100%);font-size:var(--text-3xl);color:var(--text-secondary)}.news-external-icon{position:absolute;top:.6rem;right:.6rem;width:1.5rem;height:1.5rem;border-radius:4px;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.news-card:hover .news-external-icon{opacity:1}.news-external-icon svg{width:.75rem;height:.75rem;stroke:var(--text-primary);fill:none;stroke-width:2}.news-body{padding:.85rem 1rem 1rem}.news-badge{display:inline-block;font-family:var(--font-heading);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:3px;margin-bottom:.45rem}.news-badge[data-src=facepunch]{background:#3b82f626;color:#60a5fa}.news-badge[data-src=rustafied]{background:#ff6b2b26;color:var(--rust-primary)}.news-badge[data-src=shadowfrax]{background:#a855f726;color:#c084fc}.news-badge[data-src=unknown]{background:#ffffff14;color:var(--text-secondary)}.news-card-title{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-excerpt{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-date{font-size:var(--text-2xs);color:var(--text-secondary);font-family:var(--font-heading);letter-spacing:.04em}.news-empty,.news-error{grid-column:1 / -1;text-align:center;padding:3rem 1rem;border-radius:6px;border:1px solid var(--bg-subtle);background:var(--bg-surface)}.news-empty-icon,.news-error-icon{font-size:var(--text-4xl);margin-bottom:.75rem;opacity:.7}.news-empty-title,.news-error-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);margin-bottom:.4rem}.news-empty-text,.news-error-text{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:.75rem}.news-retry-btn{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1.2rem;border-radius:4px;border:1px solid var(--rust-primary);background:transparent;color:var(--rust-primary);cursor:pointer;transition:all .2s ease}.news-retry-btn:hover{background:var(--rust-primary);color:var(--bg-deep)}@media(prefers-reduced-motion:reduce){.news-card{animation:none;opacity:1;transform:none}.news-card:hover,.news-card:hover .news-thumb,.news-filter:hover{transform:none}.news-skeleton{animation:none}}
