@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Pretendard:wght@300;400;600;800&display=swap');

        /* THEME: Deep Dark Tech & Glassmorphism */
        body {
            font-family: 'Pretendard', sans-serif;
            background-color: #000000;
            background-image: radial-gradient(circle at 50% 0%, #0f172a 0%, #000000 70%);
            color: #cbd5e1;
            overflow-x: hidden;
            padding-top: 76px;
        }

        /* Tech Border Styling */
        .tech-border {
            border: 1px solid rgba(255, 255, 255, 0.30);
            background: rgba(10, 10, 12, 0.6);
            backdrop-filter: blur(4px);
            transition: all 0.3s ease;
        }
        .tech-border:hover {
            border-color: rgba(255, 255, 255, 0.40);
            background: rgba(20, 20, 25, 0.8);
            transform: translateY(-2px);
            box-shadow: 0 10px 40px -10px rgba(0,0,0,0.8);
        }

        /* ASCII Art Styling with Neon Glow */
        .ascii-art {
            font-family: 'JetBrains Mono', monospace;
            white-space: pre;
            line-height: 1.1;
            font-size: 10px;
            font-weight: bold;
            text-align: center;
            text-shadow: 0 0 5px currentColor;
        }

        /* Terminal Cursor */
        .cursor-block {
            display: inline-block;
            width: 8px;
            height: 16px;
            background-color: #22d3ee;
            box-shadow: 0 0 8px #22d3ee;
            animation: blink 1s step-end infinite;
            vertical-align: middle;
        }
        @keyframes blink { 50% { opacity: 0; } }

        /* Custom Scrollbar for Terminal */
        .custom-scrollbar::-webkit-scrollbar { width: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: #0a0a0a; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #334155; border-radius: 3px; }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #475569; }

        /* 3D ASCII Cube Styles (Unified with ascii-cube-compact.html) */
        .scene {
            perspective: 1000px;
            width: 260px;
            height: 260px;
            margin: 0 auto;
            cursor: grab;
        }
        .scene:active {
            cursor: grabbing;
        }
        .cube {
            width: 100%;
            height: 100%;
            position: relative;
            transform-style: preserve-3d;
            /* Transition is managed by JS for smooth dragging */
        }
        .cube-face {
            position: absolute;
            width: 270px;
            height: 270px;
            border: 2px solid rgba(148, 163, 184, 0.4);
            box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
            color: #cbd5e1;
            font-family: 'JetBrains Mono', monospace;
            font-size: 10px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            backface-visibility: visible;
            overflow: hidden;
            border-radius: 4px;
            user-select: none;
            opacity: 0.95;
        }

        /* Face Transforms */
        .face-front  { transform: rotateY(0deg) translateZ(135px); }
        .face-back   { transform: rotateY(180deg) translateZ(135px); }
        .face-right  { transform: rotateY(90deg) translateZ(135px); }
        .face-left   { transform: rotateY(-90deg) translateZ(135px); }
        .face-top    { transform: rotateX(90deg) translateZ(135px); }
        .face-bottom { transform: rotateX(-90deg) translateZ(135px); }

        /* Face Colors - Transparent backgrounds with colored borders (NPC Theme) */
        .face-front  { background: rgba(16, 185, 129, 0.15); border-color: rgba(16, 185, 129, 0.6); color: #6ee7b7; } /* Guardian - Emerald */
        .face-back   { background: rgba(250, 204, 21, 0.15); border-color: rgba(250, 204, 21, 0.6); color: #fde047; } /* Monitor - Yellow */
        .face-right  { background: rgba(168, 85, 247, 0.15); border-color: rgba(168, 85, 247, 0.6); color: #e9d5ff; } /* Oracle - Purple */
        .face-left   { background: rgba(59, 130, 246, 0.15); border-color: rgba(59, 130, 246, 0.6); color: #93c5fd; } /* Context - Blue */
        .face-top    { background: rgba(6, 182, 212, 0.15); border-color: rgba(6, 182, 212, 0.6); color: #67e8f9; } /* Verifier - Cyan */
        .face-bottom { background: rgba(244, 63, 94, 0.15); border-color: rgba(244, 63, 94, 0.6); color: #fda4af; } /* Critic - Rose */