/* error-404 — extracted from 404.cfm (static page, no per-request values). */
* { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            overflow: hidden;
        }

        .error-page {
            position: relative;
            width: 100%;
            height: 100vh;
            background: linear-gradient(to bottom, #231E41 0%, #1a1630 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
        }

        .stars-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: 1;
        }
        
        .stars-wrapper .bg-animation,
        .error-page .bg-animation {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            overflow: visible !important;
            pointer-events: none !important;
        }

        /* Background pattern - 20% smaller than doubled */
        .error-pattern {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2;
            pointer-events: none;
            overflow: hidden;
        }
        
        .error-pattern-grid {
            display: flex;
            flex-wrap: wrap;
            width: calc(100% + 45px);
            height: calc(100% + 45px);
        }
        
        .error-pattern-cell {
            width: 45px;
            height: 45px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        
        .error-pattern-cell svg {
            width: 29px;
            height: 29px;
            opacity: 0.07;
        }

        /* 404 Card - more padding */
        .error-card {
            position: relative;
            z-index: 10;
            background: white;
            border-radius: 20px;
            padding: 40px;
            box-shadow: 0 4px 24px rgba(0,0,0,0.15);
            width: 100%;
            max-width: 460px;
        }
        
        .error-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 28px;
        }
        
        .error-number-badge {
            background: #8D75E6;
            color: white;
            font-size: 14px;
            font-weight: 600;
            padding: 6px 12px;
            border-radius: 8px;
        }
        
        .error-status {
            font-size: 14px;
            color: #6F6F87;
        }
        
        .error-question {
            font-size: 20px;
            font-weight: 600;
            color: #231E41;
            margin: 0 0 28px 0;
            line-height: 1.4;
        }
        
        /* Answer styling */
        .question-card-answers {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        
        /* Remove all underlines */
        .answer-option,
        .answer-option:hover,
        .answer-option:focus,
        .answer-option:active,
        .answer-option:visited {
            text-decoration: none !important;
        }
        
        /* Hover state - copy active/correct design */
        .answer-option:hover {
            background: #f0fdf4 !important;
            border-color: #bbf7d0 !important;
        }
        
        .answer-option:hover .answer-number {
            background: #4ade80 !important;
            color: white !important;
            border: none !important;
        }

        @media (max-width: 480px) {
            .error-page {
                padding: 1rem;
            }
            
            .error-card {
                padding: 28px;
                border-radius: 16px;
            }
            
            .error-question {
                font-size: 18px;
            }
        }
