.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;cursor:grab}.color-column.dragging{opacity:.5;transform:scale(.98);box-shadow:0 20px 40px #0000004d;z-index:10}.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}.btn.btn-secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.btn.btn-secondary:hover{background:#ffffff1f;border-color:#ffffff26}.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}.section-description{font-size:1rem}.designer-card{padding:2rem}.designer-card-footer{flex-direction:column;align-items:flex-start}.saved-palettes-grid{grid-template-columns:1fr}.gallery-controls{flex-direction:column;align-items:stretch}.color-hex{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)}}.fonts-section{background:var(--bg-dark)}.fonts-container{max-width:1200px;margin:0 auto}.fonts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.font-card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--card-shadow);transition:var(--transition-smooth);border:var(--border-subtle);display:flex;flex-direction:column}.font-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000004d;background:#131313}.font-preview{padding:2rem;border-bottom:var(--border-subtle);flex-grow:1;min-height:180px;display:flex;flex-direction:column;justify-content:center}.font-preview-heading{font-size:2.25rem;margin-bottom:1.25rem;line-height:1.3;color:var(--text-primary)}.font-preview-body{font-size:1rem;line-height:1.6;color:var(--text-secondary)}.font-info{padding:1.75rem;background:#00000026}.font-names{display:flex;flex-direction:column;margin-bottom:1.25rem;gap:.25rem}.font-name-heading{font-weight:600;font-size:.95rem;color:var(--text-primary)}.font-name-divider{display:none}.font-name-body{font-size:.9rem;color:var(--text-secondary)}.font-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.font-tag{background:#ffffff14;color:var(--text-secondary);padding:.25rem .75rem;border-radius:50px;font-size:.75rem;text-transform:capitalize;font-weight:500;border:1px solid rgba(255,255,255,.1)}.font-action-btn{background:#ffffff0d;border:none;color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:500;text-decoration:none;width:100%}.font-action-btn:hover{background:#ffffff14;transform:translateY(-2px)}.font-action-btn svg{width:16px;height:16px}.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}#devPlaygroundBtn{display:none}@media (max-width: 768px){.header{padding:1rem}#exportBtn,#colorizeBtn,#accessibilityBtn{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)}}.vector-colorizer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);z-index:2000;display:flex;flex-direction:column;opacity:0;transform:translate(100%);transition:opacity .3s cubic-bezier(.5,0,.75,0),transform .35s cubic-bezier(.5,0,.75,0),visibility 0s linear .35s;visibility:hidden}.vector-colorizer-overlay.visible{opacity:1;transform:translate(0);visibility:visible;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.colorizer-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:var(--border-subtle);flex-shrink:0;background:#08080880}.colorizer-title{font-size:1.25rem;font-weight:600}.colorizer-main{display:flex;flex-grow:1;height:calc(100% - 81px);overflow:hidden}.colorizer-controls{width:380px;background:var(--bg-card);padding:2rem;border-right:var(--border-subtle);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.colorizer-preview{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden;position:relative;background-image:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.03) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.colorizer-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed rgba(255,255,255,.1);border-radius:var(--border-radius);padding:3rem;text-align:center;height:100%;transition:var(--transition-smooth)}.colorizer-upload-area .upload-icon{color:var(--text-secondary);margin-bottom:1.5rem;transition:var(--transition-smooth)}.colorizer-upload-area.dragging .upload-icon,.colorizer-upload-area:hover .upload-icon{color:var(--accent);transform:scale(1.1) translateY(-5px)}.colorizer-upload-area.dragging{border-color:var(--accent);background:#8b5cf61a}.colorizer-upload-area h3{font-size:1.2rem;margin-bottom:.5rem}.colorizer-upload-area p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.colorizer-panel-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.color-mapping-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.color-mapping-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;background:#0003;padding:.75rem;border-radius:8px;position:relative}.color-swatch{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.swatch-new{cursor:pointer;transition:var(--transition-smooth);position:relative}.swatch-new:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent)}.color-mapping-arrow{color:var(--text-secondary)}.color-mapping-item span{font-family:Fira Code,monospace;font-size:.9rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.colorizer-actions{margin-top:auto;display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:var(--border-subtle)}.colorizer-palette{display:flex;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#0003;border-radius:8px;margin-bottom:1.5rem}.colorizer-palette-swatch{width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.colorizer-preview-canvas{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1);cursor:grab}.colorizer-preview-canvas.is-panning{cursor:grabbing}.colorizer-preview-svg{max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 10px 15px rgba(0,0,0,.2));pointer-events:none}.palette-popover{position:fixed;background:#181818;border:var(--border-subtle);border-radius:12px;padding:1rem;box-shadow:var(--card-shadow);z-index:2100;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;opacity:0;transform:translateY(10px);animation:popover-fade-in .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes popover-fade-in{to{opacity:1;transform:translateY(0)}}.shade-popover{position:fixed;background:#181818;border:var(--border-subtle);border-radius:12px;padding:.75rem;box-shadow:var(--card-shadow);z-index:2100;display:flex;flex-direction:column;gap:.5rem;width:160px;opacity:0;transform:translateY(10px);animation:popover-fade-in .3s cubic-bezier(.16,1,.3,1) forwards}.shade-popover-btn{background:#ffffff0d;border:none;color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;text-align:left;transition:var(--transition-smooth);width:100%}.shade-popover-btn:hover{background:var(--accent-gradient);color:#fff;transform:translate(4px)}.popover-swatch{width:36px;height:36px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:var(--transition-smooth)}.popover-swatch:hover{transform:scale(1.1);border-color:#ffffff80}.preview-controls{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:#080808b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--border-subtle);border-radius:50px;padding:.5rem;display:flex;align-items:center;gap:.25rem;box-shadow:0 5px 15px #0003;z-index:10}.preview-control-btn{background:transparent;border:none;color:var(--text-secondary);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:var(--transition-smooth)}.preview-control-btn:hover{background:#ffffff1a;color:var(--text-primary)}.zoom-display{color:var(--text-primary);font-size:.8rem;font-weight:500;padding:0 1rem;min-width:60px;text-align:center;font-family:Fira Code,monospace}.generated-indicator{position:absolute;bottom:3px;right:3px;width:8px;height:8px;background:#ffffffb3;border-radius:50%;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 2px #00000080;pointer-events:none}.color-picker{position:fixed;width:280px;background:#1c1c1c;border-radius:12px;border:var(--border-subtle);box-shadow:0 15px 30px #0000004d;padding:1rem;z-index:2200;opacity:0;transform:translateY(10px) scale(.95);animation:popover-fade-in .3s cubic-bezier(.16,1,.3,1) forwards;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:1rem}.color-picker-saturation{width:100%;height:180px;position:relative;border-radius:8px;overflow:hidden;cursor:crosshair;background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0);outline:none;transition:box-shadow .2s ease}.color-picker-saturation:focus-visible{box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.saturation-handle{position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1.5px #000,inset 0 0 0 1.5px #000;transform:translate(-9px,-9px);pointer-events:none}.color-picker-controls{display:flex;align-items:center;gap:1rem}.color-picker-preview{width:36px;height:36px;border-radius:8px;border:var(--border-subtle);flex-shrink:0;background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;position:relative;overflow:hidden}.color-picker-preview-color{position:absolute;top:0;right:0;bottom:0;left:0}.color-picker-sliders{flex-grow:1;display:flex;flex-direction:column;gap:.75rem}.slider-track{height:12px;border-radius:6px;position:relative}.hue-slider-track{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-picker-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:100%;background:transparent;position:absolute;top:0;left:0;cursor:pointer;outline:none}.color-picker-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border-radius:50%;border:2px solid rgba(0,0,0,.3);box-shadow:0 2px 5px #0003}.color-picker-slider::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;border:2px solid rgba(0,0,0,.3);box-shadow:0 2px 5px #0003}.color-format-switcher{display:flex;gap:.25rem;background:#0003;border-radius:6px;padding:.25rem;margin-bottom:.75rem}.color-format-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:.35rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.color-format-btn:hover{background:#ffffff1a;color:var(--text-primary)}.color-format-btn.active{background:#ffffff26;color:var(--text-primary);box-shadow:0 1px 3px #0003}.color-picker-inputs{display:grid;gap:.75rem;align-items:center}.color-picker-input-group{display:flex;flex-direction:column;gap:.25rem}.color-picker-input-group label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase}.color-picker-input-group input{width:100%;background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);border-radius:6px;padding:.5rem;text-align:center;font-family:Fira Code,monospace;font-size:.85rem;-moz-appearance:textfield}.color-picker-input-group input::-webkit-inner-spin-button,.color-picker-input-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker-eyedropper{padding-top:1rem;margin-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.eyedropper-btn{background:#ffffff0d;border:none;color:var(--text-primary);padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:.5rem;transition:var(--transition-smooth);width:100%;justify-content:center}.eyedropper-btn:hover:not(:disabled){background:var(--accent)}.eyedropper-btn:disabled{opacity:.4;cursor:not-allowed}.accessibility-checker-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);z-index:2000;display:flex;flex-direction:column;opacity:0;transform:translate(100%);transition:opacity .3s cubic-bezier(.5,0,.75,0),transform .35s cubic-bezier(.5,0,.75,0),visibility 0s linear .35s;visibility:hidden}.accessibility-checker-overlay.visible{opacity:1;transform:translate(0);visibility:visible;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.accessibility-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:var(--border-subtle);flex-shrink:0;background:#08080880}.accessibility-title{font-size:1.25rem;font-weight:600}.accessibility-main{display:grid;grid-template-columns:350px 1fr;grid-template-rows:1fr auto;height:calc(100% - 81px);overflow:hidden}.accessibility-layers{grid-row:1 / 2;grid-column:1 / 2;background:var(--bg-card);padding:1.5rem;border-right:var(--border-subtle);overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.layers-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.autofix-all-container{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.autofix-all-container .btn{width:100%;justify-content:center}.layer-item{background:#0003;border-radius:8px;padding:1rem;transition:var(--transition-smooth);border:1px solid transparent}.layer-item.dragging-over{border-color:var(--accent);background:#8b5cf61a}.layer-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.layer-header .color-swatch{width:28px;height:28px;border-radius:6px;flex-shrink:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.layer-header .color-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent)}.layer-header span{font-weight:500}.layer-info{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.layer-actions{display:flex;align-items:center;gap:.5rem}.layer-actions .btn{padding:.5rem 1rem;font-size:.85rem}.autofix-btn{padding:.5rem!important;min-width:34px;background:#8b5cf626;color:var(--accent)}.autofix-btn:hover{background:#8b5cf640!important;color:#c4b5fd!important}.contrast-info{display:flex;align-items:center;gap:.75rem}.contrast-ratio{font-family:Fira Code,monospace;font-size:.9rem;background:#ffffff0d;padding:.25rem .5rem;border-radius:4px}.contrast-status{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.contrast-status svg{width:16px;height:16px}.contrast-status.pass{color:#4ade80}.contrast-status.fail{color:#f87171}.inline-tuner{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.inline-tuner .lightness-slider-container{margin-bottom:1rem}.inline-tuner .lightness-slider{width:100%}.inline-tuner .tuner-actions{display:flex;justify-content:flex-end;gap:.5rem}.inline-tuner .tuner-actions .btn{padding:.5rem 1rem;font-size:.85rem}.accessibility-preview{grid-row:1 / 3;grid-column:2 / 3;display:flex;align-items:center;justify-content:center;padding:2rem;transition:background-color .3s ease;overflow:auto}.preview-card-live{width:100%;max-width:450px;padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--card-shadow);transition:all .3s ease;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)}.preview-card-live h3{font-size:1.75rem;font-weight:700;margin-bottom:1rem}.preview-card-live p{font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.preview-card-live .btn{width:100%;justify-content:center}.accessibility-palette-dock{grid-row:2 / 3;grid-column:1 / 2;background:#0000004d;border-top:var(--border-subtle);padding:1rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.palette-swatch-draggable{width:36px;height:36px;border-radius:8px;cursor:grab;transition:var(--transition-smooth);border:1px solid rgba(255,255,255,.1)}.palette-swatch-draggable:hover{transform:scale(1.1)}.palette-swatch-draggable:active{cursor:grabbing;transform:scale(.95)}.lightness-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;background:#ffffff1a;border-radius:4px;outline:none;cursor:pointer}.lightness-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent);border-radius:50%;border:3px solid #181818;transition:transform .2s ease}.lightness-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border-radius:50%;border:3px solid #181818;transition:transform .2s ease}.dev-playground-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);z-index:2000;display:flex;flex-direction:column;opacity:0;transform:translate(100%);transition:opacity .3s cubic-bezier(.5,0,.75,0),transform .35s cubic-bezier(.5,0,.75,0),visibility 0s linear .35s;visibility:hidden}.dev-playground-overlay.visible{opacity:1;transform:translate(0);visibility:visible;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.dev-playground-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:var(--border-subtle);flex-shrink:0;background:#08080880}.dev-playground-title{font-size:1.25rem;font-weight:600}.dev-playground-main{display:flex;height:calc(100% - 81px);overflow:hidden}.dev-playground-panel{background:var(--bg-card);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.dev-panel-preview{flex-grow:1;flex-shrink:1}.dev-playground-splitter{flex-shrink:0;width:8px;background:#ffffff05;cursor:col-resize;transition:background .2s ease;z-index:10}.dev-playground-splitter:hover{background:var(--accent)}.dev-panel-header{padding:1rem 1.5rem;border-bottom:var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.dev-panel-title{font-weight:600;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.code-editor-tabs{display:flex;flex-grow:1;gap:.5rem}.code-editor-tab{padding:.5rem 1rem;cursor:pointer;background:transparent;border:1px solid transparent;color:var(--text-secondary);transition:var(--transition-smooth);font-weight:500;font-size:.9rem;border-radius:8px;font-family:Inter,sans-serif}.code-editor-tab:hover:not(.active){background:#ffffff0d;color:var(--text-primary)}.code-editor-tab.active{color:var(--text-primary);border-color:#fff3;background-color:#ffffff08}.code-editor-content{flex-grow:1;display:flex;flex-direction:column;position:relative}.code-editor-wrapper{position:relative;flex-grow:1;display:flex;flex-direction:column}.code-editor-wrapper:before{content:attr(data-line-numbers);position:absolute;left:0;top:1.5rem;bottom:1.5rem;width:40px;padding-right:10px;text-align:right;color:var(--text-secondary);opacity:.3;font-size:.8rem;font-family:Fira Code,monospace;white-space:pre;pointer-events:none;line-height:1.6;overflow-y:hidden}.code-editor-textarea{flex-grow:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:Fira Code,monospace;font-size:.85rem;padding:1.5rem;padding-left:55px;resize:none;line-height:1.6}.dev-panel-footer{padding:1rem 1.5rem;border-top:var(--border-subtle);flex-shrink:0}.dev-panel-preview iframe{width:100%;height:100%;border:none;background:#fff}.dev-panel-controls .dev-panel-content{padding:1.5rem;overflow-y:auto}.color-mapping-list-dev{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.color-mapping-item-dev{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.color-mapping-item-dev .color-swatch{width:24px;height:24px;cursor:grab}.color-mapping-item-dev .color-swatch:active{cursor:grabbing}.color-mapping-item-dev .color-swatch-map{width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:var(--transition-smooth)}.color-mapping-item-dev .color-swatch-map:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent)}.color-mapping-item-dev .color-swatch-map.dragging-over{transform:scale(1.15);box-shadow:0 0 0 3px var(--accent)}.dev-controls-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:.5rem;margin-bottom:1.5rem}.dev-controls-palette .colorizer-palette-swatch{cursor:grab;transition:transform .2s ease}.dev-controls-palette .colorizer-palette-swatch:active{cursor:grabbing;transform:scale(.9)}.dev-palette-popover{position:fixed;background:#181818;border:var(--border-subtle);border-radius:12px;padding:1rem;box-shadow:var(--card-shadow);z-index:2200;display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:.75rem;opacity:0;transform:translateY(10px);animation:popover-fade-in .3s cubic-bezier(.16,1,.3,1) forwards}@media (max-width: 992px){.section{padding:4rem 1.5rem}.colorizer-header{padding:1rem 1.5rem}.colorizer-main{flex-direction:column-reverse;height:calc(100% - 73px)}.colorizer-controls{width:100%;height:40%;min-height:280px;padding:1.5rem;border-right:none;border-top:var(--border-subtle)}.colorizer-preview{height:60%;padding:1rem}.colorizer-panel-title{font-size:.9rem;margin-bottom:.75rem}.color-mapping-item{padding:.5rem;gap:.5rem}.color-swatch{width:28px;height:28px}.preview-controls{padding:.25rem;gap:.1rem}.preview-control-btn{width:38px;height:38px}.zoom-display{padding:0 .75rem;min-width:50px}.colorizer-upload-area{padding:2rem}.colorizer-upload-area h3{font-size:1.1rem}.colorizer-upload-area p{font-size:.9rem}.palette-popover,.dev-palette-popover{max-width:90vw;grid-template-columns:repeat(auto-fill,minmax(32px,1fr))}.popover-swatch{width:32px;height:32px}.accessibility-header{padding:1rem 1.5rem}.accessibility-main{display:flex;flex-direction:column;height:calc(100% - 73px)}.accessibility-preview{order:1;flex-grow:1;height:50%;padding:1rem}.accessibility-layers{order:2;width:100%;height:50%;border-right:none;border-top:var(--border-subtle);padding:1rem}.accessibility-palette-dock{order:3;padding:.75rem;gap:.5rem;flex-shrink:0}.palette-swatch-draggable{width:32px;height:32px}.dev-playground-header{padding:1rem 1.5rem}.dev-playground-main{display:flex;flex-direction:column;height:calc(100% - 73px)}.dev-playground-splitter{display:none}.dev-playground-panel{border-right:none!important;border-bottom:var(--border-subtle);width:100%!important;flex-basis:auto!important}.dev-panel-code{height:35%;min-height:250px}.dev-panel-preview{height:40%;min-height:250px}.dev-panel-controls{height:25%;min-height:200px}}@media (max-width: 480px){.header{padding:1rem}.logo h1{font-size:1.1rem}.logo-image{margin-right:8px}.nav-actions{gap:.5rem}}.save-modal-content{display:flex;flex-direction:column;gap:1.5rem}.save-modal-input{width:100%;padding:.8rem 1rem;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)}.save-modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf633}.save-modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.saved-palettes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.saved-palettes-empty-icon{width:64px;height:64px;margin-bottom:1.5rem;opacity:.3}.saved-palettes-empty h4{font-size:1.2rem;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.saved-palettes-empty p{max-width:300px;line-height:1.5}.legal-page-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#080808d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1500;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.legal-page-container{width:90%;max-width:800px;height:80vh;background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--card-shadow);border:var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;animation:modal-enter-animation .4s cubic-bezier(.16,1,.3,1) forwards}.legal-page-header{padding:1.5rem 2rem;border-bottom:var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.legal-page-header h2{font-size:1.25rem;font-weight:600}.legal-page-content{padding:2rem;overflow-y:auto;line-height:1.7;color:var(--text-secondary)}.legal-page-content h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.legal-page-content h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem}.legal-page-content p{margin-bottom:1rem}.legal-page-content ul{margin-left:1.5rem;margin-bottom:1rem}.legal-page-content li{margin-bottom:.5rem}.legal-page-content a{color:var(--accent);text-decoration:none;transition:color .2s ease}.legal-page-content a:hover{color:var(--accent-hover);text-decoration:underline}.social-post-modal-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.social-post-preview{width:100%;max-width:405px;aspect-ratio:1080 / 1400;background-color:var(--bg-dark);border-radius:8px;overflow:hidden;box-shadow:0 5px 15px #0003}.social-post-preview canvas{width:100%;height:100%;display:block}.social-post-actions{display:flex;gap:1rem;justify-content:center;width:100%}.harmony-section,.trends-section,.fonts-section,.gallery-section{content-visibility:auto;contain-intrinsic-size:1000px}.harmony-card,.trend-card,.font-card,.gallery-card:not(.ad-card){contain:layout style}
