@font-face{font-family:Michroma;font-style:normal;font-display:swap;font-weight:400;src:url(./michroma-latin-ext-400-normal-BeYM1uOO.woff2)format("woff2"),url(./michroma-latin-ext-400-normal-DlRaauac.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Michroma;font-style:normal;font-display:swap;font-weight:400;src:url(./michroma-latin-400-normal-4gS0VCia.woff2)format("woff2"),url(./michroma-latin-400-normal-C7Pn7qca.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-semi-condensed-vietnamese-400-normal-Dj7eBp_3.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-400-normal-D1YxRXwC.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-semi-condensed-latin-ext-400-normal-BDztQS4c.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-400-normal-Bm5hzUPR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2)format("woff2"),url(./barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(./barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(./barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--panel:#d5d6d0;--panel-shade:#c7c8c1;--panel-edge:#aeb0a8;--print:#23262a;--print-soft:#565b61;--glass:#0d1416;--glass-edge:#050809;--glow:#8cf5d2;--glow-soft:#5fb79c;--glow-faint:#2f5c50;--key:#2c2f33;--key-face:#3a3e43;--key-print:#e6e7e2;--slot:#303336;--warning:#b3401f;--grain:#ffffff09;--plate:#cbccc5;--plate-edge:#a9aba3;--plate-light:#ffffff8c;--emboss:0 1px 0 #ffffff73;color:var(--print);background:var(--panel);font-synthesis:none;text-rendering:optimizelegibility;font-family:Barlow Semi Condensed,Arial Narrow,sans-serif;font-size:100%;line-height:1.45}@media (prefers-color-scheme:dark){:root{--panel:#2a2c2e;--panel-shade:#232527;--panel-edge:#3d4043;--print:#dcded9;--print-soft:#9ba0a5;--key:#17191b;--key-face:#222527;--slot:#121315;--warning:#f08a63;--grain:#ffffff04;--plate:#222426;--plate-edge:#3a3d40;--plate-light:#ffffff0d;--emboss:0 -1px 0 #0009}}*{box-sizing:border-box}body{background:repeating-linear-gradient(90deg, transparent 0 2px, var(--grain) 2px 3px, transparent 3px 5px), var(--panel);min-width:320px;min-height:100vh;margin:0}button,textarea,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--print);outline-offset:3px}.instrument{grid-template-columns:1fr auto;gap:28px 32px;width:min(1040px,100% - 32px);margin:0 auto;padding:clamp(28px,7vh,72px) 0 40px;display:grid}.nameplate{align-self:end}h1{text-shadow:var(--emboss);letter-spacing:.04em;margin:0;font-family:Michroma,Eurostile,sans-serif;font-size:clamp(1.9rem,5.2vw,3.4rem);font-weight:400;line-height:1}.tagline{max-width:34em;color:var(--print-soft);margin:14px 0 0;font-size:1.0625rem}h2{letter-spacing:.02em;align-items:center;gap:12px;margin:0 0 14px;font-size:.9375rem;font-weight:600;display:flex}h2:after{content:"";background:var(--panel-edge);flex:1;height:1px}.source{align-self:end;gap:14px;display:flex}.select-control{color:var(--print-soft);gap:6px;font-size:.875rem;font-weight:500;display:grid}select{border:1px solid var(--panel-edge);min-width:11rem;color:var(--print);background:linear-gradient(45deg, transparent 50%, var(--print) 50%) right 16px center / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, var(--print) 50%) right 11px center / 6px 6px no-repeat, var(--panel-shade);appearance:none;cursor:pointer;border-radius:4px;padding:9px 34px 9px 12px}select:disabled{opacity:.5;cursor:not-allowed}.select-control[hidden]{display:none}.display{background:radial-gradient(120% 140% at 20% 0%, #8cf5d212, transparent 60%), var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge), inset 0 2px 18px #0009, 0 1px 0 #ffffff59;color:var(--glow);border-radius:10px;grid-column:1/-1;padding:clamp(18px,3vw,28px) clamp(18px,3.5vw,34px);position:relative;overflow:hidden}.display:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(165deg,#ffffff12,#0000 38%),repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px);position:absolute;inset:0}.meter{width:100%;height:clamp(64px,10vw,104px);margin:0 0 20px;display:block}.display-label{color:var(--glow-soft);font-size:.8125rem;font-weight:500;display:block}.display textarea{resize:none;width:100%;color:var(--glow);caret-color:var(--glow);text-shadow:0 0 6px #8cf5d28c,0 0 18px #8cf5d240;field-sizing:content;background:0 0;border:0;min-height:1.4em;margin:4px 0 18px;padding:0;display:block}.display textarea:focus-visible{outline:1px dashed var(--glow-soft);outline-offset:6px}#phrase{letter-spacing:.01em;font-size:clamp(1.375rem,3.2vw,2rem);font-weight:500;line-height:1.25}#phonemes{max-height:4.4em;color:var(--glow-soft);letter-spacing:.06em;text-shadow:0 0 6px #8cf5d240;margin-bottom:8px;font-size:1rem;overflow-y:auto}.display-hint{color:var(--glow-faint);margin:2px 0 0;font-size:.8125rem}.display-hint:empty{display:none}.display-hint.warning{color:#f3b48f}.display-foot{border-top:1px solid var(--glow-faint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-top:16px;padding-top:12px;display:flex}.display .checkbox{color:var(--glow-soft)}.display .checkbox input{accent-color:var(--glow)}.status{min-height:1.45em;color:var(--glow);margin:0;font-size:.9375rem}.transport{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.key{color:var(--key-print);background:linear-gradient(var(--key-face), var(--key));box-shadow:0 2px 0 var(--glass-edge), inset 0 1px 0 #ffffff1f;cursor:pointer;border:0;border-radius:5px;align-items:center;gap:10px;padding:11px 18px 12px;font-size:.9375rem;font-weight:600;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.key:active{box-shadow:0 0 0 var(--glass-edge), inset 0 1px 0 #ffffff14;transform:translateY(2px)}.key:disabled{opacity:.6;cursor:wait}.key-play{padding-inline:22px 26px;font-size:1.0625rem}.key-quiet{color:var(--print);background:var(--panel-shade);box-shadow:inset 0 0 0 1px var(--panel-edge), 0 2px 0 var(--panel-edge)}.led{background:#4d5550;border-radius:50%;width:9px;height:9px;box-shadow:inset 0 1px 1px #0009}.is-playing .led,.preset-keys [aria-pressed=true] .led{background:var(--glow);box-shadow:0 0 6px var(--glow), 0 0 14px #8cf5d299}.is-playing .led{animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.module{border:1px solid var(--plate-edge);background:var(--plate);box-shadow:inset 0 1px 0 var(--plate-light), 0 1px 2px #0000001f;border-radius:8px;padding:16px 18px 20px;transition:opacity .12s}.module h2{margin:0}.module h2:after{content:none}.module-head{border-bottom:1px solid var(--plate-edge);justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 16px;padding-bottom:10px;display:flex}.presets>h2{border-bottom:1px solid var(--plate-edge);margin-bottom:14px;padding-bottom:10px}.bypass{border:1px solid var(--plate-edge);color:var(--print-soft);background:var(--panel);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 11px 6px;font-size:.8125rem;font-weight:600;display:inline-flex}.bypass .led{background:var(--glow);width:7px;height:7px;box-shadow:0 0 5px var(--glow)}.bypass[aria-pressed=true]{color:var(--print);background:var(--panel-shade)}.bypass[aria-pressed=true] .led{background:#4d5550;box-shadow:inset 0 1px 1px #0009}.is-bypassed .faders,.is-bypassed .robot-notes,.is-bypassed .hint{opacity:.45}.presets{grid-column:1/-1}.preset-keys{flex-wrap:wrap;gap:10px;display:flex}.preset-keys .key{padding:9px 14px 10px;font-size:.875rem}.modules{grid-column:1/-1;grid-template-columns:4fr 6fr;gap:18px;display:grid}.faders{justify-content:space-between;gap:8px;display:flex}.fader{min-width:64px;color:var(--print);text-align:center;justify-items:center;gap:8px;font-size:.875rem;font-weight:500;display:grid}.fader output{min-height:1.45em;color:var(--print-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}input[type=range]{appearance:none;cursor:pointer;background:0 0}.fader input[type=range]{writing-mode:vertical-lr;direction:rtl;width:34px;height:150px}input[type=range]::-webkit-slider-runnable-track{background:var(--slot);border-radius:3px;width:6px;height:100%;box-shadow:inset 0 1px 2px #00000080}input[type=range]::-moz-range-track{background:var(--slot);border-radius:3px;width:6px;height:100%}input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(transparent 8px, var(--key-print) 8px 10px, transparent 10px), linear-gradient(var(--key-face), var(--key));border-radius:3px;width:30px;height:18px;margin-left:-12px;box-shadow:0 2px 3px #00000073}input[type=range]::-moz-range-thumb{background:linear-gradient(transparent 8px, var(--key-print) 8px 10px, transparent 10px), linear-gradient(var(--key-face), var(--key));border:0;border-radius:3px;width:30px;height:18px;box-shadow:0 2px 3px #00000073}.robot-notes{flex-wrap:wrap;align-items:end;gap:14px 18px;margin-top:22px;display:flex}.melody{color:var(--print-soft);flex:15rem;gap:6px;font-size:.875rem;font-weight:500;display:grid}.melody input{border:1px solid var(--panel-edge);color:var(--print);background:var(--panel-shade);letter-spacing:.04em;border-radius:4px;padding:9px 12px}.melody input::placeholder{color:var(--print-soft);opacity:.7}.checkbox{color:var(--print-soft);align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--key)}.hint{color:var(--print-soft);margin:10px 0 0;font-size:.8125rem}.hint:empty{display:none}.hint.warning{color:var(--warning)}footer{border-top:1px solid var(--panel-edge);max-width:62em;color:var(--print-soft);grid-column:1/-1;padding-top:18px;font-size:.8125rem}footer p{margin:0 0 6px}footer a{color:inherit;text-underline-offset:2px}.module-effects{grid-column:1/-1}.module-effects .faders{justify-content:flex-start;gap:8px 28px}@media (width<=820px){.modules{grid-template-columns:1fr}}@media (width<=600px){.instrument{grid-template-columns:1fr}.source{flex-wrap:wrap}.source .select-control{flex:9rem}select{width:100%;min-width:0}.faders{gap:4px;display:grid}.fader{text-align:left;grid-template-columns:6.5rem 1fr 5.5rem;place-items:center stretch}.fader span{grid-area:1/1}.fader input[type=range]{writing-mode:horizontal-tb;direction:ltr;grid-area:1/2;width:100%;height:34px}.fader output{text-align:right;grid-area:1/3}input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px}input[type=range]::-moz-range-track{width:100%;height:6px}input[type=range]::-webkit-slider-thumb{background:linear-gradient(90deg, transparent 8px, var(--key-print) 8px 10px, transparent 10px), linear-gradient(var(--key-face), var(--key));width:18px;height:28px;margin-top:-11px;margin-left:0}input[type=range]::-moz-range-thumb{background:linear-gradient(90deg, transparent 8px, var(--key-print) 8px 10px, transparent 10px), linear-gradient(var(--key-face), var(--key));width:18px;height:28px}}@media (prefers-reduced-motion:reduce){.is-playing .led{animation:none}.key,.module{transition:none}}
