:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg-deep:#05070e;--bg-space:#090d1a;--bg-surface:#0f162ab8;--bg-surface-elevated:#16203cd9;--bg-surface-glass:#ffffff0a;--bg-input:#0c1122d9;--accent-cosmic:#6366f1;--accent-cosmic-glow:#6366f159;--accent-cyan:#38bdf8;--accent-cyan-glow:#38bdf84d;--accent-purple:#c084fc;--accent-emerald:#34d399;--dominant-glow:#6366f133;--border-subtle:#ffffff14;--border-glass:#ffffff24;--border-bright:#ffffff38;--border-accent:#6366f166;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-highlight:#e0e7ff;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px -4px #00000080;--shadow-lg:0 16px 40px -8px #000000a6;--shadow-glow:0 0 40px -10px var(--dominant-glow);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-deep);width:100%;min-height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex;position:relative}.cosmic-background{pointer-events:none;z-index:0;background:radial-gradient(circle at 15% 15%, var(--dominant-glow) 0%, transparent 45%), radial-gradient(circle at 85% 20%, #38bdf81f 0%, transparent 40%), radial-gradient(circle at 50% 80%, #c084fc14 0%, transparent 50%), radial-gradient(ellipse at bottom, #0d1224 0%, var(--bg-deep) 70%);transition:background 1.2s;position:fixed;inset:0;overflow:hidden}.cosmic-stars{opacity:.55;background-image:radial-gradient(1px 1px at 25px 35px,#ffffffb3,#0000),radial-gradient(1.5px 1.5px at 120px 80px,#ffffffe6,#0000),radial-gradient(1px 1px at 230px 190px,#93c5fd99,#0000),radial-gradient(2px 2px at 340px 110px,#fffc,#0000),radial-gradient(1.5px 1.5px at 480px 240px,#c084fcb3,#0000),radial-gradient(1px 1px at 620px 90px,#fff9,#0000),radial-gradient(2px 2px at 750px 320px,#ffffffbf,#0000),radial-gradient(1px 1px at 890px 170px,#93c5fdcc,#0000);background-size:900px 450px;position:absolute;inset:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#080c1899}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff47}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-panel:hover{border-color:var(--border-glass)}.app-container{z-index:1;flex-direction:column;gap:2rem;width:100%;max-width:1440px;margin:0 auto;padding:1.75rem 2rem 4rem;display:flex;position:relative}.app-header{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);background:#0d1224a6;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.75rem;display:flex}.brand-wrapper{align-items:center;gap:1rem;display:flex}.brand-logo-icon{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 50%,#ec4899 100%);justify-content:center;align-items:center;width:44px;height:44px;animation:4s ease-in-out infinite alternate pulseGlow;display:flex;box-shadow:0 4px 16px #6366f166}.brand-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#cbd5e1 50%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700;line-height:1.2}.brand-tagline{font-size:.78rem;font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.08em}.apod-nav-controls{background:var(--bg-surface-glass);border-radius:var(--radius-full);border:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:.35rem .5rem;display:flex}.nav-arrow-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);width:34px;height:34px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0f;justify-content:center;align-items:center;display:inline-flex}.nav-arrow-btn:hover:not(:disabled){border-color:var(--border-bright);background:#ffffff26;transform:scale(1.05)}.nav-arrow-btn:disabled{opacity:.35;cursor:not-allowed}.date-pill{font-family:var(--font-mono);color:#e2e8f0;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:flex}.badge-live{text-transform:uppercase;letter-spacing:.05em;color:#34d399;border-radius:var(--radius-full);background:#34d39926;border:1px solid #34d39966;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.65rem;font-weight:700;display:inline-flex}.badge-live-dot{background:#34d399;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite blink;box-shadow:0 0 8px #34d399}.main-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:2rem;display:grid}.app-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;padding:1rem .25rem 0;font-size:.78rem;display:flex}.footer-credit{font-family:var(--font-mono);letter-spacing:.02em}.social-links{align-items:center;gap:.5rem;display:flex}.social-link{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.social-link:hover{color:var(--text-primary);background:var(--bg-surface-glass);border-color:var(--border-bright);transform:translateY(-2px)}.hero-image-card{flex-direction:column;display:flex;position:relative;overflow:hidden}.image-preview-viewport{cursor:zoom-in;background:#020408;justify-content:center;align-items:center;width:100%;min-height:480px;max-height:560px;display:flex;position:relative;overflow:hidden}.apod-hero-img{object-fit:contain;width:100%;height:100%;transition:transform var(--transition-smooth)}.image-preview-viewport:hover .apod-hero-img{transform:scale(1.02)}.image-overlay-actions{opacity:0;transition:all var(--transition-normal);z-index:2;align-items:center;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem;transform:translateY(-4px)}.image-preview-viewport:hover .image-overlay-actions{opacity:1;transform:translateY(0)}.overlay-btn{font-size:.75rem;font-family:var(--font-sans);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;cursor:pointer;transition:all var(--transition-fast);background:#000000b3;border:1px solid #fff3;align-items:center;gap:.4rem;padding:.45rem .8rem;font-weight:600;text-decoration:none;display:inline-flex}.overlay-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.image-meta-bar{flex-direction:column;gap:1rem;padding:1.5rem 1.75rem 1.75rem;display:flex}.image-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.image-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.65rem;font-weight:700;line-height:1.25}.image-credit-tag{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.image-credit-tag strong{color:var(--text-secondary)}.explanation-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#00000047;padding:1rem 1.25rem;position:relative}.explanation-text{color:#cbd5e1;max-height:110px;transition:max-height var(--transition-smooth);font-size:.92rem;line-height:1.65;overflow-y:auto}.explanation-text.expanded{max-height:380px}.expand-toggle-btn{color:var(--accent-cyan);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.35rem;margin-top:.65rem;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.expand-toggle-btn:hover{color:#7dd3fc;text-decoration:underline}.palette-studio-card{flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.studio-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.studio-header-title{color:var(--text-primary);align-items:center;gap:.65rem;font-size:1.15rem;font-weight:700;display:flex}.count-selector-group{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:#00000059;align-items:center;gap:.35rem;padding:.25rem;display:flex}.count-btn{color:var(--text-muted);font-family:var(--font-mono);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.count-btn:hover{color:var(--text-primary)}.count-btn.active{background:var(--accent-cosmic);color:#fff;box-shadow:0 2px 8px var(--accent-cosmic-glow)}.swatches-grid{flex-direction:column;gap:.75rem;display:flex}.swatch-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0f172a8c;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:relative;overflow:hidden}.swatch-card:hover{border-color:var(--border-bright);transform:translate(4px);box-shadow:0 4px 16px #0006}.swatch-left{align-items:center;gap:1rem;display:flex}.swatch-color-box{border-radius:var(--radius-sm);width:52px;height:52px;transition:transform var(--transition-normal);border:1px solid #fff3;flex-shrink:0;position:relative;box-shadow:0 4px 12px #0006,inset 0 0 0 1px #ffffff26}.swatch-card:hover .swatch-color-box{transform:scale(1.06)}.swatch-details{flex-direction:column;gap:.2rem;display:flex}.swatch-hex{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);text-transform:uppercase;font-size:1.05rem;font-weight:700}.swatch-tailwind-token{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.swatch-contrast-pill{font-size:.65rem;font-family:var(--font-mono);border-radius:var(--radius-full);padding:.15rem .45rem;font-weight:700}.swatch-actions{align-items:center;gap:.4rem;display:flex}.action-chip-btn{font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;align-items:center;gap:.3rem;padding:.4rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.action-chip-btn:hover{color:var(--text-primary);border-color:var(--border-bright);background:#ffffff24}.action-chip-btn.copied{color:#34d399;background:#34d39933;border-color:#34d39980}.export-section{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.export-section-title{font-size:.78rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.export-buttons-row{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.export-btn{border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:#e2e8f0;cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.export-btn:hover{border-color:var(--border-accent);color:#fff;background:#6366f133;transform:translateY(-1px)}.live-mockup-container{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#080c18d9;flex-direction:column;gap:.85rem;padding:1.15rem;display:flex;position:relative;overflow:hidden}.mockup-header-row{justify-content:space-between;align-items:center;display:flex}.mockup-label{font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:.4rem;display:flex}.mockup-preview-card{border-radius:var(--radius-md);transition:background-color var(--transition-normal);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.mockup-preview-header{justify-content:space-between;align-items:center;display:flex}.mockup-preview-title{font-size:.95rem;font-weight:700}.mockup-tag{font-size:.68rem;font-family:var(--font-mono);border-radius:var(--radius-full);padding:.2rem .55rem;font-weight:700}.mockup-button-row{gap:.5rem;display:flex}.mockup-interactive-btn{border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:.45rem .9rem;font-size:.78rem;font-weight:600}.mockup-interactive-btn:hover{opacity:.9}.lightbox-backdrop{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#02040aeb;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:82vh;box-shadow:0 20px 60px #000c}.lightbox-close-btn{border:1px solid var(--border-glass);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-3rem;right:0}.lightbox-close-btn:hover{background:#ffffff40;transform:scale(1.1)}.cosmic-toast{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f8fafc;border-radius:var(--radius-md);font-family:var(--font-mono);z-index:1000;background:#0f172aeb;border:1px solid #34d39980;align-items:center;gap:.75rem;padding:.85rem 1.4rem;font-size:.85rem;font-weight:600;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 30px #00000080,0 0 20px #34d39940}.loading-viewport{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:80vh;display:flex}.loading-spinner-orb{width:64px;height:64px;box-shadow:0 0 35px var(--accent-cosmic-glow);background:linear-gradient(135deg,#6366f1,#38bdf8,#c084fc);border-radius:50%;justify-content:center;align-items:center;animation:3s linear infinite spinSlow;display:flex}.loading-text{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-cyan);font-size:.9rem;animation:2s infinite pulseText}@keyframes pulseGlow{0%{box-shadow:0 4px 16px #6366f14d}to{box-shadow:0 8px 30px #a855f799}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseText{0%,to{opacity:.7}50%{opacity:1}}@media (width<=1080px){.main-grid{grid-template-columns:1fr;gap:1.75rem}.image-preview-viewport{min-height:400px;max-height:480px}}@media (width<=768px){.app-container{padding:1rem 1rem 3rem}.app-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.apod-nav-controls{justify-content:space-between}.export-buttons-row{grid-template-columns:1fr}.swatch-actions{flex-wrap:wrap;justify-content:flex-end}}
