        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary-green: #10b981;
            --dark-green: #059669;
            --primary-teal: #14b8a6;
            --dark-teal: #0f766e;
            --bg-dark: #0f172a;
            --bg-light: #f8fafc;
            --text-dark: #1e293b;
            --text-light: #64748b;
            --accent: #34d399;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
            background: var(--bg-light);
        }

        .container {
            max-width: 760px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Article header */
        .article-header {
            background: linear-gradient(135deg, var(--bg-dark) 0%, #1e3a5f 100%);
            color: white;
            padding: 80px 20px 60px;
        }

        .back-link {
            display: inline-block;
            color: var(--accent);
            text-decoration: none;
            font-size: 0.95rem;
            margin-bottom: 2rem;
            transition: opacity 0.3s ease;
        }

        .back-link:hover {
            opacity: 0.8;
        }

        .article-header h1 {
            font-size: 2.5rem;
            font-weight: 700;
            letter-spacing: -0.02em;
            margin-bottom: 0.75rem;
        }

        .article-header .subtitle {
            font-size: 1.25rem;
            color: #cbd5e1;
            line-height: 1.5;
            margin-bottom: 1.25rem;
            font-weight: 300;
        }

        .article-header .article-date {
            color: var(--accent);
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        /* Article body */
        .article-body {
            padding: 60px 20px 80px;
            background: white;
        }

        .article-body p {
            font-size: 1.125rem;
            line-height: 1.85;
            margin-bottom: 1.5rem;
            color: var(--text-dark);
        }

        .article-body p strong {
            color: var(--primary-green);
        }

        .article-body p em {
            font-style: italic;
        }

        /* Article footer */
        .article-footer {
            background: var(--bg-light);
            padding: 40px 20px 50px;
            border-top: 1px solid #e2e8f0;
        }

        .article-footer .back-link {
            color: var(--primary-green);
            margin-bottom: 0;
        }

        footer {
            background: #020617;
            color: #64748b;
            text-align: center;
            padding: 2rem;
            font-size: 0.875rem;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .article-header {
                padding: 60px 20px 40px;
            }
            .article-header h1 {
                font-size: 1.85rem;
            }
            .article-header .subtitle {
                font-size: 1.05rem;
            }
            .article-body {
                padding: 40px 20px 60px;
            }
            .article-body p {
                font-size: 1.0625rem;
            }
        }

        /* Theme toggle */
        .theme-toggle {
            position: fixed;
            bottom: 1.5rem;
            right: 1.5rem;
            z-index: 200;
            width: 56px;
            height: 56px;
            border-radius: 50%;
            border: 2px solid #ff2d95;
            background: rgba(15, 23, 42, 0.85);
            color: #ff2d95;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0 20px rgba(255, 45, 149, 0.4), 0 0 40px rgba(0, 245, 255, 0.15);
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, color 0.3s ease;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        .theme-toggle:hover {
            transform: scale(1.1) rotate(15deg);
            box-shadow: 0 0 30px rgba(255, 45, 149, 0.7), 0 0 60px rgba(0, 245, 255, 0.4);
        }

        .theme-toggle:focus-visible {
            outline: 2px solid #00f5ff;
            outline-offset: 4px;
        }

        /* Cyberpunk theme */
        body.cyberpunk {
            background: #0a0015;
            color: #e0e8ff;
        }

        body.cyberpunk .theme-toggle {
            border-color: #00f5ff;
            color: #00f5ff;
            box-shadow: 0 0 20px rgba(0, 245, 255, 0.6), 0 0 40px rgba(255, 45, 149, 0.3);
        }

        body.cyberpunk .theme-toggle:hover {
            box-shadow: 0 0 30px rgba(0, 245, 255, 0.8), 0 0 60px rgba(255, 45, 149, 0.5);
        }

        body.cyberpunk::after {
            content: "";
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: repeating-linear-gradient(
                to bottom,
                transparent 0,
                transparent 2px,
                rgba(0, 245, 255, 0.035) 2px,
                rgba(0, 245, 255, 0.035) 3px
            );
            pointer-events: none;
            z-index: 150;
        }

        @keyframes gradientShift {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }

        body.cyberpunk .article-header {
            background: linear-gradient(135deg, #0a0015 0%, #1a0533 40%, #0d0221 100%);
            background-size: 220% 220%;
            animation: gradientShift 24s ease-in-out infinite;
        }

        body.cyberpunk .article-header h1 {
            color: #fff;
            text-shadow: 0 0 20px #ff2d95, 0 0 40px rgba(255, 45, 149, 0.7);
        }

        body.cyberpunk .article-header .subtitle {
            color: #c8d3ff;
        }

        body.cyberpunk .article-header .article-date {
            color: #00f5ff;
            text-shadow: 0 0 12px rgba(0, 245, 255, 0.6);
        }

        body.cyberpunk .back-link {
            color: #00f5ff;
        }

        body.cyberpunk .article-body {
            background: #120826;
        }

        body.cyberpunk .article-body p {
            color: #c8d3ff;
        }

        body.cyberpunk .article-body p strong {
            color: #ff2d95;
            text-shadow: 0 0 8px rgba(255, 45, 149, 0.4);
        }

        body.cyberpunk .article-footer {
            background: #0d0221;
            border-top-color: rgba(255, 45, 149, 0.2);
        }

        body.cyberpunk .article-footer .back-link {
            color: #00f5ff;
        }

        body.cyberpunk footer {
            background: #000;
            color: #5c4f7a;
        }

        @media (prefers-reduced-motion: reduce) {
            body.cyberpunk .article-header {
                animation: none;
            }
            .theme-toggle,
            .theme-toggle:hover {
                transition: none;
                transform: none;
            }
        }

        /* ============================================
           Language switch
           ============================================ */
        .lang-switch {
            position: fixed;
            top: 1.5rem;
            right: 1.5rem;
            z-index: 200;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 44px;
            height: 36px;
            padding: 0 0.85rem;
            border-radius: 20px;
            border: 1px solid rgba(16, 185, 129, 0.5);
            background: rgba(255, 255, 255, 0.85);
            color: var(--dark-green);
            font-size: 0.85rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-decoration: none;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease;
        }

        .lang-switch:hover {
            background: var(--primary-green);
            color: #fff;
            transform: translateY(-1px);
            box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3);
        }

        .lang-switch:focus-visible {
            outline: 2px solid var(--primary-green);
            outline-offset: 3px;
        }

        body.cyberpunk .lang-switch {
            border-color: #00f5ff;
            background: rgba(10, 0, 21, 0.85);
            color: #00f5ff;
            box-shadow: 0 0 12px rgba(0, 245, 255, 0.35);
        }

        body.cyberpunk .lang-switch:hover {
            background: #00f5ff;
            color: #0a0015;
            box-shadow: 0 0 22px rgba(0, 245, 255, 0.6);
        }
