.app-page{--cream-deep:#f3e4bf;--navy-soft:#9aa6cf;flex-direction:column;gap:64px;display:flex}.app-page h2,.app-page h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.app-hero{text-align:center;padding:32px 0 0}.app-hero h1{overflow-wrap:anywhere;margin:0;font-size:clamp(44px,10vw,84px)}.app-hero__lead{font-family:var(--font-display);color:var(--red-ink);max-width:640px;margin:12px auto 0;font-size:clamp(22px,4vw,30px);line-height:1.3}.app-hero__body{max-width:640px;margin:20px auto 0}.versions{flex-wrap:wrap;justify-content:center;gap:16px;margin:32px 0 0;display:flex}.versions__item{border:3px solid var(--navy);min-width:200px;box-shadow:4px 4px 0 var(--navy);background:#fff;border-radius:16px;padding:12px 20px}.versions__item--dev{background:var(--yellow)}.versions dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:13px}.versions dd{flex-direction:column;margin:0;display:flex}.versions dd strong{font-family:var(--font-display);font-size:30px;font-weight:400;line-height:1.2}.versions dd span{font-size:15px}.app-hero__actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;display:flex}.soon-button{border:3px dashed var(--navy);background:var(--cream);min-height:56px;color:var(--navy);font-family:var(--font-display);cursor:not-allowed;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;padding:8px 22px;font-size:17px;display:inline-flex}.soon-button__badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:var(--cream);border-radius:999px;padding:2px 10px;font-size:12px}.app-hero__req{font-family:var(--font-mono);margin:16px 0 0;font-size:14px}.app-section__head{margin-bottom:20px}.app-section__label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--red-ink);margin:0;font-size:13px}.app-section__head h2{margin:4px 0 0;font-size:clamp(26px,5vw,34px)}.app-section__intro{margin:0 0 24px}.app-subhead{margin:40px 0 16px;font-size:24px}.shots{gap:24px;display:grid}@media (min-width:640px){.shots{grid-template-columns:1fr 1fr}}.shot{margin:0}.shot__frame{aspect-ratio:16/10;border:4px solid var(--navy);box-shadow:var(--shadow);background:var(--cream-deep);border-radius:16px;place-items:center;display:grid;overflow:hidden}.shot:first-child .shot__frame{background:var(--navy)}.shot__frame img{object-fit:cover;width:100%;height:100%}.shot__placeholder{font-family:var(--font-mono);text-align:center;padding:0 16px;font-size:14px}.shot:first-child .shot__placeholder{color:var(--cream)}.shot figcaption{font-family:var(--font-mono);text-align:center;margin-top:14px;font-size:14px}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px;display:grid}.tile{border:3px solid var(--navy);box-shadow:5px 5px 0 var(--navy);background:#fff;border-radius:16px;padding:20px}.tile--yellow{background:var(--yellow)}.tile--dev{background:var(--cream);box-shadow:none;border-style:dashed}.tile h3{margin:0 0 8px;font-size:20px}.tile p{margin:0;font-size:16px;line-height:1.65}.tile .badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:var(--cream);border-radius:999px;margin:0 0 10px;padding:2px 10px;font-size:12px;line-height:1.5;display:inline-block}.devices{flex-direction:column;gap:32px;display:flex}.device{border:4px solid var(--navy);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:24px clamp(16px,4vw,32px)}.device h3{margin:0;font-size:24px}.device__role{margin:4px 0 20px}.device__note{margin:16px 0 0;font-size:15px}.diagram-scroll{padding:2px 2px 8px;overflow-x:auto}.hw{background:var(--cream-deep);border:3px solid var(--navy);border-radius:14px;margin:0 auto;padding:14px}.swatch--teal{background:var(--teal)}.swatch--yellow{background:var(--yellow)}.swatch--red{background:var(--red)}.swatch--navy{background:var(--navy)}.swatch--white,.swatch--off{background:#fff}.swatch--soft{background:var(--navy-soft)}.hw--mpd{grid-template-columns:30% 1fr;align-items:center;gap:16px;min-width:260px;max-width:420px;display:grid}.mpd__knobs{grid-template-columns:1fr 1fr;gap:12px 10px;display:grid}.hw-knob{aspect-ratio:1;border:2px solid var(--navy);border-radius:50%;position:relative}.hw-knob:after{content:"";background:var(--navy);border-radius:2px;width:3px;height:38%;position:absolute;top:8%;left:calc(50% - 1.5px)}.mpd__pads{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.hw-pad{aspect-ratio:1;border:2px solid var(--navy);font-family:var(--font-mono);color:var(--navy);border-radius:6px;place-items:center;font-size:13px;display:grid}.hw--apc{grid-template-columns:repeat(9,1fr);column-gap:5px;min-width:280px;max-width:460px;display:grid}.apc__group{font-family:var(--font-mono);text-align:center;border-bottom:2px solid var(--navy);margin-bottom:6px;font-size:13px}.apc__group--a{grid-column:1/span 4}.apc__group--b{grid-column:5/span 4}.apc__grid{flex-direction:column;grid-column:1/-1;gap:5px;display:flex}.apc__row{grid-template-columns:repeat(9,1fr);align-items:center;gap:5px;display:grid}.hw-cell{aspect-ratio:1;border:1.5px solid var(--navy);border-radius:3px}.hw-button{aspect-ratio:2;border:1.5px solid var(--navy);border-radius:3px}.hw-button--round{aspect-ratio:1;border-radius:50%;justify-self:center;width:70%}.hw-button--shift{aspect-ratio:auto;font-family:var(--font-mono);background:#fff;place-items:center;font-size:10px;line-height:1.6;display:grid}.apc__row--buttons,.apc__row--faders{margin-top:6px}.hw-fader{border:1.5px solid var(--navy);border-radius:3px;justify-self:center;width:40%;height:64px;position:relative}.hw-fader__cap{background:var(--navy);border-radius:2px;height:12px;position:absolute;top:38%;left:-60%;right:-60%}.hw--key{grid-template-columns:52px 1fr;align-items:center;gap:14px;min-width:300px;max-width:560px;display:grid}.key__controls{flex-direction:column;align-items:center;gap:8px;display:flex}.key__octave{grid-template-columns:1fr 1fr;gap:4px;width:100%;display:grid}.key__controls>.hw-button{width:60%}.hw-stick{border:2px solid var(--navy);border-radius:50%;width:30px;height:30px}.key__keys{height:96px;display:flex;position:relative}.key__white{border:1.5px solid var(--navy);border-radius:0 0 4px 4px;flex:1;margin-left:-1.5px}.key__white:first-child{margin-left:0}.key__black{background:var(--navy);border-radius:0 0 3px 3px;width:4%;height:58%;position:absolute;top:0;transform:translate(-50%)}.legend{margin-top:20px}.legend__title{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin:0 0 8px;font-size:13px;font-weight:500}.legend ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.legend li{gap:12px;font-size:15px;line-height:1.6;display:flex}.legend__swatch{border:2px solid var(--navy);border-radius:5px;flex-shrink:0;width:20px;height:20px;margin-top:2px}.flow,.flow__branches{margin:0;padding:0;list-style:none}.flow{flex-direction:column;align-items:center;display:flex}.flow__step{flex-direction:column;align-items:center;width:100%;display:flex}.flow__step:not(:last-child):after,.flow__arrow{content:"";background:var(--navy);clip-path:polygon(38% 0,62% 0,62% 58%,100% 58%,50% 100%,0 58%,38% 58%);width:22px;height:30px;margin:4px 0;display:block}.flow__box{text-align:center;border:3px solid var(--navy);width:min(100%,320px);box-shadow:4px 4px 0 var(--navy);background:#fff;border-radius:14px;padding:10px 16px}.flow__box--accent{background:var(--yellow)}.flow__box strong{font-family:var(--font-display);font-size:19px;font-weight:400;line-height:1.3;display:block}.flow__box span{font-family:var(--font-mono);font-size:13px;display:block}.flow__branches{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,560px);display:grid}.flow__branch{flex-direction:column;align-items:center;display:flex}.flow__branch .flow__box{width:100%}.app-columns{gap:32px;display:grid}@media (min-width:720px){.app-columns{grid-template-columns:1fr 1fr}}.check-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.check-list li{padding-left:30px;font-size:16px;line-height:1.6;position:relative}.check-list li:before{content:"";border:2px solid var(--navy);background:var(--teal);border-radius:4px;width:16px;height:16px;position:absolute;top:4px;left:0}.check-list--todo li:before{background:#fff}
