@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";:root{--desk:#3d342c;--desk-lit:#52483f;--chassis:#e6e2d8;--chassis-dark:#c9c4b8;--chassis-edge:#a8a39a;--ink:#2a2824;--ink-muted:#5c574f;--oled-bg:#0c120c;--oled-fg:#7ee87e;--oled-glow:#64ff7873;--btn-face:#d8d3c9;--accent-warm:#c45c3e;--accent-go:#4a7c59}*{box-sizing:border-box}html,body{min-height:100vh;margin:0;overflow-x:hidden}body{color:var(--ink);background:#1a1714;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}html[data-ui-mode=atmospheric] body{background:#050403}.scene{perspective:1200px;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem 3rem;display:flex}.scene__desk{z-index:0;background:radial-gradient(ellipse 90% 60% at 50% 20%, #5a5048 0%, transparent 55%), linear-gradient(165deg, #2a2520 0%, var(--desk) 35%, #2e2822 100%);position:fixed;inset:0}.scene__desk:after{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#0000008c 0%,#0000 70%);height:35%;position:absolute;bottom:8%;left:5%;right:5%}.scene__note{z-index:2;letter-spacing:.04em;text-transform:uppercase;color:#ffffff59;margin:1.25rem 0 0;font-size:.7rem;position:relative}.device{z-index:1;background:linear-gradient(168deg, #f0ece4 0%, var(--chassis) 22%, var(--chassis-dark) 100%);border:1px solid var(--chassis-edge);width:min(960px,98vw);transform-style:preserve-3d;border-radius:22px;padding:1.5rem 1.75rem 1.65rem;position:relative;transform:rotateX(7deg)rotate(-.5deg);box-shadow:inset 0 2px #ffffff80,inset 0 -3px 8px #0000001f,0 28px 50px #0000008c,0 8px 16px #00000059}.device__screw{background:radial-gradient(circle at 35% 35%,#888 0%,#444 55%,#222 100%);border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 1px 2px #0006}.device__screw--tl{top:12px;left:14px}.device__screw--tr{top:12px;right:14px}.device__screw--bl{bottom:12px;left:14px}.device__screw--br{bottom:12px;right:14px}.device__header{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;margin-bottom:.85rem;display:flex;position:relative}.hw-btn--midi{letter-spacing:.08em;padding:.35rem .55rem;font-size:.58rem;position:absolute;top:0;right:0}.hw-midi-dialog__body{flex-direction:column;gap:.65rem;padding:.75rem 1rem 1rem;font-size:.78rem;display:flex}.hw-midi-dialog__status{opacity:.85;margin:0;font-size:.72rem}.hw-midi-dialog__field{flex-direction:column;gap:.25rem;display:flex}.hw-midi-dialog__field select{font:inherit;border:1px solid var(--chassis-edge);border-radius:6px;padding:.35rem}.hw-midi-dialog__check{cursor:pointer;align-items:center;gap:.5rem;display:flex}.hw-midi-dialog__hint{opacity:.7;margin:0;font-size:.65rem}.hw-midi-dialog__enable{align-self:flex-start}.device__brand{letter-spacing:.35em;color:var(--ink-muted);font-size:.72rem;font-weight:700}.device__tagline{letter-spacing:.2em;text-transform:uppercase;color:#8a857c;margin-top:.15rem;font-size:.62rem}.device__section{background:#0000000a;border:1px solid #0000000f;border-radius:14px;margin-bottom:1rem;padding:.75rem .85rem}.device__section-title{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.55rem;font-size:.58rem;font-weight:700;display:block}.device__section--topbar{flex-wrap:wrap;align-items:stretch;gap:.85rem 1rem;padding:.65rem .85rem;display:flex}.device__section--topbar .hw-btn--start{flex-shrink:0;align-self:center;min-width:7rem;padding:.75rem 1rem}.device__section--topbar .hw-oled{flex:14rem;min-width:12rem;margin:0}.device__section--controls{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:.75rem 1rem;padding:.55rem .75rem;display:grid}@media (width<=720px){.device__section--controls{grid-template-columns:1fr}}.device__controls-fill{min-width:0}.device__controls-fill .device__section-title{margin-bottom:.35rem}.device__controls-fill .device__fill-row{flex-wrap:wrap;align-items:flex-end;gap:.45rem .55rem;display:flex}.device__controls-global{min-width:0}.device__knob-grid--global{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:.45rem .55rem;display:grid}.hw-knob--global .hw-knob__housing{width:46px;height:46px}.hw-btn--compact{min-width:4.2rem;padding:.55rem .65rem;font-size:.62rem}.device__section--transport{justify-content:flex-start;align-items:flex-end;gap:1rem;display:flex}.device__section--fill .device__fill-row{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:.85rem 1.1rem;display:flex}.device__section--main{grid-template-columns:1fr minmax(200px,280px);align-items:start;gap:1rem 1.25rem;display:grid}@media (width<=560px){.device__section--main{grid-template-columns:1fr}}.device__knob-grid{grid-template-columns:1fr 1fr;justify-items:center;gap:.65rem 1rem;display:grid}.device__knob-grid .hw-knob__housing{width:52px;height:52px}.hw-btn--start{min-width:8rem}.hw-btn{appearance:none;cursor:pointer;letter-spacing:.12em;color:var(--ink);background:linear-gradient(180deg, #ece8e0 0%, var(--btn-face) 40%, #b8b3a8 100%);border:none;border-radius:10px;min-width:5.5rem;padding:.85rem 1rem;font-family:inherit;font-size:.68rem;font-weight:700;transition:transform 50ms,box-shadow 50ms;box-shadow:0 3px #8a857c,0 6px 12px #0003,inset 0 1px #fffc}.hw-btn:active,.hw-btn--pressed{transform:translateY(2px);box-shadow:0 1px #8a857c,0 2px 4px #0003,inset 0 2px 6px #00000026}.hw-btn--fill.hw-btn--pressed{color:#3a2818;background:linear-gradient(#e8c4a8 0%,#c49a72 100%)}.hw-btn--auto{letter-spacing:.06em;padding:.45rem .35rem;font-size:.58rem}.hw-btn--auto.hw-btn--active{color:#f0f6ff;background:linear-gradient(#c8d8f0 0%,#6a8cb8 50%,#3a5070 100%)}.hw-knob--disabled{opacity:.45;pointer-events:none}.hw-btn--start{background:linear-gradient(180deg, #a8d4b0 0%, var(--accent-go) 45%, #3a5c44 100%);color:#f5fff7;text-shadow:0 1px #00000059;padding:1.15rem 1.5rem;font-size:.8rem;box-shadow:0 4px #2d4534,0 8px 16px #00000040,inset 0 1px #ffffff59}.hw-btn--start.hw-btn--active{background:linear-gradient(180deg, #d4a0a0 0%, var(--accent-warm) 50%, #8a3c2c 100%);box-shadow:0 4px #5c2820,0 8px 16px #00000040,inset 0 1px #ffffff40}.hw-oled{background:linear-gradient(145deg,#3a3834 0%,#1a1917 100%);border-radius:8px;flex:1.1;min-height:5.5rem;padding:6px;position:relative;box-shadow:inset 0 2px 6px #000c,0 1px #ffffff26}.hw-oled__glass{pointer-events:none;z-index:2;background:linear-gradient(135deg,#ffffff1f 0%,#0000 40% 70%,#ffffff0f 100%);border-radius:4px;position:absolute;inset:6px}.hw-oled__screen{background:var(--oled-bg);height:100%;min-height:4.5rem;color:var(--oled-fg);text-shadow:0 0 6px var(--oled-glow);cursor:pointer;border-radius:4px;padding:.5rem .65rem;font-family:Share Tech Mono,Courier New,monospace;font-size:.78rem;position:relative;box-shadow:inset 0 0 20px #002800cc}.hw-oled__screen:hover{box-shadow:inset 0 0 20px #002800cc,inset 0 0 0 1px #7ee87e40}.hw-oled__line{justify-content:space-between;gap:.5rem;margin-bottom:.35rem;display:flex}.hw-oled__title-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:block}.hw-oled__title-btn:hover .hw-oled__line--title{text-underline-offset:3px;text-decoration:underline}.hw-oled__patch-idx{opacity:.75;letter-spacing:.12em;margin-top:.15rem;font-size:.62rem;display:block}.hw-oled__line--title{margin-bottom:.15rem;font-size:.95rem;font-weight:700}.hw-patch-dialog{color:#c8e8c8;background:linear-gradient(165deg,#2a2824 0%,#1a1917 100%);border:none;border-radius:12px;max-width:min(22rem,92vw);max-height:70vh;padding:0;font-family:Share Tech Mono,monospace;box-shadow:0 12px 40px #000000a6}.hw-patch-dialog::backdrop{background:#0000008c}.hw-patch-dialog__chrome{border-bottom:1px solid #7ee87e33;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.hw-patch-dialog__title{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.hw-patch-dialog__close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:1rem}.hw-patch-dialog__list{max-height:55vh;margin:0;padding:.35rem 0;list-style:none;overflow-y:auto}.hw-patch-dialog__item{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;grid-template-rows:auto auto;grid-template-columns:2.2rem 1fr;gap:.1rem .5rem;padding:.45rem .85rem;display:grid}.hw-patch-dialog__item:hover{background:#7ee87e14}.hw-patch-dialog__item--active{background:#7ee87e24}.hw-patch-dialog__num{opacity:.7;grid-row:span 2;align-self:center}.hw-patch-dialog__name{font-weight:700}.hw-patch-dialog__actions{border-top:1px solid #ffffff14;gap:.65rem;padding:.65rem .85rem .85rem;display:flex}.hw-patch-dialog__action{letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;cursor:pointer;text-align:center;background:#00000059;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:.45rem .5rem;font-family:inherit;font-size:.62rem}.hw-patch-dialog__import{justify-content:center;align-items:center;display:flex}.hw-knob--swing{position:relative}.hw-swing-mode{letter-spacing:.08em;cursor:pointer;background:#ffffff80;border:1px solid #0003;border-radius:4px;margin-top:.2rem;padding:.15rem .35rem;font-family:inherit;font-size:.5rem}.hw-patch-dialog__meta{opacity:.65;font-size:.65rem}.hw-oled__line--state{opacity:.85;margin-top:.4rem;font-size:.72rem}.hw-oled__dim{opacity:.65}.hw-knob{flex-direction:column;align-items:center;gap:.25rem;display:flex}.hw-knob__housing{cursor:ns-resize;touch-action:none;background:linear-gradient(145deg,#f2efe8 0%,#b8b2a6 100%);border-radius:50%;width:52px;height:52px;position:relative;box-shadow:0 3px 6px #00000040,inset 0 2px 4px #ffffffb3,inset 0 -2px 4px #0000001f}.hw-knob__housing:active{cursor:ns-resize}.hw-knob__tip{letter-spacing:.04em;white-space:nowrap;color:#f2efe8;pointer-events:none;opacity:0;visibility:hidden;z-index:30;background:#161412f0;border-radius:6px;padding:.22rem .5rem;font-family:Share Tech Mono,ui-monospace,monospace;font-size:.62rem;transition:opacity .1s,visibility .1s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.hw-knob__housing--tip-visible .hw-knob__tip{opacity:1;visibility:visible}.hw-knob__housing--tip-visible .hw-knob__tip:after{content:"";border:5px solid #0000;border-top-color:#161412f0;margin-left:-5px;position:absolute;top:100%;left:50%}.hw-knob--sm .hw-knob__housing{width:40px;height:40px}.hw-knob__dial{z-index:1;pointer-events:none;background:linear-gradient(160deg,#4a4742 0%,#2a2826 100%);border-radius:50%;transition:transform 80ms ease-out;position:absolute;inset:6px;transform:rotate(-135deg);box-shadow:inset 0 1px 2px #ffffff26}.hw-knob__dial:after{content:"";background:#f0ece4;border-radius:2px;width:3px;height:10px;margin-left:-1.5px;position:absolute;top:4px;left:50%;box-shadow:0 0 4px #fff6}.hw-knob__housing input[type=range]{z-index:0;opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.hw-knob__label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.58rem}.hw-knob__readout{color:var(--ink);font-family:Share Tech Mono,monospace;font-size:.65rem}.hw-fader-bay{background:linear-gradient(#d4cfc4 0%,#c5bfb2 100%);border-radius:14px;margin-top:.25rem;padding:.65rem .5rem .85rem;box-shadow:inset 0 3px 8px #0000002e,inset 0 1px #fff6,0 1px #ffffff80}.hw-fader-bay__label{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.5rem;font-size:.58rem}.hw-fader-bay__slots{grid-template-columns:repeat(6,1fr);gap:.35rem;display:grid}.hw-fader{flex-direction:column;align-items:center;gap:.35rem;display:flex}.hw-fader--muted .hw-fader__cap{opacity:.35}.hw-fader__track{background:linear-gradient(90deg,#1a1917 0%,#2e2c28 45%,#1a1917 100%);border-radius:6px;width:28px;height:108px;position:relative;box-shadow:inset 0 2px 6px #000000e6,0 1px #ffffff40}.hw-fader__track:before{content:"";background:repeating-linear-gradient(#3a3834 0 6px,#2a2824 6px 12px);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:8px;bottom:8px;left:50%}.hw-fader__cap{pointer-events:none;background:linear-gradient(180deg, #f5f2ec 0%, var(--voice-color,#c9c4b8) 35%, #6a655c 100%);border-radius:4px;height:22px;transition:bottom 50ms ease-out,opacity .15s;position:absolute;bottom:calc(50% - 11px);left:2px;right:2px;box-shadow:0 2px 4px #00000073,inset 0 1px #ffffffa6}.hw-fader__track input[type=range]{opacity:0;cursor:ns-resize;writing-mode:vertical-lr;direction:rtl;width:100%;height:100%;margin:0;position:absolute;inset:0}.hw-fader__name{text-transform:uppercase;letter-spacing:.06em;text-align:center;color:var(--ink-muted);max-width:3.2rem;font-size:.55rem;line-height:1.15}.device__section--voices{margin-top:.2rem}.hw-voice-matrix{background:linear-gradient(#d4cfc4 0%,#c5bfb2 100%);border-radius:14px;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;padding:.65rem .4rem .75rem;display:grid;box-shadow:inset 0 3px 8px #0000002e,inset 0 1px #fff6,0 1px #ffffff80}@media (width<=820px){.hw-voice-matrix{overscroll-behavior-x:contain;grid-template-columns:repeat(6,minmax(118px,1fr));overflow-x:auto}}.hw-voice-strip{flex-direction:column;align-items:center;gap:.3rem;min-width:0;display:flex}.hw-voice-strip__name{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-align:center;font-size:.52rem;line-height:1.2}.hw-voice-strip__fader .hw-fader__track{width:24px;height:86px}.hw-voice-strip__fader .hw-fader__name{max-width:none;font-size:.5rem}.hw-voice-strip__knobs{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:.12rem .08rem;width:100%;display:grid}.hw-knob--sample{grid-column:1/-1}.hw-voice-strip__fader{margin-top:.15rem}.hw-knob--voice{gap:.12rem}.hw-knob--voice .hw-knob__housing{width:34px;height:34px}.hw-knob--voice .hw-knob__label{letter-spacing:.06em;font-size:.48rem}.beat-viz-mount{z-index:1;width:min(960px,98vw);margin-top:.65rem;position:relative}.beat-viz{background:#0c0e10eb;border:1px solid #ffffff14;border-radius:14px;padding:.65rem .85rem .75rem;font-family:Share Tech Mono,ui-monospace,monospace;box-shadow:0 12px 32px #00000073}.beat-viz__header{justify-content:space-between;align-items:baseline;margin-bottom:.45rem;padding:0 .15rem;display:flex}.beat-viz__title{letter-spacing:.2em;text-transform:uppercase;color:#7ee87ed9;font-size:.62rem}.beat-viz__hint{color:#ffffff59;letter-spacing:.08em;font-size:.55rem}.beat-viz__lanes{--beat-viz-label-col:4.25rem;--beat-viz-track-inset:9px;position:relative}.beat-viz__playhead-rail{top:0;bottom:0;left:calc(var(--beat-viz-label-col) + .5rem + var(--beat-viz-track-inset));right:var(--beat-viz-track-inset);pointer-events:none;z-index:3;position:absolute}.beat-viz__playhead{background:linear-gradient(#0000,#7ee87ef2,#0000);width:2px;margin-left:-1px;transition:opacity .15s;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 10px #7ee87ea6}.beat-viz__row{grid-template-columns:var(--beat-viz-label-col) 1fr;align-items:center;gap:.5rem;min-height:1.35rem;margin-bottom:.28rem;display:grid}.beat-viz__label{text-align:right;color:var(--voice-color);opacity:.9;text-transform:uppercase;letter-spacing:.04em;padding-right:.15rem;font-size:.52rem}.beat-viz__track{background:#00000059;border-radius:4px;height:1.25rem;position:relative;overflow:hidden}.beat-viz__grid{top:0;bottom:0;left:var(--beat-viz-track-inset);right:var(--beat-viz-track-inset);--bar-frac:25%;background:repeating-linear-gradient(90deg, transparent, transparent calc(var(--bar-frac) - 1px), #7ee87e24 calc(var(--bar-frac) - 1px), #7ee87e24 var(--bar-frac));pointer-events:none;position:absolute}.beat-viz__dots{top:0;bottom:0;left:var(--beat-viz-track-inset);right:var(--beat-viz-track-inset);z-index:2;position:absolute}.beat-viz__dot{width:calc(5px + var(--vel,.5) * 11px);height:calc(5px + var(--vel,.5) * 11px);background:var(--voice-color,#aaa);opacity:calc(.45 + var(--vel,.5) * .55);box-shadow:0 0 4px color-mix(in srgb, var(--voice-color) 60%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.beat-viz__dot--accent{opacity:1;box-shadow:0 0 8px color-mix(in srgb, var(--voice-color) 80%, white), 0 0 2px #ffffffe6;outline:1px solid #ffffffbf}.beat-viz__dot--fill{opacity:calc(.55 + var(--vel,.5) * .4);background:0 0;border:2px solid #ffb048eb;box-shadow:0 0 6px #ffa03073,inset 0 0 4px #ffc87840}.beat-viz__dot--fill.beat-viz__dot--accent{border-color:#ffd278;outline:none;box-shadow:0 0 10px #ffb43cb3,inset 0 0 6px #ffdc8c59}@media (width<=480px){.device{padding:1rem;transform:none}.device__row--display{flex-direction:column}.hw-fader__track{height:88px}}:root{--scene-backdrop-url:url(/scene/desk-room.jpg?v=1)}.scene--atmospheric{--lamp-warm:#ffc4788c;--lamp-hot:#ffe4b459;--z-room:0;--z-desk:1;--z-stage:2;--z-dust:4;--z-vignette:5;--z-ui:50;justify-content:flex-end;padding-bottom:4vh;overflow:hidden}.scene--atmospheric .scene__backdrop{z-index:var(--z-room);background-color:#080604;background-image:var(--scene-backdrop-url);background-position:50% 42%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0;transform:scale(1.02)}.scene--atmospheric .scene__ambient{z-index:var(--z-room);pointer-events:none;position:fixed;inset:0}.scene--atmospheric .scene__dust{z-index:var(--z-dust);pointer-events:none;mix-blend-mode:screen;width:100%;height:100%;position:fixed;inset:0}.scene--simple .scene__dust{display:none}.scene--atmospheric .scene__vignette{z-index:var(--z-vignette);pointer-events:none;background:radial-gradient(90% 75% at 50% 45%,#0000 35%,#00000073 100%);position:fixed;inset:0}.scene--atmospheric .scene__desk-objects{width:28%;max-width:220px;height:18vh;z-index:var(--z-desk);pointer-events:none;position:fixed;bottom:8vh;left:4%}.scene--atmospheric .scene__stage{z-index:var(--z-stage);width:min(720px,96vw);transform-style:preserve-3d;filter:drop-shadow(0 28px 40px #000000a6);flex-direction:column;align-items:center;display:flex;position:relative;transform:rotateX(9deg)rotate(-.6deg)}.scene--atmospheric .scene__stage:before{content:"";pointer-events:none;background:radial-gradient(#0000008c 0%,#0000 72%);height:24px;position:absolute;bottom:-12px;left:8%;right:8%;transform:translateZ(-20px)}.scene--atmospheric .device{transform:none;box-shadow:inset 0 2px #ffffff8c,inset 0 -4px 12px #00000026,0 0 0 1px #00000014,0 20px 50px #00000080,-8px 0 24px #ffb4640f,12px 0 32px #00000040}.scene--atmospheric .device:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,#ffe6be1f 0%,#0000 35% 70%,#00000014 100%);position:absolute;inset:0}.scene--atmospheric .beat-viz-mount{filter:drop-shadow(0 12px 20px #0006);margin-top:.85rem}.scene--atmospheric .scene__note{color:#ffdcb447}.scene__ui-toggle{z-index:var(--z-ui,50);letter-spacing:.12em;text-transform:uppercase;color:#ffebd2e0;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14100cb8;border:1px solid #ffffff2e;border-radius:999px;padding:.45rem .7rem;font-family:inherit;font-size:.62rem;font-weight:600;transition:background .2s,border-color .2s;position:fixed;top:1rem;right:1rem;box-shadow:0 4px 20px #00000073}.scene__ui-toggle:hover{background:#282018d9;border-color:#ffc87859}.scene--atmospheric .scene__desk,.scene--simple .scene__backdrop,.scene--simple .scene__ambient,.scene--simple .scene__desk-objects,.scene--simple .scene__dust{display:none}.scene--simple .scene__stage{filter:none;transform:rotateX(7deg)rotate(-.5deg)}.scene--simple .scene__ui-toggle{color:#ffffffbf;background:#ffffff1f;border-color:#ffffff26}@media (prefers-reduced-motion:reduce){.scene--atmospheric .scene__backdrop{transform:none}}@media (width<=560px){.scene--atmospheric .scene__backdrop{background-position:62% 40%}}
