
        @import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap');

        :root {
            --hud-color: #4df8ff;
            --hud-warn: #ff3333;
            --hud-bg: rgba(0, 15, 25, 0.75);
            --glass-border: rgba(77, 248, 255, 0.5);
        }

        body, html {
            margin: 0; padding: 0; width: 100%; height: 100%;
            background-color: #000; overflow: hidden;
        }

        /* KHUNG WRAPPER CHỐNG LỖI CMS CAFEF */
        #cv-app-wrapper {
            position: relative; width: 100%; height: 100vh; min-height: 600px;
            background-color: #000; overflow: hidden;
            font-family: 'Inter', sans-serif;
            color: var(--hud-color); user-select: none;
        }

        #cv-app-wrapper .mono-text, 
        #cv-app-wrapper .ai-text-box, 
        #cv-app-wrapper #boot-screen, 
        #cv-app-wrapper #reticle, 
        #cv-app-wrapper .nav-btn, 
        #cv-app-wrapper .panel-header {
            font-family: 'Roboto Mono', monospace;
        }
        
        #cv-app-wrapper .font-chakra { font-family: 'Chakra Petch', sans-serif; }

        #webgl-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

        #cockpit-overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10;
            pointer-events: none;
            box-shadow: inset 0 0 150px rgba(0,0,0,1);
            background: 
                linear-gradient(to bottom, rgba(0,20,30,0.9) 0%, transparent 15%, transparent 85%, rgba(0,20,30,0.9) 100%),
                linear-gradient(to right, rgba(0,20,30,0.9) 0%, transparent 10%, transparent 90%, rgba(0,20,30,0.9) 100%);
        }

        .hud-glass {
            background: var(--hud-bg); backdrop-filter: blur(8px);
            border: 1px solid var(--glass-border);
            box-shadow: 0 0 20px rgba(77, 248, 255, 0.2);
            position: relative;
        }
        
        .hud-glass::before { content: ''; position: absolute; top: 0; left: 0; width: 15px; height: 15px; border-top: 3px solid var(--hud-color); border-left: 3px solid var(--hud-color); }
        .hud-glass::after { content: ''; position: absolute; bottom: 0; right: 0; width: 15px; height: 15px; border-bottom: 3px solid var(--hud-color); border-right: 3px solid var(--hud-color); }

        .scanlines {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 15; pointer-events: none;
            background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0) 50%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.2));
            background-size: 100% 4px;
        }

        #boot-screen {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 50;
            background: #000; display: flex; flex-direction: column; justify-content: center; align-items: center;
            transition: opacity 1s ease-out; padding: 0 20px; text-align: center;
        }

        .btn-engage {
            pointer-events: auto; background: transparent; border: 1px solid var(--hud-color); color: var(--hud-color);
            padding: 15px 40px; font-size: 24px; text-transform: uppercase; letter-spacing: 2px;
            cursor: pointer; transition: all 0.3s; font-weight: 600; font-family: 'Inter', sans-serif;
            white-space: nowrap; 
        }
        .btn-engage:hover { background: rgba(77, 248, 255, 0.2); box-shadow: 0 0 20px var(--hud-color); }

        #ai-interface {
            position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
            width: 90%; max-width: 1000px; z-index: 30;
            display: flex; flex-direction: column; align-items: center;
            opacity: 0; transition: opacity 1s; pointer-events: none;
        }

        .ai-voice-wave { display: flex; gap: 4px; height: 30px; align-items: center; margin-bottom: 10px; }
        .wave-bar { width: 4px; background: var(--hud-color); border-radius: 2px; animation: wave 1s infinite ease-in-out; }
        .wave-bar:nth-child(1) { animation-delay: 0.1s; height: 10px;} .wave-bar:nth-child(2) { animation-delay: 0.2s; height: 20px;}
        .wave-bar:nth-child(3) { animation-delay: 0.3s; height: 30px;} .wave-bar:nth-child(4) { animation-delay: 0.2s; height: 20px;}
        .wave-bar:nth-child(5) { animation-delay: 0.1s; height: 10px;}
        @keyframes wave { 0%, 100% { transform: scaleY(0.5); } 50% { transform: scaleY(1.5); } }

        .ai-text-box {
            background: rgba(0, 10, 15, 0.9); border: 1px solid var(--hud-color);
            padding: 15px 30px; border-radius: 4px; text-align: left;
            font-size: 1.1rem; min-height: 80px; display: flex; align-items: center; justify-content: flex-start;
            width: 100%; box-shadow: 0 0 15px rgba(77, 248, 255, 0.2); position: relative; line-height: 1.5; color: #fff;
            pointer-events: auto;
        }

        /* KHẮC PHỤC LỖI KHÔNG XUỐNG DÒNG */
        #ai-dialogue {
            white-space: pre-wrap; 
            word-wrap: break-word; 
            width: 100%;
        }

        #hud-controls { display: flex; gap: 20px; margin-top: 20px; opacity: 0; transition: opacity 0.3s; pointer-events: none; }

        .nav-btn {
            background: rgba(0, 30, 45, 0.8); border: 1px solid var(--hud-color); color: var(--hud-color);
            padding: 10px 25px; font-size: 1rem; cursor: pointer; transition: all 0.3s;
            text-transform: uppercase; letter-spacing: 1px; box-shadow: inset 0 0 10px rgba(77,248,255,0.1);
            pointer-events: auto;
        }
        
        .nav-btn:hover { background: var(--hud-color); color: #000; box-shadow: 0 0 15px var(--hud-color); }
        .nav-btn:disabled { opacity: 0.3; pointer-events: none; border-color: #555; color: #555; box-shadow: none; }
        .blink { animation: blink-fast 1s infinite; display: inline-block; margin-left: 5px;}
        @keyframes blink-fast { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

        #panels-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 20; pointer-events: none; }

        .large-panel {
            position: absolute; top: 45%; left: 50%; transform: translate(-50%, -35%);
            width: 85%; max-width: 1000px; height: 65vh; min-height: 450px; max-height: 700px;
            opacity: 0; pointer-events: none;
            transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.1); display: flex; flex-direction: column;
        }
        .large-panel.visible { opacity: 1; transform: translate(-50%, -50%); pointer-events: auto; }

        .panel-header {
            background: rgba(77, 248, 255, 0.2); border-bottom: 1px solid var(--hud-color);
            padding: 12px 20px; font-weight: 700; font-size: 1.1rem; letter-spacing: 2px;
            display: flex; justify-content: space-between; align-items: center; text-transform: uppercase;
        }

        .panel-body { display: flex; flex: 1; overflow: hidden; background: rgba(0, 0, 0, 0.6); }
        .panel-img {
            flex: 1.2; background-size: cover; background-position: center; border-right: 1px solid var(--glass-border); position: relative;
        }
        .panel-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(0, 255, 255, 0.1), rgba(0, 0, 0, 0.4)); mix-blend-mode: overlay; }

        .panel-data { flex: 1.5; padding: 30px; display: flex; flex-direction: column; justify-content: flex-start; overflow-y: auto; }
        
        .panel-data::-webkit-scrollbar { width: 6px; }
        .panel-data::-webkit-scrollbar-track { background: rgba(0, 255, 255, 0.05); border-radius: 3px; }
        .panel-data::-webkit-scrollbar-thumb { background: rgba(77, 248, 255, 0.5); border-radius: 3px; }
        .panel-data::-webkit-scrollbar-thumb:hover { background: var(--hud-color); }

        .warning-state { --hud-color: var(--hud-warn); --glass-border: rgba(255, 51, 51, 0.6); }
        .warning-state .scanlines { background: rgba(255, 0, 0, 0.05); }
        .warning-state .ai-text-box { box-shadow: 0 0 20px rgba(255, 51, 51, 0.5); }
        .warning-state .panel-img::after { background: linear-gradient(to right, rgba(255, 0, 0, 0.2), rgba(0, 0, 0, 0.6)); }
        .warning-state .nav-btn { border-color: var(--hud-warn); color: var(--hud-warn); box-shadow: inset 0 0 10px rgba(255,51,51,0.1); }
        .warning-state .nav-btn:hover { background: var(--hud-warn); color: #000; box-shadow: 0 0 15px var(--hud-warn); }
        
        .warning-flash {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 14; pointer-events: none;
            background: rgba(255, 0, 0, 0.15); opacity: 0; animation: alarmFlash 1.5s infinite;
        }
        @keyframes alarmFlash { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }

        #reticle {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 200px; height: 200px; z-index: 12; opacity: 0; pointer-events: none;
            transition: opacity 0.5s;
        }
        .reticle-part { position: absolute; border: 2px solid var(--hud-color); width: 40px; height: 40px; }
        .r-tl { top: 0; left: 0; border-right: none; border-bottom: none; }
        .r-tr { top: 0; right: 0; border-left: none; border-bottom: none; }
        .r-bl { bottom: 0; left: 0; border-right: none; border-top: none; }
        .r-br { bottom: 0; right: 0; border-left: none; border-top: none; }
        .r-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 6px; height: 6px; background: var(--hud-color); border-radius: 50%; box-shadow: 0 0 10px var(--hud-color); }

        .data-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid rgba(77, 248, 255, 0.2); font-size: 1rem; align-items: center;}
        .data-label { opacity: 0.9; }
        .data-value { color: #fff; font-weight: 600; text-align: right; max-width: 60%; }
        
        .typing-cursor::after { content: '█'; animation: blink 1s step-start infinite; color: var(--hud-color); }
        @keyframes blink { 50% { opacity: 0; } }

        /* --- THÊM CSS CHO PHẦN TÁC GIẢ & NGUỒN --- */
        #cv-footer-source { 
            position: absolute; 
            bottom: 10px; right: 20px; 
            z-index: 100; 
            font-size: 0.85rem; 
            color: rgba(255, 255, 255, 0.7); 
            background: rgba(0, 0, 0, 0.4); 
            padding: 5px 10px; 
            border-radius: 4px; 
            pointer-events: auto; 
            font-family: 'Inter', sans-serif;
        }
        #cv-footer-source a { 
            color: #4df8ff; 
            text-decoration: none; 
            border-bottom: 1px dotted #4df8ff; 
        }

        @media (max-width: 768px) {
            .large-panel { width: 95%; height: 75vh; }
            .panel-body { flex-direction: column; }
            .panel-img { flex: 0.5; border-right: none; border-bottom: 1px solid var(--glass-border); min-height: 180px;}
            .panel-data { flex: 0.5; padding: 20px; font-size: 0.9rem; justify-content: flex-start;}
            .data-row { font-size: 0.95rem; padding: 8px 0; }
            #ai-interface { bottom: 15px; width: 95%; }
            .ai-text-box { font-size: 0.95rem; padding: 12px; min-height: 60px;}
            
            #boot-screen h1 { 
                font-size: 1.6rem !important; 
                letter-spacing: 0px !important; 
                line-height: 1.4 !important;
            }
            .btn-engage { font-size: 1.1rem; padding: 12px 20px; }
            #reticle { width: 120px; height: 120px; }
            
            /* --- ĐIỀU CHỈNH RESPONSIVE CHO PHẦN NGUỒN --- */
            #cv-footer-source { 
                bottom: 5px; left: 50%; right: auto; 
                transform: translateX(-50%); 
                text-align: center; 
                width: 90%; 
                font-size: 0.75rem; 
            }
        }
    