.mode-demo{--accent:#2568ed;--glow:#8db4ff;--gradient:linear-gradient(100deg,#a2c4ff 0%,#568cfb 27%,#2163eb 61%,#87afff 100%);--thumb-x:calc(100% - 22px);margin-top:24px;color:var(--accent);user-select:none}
.mode-demo[data-level="4"]{--accent:#8a43f5;--glow:#c8a5ff;--gradient:linear-gradient(100deg,#a8a7ff 0%,#9a77ff 23%,#752ef3 53%,#7027ed 72%,#aa85ff 100%)}
.mode-demo-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px;line-height:1.4}
.mode-demo-kicker{font-size:13px;color:#7a8799;letter-spacing:.5px}
.mode-demo output{font-size:19px;font-weight:650;letter-spacing:.1px;color:var(--accent);transition:color .25s}
.mode-fast-label{text-align:right;font-size:12px;color:#8a93a3}
.mode-demo[data-fast="true"] .mode-fast-label{color:var(--accent)}
.mode-slider{position:relative;width:100%;height:46px;border-radius:28px;touch-action:pan-y}
.mode-slider-rail{position:absolute;inset:6px 0;background:#edf0f6;border-radius:24px;overflow:hidden;pointer-events:none}
.mode-slider-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--thumb-x) + 22px);border-radius:24px;background:var(--gradient);background-size:200% 100%;box-shadow:inset 0 1px 1px #ffffff70;overflow:hidden}
.mode-particles{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.mode-particles i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;opacity:.55;border-radius:50%;background:#fff;box-shadow:0 0 5px #ffffff7a}
.mode-particles i:nth-child(3n){width:2px;height:2px;opacity:.7}
.mode-particles i:nth-child(4n){width:4px;height:4px;opacity:.4}
.mode-particles i:after{content:"";position:absolute;right:0;top:0;width:15px;height:100%;background:linear-gradient(90deg,transparent,#fff9);border-radius:4px;opacity:0}
.mode-sweep{position:absolute;inset:0;background:linear-gradient(108deg,transparent 20%,#ffffff22 45%,transparent 64%);opacity:0}
.mode-demo[data-fast="true"] .mode-slider-fill{animation:mode-flow 3.5s linear infinite}
.mode-demo[data-fast="true"] .mode-particles i{animation:mode-flight var(--duration,2.1s) linear var(--delay) infinite}
.mode-demo[data-fast="true"] .mode-particles i:after{opacity:.6}
.mode-demo[data-fast="true"] .mode-sweep{opacity:1;animation:mode-sweep 2.6s ease-in-out infinite}
.mode-range{position:absolute;inset:0;width:100%;height:46px;margin:0;padding:0;opacity:0;z-index:2;cursor:pointer;appearance:none;-webkit-appearance:none;background:transparent;touch-action:pan-y}
.mode-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:44px;border-radius:50%}
.mode-range::-moz-range-thumb{width:44px;height:44px;border:0;border-radius:50%}
.mode-range::-webkit-slider-runnable-track{height:44px}
.mode-range::-moz-range-track{height:44px}
.mode-thumb{position:absolute;z-index:3;left:var(--thumb-x);top:1px;transform:translateX(-50%);width:44px;height:44px;border:1px solid #e3e5ec;background:#fff;border-radius:50%;display:grid;place-items:center;color:#8d98ad;padding:0;box-shadow:0 2px 7px #173b7020;touch-action:none;cursor:grab;transition:color .2s,box-shadow .2s}
.mode-thumb svg{width:18px;height:23px;pointer-events:none;transition:transform .18s}
.mode-thumb:hover{color:var(--accent);box-shadow:0 3px 12px #25375824}
.mode-thumb[aria-pressed="true"]{color:var(--accent);box-shadow:0 2px 10px #49317724,inset 0 0 0 2px #fff}
.mode-thumb[aria-pressed="true"] svg{filter:drop-shadow(0 0 4px var(--glow))}
.mode-thumb:active,.mode-demo[data-dragging="true"] .mode-thumb{cursor:grabbing}
.mode-thumb:active svg{transform:scale(.88)}
.mode-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.mode-slider:has(.mode-range:focus-visible){outline:2px solid var(--accent);outline-offset:5px}
.mode-stops{display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin:9px 0 0;pointer-events:none}
.mode-stops span{width:4px;height:4px;border-radius:50%;background:#d1d7e2;transition:background .2s,transform .2s}
.mode-stops span[data-active="true"]{background:var(--accent);transform:scale(1.4)}
@keyframes mode-flow{from{background-position:200% 50%}to{background-position:0% 50%}}
@keyframes mode-flight{0%{transform:translateX(-20px) translateY(2px);opacity:0}18%{opacity:.8}78%{opacity:.65}100%{transform:translateX(64px) translateY(-3px);opacity:0}}
@keyframes mode-sweep{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@media(prefers-reduced-motion:reduce){.mode-demo[data-fast="true"] .mode-slider-fill,.mode-demo[data-fast="true"] .mode-particles i,.mode-demo[data-fast="true"] .mode-sweep{animation:none}.mode-demo[data-fast="true"] .mode-particles i:after{opacity:0}.mode-demo .mode-sweep{display:none}.mode-demo *{transition:none!important}}
@media(max-width:680px){.mode-demo{margin-top:22px}.mode-demo-head{margin-bottom:9px}.mode-demo-kicker{font-size:12px}.mode-demo output{font-size:18px}}
