mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-07 11:35:53 +00:00
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
142 lines
3 KiB
CSS
142 lines
3 KiB
CSS
@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;
|
|
}
|