.palette-tool-wrapper{display:flex;flex-direction:column;gap:24px;max-width:840px;margin:24px auto;padding:0}@media(min-width:768px){.palette-tool-wrapper{margin:32px auto}}.palette-input-area{background:var(--palette-input-bg);border:1px solid var(--palette-input-border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.palette-input-area{flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap;padding:20px}}.palette-picker-row{display:flex;align-items:center;gap:16px;flex-shrink:0}.palette-color-picker{width:64px;height:64px;border:2px solid var(--swp-border);border-radius:var(--r-sm);cursor:pointer;padding:0;background:none;-webkit-appearance:none;appearance:none;overflow:hidden;flex-shrink:0}.palette-color-picker::-webkit-color-swatch-wrapper{padding:0}.palette-color-picker::-webkit-color-swatch{border:none;border-radius:calc(var(--r-sm) - 2px)}.palette-color-picker::-moz-color-swatch{border:none;border-radius:calc(var(--r-sm) - 2px)}.palette-current-hex{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--swp-ink)}.palette-presets{display:flex;flex-wrap:wrap;gap:4px;flex:1}.palette-preset-btn{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;margin:4px;position:relative;transition:transform .15s ease;flex-shrink:0;box-sizing:content-box}.palette-preset-btn:before{content:"";position:absolute;inset:-4px;border-radius:50%}.palette-preset-btn:hover{transform:scale(1.1)}.palette-preset-btn--selected{box-shadow:0 0 0 3px var(--color-primary),0 0 0 5px var(--swp-surface)}.palette-notice{font-size:12px;color:var(--swp-ink-3);background:var(--swp-paper-2);border-radius:var(--r-sm);padding:8px 12px;margin:0}.palette-swatch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;margin:0;padding:0}@media(min-width:480px){.palette-swatch-grid{grid-template-columns:repeat(5,1fr)}}.palette-swatch{background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;min-height:180px}@media(min-width:480px){.palette-swatch{min-height:170px}}@media(min-width:768px){.palette-swatch{min-height:200px}}.palette-swatch__color{width:100%;height:80px;flex-shrink:0;transition:background-color .2s ease}@media(min-width:480px){.palette-swatch__color{height:72px}}@media(min-width:768px){.palette-swatch__color{height:100px}}@media(prefers-reduced-motion:reduce){.palette-swatch__color{transition:none}}.palette-swatch__info{padding:10px 12px;display:flex;flex-direction:column;gap:3px;flex:1}.palette-swatch__role{font-family:var(--font-sans);font-size:12px;font-weight:700;color:var(--swp-ink)}.palette-swatch__var{font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--swp-ink-3);word-break:break-all}.palette-swatch__hex{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--swp-ink);margin-top:2px}.palette-swatch__rgb{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--swp-ink-2)}.palette-swatch__copy{margin-top:8px;min-height:44px;width:100%;border-radius:var(--r-sm);background:var(--swp-paper-2);border:1px solid var(--swp-border);font-size:13px;font-weight:700;font-family:var(--font-sans);color:var(--swp-ink);cursor:pointer;transition:background-color .15s ease;padding:0 8px}.palette-swatch__copy:hover{background:var(--swp-border)}.palette-swatch__copy--done{background:var(--color-success);color:#fff;border-color:transparent}.palette-output{display:flex;flex-direction:column;gap:12px}.palette-output__code{position:relative;background:#1e1e1e;border-radius:var(--r-md);overflow:hidden}.palette-output__code:before{content:"CSS";position:absolute;top:.4rem;left:.75rem;font-size:.7rem;font-weight:700;color:#5eead4;letter-spacing:.05em;pointer-events:none;z-index:1;font-family:var(--font-mono)}.palette-output__pre{margin:0;padding:2rem 1.2rem 1.2rem;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.8;color:#d4d4d4;background:transparent}.palette-output__pre code{font-family:inherit;font-size:inherit;color:inherit}.palette-output__actions{display:flex;gap:8px;flex-wrap:wrap}.palette-output__copy,.palette-output__reset{min-height:44px;padding:8px 20px;border-radius:var(--r-pill);font-family:var(--font-sans);font-size:14px;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;display:flex;align-items:center;gap:6px}.palette-output__copy{background:var(--color-primary);color:var(--color-primary-content);border:none}.palette-output__copy:hover{opacity:.9}.palette-output__copy--done{background:var(--color-success);color:#fff}.palette-output__reset{background:transparent;color:var(--swp-ink-2);border:1px solid var(--swp-border)}.palette-output__reset:hover{background:var(--swp-paper-2);border-color:var(--swp-ink-3)}.palette-page-header{padding:24px 16px 0;max-width:840px;margin:0 auto}@media(min-width:768px){.palette-page-header{padding:32px 24px 0}}.palette-page-subtitle{font-size:14px;color:var(--swp-ink-2);margin-top:8px;margin-bottom:0}.palette-how-to{max-width:840px;margin:0 auto;padding:0 16px}@media(min-width:768px){.palette-how-to{padding:0 24px}}.palette-steps{counter-reset:palette-step;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.palette-steps li{counter-increment:palette-step;display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--swp-ink);line-height:1.7}.palette-steps li:before{content:counter(palette-step);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-content);font-size:13px;font-weight:800;margin-top:2px}.palette-section{max-width:840px;margin:0 auto;padding:0 16px}@media(min-width:768px){.palette-section{padding:0 24px}}.palette-section-title{font-size:20px;font-weight:800;color:var(--swp-ink);border-left:4px solid var(--color-primary);padding-left:12px;margin-bottom:16px;margin-top:0}.palette-challenge-list,.palette-related-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.palette-challenge-link,.palette-related-link{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-md);color:var(--color-primary);text-decoration:none;font-size:15px;font-weight:700;transition:background-color .15s ease,border-color .15s ease}.palette-challenge-link:hover,.palette-related-link:hover{background:var(--swp-paper-2);border-color:var(--color-primary)}.palette-link-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--swp-teal-50);color:var(--color-primary);border-radius:var(--r-sm);padding:2px 8px;flex-shrink:0}.palette-related-tools{display:flex;flex-direction:column;gap:12px}
