Spaces:
Running
Running
/** | |
* Custom styles for OCR Text Explorer | |
* Extends Tailwind CSS with specific styling needs | |
*/ | |
/* Custom scrollbar styling */ | |
::-webkit-scrollbar { | |
width: 8px; | |
height: 8px; | |
} | |
::-webkit-scrollbar-track { | |
@apply bg-gray-100 dark:bg-gray-800; | |
} | |
::-webkit-scrollbar-thumb { | |
@apply bg-gray-400 dark:bg-gray-600 rounded; | |
} | |
::-webkit-scrollbar-thumb:hover { | |
@apply bg-gray-500 dark:bg-gray-500; | |
} | |
/* Firefox scrollbar */ | |
* { | |
scrollbar-width: thin; | |
scrollbar-color: theme('colors.gray.400') theme('colors.gray.100'); | |
} | |
.dark * { | |
scrollbar-color: theme('colors.gray.600') theme('colors.gray.800'); | |
} | |
/* Smooth transitions for theme switching */ | |
body { | |
transition: background-color 0.3s ease, color 0.3s ease; | |
} | |
/* Image panel sticky positioning adjustment */ | |
.sticky { | |
position: -webkit-sticky; | |
position: sticky; | |
} | |
/* Diff content styling */ | |
.diff-content { | |
line-height: 1.6; | |
word-break: break-word; | |
} | |
/* Keyboard hint styling */ | |
kbd { | |
@apply inline-block px-2 py-1 text-xs font-semibold text-gray-800 bg-gray-100 border border-gray-300 rounded dark:bg-gray-700 dark:text-gray-200 dark:border-gray-600; | |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); | |
} | |
/* Loading spinner animation (in case Tailwind's animate-spin needs adjustment) */ | |
@keyframes spin { | |
to { | |
transform: rotate(360deg); | |
} | |
} | |
.animate-spin { | |
animation: spin 1s linear infinite; | |
} | |
/* Tab hover effect */ | |
nav button { | |
position: relative; | |
transition: color 0.2s ease; | |
} | |
nav button::after { | |
content: ''; | |
position: absolute; | |
bottom: -2px; | |
left: 0; | |
right: 0; | |
height: 2px; | |
background-color: transparent; | |
transition: background-color 0.2s ease; | |
} | |
nav button:hover::after { | |
@apply bg-gray-300 dark:bg-gray-600; | |
} | |
/* Image loading state */ | |
img { | |
@apply bg-gray-200 dark:bg-gray-700; | |
min-height: 200px; | |
} | |
img[src=""] { | |
visibility: hidden; | |
} | |
/* Print styles */ | |
@media print { | |
header, footer { | |
display: none ; | |
} | |
.no-print { | |
display: none ; | |
} | |
main { | |
height: auto ; | |
} | |
.diff-content { | |
page-break-inside: avoid; | |
} | |
} | |
/* Responsive adjustments */ | |
@media (max-width: 768px) { | |
/* Stack panels vertically on mobile */ | |
main.flex { | |
@apply flex-col; | |
} | |
/* Full width for panels on mobile */ | |
main > div:first-child { | |
@apply w-full max-h-96; | |
} | |
/* Adjust text size */ | |
.prose-sm { | |
@apply text-xs; | |
} | |
/* Hide keyboard hints on mobile */ | |
footer .text-sm:last-child { | |
@apply hidden; | |
} | |
} | |
/* Focus styles for accessibility */ | |
button:focus, input:focus, select:focus { | |
@apply outline-none ring-2 ring-blue-500 ring-offset-2 dark:ring-offset-gray-900; | |
} | |
/* Custom tooltip styles (if needed later) */ | |
.tooltip { | |
@apply invisible absolute z-10 px-2 py-1 text-xs text-white bg-gray-900 rounded shadow-lg dark:bg-gray-700; | |
} | |
.tooltip-trigger:hover .tooltip { | |
@apply visible; | |
} | |
/* Preserve whitespace in diff views */ | |
.whitespace-pre-wrap { | |
white-space: pre-wrap; | |
word-wrap: break-word; | |
} | |
/* Enhanced diff highlighting with better dark mode contrast */ | |
.diff-delete { | |
@apply bg-red-200 dark:bg-red-950 text-red-800 dark:text-red-300; | |
text-decoration: line-through; | |
text-decoration-color: currentColor; | |
text-decoration-thickness: 2px; | |
} | |
.diff-insert { | |
@apply bg-green-200 dark:bg-green-950 text-green-800 dark:text-green-300; | |
position: relative; | |
} | |
/* Dark mode specific improvements */ | |
.dark .prose { | |
@apply text-gray-200; | |
} | |
.dark .prose h3 { | |
@apply text-gray-100; | |
} | |
/* Remove this - handled inline with classes | |
.dark pre { | |
@apply bg-gray-800 text-gray-200; | |
} */ | |
/* Line numbers for future enhancement */ | |
.line-numbers { | |
counter-reset: line; | |
} | |
.line-numbers > div::before { | |
counter-increment: line; | |
content: counter(line); | |
@apply inline-block w-12 mr-4 text-right text-gray-400 dark:text-gray-600 select-none; | |
} |