/* Extracted from welcome.blade.php */
:root {
            --primary: #00A86B;
            --secondary: #00C87C;
            --accent: #00E68A;
            --dark: #000000;
            --light: #F5F9F7;
            --bg-body: #F5F9F7;
            --bg-surface: #FFFFFF;
            --text-main: #111827;
            --text-muted: #6B7280;
            --border-color: #E5E7EB;
            --gradient-1: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            --gradient-2: linear-gradient(135deg, #00C87C 0%, #00E68A 100%);
            --shadow-lg: 0 20px 60px rgba(0, 168, 107, 0.15);
            --shadow-xl: 0 30px 80px rgba(0, 168, 107, 0.2);
            --header-bg: rgba(255,255,255,0.95);
        }

        [data-theme="dark"] {
            --bg-body: #0f172a;
            --bg-surface: #1e293b;
            --text-main: #f8fafc;
            --text-muted: #94a3b8;
            --border-color: #334155;
            --header-bg: rgba(15, 23, 42, 0.95);
            --dark: #f8fafc;
        }

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

        body {
            font-family: 'Outfit', sans-serif;
            background: var(--bg-body);
            color: var(--text-main);
            overflow-x: hidden;
            line-height: 1.6;
            transition: background 0.3s, color 0.3s;
        }

        /* Header */
        header {
            position: fixed;
            top: 0;
            width: 100%;
            padding: 1.5rem 5%;
            background: var(--bg-body);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
            z-index: 1000;
            animation: slideDown 0.6s ease-out;
            border-bottom: 1px solid var(--border-color);
        }

        @keyframes slideDown {
            from {
                transform: translateY(-100%);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        nav {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
        }

        .logo-badge {
            background: var(--primary);
            color: white;
            padding: 0.3rem 0.8rem;
            border-radius: 12px;
            font-weight: 900;
        }

        .nav-links {
            display: flex;
            gap: 2.5rem;
            list-style: none;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--text-main);
            font-weight: 600;
            transition: color 0.3s;
            position: relative;
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 3px;
            background: var(--primary);
            transition: width 0.3s;
        }

        .nav-links a:hover::after {
            width: 100%;
        }

        /* Hero Section */
        .hero {
            margin-top: 80px;
            padding: 8rem 5% 6rem;
            background: linear-gradient(165deg, #00A86B 0%, #00C87C 50%, #00E68A 100%);
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 20s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translate(0, 0) rotate(0deg); }
            50% { transform: translate(-50px, 50px) rotate(180deg); }
        }

        .hero-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .hero-text h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 4rem;
            font-weight: 900;
            color: white;
            line-height: 1.1;
            margin-bottom: 1.5rem;
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        .hero-text h1 span {
            color: white;
            display: block;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .hero-text p {
            font-size: 1.3rem;
            color: rgba(255, 255, 255, 0.9);
            margin-bottom: 3rem;
            animation: fadeInUp 0.8s ease-out 0.4s both;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .download-buttons {
            display: flex;
            gap: 1.5rem;
            animation: fadeInUp 0.8s ease-out 0.6s both;
        }

        .btn-download {
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            padding: 1.2rem 2rem;
            background: white;
            color: #000000;
            text-decoration: none;
            border-radius: 16px;
            font-weight: 700;
            font-size: 1.1rem;
            box-shadow: var(--shadow-lg);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .btn-download::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: var(--gradient-1);
            transition: left 0.4s ease;
            z-index: -1;
        }

        .btn-download:hover::before {
            left: 0;
        }

        .btn-download:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-xl);
            color: white;
        }

        .btn-icon {
            width: 32px;
            height: 32px;
        }

        .hero-image {
            position: relative;
            animation: fadeInRight 0.8s ease-out 0.4s both;
        }

        @keyframes fadeInRight {
            from {
                opacity: 0;
                transform: translateX(50px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .phone-showcase {
            display: flex;
            gap: 1.5rem;
            justify-content: center;
            align-items: center;
            perspective: 1000px;
        }

        .phone-screen {
            width: 280px;
            border-radius: 40px;
            overflow: hidden;
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
            animation: phoneFloat 6s ease-in-out infinite;
            transform-style: preserve-3d;
            transition: transform 0.3s;
        }

        .phone-screen:hover {
            transform: scale(1.05) rotateY(5deg);
        }

        .phone-screen-small {
            width: 220px;
            border-radius: 35px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            animation: phoneFloat 6s ease-in-out infinite 0.5s;
            transition: transform 0.3s;
        }

        .phone-screen-small:hover {
            transform: scale(1.05);
        }

        @keyframes phoneFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        .app-screenshot {
            width: 100%;
            height: auto;
            display: block;
        }

        /* Features Section */
        .features {
            padding: 8rem 5%;
            background: var(--bg-surface);
        }

        .section-title {
            text-align: center;
            max-width: 800px;
            margin: 0 auto 5rem;
        }

        .section-title h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 3rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 1rem;
            animation: fadeInUp 0.8s ease-out;
        }

        .section-title p {
            font-size: 1.2rem;
            color: var(--text-muted);
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        .features-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 3rem;
        }

        .feature-card {
            background: var(--bg-body);
            padding: 3rem 2rem;
            border-radius: 24px;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            animation: fadeInUp 0.8s ease-out both;
            border: 1px solid var(--border-color);
        }

        .feature-card:nth-child(1) { animation-delay: 0.1s; }
        .feature-card:nth-child(2) { animation-delay: 0.2s; }
        .feature-card:nth-child(3) { animation-delay: 0.3s; }
        .feature-card:nth-child(4) { animation-delay: 0.4s; }
        .feature-card:nth-child(5) { animation-delay: 0.5s; }
        .feature-card:nth-child(6) { animation-delay: 0.6s; }

        .feature-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 6px;
            background: var(--gradient-1);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.4s ease;
        }

        .feature-card:hover {
            transform: translateY(-10px);
            box-shadow: var(--shadow-lg);
        }

        .feature-card:hover::before {
            transform: scaleX(1);
        }

        .feature-icon {
            width: 70px;
            height: 70px;
            background: var(--gradient-2);
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            margin-bottom: 1.5rem;
            box-shadow: 0 10px 30px rgba(0, 168, 107, 0.2);
        }

        .feature-card h3 {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 1rem;
            color: var(--text-main);
        }

        .feature-card p {
            color: var(--text-muted);
            line-height: 1.8;
        }

        /* Screenshots Section */
        .screenshots {
            padding: 8rem 5%;
            background: var(--bg-body);
        }

        .screenshots-slider {
            max-width: 1400px;
            margin: 3rem auto 0;
            display: flex;
            gap: 2rem;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding: 2rem 0;
            scrollbar-width: none;
        }

        .screenshots-slider::-webkit-scrollbar {
            display: none;
        }

        .screenshot-item {
            flex: 0 0 auto;
            width: 300px;
            border-radius: 40px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            scroll-snap-align: center;
            transition: transform 0.3s;
        }

        .screenshot-item:hover {
            transform: scale(1.05);
        }

        .screenshot-item img {
            width: 100%;
            height: auto;
            display: block;
        }

        /* Stats Section */
        .stats {
            padding: 6rem 5%;
            background: #0a0f0d;
            position: relative;
            overflow: hidden;
        }

        .stats::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -10%;
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(0, 168, 107, 0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .stats-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 4rem;
            position: relative;
            z-index: 1;
        }

        .stat-item {
            text-align: center;
            animation: fadeInUp 0.8s ease-out both;
        }

        .stat-item:nth-child(1) { animation-delay: 0.1s; }
        .stat-item:nth-child(2) { animation-delay: 0.2s; }
        .stat-item:nth-child(3) { animation-delay: 0.3s; }

        .stat-number {
            font-family: 'Montserrat', sans-serif;
            font-size: 4rem;
            font-weight: 900;
            background: var(--gradient-1);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
        }

        .stat-label {
            font-size: 1.2rem;
            color: rgba(255, 255, 255, 0.8);
            font-weight: 600;
        }

        /* CTA Section */
        .cta {
            padding: 8rem 5%;
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta::before {
            content: '';
            position: absolute;
            bottom: -30%;
            right: -15%;
            width: 700px;
            height: 700px;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .cta-content {
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .cta h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 3.5rem;
            font-weight: 900;
            color: white;
            margin-bottom: 1.5rem;
            animation: fadeInUp 0.8s ease-out;
        }

        .cta p {
            font-size: 1.3rem;
            color: rgba(255, 255, 255, 0.95);
            margin-bottom: 3rem;
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        /* Footer */
        footer {
            background: #000000;
            padding: 4rem 5% 2rem;
            color: rgba(255, 255, 255, 0.7);
        }

        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 4rem;
            margin-bottom: 3rem;
        }

        .footer-brand h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2rem;
            font-weight: 900;
            color: white;
            margin-bottom: 1rem;
        }

        .footer-brand .logo-badge {
            background: var(--primary);
            color: white;
            padding: 0.3rem 0.8rem;
            border-radius: 10px;
            font-weight: 900;
            display: inline-block;
        }

        .footer-brand p {
            line-height: 1.8;
            margin-top: 1rem;
        }

        .footer-links h4 {
            color: white;
            font-weight: 700;
            margin-bottom: 1rem;
        }

        .footer-links ul {
            list-style: none;
        }

        .footer-links li {
            margin-bottom: 0.8rem;
        }

        .footer-links a {
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            transition: color 0.3s;
        }

        .footer-links a:hover {
            color: var(--primary);
        }

        .footer-bottom {
            text-align: center;
            padding-top: 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* Responsive */
        @media (max-width: 968px) {
            .hero-content {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .hero-text h1 {
                font-size: 3rem;
            }

            .phone-showcase {
                flex-wrap: wrap;
            }

            .download-buttons {
                justify-content: center;
                flex-wrap: wrap;
            }

            .nav-links {
                display: none;
            }

            .section-title h2 {
                font-size: 2.5rem;
            }

            .footer-content {
                grid-template-columns: 1fr;
                text-align: center;
            }
        }

        @media (max-width: 640px) {
            .hero {
                padding: 6rem 5% 4rem;
            }

            .hero-text h1 {
                font-size: 2.5rem;
            }

            .hero-text p {
                font-size: 1.1rem;
            }

            .btn-download {
                padding: 1rem 1.5rem;
                font-size: 1rem;
            }

            .phone-screen {
                width: 240px;
            }

            .phone-screen-small {
                width: 180px;
            }

            .section-title h2 {
                font-size: 2rem;
            }

            .cta h2 {
                font-size: 2.5rem;
            }

            .features {
                padding: 6rem 5%;
            }

            .screenshots {
                padding: 6rem 5%;
            }
        }

/* Extracted from faq.blade.php */
.hero {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            padding: 4rem 2rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.8;
        }
        .hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(2rem, 5vw, 2.8rem);
            font-weight: 900;
            color: white;
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
            position: relative;
            z-index: 2;
        }
        .hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.05rem;
            max-width: 580px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .faq-container {
            max-width: 800px;
            margin: 3rem auto 4rem;
            position: relative;
            z-index: 10;
            padding: 0 1.5rem;
        }

        .faq-accordion {
            background: var(--bg-card);
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            overflow: hidden;
            border: 1px solid var(--border-color);
        }

        .faq-item {
            border-bottom: 1px solid var(--border-color);
        }

        .faq-item:last-child {
            border-bottom: none;
        }

        .faq-question {
            width: 100%;
            text-align: left;
            padding: 1.5rem;
            background: none;
            border: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--text-color);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .faq-question:hover {
            color: #00A86B;
            background-color: rgba(0, 168, 107, 0.02);
        }

        .faq-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(0, 168, 107, 0.1);
            color: #00A86B;
            transition: transform 0.3s ease;
            flex-shrink: 0;
            margin-left: 1rem;
        }

        .faq-item.active .faq-icon {
            transform: rotate(45deg);
            background: #00A86B;
            color: white;
        }

        .faq-item.active .faq-question {
            color: #00A86B;
            padding-bottom: 0.5rem;
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s cubic-bezier(0, 1, 0, 1);
        }

        .faq-item.active .faq-answer {
            max-height: 1000px;
            transition: max-height 0.6s ease-in-out;
        }

        .faq-answer-inner {
            padding: 0 1.5rem 1.5rem;
            color: var(--text-muted);
            line-height: 1.6;
            font-size: 0.95rem;
        }

        [data-theme="dark"] .faq-accordion {
            background: var(--bg-card);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        [data-theme="dark"] .faq-question:hover {
            background-color: rgba(0, 168, 107, 0.1);
        }

/* Extracted from privacy-policy.blade.php */
.hero {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            padding: 4rem 2rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.8;
        }
        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: rgba(255,255,255,0.15);
            border: 1px solid rgba(255,255,255,0.25);
            color: white;
            padding: 0.35rem 1rem;
            border-radius: 100px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-bottom: 1rem;
            backdrop-filter: blur(8px);
            position: relative;
            z-index: 2;
        }
        .hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(2rem, 5vw, 2.8rem);
            font-weight: 900;
            color: white;
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
            position: relative;
            z-index: 2;
        }
        .hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.05rem;
            max-width: 580px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }
        .hero-date {
            margin-top: 1.25rem;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.15);
            color: rgba(255,255,255,0.9);
            padding: 0.4rem 1rem;
            border-radius: 8px;
            font-size: 0.82rem;
            position: relative;
            z-index: 2;
        }

        .container-privacy {
            max-width: 860px;
            margin: 0 auto;
            padding: 4rem 1.5rem;
        }

        .toc {
            background: var(--bg-surface);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            padding: 2rem;
            margin-bottom: 3.5rem;
            box-shadow: 0 10px 30px rgba(0, 168, 107, 0.02);
        }
        .toc h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.95rem;
            font-weight: 800;
            color: var(--primary);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 1.25rem;
        }
        .toc ol {
            list-style: none;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
        }
        @media(max-width: 640px){
            .toc ol { grid-template-columns: 1fr; }
        }
        .toc ol li a {
            color: var(--text-main);
            text-decoration: none;
            font-size: 0.92rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.25rem 0;
            transition: all 0.2s ease;
        }
        .toc ol li a:hover {
            color: var(--primary);
            transform: translateX(4px);
        }
        .toc ol li a::before {
            content: attr(data-num);
            background: var(--primary);
            color: white;
            font-size: 0.75rem;
            font-weight: 700;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .section {
            margin-bottom: 3.5rem;
            scroll-margin-top: 90px;
        }
        .section-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.25rem;
        }
        .section-num {
            width: 36px;
            height: 36px;
            background: var(--primary);
            color: white;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 0.95rem;
            flex-shrink: 0;
        }
        .section h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.35rem;
            font-weight: 800;
            color: var(--text-main);
            letter-spacing: -0.01em;
        }
        .section p {
            color: var(--text-muted);
            font-size: 0.98rem;
            line-height: 1.7;
            margin-bottom: 0.75rem;
        }
        .section p:last-child { margin-bottom: 0; }

        .card-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 1.25rem;
            margin-top: 1.5rem;
        }
        .card {
            background: var(--bg-surface);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0,0,0,0.01);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .card:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(0, 168, 107, 0.04);
        }
        .card-icon { font-size: 1.75rem; margin-bottom: 0.75rem; }
        .card h4 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }
        .card p { font-size: 0.88rem; color: var(--text-muted); margin: 0; line-height: 1.6; }

        .styled-list { list-style: none; margin-top: 1rem; }
        .styled-list li {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            padding: 0.65rem 0;
            border-bottom: 1px solid var(--border-color);
            font-size: 0.95rem;
            color: var(--text-muted);
        }
        .styled-list li:last-child { border-bottom: none; }
        .styled-list li::before {
            content: '✓';
            color: var(--primary);
            font-weight: 800;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .highlight {
            background: rgba(245, 158, 11, 0.05);
            border: 1px solid rgba(245, 158, 11, 0.2);
            border-left: 4px solid var(--accent);
            border-radius: 12px;
            padding: 1.25rem 1.5rem;
            margin-top: 1.25rem;
        }
        .highlight p { color: #d97706; font-size: 0.92rem; margin: 0; font-weight: 500; }
        [data-theme="dark"] .highlight p { color: #fbbf24; }

        .info-box {
            background: rgba(0, 168, 107, 0.04);
            border: 1px solid rgba(0, 168, 107, 0.2);
            border-left: 4px solid var(--primary);
            border-radius: 12px;
            padding: 1.25rem 1.5rem;
            margin-top: 1.25rem;
        }
        .info-box p { color: var(--primary); font-size: 0.92rem; margin: 0; font-weight: 500; }

        .divider { border: none; border-top: 1px solid var(--border-color); margin: 3rem 0; }

        .contact-card {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            border-radius: 24px;
            padding: 3rem 2rem;
            text-align: center;
            color: white;
            margin-top: 4rem;
            box-shadow: 0 15px 35px rgba(0, 168, 107, 0.2);
            position: relative;
            overflow: hidden;
        }
        .contact-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .contact-card h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.6rem;
            font-weight: 900;
            margin-bottom: 0.75rem;
            position: relative;
            z-index: 2;
        }
        .contact-card p {
            color: rgba(255,255,255,0.9);
            font-size: 0.98rem;
            margin-bottom: 2rem;
            position: relative;
            z-index: 2;
        }
        .contact-links {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1rem;
            position: relative;
            z-index: 2;
        }
        .contact-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: white;
            color: var(--primary);
            padding: 0.75rem 1.5rem;
            border-radius: 12px;
            text-decoration: none;
            font-weight: 700;
            font-size: 0.92rem;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }
        .contact-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0,0,0,0.15);
            color: var(--primary);
        }

        @media (max-width: 640px) {
            .hero { padding: 3rem 1.5rem; }
            .container-privacy { padding: 2.5rem 1rem; }
            .contact-card { padding: 2rem 1.25rem; }
        }

