*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg: #fafafa;--bg-elevated: #ffffff;--bg-recessed: #f2f2f2;--bg-hover: #ebebeb;--text-primary: #171717;--text-secondary: #4d4d4d;--text-muted: #8f8f8f;--accent: #0072f5;--focus: #005fcc;--header-bg: rgba(250, 250, 250, .92);--header-border: rgba(0, 0, 0, .1);--backdrop: rgba(250, 250, 250, .85);--border-subtle: rgba(0, 0, 0, .04);--skeleton-mid: #e8e8e8;--accent-hover: rgba(0, 114, 245, .08);--focus-ring-inner: #fff;--border-shadow: 0 0 0 1px rgba(0, 0, 0, .08);--shadow-medium: 0 0 0 1px rgba(0, 0, 0, .08), 0 2px 2px rgba(0, 0, 0, .04), 0 8px 8px -8px rgba(0, 0, 0, .04);--shadow-large: 0 0 0 1px rgba(0, 0, 0, .08), 0 2px 2px rgba(0, 0, 0, .04), 0 8px 16px -4px rgba(0, 0, 0, .04);--shadow-modal: 0 0 0 1px rgba(0, 0, 0, .08), 0 8px 16px -4px rgba(0, 0, 0, .04), 0 24px 32px -8px rgba(0, 0, 0, .06);--focus-ring: 0 0 0 2px var(--focus-ring-inner), 0 0 0 4px var(--accent);--radius: 6px;--radius-card: 12px;--page-width: 1200px;--header-height: 64px;--font: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace}[data-theme=dark]{--bg: #0a0a0a;--bg-elevated: #171717;--bg-recessed: #262626;--bg-hover: #2e2e2e;--text-primary: #ededed;--text-secondary: #a1a1a1;--text-muted: #737373;--accent: #3291ff;--focus: #52a9ff;--header-bg: rgba(10, 10, 10, .92);--header-border: rgba(255, 255, 255, .08);--backdrop: rgba(10, 10, 10, .88);--border-subtle: rgba(255, 255, 255, .06);--skeleton-mid: #333333;--accent-hover: rgba(50, 145, 255, .12);--focus-ring-inner: #0a0a0a;--border-shadow: 0 0 0 1px rgba(255, 255, 255, .1);--shadow-medium: 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 2px rgba(0, 0, 0, .2), 0 8px 8px -8px rgba(0, 0, 0, .3);--shadow-large: 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 2px rgba(0, 0, 0, .2), 0 8px 16px -4px rgba(0, 0, 0, .4);--shadow-modal: 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 16px -4px rgba(0, 0, 0, .4), 0 24px 32px -8px rgba(0, 0, 0, .5)}html{font-size:16px;-webkit-font-smoothing:antialiased;color-scheme:light dark}body{font-family:var(--font);font-weight:400;color:var(--text-primary);background:var(--bg);line-height:1.5;min-height:100vh;transition:background-color .2s ease,color .2s ease}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}.header{position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 0 var(--header-border)}.header-inner{max-width:var(--page-width);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:flex-end;gap:12px}.header-count{font-size:13px;color:var(--text-muted);margin-right:auto}.theme-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius);box-shadow:var(--border-shadow);transition:background .15s,color .15s}.theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-toggle:focus-visible{box-shadow:var(--focus-ring)}.icon{width:16px;height:16px;flex-shrink:0}.icon-sm{width:14px;height:14px}.footer{border-top:none;padding:40px 24px 48px;text-align:center}.footer-credit{font-size:13px;color:var(--text-muted)}.footer-profile{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-secondary);border-radius:var(--radius);padding:2px 4px;margin:-2px -4px;transition:color .15s}.footer-profile:hover{color:var(--text-primary)}.footer-profile:focus-visible{box-shadow:var(--focus-ring);outline:none}.footer-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--bg-recessed)}.footer-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:var(--text-secondary)}.main{max-width:var(--page-width);margin:0 auto;padding:48px 24px 80px}.hero{margin-bottom:40px}.hero h1{font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1;letter-spacing:-.04em;margin-bottom:16px}.hero-subtitle{font-size:16px;color:var(--text-secondary);max-width:560px;line-height:1.6}.controls{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.search-bar{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:40px;padding:0 40px;font-family:var(--font);font-size:14px;color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--radius);box-shadow:var(--border-shadow);border:none;outline:none;transition:box-shadow .15s}.search-input:focus{outline:2px solid var(--focus);outline-offset:0;box-shadow:none}.search-input::placeholder{color:var(--text-muted)}.search-clear{position:absolute;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);border-radius:var(--radius)}.search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-clear:focus-visible{box-shadow:var(--focus-ring)}.tag-filter{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{padding:6px 14px;font-size:13px;color:var(--text-secondary);background:var(--bg-elevated);border-radius:9999px;box-shadow:var(--border-shadow);transition:background .15s,color .15s}.tag-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.tag-pill.active{background:var(--text-primary);color:var(--bg);box-shadow:none}.tag-pill:focus-visible{box-shadow:var(--focus-ring)}.results-count{font-size:13px;color:var(--text-muted);margin-bottom:24px}.loading-state{text-align:center;padding:80px 24px;color:var(--text-muted);font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.gallery-card{background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-medium);overflow:hidden;transition:box-shadow .2s}.gallery-card:hover{box-shadow:var(--shadow-large)}.card-button{width:100%;text-align:left;display:block}.card-button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-card)}.card-image-wrap{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-recessed)}.card-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--bg-recessed) 0%,var(--skeleton-mid) 50%,var(--bg-recessed) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-image-wrap img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}.card-image-wrap img.loaded{opacity:1}.card-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-recessed);color:var(--text-muted);font-size:14px;text-align:center}.card-body{padding:20px}.card-body h2{font-size:16px;font-weight:500;margin-bottom:8px;letter-spacing:-.01em}.card-prompt-preview{font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-model{font-size:12px;color:var(--text-muted)}.card-tags{display:flex;gap:6px}.card-tag{font-size:11px;padding:2px 8px;color:var(--text-secondary);background:var(--bg-recessed);border-radius:9999px}.empty-state{text-align:center;padding:64px 24px;color:var(--text-secondary)}.empty-state p{margin-bottom:16px}.btn-ghost{padding:8px 16px;font-size:14px;color:var(--text-secondary);border-radius:var(--radius)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-ghost:focus-visible{box-shadow:var(--focus-ring)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;width:100%;max-width:960px;max-height:90vh;background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);overflow:hidden;animation:modalIn .25s cubic-bezier(.175,.885,.32,1.1)}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-close{position:absolute;top:12px;right:12px;z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius);box-shadow:var(--border-shadow)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close:focus-visible{box-shadow:var(--focus-ring)}.modal-layout{display:grid;grid-template-columns:1fr 1fr;max-height:90vh}.modal-image{background:var(--bg-recessed);display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden}.modal-image img{width:100%;height:100%;object-fit:contain;max-height:90vh}.modal-details{padding:32px;overflow-y:auto;max-height:90vh}.modal-details h2{font-size:24px;font-weight:600;letter-spacing:-.03em;margin-bottom:24px;padding-right:32px}.detail-list{margin-bottom:24px}.detail-row{display:grid;grid-template-columns:100px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.detail-row:last-child{border-bottom:none}.detail-row dt{font-size:12px;color:var(--text-muted)}.detail-row dd{font-size:13px;color:var(--text-primary)}.modal-tags{display:flex;flex-wrap:wrap;gap:6px}.prompt-block{margin-bottom:20px}.prompt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.prompt-header h3{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.btn-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px;color:var(--accent);border-radius:var(--radius)}.btn-copy:hover{background:var(--accent-hover)}.btn-copy:focus-visible{box-shadow:var(--focus-ring)}.prompt-text{font-size:14px;line-height:1.6;color:var(--text-primary);padding:12px 16px;background:var(--bg-recessed);border-radius:var(--radius);font-family:var(--font-mono);font-weight:500;font-size:13px}.prompt-text.muted{color:var(--text-secondary)}@media(max-width:768px){.main{padding-top:32px}.gallery-grid{grid-template-columns:1fr}.modal-layout{grid-template-columns:1fr;max-height:95vh;overflow-y:auto}.modal-image,.modal-image img{max-height:40vh}.modal-details{max-height:none;padding:24px}}
