@font-face{font-family:Plex;font-weight:500;font-display:swap;src:url(/brand/IBMPlexMono-Medium.ttf) format("truetype")}@font-face{font-family:Plex;font-weight:600;font-display:swap;src:url(/brand/IBMPlexMono-SemiBold.ttf) format("truetype")}:root{color-scheme:dark;--body:#1a1816;--panel:#221f1c;--deep:#0f0d0a;--mt:#3a342e;--mm:#2a2520;--mb:#1f1a16;--text:#ede6d5;--dim:#9a907e;--faint:#6a6253;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);--accent:#6BA8FF;--red:#FF5A52;--chip:#2e2924;--chipb:rgba(255,255,255,.12);--ok:#8fd694;--err:#ff7a72}*{box-sizing:border-box}body{margin:0;font:500 14px/1.55 Plex,ui-monospace,SF Mono,Menlo,monospace;color:var(--text);background:radial-gradient(130% 90% at 50% -10%,#241f1a 0%,var(--body) 52%,#131110 100%) fixed}#app{width:100%;margin:0 auto;padding:0 20px 90px}.brandhead{position:relative;margin:0 -20px 20px}.brandhead img{width:100%;display:block;border-bottom:1px solid var(--line2);box-shadow:0 18px 44px -22px #000}.acct{position:absolute;top:14px;right:22px;z-index:2;display:flex;align-items:center;gap:12px}.acct-user{font-size:12px;font-weight:600;letter-spacing:.02em;color:#1a1510;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-out{margin:0;padding:5px 12px;font:600 11.5px Plex,monospace;letter-spacing:.05em;color:#1a1510;background:#ffffff5c;border:1px solid rgba(0,0,0,.34);border-radius:7px;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.acct-out:hover{background:#ffffff94;filter:none}@media (max-width: 520px){.acct-user{display:none}}h1{font-size:20px;font-weight:600;letter-spacing:.04em;margin:18px 0 2px}.sub{color:var(--dim);margin:0 0 22px;font-size:12.5px;letter-spacing:.04em}.card{position:relative;background:linear-gradient(180deg,var(--panel),var(--deep));border:1px solid var(--line2);border-radius:12px;padding:18px 18px 20px;margin:16px 0;box-shadow:0 22px 54px -30px #000,inset 0 1px #ffffff0d}.card.wide{width:100vw;left:50%;margin-left:-50vw;border-radius:0}.card>label:first-child{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 55%,var(--dim));margin:0 0 12px}label{display:block;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin:12px 0 5px}input[type=text],input[type=email],input[type=password],input[type=number]{width:100%;padding:9px 11px;background:var(--deep);border:1px solid var(--line2);border-radius:8px;color:var(--text);font:500 13px/1 Plex,monospace;font-variant-numeric:tabular-nums}input:focus,select:focus,button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6ba8ff2e}select{padding:8px 10px;background:var(--chip);border:1px solid var(--chipb);border-radius:8px;color:var(--text);font:500 13px Plex,monospace}button{background:linear-gradient(180deg,#33607f,#274c66);color:#eaf2ff;border:1px solid rgba(107,168,255,.4);border-radius:8px;padding:9px 15px;font:600 12.5px Plex,monospace;letter-spacing:.04em;cursor:pointer;margin:4px 6px 4px 0;transition:filter .12s,border-color .12s}button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:default;filter:none}button.ghost{background:var(--chip);color:var(--dim);border:1px solid var(--chipb)}button.ghost:hover{color:var(--text)}.filebtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin:4px 0;background:var(--chip);color:var(--dim);border:1px solid var(--chipb);border-radius:8px;padding:8px 14px;font:600 12.5px Plex,monospace}.modebtns{display:flex;align-items:center;gap:6px;flex-wrap:wrap}button.mode{background:var(--chip);color:var(--dim);border:1px solid var(--chipb);padding:7px 15px;letter-spacing:.05em}button.mode.on{color:var(--text);background:#26302f;border-color:#6ba8ff8c;box-shadow:inset 0 0 0 1px #6ba8ff47}button.mode.onR{color:var(--text);background:#302626;border-color:#ff5a528c;box-shadow:inset 0 0 0 1px #ff5a5242}.player{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row{display:flex;gap:16px;flex-wrap:wrap}.row>div{flex:1 1 120px}.muted{color:var(--dim);font-size:12.5px}.muted b{color:var(--text);font-weight:600}.err{color:var(--err);font-size:12.5px}.ok{color:var(--ok);font-size:12.5px}input[type=range]{accent-color:var(--accent)}.seek{-webkit-appearance:none;appearance:none;width:100%;height:22px;margin:10px 0 2px;background:transparent;cursor:pointer}.seek::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:#ffffff1f}.seek::-moz-range-track{height:4px;border-radius:3px;background:#ffffff1f}.seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:22px;margin-top:-9px;border-radius:4px;border:1px solid rgba(120,110,95,.8);box-shadow:0 2px 5px #00000080;background:linear-gradient(90deg,transparent 4.5px,rgba(180,170,150,.55) 4.5px 5.5px,transparent 5.5px 7.5px,rgba(180,170,150,.55) 7.5px 8.5px,transparent 8.5px 10.5px,rgba(180,170,150,.55) 10.5px 11.5px,transparent 11.5px),linear-gradient(180deg,#3a352c,#26221b 50%,#171410)}.seek::-moz-range-thumb{width:16px;height:22px;border:1px solid rgba(120,110,95,.8);border-radius:4px;background:linear-gradient(90deg,transparent 4.5px,rgba(180,170,150,.55) 4.5px 5.5px,transparent 5.5px 7.5px,rgba(180,170,150,.55) 7.5px 8.5px,transparent 8.5px 10.5px,rgba(180,170,150,.55) 10.5px 11.5px,transparent 11.5px),linear-gradient(180deg,#3a352c,#26221b 50%,#171410)}canvas.curve{width:100%;height:180px;display:block;border-radius:8px;background:#0b0e13;margin:10px 0}canvas.bank{width:100%;height:220px;display:block;border-radius:8px 8px 0 0;background:#0f0d0a;margin:10px 0 0;cursor:ns-resize;touch-action:none}canvas.sweep{width:100%;height:54px;display:block;border-radius:0 0 8px 8px;background:#0f0d0a;border-top:1px solid var(--line);cursor:ew-resize;touch-action:none}.faderhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.faderhead .modebtns{flex:0 1 auto}.faderhead #sineHost{flex:0 0 auto}.modellist{max-height:320px;overflow-y:auto;margin-top:12px;display:flex;flex-direction:column;gap:12px}.modelman{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 55%,var(--dim));margin:0 0 7px}.modelrow{display:inline-flex;margin:0 7px 7px 0;padding:7px 12px;background:var(--chip);color:var(--text);border:1px solid var(--chipb);border-radius:8px;font:500 12.5px Plex,monospace;letter-spacing:.01em;cursor:pointer}.modelrow:hover{border-color:#6ba8ff99;filter:none}.modelrow.on{background:#26302f;border-color:#6ba8ff99;box-shadow:inset 0 0 0 1px #6ba8ff59}.dialrow{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin:14px 0 4px}.dialcell{display:flex;align-items:center;gap:10px}.dial-title{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);max-width:66px;line-height:1.25;text-align:right}.dialcell .knob-lbl{display:none}.dial-stack{display:flex;flex-direction:column;align-items:center}.dial-off{opacity:.38}.dial-off .knob-face{pointer-events:none;cursor:default}.vu-wrap{display:flex;align-items:center;gap:6px;margin-top:6px}.vu{width:74px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.vu-fill{height:100%;width:0%;border-radius:3px;background:linear-gradient(90deg,#3f7fc0,var(--accent))}.vu-clip{width:7px;height:7px;border-radius:50%;background:#3a2422;transition:background .1s,box-shadow .1s}.vu-clip.on{background:var(--red);box-shadow:0 0 7px #ff5a52e6}.knobs{display:flex;gap:20px 24px;flex-wrap:wrap}.knob{--face: 58px;width:76px;text-align:center;user-select:none}.knob-sm{--face: 40px;width:60px}.knob-face{width:var(--face);height:var(--face);margin:0 auto;position:relative;border-radius:50%;cursor:ns-resize;touch-action:none;background:radial-gradient(circle at 50% 34%,#34322f,#17150f 46%,#0b0a08);box-shadow:0 7px 15px -6px #000,inset 0 0 0 1px #000000b3,inset 0 2px 3px #ffffff1a,inset 0 -7px 12px #000000a6}.knob-ring{position:absolute;inset:-6px;border-radius:50%;-webkit-mask:radial-gradient(circle,transparent calc(var(--face)*.5),#000 calc(var(--face)*.5 + 1px),#000 calc(var(--face)*.5 + 4px),transparent calc(var(--face)*.5 + 5px));mask:radial-gradient(circle,transparent calc(var(--face)*.5),#000 calc(var(--face)*.5 + 1px),#000 calc(var(--face)*.5 + 4px),transparent calc(var(--face)*.5 + 5px))}.knob-ptr{position:absolute;inset:0}.knob-ptr i{position:absolute;left:50%;top:calc(var(--face)*.1);width:2.5px;height:calc(var(--face)*.26);border-radius:2px;transform:translate(-50%);background:linear-gradient(#fdfaf2,#b9b2a2);box-shadow:0 1px 2px #0009}.knob-lbl{margin-top:7px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.knob-val{font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.knob-sm .knob-lbl{margin-top:5px}.knob-sm .knob-val{font-size:11px}
