@tailwind base; @tailwind components; @tailwind utilities; /* Fira Code Variable Font */ @font-face { font-family: 'Fira Code'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('/fonts/FiraCode-VF.woff2') format('woff2-variations'), url('/fonts/FiraCode-VF.ttf') format('truetype-variations'); font-variation-settings: 'wght' 400; } /* Override Tailwind's font-mono to use Fira Code */ .font-mono { font-family: 'Fira Code', ui-monospace, SFMono-Regular, 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace !important; } /* Mobile scroll and touch behavior fixes */ html, body { overscroll-behavior: none; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; } /* Prevent pull-to-refresh on mobile */ body { overscroll-behavior-y: contain; } /* Terminal-specific touch handling */ .xterm { touch-action: pan-y; overscroll-behavior: none; } .xterm .xterm-viewport { touch-action: pan-y; overscroll-behavior-y: contain; } /* Fix XTerm text span touch scrolling issues */ .xterm .xterm-rows span { touch-action: pan-y; } .xterm .xterm-screen { touch-action: pan-y; } /* More aggressive fix for session cards (read-only snapshots) */ .session-preview .xterm .xterm-rows span { pointer-events: none; touch-action: pan-y; } /* Terminal container scroll prevention */ #terminal-container { touch-action: pan-y; overscroll-behavior: none; } /* Session cards - prevent pull-to-refresh */ .session-card { overscroll-behavior: none; } /* App header - prevent pull-to-refresh when scrolling starts from header */ .app-header { overscroll-behavior: none; touch-action: pan-x pan-y; } /* XTerm terminal styling */ .xterm { padding: 0 !important; font-family: 'Fira Code', ui-monospace, SFMono-Regular, 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace !important; } .xterm .xterm-viewport { background-color: transparent !important; } /* Ensure terminal container has proper size */ #terminal-player, #interactive-terminal { min-height: 480px; min-width: 640px; width: 100%; } /* Terminal focus indicator */ .terminal-focused { box-shadow: 0 0 0 2px #00ff00; border-color: #00ff00 !important; } /* Keyboard capture indicator */ .keyboard-capture-indicator { position: fixed; top: 10px; right: 10px; background: rgba(0, 255, 0, 0.1); border: 1px solid #00ff00; color: #00ff00; padding: 4px 8px; border-radius: 4px; font-size: 12px; z-index: 1000; } /* Force XTerm terminal to fit within session card bounds */ .session-preview .xterm { min-width: unset !important; min-height: unset !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; overflow: hidden !important; } .session-preview .xterm .xterm-screen { max-width: 100% !important; max-height: 100% !important; } .session-preview .xterm .xterm-viewport { overflow: hidden !important; } .xterm .xterm-helper-textarea { opacity: 0 !important; }