.transport{display:flex;gap:17px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #c8ddcf;border-radius:13px;padding:20px}.transport label,.track-settings label,.note-editor label{display:flex;align-items:center;gap:7px;font-size:13px}.transport input{width:70px}select,input[type=number]{font:inherit;border:1px solid #b6cbbb;border-radius:7px;padding:8px;background:#fff;color:#173e2c}.transport .primary{background:#166534;color:white;min-width:95px}#playPosition{font-size:13px;color:#506d59}.hint{font-size:12px;color:#536b5b;line-height:1.7}.beat-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0;flex-wrap:wrap}.beat-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}#saveStatus{font-size:11px;color:#536b5b}.beat-track{background:#fff;border:1px solid #c9dece;border-radius:13px;padding:20px;margin:15px 0}.track-settings{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.track-settings h2{font-size:16px;margin:0;min-width:60px}.track-settings select{max-width:150px}.track-settings input[type=range]{width:80px;accent-color:#166534}.track-settings button{font-size:12px;padding:8px 12px}.track-settings [aria-pressed=true]{background:#fff0cf;border-color:#c0923d}.measures{display:flex;gap:18px;overflow-x:auto;padding:3px 3px 12px}.measure{flex:1;min-width:250px}.measure-title{font-size:11px;color:#5d7364;margin:0 0 7px}.note-grid{display:grid;grid-template-columns:repeat(var(--steps),minmax(30px,1fr));gap:4px}.note-step{padding:7px 3px;min-height:62px;min-width:30px;border-radius:6px;border-color:#d7e3d9;font-size:12px;background:#f2f6f2}.note-step small{display:block;font-size:10px;color:#67806e;margin-bottom:5px}.note-step[aria-pressed=true]{background:var(--track-color,#166534);color:white;border-color:var(--track-color,#166534)}.note-step[aria-pressed=true] small{color:#fff}.note-step.beat-start{border-left:2px solid #92b69f}.note-step.selected{box-shadow:inset 0 0 0 3px #f6cc72}.note-step.current{outline:3px solid #d38b15;outline-offset:0}.note-editor{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff6df;border:1px solid #e0c48d;border-radius:12px;padding:18px;margin:22px 0}.note-editor strong{font-size:13px}.note-editor>.hint{flex-basis:100%}.beat-files{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.beat-files output{font-size:13px}.file-button{display:inline-block;position:relative;border:1px solid #bfd3c5;border-radius:9px;background:white;padding:10px 16px;font-size:14px;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.file-button:focus-within{outline:3px solid #b66b0a;outline-offset:3px}.beat-files button{font-size:14px}@media(max-width:650px){main{padding:20px 13px}.transport{gap:12px;padding:15px}.transport label{font-size:12px}.beat-track{padding:15px 12px}.track-settings{gap:10px}.track-settings h2{width:100%}.track-settings select{max-width:130px}.measure{min-width:260px}.note-grid{grid-template-columns:repeat(var(--steps),minmax(34px,1fr))}.note-editor{padding:14px}.beat-toolbar button{font-size:12px;padding:9px 12px}.note-editor strong{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Follow Roll an Instrument: the same sidebar, blue arcade header, and controls. */
.beat-maker .length-nudges{display:flex;gap:3px;margin-top:3px}.beat-maker .length-nudges button{flex:1;min-width:0;min-height:22px;padding:0;font-size:15px;border-radius:4px}.beat-maker .note-step.note-held{background:color-mix(in srgb,var(--track-color) 17%,#fff);color:var(--track-color);border-color:var(--track-color);border-style:dashed;box-shadow:inset 0 -4px 0 var(--track-color);font-size:17px}.beat-maker .note-step.note-extended{position:relative;border-radius:5px 1px 1px 5px;box-shadow:inset 0 -4px 0 #ffffff80}.beat-maker .note-step.note-extended:after{content:'→';position:absolute;right:-5px;bottom:0;z-index:1;font-size:14px;color:var(--track-color);background:#fff;border-radius:3px}.note-length-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;margin-top:10px}.note-length-controls[hidden]{display:none}.note-length-controls output{min-width:90px;text-align:center;font-size:12px;font-weight:600}.note-length-controls>span{font-size:12px;font-weight:600}
.beat-maker button,.beat-maker .file-button{font:600 11px Poppins,Arial,sans-serif;border:1px solid #b8cdf5;border-radius:10px;padding:10px 15px;background:#f5f8ff;color:#234e9b;cursor:pointer}.beat-maker button:disabled{opacity:.45}.beat-maker .dice-button{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:white;border-color:#1d4ed8;border-bottom:3px solid #1e40af;min-height:44px}.beat-maker .transport,.beat-maker .beat-track{border-color:#dbe4f0;box-shadow:0 4px 14px #15326b05}.beat-maker select,.beat-maker input[type=number]{border-color:#b8cdf5;color:#1e3a6b}.beat-maker .hint,.beat-maker .measure-title,.beat-maker #saveStatus{color:#5875a5}.beat-maker .beat-track{border-radius:16px}.beat-maker .note-step{background:#f0f5ff;border-color:#dbe4f0;color:#3d5d8d;padding:7px 3px}.beat-maker .note-step[aria-pressed=true]{background:var(--track-color);color:white;border-color:var(--track-color)}.beat-maker .note-step[aria-pressed=true] small{color:white}.beat-maker .track-settings input[type=range]{accent-color:#2563eb}.beat-maker .track-settings [aria-pressed=true]{background:#fff1cb;color:#775211}.beat-maker .note-editor{background:#fff8e7;border-color:#ecd79d}.beat-audience{display:inline-block;border:1px solid #c7d9fc;background:#e7f0ff;border-radius:20px;color:#2458a9;padding:5px 12px;font-size:10px;font-weight:600;margin-top:12px}.beat-maker .note-step.selected{box-shadow:inset 0 0 0 3px #f6cc72}.beat-maker .note-step.current{outline:3px solid #d38b15}.beat-maker .teacher-notes{border-top:1px solid #dbe4f0;padding-top:20px;color:#5875a5;line-height:1.9;font-size:12px}.beat-maker .teacher-notes summary{font-weight:600;color:#234e9b;cursor:pointer}.beat-maker button:focus-visible,.beat-maker select:focus-visible,.beat-maker input:focus-visible{outline:3px solid #2563eb;outline-offset:3px}:fullscreen .sidebar{display:none}:fullscreen .app{display:block}:fullscreen .instrument-main{max-width:1600px}:fullscreen .beat-maker{margin:auto}@media(max-width:700px){.beat-maker.instrument-main{padding:22px 14px}.beat-maker .roll-header{margin-bottom:22px}.beat-maker .header-medallion{display:none}}
.beat-maker .measure-pages{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;color:#5875a5;font-size:12px}.beat-maker .measure-pages label{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:11px}.beat-maker .measure-pages input{accent-color:#2563eb}.beat-maker .measures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 12px;overflow:visible;padding:2px}.beat-maker .measure{min-width:0;overflow-x:auto;padding:2px 2px 6px}.beat-maker .note-grid{grid-template-columns:repeat(var(--steps),minmax(22px,1fr));gap:3px}.beat-maker .note-step{min-width:22px;min-height:40px;padding:4px 1px;font-size:10px;border-radius:5px}.beat-maker .note-step small{font-size:9px;margin-bottom:2px}.beat-maker .beat-track{padding:15px;margin:12px 0}.beat-maker .track-settings{margin-bottom:10px;gap:10px}.beat-maker .measure-title{margin-bottom:5px;font-size:10px}@media(max-width:1150px){.beat-maker .measures{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.beat-maker .measures{grid-template-columns:minmax(0,1fr)}.beat-maker .measure-pages label{margin-left:0;width:100%}.beat-maker .note-step{min-height:42px}.beat-maker .measure-pages{gap:8px}}
.song-settings{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:15px 0;padding:17px 20px;border:1px solid #dbe4f0;background:white;border-radius:13px}.song-settings h2{margin:0;font-size:13px;color:#193b76}.song-settings .setting-field{display:flex;align-items:center;gap:9px;font-size:12px;color:#5875a5}.choice-control{display:inline-flex}.beat-maker .choice-control>button{display:inline-flex;align-items:center;gap:15px;justify-content:space-between;min-height:38px;background:#fff;white-space:nowrap}.choice-control>button:after{content:'';width:6px;height:6px;border-right:2px solid #6281b0;border-bottom:2px solid #6281b0;transform:rotate(45deg);margin-top:-4px}.choice-menu{position:fixed;z-index:1000;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:white;border:1px solid #b8cdf5;border-radius:13px;padding:10px;box-shadow:0 12px 35px #12387926;width:min(320px,calc(100vw - 20px));max-height:min(420px,calc(100vh - 24px));overflow-y:auto}.choice-menu[hidden]{display:none!important}.choice-menu.number-choices{grid-template-columns:repeat(8,minmax(0,1fr));width:min(370px,calc(100vw - 20px))}.choice-menu button{font:600 11px Poppins,Arial,sans-serif;min-height:36px;cursor:pointer;background:#f4f7ff;border:1px solid #d7e3fb;border-radius:7px;padding:7px;color:#24519a}.choice-menu button[aria-pressed=true]{background:#2563eb;color:#fff;border-color:#2563eb}.choice-menu button:focus-visible{outline:3px solid #d29b2d;outline-offset:1px}.loop-settings{margin:15px 0;border:1px solid #dbe4f0;border-radius:12px;background:#f7faff;padding:13px 18px;font-size:12px;color:#5875a5}.loop-settings summary{cursor:pointer;font-weight:600;color:#224a8b}.loop-settings summary span{font-size:10px;font-weight:400;margin-left:10px}.loop-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding-top:14px}.loop-controls label,.loop-controls .setting-field{display:flex;align-items:center;gap:8px}.loop-controls input{accent-color:#2563eb}.templates-dialog{border:1px solid #c7d8f5;border-radius:20px;width:min(550px,calc(100vw - 28px));padding:25px;color:#173568;font-family:Poppins,Arial,sans-serif;background:#f6f9ff}.templates-dialog::backdrop{background:#0d214b80;backdrop-filter:blur(3px)}.templates-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.templates-heading p{font-size:9px;letter-spacing:1.5px;color:#5875a5}.templates-heading h2{font-family:Candal,Arial,sans-serif;font-size:26px;margin:6px 0}.templates-heading button{font:24px Arial;cursor:pointer;border:1px solid #dbe4f0;border-radius:50%;width:38px;height:38px;background:#fff;color:#24519a}.template-card{padding:22px;background:white;border:1px solid #dbe4f0;border-radius:14px}.template-card h3{font-family:Candal,Arial,sans-serif;font-size:19px;margin-top:0}.template-card p{font-size:12px;line-height:1.8;color:#5875a5}.template-card span{display:block;font-size:10px;color:#5875a5;margin:17px 0}.template-card button{cursor:pointer;font:600 12px Poppins,Arial,sans-serif;background:#2563eb;color:white;border:0;border-bottom:3px solid #1e40af;border-radius:9px;padding:12px 18px}@media(max-width:600px){.song-settings{gap:12px;padding:15px}.song-settings h2{width:100%}.song-settings .setting-field{justify-content:space-between;width:100%}.loop-controls{gap:12px}.choice-menu.number-choices{grid-template-columns:repeat(6,minmax(0,1fr))}}
.beat-maker .note-slot{min-width:0}.beat-maker .note-slot>.note-step{width:100%}.beat-maker .pitch-nudges{display:flex;gap:3px;margin-top:3px}.beat-maker .pitch-nudges button{flex:1;min-width:0;min-height:21px;padding:0!important;font-size:12px;line-height:18px;border-radius:4px;background:#eaf1ff}.beat-maker .pitch-nudges button:hover:not(:disabled){background:#d1e0ff}.beat-maker .note-grid{align-items:start}
.beat-maker .measure-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:5px}.beat-maker .measure-heading .measure-title{margin:0}.beat-maker .select-measure{font-size:9px;padding:3px 6px;border-radius:5px}.beat-maker .select-measure[aria-pressed=true],.beat-maker #selectBeats[aria-pressed=true]{background:#2563eb;color:#fff}.beat-maker .note-step.copy-selected{box-shadow:inset 0 0 0 3px #f1ba40}.copy-settings{border:1px solid #dbe4f0;border-radius:12px;background:#f6f9ff;padding:14px 18px;margin:16px 0;font-size:12px;color:#5875a5}.copy-settings summary{color:#224a8b;font-weight:600;cursor:pointer}.copy-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:15px}.copy-tools .setting-field{display:flex;gap:8px;align-items:center}.copy-tools p{width:100%;margin:0;font-size:11px}

.beat-maker .note-slot{position:relative}.beat-maker .beat-select{display:block;width:17px;height:17px;margin:6px auto;accent-color:#2563eb;cursor:pointer}

.beat-maker .note-step.has-sound{background:var(--track-color);color:white}.beat-maker .note-step.copy-selected{outline:2px solid #efb938;outline-offset:1px;box-shadow:inset 0 0 0 2px #fff}

.paste-hint{position:sticky;top:8px;z-index:4;padding:12px 16px;border:1px solid #2563eb;border-radius:10px;background:#edf4ff;color:#173e80;font-size:13px}.paste-hint[hidden]{display:none}.beat-maker .paste-targeting .note-step{cursor:copy}.beat-maker .paste-targeting .note-step:hover,.beat-maker .paste-targeting .note-step:focus-visible{outline:3px dashed #2563eb;outline-offset:2px}
/* A held note reads as a single ribbon, rather than repeated note attacks. */
.beat-maker .note-step.note-held{position:relative;background:var(--track-color);color:#fff;border:1px solid var(--track-color);border-radius:0;box-shadow:none;font-size:10px;line-height:1.2;min-height:40px;margin-left:-3px;width:calc(100% + 3px)!important}
.beat-maker .note-step.note-held small{color:#ffffffb3}.beat-maker .note-step.note-held:after{content:'';position:absolute;left:3px;right:3px;bottom:11px;height:1px;background:#ffffff70}
.beat-maker .note-step.note-held.hold-end{border-radius:0 5px 5px 0}.beat-maker .note-step.note-extended{border-radius:5px 0 0 5px;box-shadow:none}.beat-maker .note-step.note-extended:after{content:none}.beat-maker .length-nudges button{background:#fff8e7;border-color:#d9bf7a}
.beat-maker .note-step.note-held{height:40px}.beat-maker .note-step.note-held small{visibility:hidden}.beat-maker .note-step.note-held:after{bottom:18px;left:0;right:0;background:#ffffff55}.beat-maker #durationMode[aria-pressed=true]{background:#245da7;border-color:#245da7;color:white}
.beat-maker .copy-settings{padding:0;border:0;background:transparent}.beat-maker .copy-settings>summary{display:inline-flex;align-items:center;gap:9px;list-style:none;min-height:40px;padding:10px 15px;border:1px solid #b8cdf5;border-radius:8px;background:#f5f8ff;color:#234e9b;font-size:13px;font-weight:600}.beat-maker .copy-settings>summary::-webkit-details-marker{display:none}.copy-chevron{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px}.beat-maker .copy-settings[open]>summary{background:#245da7;border-color:#245da7;color:white}.copy-settings[open] .copy-chevron{transform:rotate(225deg)}.beat-maker .copy-settings[open] .copy-tools{padding:16px;border:1px solid #cbdaf4;background:#f6f9ff;border-radius:8px}.beat-maker .copy-settings>summary:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
/* Equal cell dimensions keep the note head and its hold aligned. */
.beat-maker .note-step,.beat-maker .note-step.note-held{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:44px;min-height:44px;max-height:44px;padding:4px 1px;line-height:1.2;font-size:10px;box-sizing:border-box}
.beat-maker .note-step small{margin:0;font-size:9px;line-height:1.2}.beat-maker .note-step.note-held:after{bottom:13px}
.beat-maker .note-length-controls{width:auto;margin:22px 0 12px;padding:16px 18px;border:1px solid #bfd0ee;border-radius:10px;background:#fff;color:#24426f}.note-length-controls strong{font-size:13px;margin-right:6px}
.beat-maker .note-editor{background:#edf0ff;border-color:#c4ccef;color:#283b76;margin-top:12px}.beat-maker .note-editor .hint{color:#53658b}.beat-maker .note-editor button,.beat-maker .note-editor .choice-control>button{background:#fff;border-color:#b5bfe7;color:#344b90}
/* Clear, native controls with Melt-style focus and pressed feedback. */
.beat-maker .volume-field{display:flex;align-items:center;gap:9px;font-size:12px;color:#24426f}.beat-maker .volume-control{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #bdd0f4;border-radius:10px;background:#f5f8ff}.beat-maker .volume-control button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:#fff;color:#245bd3;font-size:18px;line-height:1;cursor:pointer;box-shadow:none}.beat-maker .volume-control output{min-width:42px;text-align:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:#24426f}.beat-maker .volume-control button:disabled{opacity:.35;cursor:default}.beat-maker .volume-control button:not(:disabled):active{transform:scale(.97);background:#dfeaff}.beat-maker .volume-control button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.beat-maker .measure-pages .playback-switch{position:relative;display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #c4d6f6;border-radius:10px;background:#f6f9ff;color:#24426f;font-size:12px;font-weight:500;cursor:pointer;user-select:none}.playback-switch input{position:absolute;opacity:0;width:1px;height:1px}.playback-switch .switch-track{position:relative;width:34px;height:20px;flex-shrink:0;border:1px solid #aebed9;border-radius:20px;background:#d5deec;transition:background-color .18s,border-color .18s}.playback-switch .switch-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:white;transition:transform .18s}.playback-switch input:checked+.switch-track{background:#2563eb;border-color:#2563eb}.playback-switch input:checked+.switch-track:after{transform:translateX(14px)}.playback-switch input:focus-visible+.switch-track{outline:2px solid #245bd3;outline-offset:3px}@media(prefers-reduced-motion:reduce){.playback-switch .switch-track,.playback-switch .switch-track:after{transition:none}.beat-maker .volume-control button:active{transform:none}}

.beat-maker .measures,.choice-menu,.templates-dialog{scrollbar-width:none;-ms-overflow-style:none}.beat-maker .measures::-webkit-scrollbar,.choice-menu::-webkit-scrollbar,.templates-dialog::-webkit-scrollbar{display:none}

.paste-mode-bar{position:fixed;z-index:100;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(600px,calc(100vw - 28px));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid #a7c0ee;border-radius:12px;background:#f4f8ff;color:#173568}.paste-mode-bar[hidden]{display:none}.paste-mode-bar>div{display:flex;flex-direction:column;gap:5px}.paste-mode-bar strong{font:400 16px Candal,sans-serif}.paste-mode-bar span{font:400 12px/1.5 Poppins,sans-serif}.beat-maker .paste-mode-bar button{flex-shrink:0;background:#245bd3;border-color:#245bd3;color:white;font:600 13px Poppins,sans-serif;padding:12px 16px}.beat-maker.paste-mode{padding-bottom:130px}@media(max-width:500px){.paste-mode-bar{padding:14px;gap:10px}.paste-mode-bar span{font-size:11px}.beat-maker .paste-mode-bar button{padding:11px;font-size:12px}}

/* Hide page and nested scrollbars throughout Beat Maker, retaining scroll input. */
html.beat-maker-page,html.beat-maker-page *{scrollbar-width:none!important;-ms-overflow-style:none!important}html.beat-maker-page::-webkit-scrollbar,html.beat-maker-page *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}html.beat-maker-page,html.beat-maker-page body{scrollbar-gutter:auto!important}

/* Fit all boxes into the measure; wrap at beat boundaries rather than clip. */
.beat-maker .measures{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.beat-maker .measure{overflow:visible;min-width:0}.beat-maker .note-grid{grid-template-columns:repeat(var(--visible-steps,8),minmax(0,1fr));row-gap:10px}.beat-maker .note-slot,.beat-maker .note-step{min-width:0}.beat-maker .note-step{box-sizing:border-box}.beat-maker .note-slot{scroll-margin-bottom:110px}
