
        :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; 
        }

        #cv-app-wrapper, #cv-app-wrapper * { 
            font-family: 'Inter', sans-serif; 
            box-sizing: border-box; 
        }

        #cv-app-wrapper { 
            position: relative; 
            width: 100%; 
            height: 100vh;
            height: 100dvh; 
            min-height: 600px; 
            overflow: hidden; 
            color: var(--hud-color); 
            user-select: none; 
            background-color: #000; 
        }

        .mono-text { font-family: 'Roboto Mono', monospace !important; }

        #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;
        }
        
        .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;
        }

        #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-text-box {
            background: rgba(0, 10, 15, 0.95); border: 1px solid var(--hud-color);
            padding: 15px 30px; border-radius: 4px; text-align: left;
            font-size: 1.1rem; min-height: 80px; display: block; width: 100%;
            box-shadow: 0 0 15px rgba(77, 248, 255, 0.2); line-height: 1.6; pointer-events: auto;
        }

        #ai-dialogue { 
            display: inline; color: #fff; font-family: 'Inter', sans-serif; 
            white-space: pre-wrap; word-wrap: break-word; 
        }

        .typing-cursor::after { content: '█'; animation: blink 1s step-start infinite; }
        @keyframes blink { 50% { opacity: 0; } }

        #hud-controls { position: relative; z-index: 40; display: flex; gap: 20px; margin-top: 20px; pointer-events: auto; }

        .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; font-weight: bold;
            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; }

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

        .large-panel {
            position: absolute; top: 42%; left: 50%; transform: translate(-50%, -35%);
            width: 85%; max-width: 1000px; height: 65vh; min-height: 400px; 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; display: flex; justify-content: space-between; text-transform: uppercase;
        }

        .panel-body { display: flex; flex: 1; overflow: hidden; background: rgba(0, 0, 0, 0.7); }
        .panel-img { flex: 1; background-size: cover; background-position: center; border-right: 1px solid var(--glass-border); }
        .panel-data { flex: 1.5; padding: 30px; display: flex; flex-direction: column; overflow-y: auto; }
        
        .panel-data::-webkit-scrollbar { width: 4px; }
        .panel-data::-webkit-scrollbar-track { background: rgba(0, 20, 30, 0.5); }
        .panel-data::-webkit-scrollbar-thumb { background: var(--hud-color); }

        .data-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid rgba(77, 248, 255, 0.15); }

        .warning-state { --hud-color: var(--hud-warn); --glass-border: rgba(255, 51, 51, 0.6); }
        .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; transition: opacity 0.3s;
        }
        .warning-flash.active { animation: alarmFlash 1.5s infinite; }
        @keyframes alarmFlash { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }

        .main-title {
            color: var(--hud-color); font-size: 2.2rem; text-align: center; text-transform: uppercase; 
            font-weight: bold; letter-spacing: 2px; max-width: 1000px; text-shadow: 0 0 10px var(--hud-color); line-height: 1.5;
        }

        #cv-footer-source {
            position: absolute; bottom: 10px; right: 20px; z-index: 9999; 
            font-size: 0.85rem; color: rgba(255, 255, 255, 0.8); background: rgba(0, 0, 0, 0.6);
            padding: 6px 12px; border-radius: 4px; pointer-events: auto; font-family: 'Inter', sans-serif;
            box-shadow: 0 0 10px rgba(0,0,0,0.5);
        }
        #cv-footer-source a { color: var(--hud-color); text-decoration: none; border-bottom: 1px dotted var(--hud-color); font-weight: bold; }

        @media (max-width: 768px) {
            .large-panel { width: 95%; height: 60vh; top: 40%; }
            .panel-body { flex-direction: column; }
            .panel-img { flex: 0.5; border-right: none; border-bottom: 1px solid var(--glass-border); min-height: 150px; }
            .panel-data { flex: 1; padding: 15px; font-size: 0.95rem; }
            
            #ai-interface { bottom: 70px; width: 95%; }
            .ai-text-box { padding: 15px; font-size: 1rem; min-height: 70px; }
            
            #cv-footer-source { 
                bottom: 15px; right: 50%; transform: translateX(50%); width: 95%;
                text-align: center; font-size: 0.75rem; background: rgba(0, 10, 15, 0.9);
            }

            .main-title { font-size: 1.4rem; letter-spacing: 1px; line-height: 1.5; }
        }
    