/* * Tailwind utility subset for mdedit * * This file replaces the Tailwind Play CDN. It contains only the utility * classes actually used in template.html, hand-written to match Tailwind v3 * output exactly. If new Tailwind classes are needed in template.html, add * them here and remove the class from this comment. * * Generated from: grep -o 'class="[^"]*"' template.html | tr ' ' '\n' | sort -u * Tailwind version parity: v3.x (default spacing scale, gray palette, etc.) */ /* ── Reset ── */ *, ::before, ::after { box-sizing: border-box; } /* ── Display ── */ .flex { display: flex; } .inline-flex { display: inline-flex; } /* .hidden lives in shared/base.css (uses !important) */ /* ── Flex direction ── */ .flex-col { flex-direction: column; } .flex-row { flex-direction: row; } /* ── Flex grow ── */ .flex-1 { flex: 1 1 0%; } /* ── Alignment ── */ .items-center { align-items: center; } .justify-between { justify-content: space-between; } .justify-center { justify-content: center; } /* ── Gap ── */ .gap-1 { gap: 0.25rem; } .gap-2 { gap: 0.5rem; } .gap-4 { gap: 1rem; } .gap-6 { gap: 1.5rem; } /* ── Overflow ── */ .overflow-hidden { overflow: hidden; } .overflow-auto { overflow: auto; } /* ── Sizing ── */ .h-screen { height: 100vh; } .h-full { height: 100%; } .h-12 { height: 3rem; } .h-6 { height: 1.5rem; } .h-3\.5 { height: 0.875rem; } .h-24 { height: 6rem; } /* ── Resize ── */ .resize-none { resize: none; } /* ── Border ── */ .border-0 { border-width: 0; } /* ── Outline ── */ .focus\:outline-none:focus { outline: none; } .w-full { width: 100%; } .w-1 { width: 0.25rem; } .w-3\.5 { width: 0.875rem; } /* ── Positioning ── */ .relative { position: relative; } .z-10 { z-index: 10; } /* ── Spacing ── */ .p-4 { padding: 1rem; } .p-6 { padding: 1.5rem; } .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; } .pl-2 { padding-left: 0.5rem; } .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; } .px-4 { padding-left: 1rem; padding-right: 1rem; } .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; } .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; } .mt-2 { margin-top: 0.5rem; } .mb-2 { margin-bottom: 0.5rem; } .mb-4 { margin-bottom: 1rem; } /* ── Typography ── */ .text-xl { font-size: 1.25rem; line-height: 1.75rem; } .text-sm { font-size: 0.875rem; line-height: 1.25rem; } .text-xs { font-size: 0.75rem; line-height: 1rem; } .font-semibold { font-weight: 600; } .font-medium { font-weight: 500; } .text-center { text-align: center; } .leading-none { line-height: 1; } .select-none { user-select: none; } /* ── Colors — text ── */ .text-white { color: #ffffff; } .text-gray-800 { color: #1f2937; } .text-gray-700 { color: #374151; } .text-gray-500 { color: #6b7280; } .text-amber-600 { color: #d97706; } /* ── Colors — background ── */ .bg-white { background-color: #ffffff; } .bg-gray-100 { background-color: #f3f4f6; } .bg-gray-200 { background-color: #e5e7eb; } .bg-transparent { background-color: transparent; } .bg-blue-500 { background-color: #3b82f6; } /* ── Borders ── */ .border { border-width: 1px; border-style: solid; } .border-b { border-bottom-width: 1px; border-bottom-style: solid; } .border-t { border-top-width: 1px; border-top-style: solid; } .border-gray-200 { border-color: #e5e7eb; } .border-gray-300 { border-color: #d1d5db; } .rounded { border-radius: 0.25rem; } /* ── Opacity ── */ .opacity-70 { opacity: 0.7; } .opacity-80 { opacity: 0.8; } /* ── SVG ── */ .fill-current { fill: currentColor; } /* ── Cursor ── */ .cursor-pointer { cursor: pointer; } .cursor-col-resize { cursor: col-resize; } /* ── Transitions ── */ .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; } .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; } .transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; } /* ── Pseudo-class: hover ── */ .hover\:bg-blue-500:hover { background-color: #3b82f6; } .hover\:bg-blue-600:hover { background-color: #2563eb; } .hover\:bg-gray-200:hover { background-color: #e5e7eb; } .hover\:opacity-80:hover { opacity: 0.8; } /* ── Pseudo-class: disabled ── */ .disabled\:bg-gray-400:disabled { background-color: #9ca3af; } .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; } /* ── Dark mode (prefers-color-scheme or manual [data-theme="dark"]) ── */ @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .dark\:bg-gray-700 { background-color: #374151; } :root:not([data-theme="light"]) .dark\:bg-gray-800 { background-color: #1f2937; } :root:not([data-theme="light"]) .dark\:bg-gray-900 { background-color: #111827; } :root:not([data-theme="light"]) .dark\:border-gray-600 { border-color: #4b5563; } :root:not([data-theme="light"]) .dark\:border-gray-700 { border-color: #374151; } :root:not([data-theme="light"]) .dark\:text-gray-200 { color: #e5e7eb; } :root:not([data-theme="light"]) .dark\:text-gray-400 { color: #9ca3af; } :root:not([data-theme="light"]) .dark\:hover\:bg-gray-700:hover { background-color: #374151; } :root:not([data-theme="light"]) .dark\:hover\:bg-gray-800:hover { background-color: #1f2937; } } /* Manual dark override */ [data-theme="dark"] .dark\:bg-gray-700 { background-color: #374151; } [data-theme="dark"] .dark\:bg-gray-800 { background-color: #1f2937; } [data-theme="dark"] .dark\:bg-gray-900 { background-color: #111827; } [data-theme="dark"] .dark\:border-gray-600 { border-color: #4b5563; } [data-theme="dark"] .dark\:border-gray-700 { border-color: #374151; } [data-theme="dark"] .dark\:text-gray-200 { color: #e5e7eb; } [data-theme="dark"] .dark\:text-gray-400 { color: #9ca3af; } [data-theme="dark"] .dark\:hover\:bg-gray-700:hover { background-color: #374151; } [data-theme="dark"] .dark\:hover\:bg-gray-800:hover { background-color: #1f2937; } /* Manual light override — ensure bg-white/bg-gray-100 are NOT overridden by above */ [data-theme="light"] .dark\:bg-gray-700, [data-theme="light"] .dark\:bg-gray-800, [data-theme="light"] .dark\:bg-gray-900 { background-color: revert; } /* ── Directional spacing (used in JS-generated elements) ── */ .ml-1 { margin-left: 0.25rem; } .ml-4 { margin-left: 1rem; } .mr-1 { margin-right: 0.25rem; } .pl-0 { padding-left: 0; } .pl-4 { padding-left: 1rem; } /* ── Additional missing utilities ── */ .whitespace-nowrap { white-space: nowrap; } .text-ellipsis { text-overflow: ellipsis; } .font-bold { font-weight: 700; } .border-r { border-right-width: 1px; border-right-style: solid; } .mt-1 { margin-top: 0.25rem; } .text-amber-500 { color: #f59e0b; } .text-blue-600 { color: #2563eb; } .hover\:bg-gray-100:hover { background-color: #f3f4f6; } .hover\:text-blue-800:hover { color: #1e40af; } .hover\:underline:hover { text-decoration: underline; }