:root{--dc-bg:#0c0c0e;--dc-surface:#141418;--dc-surface-2:#1c1c22;--dc-border:#2a2a32;--dc-text:#f4f4f6;--dc-muted:#9090a0;--dc-accent:#8b5cf6;--dc-accent-hover:#a78bfa;--dc-radius:14px;--dc-radius-sm:10px;--dc-shadow:0 6px 24px rgba(0,0,0,0.25);--dc-focus:0 0 0 3px rgba(139,92,246,0.35);}
.dc-tool{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);box-shadow:var(--dc-shadow);padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;}
.dc-pick-row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:flex-end;}
.dc-input-wrap{flex:1;min-width:0;min-width:140px;}
.dc-label{display:block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--dc-muted);margin-bottom:0.375rem;}
.dc-input{width:100%;padding:0.75rem 1rem;font-size:1rem;font-weight:600;background:var(--dc-surface-2);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);color:var(--dc-text);letter-spacing:0.02em;}
.dc-input::placeholder{color:var(--dc-muted);opacity:0.8;}
.dc-input:focus{outline:none;box-shadow:var(--dc-focus);border-color:var(--dc-accent);}
.dc-picker-wrap{flex-shrink:0;}
.dc-picker{width:48px;height:44px;padding:4px;border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);cursor:pointer;background:var(--dc-surface-2);display:block;}
.dc-picker::-webkit-color-swatch-wrapper{padding:2px;}
.dc-picker::-webkit-color-swatch{border:none;border-radius:6px;}
.dc-picker::-moz-color-swatch{border:none;border-radius:6px;}
.dc-swatches{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.dc-swatch-block{display:flex;flex-direction:column;gap:0.375rem;}
.dc-swatch-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--dc-muted);}
.dc-swatch{min-height:88px;border-radius:var(--dc-radius-sm);border:1px solid var(--dc-border);cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease;}
.dc-swatch:hover{transform:scale(1.01);box-shadow:0 4px 12px rgba(0,0,0,0.2);}
.dc-swatch:focus{outline:none;box-shadow:var(--dc-focus);}
.dc-methods{display:flex;flex-wrap:wrap;gap:0.5rem;}
.dc-method{padding:0.5rem 0.875rem;font-size:0.8125rem;font-weight:600;border:1px solid var(--dc-border);border-radius:999px;background:var(--dc-surface-2);color:var(--dc-text);cursor:pointer;transition:border-color 0.2s,background 0.2s,color 0.2s;}
.dc-method:hover{border-color:var(--dc-accent);background:rgba(139,92,246,0.12);}
.dc-method-active{border-color:var(--dc-accent);background:rgba(139,92,246,0.2);color:var(--dc-accent-hover);}
.dc-controls{display:flex;flex-direction:column;gap:1rem;}
.dc-slider-row{display:flex;flex-direction:column;gap:0.375rem;}
.dc-slider-wrap{display:flex;align-items:center;gap:0.75rem;}
.dc-slider{flex:1;min-width:0;height:8px;-webkit-appearance:none;appearance:none;background:var(--dc-surface-2);border-radius:4px;border:1px solid var(--dc-border);}
.dc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--dc-text);border:2px solid var(--dc-accent);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
.dc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--dc-text);border:2px solid var(--dc-accent);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
.dc-value{min-width:3rem;padding:0.375rem 0.5rem;font-size:0.875rem;font-weight:600;text-align:center;background:var(--dc-surface-2);border:1px solid var(--dc-border);border-radius:6px;color:var(--dc-text);}
.dc-presets{display:flex;flex-wrap:wrap;gap:0.5rem;}
.dc-preset{padding:0.5rem 0.875rem;font-size:0.8125rem;font-weight:600;border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);background:var(--dc-surface-2);color:var(--dc-text);cursor:pointer;transition:border-color 0.2s,background 0.2s,transform 0.1s;}
.dc-preset:hover{border-color:var(--dc-accent);background:rgba(139,92,246,0.1);}
.dc-preset:active{transform:scale(0.98);}
.dc-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.dc-compare-card{background:var(--dc-surface-2);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);padding:1rem;display:flex;flex-direction:column;gap:0.75rem;}
.dc-compare-title{font-size:0.8125rem;font-weight:600;color:var(--dc-muted);margin:0;text-transform:uppercase;letter-spacing:0.05em;}
.dc-compare-swatch{min-height:64px;border-radius:8px;border:1px solid var(--dc-border);cursor:pointer;transition:box-shadow 0.15s;}
.dc-compare-swatch:hover{box-shadow:0 0 0 2px var(--dc-accent);}
.dc-details{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1rem;margin:0;}
.dc-detail{display:flex;flex-direction:column;gap:0.125rem;margin:0;}
.dc-detail dt{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--dc-muted);}
.dc-detail dd{font-size:0.8125rem;font-weight:600;color:var(--dc-text);margin:0;word-break:break-all;}
.dc-spectrum-wrap{display:flex;flex-direction:column;gap:0.5rem;}
.dc-spectrum-title{font-size:0.8125rem;font-weight:600;color:var(--dc-muted);margin:0;text-transform:uppercase;letter-spacing:0.05em;}
.dc-spectrum-hint{font-size:0.75rem;color:var(--dc-muted);margin:0;}
.dc-spectrum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:0.5rem;min-height:100px;}
.dc-spectrum-swatch{display:block;width:100%;min-width:44px;min-height:44px;aspect-ratio:1;border-radius:8px;border:2px solid var(--dc-border);cursor:pointer;transition:transform 0.15s,border-color 0.15s;padding:0;}
.dc-spectrum-swatch:hover{transform:scale(1.08);border-color:var(--dc-accent);}
.dc-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.dc-btn{padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;border-radius:var(--dc-radius-sm);border:none;cursor:pointer;transition:background 0.2s,transform 0.1s;}
.dc-btn:active{transform:scale(0.98);}
.dc-btn-primary{background:var(--dc-accent);color:#fff;}
.dc-btn-primary:hover{background:var(--dc-accent-hover);}
.dc-btn-secondary{background:var(--dc-surface-2);color:var(--dc-text);border:1px solid var(--dc-border);}
.dc-btn-secondary:hover{border-color:var(--dc-accent);background:rgba(139,92,246,0.1);}
.dc-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:0.75rem 1.5rem;font-size:0.875rem;font-weight:600;background:var(--dc-surface-2);border:1px solid var(--dc-border);border-radius:var(--dc-radius-sm);color:var(--dc-text);box-shadow:var(--dc-shadow);z-index:9999;transition:opacity 0.2s,transform 0.2s;}
.dc-toast[hidden]{opacity:0;transform:translateX(-50%) translateY(10px);pointer-events:none;}
.bmc-color .container{--text-muted:var(--dc-muted);}
@media (min-width:480px){.dc-tool{padding:1.5rem;gap:1.75rem;}.dc-swatch{min-height:100px;}}
@media (min-width:640px){.dc-compare{grid-template-columns:1fr 1fr;}.dc-compare-swatch{min-height:80px;}.dc-spectrum-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));}}
@media (min-width:768px){.dc-swatches{gap:1rem;}.dc-swatch{min-height:110px;}.dc-controls{gap:1.25rem;}}
@media (prefers-color-scheme:light){:root{--dc-bg:#f8f8fa;--dc-surface:#fff;--dc-surface-2:#f0f0f4;--dc-border:#e0e0e8;--dc-text:#1a1a1e;--dc-muted:#6b6b78;--dc-accent:#7c3aed;--dc-accent-hover:#6d28d9;--dc-shadow:0 4px 16px rgba(0,0,0,0.08);--dc-focus:0 0 0 3px rgba(124,58,237,0.25);}}
