:root{font-family:Arial,Helvetica,sans-serif;color:#f7eadc;background:#171410;color-scheme:dark}*{box-sizing:border-box}body{margin:0;padding:24px;background:radial-gradient(ellipse at top,#3d291b,#171410 80%);min-height:100dvh}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,[role=slider]:focus-visible{outline:3px solid #00edf0;outline-offset:2px}.site-header,.site-footer,.site-note{max-width:1120px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}h1{font-size:48px;letter-spacing:-.07em;margin:0;color:#ffd24e;text-shadow:3px 3px #ff4e89}h1 small{display:block;font-size:10px;letter-spacing:.35em;color:#fff;text-shadow:none}.site-header>span{font-size:11px;letter-spacing:.15em}.download{color:#28190d;background:#ffd04c;border-radius:7px;font-size:12px;padding:14px 18px;text-decoration:none;font-weight:bold;white-space:nowrap}.stage{max-width:1120px;margin:auto}.device{position:relative;width:100%;aspect-ratio:1000/565;container-type:size;isolation:isolate;overflow:hidden;border-radius:3cqw;background:linear-gradient(115deg,#ffad32,#f7841e 42%,#e86910);border:2px solid #b8470b;box-shadow:inset 0 3px 2px #ffd586,inset 0 -7px 2px #b24b10,0 20px 45px #0008;--u:min(1cqw,1.77cqh);user-select:none;-webkit-user-select:none;touch-action:none}.device:after{content:'';pointer-events:none;position:absolute;inset:0;z-index:20;border-radius:inherit;box-shadow:inset 1px 0 1px #ffd799,inset -2px 0 2px #8d360d}.screw{position:absolute;width:1.1cqw;height:1.1cqw;border-radius:50%;background:linear-gradient(135deg,#be5a18,#ec9d56,#8b3b0e);box-shadow:inset 0 1px 2px #562b18}.screw:after{content:'';position:absolute;left:17%;right:17%;top:45%;height:1px;background:#71300c;transform:rotate(-35deg)}.s1{left:1.5%;top:2%}.s2{right:1.5%;top:2%}.s3{left:1.5%;bottom:2%}.s4{right:1.5%;bottom:2%}
.screen-bezel{position:absolute;left:38%;top:4.6%;transform:translateX(-50%);width:min(24.5cqw,43.4cqh);aspect-ratio:1;border-radius:8%;padding:1.7%;background:linear-gradient(145deg,#242626,#070909);box-shadow:0 3px 3px #8a3c12,inset 1px 1px 2px #555}.screen-bezel canvas{width:100%;height:100%;display:block;image-rendering:pixelated;background:#0b110a;border-radius:2%}.glass{position:absolute;inset:7%;background:linear-gradient(130deg,#ffffff09,transparent 60%);pointer-events:none}
.knob-control{position:absolute;transform:translate(-50%,-50%);width:9%;height:18%;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:ns-resize;outline:none;border-radius:20%}.knob-label{position:absolute;top:0;font-size:calc(var(--u)*1.22);font-weight:800;color:#4c2c13;white-space:nowrap;letter-spacing:.04em}.knob{position:relative;width:min(6.4cqw,11.4cqh);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(#242724 0deg 5deg,#4c4e45 5deg 10deg);border:calc(var(--u)*.3) solid #252820;box-shadow:1px 5px 4px #883b16,inset 0 1px 1px #888;transform:rotate(var(--angle,-135deg))}.knob:before{content:'';position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#5b5e53,#252822 85%);box-shadow:0 1px 2px #111,inset 0 1px 1px #85897b}.knob:after{content:'';position:absolute;left:47%;top:15%;width:6%;height:27%;border-radius:2px;background:#f4f0d3;box-shadow:0 0 1px #000}.knob-control.held .knob{box-shadow:0 0 0 2px #ffcc6a,1px 3px 4px #873e17}.knob-value{position:absolute;bottom:0;font:700 calc(var(--u)*1.05) monospace;color:#38250f;opacity:0;white-space:nowrap;pointer-events:none}.knob-control.held .knob-value,.knob-control:focus-visible .knob-value{opacity:1}
.button-tray{position:absolute;left:53.5%;top:26.5%;width:42.5%;height:25%;border-radius:calc(var(--u)*1.3);background:#803b1b;box-shadow:inset 0 2px 4px #64321c;border:2px solid #d26520}.octave-tray{position:absolute;left:3.3%;top:41.5%;width:18%;height:8.8%;border-radius:calc(var(--u)*1);background:#7b3919;box-shadow:inset 0 2px 3px #6c2915}.panel-button{position:absolute;border:1px solid #805748;border-radius:calc(var(--u)*.8);background:linear-gradient(#66504b,#422d2b);color:#c9bbb0;font-size:calc(var(--u)*1.05);font-weight:bold;box-shadow:inset 0 1px 1px #a68575,0 3px 1px #4e2518;cursor:pointer;padding:0;touch-action:none;line-height:1.2}.panel-button.lit{background:linear-gradient(#ecb347,#c37822);color:#302414;box-shadow:0 0 10px #ffe08a,inset 0 1px #ffedb0}.panel-button.play-button{border-color:#a8c263}.panel-button.play-button.lit{background:linear-gradient(#a9dc65,#4f8d3a);box-shadow:0 0 12px #d5f597;color:#183215}.panel-button.held{filter:brightness(1.22);box-shadow:inset 0 2px 3px #34251c;transform:translateY(1px)}
.silkscreen{position:absolute;left:4%;right:4%;top:54%;display:flex;align-items:center;gap:2%;color:#6f3817;font-size:calc(var(--u)*1.35);letter-spacing:.08em}.silkscreen b{font-weight:900}.silkscreen span{font-weight:900}.silkscreen em{font-style:normal;margin-left:auto;font-size:calc(var(--u)*1.05);letter-spacing:.2em}.keyboard-tray{position:absolute;inset:59% 2% 3%;background:linear-gradient(#a9451d,#b74e21);border:2px solid #9b4018;border-radius:calc(var(--u)*1.8);box-shadow:inset 0 2px 3px #7b351c}.note-key{position:absolute;padding:0;border:0;background:transparent;border-radius:999px;touch-action:none;cursor:pointer;color:#cfb6a5}.key-cap{position:absolute;inset:0 7%;border-radius:999px;background:linear-gradient(95deg,#503b3c,#765858 47%,#402f32);border:1px solid #9e7164;box-shadow:inset 2px 0 1px #ad8273,0 4px 3px #7b2912;pointer-events:none}.key-cap:before{content:'';position:absolute;top:20%;bottom:28%;left:47%;width:6%;border-radius:5px;background:#c2a99a;opacity:.6}.key-caption{position:absolute;bottom:9%;left:0;right:0;font-size:calc(var(--u)*.9);text-align:center;pointer-events:none;font-weight:bold}.note-key.lit .key-cap{background:linear-gradient(95deg,#a45124,#ffb84c 47%,#a34a21);box-shadow:inset 2px 0 #ffe1a0,0 0 15px #ffd173,0 4px 3px #7b2912;border-color:#ffe4af}.note-key.lit .key-cap:before{background:#fff9d7;opacity:1;box-shadow:0 0 9px #fff9d7}.note-key.lit{color:#58330e}.note-key.held .key-cap{transform:translateY(1px);box-shadow:inset 0 2px 3px #301b12;filter:brightness(1.2)}
.boot-status{position:absolute;z-index:30;left:25%;right:25%;top:25%;text-align:center;color:white;background:#111e;padding:12px;border-radius:8px;font-size:14px}.boot-status[hidden]{display:none}.rotate{display:none}.site-footer{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-top:25px;color:#ddbea3}.site-footer p{margin:0}.site-footer a{color:#ffd07c}.site-note{font-size:11px;color:#b99a80;margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.instrument-mode,html.instrument-mode body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#171410;padding:0;margin:0}.instrument-mode .site-header,.instrument-mode .site-footer,.instrument-mode .site-note{display:none}.instrument-mode .stage{position:fixed;inset:0;max-width:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);width:100%;height:100dvh;display:flex;align-items:center;justify-content:center}.instrument-mode .device{height:100%;width:100%;aspect-ratio:auto;border-radius:14px;box-shadow:inset 0 2px 1px #ffdd94,inset 0 -5px 1px #b05213}.instrument-mode .screen-bezel{padding:1.1%}.instrument-mode .screen-bezel canvas{image-rendering:auto}.portrait-mode .stage{visibility:hidden;pointer-events:none}.portrait-mode .rotate{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:#201910}.rotate svg{width:86px;height:86px;fill:none;stroke:#ffaf36;stroke-width:3}.rotate h2{font-size:25px;margin:22px 0 8px}.rotate p{font-size:15px;color:#cdb69f;margin:0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}@media(max-width:600px){.site-header{flex-wrap:wrap}.site-header>span{display:none}}
.rotate-actions{display:grid;gap:12px;width:min(100%,280px);margin-top:26px}.rotate-actions button,.rotate-actions .download{display:flex;align-items:center;justify-content:center;min-height:48px;padding:14px 18px;border-radius:9px;font-size:15px;font-weight:700;text-decoration:none}.rotate-actions button{border:1px solid #ffc16a;background:#ffaf36;color:#28190d;cursor:pointer}.rotate-actions button:disabled{opacity:.65;cursor:wait}.rotate-actions .download{border:1px solid #775533;background:transparent;color:#ffd07c}.rotate-actions a:focus-visible{outline:3px solid #00edf0;outline-offset:3px}.rotate p{max-width:290px;line-height:1.5}.portrait-mode .rotate{overflow-y:auto;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.rotate svg{flex-shrink:0}
