.palette-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-block-end:2rem;display:flex}.palette-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.palette-select,.palette-count{color:var(--text);border:1px solid var(--border);font:inherit;appearance:none;background-color:#0d0d1f;border-radius:6px;min-width:0;padding:.45rem .65rem;font-size:.9rem}.palette-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7a97' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;padding-inline-end:2rem}.palette-count{text-align:center;width:5rem}.palette-select:focus,.palette-count:focus{outline:2px solid var(--accent);outline-offset:2px}.palette-btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-self:flex-end;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.palette-btn--primary{background-color:var(--accent);color:#010010;border-color:var(--accent)}.palette-btn--primary:hover{background-color:#33d9ff;border-color:#33d9ff}.palette-btn--secondary{color:var(--accent);border-color:var(--border);background-color:#0000}.palette-btn--secondary:hover{border-color:var(--accent);background-color:var(--accent-dim)}.palette-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-grid{flex-wrap:wrap;gap:.75rem;margin-block-end:2rem;display:flex}.swatch{border-radius:10px;flex-direction:column;flex:140px;min-height:220px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000059}.swatch-colour{flex:1;transition:background-color .4s}.swatch-info{background-color:#0d0d1f;flex-direction:column;gap:.2rem;padding:.55rem .6rem .5rem;display:flex}.swatch-value{color:var(--text-muted);cursor:pointer;border-radius:3px;width:fit-content;padding-inline:2px;font-family:Courier New,Courier,monospace;font-size:.75rem;line-height:1.5;transition:color .15s;position:relative}.swatch-value:hover{color:var(--text)}.swatch-value:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatch-tooltip{background-color:var(--accent);color:#010010;white-space:nowrap;pointer-events:none;z-index:10;border-radius:4px;padding:2px 7px;font-size:.7rem;font-weight:700;animation:.15s forwards tooltip-in;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.swatch-lock{color:#fff9;cursor:pointer;background-color:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background-color .15s,color .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.swatch-lock:hover{color:#fff;background-color:#000000b3}.swatch-lock.is-locked{color:var(--accent);background-color:#0009}.swatch-lock:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-bottom-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;margin-block-end:2rem;display:grid}@media (width<=640px){.palette-bottom-grid{grid-template-columns:1fr}}.palette-panel__header{border-bottom:1px solid var(--border);background-color:#0d0d1f;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.palette-panel__label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.palette-btn--sm{padding:.25rem .65rem;font-size:.78rem}.palette-saved{border:1px solid var(--border);border-radius:8px;overflow:hidden}.palette-saved__list{background-color:#070714;flex-direction:column;gap:.5rem;max-height:220px;padding:.75rem;display:flex;overflow-y:auto}.palette-saved__empty{color:var(--text-muted);text-align:center;margin:0;padding-block:1.25rem;font-size:.85rem}.saved-palette-card{border:1px solid var(--border);background-color:#111127;border-radius:8px;align-items:center;gap:.9rem;padding:.6rem .75rem;display:flex}.saved-palette-strip{border-radius:5px;flex-shrink:0;width:120px;height:36px;display:flex;overflow:hidden}.saved-palette-strip__chunk{flex:1}.saved-palette-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;overflow:hidden}.saved-palette-card__actions{flex-shrink:0;gap:.4rem;display:flex}.saved-palette-action{border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:5px;padding:.25rem .55rem;font-size:.75rem;font-weight:600;transition:border-color .15s,color .15s,background-color .15s}.saved-palette-action:hover{border-color:var(--accent);color:var(--accent)}.saved-palette-action--delete:hover{color:#ff5c6b;background-color:#ff5c6b14;border-color:#ff5c6b}.saved-palette-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-base-row{align-items:center;gap:.55rem;display:flex}.palette-colour-picker{border:1px solid var(--border);cursor:pointer;background-color:#0d0d1f;border-radius:6px;flex-shrink:0;width:2.25rem;height:2.25rem;padding:2px;transition:border-color .15s,opacity .15s}.palette-colour-picker::-webkit-color-swatch-wrapper{border-radius:4px;padding:0;overflow:hidden}.palette-colour-picker::-webkit-color-swatch{border:none;border-radius:4px}.palette-colour-picker::-moz-color-swatch{border:none;border-radius:4px}.palette-colour-picker:disabled{opacity:.35;cursor:default}.palette-colour-picker:not(:disabled):hover{border-color:var(--accent)}.palette-colour-picker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-checkbox-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:0;align-items:center;gap:.35rem;font-size:.85rem;font-weight:400;display:flex}.palette-checkbox-label:hover{color:var(--text)}.palette-checkbox{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.palette-output{border:1px solid var(--border);border-radius:8px;overflow:hidden}.palette-output__pre{color:var(--text);white-space:pre;background-color:#070714;margin:0;padding:.9rem 1rem;font-family:Courier New,Courier,monospace;font-size:.82rem;line-height:1.7;overflow-x:auto}
