: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}*{box-sizing:border-box}body{min-width:320px;margin:0}.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:1.5fr repeat(7,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}.workspace{grid-template-columns:280px 1fr;gap:18px;margin-top:18px;display:grid}.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;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}.layout-switch{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;gap:6px;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)}.pad-grid{grid-template-columns:repeat(4,minmax(120px,1fr));align-content:start;gap:8px 14px;display:grid}.pad{text-align:left;background:linear-gradient(150deg,#ffffff24,#ffffff0a),#151926;flex-direction:column;justify-content:space-between;height:134px;padding:18px;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(112px,1fr));align-content:start;justify-items:center;gap:14px;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(138px,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}.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}.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}.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}.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}.topbar,.timeline-head{flex-direction:column;align-items:stretch}.control-strip,.voice-panel,.workspace{grid-template-columns:1fr}.kit-panel{height:min(300px,50svh)}.pad-grid,.basic-drum{grid-template-columns:repeat(2,minmax(0,1fr))}.circle-pad{width:min(132px,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}.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}}
