@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600&family=Syne:wght@400;500;600&display=swap";:root{--color-cosmic-void: #05030d;--color-cosmic-deep: #0b0c1f;--color-cosmic-mid: #111827;--color-cosmic-slate: #1b2235;--color-nebula-violet: #8b7cff;--color-plasma-teal: #2fe3c0;--color-ion-blue: #4b7cff;--color-ember-amber: #f28b4b;--color-spectral-rose: #e477d4;--color-text-primary: rgba(255, 255, 255, .95);--color-text-secondary: rgba(255, 255, 255, .7);--color-text-tertiary: rgba(255, 255, 255, .5);--gradient-accent: linear-gradient(135deg, #8b7cff 0%, #2fe3c0 100%);--gradient-panel: linear-gradient(135deg, #111827 0%, #1b2235 100%);--gradient-veil: radial-gradient(circle at 20% 80%, rgba(139, 124, 255, .18) 0%, transparent 55%);--font-display: "Satoshi", "Syne", "Space Grotesk", sans-serif;--font-body: "Space Grotesk", "Sora", sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", monospace;--font-weight-thin: 200;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-display-lg: 3.5rem;--font-size-display-md: 2.75rem;--font-size-h1: 2rem;--font-size-body: 1rem;--font-size-caption: .75rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-soft: 0 10px 30px rgba(4, 6, 16, .4);--shadow-deep: 0 20px 60px rgba(4, 6, 16, .6)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);background:var(--color-cosmic-void);color:var(--color-text-primary)}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2}body:before{background:radial-gradient(circle at 20% 20%,rgba(139,124,255,.16),transparent 55%),radial-gradient(circle at 80% 10%,rgba(47,227,192,.12),transparent 50%),radial-gradient(circle at 40% 80%,rgba(228,119,212,.12),transparent 55%);opacity:.9}body:after{background:linear-gradient(180deg,#05030de6,#05030d99 60%,#05030df2);z-index:-3}a{color:inherit}img{max-width:100%;display:block}button{font-family:inherit}.app{min-height:100vh;padding:var(--spacing-3xl) var(--spacing-lg) var(--spacing-4xl)}.hero{max-width:920px;margin:0 auto var(--spacing-3xl);text-align:left}.eyebrow{font-size:var(--font-size-caption);letter-spacing:.35em;text-transform:uppercase;color:var(--color-text-tertiary)}.headline{font-family:var(--font-display);font-size:var(--font-size-display-lg);font-weight:var(--font-weight-light);margin:var(--spacing-md) 0;line-height:1.1}.subhead{color:var(--color-text-secondary);max-width:640px}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);color:var(--color-text-tertiary);font-size:.9rem}.filters{max-width:1100px;margin:0 auto var(--spacing-2xl);display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.chip{padding:.45rem 1rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--color-text-secondary);cursor:pointer;transition:border-color .3s ease,color .3s ease,transform .3s ease}.chip:hover{transform:translateY(-2px);border-color:#8b7cff80;color:var(--color-text-primary)}.chip.active{background:var(--gradient-accent);color:#0b0c1f;border-color:transparent}.gallery{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg)}.card{background:#0f1222cc;border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.card:hover{transform:translateY(-6px);border-color:#8b7cff66;box-shadow:var(--shadow-deep)}.card-media{position:relative;aspect-ratio:1 / 1;overflow:hidden}.card-placeholder{width:100%;height:100%}.card-media img{width:100%;height:100%;object-fit:cover}.card-gradient{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;mix-blend-mode:screen}.card-body{padding:var(--spacing-md)}.card-title{font-size:1.1rem;margin:0 0 var(--spacing-sm)}.card-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);color:var(--color-text-tertiary);font-size:.85rem}.palette-row{display:flex;gap:.35rem;margin-top:var(--spacing-md)}.palette-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.2)}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--spacing-md) 0}.tag{padding:.2rem .6rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.12);color:var(--color-text-secondary);font-size:.75rem}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:var(--spacing-lg)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#05030db3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-panel{position:relative;z-index:1;width:min(1100px,100%);max-height:90vh;overflow:auto;background:var(--gradient-panel);border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-deep)}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer}.modal-body{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg);padding:var(--spacing-2xl)}.modal-media{background:#05030d66;border-radius:var(--radius-lg);overflow:hidden}.modal-media video,.modal-media img{width:100%;display:block}.modal-details h2{margin-top:0}.meta-list{display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;font-size:.9rem;color:var(--color-text-secondary)}.frame-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.frame-strip img{width:100%;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}@media (max-width: 900px){.modal-body{grid-template-columns:1fr}}@media (max-width: 640px){.headline{font-size:var(--font-size-display-md)}.hero{text-align:left}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