/* Extracted from remove-account.blade.php */
.hero {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            padding: 4rem 2rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.8;
        }
        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: rgba(255,255,255,0.15);
            border: 1px solid rgba(255,255,255,0.25);
            color: white;
            padding: 0.35rem 1rem;
            border-radius: 100px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-bottom: 1rem;
            backdrop-filter: blur(8px);
            position: relative;
            z-index: 2;
        }
        .hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(2rem, 5vw, 2.8rem);
            font-weight: 900;
            color: white;
            margin-bottom: 0.75rem;
            letter-spacing: -0.02em;
            position: relative;
            z-index: 2;
        }
        .hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.05rem;
            max-width: 520px;
            margin: 0 auto;
            position: relative;
            z-index: 2;
        }

        .container-delete {
            max-width: 580px;
            margin: 0 auto;
            padding: 4rem 1.5rem;
        }

        .form-card {
            background: var(--bg-surface);
            border: 1px solid var(--border-color);
            border-radius: 24px;
            padding: 2.5rem;
            box-shadow: 0 15px 35px rgba(0, 168, 107, 0.03);
            transition: all 0.3s ease;
        }

        .form-card h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.4rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .form-card .subtitle {
            color: var(--text-muted);
            font-size: 0.95rem;
            margin-bottom: 2rem;
            line-height: 1.5;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            font-weight: 600;
            font-size: 0.9rem;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .phone-input-wrapper {
            display: flex;
            gap: 0.5rem;
        }

        .country-code {
            background: var(--bg-body);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 0.75rem 1rem;
            font-weight: 700;
            color: var(--text-main);
            font-size: 0.95rem;
            display: flex;
            align-items: center;
            gap: 0.4rem;
            transition: border-color 0.2s;
        }

        .phone-input {
            flex: 1;
            background: var(--bg-body);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 0.75rem 1rem;
            font-size: 0.95rem;
            color: var(--text-main);
            transition: all 0.2s;
            font-family: 'Outfit', sans-serif;
            font-weight: 600;
        }

        .phone-input:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(0, 168, 107, 0.15);
        }

        .phone-input::placeholder {
            color: var(--text-muted);
            opacity: 0.7;
        }

        .submit-btn {
            width: 100%;
            background: var(--gradient-1);
            color: white;
            border: none;
            border-radius: 12px;
            padding: 1rem 1.5rem;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.3s ease;
            font-family: 'Outfit', sans-serif;
            box-shadow: 0 8px 24px rgba(0, 168, 107, 0.15);
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 30px rgba(0, 168, 107, 0.25);
        }

        .submit-btn:active {
            transform: translateY(0);
        }

        .submit-btn:disabled {
            background: var(--text-muted);
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
            opacity: 0.6;
        }

        .success-message {
            display: none;
            background: rgba(0, 168, 107, 0.05);
            border: 1px solid rgba(0, 168, 107, 0.3);
            border-radius: 20px;
            padding: 2.5rem;
            text-align: center;
            margin-top: 1rem;
        }

        .success-message.show {
            display: block;
            animation: popIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
        }

        .success-message .icon-wrapper {
            width: 64px;
            height: 64px;
            background: rgba(0, 168, 107, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            margin: 0 auto 1.25rem;
            color: var(--primary);
        }

        .success-message h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.3rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .success-message p {
            color: var(--text-muted);
            font-size: 0.95rem;
            line-height: 1.5;
            margin: 0;
        }

        @keyframes popIn {
            from { opacity: 0; transform: scale(0.92); }
            to { opacity: 1; transform: scale(1); }
        }

        @media (max-width: 640px) {
            .hero { padding: 3rem 1.5rem; }
            .container-delete { padding: 2.5rem 1rem; }
            .form-card { padding: 1.75rem; }
        }

/* Extracted from home.blade.php */
/* Hero Section */
        .hero {
            padding: 8rem 5% 6rem;
            background: linear-gradient(165deg, #00A86B 0%, #00C87C 50%, #00E68A 100%);
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 20s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translate(0,0) rotate(0deg); }
            50% { transform: translate(-50px, 50px) rotate(180deg); }
        }

        .hero-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .hero-text h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 4rem;
            font-weight: 900;
            color: white;
            line-height: 1.1;
            margin-bottom: 1.5rem;
            animation: fadeInUp 0.8s ease-out 0.2s both;
        }

        .hero-text h1 span {
            display: block;
            text-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .hero-text p {
            font-size: 1.3rem;
            color: rgba(255,255,255,0.9);
            margin-bottom: 3rem;
            animation: fadeInUp 0.8s ease-out 0.4s both;
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .hero-buttons {
            display: flex;
            gap: 1.2rem;
            flex-wrap: wrap;
            animation: fadeInUp 0.8s ease-out 0.6s both;
        }

        .btn-primary-hero {
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            padding: 1.1rem 2rem;
            background: white;
            color: #111;
            text-decoration: none;
            border-radius: 16px;
            font-weight: 700;
            font-size: 1.05rem;
            box-shadow: 0 20px 60px rgba(0,168,107,0.15);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .btn-primary-hero::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: var(--gradient-1);
            transition: left 0.4s ease;
            z-index: -1;
        }

        .btn-primary-hero:hover::before { left: 0; }
        .btn-primary-hero:hover { transform: translateY(-4px); box-shadow: 0 30px 80px rgba(0,168,107,0.2); color: white; }

        .btn-secondary-hero {
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            padding: 1.1rem 2rem;
            background: rgba(255,255,255,0.15);
            color: white;
            text-decoration: none;
            border-radius: 16px;
            font-weight: 700;
            font-size: 1.05rem;
            border: 2px solid rgba(255,255,255,0.4);
            transition: all 0.3s ease;
            backdrop-filter: blur(5px);
        }

        .btn-secondary-hero:hover {
            background: rgba(255,255,255,0.25);
            transform: translateY(-4px);
        }

        .btn-icon { width: 28px; height: 28px; flex-shrink: 0; }

        /* Phone showcase */
        .hero-image {
            position: relative;
            animation: fadeInRight 0.8s ease-out 0.4s both;
        }

        @keyframes fadeInRight {
            from { opacity: 0; transform: translateX(50px); }
            to   { opacity: 1; transform: translateX(0); }
        }

        .phone-showcase {
            display: flex;
            gap: 1.5rem;
            justify-content: center;
            align-items: center;
        }

        .phone-screen {
            width: 260px;
            border-radius: 40px;
            overflow: hidden;
            box-shadow: 0 30px 80px rgba(0,0,0,0.4);
            animation: phoneFloat 6s ease-in-out infinite;
            transition: transform 0.3s;
        }

        .phone-screen:hover { transform: scale(1.05) rotateY(5deg); }

        .phone-screen-small {
            width: 200px;
            border-radius: 35px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            animation: phoneFloat 6s ease-in-out infinite 0.5s;
            transition: transform 0.3s;
        }

        .phone-screen-small:hover { transform: scale(1.05); }

        @keyframes phoneFloat {
            0%, 100% { transform: translateY(0); }
            50%       { transform: translateY(-20px); }
        }

        .app-screenshot { width: 100%; height: auto; display: block; }

        /* Features */
        .features {
            padding: 8rem 5%;
            background: var(--bg-surface);
        }

        .section-title {
            text-align: center;
            max-width: 800px;
            margin: 0 auto 5rem;
        }

        .section-title h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 3rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 1rem;
        }

        .section-title p { font-size: 1.2rem; color: var(--text-muted); }

        .features-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2.5rem;
        }

        .feature-card {
            background: var(--bg-body);
            padding: 2.5rem 2rem;
            border-radius: 24px;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

        .feature-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 6px;
            background: var(--gradient-1);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.4s ease;
        }

        .feature-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-lg); }
        .feature-card:hover::before { transform: scaleX(1); }

        .feature-icon {
            width: 68px;
            height: 68px;
            background: var(--gradient-2);
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            margin-bottom: 1.5rem;
            box-shadow: 0 10px 30px rgba(0,168,107,0.2);
        }

        .feature-card h3 { font-size: 1.4rem; font-weight: 700; margin-bottom: 0.8rem; color: var(--text-main); }
        .feature-card p  { color: var(--text-muted); line-height: 1.8; }

        /* Screenshots */
        .screenshots {
            padding: 8rem 5%;
            background: var(--bg-body);
        }

        .screenshots-slider {
            max-width: 1400px;
            margin: 3rem auto 0;
            display: flex;
            gap: 2rem;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding: 2rem 0;
            scrollbar-width: none;
            scrollbar-width: none;
        }

        .screenshots-slider::-webkit-scrollbar { display: none; }

        .screenshot-item {
            flex: 0 0 auto;
            width: 280px;
            border-radius: 40px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
            scroll-snap-align: center;
            transition: transform 0.3s;
        }

        .screenshot-item:hover { transform: scale(1.05); }
        .screenshot-item img { width: 100%; height: auto; display: block; }

        /* Stats */
        .stats {
            padding: 6rem 5%;
            background: #000;
            position: relative;
            overflow: hidden;
        }

        .stats::before {
            content: '';
            position: absolute;
            top: -50%; left: -10%;
            width: 600px; height: 600px;
            background: radial-gradient(circle, rgba(0,168,107,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .stats-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 4rem;
            position: relative;
            z-index: 1;
        }

        .stat-item { text-align: center; }

        .stat-number {
            font-family: 'Montserrat', sans-serif;
            font-size: 4rem;
            font-weight: 900;
            background: var(--gradient-1);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
        }

        .stat-label { font-size: 1.2rem; color: rgba(255,255,255,0.8); font-weight: 600; }

        /* CTA */
        .cta {
            padding: 8rem 5%;
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta::before {
            content: '';
            position: absolute;
            bottom: -30%; right: -15%;
            width: 700px; height: 700px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .cta-content { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }

        .cta h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 3.5rem;
            font-weight: 900;
            color: white;
            margin-bottom: 1.5rem;
        }

        .cta p {
            font-size: 1.3rem;
            color: rgba(255,255,255,0.95);
            margin-bottom: 3rem;
        }

        .cta-buttons {
            display: flex;
            gap: 1.2rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        /* Start test button */
        .btn-start {
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            padding: 1.1rem 2.5rem;
            background: white;
            color: var(--primary);
            text-decoration: none;
            border-radius: 16px;
            font-weight: 800;
            font-size: 1.1rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.15);
            transition: all 0.3s;
        }

        .btn-start:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(0,0,0,0.2); }

        /* Download buttons */
        .download-buttons {
            display: flex;
            gap: 1.5rem;
            flex-wrap: wrap;
        }

        .btn-download {
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            padding: 1.1rem 2rem;
            background: white;
            color: #111;
            text-decoration: none;
            border-radius: 16px;
            font-weight: 700;
            font-size: 1rem;
            box-shadow: 0 20px 60px rgba(0,168,107,0.15);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .btn-download::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: var(--gradient-1);
            transition: left 0.4s ease;
            z-index: -1;
        }

        .btn-download:hover::before { left: 0; }
        .btn-download:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); color: white; }

        /* Premium Section */
        .premium-section {
            padding: 8rem 5%;
            background: #fdfcf0;
            position: relative;
            overflow: hidden;
            transition: background 0.3s ease;
        }
        [data-theme="dark"] .premium-section { background: #1a1a0e; }

        .premium-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .premium-card-wrapper { position: relative; }
        .premium-card {
            background: var(--bg-surface);
            border-radius: 30px;
            padding: 2.5rem;
            box-shadow: var(--shadow-xl);
            border: 2px solid #FFD700;
            transform: rotate(-2deg);
        }
        .premium-card-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 2.2rem;
            font-weight: 900;
            margin-bottom: 1.5rem;
            color: var(--text-main);
        }
        .premium-card-title .logo-badge { background: #FFD700; color: #8B4513; padding: 0.2rem 0.7rem; border-radius: 10px; }
        .premium-card-desc { font-size: 1.1rem; color: var(--text-muted); margin-bottom: 2rem; }
        .premium-features { list-style: none; padding: 0; }
        .premium-features li { margin-bottom: 1rem; display: flex; align-items: center; gap: 0.8rem; font-weight: 600; color: var(--text-main); }
        .premium-features li span { color: #FFD700; font-size: 1.2rem; }
        .btn-premium-action {
            display: block;
            text-align: center;
            margin-top: 2rem;
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
            color: #8B4513 !important;
            padding: 1.1rem 2rem;
            border-radius: 16px;
            text-decoration: none;
            font-weight: 700;
            transition: all 0.3s;
        }
        .btn-premium-action:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(255,215,0,0.3); }

        .premium-decoration {
            position: absolute;
            z-index: -1;
            top: -20px;
            right: -20px;
            width: 100px;
            height: 100px;
            background: #FFD700;
            opacity: 0.2;
            border-radius: 50%;
        }

        .premium-text-content { color: var(--text-main); }
        .premium-main-title { font-family: 'Montserrat', sans-serif; font-size: 2.5rem; font-weight: 900; margin-bottom: 1.5rem; }
        .premium-main-desc { font-size: 1.15rem; color: var(--text-muted); line-height: 1.8; margin-bottom: 2rem; }
        .premium-stats { display: flex; gap: 2rem; }
        .premium-stat-item { flex: 1; }
        .stat-val { font-size: 2rem; font-weight: 900; color: var(--primary); }
        .stat-lbl { font-size: 0.9rem; color: var(--text-muted); font-weight: 600; }
        .premium-stat-sep { width: 1px; background: var(--border-color); }

        /* Responsive */
        @media (max-width: 968px) {
            .hero-content { grid-template-columns: 1fr; text-align: center; }
            .hero-text h1 { font-size: 3rem; }
            .hero-buttons { justify-content: center; }
            .download-buttons { justify-content: center; }
            .phone-showcase { flex-wrap: wrap; }
            .section-title h2 { font-size: 2.5rem; }
        }

        @media (max-width: 640px) {
            .hero { padding: 6rem 5% 4rem; }
            .hero-text h1 { font-size: 2.5rem; }
            .hero-text p { font-size: 1.1rem; }
            .phone-screen { width: 200px; }
            .phone-screen-small { display: none; }
            .section-title h2 { font-size: 2rem; }
            .stat-number { font-size: 3rem; }
        }

        /* Single Question View Styles */
        .single-q-card {
            background: var(--bg-surface);
            border: 1px solid var(--border-color);
            border-radius: 24px;
            padding: 2.5rem;
            box-shadow: var(--shadow-xl);
            animation: fadeInUp 0.5s ease-out both;
        }

        .single-q-badge {
            display: inline-block;
            background: var(--gradient-1);
            color: white;
            padding: 0.3rem 1.2rem;
            border-radius: 20px;
            font-weight: 800;
            font-size: 0.8rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .single-q-text {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.4rem;
            font-weight: 800;
            line-height: 1.6;
            color: var(--text-main);
            margin-bottom: 2rem;
        }

        .single-q-img-wrap {
            width: 100%;
            max-height: 350px;
            border-radius: 18px;
            overflow: hidden;
            background: var(--bg-body);
            border: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 2rem;
            padding: 1rem;
        }

        .single-q-img-wrap img {
            max-width: 100%;
            max-height: 330px;
            object-fit: contain;
            border-radius: 12px;
        }

        .single-q-options {
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
            margin-bottom: 2rem;
        }

        .single-q-option {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem 1.25rem;
            border: 2px solid var(--border-color);
            border-radius: 16px;
            cursor: pointer;
            transition: all 0.25s ease;
            background: var(--bg-body);
            user-select: none;
        }

        .single-q-option:hover:not(.disabled) {
            border-color: var(--primary);
            background: rgba(0, 168, 107, 0.08);
            transform: translateX(6px);
        }

        .single-q-option.correct {
            border-color: #10b981;
            background: rgba(16, 185, 129, 0.1);
        }

        .single-q-option.wrong {
            border-color: #ef4444;
            background: rgba(239, 68, 68, 0.1);
        }

        .single-q-option.disabled {
            cursor: default;
        }

        .single-q-letter {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: var(--border-color);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 0.9rem;
            flex-shrink: 0;
            transition: all 0.25s;
            font-family: 'Montserrat', sans-serif;
            color: var(--text-muted);
        }

        .single-q-option.correct .single-q-letter {
            background: #10b981;
            color: white;
        }

        .single-q-option.wrong .single-q-letter {
            background: #ef4444;
            color: white;
        }

        .single-q-option:hover:not(.disabled) .single-q-letter {
            background: var(--primary);
            color: white;
        }

        .single-q-opt-text {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-main);
            flex: 1;
            line-height: 1.5;
        }

        .single-q-check-icon {
            font-size: 1.2rem;
            flex-shrink: 0;
        }

        .single-q-desc {
            padding: 1.25rem 1.5rem;
            background: rgba(16, 185, 129, 0.06);
            border-left: 4px solid var(--primary);
            border-radius: 12px;
            font-size: 0.95rem;
            color: var(--text-muted);
            line-height: 1.7;
            margin-bottom: 2rem;
        }

        /* Practice More Box */
        .practice-more-box {
            background: var(--bg-body);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            padding: 2rem;
            text-align: center;
            margin-top: 2.5rem;
        }

        .practice-more-box h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.3rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 1.5rem;
        }

        .practice-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn-practice {
            flex: 1;
            min-width: 200px;
            padding: 1rem 1.5rem;
            border-radius: 14px;
            text-decoration: none;
            font-weight: 800;
            font-size: 1rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            transition: all 0.3s ease;
        }

        .btn-categories {
            background: var(--gradient-1);
            color: white;
            box-shadow: 0 8px 25px rgba(0, 168, 107, 0.2);
        }

        .btn-categories:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 30px rgba(0, 168, 107, 0.3);
            color: white;
        }

        .btn-templates {
            background: var(--bg-surface);
            color: var(--text-main);
            border: 2px solid var(--border-color);
        }

        .btn-templates:hover {
            transform: translateY(-3px);
            background: var(--border-color);
            color: var(--text-main);
        }

        .fade-in {
            animation: fadeIn 0.4s ease-out both;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @media (max-width: 640px) {
            .single-q-card {
                padding: 1.5rem;
            }
            .single-q-text {
                font-size: 1.15rem;
            }
            .btn-practice {
                width: 100%;
            }
        }

/* Extracted from index.blade.php */
.signs-hero {
            background: var(--gradient-1);
            padding: 4rem 5%;
            text-align: center;
            color: white;
            border-bottom-left-radius: 40px;
            border-bottom-right-radius: 40px;
        }

        .signs-content {
            max-width: 1200px;
            margin: -3rem auto 4rem;
            padding: 0 5%;
        }

        .types-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.2rem;
        }

        @media (min-width: 768px) {
            .types-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .type-card {
            background: var(--bg-surface);
            border-radius: 20px;
            padding: 0.9rem 1.5rem;
            text-decoration: none;
            color: inherit;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1.2rem;
            border: 2px solid var(--border-color);
        }

        .type-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
            border-color: var(--primary);
        }

        .type-icon-wrap {
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            flex-shrink: 0;
        }

        .img-loader-xs {
            width: 20px;
            height: 20px;
            border: 2px solid var(--border-color);
            border-top: 2px solid var(--primary);
            border-radius: 50%;
            animation: spin 1s linear infinite;
            position: absolute;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .type-icon {
            width: 100%;
            height: 100%;
            object-fit: contain;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .type-icon.loaded {
            opacity: 1;
        }

        .type-details {
            display: flex;
            flex-direction: column;
            flex: 1;
            min-width: 0;
        }

        .type-card h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.15rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 0.15rem;
        }

        .type-card p {
            font-size: 0.85rem;
            color: var(--text-muted);
            line-height: 1.4;
        }

        .btn-view {
            margin-top: 0;
            background: rgba(0, 168, 107, 0.08);
            color: var(--primary);
            padding: 0.5rem 1.1rem;
            border-radius: 10px;
            font-weight: 700;
            font-size: 0.88rem;
            transition: all 0.2s;
            flex-shrink: 0;
        }

        .type-card:hover .btn-view {
            background: var(--primary);
            color: white;
        }

        @media (max-width: 576px) {
            .type-card {
                padding: 1.1rem 1.25rem;
                gap: 1rem;
                border-radius: 18px;
            }
            .type-icon-wrap {
                width: 40px;
                height: 40px;
            }
            .type-card h3 {
                font-size: 1.05rem;
            }
            .btn-view {
                padding: 0.5rem 1rem;
                font-size: 0.85rem;
                border-radius: 10px;
            }
        }

/* Extracted from show.blade.php */
.type-header {
            background: var(--bg-surface);
            padding: 3rem 5%;
            border-bottom: 1px solid var(--border-color);
            margin-bottom: 2rem;
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 2rem;
        }

        .type-info h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .type-info p {
            color: var(--text-muted);
            font-size: 1.1rem;
        }

        .back-link {
            text-decoration: none;
            color: var(--primary);
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1rem;
            font-size: 0.9rem;
        }

        .signs-list {
            max-width: 1200px;
            margin: 0 auto 4rem;
            padding: 0 5%;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .sign-card {
            background: var(--bg-surface);
            border-radius: 20px;
            padding: 2rem;
            display: grid;
            grid-template-columns: 140px 1fr;
            gap: 2.5rem;
            box-shadow: 0 4px 20px rgba(0,0,0,0.04);
            align-items: center;
            border: 1px solid var(--border-color);
        }

        .sign-img-wrap {
            width: 140px;
            height: 140px;
            background: var(--bg-body);
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            position: relative;
        }

        .img-loader-sm {
            width: 24px;
            height: 24px;
            border: 3px solid var(--border-color);
            border-top: 3px solid var(--primary);
            border-radius: 50%;
            animation: spin 1s linear infinite;
            position: absolute;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .sign-img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .sign-img.loaded {
            opacity: 1;
        }

        .sign-details h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.4rem;
            font-weight: 800;
            margin-bottom: 1rem;
            color: var(--text-main);
        }

        .content-item {
            margin-bottom: 1rem;
            line-height: 1.6;
            color: var(--text-muted);
        }

        .content-image {
            max-width: 300px;
            border-radius: 12px;
            margin: 1rem 0;
            display: block;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }

        .content-video {
            width: 100%;
            max-width: 500px;
            border-radius: 12px;
            margin: 1rem 0;
            background: #000;
        }

        @media (max-width: 768px) {
            .sign-card {
                grid-template-columns: 1fr;
                text-align: center;
                gap: 1.5rem;
            }
            .sign-img-wrap {
                margin: 0 auto;
            }
        }

/* Extracted from login.blade.php */
.login-page {
            min-height: calc(100vh - 70px);
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(165deg, #00A86B 0%, #00C87C 50%, #00E68A 100%);
            padding: 2rem 5%;
            position: relative;
            overflow: hidden;
        }

        .login-page::before {
            content: '';
            position: absolute;
            top: -30%;
            right: -20%;
            width: 700px;
            height: 700px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 20s ease-in-out infinite;
        }

        .login-page::after {
            content: '';
            position: absolute;
            bottom: -20%;
            left: -10%;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(0,0,0,0.05) 0%, transparent 70%);
            border-radius: 50%;
        }

        @keyframes float {
            0%, 100% { transform: translate(0,0) rotate(0deg); }
            50% { transform: translate(-30px, 30px) rotate(180deg); }
        }

        .login-card {
            background: var(--bg-surface);
            border-radius: 32px;
            padding: 3.5rem;
            width: 100%;
            max-width: 480px;
            box-shadow: 0 40px 100px rgba(0,0,0,0.2);
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out;
            border: 1px solid var(--border-color);
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .login-logo {
            text-align: center;
            margin-bottom: 2rem;
        }

        .login-logo .logo-text {
            font-family: 'Montserrat', sans-serif;
            font-size: 2.5rem;
            font-weight: 900;
            color: var(--text-main);
        }

        .login-logo .logo-badge {
            background: var(--primary);
            color: white;
            padding: 0.3rem 0.8rem;
            border-radius: 12px;
        }

        .login-title {
            text-align: center;
            margin-bottom: 2.5rem;
        }

        .login-title h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .login-title p {
            color: var(--text-muted);
            font-size: 1rem;
        }

        .telegram-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            width: 100%;
            padding: 1.2rem 2rem;
            background: #229ED9;
            color: white;
            border: none;
            border-radius: 16px;
            font-family: 'Outfit', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(34, 158, 217, 0.3);
            position: relative;
            overflow: hidden;
        }

        .telegram-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
            transition: left 0.5s;
        }

        .telegram-btn:hover::before { left: 100%; }
        .telegram-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(34, 158, 217, 0.4);
        }

        .telegram-btn:active { transform: translateY(-1px); }

        .telegram-icon {
            width: 32px;
            height: 32px;
        }

        .divider {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin: 2rem 0;
            color: var(--text-muted);
            font-size: 0.9rem;
        }

        .divider::before, .divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: var(--border-color);
        }

        .info-box {
            background: var(--bg-body);
            border-radius: 16px;
            padding: 1.5rem;
            border-left: 4px solid var(--primary);
            border: 1px solid var(--border-color);
            border-left-width: 4px;
        }

        .info-box h4 {
            font-weight: 700;
            color: var(--text-main);
            margin-bottom: 0.8rem;
            font-size: 1rem;
        }

        .info-steps {
            list-style: none;
            counter-reset: steps;
        }

        .info-steps li {
            counter-increment: steps;
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
            margin-bottom: 0.7rem;
            font-size: 0.95rem;
            color: var(--text-muted);
        }

        .info-steps li::before {
            content: counter(steps);
            background: var(--primary);
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 700;
            flex-shrink: 0;
            margin-top: 1px;
        }

        /* Waiting state */
        .waiting-state {
            display: none;
            text-align: center;
            padding: 2rem 0;
        }

        .waiting-state.active { display: block; }

        .spinner {
            width: 60px;
            height: 60px;
            border: 4px solid var(--border-color);
            border-top: 4px solid var(--primary);
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin: 0 auto 1.5rem;
        }

        @keyframes spin { to { transform: rotate(360deg); } }

        .waiting-state p {
            color: var(--text-muted);
            font-size: 1rem;
            margin-bottom: 0.5rem;
        }

        .waiting-state strong { color: var(--primary); }

        .cancel-btn {
            background: var(--bg-body);
            border: 2px solid var(--border-color);
            padding: 0.7rem 1.5rem;
            border-radius: 12px;
            font-family: 'Outfit', sans-serif;
            font-weight: 600;
            cursor: pointer;
            color: var(--text-muted);
            margin-top: 1.5rem;
            transition: all 0.3s;
        }

        .cancel-btn:hover { border-color: var(--primary); color: var(--text-main); }

        .phone-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            width: 100%;
            padding: 1.2rem 2rem;
            background: #25D366;
            color: white;
            border: none;
            border-radius: 16px;
            font-family: 'Outfit', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.3s ease;
            box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3);
            margin-bottom: 1rem;
        }
        .phone-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(37, 211, 102, 0.4);
        }

        .phone-form, .otp-form {
            display: none;
            text-align: left;
        }

        .phone-form.active, .otp-form.active {
            display: block;
            animation: fadeInUp 0.4s ease-out;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 600;
            color: var(--text-main);
        }

        .form-input {
            width: 100%;
            padding: 1rem 1.2rem;
            border: 1px solid var(--border-color);
            border-radius: 12px;
            background: var(--bg-body);
            color: var(--text-main);
            font-family: 'Outfit', sans-serif;
            font-size: 1.1rem;
            outline: none;
            transition: border-color 0.3s;
        }

        .form-input:focus {
            border-color: var(--primary);
        }

        .submit-btn {
            width: 100%;
            padding: 1rem;
            background: var(--primary);
            color: white;
            border: none;
            border-radius: 12px;
            font-weight: 700;
            font-size: 1.1rem;
            cursor: pointer;
            transition: opacity 0.3s;
        }
        .submit-btn:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

