@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#555;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#777}body{background-color:#1a1a1a;background-image:url(https://www.transparenttextures.com/patterns/dark-denim-3.png);background-attachment:fixed;color:#d1d1d1;font-family:Roboto,sans-serif;margin:0;padding:0;min-height:100vh}.app-wrapper{position:relative}.container{max-width:1600px;margin:2.5rem auto 0;padding:20px}.app-header{padding:2rem 20px;border-bottom:1px solid #444}.header-container{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:1600px;margin:0 auto;text-align:center}.header-logo{height:180px;width:auto;margin-bottom:1rem}.tabs-container{position:relative;display:flex;margin:0 auto 2.5rem;width:fit-content;background-color:#222;border-radius:50px;padding:5px;border:1px solid #444;box-shadow:inset 0 2px 4px #0006}.tab-glider{position:absolute;top:5px;left:0;height:calc(100% - 10px);background-color:#d1d1d1;border-radius:50px;transition:all .35s cubic-bezier(.25,.46,.45,.94);z-index:1}.tab-btn{position:relative;z-index:2;font-family:Oswald,sans-serif;font-size:1.1rem;letter-spacing:.05rem;text-transform:uppercase;color:#fff;mix-blend-mode:difference;background-color:transparent;border:none;padding:.6rem 1.8rem;cursor:pointer;white-space:nowrap;border-radius:50px}.tab-btn:focus-visible{outline:2px solid #d1d1d1;outline-offset:2px}.main-title{font-family:Oswald,sans-serif;font-size:3.5rem;font-weight:500;text-align:center;color:#d1d1d1;letter-spacing:.3rem;margin:0;text-transform:uppercase;text-shadow:2px 2px 4px rgba(0,0,0,.5);opacity:.61}.main-subtitle{font-family:"Noto Serif JP",serif;font-size:1.2rem;color:#888;margin:-5px 0 0;letter-spacing:.1rem}.loader-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;gap:1.5rem}.loader-container p{font-style:italic;color:#888;font-size:1.1rem;text-align:center;margin:0}.error-message{background-color:#2a1a1a;color:#d1b5b5;border:1px solid #8c2a2a;padding:1.5rem;border-radius:4px;text-align:center;margin:2rem auto;max-width:700px}@media (max-width: 768px){.header-logo{height:150px}.container{padding:15px;margin-top:1.5rem}.main-title{font-size:2.8rem}.tabs-container{margin-bottom:2rem}.tab-btn{font-size:1rem;padding:.6rem 1.5rem}}@media (max-width: 480px){.app-header{padding:1.5rem 15px}.header-logo{height:130px}.main-title{font-size:2.2rem;letter-spacing:.1rem}.main-subtitle{font-size:1rem}.tab-btn{padding:.5rem 1rem;font-size:.9rem}}.back-to-top-btn{position:fixed;bottom:25px;right:25px;width:50px;height:50px;background-color:#222;border:1px solid #555;border-radius:4px;color:#d1d1d1;font-size:1.5rem;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 5px 15px #000000b3;transition:all .3s ease-in-out;z-index:1000;opacity:0;transform:translateY(20px);pointer-events:none}.back-to-top-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top-btn:hover{background-color:#d1d1d1;border-color:#d1d1d1;color:#1a1a1a;transform:scale(1.1)}@media (max-width: 480px){.back-to-top-btn{width:45px;height:45px;font-size:1.3rem;bottom:15px;right:15px}}@keyframes progress-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress-bar-container{width:350px;max-width:80vw;height:15px;background-color:#111;border:1px solid #555;border-radius:4px;overflow:hidden;box-shadow:inset 0 2px 4px #0006}.progress-bar{height:100%;background:linear-gradient(90deg,#b71c1c,#d32f2f);transition:width .4s cubic-bezier(.25,.46,.45,.94);border-radius:3px;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px;animation:progress-stripes 2s linear infinite}.progress-bar.indeterminate{width:100%;transition:none}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;margin-top:0}.article-card{background-color:#222;border:1px solid #555;border-radius:4px;overflow:hidden;text-decoration:none;color:#d1d1d1;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 5px 15px #00000080;opacity:0;animation:fadeInUp .4s ease-out forwards}.article-card:hover,.article-card:focus{transform:translateY(-5px);box-shadow:0 8px 20px #000000b3;border-color:#aaa}.image-container{height:200px;width:100%;overflow:hidden;background-color:#111;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E")}.article-image{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(80%) sepia(10%) brightness(.9);opacity:0;transition:transform .3s ease,filter .3s ease,opacity .5s ease-in-out}.article-image.loaded{opacity:1}.article-card:hover .article-image{transform:scale(1.05);filter:none}.card-content{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.article-headline{font-size:1.2rem;font-weight:700;margin:0;line-height:1.4;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05rem}.article-description{font-size:.9rem;color:#a0a0a0;line-height:1.5;margin-top:.75rem}.article-date{font-size:.75rem;color:#888;white-space:nowrap;text-transform:uppercase;flex-shrink:0}.source-badge{align-self:flex-start;background-color:transparent;border:1px solid #777;color:#bbb;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;margin-bottom:0;flex-shrink:0}.author-badge{border-color:#a44;color:#c99}.load-more-container{text-align:center;margin-top:3rem}.load-more-btn{font-family:Oswald,sans-serif;font-size:1.3rem;letter-spacing:.1rem;color:#d1d1d1;background:transparent;border:1px solid #777;padding:.75rem 2.5rem;border-radius:4px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;min-height:54px;display:inline-flex;justify-content:center;align-items:center}.load-more-btn:hover:not(:disabled),.load-more-btn:focus:not(:disabled){background:#d1d1d1;color:#1a1a1a;border-color:#d1d1d1}.load-more-btn:disabled{cursor:wait;background:#333;border-color:#555;color:#777}.load-more-btn .loader{width:24px;height:24px}.load-more-btn .loader-shard{border-width:2px}.image-container.fallback-image{background-image:url(https://www.headbang.co.za/app/logo/thumbnail.png);background-color:#2a2a2a;background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width: 480px){.article-grid{grid-template-columns:1fr;gap:1.5rem}}.loader{width:60px;height:60px;position:relative;animation:spin 1.5s linear infinite}.loader-shard{box-sizing:border-box;position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#d1d1d1;border-radius:50%}.seo-content-section{margin-top:4rem;padding:3rem 2rem;border-top:1px solid #444;background-color:#111;background-image:url(https://www.transparenttextures.com/patterns/black-felt.png);opacity:0;animation:fadeInUp .8s ease-out forwards;animation-delay:.5s}.seo-container{max-width:1200px;margin:0 auto}.seo-main-title{font-family:Oswald,sans-serif;font-size:2.5rem;text-align:center;color:#d1d1d1;text-transform:uppercase;letter-spacing:.2rem;margin-bottom:1.5rem;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.seo-intro{font-family:Roboto,sans-serif;font-size:1.1rem;line-height:1.7;color:#aaa;text-align:center;max-width:900px;margin:0 auto 3rem}.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.seo-column h3{font-family:Oswald,sans-serif;font-size:1.5rem;color:#d1d1d1;letter-spacing:.1rem;border-bottom:1px solid #777;padding-bottom:.5rem;margin-bottom:1rem;text-transform:uppercase}.seo-column p{font-family:Roboto,sans-serif;font-size:1rem;line-height:1.6;color:#a0a0a0;margin:0}@media (max-width: 768px){.seo-content-section{padding:2.5rem 1rem}.seo-main-title{font-size:2rem}.seo-intro{font-size:1rem}.seo-column h3{font-size:1.3rem}}.search-container{margin-top:2rem;width:100%;max-width:600px;position:relative}.search-icon{position:absolute;top:50%;left:1rem;transform:translateY(-50%);width:22px;height:22px;fill:#777;pointer-events:none;transition:fill .3s ease}.search-input{width:100%;padding:.75rem 1.25rem .75rem 3rem;font-size:1.1rem;font-family:Roboto,sans-serif;color:#d1d1d1;background-color:#222;border:1px solid #555;border-radius:50px;box-shadow:inset 0 2px 4px #0006;transition:border-color .3s ease,box-shadow .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::placeholder{color:#777}.search-input:focus{outline:none;border-color:#d1d1d1;box-shadow:inset 0 2px 4px #0006,0 0 10px #d1d1d140}.search-input:focus+.search-icon,.search-container:focus-within .search-icon{fill:#d1d1d1}.search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;width:20px;margin-left:.5rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");cursor:pointer;opacity:.7;transition:opacity .2s ease}.search-input:focus::-webkit-search-cancel-button{opacity:1}@media (max-width: 768px){.search-container{margin-top:1.5rem}.search-icon{width:20px;height:20px}.search-input{font-size:1rem;padding:.6rem 1rem .6rem 2.5rem}}.app-footer{margin-top:4rem;padding:2rem;text-align:center;background-color:#111;border-top:1px solid #444;background-image:url(https://www.transparenttextures.com/patterns/black-felt.png)}.app-footer p{margin:0;font-size:.9rem;color:#888;font-family:Roboto,sans-serif;letter-spacing:.05rem;text-transform:uppercase}@media (max-width: 480px){.app-footer{padding:1.5rem 1rem;margin-top:3rem}.app-footer p{font-size:.8rem}}
