        /* -- DEPENDENCIES: [index.html, Cyberpunks.ttf] -- */
        @font-face {
            font-family: 'Cyberpunks';
            src: url('Cyberpunks.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap;
        }

        body { background-color: #0b1120; color: white; font-family: sans-serif; touch-action: pan-y; }
        
        /* Cyberpunk Glass Effect */
        .glass { 
            background: rgba(15, 23, 42, 0.92); 
            border: 1px solid rgba(56, 189, 248, 0.2); 
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
        }
        
        input[type=range] { width: 100%; cursor: pointer; }
        
        /* Custom Scrollbar */
        #debugConsole::-webkit-scrollbar { width: 8px; }
        #debugConsole::-webkit-scrollbar-track { background: #1e293b; }
        #debugConsole::-webkit-scrollbar-thumb { background: #38bdf8; border-radius: 4px; }

        /* Pure CSS 3D Trenches */
        .track-trench-cyan {
            background-color: #030712; 
            box-shadow: 
                inset 0 10px 15px rgba(0,0,0,1), 
                inset 0 -10px 20px rgba(6, 182, 212, 0.4), 
                inset 0 -1px 1px rgba(255, 255, 255, 0.2), 
                inset 0 2px 2px rgba(0, 0, 0, 0.8); 
        }
        .track-trench-fuchsia {
            background-color: #030712;
            box-shadow: 
                inset 0 10px 15px rgba(0,0,0,1), 
                inset 0 -10px 20px rgba(217, 70, 239, 0.4), 
                inset 0 -1px 1px rgba(255, 255, 255, 0.2),
                inset 0 2px 2px rgba(0, 0, 0, 0.8);
        }

        /* Slider Styles */
        .thumb { 
            touch-action: none; 
            transition: transform 0.1s, box-shadow 0.2s;
            z-index: 10; 
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
            border: 2px solid #0ea5e9; 
        }
        .thumb:active { transform: translate(-50%, 0) scale(1.1); box-shadow: 0 0 15px #0ea5e9; }

        /* Randomizer Slider Thumb Color */
        .thumb-rnd {
            border-color: #d946ef; 
        }
        .thumb-rnd:active { box-shadow: 0 0 15px #d946ef; }

        /* Center Handle Style */
        .thumb-center {
            touch-action: none;
            transition: transform 0.1s, background-color 0.2s, box-shadow 0.2s;
            z-index: 9;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
        }
        .thumb-center:active { 
            transform: translate(-50%, 0) scale(1.05); 
            box-shadow: 0 0 20px rgba(59, 130, 246, 0.6);
        }

        /* Draggable Range Bar Fills */
        #fill, #speedFill, #rndFill, #rndStrokeFill {
            pointer-events: auto;
            touch-action: none;
            z-index: 5;
            box-shadow: 0 0 10px rgba(37, 99, 235, 0.3);
        }
        #fill { cursor: grab; box-shadow: 0 0 15px rgba(59, 130, 246, 0.6); }
        #fill:active { cursor: grabbing; }
        
        #speedFill { box-shadow: 0 0 15px rgba(6, 182, 212, 0.6); }

        #rndFill, #rndStrokeFill { 
            cursor: grab; 
            background: linear-gradient(90deg, #c026d3, #facc15); 
            box-shadow: 0 0 15px rgba(217, 70, 239, 0.6);
        } 
        #rndFill:active, #rndStrokeFill:active { cursor: grabbing; }

        /* Neon Text Glow */
        .neon-text {
            text-shadow: 0 0 5px rgba(56, 189, 248, 0.5);
        }

        /* Asymmetrical Cyberpunk Header Box */
        .hfe-box {
            background: rgba(0,0,0,0.5);
            border: 1px solid rgba(250,204,21,0.2);
            border-radius: 0.5rem;
            box-shadow:
                inset 0 1px 4px rgba(0,0,0,0.5),
                inset 0 1px 0 rgba(255,255,255,0.05);
        }
        .hfe-scanner {
            position: absolute;
            top: 0;
            left: -30%;
            width: 30%;
            height: 100%;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(250,204,21,0.03) 30%,
                rgba(250,204,21,0.12) 50%,
                rgba(250,204,21,0.03) 70%,
                transparent 100%
            );
            pointer-events: none;
            z-index: 2;
            animation: scanner-sweep 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
        }
        @keyframes scanner-sweep {
            0%   { left: -30%; opacity: 0; }
            10%  { opacity: 1; }
            90%  { opacity: 1; }
            100% { left: 110%; opacity: 0; }
        }

        /* =========================================================
           CASINO MACHINE BUTTONS — Premium mechanical feel
           ========================================================= */
        .btn-machine {
            position: relative;
            border: 1px solid rgba(255,255,255,0.08);
            overflow: hidden;
            transition: transform 0.08s, box-shadow 0.08s, filter 0.15s;
        }
        .btn-machine::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                180deg,
                rgba(255,255,255,0.12) 0%,
                rgba(255,255,255,0.04) 40%,
                transparent 50%,
                rgba(0,0,0,0.15) 100%
            );
            pointer-events: none;
            border-radius: inherit;
        }
        .btn-machine:active {
            transform: translateY(4px) scale(0.98);
            filter: brightness(0.85);
        }

        .btn-start {
            background: linear-gradient(180deg, #2563eb 0%, #1e40af 50%, #1e3a8a 100%);
            box-shadow:
                0 4px 0 #172554,
                0 6px 12px rgba(0,0,0,0.5),
                inset 0 1px 0 rgba(255,255,255,0.15);
        }
        .btn-start:hover {
            background: linear-gradient(180deg, #3b82f6 0%, #2563eb 50%, #1e40af 100%);
            box-shadow:
                0 4px 0 #172554,
                0 6px 16px rgba(37,99,235,0.4),
                inset 0 1px 0 rgba(255,255,255,0.2);
        }
        .btn-start:active {
            box-shadow:
                0 0 0 #172554,
                0 2px 6px rgba(0,0,0,0.4),
                inset 0 2px 4px rgba(0,0,0,0.3);
        }

        .btn-stop {
            background: linear-gradient(180deg, #334155 0%, #1e293b 50%, #0f172a 100%);
            box-shadow:
                0 4px 0 #020617,
                0 6px 12px rgba(0,0,0,0.5),
                inset 0 1px 0 rgba(255,255,255,0.08);
        }
        .btn-stop:hover {
            background: linear-gradient(180deg, #475569 0%, #334155 50%, #1e293b 100%);
            box-shadow:
                0 4px 0 #020617,
                0 6px 16px rgba(0,0,0,0.4),
                inset 0 1px 0 rgba(255,255,255,0.12);
        }
        .btn-stop:active {
            box-shadow:
                0 0 0 #020617,
                0 2px 6px rgba(0,0,0,0.4),
                inset 0 2px 4px rgba(0,0,0,0.3);
        }

        /* Running state — compositor-friendly pulse (opacity only, no box-shadow animation) */
        @keyframes engine-pulse {
            0%, 100% { opacity: 0.85; }
            50%      { opacity: 1; }
        }
        .btn-glow {
            animation: engine-pulse 1.8s ease-in-out infinite;
            background: linear-gradient(180deg, #0ea5e9 0%, #2563eb 50%, #1e40af 100%);
            box-shadow: 0 4px 0 #172554, 0 0 16px rgba(34,211,238,0.4), 0 0 40px rgba(34,211,238,0.15), inset 0 1px 0 rgba(255,255,255,0.2);
            border-color: rgba(34,211,238,0.6);
            will-change: opacity;
        }

        /* Kink Lock — stays tiny and separate */
        .toggle-checkbox.toggle-kink {
            box-sizing: border-box !important;
        }
        .toggle-checkbox.toggle-kink:checked {
            transform: translateX(100%);
            border-color: #ef4444;
        }
        .toggle-checkbox.toggle-kink:checked + .toggle-label {
            background-color: #ef4444;
            box-shadow: 0 0 10px rgba(239, 68, 68, 0.8);
        }

        /* Kink Lock — red-hot warning pulse when active */
        @keyframes kink-pulse {
            0%, 100% { opacity: 0.85; }
            50%      { opacity: 1; }
        }
        #kinkWrap.kink-active {
            background: rgba(127, 29, 29, 0.5);
            border-color: #ef4444;
            box-shadow: 0 0 12px rgba(239, 68, 68, 0.5), inset 0 0 8px rgba(239, 68, 68, 0.08);
            animation: kink-pulse 1.5s ease-in-out infinite;
            will-change: opacity;
        }
        #kinkWrap.kink-active .kink-label {
            color: #fca5a5;
            text-shadow: 0 0 6px rgba(239, 68, 68, 0.8);
        }

        /* Power Save Warning Badge */
        @keyframes power-save-pulse {
            0%, 100% { opacity: 0.8; }
            50%      { opacity: 1; }
        }
        .power-save-pulse {
            animation: power-save-pulse 1.8s ease-in-out infinite;
            box-shadow: 0 0 8px rgba(249, 115, 22, 0.5);
            border-color: rgba(251, 191, 36, 0.7);
            will-change: opacity;
        }

        /* Toggle spark particle */
        .toggle-spark {
            position: fixed;
            pointer-events: none;
            border-radius: 50%;
            z-index: 9999;
            will-change: transform, opacity;
        }
        @keyframes spark-fly {
            0%   { opacity: 1; transform: translate(0, 0) scale(1); }
            100% { opacity: 0; transform: translate(var(--sx), var(--sy)) scale(0); }
        }

        /* Recall Animation */
        #keyRecall {
            transform-origin: top;
            transition: all 0.2s ease-out;
        }

        /* Custom Ko-fi Button Styling */
        .kofi-wrap a {
            background-image: linear-gradient(to right, #22d3ee, #3b82f6, #9333ea) !important;
            background-color: transparent !important;
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
            box-shadow: 0 0 15px rgba(59, 130, 246, 0.3) !important;
            transition: box-shadow 0.2s, transform 0.2s !important;
        }
        .kofi-wrap a:hover {
            box-shadow: 0 0 25px rgba(59, 130, 246, 0.6) !important;
        }

        /* Enter System Button Scrolling Light Animation with Yellow/Blue Combo */
        @keyframes cyber-pan {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
        .btn-enter-system {
            background: linear-gradient(270deg, #1e293b, #0f172a, #0ea5e9, #facc15, #0f172a, #1e293b);
            background-size: 400% 400%;
            animation: cyber-pan 4s ease infinite;
            border: 1px solid rgba(56, 189, 248, 0.4);
            color: #e2e8f0;
        }
        .btn-enter-system:hover {
            color: #ffffff;
            box-shadow: 0 0 15px rgba(56, 189, 248, 0.4);
            border-color: rgba(56, 189, 248, 0.8);
        }

        /* =========================================================
           HAPTIC GLOW — Speed-reactive UI atmosphere
           Driven by inline styles set from updateHapticGlow() at ~10fps.
           ========================================================= */
        #controls {
            will-change: transform;
        }

        @keyframes haptic-jitter {
            0%  { transform: translate(0, 0); }
            10% { transform: translate(-0.4px, 0.3px); }
            20% { transform: translate(0.3px, -0.4px); }
            30% { transform: translate(-0.3px, -0.2px); }
            40% { transform: translate(0.4px, 0.2px); }
            50% { transform: translate(-0.2px, 0.4px); }
            60% { transform: translate(0.3px, -0.3px); }
            70% { transform: translate(-0.4px, 0.1px); }
            80% { transform: translate(0.2px, -0.4px); }
            90% { transform: translate(-0.1px, 0.3px); }
            100%{ transform: translate(0, 0); }
        }
        #controls.haptic-vibrate {
            animation: haptic-jitter 0.15s linear infinite;
        }

        /* Recessed CRT-style canvas wrapper */
        #motionCanvasWrapper {
            background: #030712;
            border: 1px solid rgba(0, 255, 255, 0.12);
            box-shadow:
                inset 0 15px 25px rgba(0, 0, 0, 0.9),
                inset 0 2px 5px rgba(0, 0, 0, 1),
                inset 0 -4px 12px rgba(0, 0, 0, 0.6),
                0 0 8px rgba(0, 0, 0, 0.8);
        }

        /* =========================================================
           PRESTIGE TIERS — Lifetime mileage logo treatments
           ========================================================= */
        #mainLogo {
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            transition: filter 0.5s;
        }
        .prestige-0 {
            background-image: linear-gradient(to right, #22d3ee, #3b82f6, #9333ea);
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.8));
            text-shadow: none;
        }
        .prestige-1 {
            background-image: linear-gradient(to right, #facc15, #f59e0b, #eab308);
            filter: drop-shadow(0 0 8px rgba(250,204,21,0.5));
        }
        .prestige-2 {
            background-image: linear-gradient(to right, #10b981, #34d399, #6ee7b7);
            filter: drop-shadow(0 0 10px rgba(16,185,129,0.5));
        }
        .prestige-4 {
            background-image: linear-gradient(to right, #ec4899, #d946ef, #f472b6);
            filter: drop-shadow(0 0 10px rgba(236,72,153,0.5));
        }
        .prestige-8 {
            background-image: linear-gradient(to right, #8b5cf6, #7c3aed, #a78bfa);
            filter: drop-shadow(0 0 12px rgba(139,92,246,0.6));
        }
        .prestige-16 {
            background-image: linear-gradient(to right, #ef4444, #dc2626, #f87171);
            filter: drop-shadow(0 0 12px rgba(239,68,68,0.6));
            animation: prestige-blood 2s ease-in-out infinite;
        }
        @keyframes prestige-blood {
            0%, 100% { filter: drop-shadow(0 0 8px rgba(239,68,68,0.4)); }
            50%      { filter: drop-shadow(0 0 18px rgba(239,68,68,0.8)); }
        }
        .prestige-32 {
            background-image: linear-gradient(to right, #e2e8f0, #ffffff, #cbd5e1, #ffffff);
            filter: drop-shadow(0 0 14px rgba(255,255,255,0.5));
        }
        .prestige-64 {
            background-image: linear-gradient(90deg, #00ffcc, #ff00ff, #00ffff, #ffff00, #00ffcc);
            background-size: 300% 100%;
            animation: prestige-holo 3s linear infinite;
            filter: drop-shadow(0 0 16px rgba(0,255,204,0.6));
        }
        @keyframes prestige-holo {
            0%   { background-position: 0% 50%; }
            100% { background-position: 300% 50%; }
        }

        .canvas-glass-reflection {
            background: linear-gradient(
                to bottom,
                rgba(255, 255, 255, 0.05) 0%,
                rgba(255, 255, 255, 0.015) 20%,
                transparent 45%,
                transparent 100%
            );
        }

        /* =========================================================
           FLEET MANIFEST — Neural Link / Digital Manifest
           ========================================================= */
        .fleet-manifest {
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(34, 211, 238, 0.12);
            border-radius: 0.75rem;
            padding: 0.375rem;
            max-height: 10rem;
            overflow-y: auto;
            box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.4);
        }

        .fleet-manifest::-webkit-scrollbar { width: 6px; }
        .fleet-manifest::-webkit-scrollbar-track { background: transparent; }
        .fleet-manifest::-webkit-scrollbar-thumb { background: rgba(34, 211, 238, 0.3); border-radius: 3px; }

        .fleet-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(34, 211, 238, 0.15);
            border-radius: 0.5rem;
            padding: 0.5rem 0.75rem;
            margin-bottom: 0.25rem;
            transition: border-color 0.3s, box-shadow 0.3s;
            position: relative;
            z-index: 2;
        }

        .fleet-item:last-child {
            margin-bottom: 0;
        }

        .fleet-item:hover {
            border-color: rgba(34, 211, 238, 0.35);
            box-shadow: 0 0 8px rgba(34, 211, 238, 0.1);
        }

        .fleet-remove-btn {
            line-height: 0;
        }
        .fleet-remove-btn:hover {
            filter: drop-shadow(0 0 4px rgba(244, 63, 94, 0.6));
        }

        /* Fleet node status dot animation */
        @keyframes fleet-dot-online {
            0%, 100% { box-shadow: 0 0 4px #10b981; }
            50%      { box-shadow: 0 0 8px #10b981, 0 0 3px #34d399; }
        }
        .fleet-node-dot {
            transition: background-color 0.3s, box-shadow 0.3s;
        }

        /* Shimmer + Glitch for TIP JAR / BY TYPO buttons */
        @keyframes btn-shimmer {
            0%   { background-position: -200% center; }
            100% { background-position: 200% center; }
        }
        .btn-glitch-shimmer {
            position: relative;
            overflow: hidden;
        }
        .btn-glitch-shimmer::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                105deg,
                transparent 40%,
                rgba(34, 211, 238, 0.18) 50%,
                transparent 60%
            );
            background-size: 200% 100%;
            animation: btn-shimmer 3.5s linear infinite;
            pointer-events: none;
            border-radius: inherit;
        }
        .btn-glitch-shimmer span {
            display: inline-block;
        }

        /* Camera resize handle */
        .cam-resize-handle {
            height: 14px;
            cursor: ns-resize;
            background: linear-gradient(to bottom, rgba(255,255,255,0.03), rgba(255,255,255,0.06));
            display: flex;
            align-items: center;
            justify-content: center;
            touch-action: none;
            user-select: none;
            -webkit-user-select: none;
            transition: background 0.15s;
        }
        .cam-resize-handle::after {
            content: '';
            width: 36px;
            height: 3px;
            border-radius: 2px;
            background: rgba(255,255,255,0.15);
            transition: background 0.15s;
        }
        .cam-resize-handle:hover,
        .cam-resize-handle:active {
            background: linear-gradient(to bottom, rgba(56,189,248,0.08), rgba(56,189,248,0.15));
        }
        .cam-resize-handle:hover::after,
        .cam-resize-handle:active::after {
            background: rgba(56,189,248,0.4);
        }
