diff --git a/index.html b/index.html index 3fc4cac..5f7a0f0 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@
-+
Press Escape or click outside to close
@@ -233,7 +233,7 @@ const App: React.FC = () => { onClick={refresh} whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }} - className="hidden sm:flex items-center gap-2 px-3 py-1.5 text-xs text-zinc-500 hover:text-zinc-300 bg-zinc-900 hover:bg-zinc-800 rounded-lg transition-colors border border-zinc-800" + className="hidden sm:flex items-center gap-2 px-3 py-1.5 text-xs text-zinc-400 hover:text-zinc-300 bg-zinc-900 hover:bg-zinc-800 rounded-lg transition-colors border border-zinc-800" title="Reload templates from disk" >TypoGenie - Professional Typesetting Engine
diff --git a/src/components/ExportOptionsModal.tsx b/src/components/ExportOptionsModal.tsx index 9509eae..c7a1050 100644 --- a/src/components/ExportOptionsModal.tsx +++ b/src/components/ExportOptionsModal.tsx @@ -73,7 +73,7 @@ export default function ExportOptionsModal({ isOpen, onClose, onExport }: Export Document outline/navigation disabled -No templates found
{style.description}
+{style.description}
Select a style to preview
Choose from the list on the left
diff --git a/src/index.css b/src/index.css index e6f7761..e831d11 100644 --- a/src/index.css +++ b/src/index.css @@ -32,14 +32,14 @@ @layer base { :root { - font-size: 16px; + font-size: 100%; } body { font-family: 'Inter', sans-serif; background-color: #09090b; color: #e4e4e7; - overflow: hidden; + overflow-x: hidden; margin: 0; padding: 0; } @@ -47,7 +47,7 @@ #root { width: 100vw; height: 100vh; - overflow: hidden; + overflow-x: hidden; } } @@ -104,7 +104,37 @@ body ::-webkit-scrollbar-thumb:hover, } .focus-ring-spacing:focus-within { - outline: 2px solid rgba(99, 102, 241, 0.3); + outline: 2px solid rgba(99, 102, 241, 0.8); outline-offset: -2px; border-radius: 8px; } + +/* Reduced motion */ +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} + +/* Forced colors / high contrast mode */ +@media (forced-colors: active) { + .focus-ring-spacing:focus-within { + outline: 2px solid LinkText; + } +} + +/* Screen reader only utility */ +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +}