:root{--surface:#ffffff;--surface-muted:#f8fafc;--border:#dbe3ef;--text-main:#111827;--text-muted:#475569;--primary:#4f46e5;--primary-dark:#4338ca;--accent:#14b8a6;--shadow-soft:0 12px 32px rgba(15,23,42,.08);--gradient:linear-gradient(135deg,#eef2ff 0%,#ecfeff 100%);--hslux-bg:#f8fafc;--hslux-surface:#ffffff;--hslux-border:#cbd5e1;--hslux-glow:rgba(79,70,229,.35);--hslux-chip:#ffffff;--hslux-chip-on:#4f46e5;--hslux-track:#e2e8f0;--hslux-accent:#4f46e5;--hslux-mint:#0f766e;}
.hslux-wrap{margin-top:1rem;margin-bottom:2.5rem;}
.hslux-slab{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-muted) 100%);border:1px solid var(--border);border-radius:20px;padding:clamp(1rem,4vw,1.75rem);box-shadow:var(--shadow-soft);}
.hslux-drop{border:2px dashed var(--hslux-border);border-radius:16px;padding:clamp(1.5rem,6vw,2.5rem) 1.25rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--hslux-surface);position:relative;overflow:hidden;}
.hslux-drop::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ef4444,#f97316,#eab308,#22c55e,#3b82f6,#a855f7,#ec4899);opacity:.06;pointer-events:none;}
.hslux-drop:hover,.hslux-drop.hslux-drop-active{border-color:var(--hslux-accent);background:rgba(129,140,248,0.06);}
.hslux-drop-title{font-weight:700;font-size:clamp(1.05rem,3vw,1.2rem);margin:0 0 .35rem;color:var(--text-main);}
.hslux-drop-hint{margin:0;font-size:.9rem;color:var(--text-muted);}
.hslux-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.hslux-stage{margin-top:1.25rem;display:none;}
.hslux-stage.hslux-open{display:block;}
.hslux-viewbox{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:repeating-conic-gradient(#f1f5f9 0% 25%,#e2e8f0 0% 50%) 50%/20px 20px;margin-bottom:1rem;}
.hslux-viewbox canvas{display:block;width:100%;height:auto;vertical-align:middle;}
.hslux-splitbar{position:absolute;top:0;bottom:0;width:3px;background:var(--text-main);box-shadow:0 0 12px var(--hslux-glow);pointer-events:none;transform:translateX(-50%);z-index:2;}
.hslux-splitwrap{margin:.75rem 0 1rem;}
.hslux-splitwrap label{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem;}
.hslux-splitwrap input[type=range]{width:100%;accent-color:var(--hslux-accent);}
.hslux-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem;}
.hslux-toolbar span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);width:100%;}
@media (min-width:640px){.hslux-toolbar span{width:auto;margin-right:.5rem;}}
.hslux-chip{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--hslux-border);background:var(--hslux-chip);color:var(--text-main);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;}
.hslux-chip:hover{border-color:var(--hslux-accent);}
.hslux-chip.hslux-chip-on{border-color:var(--hslux-accent);background:var(--hslux-chip-on);color:#ffffff;}
.hslux-rail{margin-bottom:1.15rem;}
.hslux-rail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem;}
.hslux-rail-head span:first-child{font-size:.85rem;font-weight:600;color:var(--text-main);}
.hslux-rail-val{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--hslux-mint);font-weight:700;}
.hslux-rail input[type=range]{width:100%;height:8px;border-radius:999px;-webkit-appearance:none;appearance:none;background:var(--hslux-track);}
.hslux-rail-hue input[type=range]{background:linear-gradient(90deg,#ef4444,#f97316,#eab308,#22c55e,#3b82f6,#a855f7,#ef4444);}
.hslux-rail input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--text-main);border:2px solid var(--hslux-accent);box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer;}
.hslux-rail input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--text-main);border:2px solid var(--hslux-accent);cursor:pointer;}
.hslux-toggles{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;}
.hslux-switch{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--text-muted);cursor:pointer;}
.hslux-switch input{accent-color:var(--hslux-accent);width:1.1rem;height:1.1rem;}
.hslux-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;}
.hslux-btn{padding:.65rem 1.15rem;border-radius:12px;font-weight:600;font-size:.9rem;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-main);cursor:pointer;transition:background .15s,border-color .15s;}
.hslux-btn:hover{border-color:var(--hslux-accent);}
.hslux-btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);border-color:transparent;color:#fff;}
.hslux-btn-primary:hover{filter:brightness(1.06);}
.hslux-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none;overflow:hidden;}
.hslux-edu{margin-top:2.5rem;}
.hslux-edu h2{font-size:clamp(1.35rem,4vw,1.75rem);margin:2rem 0 .75rem;line-height:1.25;color:var(--text-main);}
.hslux-edu h2:first-child{margin-top:0;}
.hslux-edu p{color:var(--text-muted);line-height:1.65;margin:0 0 1rem;}
.hslux-edu ul{margin:0 0 1rem;padding-left:1.2rem;color:var(--text-muted);line-height:1.6;}
.hslux-callout{border-left:4px solid var(--hslux-accent);padding:.85rem 1rem 1rem;margin:1.25rem 0;background:var(--surface-muted);border-radius:0 12px 12px 0;}
.hslux-callout strong{display:block;margin-bottom:.35rem;color:var(--text-main);}
.hslux-table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--border);border-radius:12px;}
.hslux-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.hslux-table th,.hslux-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border);}
.hslux-table th{background:var(--surface-muted);color:var(--text-main);font-weight:600;}
.hslux-table tr:last-child td{border-bottom:none;}
.hslux-aside{display:grid;gap:.65rem;margin:1.5rem 0;padding:1rem 1.1rem;border-radius:14px;border:1px dashed var(--hslux-border);background:rgba(129,140,248,0.05);}
.hslux-aside h3{margin:0;font-size:1rem;color:var(--text-main);}
.hslux-aside li{margin-bottom:.35rem;color:var(--text-muted);line-height:1.5;}
.hslux-aside ul{margin:0;padding-left:1.1rem;}
