:root{--hs-bg:#0a0a0c;--hs-surface:#121216;--hs-surface-2:#1a1a20;--hs-border:#2e2e38;--hs-text:#f2f2f6;--hs-muted:#8888a0;--hs-accent:#14b8a6;--hs-accent-hover:#2dd4bf;--hs-radius:16px;--hs-radius-sm:12px;--hs-shadow:0 8px 32px rgba(0,0,0,0.28);--hs-focus:0 0 0 3px rgba(20,184,166,0.4);}
.hs-tool{background:var(--hs-surface);border:1px solid var(--hs-border);border-radius:var(--hs-radius);box-shadow:var(--hs-shadow);padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;}
.hs-pick{display:flex;flex-direction:column;gap:0.375rem;}
.hs-label{display:block;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--hs-muted);}
.hs-pick-row{display:flex;gap:0.5rem;align-items:flex-end;}
.hs-input{flex:1;min-width:0;padding:0.75rem 1rem;font-size:1rem;font-weight:600;background:var(--hs-surface-2);border:1px solid var(--hs-border);border-radius:var(--hs-radius-sm);color:var(--hs-text);letter-spacing:0.02em;}
.hs-input::placeholder{color:var(--hs-muted);opacity:0.8;}
.hs-input:focus{outline:none;box-shadow:var(--hs-focus);border-color:var(--hs-accent);}
.hs-picker-wrap{display:flex;flex-direction:column;gap:0.25rem;flex-shrink:0;}
.hs-picker-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--hs-muted);}
.hs-picker{width:48px;height:48px;padding:4px;border:2px solid var(--hs-border);border-radius:var(--hs-radius-sm);cursor:pointer;background:var(--hs-surface-2);display:block;}
.hs-picker:hover{border-color:var(--hs-accent);}
.hs-picker::-webkit-color-swatch-wrapper{padding:2px;}
.hs-picker::-webkit-color-swatch{border:none;border-radius:8px;}
.hs-picker::-moz-color-swatch{border:none;border-radius:8px;}
.hs-swatches{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.hs-swatch-block{display:flex;flex-direction:column;gap:0.375rem;}
.hs-swatch-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--hs-muted);}
.hs-swatch{min-height:80px;border-radius:var(--hs-radius-sm);border:2px solid var(--hs-border);cursor:pointer;transition:transform 0.15s,box-shadow 0.15s;}
.hs-swatch:hover{transform:scale(1.01);box-shadow:0 4px 16px rgba(0,0,0,0.2);}
.hs-swatch:focus{outline:none;box-shadow:var(--hs-focus);}
.hs-hex{font-size:0.8125rem;font-weight:600;color:var(--hs-muted);word-break:break-all;}
.hs-shift-block{display:flex;flex-direction:column;gap:0.75rem;}
.hs-slider-row{display:flex;align-items:center;gap:0.75rem;}
.hs-slider{flex:1;min-width:0;height:10px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,hsl(0,70%,55%),hsl(60,70%,55%),hsl(120,70%,55%),hsl(180,70%,55%),hsl(240,70%,55%),hsl(300,70%,55%),hsl(360,70%,55%));border-radius:999px;border:none;}
.hs-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--hs-text);border:2px solid var(--hs-accent);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,0.3);}
.hs-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--hs-text);border:2px solid var(--hs-accent);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,0.3);}
.hs-degrees{min-width:3.5rem;padding:0.375rem 0.5rem;font-size:0.875rem;font-weight:700;text-align:center;background:var(--hs-surface-2);border:1px solid var(--hs-border);border-radius:8px;color:var(--hs-text);}
.hs-degrees-input{width:5rem;padding:0.5rem;font-size:1rem;font-weight:600;text-align:center;background:var(--hs-surface-2);border:1px solid var(--hs-border);border-radius:var(--hs-radius-sm);color:var(--hs-text);}
.hs-degrees-input:focus{outline:none;box-shadow:var(--hs-focus);border-color:var(--hs-accent);}
.hs-presets{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hs-preset{padding:0.5rem 0.75rem;font-size:0.8125rem;font-weight:600;border:1px solid var(--hs-border);border-radius:999px;background:var(--hs-surface-2);color:var(--hs-text);cursor:pointer;transition:border-color 0.2s,background 0.2s,transform 0.1s;}
.hs-preset:hover{border-color:var(--hs-accent);background:rgba(20,184,166,0.12);}
.hs-preset:active{transform:scale(0.98);}
.hs-harmony{display:flex;flex-direction:column;gap:0.5rem;}
.hs-harmony-btns{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hs-harmony-btn{padding:0.5rem 0.875rem;font-size:0.8125rem;font-weight:600;border:1px solid var(--hs-border);border-radius:var(--hs-radius-sm);background:var(--hs-surface-2);color:var(--hs-text);cursor:pointer;transition:border-color 0.2s,background 0.2s;}
.hs-harmony-btn:hover{border-color:var(--hs-accent);background:rgba(20,184,166,0.1);}
.hs-ring-wrap{display:flex;flex-direction:column;gap:0.5rem;align-items:center;}
.hs-wheel{width:200px;height:200px;border-radius:50%;position:relative;cursor:pointer;flex-shrink:0;background:conic-gradient(hsl(0,75%,55%) 0deg,hsl(60,75%,55%) 60deg,hsl(120,75%,55%) 120deg,hsl(180,75%,55%) 180deg,hsl(240,75%,55%) 240deg,hsl(300,75%,55%) 300deg,hsl(0,75%,55%) 360deg);box-shadow:inset 0 0 0 4px var(--hs-surface-2),0 4px 20px rgba(0,0,0,0.3);}
.hs-wheel:focus{outline:none;box-shadow:inset 0 0 0 4px var(--hs-surface-2),0 0 0 3px var(--hs-accent);}
.hs-wheel-pointer{position:absolute;width:20px;height:20px;background:var(--hs-text);border:2px solid var(--hs-accent);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,0.4);}
.hs-spectrum-wrap{display:flex;flex-direction:column;gap:0.375rem;}
.hs-spectrum{height:40px;border-radius:var(--hs-radius-sm);position:relative;cursor:pointer;background:linear-gradient(90deg,hsl(0,75%,55%) 0%,hsl(30,75%,55%) 8.33%,hsl(60,75%,55%) 16.67%,hsl(90,75%,55%) 25%,hsl(120,75%,55%) 33.33%,hsl(150,75%,55%) 41.67%,hsl(180,75%,55%) 50%,hsl(210,75%,55%) 58.33%,hsl(240,75%,55%) 66.67%,hsl(270,75%,55%) 75%,hsl(300,75%,55%) 83.33%,hsl(330,75%,55%) 91.67%,hsl(360,75%,55%) 100%);overflow:hidden;}
.hs-spectrum:focus{outline:none;box-shadow:var(--hs-focus);}
.hs-spectrum-marker{position:absolute;top:0;bottom:0;width:4px;background:var(--hs-text);box-shadow:0 0 6px rgba(0,0,0,0.5);transition:left 0.1s ease;}
.hs-steps-wrap{display:flex;flex-direction:column;gap:0.5rem;}
.hs-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:0.5rem;}
.hs-step{aspect-ratio:1;border-radius:10px;border:2px solid var(--hs-border);cursor:pointer;transition:transform 0.15s,border-color 0.15s;min-height:44px;font-size:0.6rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;padding:0;}
.hs-step:hover{transform:scale(1.08);border-color:var(--hs-accent);}
.hs-step-active{border-color:var(--hs-accent);box-shadow:0 0 0 2px var(--hs-accent);}
.hs-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hs-compare-card{background:var(--hs-surface-2);border:1px solid var(--hs-border);border-radius:var(--hs-radius-sm);padding:1rem;display:flex;flex-direction:column;gap:0.75rem;}
.hs-compare-title{font-size:0.8125rem;font-weight:600;color:var(--hs-muted);margin:0;text-transform:uppercase;letter-spacing:0.05em;}
.hs-compare-swatch{min-height:56px;border-radius:8px;border:1px solid var(--hs-border);cursor:pointer;transition:box-shadow 0.15s;}
.hs-compare-swatch:hover{box-shadow:0 0 0 2px var(--hs-accent);}
.hs-details{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1rem;margin:0;}
.hs-detail{display:flex;flex-direction:column;gap:0.125rem;margin:0;}
.hs-detail dt{font-size:0.625rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--hs-muted);}
.hs-detail dd{font-size:0.8125rem;font-weight:600;color:var(--hs-text);margin:0;word-break:break-all;}
.hs-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hs-btn{padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;border-radius:var(--hs-radius-sm);border:none;cursor:pointer;transition:background 0.2s,transform 0.1s;}
.hs-btn:active{transform:scale(0.98);}
.hs-btn-primary{background:var(--hs-accent);color:#0a0a0c;}
.hs-btn-primary:hover{background:var(--hs-accent-hover);}
.hs-btn-secondary{background:var(--hs-surface-2);color:var(--hs-text);border:1px solid var(--hs-border);}
.hs-btn-secondary:hover{border-color:var(--hs-accent);background:rgba(20,184,166,0.1);}
.hs-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(--hs-surface-2);border:1px solid var(--hs-border);border-radius:var(--hs-radius-sm);color:var(--hs-text);box-shadow:var(--hs-shadow);z-index:9999;transition:opacity 0.2s,transform 0.2s;}
.hs-toast[hidden]{opacity:0;transform:translateX(-50%) translateY(10px);pointer-events:none;}
.bmc-color .container{--text-muted:var(--hs-muted);}
@media (min-width:480px){.hs-tool{padding:1.5rem;gap:1.75rem;}.hs-swatch{min-height:96px;}.hs-wheel{width:240px;height:240px;}}
@media (min-width:640px){.hs-compare-swatch{min-height:72px;}.hs-steps{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));}}
@media (min-width:768px){.hs-swatches{gap:1rem;}.hs-swatch{min-height:110px;}.hs-wheel{width:280px;height:280px;}}
@media (prefers-color-scheme:light){:root{--hs-bg:#f6f6f8;--hs-surface:#fff;--hs-surface-2:#f0f0f4;--hs-border:#e2e2ea;--hs-text:#1a1a1e;--hs-muted:#5c5c6e;--hs-accent:#0d9488;--hs-accent-hover:#0f766e;--hs-shadow:0 4px 20px rgba(0,0,0,0.08);--hs-focus:0 0 0 3px rgba(13,148,136,0.3);}}
