html,body,#root{margin:0;height:100%;background:#000;color:#ddd;font:15px system-ui,sans-serif;overflow:hidden}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:12px 16px;pointer-events:none}.name{font-weight:600;letter-spacing:.04em}.status{color:#999;font-size:13px}.views{margin-left:auto;display:flex;pointer-events:auto}.views button{font:inherit;color:#bbb;background:#111;border:1px solid #333;padding:7px 14px;cursor:pointer}.views button:first-child{border-radius:6px 0 0 6px}.views button:last-child{border-radius:0 6px 6px 0;border-left:none}.views button[aria-pressed=true]{color:#000;background:#ffd9a0;border-color:#ffd9a0}.listen{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;padding:12px;background:#0a0a0acc;border:1px solid #333;border-radius:8px;width:260px}.listen.idle{flex-direction:row;right:auto;width:auto;padding:0;border:none;background:none}.listen button,.listen select{font:inherit;color:#bbb;background:#111;border:1px solid #333;border-radius:6px;padding:7px 14px;cursor:pointer}.listen select{flex:1;min-width:0;padding:7px 8px}.listen .row{display:flex;align-items:center;gap:10px}.listen .beat{width:22px;height:22px;border-radius:50%;background:#ffd9a0;box-shadow:0 0 12px #ffb050}.listen .bpm{flex:1;font-size:22px;font-variant-numeric:tabular-nums}.listen .bpm small{font-size:13px;color:#999}.listen .meter{display:flex;align-items:center;gap:10px;font-size:13px;color:#999}.listen .meter span{width:34px}.listen .meter>div{flex:1;height:8px;background:#222;border-radius:4px;overflow:hidden}.listen .meter>div>div{height:100%;background:#ffd9a0}.listen .error{color:#f88;font-size:13px}.simulated{position:fixed;top:60px;right:16px;max-height:calc(100% - 76px);width:260px;display:flex;flex-direction:column;gap:10px;padding:12px;background:#0a0a0acc;border:1px solid #333;border-radius:8px;overflow-y:auto;box-sizing:border-box;font-size:13px}.simulated select{font:inherit;color:#bbb;background:#111;border:1px solid #333;border-radius:6px;padding:5px 6px;min-width:0}.simulated>select{font-size:15px;padding:7px 8px}.simulated .to{color:#999}.simulated fieldset{margin:0;padding:6px 0 0;border:none;border-top:1px solid #333;display:flex;flex-direction:column;gap:6px}.simulated legend{padding:0 6px 0 0;color:#ffd9a0}.simulated label{display:flex;align-items:center;gap:8px}.simulated label span{flex:1;color:#999}.simulated label select{width:120px}@media(max-width:500px){.simulated{left:8px;right:8px;top:auto;width:auto;max-height:40%}.listen{left:8px;right:8px;bottom:8px;width:auto}}
