.sort-container select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);padding:.6rem 2.5rem .6rem 1rem;border-radius:8px;font-size:.9rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.7)' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:var(--transition-smooth)}:root{--bg-dark: #080808;--bg-card: #101010;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--accent: #8B5CF6;--accent-hover: #7C3AED;--accent-gradient: linear-gradient(135deg, #8B5CF6, #4F46E5);--accent-gradient-hover: linear-gradient(135deg, #9266F7, #605EEB);--card-shadow: 0 10px 25px -5px rgba(0, 0, 0, .2);--border-radius: 12px;--transition-smooth: all .3s cubic-bezier(.16, 1, .3, 1);--border-subtle: 1px solid rgba(255, 255, 255, .05)}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent}body{min-height:100vh;background-color:var(--bg-dark);color:var(--text-primary);overflow-x:hidden;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.section{padding:6rem 2rem}.container{max-width:1200px;margin:0 auto;width:100%}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.section-description{font-size:1.1rem;margin-bottom:3rem;max-width:700px;color:var(--text-secondary);line-height:1.6}.header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#080808cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:var(--border-subtle)}.logo{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.logo h1{font-size:1.2rem;font-weight:700;margin:0;background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}.logo-image{height:32px;width:auto;margin-right:10px;vertical-align:middle}.nav-actions{display:flex;gap:.85rem;align-items:center}.btn{background:#ffffff0d;border:none;color:var(--text-primary);cursor:pointer;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;font-size:.9rem;transition:var(--transition-smooth);display:flex;align-items:center;gap:.5rem}.btn:hover{background:#ffffff14;transform:translateY(-2px)}.btn svg{width:18px;height:18px}.btn-primary{background:var(--accent-gradient);border:none;color:var(--text-primary);cursor:pointer;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1),background .4s ease,box-shadow .3s ease;position:relative;overflow:hidden;box-shadow:0 6px 15px #8b5cf640;will-change:transform,box-shadow}.btn-primary:hover{transform:translateY(-3px);background:var(--accent-gradient-hover);box-shadow:0 12px 20px #8b5cf680}.btn-primary:active{transform:translateY(0);background:var(--accent-gradient);box-shadow:0 3px 8px #8b5cf680;transition:all .1s ease-out}.btn-primary:hover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,#ffffff4d,#fff0 70%);opacity:0;animation:pulse-light 2s infinite}@keyframes pulse-light{0%{opacity:0;transform:scale(.8)}50%{opacity:.15;transform:scale(1.5)}to{opacity:0;transform:scale(1.8)}}#generateBtn{font-weight:600;letter-spacing:.2px;padding-left:1.5rem;padding-right:1.5rem;min-width:140px;justify-content:center;position:relative;z-index:1}#generateBtn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(225deg,#ffffff1a,#fff0);z-index:-1;opacity:0;transition:opacity .3s ease;border-radius:8px}#generateBtn:hover:before{opacity:1}#generateBtn:active{transform:scale(.97);transition:transform .1s ease-out}.palette-container{display:flex;height:100vh;padding-top:80px;transition:var(--transition-smooth)}.color-column{flex:1;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:all .5s cubic-bezier(.16,1,.3,1);overflow:hidden;box-shadow:inset 0 0 #0000001a}.color-column:hover{flex:1.5;box-shadow:inset 0 0 0 5px #0000001a}.color-info{padding:2.5rem;height:100%;display:flex;flex-direction:column;justify-content:center;transition:var(--transition-smooth);opacity:.9}.color-column:hover .color-info{opacity:1}.color-hex{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;transition:var(--transition-smooth);transform:translateY(10px)}.color-column:hover .color-hex{transform:translateY(0)}.color-specs{font-size:.9rem;opacity:.8;margin-bottom:2rem;transition:var(--transition-smooth);transform:translateY(10px)}.color-column:hover .color-specs{transform:translateY(0)}.color-formats{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;opacity:0;transform:translateY(20px);transition:var(--transition-smooth);transition-delay:.1s}.color-column:hover .color-formats{opacity:1;transform:translateY(0)}.color-format{background:#00000026;padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);display:flex;justify-content:space-between;align-items:center;font-family:Fira Code,monospace;font-size:.9rem;border:1px solid rgba(255,255,255,.02)}.color-format:hover{background:#00000040;transform:translate(5px)}.color-format span{opacity:0;transition:var(--transition-smooth);font-family:Inter,sans-serif;font-size:.8rem}.color-format:hover span{opacity:.7}.color-actions{display:flex;gap:.75rem;margin-top:auto;opacity:0;transform:translateY(20px);transition:var(--transition-smooth);transition-delay:.2s}.color-column:hover .color-actions{opacity:1;transform:translateY(0)}.color-action{background:#00000026;border:1px solid rgba(255,255,255,.02);color:inherit;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.color-action:hover{background:#00000040;transform:translateY(-3px)}.color-lock{position:absolute;top:25px;right:25px;background:#00000026;border:none;color:inherit;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);z-index:5;opacity:.5;border:1px solid rgba(255,255,255,.02)}.color-lock.locked{background:#ffffff1a;opacity:1;box-shadow:0 5px 15px #00000026}.color-column:hover .color-lock{opacity:1}.color-lock:hover{transform:scale(1.1)}.space-hint{position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:1rem 1.5rem;border-radius:50px;display:flex;align-items:center;gap:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;box-shadow:0 10px 25px #0003;transition:all .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),visibility .5s cubic-bezier(.16,1,.3,1)}.space-hint:hover{transform:translate(-50%) translateY(-3px)}.space-hint.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(30px);visibility:hidden}.space-key{background:#ffffff1a;padding:.5rem 1.5rem;border-radius:4px;font-size:.9rem;font-family:Fira Code,monospace}.toast{position:fixed;bottom:0;left:50%;transform:translate(-50%) translateY(100%);background:#080808e6;color:#fff;padding:1rem 1.5rem;border-radius:12px 12px 0 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:2000;box-shadow:0 -5px 15px #0000001a;font-weight:500}.toast.active{transform:translate(-50%) translateY(0)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#080808d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1)}.modal.active{opacity:1;pointer-events:auto}@keyframes modal-enter-animation{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-container{width:90%;max-width:700px;max-height:90vh;background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--card-shadow);padding:0;overflow:hidden;border:var(--border-subtle);display:flex;flex-direction:column}.modal.active .modal-container{animation:modal-enter-animation .4s cubic-bezier(.16,1,.3,1) forwards}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:var(--border-subtle);flex-shrink:0}.modal-title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.modal-close:hover{background:#ffffff1a;color:var(--text-primary)}.modal-content{padding:2rem;overflow-y:auto;flex-grow:1}.export-tabs{display:flex;margin-bottom:2rem;gap:.5rem;flex-wrap:wrap}.export-tab{padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;background:#ffffff0d;transition:var(--transition-smooth);font-size:.95rem}.export-tab:hover{background:#ffffff14}.export-tab.active{background:#8b5cf626;color:#8b5cf6e6}.export-content{display:none}.export-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.code-block{background:#0003;padding:1.5rem;border-radius:12px;font-family:Fira Code,Courier New,monospace;white-space:pre-wrap;margin-bottom:1.5rem;overflow:auto;max-height:300px;border:1px solid rgba(255,255,255,.05)}.copy-btn{background:var(--accent-gradient);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:8px;cursor:pointer;font-weight:500;transition:var(--transition-smooth);display:flex;align-items:center;gap:.5rem;box-shadow:0 5px 15px #8b5cf64d}.copy-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf666}.saved-palettes-container{padding:.5rem}.saved-palettes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.saved-palettes-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.saved-palettes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.saved-palette{background:#0003;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:var(--transition-smooth);border:var(--border-subtle)}.saved-palette:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000004d}.palette-preview{display:flex;height:120px}.palette-color{flex:1}.palette-actions{padding:1.25rem;display:flex;justify-content:space-between}.palette-btn{background:#ffffff0d;border:none;color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);flex:1;margin:0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.palette-btn:hover{background:#ffffff1a}.content-wrapper{display:flex;flex-direction:column;width:100%}.section{padding:6rem 2rem;position:relative}.section-light{background-color:#ffffff08}.section-divider{height:3px;width:100%;background:var(--accent-gradient);opacity:.2}.harmony-section{padding-top:8rem}.harmony-container{max-width:1200px;margin:0 auto}.harmony-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.harmony-card{background:var(--bg-card);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:var(--transition-smooth);border:var(--border-subtle);display:flex;flex-direction:column}.harmony-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000004d}.harmony-preview{display:flex;height:100px}.harmony-color{flex:1}.harmony-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.harmony-title{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.shortcut-key{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-family:Fira Code,monospace;font-size:.9rem;color:var(--text-secondary);display:none;align-items:center;justify-content:center;width:2.75rem;flex-shrink:0}.harmony-description{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.5}.harmony-btn{background:#ffffff0d;color:var(--text-primary);border:none;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.harmony-btn:hover{background:#ffffff1a}.harmony-action-wrapper{display:flex;align-items:stretch;gap:.75rem;margin-top:auto}.harmony-action-wrapper .harmony-btn{width:auto;flex-grow:1}.trends-section{background:linear-gradient(to bottom,var(--bg-dark),rgba(139,92,246,.05))}.trends-container{max-width:1200px;margin:0 auto}.trends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.trend-card{background:var(--bg-card);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:var(--transition-smooth);border:var(--border-subtle)}.trend-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000004d}.trend-preview{height:160px;display:flex}.trend-color{flex:1}.trend-content{padding:1.5rem}.trend-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.trend-meta{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.trend-actions{display:flex;gap:.75rem}.trend-btn{background:#ffffff0d;color:var(--text-primary);border:none;padding:.75rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:var(--transition-smooth);flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.trend-btn:hover{background:#ffffff1a}@media (max-width: 992px){.section{padding:4rem 1.5rem}}@media (min-width: 769px){.harmony-action-wrapper .shortcut-key{display:flex}}@media (max-width: 768px){.harmony-types,.trends-grid{grid-template-columns:1fr}.section-title{font-size:2rem}}.history-controls{position:fixed;bottom:2.5rem;right:2.5rem;display:flex;align-items:center;background:#000000b3;border-radius:50px;padding:.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;box-shadow:0 10px 25px #0003;border:1px solid rgba(255,255,255,.1);transition:all .5s cubic-bezier(.16,1,.3,1)}.history-controls:hover{transform:translateY(-5px);box-shadow:0 12px 25px #0000004d}.history-btn{background:transparent;border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.history-btn:hover:not(:disabled){background:#ffffff1a;transform:scale(1.1)}.history-btn:disabled{opacity:.3;cursor:not-allowed}.history-divider{width:1px;height:24px;background:#fff3;margin:0 .5rem}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}to{opacity:.7;transform:translate(-50%) scale(1)}}.saved-palettes-float-button{position:fixed;bottom:2.5rem;left:2.5rem;width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;background:#14141ecc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px #8b5cf640;transition:all .5s cubic-bezier(.16,1,.3,1);color:var(--text-primary)}.saved-palettes-float-button:hover{background:var(--accent);transform:translateY(-5px);border-radius:15px;box-shadow:0 12px 25px #8b5cf666,0 0 0 4px #8b5cf61a;color:#fff}.saved-palettes-float-button:active{transform:translateY(0) scale(.95)}.palettes-count{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 3px 8px #0003;border:2px solid rgba(0,0,0,.2)}.gallery-section{background:linear-gradient(to bottom,var(--bg-dark),rgba(139,92,246,.05))}.gallery-container{max-width:1200px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.gallery-card{background:var(--bg-card);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:var(--transition-smooth);border:var(--border-subtle);opacity:0;will-change:opacity,transform}.gallery-card.animate-in{animation:gallery-card-slide-in .45s cubic-bezier(.19,1,.22,1) forwards}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000004d}.gallery-palette{height:160px;display:flex;position:relative;cursor:pointer}.gallery-color{position:relative;transition:all .6s cubic-bezier(.16,1,.3,1);flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.gallery-palette:hover .gallery-color{flex:.7}.gallery-palette .gallery-color:hover{flex:2;z-index:5}.color-code{position:absolute;background:#000000bf;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-family:Fira Code,monospace;transition:all .5s cubic-bezier(.16,1,.3,1);opacity:0;transform:translateY(10px);pointer-events:none}.gallery-color:hover .color-code{opacity:1;transform:translateY(0);pointer-events:auto}.gallery-info{padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.gallery-info h3{font-size:1.1rem;font-weight:600}.gallery-info h3 mark{background-color:#8b5cf640;color:var(--text-primary);padding:2px 0;border-radius:3px;font-weight:600}.palette-likes{display:flex;align-items:center;gap:.5rem}.like-count-animator{height:1.2em;overflow:hidden;display:inline-block;vertical-align:bottom}.like-count-reel{display:inline-block}.like-count-reel.is-animating{animation:roll-up .6s cubic-bezier(.16,1,.3,1) forwards}.like-count-digit{display:block;height:1.2em;line-height:1.2em;font-size:.9rem;font-weight:500;color:var(--text-secondary);min-width:2ch;text-align:left}@keyframes roll-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.like-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:all .2s ease;position:relative}.like-btn svg{width:22px;height:22px;transition:transform .2s ease,color .2s ease}.like-btn:hover,.like-btn.active{color:#ef4444}.like-btn:after{display:none}.search-container{position:relative;max-width:100%}.search-container .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:1}.search-container input{width:100%;padding:.8rem 2.75rem;border:1px solid var(--border-subtle);border-radius:10px;font-size:1rem;outline:none;transition:border-color .3s,box-shadow .3s;background-color:var(--bg-card);color:var(--text-primary)}.search-container input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf633}.search-container .clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);opacity:.7}.search-container .clear-search-btn:hover{background:#ffffff14;color:var(--text-primary);opacity:1}.gallery-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;margin-bottom:2.5rem}.gallery-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;flex-grow:1}.filter-chip{background:#ffffff0d;border:1px solid transparent;color:var(--text-secondary);padding:.5rem 1rem;border-radius:50px;cursor:pointer;font-size:.85rem;text-transform:capitalize;font-weight:500;transition:var(--transition-smooth);-webkit-user-select:none;user-select:none}.filter-chip:hover{background:#ffffff1a;color:var(--text-primary);transform:translateY(-2px)}.filter-chip.active{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 4px 12px #8b5cf64d}.filter-chip.clear{background:#ef444426;color:#fca5a5;border-color:#ef44444d}.filter-chip.clear:hover{background:#ef44444d;color:#fecaca}.sort-container{display:flex;align-items:center;gap:.75rem}.sort-container label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.sort-container select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);padding:.6rem 2.5rem .6rem 1rem;border-radius:8px;font-size:.9rem;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(255,255,255,0.7)' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:var(--transition-smooth)}.sort-container select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf633}.gallery-empty{text-align:center;padding:2rem;background-color:var(--bg-card);border-radius:.5rem;margin-top:2rem;border:var(--border-subtle)}.gallery-empty p{margin-bottom:1rem;color:var(--text-primary)}.gallery-empty p strong{color:var(--accent);font-weight:500}.space-hint.hidden,.saved-palettes-float-button.hidden,.history-controls.hidden{opacity:0;pointer-events:none;transform:translateY(30px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),visibility 0s .5s;visibility:hidden}.space-hint.hidden{transform:translate(-50%,30px)}.loading-indicator{display:none;flex-direction:column;align-items:center;justify-content:center;padding:30px;width:100%;color:var(--text-secondary);font-size:14px}.loading-indicator.visible{display:flex}.loading-indicator .spinner{width:40px;height:40px;margin-bottom:10px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gallery-card-slide-in{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.site-footer{margin-top:auto;background-color:#0c0c0c;border-top:1px solid rgba(255,255,255,.07);padding:4rem 2rem 2rem;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;max-width:600px;height:1px;background:linear-gradient(to right,transparent,var(--accent),transparent);opacity:.3}.footer-color-bar{display:none}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.footer-logo{font-size:2rem;font-weight:700;letter-spacing:-.02em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.footer-tagline{color:var(--text-secondary);font-size:1.1rem;max-width:450px;line-height:1.6;margin-top:-1.5rem;margin-bottom:1rem}.footer-navigation{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;margin-bottom:1rem}.footer-navigation a{color:var(--text-secondary);text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease;padding:.5rem .25rem;position:relative}.footer-navigation a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:50%;transform:translate(-50%);background:var(--accent);transition:width .3s ease;border-radius:2px}.footer-navigation a:hover{color:var(--text-primary);transform:translateY(-2px)}.footer-navigation a:hover:after{width:100%}.footer-socials{display:flex;gap:1.5rem}.social-link{color:var(--text-secondary);display:block;transition:var(--transition-smooth)}.social-link:hover{color:var(--accent);transform:translateY(-3px)}.social-link svg{width:24px;height:24px}.footer-bottom{padding:2rem 1rem 0;border-top:1px solid rgba(255,255,255,.05);text-align:center;margin-top:3rem;width:100%}.copyright{color:var(--text-secondary);font-size:.9rem;opacity:.8}@media (max-width: 768px){.header{padding:1rem}#exportBtn{display:none}#saveBtn>span{display:none}#saveBtn{padding:.75rem}.space-hint{display:none}.palette-container{flex-direction:column;height:auto;min-height:100vh;padding:80px 1rem 1rem;gap:1rem;overflow-x:hidden;overflow-y:auto}.palette-container.is-generating{overflow:hidden}.color-column{min-height:auto;border-radius:var(--border-radius);box-shadow:var(--card-shadow);border:var(--border-subtle);transition:transform .2s ease-out}.color-column:hover{flex:1;box-shadow:var(--card-shadow)}.color-column:active{transform:translateY(-4px);box-shadow:0 15px 30px -10px #0000004d}.color-info{opacity:1;padding:1.5rem}.color-hex,.color-specs,.color-formats,.color-actions{transform:none!important;opacity:1!important;transition:none!important}.color-format span{opacity:.7}.color-lock{opacity:1}.footer-content{gap:1rem}.footer-navigation{gap:.5rem 1.5rem}.palette-container.is-generating .color-column{animation:slideUpStaggered .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.palette-container.is-generating .color-column:nth-child(1){animation-delay:0s}.palette-container.is-generating .color-column:nth-child(2){animation-delay:.08s}.palette-container.is-generating .color-column:nth-child(3){animation-delay:.16s}.palette-container.is-generating .color-column:nth-child(4){animation-delay:.24s}.palette-container.is-generating .color-column:nth-child(5){animation-delay:.32s}.palette-container.is-generating .color-column:nth-child(6){animation-delay:.4s}.palette-container.is-generating .color-column:nth-child(7){animation-delay:.48s}.palette-container.is-generating .color-column:nth-child(8){animation-delay:.56s}}@keyframes slideUpStaggered{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