/* Extracted from index.blade.php */
.leaderboard-hero {
        background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
        padding: 5rem 2rem;
        text-align: center;
        position: relative;
        overflow: hidden;
        color: white;
    }
    .leaderboard-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 50% 50%, rgba(0, 200, 124, 0.15) 0%, transparent 60%);
        pointer-events: none;
    }
    .leaderboard-hero h1 {
        font-family: 'Montserrat', sans-serif;
        font-size: clamp(2.5rem, 5vw, 3.5rem);
        font-weight: 900;
        margin-bottom: 1rem;
        background: linear-gradient(to right, #00C87C, #34D399);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        position: relative;
        z-index: 2;
    }
    .leaderboard-hero p {
        font-size: 1.1rem;
        color: rgba(255,255,255,0.8);
        max-width: 600px;
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }

    .leaderboard-container {
        max-width: 900px;
        margin: -3rem auto 4rem;
        padding: 0 1.5rem;
        position: relative;
        z-index: 10;
    }

    .leaderboard-card {
        background: var(--bg-surface, #ffffff);
        border-radius: 24px;
        padding: 1.5rem;
        box-shadow: 0 20px 40px rgba(0,0,0,0.08);
        border: 1px solid var(--border-color, #e5e7eb);
    }

    [data-theme="dark"] .leaderboard-card {
        background: #1f2937;
        border-color: #374151;
        box-shadow: 0 20px 40px rgba(0,0,0,0.3);
    }

    .ranking-list {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .ranking-item {
        display: flex;
        align-items: center;
        padding: 1rem 1.5rem;
        border-radius: 16px;
        background: var(--bg-body, #f9fafb);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    [data-theme="dark"] .ranking-item {
        background: #111827;
    }

    .ranking-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.05);
        background: var(--bg-surface, #ffffff);
    }
    [data-theme="dark"] .ranking-item:hover {
        background: #374151;
        box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    }

    .ranking-item.top-1 {
        background: linear-gradient(to right, rgba(251, 191, 36, 0.1), transparent);
        border-left: 4px solid #F59E0B;
    }
    .ranking-item.top-2 {
        background: linear-gradient(to right, rgba(156, 163, 175, 0.1), transparent);
        border-left: 4px solid #9CA3AF;
    }
    .ranking-item.top-3 {
        background: linear-gradient(to right, rgba(180, 83, 9, 0.1), transparent);
        border-left: 4px solid #B45309;
    }

    .rank-number {
        font-family: 'Montserrat', sans-serif;
        font-size: 1.25rem;
        font-weight: 800;
        color: var(--text-muted, #6b7280);
        width: 40px;
        display: flex;
        justify-content: center;
    }
    .top-1 .rank-number { color: #F59E0B; font-size: 1.5rem; }
    .top-2 .rank-number { color: #9CA3AF; font-size: 1.5rem; }
    .top-3 .rank-number { color: #B45309; font-size: 1.5rem; }

    .user-info {
        display: flex;
        align-items: center;
        gap: 1rem;
        flex: 1;
        padding-left: 1rem;
    }

    .avatar {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid var(--border-color, #e5e7eb);
    }
    .top-1 .avatar { border-color: #F59E0B; box-shadow: 0 0 15px rgba(245, 158, 11, 0.3); }
    .top-2 .avatar { border-color: #9CA3AF; }
    .top-3 .avatar { border-color: #B45309; }

    .user-details {
        display: flex;
        flex-direction: column;
    }

    .user-name {
        font-weight: 700;
        font-size: 1.05rem;
        color: var(--text-main, #111827);
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .premium-badge {
        font-size: 0.7rem;
        background: linear-gradient(135deg, #F59E0B, #FBBF24);
        color: #fff;
        padding: 0.15rem 0.5rem;
        border-radius: 100px;
        font-weight: 800;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
    }

    .stats-group {
        display: flex;
        gap: 2rem;
        text-align: right;
    }

    .stat-box {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .stat-value {
        font-family: 'Montserrat', sans-serif;
        font-size: 1.15rem;
        font-weight: 800;
        color: var(--primary, #00C87C);
    }
    .stat-label {
        font-size: 0.7rem;
        color: var(--text-muted, #6b7280);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 0.3rem;
    }

    .stats-divider {
        width: 1px;
        background: var(--border-color, #e5e7eb);
        height: 30px;
        align-self: center;
        margin: 0 1.5rem;
    }

    [data-theme="dark"] .stats-divider {
        background: #374151;
    }

    .progress-bar-bg {
        width: 100px;
        height: 8px;
        background: var(--border-color, #e5e7eb);
        border-radius: 4px;
        overflow: hidden;
    }

    [data-theme="dark"] .progress-bar-bg {
        background: #374151;
    }

    .progress-bar-fill {
        height: 100%;
        background: var(--gradient-1);
        border-radius: 4px;
    }

    @media (max-width: 640px) {
        .ranking-item {
            flex-wrap: wrap;
            gap: 1rem;
            padding: 1rem;
        }
        .stats-group {
            width: 100%;
            justify-content: space-between;
            padding-left: 3.5rem;
            border-top: 1px solid var(--border-color, #e5e7eb);
            padding-top: 0.75rem;
            margin-top: 0.5rem;
        }
        .stats-divider {
            display: none;
        }
        .progress-bar-bg {
            width: 100%;
            margin-top: 0.5rem;
        }
    }

    .tabs-wrapper {
        display: flex;
        justify-content: center;
        gap: 1rem;
        margin-bottom: 2rem;
    }
    .tab-btn {
        background: var(--bg-surface, #ffffff);
        border: 2px solid var(--border-color, #e5e7eb);
        color: var(--text-muted, #6b7280);
        padding: 0.75rem 2rem;
        border-radius: 100px;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    .tab-btn.active {
        background: var(--gradient-1);
        color: white;
        border-color: transparent;
        box-shadow: 0 4px 15px rgba(0, 168, 107, 0.3);
    }
    [data-theme="dark"] .tab-btn {
        background: #1f2937;
        border-color: #374151;
        color: #9CA3AF;
    }
    [data-theme="dark"] .tab-btn.active {
        background: var(--gradient-1);
        color: white;
    }

/* Extracted from arena.blade.php */
* { box-sizing: border-box; }

        .exam-page {
            min-height: calc(100vh - 70px);
            background: var(--bg-body, #f3f4f6);
            display: flex;
            flex-direction: column;
            padding: 1.5rem 2%;
            gap: 1.2rem;
        }

        .exam-topbar {
            background: var(--bg-surface, #ffffff);
            border-radius: 16px;
            padding: 0.9rem 1.8rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            position: sticky;
            top: 74px;
            z-index: 200;
        }

        .topbar-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.95rem;
            font-weight: 800;
            color: var(--text-main, #111827);
        }

        .topbar-progress {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex: 1;
            max-width: 340px;
            margin: 0 2rem;
        }

        .progress-track {
            flex: 1;
            height: 7px;
            background: var(--border-color, #e5e7eb);
            border-radius: 4px;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            background: linear-gradient(90deg, #10b981, #059669);
            border-radius: 4px;
            transition: width 0.5s ease;
        }

        .progress-label {
            font-size: 0.82rem;
            font-weight: 700;
            color: var(--text-muted, #6b7280);
            white-space: nowrap;
            min-width: 50px;
            text-align: right;
        }

        .exam-timer {
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 1rem;
            color: var(--primary, #00A86B);
            min-width: 60px;
            text-align: right;
        }

        .exam-timer.warning { color: #f59e0b; }
        .exam-timer.danger  { color: #ef4444; animation: blink 0.8s infinite; }

        @keyframes blink {
            0%,100% { opacity: 1; }
            50%      { opacity: 0.4; }
        }

        .question-header {
            background: var(--bg-surface, #ffffff);
            border-radius: 18px;
            padding: 1.6rem 2.5rem;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            text-align: center;
            animation: fadeDown 0.35s ease-out;
        }

        @keyframes fadeDown {
            from { opacity: 0; transform: translateY(-10px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .question-text {
            font-size: 1.15rem;
            font-weight: 600;
            line-height: 1.75;
            color: var(--text-main, #111827);
        }

        .exam-body {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.2rem;
            animation: fadeUp 0.35s ease-out;
        }

        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(8px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .options-panel {
            background: var(--bg-surface, #ffffff);
            border-radius: 18px;
            padding: 1.6rem;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            display: flex;
            flex-direction: column;
        }

        .options-list {
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
            margin-bottom: 1.2rem;
        }

        .option-item {
            display: flex;
            align-items: center;
            gap: 0.9rem;
            padding: 0.9rem 1.1rem;
            border: 2px solid var(--border-color, #e5e7eb);
            border-radius: 13px;
            cursor: pointer;
            transition: all 0.2s ease;
            user-select: none;
            background: var(--bg-body, #f3f4f6);
        }

        .option-item:hover:not(.disabled) {
            border-color: var(--primary, #00A86B);
            background: rgba(0,168,107,0.08);
            transform: translateX(4px);
        }

        .option-item.correct {
            border-color: #10b981 !important;
            background: rgba(16, 185, 129, 0.1) !important;
        }

        .option-item.wrong {
            border-color: #ef4444 !important;
            background: rgba(239, 68, 68, 0.1) !important;
        }

        .option-item.disabled { cursor: default; }
        .option-item.opacity-50 { opacity: 0.5; }

        .option-letter {
            width: 34px;
            height: 34px;
            border-radius: 9px;
            background: var(--border-color, #e5e7eb);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 0.88rem;
            flex-shrink: 0;
            transition: all 0.2s;
            font-family: 'Montserrat', sans-serif;
            color: var(--text-muted, #6b7280);
        }

        .option-item.correct .option-letter { background: #10b981; color: white; }
        .option-item.wrong   .option-letter { background: #ef4444; color: white; }
        .option-item:hover:not(.disabled) .option-letter { background: var(--primary, #00A86B); color: white; }

        .option-text {
            font-size: 0.96rem;
            flex: 1;
            line-height: 1.5;
            color: var(--text-main, #111827);
        }

        .option-check {
            font-size: 1rem;
            transition: opacity 0.25s;
            flex-shrink: 0;
        }

        .options-nav {
            display: flex;
            gap: 0.8rem;
            margin-top: auto;
        }

        .nav-btn {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.82rem 1rem;
            border-radius: 12px;
            font-family: 'Outfit', sans-serif;
            font-size: 0.95rem;
            font-weight: 700;
            cursor: pointer;
            border: none;
            transition: all 0.25s;
        }

        .btn-next {
            background: linear-gradient(90deg, #10b981, #059669);
            color: white;
            box-shadow: 0 4px 14px rgba(0,168,107,0.28);
        }

        .btn-next:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,168,107,0.38); }

        .image-panel {
            background: var(--bg-surface, #ffffff);
            border-radius: 18px;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 280px;
            position: relative;
        }

        .question-img {
            width: 100%;
            height: auto;
            object-fit: contain;
            padding: 1.2rem;
            opacity: 1;
            transition: opacity 0.3s ease;
        }

        .default-img-wrap { 
            display: flex; 
            flex-direction: column; 
            align-items: center; 
            justify-content: center;
            text-align: center; 
            color: var(--text-muted, #6b7280); 
            width: 100%;
        }
        .default-img-wrap svg { width: 100px; height: 100px; margin-bottom: 1rem; }

        .exit-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
            border: 1px solid rgba(239, 68, 68, 0.2);
            padding: 0.5rem 0.9rem;
            border-radius: 10px;
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            font-size: 0.88rem;
            cursor: pointer;
            transition: all 0.2s;
        }

        .exit-btn:hover {
            background: #ef4444;
            color: white;
            box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
        }

        .battle-layout {
            display: grid;
            grid-template-columns: 1fr 320px;
            gap: 1.5rem;
            align-items: start;
        }

        @media (max-width: 900px) {
            .exam-body { grid-template-columns: 1fr; }
            .image-panel { min-height: 200px; order: -1; }
            .battle-layout { grid-template-columns: 1fr; }
        }

        @media (max-width: 640px) {
            .exam-page { padding: 0.8rem 3%; gap: 0.9rem; }
            .exam-topbar { padding: 0.7rem 1rem; top: 68px; flex-wrap: wrap; }
            .topbar-progress { max-width: 100%; margin: 0.5rem 0; order: 3; }
            .question-header { padding: 1.2rem 1.4rem; }
            .question-text { font-size: 1rem; }
            .options-panel { padding: 1.1rem; }
            .exit-text { display: none; }
            .exit-btn { padding: 0.5rem; }
        }

/* Extracted from app.blade.php */


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

        body {
            font-family: 'Outfit', sans-serif;
            background: var(--bg-body);
            color: var(--text-main);
            overflow-x: hidden;
            line-height: 1.6;
            transition: background 0.3s, color 0.3s;
        }

        /* ── HEADER ── */
        header {
            position: fixed;
            top: 0;
            width: 100%;
            padding: 1rem 2rem;
            background: var(--header-bg);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 20px rgba(0,0,0,0.05);
            z-index: 1000;
            border-bottom: 1px solid var(--border-color);
        }

        @media (min-width: 1400px) {
            header {
                padding: 1rem 5%;
            }
        }

        nav {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.6rem;
            font-weight: 900;
            color: var(--text-main);
            text-decoration: none;
        }

        .logo-badge {
            background: var(--primary);
            color: white;
            padding: 0.2rem 0.7rem;
            border-radius: 10px;
            font-weight: 900;
        }

        .nav-links {
            display: flex;
            gap: 1.25rem;
            list-style: none;
            align-items: center;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--text-main);
            font-weight: 600;
            transition: color 0.3s;
            position: relative;
            white-space: nowrap;
        }

        .nav-links a:not(.lang-link)::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 0;
            height: 3px;
            background: var(--primary);
            transition: width 0.3s;
        }

        .nav-links a:not(.lang-link):hover::after { width: 100%; }
        .nav-links a:not(.lang-link):hover { color: var(--primary); }

        .nav-btn {
            display: inline-block;
            white-space: nowrap;
            background: var(--gradient-1);
            color: white !important;
            padding: 0.6rem 1.4rem;
            border-radius: 12px;
            font-weight: 700 !important;
            transition: all 0.3s !important;
        }

        .nav-btn::after { display: none !important; }
        .nav-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }

        .nav-controls {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .lang-switcher {
            display: flex;
            gap: 0.3rem;
            font-size: 0.8rem;
            font-weight: 700;
        }

        .lang-link {
            text-decoration: none;
            color: var(--text-muted);
            padding: 0.15rem 0.4rem;
            border-radius: 6px;
            transition: all 0.2s;
        }

        .lang-link:hover { background: var(--border-color); color: var(--primary); }
        .lang-link.active { background: var(--primary); color: white; }

        /* Theme Toggle */
        .theme-toggle {
            cursor: pointer;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--border-color);
            transition: all 0.3s ease;
            border: none;
            color: var(--text-main);
        }

        .theme-toggle:hover { transform: rotate(15deg); background: var(--primary); color: white; }

        .theme-toggle .sun { display: none; }
        .theme-toggle .moon { display: block; }
        [data-theme="dark"] .theme-toggle .sun { display: block; }
        [data-theme="dark"] .theme-toggle .moon { display: none; }

        .nav-avatar {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: var(--gradient-1);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 700;
            font-size: 1rem;
            cursor: pointer;
            position: relative;
        }

        .nav-avatar img {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            object-fit: cover;
        }

        /* ── MAIN ── */
        main {
            min-height: calc(100vh - 70px);
            padding-top: 70px;
        }

        /* ── FOOTER ── */
        footer {
            background: var(--bg-surface);
            padding: 3rem 5% 1.5rem;
            color: var(--text-muted);
            border-top: 1px solid var(--border-color);
        }

        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 3rem;
            margin-bottom: 2rem;
        }

        .footer-brand h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.8rem;
        }

        .footer-links h4 { color: var(--text-main); font-weight: 700; margin-bottom: 1rem; }

        .footer-links ul { list-style: none; }
        .footer-links li { margin-bottom: 0.6rem; }
        .footer-links a { color: var(--text-muted); text-decoration: none; transition: color 0.3s; }
        .footer-links a:hover { color: var(--primary); }

        .footer-bottom {
            text-align: center;
            padding-top: 1.5rem;
            border-top: 1px solid var(--border-color);
            font-size: 0.9rem;
        }

        /* ── ALERTS ── */
        .alert {
            padding: 1rem 1.5rem;
            border-radius: 12px;
            margin-bottom: 1.5rem;
            font-weight: 600;
        }
        .alert-success { background: #d1fae5; color: #065f46; }
        [data-theme="dark"] .alert-success { background: #064e3b; color: #34d399; }
        .alert-error { background: #fee2e2; color: #991b1b; }
        [data-theme="dark"] .alert-error { background: #7f1d1d; color: #fca5a5; }

        /* ── RESPONSIVE ── */
        @media (max-width: 1200px) {
            .nav-links { gap: 0.85rem; font-size: 0.9rem; }
        }
        @media (max-width: 1024px) {
            .nav-links { gap: 0.6rem; font-size: 0.85rem; }
            .theme-toggle { width: 34px; height: 34px; }
            .nav-controls { gap: 1rem; }
        }
        @media (max-width: 768px) {
            .nav-links { display: none; }
            .footer-content { grid-template-columns: 1fr; text-align: center; }
        }

/* Extracted from app.blade.php */
@keyframes mobPopIn {
                from { opacity:0; transform:scale(0.85) translateY(20px); }
                to   { opacity:1; transform:scale(1) translateY(0); }
            }
            @keyframes mobFloat {
                0%,100% { transform:translateY(0); }
                50%      { transform:translateY(-8px); }
            }

/* Extracted from index.blade.php */
.page-hero {
            background: linear-gradient(135deg, #FF416C 0%, #FF4B2B 100%);
            padding: 4rem 5%;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .page-hero::before {
            content: '';
            position: absolute;
            bottom: -30%;
            right: -5%;
            width: 450px;
            height: 450px;
            background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
            border-radius: 50%;
        }

        .page-hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2.8rem;
            font-weight: 900;
            color: white;
            margin-bottom: 0.8rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out;
        }

        .page-hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.15rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out 0.2s both;
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .wrong-answers-section {
            padding: 4rem 5%;
            max-width: 1200px;
            margin: 0 auto;
        }

        /* Stats Row */
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 1.5rem;
            margin-bottom: 3rem;
        }

        .stat-card {
            background: var(--bg-surface);
            border-radius: 24px;
            padding: 2rem 1.8rem;
            display: flex;
            align-items: center;
            gap: 1.2rem;
            box-shadow: 0 4px 24px rgba(0,0,0,0.06);
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            animation: fadeInUp 0.6s ease-out both;
            border: 1px solid var(--border-color);
        }

        .stat-card:nth-child(1) { animation-delay: 0.05s; }
        .stat-card:nth-child(2) { animation-delay: 0.10s; }
        .stat-card:nth-child(3) { animation-delay: 0.15s; }
        .stat-card:nth-child(4) { animation-delay: 0.20s; }

        .stat-card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow-lg);
            border-color: rgba(255, 75, 43, 0.3);
        }

        .stat-icon {
            width: 60px;
            height: 60px;
            border-radius: 18px;
            background: linear-gradient(135deg, rgba(255, 65, 108, 0.1) 0%, rgba(255, 75, 43, 0.1) 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            flex-shrink: 0;
            color: #FF4B2B;
        }

        .stat-card:nth-child(2) .stat-icon {
            background: rgba(16, 185, 129, 0.1);
            color: #10b981;
        }

        .stat-info h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            line-height: 1.1;
        }

        .stat-info p {
            color: var(--text-muted);
            font-size: 0.9rem;
            margin-top: 0.3rem;
            font-weight: 600;
        }

        /* Practice CTA Banner */
        .practice-banner {
            background: linear-gradient(135deg, #FF416C 0%, #FF4B2B 100%);
            border-radius: 28px;
            padding: 3rem;
            margin-bottom: 3.5rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            box-shadow: 0 12px 36px rgba(255, 75, 43, 0.25);
            position: relative;
            overflow: hidden;
            animation: fadeInUp 0.6s ease-out 0.25s both;
        }

        .practice-banner::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to right, rgba(255,255,255,0.08), transparent);
        }

        .banner-content {
            position: relative;
            z-index: 1;
            max-width: 65%;
            color: white;
        }

        .banner-content h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2rem;
            font-weight: 900;
            margin-bottom: 0.8rem;
        }

        .banner-content p {
            color: rgba(255,255,255,0.85);
            font-size: 1.1rem;
            line-height: 1.6;
        }

        .btn-banner-action {
            position: relative;
            z-index: 1;
            background: white;
            color: #FF4B2B;
            padding: 1.1rem 2.2rem;
            border-radius: 18px;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.1rem;
            font-weight: 900;
            text-decoration: none;
            box-shadow: 0 8px 24px rgba(0,0,0,0.12);
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
            white-space: nowrap;
        }

        .btn-banner-action:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px rgba(0,0,0,0.18);
            background: #fff8f8;
        }

        /* Questions List */
        .section-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.6rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 1.5rem;
        }

        .questions-container {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            animation: fadeInUp 0.6s ease-out 0.3s both;
        }

        .question-card {
            background: var(--bg-surface);
            border-radius: 24px;
            padding: 2rem;
            border: 1px solid var(--border-color);
            box-shadow: 0 4px 20px rgba(0,0,0,0.04);
            transition: all 0.3s;
        }

        .question-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
            border-color: rgba(255, 75, 43, 0.15);
        }

        .q-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.2rem;
            flex-wrap: wrap;
            gap: 0.8rem;
        }

        .q-badge {
            background: rgba(255, 75, 43, 0.1);
            color: #FF4B2B;
            padding: 0.3rem 0.9rem;
            border-radius: 8px;
            font-size: 0.8rem;
            font-weight: 700;
        }

        .q-text {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--text-main);
            line-height: 1.6;
            margin-bottom: 1.5rem;
        }

        .answers-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .ans-box {
            padding: 1.1rem;
            border-radius: 16px;
            border: 1.5px solid var(--border-color);
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
            font-size: 0.95rem;
        }

        .ans-box.wrong {
            border-color: #fca5a5;
            background: rgba(239, 68, 68, 0.04);
            color: #b91c1c;
        }

        .ans-box.correct {
            border-color: #a7f3d0;
            background: rgba(16, 185, 129, 0.04);
            color: #047857;
        }

        .ans-label {
            font-size: 0.8rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            opacity: 0.85;
        }

        .ans-content {
            font-weight: 600;
            line-height: 1.5;
        }

        .q-explanation {
            background: rgba(0, 168, 107, 0.05);
            border-left: 4px solid var(--primary);
            border-radius: 12px;
            padding: 1.2rem;
            font-size: 0.92rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* Empty State */
        .empty-state {
            background: var(--bg-surface);
            border-radius: 28px;
            padding: 5rem 2rem;
            text-align: center;
            border: 1px solid var(--border-color);
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            animation: fadeInUp 0.6s ease-out both;
        }

        .empty-icon {
            font-size: 4rem;
            margin-bottom: 1.5rem;
            animation: bounce 2s infinite;
        }

        @keyframes bounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }

        .empty-state h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.8rem;
        }

        .empty-state p {
            color: var(--text-muted);
            font-size: 1.1rem;
            max-width: 500px;
            margin: 0 auto 2rem;
        }

        @media (max-width: 900px) {
            .practice-banner { flex-direction: column; text-align: center; gap: 2rem; padding: 2rem; }
            .banner-content { max-width: 100%; }
            .btn-banner-action { align-self: center; width: 100%; text-align: center; }
            .answers-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 768px) {
            .page-hero h1 { font-size: 2rem; }
            .wrong-answers-section { padding: 2rem 4%; }
        }

/* Extracted from index.blade.php */
.page-hero {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            padding: 4rem 5%;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .page-hero::before {
            content: '';
            position: absolute;
            bottom: -40%;
            left: -5%;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .page-hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2.8rem;
            font-weight: 900;
            color: white;
            margin-bottom: 0.8rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out;
        }

        .page-hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.15rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out 0.2s both;
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .templates-section {
            padding: 4rem 5%;
            max-width: 1200px;
            margin: 0 auto;
        }

        .templates-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .templates-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .template-card {
            background: var(--bg-surface);
            border-radius: 20px;
            padding: 0.9rem 1.5rem;
            text-decoration: none;
            color: var(--text-main);
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            transition: all 0.35s ease;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1.2rem;
            animation: fadeInUp 0.6s ease-out both;
            border: 1px solid var(--border-color);
        }

        .template-card:nth-child(1) { animation-delay: 0.05s; }
        .template-card:nth-child(2) { animation-delay: 0.10s; }
        .template-card:nth-child(3) { animation-delay: 0.15s; }
        .template-card:nth-child(4) { animation-delay: 0.20s; }
        .template-card:nth-child(5) { animation-delay: 0.25s; }
        .template-card:nth-child(6) { animation-delay: 0.30s; }

        .template-card::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 20px;
            border: 2px solid transparent;
            transition: border-color 0.3s;
        }

        .template-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
        }

        .template-card:hover::after { border-color: var(--primary); }

        .tmpl-number {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            background: var(--gradient-1);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.15rem;
            font-weight: 900;
            color: white;
            box-shadow: 0 4px 12px rgba(0,168,107,0.2);
            flex-shrink: 0;
        }

        .tmpl-details {
            display: flex;
            flex-direction: column;
            flex: 1;
            min-width: 0;
        }

        .tmpl-top-meta {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.25rem;
        }

        .tmpl-tag {
            background: rgba(0, 168, 107, 0.1);
            color: var(--primary);
            padding: 0.2rem 0.6rem;
            border-radius: 6px;
            font-size: 0.75rem;
            font-weight: 700;
        }

        .tmpl-name {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.1rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 0.3rem;
        }

        .tmpl-meta {
            color: var(--text-muted);
            font-size: 0.85rem;
        }

        .tmpl-progress {
            height: 5px;
            background: var(--border-color);
            border-radius: 3px;
            overflow: hidden;
            width: 100%;
            max-width: 150px;
            margin-bottom: 0;
        }

        .tmpl-progress-bar {
            height: 100%;
            background: var(--gradient-1);
            border-radius: 3px;
            transition: width 0.8s ease;
        }

        .tmpl-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.4rem;
            background: var(--gradient-1);
            color: white;
            padding: 0.55rem 1.1rem;
            border-radius: 10px;
            font-weight: 700;
            font-size: 0.88rem;
            transition: all 0.3s;
            box-shadow: 0 4px 10px rgba(0,168,107,0.15);
            flex-shrink: 0;
        }

        .template-card:hover .tmpl-btn {
            box-shadow: 0 8px 20px rgba(0,168,107,0.35);
        }

        .template-card.locked {
            opacity: 0.9;
            cursor: pointer;
            background: var(--bg-body);
            border-style: dashed;
        }

        .template-card.locked:hover {
            transform: translateY(-4px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

        .template-card.locked::after {
            border-color: #dee2e6;
        }

        .ribbon-wrapper {
            position: absolute;
            top: 0;
            right: 0;
            width: 85px;
            height: 85px;
            overflow: hidden;
            z-index: 10;
            pointer-events: none;
        }

        .ribbon {
            position: absolute;
            display: block;
            width: 125px;
            padding: 6px 0;
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
            box-shadow: 0 2px 6px rgba(0,0,0,0.15);
            color: #8B4513;
            font-family: 'Montserrat', sans-serif;
            font-size: 0.7rem;
            font-weight: 900;
            text-align: center;
            right: -32px;
            top: 16px;
            transform: rotate(45deg);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .locked .tmpl-btn {
            background: #6c757d;
            box-shadow: none;
        }

        .locked .tmpl-number {
            background: #adb5bd;
            box-shadow: none;
        }

        @media (max-width: 768px) {
            .page-hero h1 { font-size: 2rem; }
            .templates-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 576px) {
            .template-card {
                padding: 1.1rem 1.25rem;
                gap: 1rem;
                border-radius: 18px;
            }
            .tmpl-number {
                width: 44px;
                height: 44px;
                font-size: 1.1rem;
                border-radius: 12px;
            }
            .tmpl-name {
                font-size: 1rem;
            }
            .tmpl-btn {
                padding: 0.5rem 1rem;
                font-size: 0.85rem;
                border-radius: 10px;
            }
            .tmpl-progress {
                max-width: 120px;
            }
        }

/* Extracted from index.blade.php */
* { box-sizing: border-box; }



        .exam-page {
            min-height: 100vh;
            background: #0b0f19;
            display: flex;
            flex-direction: column;
            padding: 0;
        }

        /* ── TOP BAR ── */
        .exam-topbar {
            background: #0b0f19;
            padding: 1rem 1.5rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            position: sticky;
            top: 0;
            z-index: 200;
        }

        .topbar-left {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .back-btn {
            color: white;
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
        }

        .logo-wrap {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .logo-wrap img {
            height: 30px;
        }
        .logo-text {
            font-weight: 800;
            font-size: 1.1rem;
            color: white;
        }

        .user-name {
            color: #00e676;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .user-name img {
            width: 24px;
            height: 24px;
            border-radius: 50%;
        }

        .topbar-center {
            display: flex;
            align-items: center;
            gap: 2rem;
        }

        .lang-switcher {
            display: flex;
            background: rgba(255,255,255,0.1);
            border-radius: 8px;
            overflow: hidden;
        }
        .lang-btn {
            padding: 0.4rem 0.8rem;
            font-weight: 600;
            font-size: 0.85rem;
            color: #999;
            border: none;
            background: none;
            cursor: pointer;
        }
        .lang-btn.active {
            background: #00e676;
            color: #0b0f19;
        }

        .progress-text {
            font-weight: 800;
            font-size: 1.1rem;
            color: white;
            white-space: nowrap;
        }

        .score-counter {
            font-weight: 800;
            font-size: 1.1rem;
        }
        .score-counter .correct { color: #00e676; }
        .score-counter .wrong { color: #ff3b30; }

        .topbar-right {
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .exam-timer {
            font-weight: 800;
            font-size: 1.1rem;
            color: white;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .exam-timer.warning { color: #f59e0b; }
        .exam-timer.danger  { color: #ef4444; animation: blink 0.8s infinite; }

        @keyframes blink {
            0%,100% { opacity: 1; }
            50%      { opacity: 0.4; }
        }

        .finish-btn {
            color: #ff3b30;
            font-weight: 800;
            background: none;
            border: none;
            font-size: 1rem;
            cursor: pointer;
            text-decoration: none;
        }

        /* ── BODY ── */
        .exam-body-wrapper {
            display: flex;
            flex: 1;
            padding: 1.5rem;
            gap: 2rem;
            height: calc(100vh - 140px); /* Adjust for topbar and bottom bar */
        }

        .left-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
        }

        .question-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 1.5rem;
        }

        .question-text {
            font-size: 1.2rem;
            font-weight: 600;
            line-height: 1.5;
            color: white;
            flex: 1;
        }

        .question-actions {
            display: flex;
            gap: 0.8rem;
            margin-left: 1rem;
        }
        .question-actions button {
            background: none;
            border: none;
            color: #3b82f6;
            cursor: pointer;
        }

        .options-list {
            display: flex;
            flex-direction: column;
            gap: 0.8rem;
        }

        .option-item {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 0.8rem 1.2rem;
            background: #1e293b;
            border: 2px solid transparent;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.2s;
            color: white;
        }

        .option-item:hover:not(.disabled) {
            background: #334155;
            border-color: #3b82f6;
            transform: translateX(4px);
        }

        .option-letter {
            font-weight: 800;
            font-size: 0.9rem;
            color: #60a5fa;
        }

        .option-text {
            font-size: 1rem;
            font-weight: 500;
            flex: 1;
        }

        /* Selected states based on screenshot */
        .option-item.correct {
            background: #10b981 !important;
            border-color: #10b981 !important;
            color: white !important;
        }
        .option-item.correct .option-letter,
        .option-item.correct .option-text { color: white !important; }

        .option-item.wrong {
            background: #ef4444 !important;
            border-color: #ef4444 !important;
            color: white !important;
        }
        .option-item.wrong .option-letter { color: white; }

        .option-item.highlighted {
            border-color: #f59e0b;
        }
        
        .option-item.silent-selected {
            border-color: #3b82f6;
            background: rgba(59, 130, 246, 0.2);
        }

        /* ── RIGHT PANEL (Image) ── */
        .right-panel {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: stretch;
            background: #1e293b;
            border-radius: 16px;
            overflow: hidden;
            position: relative;
        }

        .question-img {
            width: 100%;
            height: auto;
            object-fit: contain;
        }

        /* ── PAGINATION (bottom bar) ── */
        .bottom-bar {
            background: #0f172a;
            padding: 0.8rem 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            overflow-x: auto;
            border-top: 1px solid rgba(255,255,255,0.05);
        }

        .bottom-bar::-webkit-scrollbar {
            height: 6px;
        }
        .bottom-bar::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.2);
            border-radius: 4px;
        }

        .page-dot {
            min-width: 35px;
            height: 35px;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.9rem;
            color: white;
            cursor: pointer;
            background: transparent;
            transition: all 0.2s;
        }

        .page-dot:hover { background: rgba(255,255,255,0.1); }
        .page-dot.current { background: #3b82f6 !important; }
        .page-dot.pg-correct { background: #4ade80; color: #0b0f19; }
        .page-dot.pg-wrong { background: #ef4444; }
        .page-dot.pg-answered { background: #3b82f6; } /* for silent mode */

        .hotkey-btn {
            background: #3b82f6;
            border-radius: 6px;
            min-width: 40px;
            margin-left: auto; /* push to right */
        }

        /* ── EXPLANATION ── */
        .answer-description {
            background: rgba(15, 23, 42, 0.8);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 12px;
            padding: 1rem 1.5rem;
            margin: 1rem 1.5rem;
            display: none;
            color: white;
        }
        .answer-description.visible { display: block; }

/* Extracted from history.blade.php */
.history-page {
            padding: 3rem 5%;
            max-width: 1000px;
            margin: 0 auto;
        }

        .page-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 0.7rem;
        }

        .results-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .result-card {
            background: var(--bg-surface);
            border-radius: 18px;
            padding: 1.4rem 1.8rem;
            box-shadow: 0 3px 14px rgba(0, 0, 0, 0.06);
            display: flex;
            align-items: center;
            gap: 1.4rem;
            transition: transform 0.25s, box-shadow 0.25s;
            animation: fadeInUp 0.4s ease-out both;
            border: 1px solid var(--border-color);
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(12px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .result-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
        }

        /* Score circle */
        .score-circle {
            width: 62px;
            height: 62px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            font-size: 1rem;
            font-weight: 900;
            flex-shrink: 0;
            border: 3px solid transparent;
        }

        .score-circle.high {
            background: rgba(16, 185, 129, 0.1);
            color: #10b981;
            border-color: #10b981;
        }

        .score-circle.mid {
            background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
            border-color: #f59e0b;
        }

        .score-circle.low {
            background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
            border-color: #ef4444;
        }

        /* Info */
        .result-info {
            flex: 1;
            min-width: 0;
        }

        .result-name {
            font-weight: 700;
            font-size: 1rem;
            color: var(--text-main);
            margin-bottom: 0.3rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .result-meta {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .meta-item {
            font-size: 0.82rem;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 0.3rem;
        }

        /* Progress bar */
        .result-progress {
            width: 130px;
            flex-shrink: 0;
        }

        .progress-nums {
            display: flex;
            justify-content: space-between;
            font-size: 0.78rem;
            color: var(--text-muted);
            margin-bottom: 0.35rem;
            font-weight: 600;
        }

        .progress-track {
            height: 7px;
            background: rgba(0,0,0,0.1);
            border-radius: 4px;
            overflow: hidden;
        }

        .progress-fill {
            height: 100%;
            border-radius: 4px;
            transition: width 0.6s ease;
        }

        .fill-high {
            background: linear-gradient(90deg, #10b981, #34d399);
        }

        .fill-mid {
            background: linear-gradient(90deg, #f59e0b, #fbbf24);
        }

        .fill-low {
            background: linear-gradient(90deg, #ef4444, #f87171);
        }

        /* Retry button */
        .retry-btn {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.6rem 1.2rem;
            background: var(--gradient-1);
            color: white;
            border-radius: 10px;
            font-size: 0.85rem;
            font-weight: 700;
            text-decoration: none;
            flex-shrink: 0;
            transition: all 0.25s;
            box-shadow: 0 3px 10px rgba(0, 168, 107, 0.2);
        }

        .retry-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(0, 168, 107, 0.35);
        }

        /* Empty state */
        .empty-state {
            text-align: center;
            padding: 5rem 2rem;
            background: var(--bg-surface);
            border-radius: 24px;
            box-shadow: 0 3px 14px rgba(0, 0, 0, 0.06);
            border: 1px solid var(--border-color);
        }

        .empty-icon {
            font-size: 3.5rem;
            margin-bottom: 1rem;
        }

        .empty-state h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.3rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
            color: var(--text-main);
        }

        .empty-state p {
            color: var(--text-muted);
            margin-bottom: 1.5rem;
        }

        .start-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.9rem 2rem;
            background: var(--gradient-1);
            color: white;
            border-radius: 14px;
            font-weight: 700;
            text-decoration: none;
            transition: all 0.25s;
            box-shadow: 0 4px 14px rgba(0, 168, 107, 0.28);
        }

        .start-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0, 168, 107, 0.38);
        }

        /* Pagination */
        .pagination-wrap {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.4rem;
            margin-top: 2.5rem;
            flex-wrap: wrap;
        }

        .pagination-wrap .page-link {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            border-radius: 10px;
            border: 2px solid var(--border-color);
            background: var(--bg-surface);
            color: var(--text-muted);
            font-weight: 700;
            font-size: 0.9rem;
            text-decoration: none;
            transition: all 0.2s;
            font-family: 'Montserrat', sans-serif;
        }

        .pagination-wrap .page-link:hover {
            border-color: var(--primary);
            color: var(--primary);
        }

        .pagination-wrap .page-link.active {
            background: var(--primary);
            border-color: var(--primary);
            color: white;
        }

        .pagination-wrap .page-link.disabled {
            opacity: 0.4;
            pointer-events: none;
        }

        @media (max-width: 640px) {
            .history-page {
                padding: 1.5rem 4%;
            }

            .result-card {
                flex-wrap: wrap;
                gap: 1rem;
                padding: 1.2rem;
            }

            .result-progress {
                width: 100%;
            }

            .retry-btn {
                width: 100%;
                justify-content: center;
            }
        }

/* Extracted from result.blade.php */
.result-page {
            padding: 3rem 5%;
            max-width: 900px;
            margin: 0 auto;
        }

        /* Result hero */
        .result-hero {
            text-align: center;
            padding: 3rem 2rem;
            background: var(--bg-surface);
            border-radius: 28px;
            box-shadow: 0 4px 30px rgba(0,0,0,0.08);
            margin-bottom: 2rem;
            position: relative;
            overflow: hidden;
            animation: fadeInUp 0.6s ease-out;
            border: 1px solid var(--border-color);
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .result-hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 6px;
            background: var(--gradient-1);
        }

        .result-emoji {
            font-size: 4rem;
            margin-bottom: 1rem;
            animation: bounce 0.8s ease-out 0.3s both;
        }

        @keyframes bounce {
            0% { transform: scale(0); }
            60% { transform: scale(1.2); }
            80% { transform: scale(0.9); }
            100% { transform: scale(1); }
        }

        .result-score {
            font-family: 'Montserrat', sans-serif;
            font-size: 5rem;
            font-weight: 900;
            background: var(--gradient-1);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1;
            margin-bottom: 0.5rem;
            animation: countUp 1.5s ease-out 0.4s both;
        }

        @keyframes countUp {
            from { opacity: 0; transform: scale(0.5); }
            to { opacity: 1; transform: scale(1); }
        }

        .result-label {
            font-size: 1.2rem;
            color: var(--text-muted);
            margin-bottom: 1.5rem;
        }

        .result-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.8rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.5rem;
        }

        .result-subtitle { color: var(--text-muted); font-size: 1rem; }

        /* Stats row */
        .result-stats {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
            margin-bottom: 2rem;
        }

        .rs-card {
            background: var(--bg-surface);
            border-radius: 20px;
            padding: 1.8rem;
            text-align: center;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            animation: fadeInUp 0.6s ease-out both;
            border: 1px solid var(--border-color);
        }

        .rs-card:nth-child(1) { animation-delay: 0.1s; }
        .rs-card:nth-child(2) { animation-delay: 0.2s; }
        .rs-card:nth-child(3) { animation-delay: 0.3s; }
        .rs-card:nth-child(4) { animation-delay: 0.4s; }

        .rs-icon { font-size: 2rem; margin-bottom: 0.6rem; }
        .rs-value {
            font-family: 'Montserrat', sans-serif;
            font-size: 2rem;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 0.2rem;
        }
        .rs-label { color: var(--text-muted); font-size: 0.88rem; }

        /* Answers review */
        .review-section {
            background: var(--bg-surface);
            border-radius: 24px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            margin-bottom: 2rem;
            animation: fadeInUp 0.6s ease-out 0.4s both;
            border: 1px solid var(--border-color);
        }

        .review-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid var(--border-color);
        }

        .review-header h3 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.2rem;
            font-weight: 800;
            color: var(--text-main);
        }

        .filter-tabs {
            display: flex;
            gap: 0.5rem;
        }

        .filter-tab {
            padding: 0.4rem 0.9rem;
            border-radius: 8px;
            font-size: 0.85rem;
            font-weight: 700;
            cursor: pointer;
            border: none;
            background: var(--bg-body);
            color: var(--text-muted);
            transition: all 0.2s;
            font-family: 'Outfit', sans-serif;
        }

        .filter-tab.active { background: var(--primary); color: white; }

        .review-item {
            padding: 1.2rem;
            border-radius: 16px;
            margin-bottom: 1rem;
            transition: all 0.3s;
        }

        .review-item.correct { background: rgba(16, 185, 129, 0.1); border-left: 4px solid #10b981; }
        .review-item.wrong { background: rgba(239, 68, 68, 0.1); border-left: 4px solid #ef4444; }
        .review-item.skipped { background: rgba(107, 114, 128, 0.1); border-left: 4px solid #6b7280; }

        .review-q {
            font-weight: 600;
            font-size: 0.95rem;
            color: var(--text-main);
            margin-bottom: 0.8rem;
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
        }

        .review-q-num {
            background: rgba(0,0,0,0.1);
            padding: 0.1rem 0.5rem;
            border-radius: 5px;
            font-size: 0.78rem;
            font-weight: 700;
            flex-shrink: 0;
            margin-top: 2px;
            color: var(--text-main);
        }

        .review-answer {
            display: flex;
            gap: 0.5rem;
            font-size: 0.88rem;
            margin-bottom: 0.3rem;
        }

        .review-answer-label { font-weight: 700; color: var(--text-muted); min-width: 80px; }
        .review-answer-val { flex: 1; color: var(--text-main); }
        .review-answer-val.correct-ans { color: #10b981; font-weight: 600; }
        .review-answer-val.wrong-ans { color: #ef4444; text-decoration: line-through; }

        .hidden { display: none; }

        /* Action buttons */
        .result-actions {
            display: flex;
            gap: 1rem;
            animation: fadeInUp 0.6s ease-out 0.5s both;
        }

        .action-btn {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.7rem;
            padding: 1.1rem 1.5rem;
            border-radius: 16px;
            font-family: 'Outfit', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            text-decoration: none;
            transition: all 0.3s;
            cursor: pointer;
            border: none;
        }

        .btn-primary-action {
            background: var(--gradient-1);
            color: white;
            box-shadow: 0 6px 20px rgba(0,168,107,0.3);
        }
        .btn-primary-action:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,168,107,0.4); }

        .btn-secondary-action {
            background: var(--bg-surface);
            color: var(--text-main);
            border: 2px solid var(--border-color);
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        }
        .btn-secondary-action:hover { border-color: var(--primary); color: var(--primary); }

        @media (max-width: 640px) {
            .result-page { padding: 1.5rem 4%; }
            .result-score { font-size: 3.5rem; }
            .result-stats { grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
            .rs-value { font-size: 1.5rem; }
            .result-actions { flex-direction: column; }
            .review-answer { flex-direction: column; gap: 0.2rem; }
        }

/* Extracted from index.blade.php */
.page-hero {
            background: linear-gradient(135deg, #00A86B 0%, #00C87C 100%);
            padding: 4rem 5%;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .page-hero::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -10%;
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .page-hero h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 2.8rem;
            font-weight: 900;
            color: white;
            margin-bottom: 0.8rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out;
        }

        .page-hero p {
            color: rgba(255,255,255,0.9);
            font-size: 1.15rem;
            position: relative;
            z-index: 1;
            animation: fadeInUp 0.6s ease-out 0.2s both;
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .categories-section {
            padding: 4rem 5%;
            max-width: 1200px;
            margin: 0 auto;
        }

        .categories-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .categories-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .category-card {
            background: var(--bg-surface);
            border-radius: 20px;
            padding: 0.9rem 1.5rem;
            text-decoration: none;
            color: var(--text-main);
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            transition: all 0.35s ease;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1.2rem;
            animation: fadeInUp 0.6s ease-out both;
            border: 1px solid var(--border-color);
        }

        .category-card:nth-child(1) { animation-delay: 0.05s; }
        .category-card:nth-child(2) { animation-delay: 0.1s; }
        .category-card:nth-child(3) { animation-delay: 0.15s; }
        .category-card:nth-child(4) { animation-delay: 0.2s; }
        .category-card:nth-child(5) { animation-delay: 0.25s; }
        .category-card:nth-child(6) { animation-delay: 0.3s; }

        .category-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: var(--gradient-1);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.35s ease;
        }

        .category-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-lg);
        }

        .category-card:hover::before { transform: scaleX(1); }

        .cat-number {
            font-family: 'Montserrat', sans-serif;
            font-size: 3rem;
            font-weight: 900;
            color: var(--border-color);
            line-height: 1;
            margin-bottom: 1rem;
            transition: color 0.3s;
        }

        .category-card:hover .cat-number { color: rgba(0,168,107,0.15); }

        .cat-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: var(--gradient-2);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            box-shadow: 0 4px 12px rgba(0,168,107,0.15);
            transition: transform 0.3s;
            flex-shrink: 0;
        }

        .category-card:hover .cat-icon { transform: scale(1.1) rotate(-5deg); }

        .cat-details {
            display: flex;
            flex-direction: column;
            flex: 1;
            min-width: 0;
        }

        .cat-name {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.15rem;
            font-weight: 800;
            color: var(--text-main);
            margin-bottom: 0.15rem;
        }

        .cat-count {
            color: var(--text-muted);
            font-size: 0.85rem;
        }

        .cat-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: rgba(0, 168, 107, 0.1);
            color: var(--primary);
            padding: 0.5rem 1.1rem;
            border-radius: 10px;
            font-weight: 700;
            font-size: 0.88rem;
            transition: all 0.3s;
            flex-shrink: 0;
        }

        .category-card:hover .cat-btn {
            background: var(--primary);
            color: white;
        }

        .category-card.locked {
            opacity: 0.9;
            cursor: pointer;
            background: var(--bg-body);
            border-style: dashed;
        }

        .category-card.locked:hover {
            transform: translateY(-4px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

        .ribbon-wrapper {
            position: absolute;
            top: 0;
            right: 0;
            width: 85px;
            height: 85px;
            overflow: hidden;
            z-index: 10;
            pointer-events: none;
        }

        .ribbon {
            position: absolute;
            display: block;
            width: 125px;
            padding: 6px 0;
            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
            box-shadow: 0 2px 6px rgba(0,0,0,0.15);
            color: #8B4513;
            font-family: 'Montserrat', sans-serif;
            font-size: 0.7rem;
            font-weight: 900;
            text-align: center;
            right: -32px;
            top: 16px;
            transform: rotate(45deg);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .locked .cat-btn {
            background: #6c757d;
            color: white;
        }

        .locked .cat-icon {
            background: #adb5bd;
            box-shadow: none;
        }

        @media (max-width: 768px) {
            .page-hero h1 { font-size: 2rem; }
            .categories-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 576px) {
            .category-card {
                padding: 1.1rem 1.25rem;
                gap: 1rem;
                border-radius: 18px;
            }
            .cat-icon {
                width: 44px;
                height: 44px;
                font-size: 1.25rem;
                border-radius: 12px;
            }
            .cat-name {
                font-size: 1.1rem;
            }
            .cat-btn {
                padding: 0.5rem 1rem;
                font-size: 0.85rem;
                border-radius: 10px;
            }
        }

/* Exam Settings Modal */
.exam-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.exam-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
}
.exam-modal-content {
    position: relative;
    background: var(--bg-surface, #ffffff);
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 28rem;
    padding: 1.5rem;
    overflow: hidden;
}
.exam-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
.exam-modal-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-main, #1e293b);
    margin: 0;
    font-family: 'Montserrat', sans-serif;
}
.exam-modal-close {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
}
.exam-modal-close:hover {
    color: #64748b;
}
.exam-modal-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
.exam-modal-label-title {
    font-weight: 600;
    color: var(--text-main, #334155);
}
.exam-modal-label-desc {
    font-size: 0.875rem;
    color: var(--text-muted, #64748b);
    margin-top: 0.25rem;
}

/* Toggle Switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}
.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border-color, #cbd5e1);
    transition: .4s;
    border-radius: 24px;
}
.toggle-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
input:checked + .toggle-slider {
    background-color: #00e676;
}
input:checked + .toggle-slider:before {
    transform: translateX(20px);
}

/* Radio Buttons */
.exam-radio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.exam-radio-card {
    padding: 1rem;
    text-align: center;
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s;
    color: var(--text-muted, #64748b);
}
.exam-radio-card.active {
    border-color: #00e676;
    background: rgba(0, 230, 118, 0.1);
    color: var(--text-main, #1e293b);
}
.exam-radio-card-title {
    font-weight: 600;
    margin-bottom: 0.25rem;
}
.exam-radio-card-desc {
    font-size: 0.75rem;
    opacity: 0.8;
}

/* Buttons */
.exam-modal-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}
.exam-btn {
    flex: 1;
    padding: 0.8rem;
    border-radius: 12px;
    font-weight: bold;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
}
.exam-btn-cancel {
    background: var(--bg-body, #f1f5f9);
    color: var(--text-main, #334155);
}
.exam-btn-cancel:hover {
    opacity: 0.9;
}
.exam-btn-start {
    background: #00e676;
    color: #0b0f19;
    box-shadow: 0 4px 14px rgba(0, 230, 118, 0.3);
}
.exam-btn-start:hover {
    background: #00c853;
}

[data-theme="dark"] .toggle-slider { background-color: #334155; }
[data-theme="dark"] .exam-radio-card { border-color: #334155; }
        .start-overlay {
            position: fixed;
            inset: 0;
            background: rgba(11, 15, 25, 0.95);
            backdrop-filter: blur(8px);
            z-index: 9999;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .overlay-content {
            background: #1e293b;
            padding: 3rem;
            border-radius: 20px;
            text-align: center;
            max-width: 500px;
            border: 1px solid rgba(255,255,255,0.1);
        }
        .overlay-content h2 {
            color: white;
            font-size: 2rem;
            margin-bottom: 1rem;
        }
        .overlay-content p {
            color: #94a3b8;
            font-size: 1.1rem;
            margin-bottom: 2rem;
            line-height: 1.6;
        }
        .btn-start {
            background: #10b981;
            color: #0b0f19;
            border: none;
            padding: 1rem 2rem;
            font-size: 1.2rem;
            font-weight: bold;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.2s;
            width: 100%;
            margin-bottom: 1rem;
        }
        .btn-start:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(16, 185, 129, 0.2);
        }
        .btn-cancel {
            display: block;
            color: #ef4444;
            text-decoration: none;
            font-weight: 600;
        }
