:root {
            --accent: #ff0000;
            --bg-deep: #050505;
            --text-pure: #ffffff;
            --text-dim: #999999;
            --border: rgba(255, 255, 255, 0.15);
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            border-radius: 0 !important;
        }

        body {
            background-color: var(--bg-deep);
            color: var(--text-pure);
            font-family: 'Montserrat', sans-serif;
            overflow-x: hidden;
            min-height: 100vh;
        }

        .main-bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url('https://empirebay-gta.online/forum-assets/fon.jpg') no-repeat center center;
            background-size: cover;
            z-index: -5;
            filter: brightness(0.2) contrast(1.15);
        }

        .vignette {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle, transparent 10%, rgba(0,0,0,0.98) 100%);
            z-index: -2;
            pointer-events: none;
        }

        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100px;
            padding: 0 7%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            z-index: 100;
            border-bottom: 1px solid var(--border);
            background: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent);
            backdrop-filter: blur(8px);
        }

        .header-left {
            display: flex;
            align-items: center;
            gap: 70px;
        }

        .logo-box img {
            height: 42px;
            width: auto;
        }

        nav {
            display: flex;
            gap: 50px;
        }

        nav a {
            color: var(--text-dim);
            text-decoration: none;
            text-transform: uppercase;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 4px;
            position: relative;
            padding: 10px 0;
            transition: var(--transition);
        }

        nav a:hover, nav a.active {
            color: var(--text-pure);
        }

        nav a.active::after {
            content: "";
            position: absolute;
            bottom: -35px;
            left: 0;
            width: 100%;
            height: 3px;
            background: #fff;
        }

        .btn-cabinet {
            background: transparent;
            color: #fff;
            padding: 12px 25px;
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 2px;
            text-decoration: none;
            transition: var(--transition);
            display: flex;
            align-items: center;
            border: 1px solid rgba(255,255,255,0.4);
            white-space: nowrap;
        }

        .btn-cabinet i {
            padding-right: 18px;
            margin-right: 18px;
            border-right: 1px solid rgba(255, 255, 255, 0.2);
        }

        .btn-cabinet:hover {
            background: #fff;
            color: #000;
            border-color: #fff;
        }

        .admin-link {
            position: absolute;
            top: 120px;
            right: 7%;
            color: var(--text-dim);
            text-decoration: none;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: var(--transition);
        }

        .admin-link:hover {
            color: var(--accent);
        }

        .news-container {
            max-width: 1200px;
            margin: 150px auto 100px;
            padding: 0 20px;
        }

        .page-title {
            font-family: 'Oswald', sans-serif;
            font-size: 60px;
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 50px;
            text-align: center;
            position: relative;
            padding-bottom: 20px;
        }

        .page-title:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 3px;
            background: var(--accent);
        }

        .news-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
            gap: 30px;
            margin-bottom: 80px;
        }

        .news-card {
            background: rgba(15, 15, 15, 0.8);
            border: 1px solid var(--border);
            padding: 30px;
            transition: var(--transition);
            backdrop-filter: blur(10px);
            min-height: 300px;
            display: flex;
            flex-direction: column;
        }

        .news-card:hover {
            border-color: var(--accent);
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(255, 0, 0, 0.1);
        }

        .news-date {
            color: var(--accent);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 15px;
            display: block;
        }

        .news-title {
            font-family: 'Oswald', sans-serif;
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 15px;
            line-height: 1.3;
            flex-grow: 0;
        }

        .news-content {
            color: var(--text-dim);
            line-height: 1.6;
            margin-bottom: 20px;
            flex-grow: 1;
        }

        .news-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: auto;
        }

        .news-tag {
            background: rgba(255, 255, 255, 0.1);
            color: var(--text-dim);
            padding: 4px 12px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .no-news {
            grid-column: 1 / -1;
            text-align: center;
            padding: 60px 20px;
            color: var(--text-dim);
            font-size: 18px;
            border: 1px dashed var(--border);
        }

        .loading {
            grid-column: 1 / -1;
            text-align: center;
            padding: 60px 20px;
            color: var(--text-dim);
            font-size: 14px;
        }

        .loading-spinner {
            display: inline-block;
            width: 40px;
            height: 40px;
            border: 3px solid rgba(255,255,255,.3);
            border-radius: 50%;
            border-top-color: var(--accent);
            animation: spin 1s ease-in-out infinite;
            margin-bottom: 20px;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        footer {
            position: fixed;
            bottom: 40px;
            left: 7%;
            right: 7%;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            z-index: 10;
            pointer-events: none;
        }

        footer * {
            pointer-events: auto;
        }

        .footer-left {
            display: flex;
            gap: clamp(30px, 5vw, 80px);
        }

        .copyright {
            font-size: 9px;
            color: #333;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        @media (max-width: 1024px) {
            .news-grid {
                grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
                padding: 0 10px;
            }
            
            .news-container {
                margin-top: 120px;
                padding: 0 15px;
            }
            
            nav {
                display: none;
            }
            
            .admin-link {
                position: static;
                text-align: center;
                margin: 20px 0;
            }
        }

        @media (max-width: 768px) {
            .news-grid {
                grid-template-columns: 1fr;
            }
            
            .page-title {
                font-size: 40px;
            }
            
            .footer-content {
                flex-direction: column;
                gap: 20px;
                text-align: center;
            }
        }

        @media (max-width: 600px) {
            header {
                height: 80px;
                padding: 0 5%;
            }
            
            .logo-box img {
                height: 32px;
            }
            
            .btn-cabinet {
                padding: 10px 15px;
                font-size: 10px;
            }
            
            .news-container {
                margin-top: 100px;
            }
        }