:root{--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:#eef2ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b0d13;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden!important}*{box-sizing:border-box}body{min-width:320px;margin:0;padding:0;overflow-x:hidden!important}.studio{--kit-color:#ff4d6d;color:#eef2ff;background:radial-gradient(circle at 20% 12%, color-mix(in srgb, var(--kit-color) 42%, transparent), transparent 28rem), linear-gradient(135deg, #10131f 0%, #171926 48%, #0b0d13 100%);min-height:100svh;padding:28px}.topbar,.control-strip,.workspace,.timeline{width:min(1180px,100%);margin-inline:auto}.topbar{justify-content:space-between;align-items:end;gap:24px;padding:22px 0 26px;display:flex}.eyebrow{color:var(--kit-color);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}h1,h2,.lede{margin:0}h1{letter-spacing:0;font-size:clamp(44px,8vw,92px);line-height:.9}h2{color:#fff}.lede{color:#aeb7cb;max-width:620px;font-size:18px}button,select,input{font:inherit}button,select{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px}button{cursor:pointer;transition:transform .16s,border-color .16s,background .16s}button:hover{border-color:color-mix(in srgb, var(--kit-color) 78%, white);transform:translateY(-1px)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--kit-color);outline-offset:2px}.transport{gap:10px;display:flex}.transport button,.control-strip button{min-height:44px;padding:0 18px;font-weight:800}.transport button:first-child{background:var(--kit-color);color:#0b0d13}.transport button.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 24%, #ffffff14)}.danger.active{background:#ef4444}.control-strip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff12;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:minmax(260px,1.5fr) repeat(8,auto);align-items:center;gap:10px;padding:14px;display:grid}.voice-panel{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;width:min(1180px,100%);margin:12px auto 0;padding:14px;display:grid}.voice-panel h2,.voice-panel p{margin:0}.voice-panel h2{font-size:18px}.voice-panel p{color:#9ca3af;font-size:14px}.voice-panel label{color:#cbd5e1;align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.voice-panel button{min-height:44px;padding:0 18px;font-weight:800}.voice-panel button.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 24%, #ffffff14)}.voice-panel select{color:#111827;background:#fff;min-height:40px;padding:0 10px}.control-strip label{color:#cbd5e1;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.tempo-stack{gap:8px;display:grid}.control-strip input{width:100%;accent-color:var(--kit-color)}.control-strip select{color:#111827;background:#fff;min-height:40px;padding:0 10px}.metronome-toggle{white-space:nowrap;justify-content:center;align-items:center;gap:10px;display:inline-flex}.metronome-dots{align-items:center;gap:4px;display:inline-flex}.metronome-dots i{background:#ffffff47;border-radius:999px;width:7px;height:7px}.metronome-dots i.active{background:var(--kit-color);box-shadow:0 0 12px var(--kit-color)}.workspace{grid-template-columns:280px 1fr;gap:18px;margin-top:18px;display:grid}.workspace>*{min-width:0}.kit-panel,.timeline{background:#0307128f;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 20px 50px #00000040}.kit-panel{flex-direction:column;height:300px;min-height:0;padding:18px;display:flex}.kit-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.kit-panel-head span{color:#94a3b8;font-size:13px;font-weight:800}.mode-switch{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px;padding:4px;display:grid}.mode-switch button{min-height:34px;padding:0 8px;font-size:12px;font-weight:900}.mode-switch button.active{border-color:var(--kit-color);color:#0b0d13;background:var(--kit-color)}.kit-search{color:#cbd5e1;gap:8px;margin-top:16px;font-size:13px;font-weight:800;display:grid}.kit-search input{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;width:100%;min-height:42px;padding:0 12px}.kit-search input::placeholder{color:#6b7280}.kit-list{overscroll-behavior:contain;scrollbar-color:var(--kit-color) #ffffff14;scrollbar-width:thin;gap:10px;min-height:0;margin-top:16px;padding-right:6px;display:grid;overflow-y:auto}.kit-list::-webkit-scrollbar{width:8px}.kit-list::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.kit-list::-webkit-scrollbar-thumb{background:var(--kit-color);border-radius:999px}.kit{text-align:left;gap:3px;padding:14px;display:grid}.kit.active{background:color-mix(in srgb, var(--kit-color) 22%, #ffffff14);border-color:var(--kit-color)}.kit span{font-weight:900}.kit small{color:#9ca3af}.empty-kits{color:#9ca3af;border:1px dashed #ffffff2e;border-radius:8px;margin:0;padding:14px;font-size:14px}.performance-panel{align-self:start;gap:8px;min-width:0;display:grid}.pad-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pad-actions span{color:#cbd5e1;font-size:14px;font-weight:900}.pad-actions button{align-items:center;gap:10px;min-height:40px;padding:0 18px;font-weight:900;display:inline-flex}.pad-actions button kbd{min-width:24px;padding:4px 6px;font-size:11px}.record-button{justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-weight:900;display:inline-flex}.record-button kbd{min-width:24px;padding:4px 6px;font-size:11px}.layout-switch{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-wrap:wrap;gap:6px;max-width:100%;padding:4px;display:inline-flex}.layout-switch button{min-height:32px;padding:0 10px;font-size:12px}.layout-switch button.active{border-color:var(--kit-color);color:#0b0d13;background:var(--kit-color)}.octave-switch{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:4px;display:inline-flex}.octave-switch button{min-height:32px;padding:0 10px;font-size:12px;font-weight:900}.octave-switch button:disabled{cursor:not-allowed;opacity:.45}.octave-switch span{color:#fff;text-align:center;min-width:54px;font-size:12px;font-weight:950}.pad-grid{grid-template-columns:repeat(4,minmax(120px,1fr));align-content:start;gap:10px;display:grid}.pad{text-align:left;background:linear-gradient(150deg,#ffffff24,#ffffff0a),#151926;flex-direction:column;justify-content:space-between;min-height:112px;padding:16px;display:flex;box-shadow:inset 0 -12px 28px #00000040,0 16px 36px #0000002e}.basic-drum{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:repeat(4,minmax(92px,1fr));align-content:start;justify-items:center;gap:10px;padding:12px;display:grid}.circle-pad{aspect-ratio:1;text-align:center;background:radial-gradient(circle at 35% 28%, #ffffff38, transparent 34%), color-mix(in srgb, var(--kit-color) 22%, #151926);border-radius:999px;align-content:center;place-items:center;gap:10px;width:min(116px,100%);display:grid;box-shadow:inset 0 -16px 28px #0000004d,0 16px 36px #0003}.circle-pad.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 48%, #151926);box-shadow:0 0 36px color-mix(in srgb, var(--kit-color) 58%, transparent);transform:scale(.97)}.circle-pad span{color:#fff;max-width:92px;font-size:16px;font-weight:950;line-height:1.05}.piano{background:linear-gradient(#ffffff14,#0000 38%),#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:repeat(13,minmax(42px,1fr));align-items:end;gap:6px;min-height:248px;padding:12px;display:grid}.piano-key{align-content:end;justify-items:center;gap:8px;min-width:0;padding:12px 6px;display:grid;box-shadow:inset 0 -14px 24px #00000038,0 14px 30px #00000038}.piano-key.natural{color:#111827;background:linear-gradient(#fff,#dbeafe);height:220px}.piano-key.sharp{color:#fff;background:linear-gradient(#1f2937,#05070b);height:148px}.piano-key.active{border-color:var(--kit-color);box-shadow:0 0 30px color-mix(in srgb, var(--kit-color) 58%, transparent);transform:translateY(3px)}.piano-key span{font-size:18px;font-weight:950}.piano-key small{opacity:.72;font-size:12px;font-weight:900}.guitar{background:linear-gradient(#ffffff14,#0000 42%),#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:14px;padding:12px;display:grid}.guitar-neck{background:repeating-linear-gradient(90deg,#0000 0 15%,#ffffff24 15% calc(15% + 2px),#0000 calc(15% + 2px) 20%),linear-gradient(90deg,#2f1f16,#5f3924);border-radius:8px;gap:12px;padding:18px 16px;display:grid;box-shadow:inset 0 0 26px #00000057}.guitar-neck span{background:linear-gradient(90deg,#d1d5db,#f8fafc,#9ca3af);border-radius:999px;height:3px;box-shadow:0 2px 7px #00000073}.ukulele-neck{background:repeating-linear-gradient(90deg,#0000 0 15%,#ffffff24 15% calc(15% + 2px),#0000 calc(15% + 2px) 20%),linear-gradient(90deg,#6b3f1f,#a16207)}.guitar-chords{grid-template-columns:repeat(6,minmax(76px,1fr));gap:10px;display:grid}.guitar-chord{background:radial-gradient(circle at 50% 18%, #fff3, transparent 32%), color-mix(in srgb, var(--kit-color) 18%, #151926);align-content:center;justify-items:center;gap:8px;min-height:126px;padding:12px 8px;display:grid;box-shadow:inset 0 -16px 28px #00000047,0 16px 34px #0003}.guitar-chord.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 44%, #151926);box-shadow:0 0 34px color-mix(in srgb, var(--kit-color) 58%, transparent);transform:translateY(3px)}.guitar-chord span{color:#fff;font-size:24px;font-weight:950}.guitar-chord small{color:#cbd5e1;font-size:12px;font-weight:900}.reed-instrument{background:linear-gradient(#ffffff14,#0000 42%),#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:14px;padding:12px;display:grid}.instrument-art{border-radius:8px;min-height:92px;box-shadow:inset 0 0 28px #00000057}.accordion-art{background:repeating-linear-gradient(90deg,#0000 0 12px,#ffffff29 12px 14px),linear-gradient(90deg,#451a03,#b45309,#451a03);grid-template-columns:72px 1fr 72px;gap:10px;padding:14px;display:grid}.accordion-art span{background:radial-gradient(circle, #ffffff4d 0 12%, transparent 13%), color-mix(in srgb, var(--kit-color) 24%, #151926);border-radius:8px}.harmonica-art{background:linear-gradient(#d1d5db,#475569 54%,#111827);grid-template-columns:repeat(8,1fr);gap:8px;padding:16px;display:grid}.harmonica-art span{background:#05070b;border-radius:6px;box-shadow:inset 0 4px 8px #ffffff29}.flute-art{background:linear-gradient(#0000 calc(50% - 8px),#dbeafe calc(50% - 8px) calc(50% + 8px),#0000 calc(50% + 8px)),linear-gradient(90deg,#64748b,#e0f2fe,#64748b);grid-template-columns:repeat(8,1fr);align-items:center;gap:12px;padding:18px;display:grid}.flute-art span{aspect-ratio:1;background:#111827;border-radius:999px;box-shadow:inset 0 2px 5px #ffffff42}.bassoon-art{background:linear-gradient(#0000 calc(50% - 10px),#7c2d12 calc(50% - 10px) calc(50% + 10px),#0000 calc(50% + 10px)),linear-gradient(90deg,#292524,#92400e 34%,#451a03 72%,#111827);grid-template-columns:1.3fr repeat(6,1fr) .72fr;align-items:center;gap:8px;padding:18px;display:grid}.bassoon-art span{background:radial-gradient(circle,#fef3c7 0 18%,#0000 19%),#1f2937;border-radius:999px;height:34px;box-shadow:inset 0 3px 7px #ffffff2e}.xylophone-art{background:linear-gradient(#0000 calc(50% - 3px),#d1d5db calc(50% - 3px) calc(50% + 3px),#0000 calc(50% + 3px)),linear-gradient(135deg,#111827,#1f2937);grid-template-columns:repeat(8,1fr);align-items:end;gap:8px;padding:16px;display:grid}.xylophone-art span{background:linear-gradient(#fef08a,#f97316);border-radius:8px;box-shadow:inset 0 5px 10px #ffffff38,0 8px 18px #00000047}.xylophone-art span:first-child{height:72px}.xylophone-art span:nth-child(2){height:68px}.xylophone-art span:nth-child(3){height:64px}.xylophone-art span:nth-child(4){height:60px}.xylophone-art span:nth-child(5){height:56px}.xylophone-art span:nth-child(6){height:52px}.xylophone-art span:nth-child(7){height:48px}.xylophone-art span:nth-child(8){height:44px}.harp-art{background:radial-gradient(circle at 10% 90%,#7c2d12 0 18%,#0000 19%),linear-gradient(100deg,#451a03 0 18%,#fbbf24 19% 24%,#0000 25%),linear-gradient(90deg,#92400e,#fef3c7,#92400e);grid-template-columns:repeat(8,1fr);align-items:stretch;gap:10px;padding:14px 20px;display:grid}.harp-art span{background:linear-gradient(#f8fafc,#cbd5e1,#f8fafc);border-radius:999px;box-shadow:0 0 8px #ffffff42}.voice-art{background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--kit-color) 34%, transparent), transparent 28%), linear-gradient(135deg, #3b0764, #be185d 52%, #111827);grid-template-columns:repeat(8,1fr);align-items:center;gap:10px;padding:16px;display:grid}.voice-art span{aspect-ratio:1;color:#fff;background:radial-gradient(circle at 50% 62%, #111827 0 18%, transparent 19%), color-mix(in srgb, var(--kit-color) 30%, #151926);text-transform:uppercase;border-radius:999px;place-items:center;font-size:11px;font-weight:950;display:grid}.choir-art span{background:radial-gradient(circle at 50% 34%, #ffffff3d, transparent 24%), color-mix(in srgb, var(--kit-color) 22%, #1e1b4b)}.instrument-notes{grid-template-columns:repeat(8,minmax(58px,1fr));gap:10px;display:grid}.instrument-note{background:radial-gradient(circle at 50% 18%, #ffffff38, transparent 32%), color-mix(in srgb, var(--kit-color) 18%, #151926);align-content:center;justify-items:center;gap:8px;min-height:118px;padding:12px 8px;display:grid;box-shadow:inset 0 -16px 28px #00000047,0 16px 34px #0003}.instrument-note.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 44%, #151926);box-shadow:0 0 34px color-mix(in srgb, var(--kit-color) 58%, transparent);transform:translateY(3px)}.instrument-note span{color:#fff;font-size:22px;font-weight:950}.instrument-note small{color:#cbd5e1;font-size:12px;font-weight:900}.violin{background:linear-gradient(#ffffff14,#0000 42%),#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:14px;padding:12px;display:grid}.violin-strings{background:radial-gradient(circle at 50% 110%,#5f3924,#0000 42%),linear-gradient(90deg,#17110d,#3b2418,#17110d);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:10px;min-height:86px;padding:14px;display:grid;box-shadow:inset 0 0 26px #00000061}.violin-strings span{color:#f8fafc;background:linear-gradient(90deg,#0000 calc(50% - 1px),#e5e7eb calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));border-radius:999px;place-items:end center;font-size:12px;font-weight:950;display:grid}.violin-notes{grid-template-columns:repeat(8,minmax(58px,1fr));gap:10px;display:grid}.violin-note{background:radial-gradient(circle at 50% 18%, #fff3, transparent 32%), color-mix(in srgb, var(--kit-color) 18%, #151926);align-content:center;justify-items:center;gap:8px;min-height:118px;padding:12px 8px;display:grid;box-shadow:inset 0 -16px 28px #00000047,0 16px 34px #0003}.violin-note.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 44%, #151926);box-shadow:0 0 34px color-mix(in srgb, var(--kit-color) 58%, transparent);transform:translateY(3px)}.violin-note span{color:#fff;font-size:22px;font-weight:950}.violin-note small{color:#cbd5e1;font-size:12px;font-weight:900}.trumpets{background:linear-gradient(#ffffff14,#0000 42%),#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:14px;padding:12px;display:grid}.trumpet-horns{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--kit-color) 28%, transparent), transparent 36%), linear-gradient(90deg, #4a2f09, #b7791f, #4a2f09);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:14px;min-height:92px;padding:16px;display:grid;box-shadow:inset 0 0 28px #00000057}.trumpet-horns span{background:radial-gradient(circle at 78%,#fde68a 0 16%,#b45309 17% 34%,#0000 35%),linear-gradient(90deg,#facc15 0 68%,#0000 69%);border-radius:999px;display:block;box-shadow:0 8px 18px #00000047}.trombone-slide{grid-template-columns:1.35fr .65fr}.trombone-slide span{background:radial-gradient(circle at 88%,#fde68a 0 12%,#b45309 13% 26%,#0000 27%),linear-gradient(90deg,#facc15 0 84%,#0000 85%)}.trumpet-notes{grid-template-columns:repeat(8,minmax(58px,1fr));gap:10px;display:grid}.trumpet-note{background:radial-gradient(circle at 50% 18%,#ffffff3d,#0000 32%),#474022;align-content:center;justify-items:center;gap:8px;min-height:118px;padding:12px 8px;display:grid;box-shadow:inset 0 -16px 28px #00000047,0 16px 34px #0003}.trumpet-note.active{border-color:var(--kit-color);background:#8c761d;transform:translateY(3px);box-shadow:0 0 34px #facc1594}.trombone-note{background:radial-gradient(circle at 50% 18%,#ffffff38,#0000 32%),#3b3521}.trombone-note.active{background:#776018}.trumpet-note span{color:#fff;font-size:22px;font-weight:950}.trumpet-note small{color:#cbd5e1;font-size:12px;font-weight:900}.pad.active{border-color:var(--kit-color);background:color-mix(in srgb, var(--kit-color) 35%, #151926);box-shadow:0 0 34px color-mix(in srgb, var(--kit-color) 55%, transparent);transform:translateY(2px)scale(.99)}.pad span{font-size:22px;font-weight:950}kbd{color:#111827;width:fit-content;min-width:30px;font:800 13px/1 var(--mono);text-align:center;background:#f8fafc;border-radius:6px;padding:4px 8px}.timeline{margin-top:18px;padding:18px}.timeline-head{color:#9ca3af;justify-content:space-between;gap:16px;display:flex}.lanes{gap:8px;margin-top:16px;display:grid}.lane{color:#cbd5e1;grid-template-columns:88px 1fr;align-items:center;gap:12px;font-size:13px;font-weight:800;display:grid}.lane div{background:repeating-linear-gradient(90deg,#ffffff1a 0 1px,#0000 1px 6.25%),#ffffff0f;border-radius:7px;height:28px;position:relative;overflow:hidden}.lane i{background:var(--kit-color);width:10px;height:18px;box-shadow:0 0 18px var(--kit-color);border-radius:999px;position:absolute;top:5px}.lane b{z-index:1;background:#fff;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 14px #ffffffc7}.hit-tiles{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.hit-tiles button{border-color:color-mix(in srgb, var(--kit-color) 44%, #ffffff24);background:color-mix(in srgb, var(--kit-color) 16%, #ffffff14);align-items:center;gap:8px;min-height:36px;padding:0 10px 0 12px;display:inline-flex}.hit-tiles span{font-weight:900}.hit-tiles small{color:#cbd5e1;font-weight:800}.hit-tiles strong{color:#0b0d13;background:#fff;border-radius:999px;place-items:center;width:20px;height:20px;line-height:1;display:grid}.empty-hits{color:#9ca3af;border:1px dashed #ffffff2e;border-radius:8px;width:100%;margin:0;padding:12px;font-size:14px}.instructions{text-align:left;background:#0307126b;border:1px solid #ffffff1a;border-radius:8px;width:min(1180px,100%);margin:18px auto 0;padding:18px}.instructions h2{margin:0 0 12px;font-size:18px}.instructions ul{color:#cbd5e1;gap:8px;margin:0;padding-left:20px;font-size:14px;display:grid}@media (width<=900px){.studio{padding:18px 18px 96px}.topbar,.timeline-head{flex-direction:column;align-items:stretch}.control-strip,.voice-panel,.workspace{grid-template-columns:1fr}.record-button{color:#fff;background:#ef4444;border-radius:8px;width:100%;min-height:56px;padding:0 18px;box-shadow:0 12px 28px #00000047}.record-button span{font-size:14px;line-height:1}.record-button kbd{display:none}.kit-panel{height:min(300px,50svh)}.pad-grid{grid-template-rows:repeat(4,minmax(0,auto));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pad{min-height:clamp(76px,17svh,104px);padding:12px}.basic-drum{grid-template-rows:repeat(4,minmax(0,auto));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.circle-pad{width:min(104px,100%)}.piano{grid-template-columns:repeat(7,minmax(38px,1fr));min-height:auto}.piano-key.natural,.piano-key.sharp{height:132px}.guitar-chords{grid-template-columns:repeat(2,minmax(0,1fr))}.guitar-chord{min-height:112px}.instrument-notes{grid-template-columns:repeat(4,minmax(0,1fr))}.instrument-note{min-height:96px}.violin-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.violin-note{min-height:104px}.trumpet-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.trumpet-note{min-height:104px}}
