.gallery-container{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-primary);line-height:1.6}.error-section{margin:var(--space-xl);transition:all .3s}.error-section.hidden{display:none}.error-panel{background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);border:1px solid var(--border-error);padding:var(--space-xl);max-width:800px;margin:0 auto;box-shadow:0 8px 24px #f443}.error-title{color:var(--color-error);margin-bottom:var(--space-lg);font-size:1.5rem;font-weight:500}.error-message{color:var(--text-secondary);margin-bottom:var(--space-xl);word-wrap:break-word;font-size:1rem}.error-actions{gap:var(--space-lg);flex-wrap:wrap;display:flex}.retry-button,.dismiss-button{padding:var(--space-md) var(--space-xl);border:1px solid var(--border-primary);background:var(--bg-panel);color:var(--text-primary);font-size:var(--font-md);cursor:pointer;-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);transition:all .3s}.retry-button{background:var(--color-primary);border-color:var(--color-primary)}.retry-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.dismiss-button:hover{background:var(--bg-panel-hover);border-color:var(--border-secondary);transform:translateY(-1px)}.gallery-main{max-width:1200px;padding:var(--space-xxxl) var(--space-xl);margin:0 auto}.gallery-intro{text-align:center;margin-bottom:var(--space-xxxl)}.gallery-intro h1{margin-bottom:var(--space-lg);color:var(--text-primary);font-size:2.5rem;font-weight:300}.gallery-intro p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.gallery-section{margin-bottom:var(--space-xxxl)}.section-title{margin-bottom:var(--space-xl);color:var(--text-primary);text-align:center;font-size:2rem;font-weight:400;position:relative}.section-title:after{content:"";background:linear-gradient(90deg, var(--color-primary), transparent);width:60px;height:2px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.fractal-grid{gap:var(--space-xl);margin-bottom:var(--space-xxxl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.fractal-card{background:var(--bg-panel);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);border:1px solid var(--border-primary);padding:var(--space-xl);flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.fractal-card:hover{background:var(--bg-panel-hover);border-color:var(--border-secondary);transform:translateY(-4px);box-shadow:0 12px 32px #28005033}.fractal-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), transparent);opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.fractal-card:hover:before{opacity:1}.card-content{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.fractal-name{margin-bottom:var(--space-lg);color:var(--text-primary);font-size:1.4rem;font-weight:500}.fractal-description{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.7}.fractal-links{gap:var(--space-lg);flex-wrap:wrap;margin-top:auto;display:flex}.info-link,.app-link{padding:var(--space-md) var(--space-lg);border:1px solid var(--border-primary);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.5px;font-weight:500;text-decoration:none;transition:all .3s}.info-link{background:var(--bg-panel);color:var(--text-secondary)}.app-link{background:var(--color-primary);color:var(--text-primary);border-color:var(--color-primary)}.launch-visualizer{padding:var(--space-md) var(--space-lg);border:1px solid var(--border-primary);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.5px;background:var(--color-primary);color:var(--text-primary);border-color:var(--color-primary);font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.info-link:hover{background:var(--bg-panel-hover);border-color:var(--border-secondary);color:var(--text-primary);transform:translateY(-1px)}.app-link:hover,.launch-visualizer:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2800504d}.gallery-footer{text-align:center;padding:var(--space-xxxl) 0;border-top:1px solid var(--border-primary);background:linear-gradient(135deg,#0000001a,#2800500d)}.gallery-footer h3{margin-bottom:var(--space-lg);color:var(--text-primary);font-size:1.8rem;font-weight:300}.gallery-footer p{color:var(--text-secondary);margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}.main-app-link{padding:var(--space-lg) var(--space-xxxl);background:var(--color-primary);color:var(--text-primary);border:1px solid var(--color-primary);text-transform:uppercase;letter-spacing:1px;font-size:1.1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.main-app-link:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px #28005066}@media (width<=900px){.gallery-main{padding:var(--space-xl) var(--space-lg)}.gallery-intro h1{font-size:2rem}.fractal-grid{gap:var(--space-lg);grid-template-columns:1fr}.fractal-card{padding:var(--space-lg)}.fractal-links{flex-direction:column}.info-link,.app-link,.launch-visualizer{text-align:center}.error-actions{flex-direction:column}.retry-button,.dismiss-button{text-align:center;width:100%}}@media (width<=480px){.gallery-intro h1{font-size:2rem}.section-title{font-size:1.6rem}.fractal-name{font-size:1.2rem}.main-app-link{padding:var(--space-md) var(--space-xl);font-size:1rem}}
