@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap'); :root { --grid-color: rgba(0, 0, 0, 0.05); --dot-size: 1px; --dot-space: 20px; } .dark { --grid-color: rgba(255, 255, 255, 0.05); } body { font-family: 'Geist', sans-serif; background-color: #fafafa; background-image: radial-gradient(var(--grid-color) var(--dot-size), transparent var(--dot-size)), radial-gradient(var(--grid-color) var(--dot-size), transparent var(--dot-size)); background-position: 0 0, calc(var(--dot-space) / 2) calc(var(--dot-space) / 2); background-size: var(--dot-space) var(--dot-space); min-height: 100vh; } .dark body { background-color: #0a0a0a; } .prompt-card { transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); border: 1px solid rgba(0, 0, 0, 0.05); } .prompt-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); } .dark .prompt-card { border: 1px solid rgba(255, 255, 255, 0.05); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); } .dark .prompt-card:hover { box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3); } .tag { transition: all 0.2s ease; } .tag:hover { transform: scale(1.05); } .copy-btn { transition: all 0.2s ease; } .copy-btn:hover { background-color: #e5e7eb; } .dark .copy-btn:hover { background-color: #374151; } .prompt-overlay { background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); transition: opacity 0.3s ease; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; } .dark ::-webkit-scrollbar-thumb { background: #4b5563; } /* ASCII-style divider */ .ascii-divider { font-family: monospace; letter-spacing: -0.2em; opacity: 0.3; margin: 2rem 0; } /* Blueprint grid overlay */ .grid-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; background-image: linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px); background-size: 20px 20px; z-index: -1; } .dark .grid-overlay { background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px); } /* Corner markers */ .corner-marker { position: absolute; width: 20px; height: 20px; border: 1px solid currentColor; } .corner-marker.top-left { top: 0; left: 0; border-right: none; border-bottom: none; } .corner-marker.top-right { top: 0; right: 0; border-left: none; border-bottom: none; } .corner-marker.bottom-left { bottom: 0; left: 0; border-right: none; border-top: none; } .corner-marker.bottom-right { bottom: 0; right: 0; border-left: none; border-top: none; }