:root{--lilac:#cbb6ec;--cream:#fff5e7;--ink:#211b3b;--lime:#d9ff4a;--pink:#ff48b4;--blue:#3158ff;--orange:#ff9b39}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.instrument{overflow:hidden}.stage{position:relative;min-height:660px;display:flex;flex-direction:column;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,#eed2f7 0,#d8c3ee 42%,#a792d8 100%)}.stage:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.33;background:radial-gradient(circle at 13% 80%,#fff 0 2px,transparent 3px),radial-gradient(circle at 73% 20%,#fff 0 2px,transparent 3px);background-size:53px 53px,83px 83px}.mast{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px clamp(20px,3.2vw,52px)}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:clamp(19px,2.5vw,31px);font-weight:1000;letter-spacing:-.07em}.brand-dot{width:20px;height:20px;border-radius:45% 55% 53% 47%;background:var(--lime);box-shadow:4px 2px 0 var(--pink),inset -4px -4px 3px #567306}.mast-code{display:flex;gap:20px;align-items:center;font-size:10px;font-weight:900;letter-spacing:.16em}.mast-code span{padding:8px 10px;border:1px solid currentColor}.stage-heading{text-align:center;padding:15px 20px 0}.overline{font-size:10px;font-weight:900;letter-spacing:.22em}.stage-heading h1{margin:14px 0 9px;font-size:clamp(48px,6.2vw,100px);font-weight:1000;line-height:.91;letter-spacing:-.09em;text-transform:uppercase}.stage-heading h1 em{font-style:normal;color:var(--blue)}.stage-heading p{max-width:550px;margin:0 auto;font-size:14px;line-height:1.45;font-weight:600}.sound-stage{width:min(100%,1320px);flex:1;align-self:center;display:flex;align-items:center;justify-content:space-around;gap:clamp(5px,2vw,30px);padding:10px clamp(18px,4vw,70px) 0}.sound-object{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;width:min(30%,350px);min-height:280px;padding:0;border:0;background:transparent;color:var(--ink);transition:transform .18s ease;touch-action:manipulation}.sound-object img{display:block;width:100%;height:clamp(170px,21vw,310px);object-fit:contain;filter:drop-shadow(0 28px 18px #34295638);pointer-events:none;user-select:none}.sound-object span{display:flex;align-items:center;justify-content:space-between;gap:8px;width:min(100%,230px);min-height:35px;padding:5px 0;border-top:1px solid #211b3b6b;font-size:10px;letter-spacing:.08em}.sound-object small{font-size:9px}.sound-object:hover{transform:translateY(-9px) rotate(-2deg)}.sound-object.hit{transform:translateY(13px) scale(.91,1.05)}.sound-object:focus-visible{border-radius:20px;outline-color:var(--ink)}.stage-floor{display:flex;align-items:center;gap:20px;padding:17px clamp(20px,3.2vw,52px) 19px;font-size:9px;font-weight:900;letter-spacing:.12em}.floor-line{flex:1;height:1px;background:#211b3b70}.console{position:relative;padding:36px clamp(18px,4vw,64px) 30px;border-top:3px solid var(--ink);border-radius:35px 35px 0 0;margin-top:-20px;background:var(--ink);color:var(--cream);box-shadow:0 -17px 24px #30235432}.console-top{display:flex;justify-content:space-between;align-items:end;gap:25px}.console h2{margin:10px 0 0;font-size:clamp(28px,4vw,53px);line-height:1;letter-spacing:-.06em}.console h2 span{color:var(--pink);margin-left:13px}.transport{display:flex;gap:8px;flex-wrap:wrap}.transport button,.edit-tools button{min-height:42px;padding:10px 16px;border:1px solid #fff8;border-radius:12px;background:none;color:var(--cream);font-size:11px;font-weight:900;letter-spacing:.06em}.transport .play{min-width:114px;border:0;background:var(--lime);color:var(--ink)}.transport button:hover,.edit-tools button:hover{background:#fff2}.transport .play:hover{background:#c6ef30}.pocket-bar{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:31px;padding:15px 0;border-block:1px solid #fff5}.pocket-label{display:flex;flex-direction:column;gap:3px;min-width:150px}.pocket-label strong{font-size:11px;letter-spacing:.12em}.pocket-label span{font-size:11px;color:#d8d1e6}.pockets{display:flex;gap:7px;flex:1}.pocket{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:93px;padding:9px 11px;border:1px solid #fff7;border-radius:10px;background:#fff1;color:var(--cream);font-size:10px;font-weight:900;letter-spacing:.08em}.pocket b{font-size:15px}.pocket[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:var(--ink)}.pattern-id{font-size:10px;letter-spacing:.12em;color:#dfd4ef}.pattern-id code{display:block;margin-top:3px;color:var(--lime);font-size:13px;letter-spacing:.12em}.sequence-area{margin-top:23px}.sequence-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.sequence-head>div:first-child{display:flex;align-items:baseline;gap:14px}.sequence-head strong{font-size:11px;letter-spacing:.13em}.sequence-head span{font-size:11px;color:#d9d2e6}.edit-tools{display:flex;gap:7px}.edit-tools button{min-height:34px;padding:7px 10px;border-radius:8px;font-size:10px}.sequence-scroll{overflow-x:auto;padding-bottom:8px}.cursor-ruler,.grid{display:grid;grid-template-columns:86px repeat(8,minmax(46px,1fr));gap:7px;min-width:510px}.cursor-ruler{margin-top:18px;margin-bottom:7px}.cursor-ruler:before{content:"STEP →";align-self:center;color:#d6c9e6;font-size:9px;font-weight:900;letter-spacing:.1em}.step-pick{height:27px;border:1px solid #ffffff43;border-radius:6px;background:none;color:#d9d2e6;font-size:10px;font-weight:900}.step-pick[aria-pressed=true]{background:var(--cream);color:var(--ink)}.step-pick.playing{border-color:var(--lime);box-shadow:inset 0 0 0 2px var(--lime)}.grid .track-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.08em}.track-label:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime)}.track-label.snap:before{background:var(--blue)}.track-label.tick:before{background:var(--orange)}.cell{height:43px;border:1px solid #fff6;border-radius:9px;background:#ffffff0e;transition:transform .12s,background .12s}.cell:hover{transform:scale(1.05);background:#fff3}.cell.on{background:var(--lime);border-color:var(--lime);box-shadow:inset 0 -5px 0 #0002}.cell.snap.on{background:var(--blue);border-color:var(--blue)}.cell.tick.on{background:var(--orange);border-color:var(--orange)}.cell.playing{outline:2px solid var(--cream);outline-offset:2px}.sliders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:29px;padding-top:24px;border-top:1px solid #fff5}.sliders label{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:900;letter-spacing:.11em}.sliders label span{display:flex;align-items:baseline;gap:5px}.sliders output{margin-left:auto;color:var(--lime);font-size:23px;letter-spacing:-.04em}.sliders small{color:#d4c9e7;font-size:9px}.sliders input{width:100%;accent-color:var(--pink)}.status{margin:20px 0 0;min-height:16px;color:#e0d9ea;font-size:11px;line-height:1.4}.liner-notes{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:28px clamp(18px,4vw,64px) 40px;background:#151127;color:var(--cream)}.liner-notes details{max-width:780px}.liner-notes summary{list-style:none;cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.12em}.liner-notes summary::-webkit-details-marker{display:none}.liner-notes summary span{margin-left:10px;color:var(--pink)}.liner-notes p{font-size:12px;line-height:1.6;color:#ded6eb}.liner-notes>div{display:flex;flex-direction:column;gap:5px;text-align:right;white-space:nowrap}.liner-notes>div strong{font-size:17px;letter-spacing:-.05em}.liner-notes>div span{font-size:9px;letter-spacing:.1em}
@media(max-width:850px){.stage{min-height:620px}.mast-code span{display:none}.console-top{display:block}.transport{margin-top:19px}.pocket-bar{gap:12px}.pocket-label{min-width:100%}.pattern-id{margin-left:auto}.sound-object{min-height:230px}.sound-object img{height:clamp(150px,28vw,240px)}}
@media(max-width:600px){.stage{min-height:570px}.mast{padding:17px}.mast-code{font-size:8px}.stage-heading{padding-top:24px}.stage-heading h1{font-size:clamp(45px,11vw,65px)}.stage-heading p{font-size:12px}.sound-stage{align-items:center;padding:0 7px;gap:0}.sound-object{width:33%;min-height:200px}.sound-object img{height:clamp(115px,30vw,180px)}.sound-object span{display:block;text-align:center;line-height:1.5}.sound-object small{display:none}.stage-floor{padding:12px 15px;font-size:7px}.console{padding:28px 16px;border-radius:25px 25px 0 0}.transport button{flex:1;padding:10px 9px}.pockets{width:100%;flex-wrap:wrap}.pocket{flex:1;min-width:66px}.pattern-id{margin:0}.sequence-head{align-items:start;flex-direction:column;gap:11px}.sequence-head>div:first-child{display:block}.sequence-head span{display:block;margin-top:4px}.edit-tools{width:100%}.edit-tools button{flex:1}.sliders{grid-template-columns:1fr;gap:16px}.sliders label{flex-direction:row;align-items:center}.sliders label span{min-width:125px}.sliders input{flex:1}.liner-notes{display:block}.liner-notes>div{margin-top:28px;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.signal-ports{display:flex;align-items:center;gap:8px}.signal-ports>span{margin-right:7px;white-space:nowrap}.signal-ports a{display:flex;align-items:center;gap:7px;min-height:29px;padding:3px 8px;border:1px solid var(--ink);border-radius:20px;color:var(--ink);text-decoration:none;background:#fff3;white-space:nowrap}.signal-ports a:hover{background:var(--lime);transform:translateY(-2px)}.signal-ports a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.signal-ports b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--cream);font-size:8px}.signal-ports small{font-size:8px;letter-spacing:.08em}@media(max-width:600px){.signal-ports>span,.signal-ports small{display:none}.signal-ports a{padding:2px}.signal-ports b{min-width:24px;height:24px;font-size:9px}.stage-floor{gap:7px}}
