*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.shrink{flex-shrink:1}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color:#eef8ff;background:#05080c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}*{box-sizing:border-box}body{min-width:280px;min-height:100vh;min-height:100dvh;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#05080c}.rotary-bpm-dragging,.rotary-bpm-dragging body{overflow:hidden;overscroll-behavior:none}button,input{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}.app-shell{width:min(1120px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) clamp(14px,3vw,36px) max(28px,env(safe-area-inset-bottom))}.metronome-page,.grouping-page,.compose-page,.settings-page,.grouping-primary,.grouping-side{display:grid;align-content:start}.metronome-page{gap:18px}.practice-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.dial-bpm small,.meter-readout small,.control-label,.practice-footer{color:#8aa0b5;font-size:.78rem;letter-spacing:0}.status-pill,.silent-count{border:1px solid rgba(138,160,181,.26);border-radius:8px;padding:8px 10px;color:#9fb4c7;background:#101a24c7;font-size:.78rem}.status-pill[data-playing=true],.silent-count--active{border-color:#ffbd4780;color:#ffd98c;background:#ffbd471c}.beat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:10px;margin:4px 0 2px}.beat-cell{display:grid;min-height:1rem;gap:6px;justify-items:center;border:1px solid rgba(138,160,181,.2);border-radius:8px;padding:12px 8px;background:#0b121ac7;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease,box-shadow .16s ease}.beat-cell:hover,.beat-cell:focus-visible{outline:none;border-color:#65e7ff94}.beat-cell:focus-visible{box-shadow:0 0 0 2px #65e7ff47}.beat-cell:active{transform:translateY(0) scale(.99)}.beat-cell--active{transform:translateY(-2px) scale(1.015);border-color:#65e7ffc7;box-shadow:0 0 24px #65e7ff24}.beat-cell--accented.beat-cell--active{border-color:#ffbd47d9;box-shadow:0 0 24px #ffbd472e}.beat-cell__icon{width:24px;height:24px;border:2px solid #65e7ff;border-radius:50%}.beat-cell--accented .beat-cell__icon{border-color:#ffbd47;background:#ffbd47;box-shadow:0 0 20px #ffbd4757}.beat-cell__number{color:#e8f6ff;font-size:.88rem;font-weight:700}.beat-cell__subdivisions,.beat-cell__row{display:grid;gap:5px}.beat-cell__row{grid-auto-flow:column}.beat-cell__dot{width:6px;height:6px;border-radius:999px;background:#8aa0b56b}.beat-cell__dot--active{background:#65e7ff;box-shadow:0 0 12px #65e7ffb8}.control-deck{display:grid;justify-items:center;gap:14px;margin-top:0}.dial-stage{position:relative;--rotary-dial-effective-size: min(var(--rotary-dial-size, 340px), 90vw);--tap-tempo-button-effective-width: min(var(--tap-tempo-button-width, 82px), 24vw);--tap-tempo-button-height: max(44px, calc(var(--tap-tempo-button-effective-width) * .634));width:var(--rotary-dial-effective-size)}.dial-bpm{display:grid;justify-items:center;margin-bottom:-6px}.dial-bpm span{color:#f8fcff;font-size:clamp(2.8rem,calc(var(--rotary-dial-effective-size) * .16),4rem);font-weight:100;line-height:1}.rotary-dial{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border:0;border-radius:50%;background:transparent;contain:layout paint;cursor:pointer;touch-action:manipulation;transform:translateZ(0);backface-visibility:hidden}.rotary-dial__dot:active{cursor:grabbing}.rotary-dial__dot-touch-target{position:absolute;z-index:1;width:var(--rotary-dot-touch-size);height:var(--rotary-dot-touch-size);border-radius:999px;cursor:grab;touch-action:none;transform:translate(-50%,-50%)}.rotary-dial:focus-visible{outline:2px solid rgba(101,231,255,.74);outline-offset:5px}.rotary-dial__svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 28px rgba(101,231,255,.12));transform:translateZ(0)}.rotary-dial__track,.rotary-dial__progress,.rotary-dial__hold-line{fill:none;stroke-linecap:round;stroke-width:1}.rotary-dial__track{stroke:#8aa0b52e}.rotary-dial__progress{stroke:#65e7ff}.rotary-dial__tick{stroke:#eef8ff42;stroke-linecap:round;stroke-width:2}.rotary-dial__dot,.rotary-dial__dot-hit-area{cursor:grab;touch-action:none}.rotary-dial__dot{fill:#ffbd47}.rotary-dial__dot-hit-area{fill:transparent;pointer-events:all}.rotary-dial__center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;pointer-events:none;text-align:center}.rotary-dial__time{color:#f2fbff;font-size:var(--rotary-dial-time-font-size, clamp(1.3rem, calc(var(--rotary-dial-effective-size) * .082), 1.75rem));font-weight:760}.rotary-dial__state{display:inline-flex;align-items:center;gap:8px;color:#8aa0b5;font-size:var(--rotary-dial-state-font-size, .84rem)}.rotary-dial__hold-line{stroke:#ffbd47;stroke-dasharray:296;stroke-dashoffset:296;stroke-width:2;opacity:0;transition:stroke-dashoffset .8s linear,opacity .12s ease}.rotary-dial--holding .rotary-dial__hold-line{opacity:1;stroke-dashoffset:0}.tap-tempo{position:absolute;top:calc(50% + clamp(28px,calc(var(--rotary-dial-effective-size) * .126),43px));right:clamp(8px,3.8%,18px);display:inline-flex;align-items:center;justify-content:center;gap:7px;width:var(--tap-tempo-button-effective-width);min-height:var(--tap-tempo-button-height);border:1px solid rgba(255,189,71,.48);border-radius:8px;background:#ffbd4721;color:#ffd98c;cursor:pointer;transform:translateY(-50%);transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;z-index:2}.tap-tempo:hover,.tap-tempo:focus-visible{border-color:#ffbd47c7;background:#ffbd472e;color:#fff1cf;outline:none}.tap-tempo:focus-visible{box-shadow:0 0 0 2px #ffbd473d}.tap-tempo:active{transform:translateY(-50%) scale(.98)}.increment-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.increment-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.icon-button,.close-button,.stepper button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(138,160,181,.22);border-radius:8px;background:#101a24eb;cursor:pointer}.icon-button{gap:6px;min-width:78px;min-height:44px;color:#eef8ff;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.icon-button:hover,.close-button:hover,.stepper button:hover{border-color:#65e7ff94;color:#f4fbff}.icon-button:focus-visible,.close-button:focus-visible,.stepper button:focus-visible{border-color:#65e7ffbd;box-shadow:0 0 0 2px #65e7ff38;outline:none}.icon-button:active,.close-button:active,.stepper button:active{transform:scale(.97)}.lower-controls{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(320px,1.15fr);gap:14px;align-items:stretch}.wheel-picker,.time-picker,.meter-readout{border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#0b121abd;padding:14px}.picker-summary{display:grid;min-height:104px;padding:0}.picker-summary__button{display:grid;align-content:center;gap:8px;width:100%;min-height:100%;border:0;border-radius:8px;padding:14px;background:transparent;color:#f4fbff;cursor:pointer;text-align:left;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.picker-summary__button strong{color:#f4fbff;font-size:2rem;line-height:1}.picker-summary__button:hover{background:#65e7ff14}.picker-summary__button:focus-visible{outline:none;box-shadow:0 0 0 2px #65e7ff3d}.picker-summary__button:active{transform:scale(.99)}.time-picker__columns{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:10px}.time-picker__slash{color:#ffbd47;font-size:2rem;font-weight:800}.time-picker__columns--modal{margin-top:0}.meter-readout{display:grid;place-items:center;text-align:center}.meter-readout span{color:#f4fbff;font-size:clamp(1.9rem,5vw,2.8rem);font-weight:800}.scroll-wheel{position:relative;height:184px;overflow:hidden;border:1px solid rgba(138,160,181,.18);border-radius:8px;background:linear-gradient(180deg,rgba(5,8,12,.88),transparent 30%,transparent 70%,rgba(5,8,12,.88)),#080d13cc;cursor:grab;touch-action:none}.scroll-wheel:before,.scroll-wheel:after{position:absolute;left:50%;z-index:1;width:26px;height:1px;border-radius:999px;background:#65e7ff47;content:"";transform:translate(-50%);pointer-events:none}.scroll-wheel:before{top:12px}.scroll-wheel:after{bottom:12px}.scroll-wheel:active{cursor:grabbing}.scroll-wheel:focus-visible{outline:2px solid rgba(101,231,255,.74);outline-offset:2px}.scroll-wheel__center{position:absolute;top:50%;left:10px;right:10px;height:44px;border:1px solid rgba(101,231,255,.68);border-radius:8px;background:#65e7ff1f;box-shadow:inset 0 0 18px #65e7ff14,0 0 18px #65e7ff14;transform:translateY(-50%);pointer-events:none}.scroll-wheel__track{position:absolute;top:0;right:0;bottom:0;left:0}.scroll-wheel__option{position:absolute;top:50%;left:12px;right:12px;min-height:40px;border:0;border-radius:8px;background:transparent;color:#9fb4c7;cursor:pointer;font-size:1.06rem;font-weight:680;opacity:.6;transform:translateY(calc(-50% + var(--offset) * 42px)) scale(.9);transition:color .14s ease,opacity .14s ease,transform .18s ease}.scroll-wheel[data-dragging=true] .scroll-wheel__option{transition:color .14s ease,opacity .14s ease}.scroll-wheel__option[data-depth="1"]{opacity:.76;transform:translateY(calc(-50% + var(--offset) * 42px)) scale(.92)}.scroll-wheel__option[data-depth="2"]{opacity:.46}.scroll-wheel__option[data-depth="3"]{opacity:.22}.scroll-wheel__option[data-centered=true]{color:#f4fbff;opacity:1;transform:translateY(calc(-50% + var(--offset) * 42px)) scale(1)}.scroll-wheel__option:hover{color:#65e7ff}.scroll-wheel__option:focus-visible{outline:none}.practice-footer{margin-top:0}.page-frame{--theme-border: rgba(138, 160, 181, .34);--theme-amber: #ffbd47;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 18% 8%,rgba(101,231,255,.08),transparent 26%),linear-gradient(180deg,#05080c,#080d13)}.page-indicator,.practice-topbar,.practice-topbar__nav,.grouping-status-row,.grouping-playback-row,.grouping-control-tabs{display:flex;align-items:center;gap:10px}.page-navigation-section{display:flex;justify-content:center;min-width:0}.page-indicator{justify-content:center;margin:0}.page-indicator__item,.grouping-tab,.bar-picker__button,.grouping-preset-launch,.preset-modal__group,.preset-modal__pattern{min-height:36px;border:1px solid rgba(138,160,181,.2);border-radius:8px;background:#101a24b8;color:#9fb4c7;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.page-indicator__item{display:inline-flex;align-items:center;justify-content:center;min-width:54px;border-color:transparent;background:transparent;padding:0 16px;font:inherit;line-height:1.1}.page-indicator__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto}.page-indicator__icon svg{display:block;width:100%;height:100%}.page-indicator__item--active,.grouping-tab--active,.bar-picker__button--active,.preset-modal__group--active{border-color:#65e7ff9e;background:#65e7ff1f;color:#f4fbff}.page-indicator__item:hover,.grouping-tab:hover,.bar-picker__button:hover,.grouping-preset-launch:hover,.preset-modal__group:hover,.preset-modal__pattern:hover{border-color:#65e7ff85;color:#eef8ff}.page-indicator__item:hover{border-color:transparent;color:#f4fbff}.page-indicator__item--active,.page-indicator__item--active:hover,.page-indicator__item--active:active{border-color:transparent;background:transparent;color:#65e7ff}.page-indicator__item:focus-visible{outline:2px solid rgba(101,231,255,.5);outline-offset:3px}.grouping-page,.compose-page,.settings-page{gap:18px}.compose-topbar{align-items:center;justify-content:space-between}.compose-document-header{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}.compose-document-header__primary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.compose-document-header__document{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;min-width:0}.compose-document-header__identity{display:grid;gap:2px;min-width:0}.compose-document-header__name{overflow:hidden;color:#eef8ff;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.compose-document-header__status{color:#8aa0b5;font-size:.74rem}.compose-document-header__save,.compose-document-header__library{display:inline-grid;width:44px;min-width:44px;min-height:44px;place-items:center;border:1px solid rgba(138,160,181,.26);border-radius:8px;padding:0;color:#eef8ff;background:#101a24;cursor:pointer;font-weight:680}.compose-document-header__save img,.compose-document-header__library img,.compose-library-dialog__save-as img{display:block;width:24px;height:24px}.compose-document-header__save img{filter:brightness(0)}.compose-document-header__library img,.compose-library-dialog__save-as img{filter:brightness(0) invert(1)}.compose-document-header__save{border-color:#65e7ff7a;color:#051014;background:#65e7ff}.compose-document-header__save:disabled{border-color:#8aa0b524;color:#8aa0b585;background:#101a248a;opacity:1}.compose-document-header__save:disabled img{filter:brightness(0) invert(1);opacity:.45}.compose-document-header__save:focus-visible,.compose-document-header__library:focus-visible{outline:2px solid rgba(101,231,255,.68);outline-offset:2px}.compose-document-header__error{margin:0;color:var(--theme-amber);font-size:.78rem;line-height:1.45}.compose-stop-button,.compose-history-button{display:inline-grid;min-width:44px;min-height:44px;place-items:center;border:0;border-radius:8px;padding:0;color:#eef8ff;background:transparent;cursor:pointer;transition:color .14s ease}.compose-stop-button:hover,.compose-history-button:hover{color:#f4fbff}.compose-stop-button:focus-visible,.compose-history-button:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:2px}.compose-history-button:disabled{border:0;color:#8aa0b56b;background:transparent;cursor:not-allowed;opacity:1}.compose-metronome-button,.compose-mode-button,.compose-sheet-button,.compose-jump-button,.compose-menu-button{display:inline-grid;width:44px;min-width:44px;min-height:44px;place-items:center;border:0;border-radius:8px;padding:0;color:#eef8ff;background:transparent;cursor:pointer;transition:color .14s ease}.compose-metronome-button:hover,.compose-mode-button:hover,.compose-sheet-button:hover,.compose-jump-button:hover,.compose-menu-button:hover,.compose-mode-button[aria-pressed=true]{color:#f4fbff}.compose-metronome-button:focus-visible,.compose-mode-button:focus-visible,.compose-sheet-button:focus-visible,.compose-jump-button:focus-visible,.compose-menu-button:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:2px}.compose-metronome-button img,.compose-mode-button img,.compose-sheet-button img,.compose-jump-button img,.compose-menu-button img{display:block;width:24px;height:24px;filter:brightness(0) invert(1)}.compose-metronome-button[aria-pressed=true] img{filter:brightness(0) saturate(100%) invert(89%) sepia(50%) saturate(2545%) hue-rotate(164deg) brightness(103%) contrast(101%)}.compose-library-dialog__save-as{display:inline-flex;align-items:center;justify-content:center;gap:8px}.compose-toolbar{display:flex;align-items:end;justify-content:flex-start;flex-wrap:nowrap;gap:8px}.compose-toolbar-menu{position:fixed;z-index:30;display:grid;width:min(268px,calc(100vw - 24px));border:1px solid rgba(138,160,181,.28);border-radius:8px;padding:6px;color:#eef8ff;background:#0b121a;box-shadow:0 18px 48px #0000006b}.compose-toolbar-menu__item{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;min-height:44px;border:0;border-radius:6px;padding:8px 10px 8px 12px;color:#eef8ff;background:transparent;font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.compose-toolbar-menu__item:hover,.compose-toolbar-menu__item:focus-visible{color:#f4fbff;background:#65e7ff1a;outline:none}.compose-toolbar-menu__item:focus-visible{box-shadow:inset 0 0 0 1px #65e7ff8f}.compose-toolbar-menu__item:disabled{color:#8aa0b57a;cursor:not-allowed}.compose-toolbar-menu__item:disabled:hover{background:transparent}.compose-toolbar-menu__item img{display:block;width:24px;height:24px;filter:brightness(0) invert(1);opacity:.92}.compose-toolbar-menu__item:disabled img{opacity:.38}.compose-toolbar-menu__separator{height:1px;margin:6px 8px;background:#8aa0b533}.compose-jump-menu{position:fixed;z-index:30;display:grid;width:min(220px,calc(100vw - 24px));max-height:min(360px,calc(100dvh - 24px));overflow-y:auto;border:1px solid rgba(138,160,181,.28);border-radius:8px;padding:6px;color:#eef8ff;background:#0b121a;box-shadow:0 18px 48px #0000006b}.compose-jump-menu__item{width:100%;min-height:44px;border:0;border-radius:6px;padding:8px 12px;color:#eef8ff;background:transparent;font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;transition:color .14s ease,background .14s ease}.compose-jump-menu__item:hover,.compose-jump-menu__item:focus-visible{color:#f4fbff;background:#65e7ff1a;outline:none}.compose-jump-menu__item:focus-visible{box-shadow:inset 0 0 0 1px #65e7ff8f}.compose-selection-feedback{margin:-2px 0 0;color:#9fb4c7;font-size:.78rem;line-height:1.45}.compose-bpm-field{display:grid;gap:8px;color:#8aa0b5;font-size:.78rem;font-weight:500}.compose-bpm-field input{width:44px;min-width:44px;min-height:44px;border:1px solid rgba(138,160,181,.26);border-radius:8px;padding:0 4px;color:#f4fbff;background:#101a24;font-size:1rem;font-weight:680;text-align:center}.compose-bpm-field input:focus-visible{outline:2px solid rgba(101,231,255,.5);outline-offset:2px}.compose-playback-controls{display:flex;gap:8px}.compose-play-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;border:0;border-radius:8px;padding:0;color:#eef8ff;background:transparent;cursor:pointer;transition:color .14s ease}.compose-loop-picker{position:fixed;z-index:30;display:grid;width:min(320px,calc(100vw - 24px));max-height:min(420px,calc(100dvh - 24px));gap:12px;overflow-y:auto;border:1px solid rgba(138,160,181,.28);border-radius:8px;padding:12px;color:#eef8ff;background:#0b121a;box-shadow:0 18px 48px #0000006b}.compose-loop-picker__header,.compose-loop-picker__actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.compose-loop-picker__header strong{font-size:.92rem}.compose-loop-picker__close{display:inline-grid;width:44px;min-width:44px;min-height:44px;place-items:center;border:0;border-radius:6px;padding:0;color:#eef8ff;background:transparent;cursor:pointer;font-size:1.35rem}.compose-loop-picker__order{margin:0;color:#9fb4c7;font-size:.8rem;line-height:1.4}.compose-loop-picker__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:8px}.compose-loop-picker__measure{position:relative;display:inline-grid;min-height:44px;place-items:center;border:1px solid rgba(138,160,181,.26);border-radius:6px;color:#eef8ff;background:#101a24;cursor:pointer}.compose-loop-picker__measure[aria-pressed=true]{border-color:#65e7ff94;color:#65e7ff;background:#65e7ff1a}.compose-loop-picker__position{position:absolute;top:3px;right:5px;font-size:.64rem;line-height:1}.compose-loop-picker__clear{min-height:44px;border:1px solid rgba(138,160,181,.26);border-radius:6px;padding:8px 12px;color:#eef8ff;background:#101a24;cursor:pointer;font-size:.82rem;font-weight:600}.compose-loop-picker__clear:disabled{color:#8aa0b56b;cursor:not-allowed}.compose-loop-picker__close:hover,.compose-loop-picker__measure:hover,.compose-loop-picker__clear:not(:disabled):hover{color:#65e7ff}.compose-loop-picker__close:focus-visible,.compose-loop-picker__measure:focus-visible,.compose-loop-picker__clear:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:2px}.compose-play-button:hover{color:#f4fbff}.compose-play-button[aria-pressed=true]{color:#65e7ff}.compose-play-button:focus-visible{outline:2px solid rgba(101,231,255,.5);outline-offset:2px}.compose-music-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100vh;min-height:100dvh;color:#eef8ff;background:#05080c}.compose-music-sheet__toolbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;border-bottom:1px solid rgba(138,160,181,.22);padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));background:#05080c}.compose-music-sheet__identity{display:grid;gap:2px;min-width:0}.compose-music-sheet__identity span{color:#8aa0b5;font-size:.72rem}.compose-music-sheet__identity h1{overflow:hidden;margin:0;color:#f4fbff;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.compose-music-sheet__transport{display:flex;align-items:center;gap:8px}.compose-music-sheet__bpm{min-width:-moz-max-content;min-width:max-content;color:#9fb4c7;font-size:.86rem}.compose-music-sheet__back,.compose-music-sheet__play,.compose-music-sheet__stop,.compose-music-sheet__auto-follow,.compose-music-sheet__export,.compose-music-sheet__view-toggle{min-height:44px;border:1px solid rgba(138,160,181,.28);border-radius:8px;color:#eef8ff;background:#101a24;cursor:pointer}.compose-music-sheet__back,.compose-music-sheet__view-toggle{padding-inline:14px;font-size:.82rem;font-weight:680}.compose-music-sheet__auto-follow,.compose-music-sheet__export{display:inline-grid;width:44px;min-width:44px;min-height:44px;place-items:center;padding:0}.compose-music-sheet__auto-follow img,.compose-music-sheet__export img{display:block;width:24px;height:24px;filter:brightness(0) invert(1)}.compose-music-sheet__view-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.compose-music-sheet__view-toggle span{color:#65e7ff;font-size:.72rem}.compose-music-sheet__play,.compose-music-sheet__stop{display:inline-grid;width:44px;min-width:44px;place-items:center;padding:0}.compose-music-sheet__play{border-color:#65e7ff7a;background:#0d3e49}.compose-music-sheet__auto-follow[aria-pressed=true]{border-color:#65e7ff8f;color:#65e7ff;background:#65e7ff1f}.compose-music-sheet__back:hover,.compose-music-sheet__play:hover,.compose-music-sheet__stop:hover,.compose-music-sheet__auto-follow:hover,.compose-music-sheet__export:hover,.compose-music-sheet__view-toggle:hover{border-color:#65e7ff99}.compose-music-sheet__back:focus-visible,.compose-music-sheet__play:focus-visible,.compose-music-sheet__stop:focus-visible,.compose-music-sheet__auto-follow:focus-visible,.compose-music-sheet__export:focus-visible,.compose-music-sheet__view-toggle:focus-visible{outline:2px solid rgba(101,231,255,.72);outline-offset:2px}.compose-music-sheet__body{min-height:0;overflow:auto;padding:clamp(14px,2.5vw,28px);overscroll-behavior:contain}.compose-music-sheet__error{max-width:720px;margin:0 auto 14px;border:1px solid rgba(255,189,71,.38);border-radius:8px;padding:12px 14px;color:#ffd98c;background:#ffbd4717;font-size:.84rem}.compose-music-sheet__systems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(14px,2vw,22px);width:min(1480px,100%);margin:0 auto}.compose-music-sheet__systems--continuous,.compose-music-sheet__systems--single-measure{grid-template-columns:minmax(0,1fr)}.compose-music-sheet__measure{min-width:0;overflow:hidden;border:1px solid rgba(138,160,181,.28);border-radius:8px;background:#f4fbff;transition:border-color .15s ease,box-shadow .15s ease}.compose-music-sheet__measure[aria-current=true]{border-color:#65e7ffc7;box-shadow:inset 0 0 0 2px #65e7ff7a}.compose-music-sheet__measure-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(16,26,36,.12);padding:9px 12px;color:#182536;background:#eef8ff;font-size:.76rem}.compose-music-sheet__notation-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.compose-music-sheet__notation-stage{position:relative;width:-moz-max-content;width:max-content;min-width:100%}.compose-music-sheet__system .compose-music-sheet__notation-stage{min-width:-moz-max-content;min-width:max-content}.compose-music-sheet__render-target,.compose-music-sheet__render-target svg{display:block}.compose-music-sheet__playhead{position:absolute;top:48px;bottom:22px;z-index:1;width:2px;border-radius:999px;background:#65e7ff;box-shadow:0 0 0 1px #101a24;pointer-events:none;transform:translate(-1px)}.page-frame[data-theme=light] .compose-music-sheet{color:var(--theme-body);background:var(--theme-bg)}.page-frame[data-theme=light] .compose-music-sheet__toolbar{border-color:var(--theme-border);background:var(--theme-bg-soft)}.page-frame[data-theme=light] .compose-music-sheet__identity h1{color:var(--theme-ink)}.page-frame[data-theme=light] .compose-music-sheet__identity span,.page-frame[data-theme=light] .compose-music-sheet__bpm{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-music-sheet__back,.page-frame[data-theme=light] .compose-music-sheet__play,.page-frame[data-theme=light] .compose-music-sheet__stop,.page-frame[data-theme=light] .compose-music-sheet__auto-follow,.page-frame[data-theme=light] .compose-music-sheet__export,.page-frame[data-theme=light] .compose-music-sheet__view-toggle{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-control)}.page-frame[data-theme=light] .compose-music-sheet__view-toggle span{color:var(--theme-cyan)}.page-frame[data-theme=light] .compose-music-sheet__auto-follow[aria-pressed=true]{border-color:var(--theme-cyan);color:var(--theme-cyan);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-music-sheet__auto-follow img,.page-frame[data-theme=light] .compose-music-sheet__export img{filter:brightness(0)}.page-frame[data-theme=light] .compose-music-sheet__measure{border-color:var(--theme-border-strong);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-music-sheet__measure[aria-current=true]{border-color:var(--theme-cyan);box-shadow:inset 0 0 0 2px var(--theme-cyan-soft)}.compose-grid-scroll{position:relative;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:8px}.compose-grid{display:grid;grid-template-columns:max-content max-content;width:-moz-max-content;width:max-content;min-width:100%;overflow:clip;border:1px solid rgba(138,160,181,.2);border-radius:8px;background:#0b121a}.compose-grid__header,.compose-grid__row{display:grid;grid-column:1 / -1;grid-template-columns:max-content max-content}@supports (grid-template-columns: subgrid){.compose-grid__header,.compose-grid__row{grid-template-columns:subgrid}}.compose-grid__timeline{display:flex;min-width:0}.compose-grid__timeline--header{align-items:stretch}.compose-grid__corner,.compose-grid__row-label{position:sticky;left:0;z-index:3;background:#101a24}.compose-grid__corner{display:grid;min-height:96px;place-items:center;border-inline-end:1px solid rgba(138,160,181,.22);padding:6px}.compose-grid__bpm-field{justify-items:center;gap:6px}.compose-measure{border-inline-end:2px solid var(--theme-border)}.compose-measure--header{display:grid}.compose-measure--row,.compose-measure__beats{display:flex}.compose-measure__header{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid rgba(138,160,181,.18);padding:0 4px 0 8px;color:#9fb4c7;background:#101a24b8;font-size:.78rem;font-weight:680}.compose-measure__actions{display:flex;align-items:center;gap:4px}.compose-measure__menu-button{display:inline-grid;min-width:44px;min-height:44px;place-items:center;border:1px solid transparent;border-radius:8px;padding:0;color:#9fb4c7;background:transparent;cursor:pointer}.compose-measure__menu-button:hover{border-color:#65e7ff6b;color:#eef8ff;background:#65e7ff14}.compose-measure__menu-button:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:1px}.compose-measure-menu{position:fixed;z-index:26;display:grid;width:min(220px,calc(100vw - 24px));gap:2px;border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:6px;color:#eef8ff;background:#0b121a;transition:opacity .12s ease}.compose-measure-menu__item{min-height:44px;border:0;border-radius:8px;padding:0 12px;color:inherit;background:transparent;cursor:pointer;font-size:.84rem;font-weight:680;text-align:left;transition:background .12s ease,color .12s ease}.compose-measure-menu__item:hover{color:#f4fbff;background:#65e7ff1a}.compose-measure-menu__item:focus-visible{outline:2px solid rgba(101,231,255,.72);outline-offset:-2px}.compose-measure-menu__item--destructive{color:var(--theme-amber)}.compose-measure-menu__item:disabled{color:#8aa0b56b;background:transparent;cursor:not-allowed;opacity:1}.compose-grid-scroll[data-editing-mode=group-select] .compose-grid__cell{touch-action:none}.compose-selection-menu{z-index:27;display:grid;width:min(220px,calc(100vw - 24px));gap:4px;border:1px solid rgba(138,160,181,.28);border-radius:8px;padding:6px;color:#eef8ff;background:#0b121a}.compose-selection-menu__item{min-height:44px;border:0;border-radius:8px;padding:0 12px;color:inherit;background:transparent;cursor:pointer;text-align:left}.compose-selection-menu__item:hover,.compose-selection-menu__item:focus-visible{color:#f4fbff;background:#65e7ff1a}.compose-selection-menu__item:focus-visible{outline:2px solid rgba(101,231,255,.72);outline-offset:-2px}.compose-selection-menu__item--clear{color:var(--theme-amber)}.compose-selection-menu__item:disabled{color:#8aa0b56b;background:transparent;cursor:not-allowed}.compose-measure__header[data-active-measure=true]{color:#f4fbff;background:#65e7ff1a}.compose-measure__time-button,.compose-grid__subdivision-button,.compose-grid__add-measure{min-height:32px;border:1px solid rgba(138,160,181,.24);border-radius:8px;padding:0 10px;color:#eef8ff;background:#101a24;cursor:pointer;font-size:.76rem;font-weight:680}.compose-measure__time-button:hover,.compose-grid__subdivision-button:hover,.compose-grid__add-measure:hover{border-color:#65e7ff94}.compose-measure__time-button:focus-visible,.compose-grid__subdivision-button:focus-visible,.compose-grid__add-measure:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:2px}.compose-grid__beat-heading{position:relative;display:grid;width:calc(var(--compose-subdivision-count) * 44px);min-height:52px;align-content:end;justify-items:center;gap:3px;border-inline-start:1px solid rgba(138,160,181,.22);padding:4px 6px;color:#9fb4c7;font-size:.72rem;font-weight:600;text-align:center}.compose-grid__beat-heading[data-active-beat=true]{color:#f4fbff;background:#65e7ff14;box-shadow:inset 0 -2px #65e7ffb8}.compose-grid__beat-play-button{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;width:100%;border:0;border-radius:6px;padding:4px 4px 32px;color:inherit;background:transparent;cursor:pointer;font:inherit;font-weight:inherit}.compose-grid__beat-play-button:hover,.compose-grid__beat-play-button:focus-visible{color:#f4fbff;background:#65e7ff1a}.compose-grid__beat-play-button:focus-visible{outline:2px solid rgba(101,231,255,.64);outline-offset:1px}.compose-grid__subdivision-button{position:relative;z-index:1;min-height:28px;padding-inline:8px}.compose-grid__add-measure-slot{display:grid;width:132px;min-height:96px;place-items:center;padding:10px}.compose-grid__add-measure{min-height:44px;white-space:nowrap}.compose-grid__row-label{display:flex;align-items:center;min-height:48px;border-top:1px solid rgba(138,160,181,.18);border-inline-end:1px solid rgba(138,160,181,.22);padding:0 12px;color:#eef8ff;font-size:.82rem;font-weight:680}.compose-grid__beat-cells{display:grid;grid-template-columns:repeat(var(--compose-subdivision-count),minmax(44px,1fr))}.compose-grid__cell{position:relative;display:grid;min-width:44px;min-height:48px;place-items:center;border:0;border-top:1px solid rgba(138,160,181,.18);border-inline-start:1px solid rgba(138,160,181,.1);padding:0;background:transparent;cursor:pointer;touch-action:manipulation;width:100%;height:100%}.compose-grid__cell-slot{min-width:44px;min-height:48px}.compose-grid__cell--beat-start{border-inline-start-color:#8aa0b557}.compose-grid__cell:hover{background:#65e7ff0f}.compose-grid__cell:focus-visible{z-index:1;outline:2px solid rgba(101,231,255,.72);outline-offset:-2px}.compose-grid__cell[data-active-step=true]{background:#65e7ff1a;box-shadow:inset 0 0 0 2px #65e7ffb8}.compose-grid__cell--selected{background:#65e7ff17}.compose-group-selection{position:absolute;z-index:5;border:1px dashed rgba(101,231,255,.9);border-radius:4px;background:#65e7ff0d;pointer-events:none}.compose-grid__cell[data-move-preview-note=true] .compose-note{opacity:.86}.compose-note{display:inline-flex;min-width:0;align-items:center;justify-content:center;border:0;color:transparent;background:transparent;font-size:.78rem;font-weight:760;line-height:1;white-space:nowrap}.compose-note--active{color:#eef8ff;background:transparent}.compose-grid__cell[data-note-accented=true]{color:var(--theme-amber)}.compose-grid__cell[data-note-accented=true] .compose-note{color:inherit}.compose-grid__cell[data-note-variant=ghost] .compose-note{opacity:.64}.compose-note-editor{position:fixed;z-index:26;display:grid;width:min(260px,calc(100vw - 24px));gap:14px;border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:14px;color:#eef8ff;background:#0b121a}.compose-note-editor__header h2,.compose-note-editor__variants,.compose-note-editor__variants legend{margin:0}.compose-note-editor__header h2{font-size:1rem;line-height:1.2}.compose-note-editor__variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0}.compose-note-editor__variants legend{grid-column:1 / -1;margin-bottom:8px;color:#eef8ffad;font-size:.78rem;font-weight:700}.compose-note-editor__variant{position:relative;display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid rgba(138,160,181,.34);border-radius:8px;padding:8px;cursor:pointer}.compose-note-editor__variant input{position:absolute;opacity:0;pointer-events:none}.compose-note-editor__variant:has(input:checked){border-color:#65e7ff;color:#65e7ff;background:#65e7ff1a}.compose-note-editor__variant:focus-within,.compose-note-editor button:focus-visible{outline:2px solid #65e7ff;outline-offset:2px}.compose-note-editor__accent,.compose-note-editor__actions button{min-height:44px;border:1px solid rgba(138,160,181,.34);border-radius:8px;color:inherit;background:transparent;font:inherit;font-weight:700;cursor:pointer}.compose-note-editor__accent[aria-pressed=true]{border-color:var(--theme-amber);color:var(--theme-amber)}.compose-note-editor__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compose-note-editor__delete{grid-column:1 / -1;color:var(--theme-amber)!important}.compose-note-editor__apply{border-color:#65e7ff!important;color:#051014!important;background:#65e7ff!important}.compose-document-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.compose-document-dialog{display:flex;flex-direction:column;width:min(720px,100%);max-height:calc(100dvh - 36px);min-width:0;border:1px solid rgba(101,231,255,.22);border-radius:8px;overflow:hidden;color:#eef8ff;background:#0b121a;box-shadow:0 24px 80px #03050885}.compose-name-dialog,.compose-unsaved-dialog{width:min(440px,100%);padding:18px;gap:18px}.compose-document-dialog__copy{display:grid;gap:8px;min-width:0}.compose-document-dialog__copy h2,.compose-document-dialog__copy p{margin:0}.compose-document-dialog__copy h2{color:#f4fbff;font-size:1.2rem}.compose-document-dialog__copy p{color:#9fb4c7;font-size:.88rem;line-height:1.5}.compose-name-dialog__form,.compose-name-dialog__field{display:grid;gap:8px}.compose-name-dialog__field span{color:#9fb4c7;font-size:.78rem}.compose-name-dialog__field input{width:100%;min-height:44px;border:1px solid rgba(138,160,181,.3);border-radius:8px;padding:0 12px;color:#eef8ff;background:#101a24;font:inherit}.compose-document-dialog__error{min-height:1.2em;margin:0;color:var(--theme-amber);font-size:.78rem;line-height:1.4}.compose-document-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.compose-document-dialog__actions button,.compose-document-dialog__target{min-height:44px;border:1px solid rgba(138,160,181,.26);border-radius:8px;padding:0 14px;color:#eef8ff;background:#101a24;cursor:pointer;font-weight:680}.compose-document-dialog__target{min-width:44px;min-height:44px}.compose-document-dialog__primary{border-color:#65e7ff85!important;color:#051014!important;background:#65e7ff!important}.compose-document-dialog__caution,.compose-library-dialog__delete{border-color:#ffbd476b!important;color:var(--theme-amber);background:#ffbd471a!important}.compose-document-dialog button:focus-visible,.compose-document-dialog input:focus-visible{outline:2px solid rgba(101,231,255,.68);outline-offset:2px}.compose-document-dialog button:disabled{border-color:#8aa0b524;color:#8aa0b57a;background:#101a247a;cursor:not-allowed;opacity:1}.compose-library-dialog__header,.compose-library-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.compose-library-dialog__header{border-bottom:1px solid rgba(138,160,181,.18)}.compose-library-dialog__footer{justify-content:flex-end;border-top:1px solid rgba(138,160,181,.18)}.compose-library-dialog__primary-actions,.compose-library-dialog__item-actions{display:flex;flex-wrap:wrap;gap:8px}.compose-library-dialog__empty{margin:0;padding:28px 18px;color:#9fb4c7;line-height:1.5}.compose-library-dialog__list{min-height:0;margin:0;padding:8px;overflow-y:auto;list-style:none}.compose-library-dialog__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid rgba(138,160,181,.14);border-radius:8px;padding:12px 10px}.compose-library-dialog__item--active{background:#65e7ff0e;box-shadow:inset 3px 0 0 var(--theme-cyan)}.compose-library-dialog__item-copy,.compose-library-dialog__item-title{min-width:0}.compose-library-dialog__item-title{display:flex;align-items:center;gap:8px}.compose-library-dialog__item-title h3{overflow:hidden;margin:0;color:#f4fbff;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.compose-library-dialog__active{flex:0 0 auto;border:1px solid rgba(101,231,255,.32);border-radius:999px;padding:3px 7px;color:#65e7ff;font-size:.68rem;font-weight:720}.compose-library-dialog__metadata{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;color:#8aa0b5;font-size:.74rem}.compose-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.compose-confirm{display:grid;width:min(420px,100%);gap:18px;border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:18px;color:#eef8ff;background:#0b121a;box-shadow:0 24px 80px #00000070}.compose-confirm__copy{display:grid;gap:8px}.compose-confirm__copy h2,.compose-confirm__copy p{margin:0}.compose-confirm__copy h2{color:#f4fbff;font-size:1.2rem}.compose-confirm__copy p{max-width:60ch;color:#9fb4c7;font-size:.88rem;line-height:1.5}.compose-confirm__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compose-confirm__cancel,.compose-confirm__continue{min-height:44px;border:1px solid rgba(138,160,181,.24);border-radius:8px;padding:0 14px;cursor:pointer;font-weight:680}.compose-confirm__cancel{color:#eef8ff;background:#101a24}.compose-confirm__continue{border-color:#ffbd477a;color:#ffd98c;background:#ffbd4721}.compose-confirm__cancel:focus-visible,.compose-confirm__continue:focus-visible{outline:2px solid rgba(101,231,255,.68);outline-offset:2px}.practice-topbar{justify-content:space-between;align-items:stretch;min-height:58px;gap:16px;flex-wrap:wrap}.practice-topbar>.page-navigation-section{width:100%;flex:0 0 100%}.practice-topbar__nav,.metronome-status-cluster{flex-wrap:wrap}.practice-topbar__title{display:grid;align-content:center;gap:3px}.metronome-topbar{display:grid;grid-template-columns:1fr auto 1fr}.metronome-status-cluster{display:inline-flex;align-items:center;justify-content:center;gap:15px;color:#9fb4c7;font-size:var(--metronome-status-font-size, .76rem);line-height:1.2}.metronome-status-cluster span+span:before{margin-right:8px;color:#8aa0b59e}.metronome-status-cluster .silent-count--active{border:0;padding:0;background:transparent;color:#ffd98c}.grouping-topbar__actions{display:flex;justify-content:end;align-items:stretch;gap:10px}.practice-topbar h1,.page-kicker{margin:0}.practice-topbar h1{color:#f4fbff;font-size:1.28rem;line-height:1.15;text-wrap:balance}.page-kicker{color:#8aa0b5;font-size:.78rem}.page-topbar__back{align-self:center}.grouping-pattern-readout strong{color:#f4fbff;font-weight:760}.grouping-pattern-readout__cycle{color:#ffd98c;font-size:.78rem}.menu-icon-button{display:inline-grid;place-items:center;width:44px;min-width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#eef8ff;cursor:pointer;transition:color .16s ease,opacity .16s ease,transform .16s ease}.menu-icon-button:hover,.menu-icon-button:focus-visible,.menu-icon-button[aria-expanded=true]{color:#f4fbff;opacity:1;outline:none}.menu-icon-button:focus-visible{box-shadow:0 0 0 2px #65e7ff47}.menu-icon-button:active{transform:scale(.97)}.menu-icon-button__glyph{display:block;width:28px;height:28px;filter:invert(96%) sepia(11%) saturate(635%) hue-rotate(174deg) brightness(103%) contrast(104%);opacity:.9;pointer-events:none}.grouping-status-row{display:grid;grid-template-columns:1fr;align-items:stretch}.grouping-pattern-readout,.bar-picker,.grouping-panel,.sound-assignment-panel,.grouping-bpm{border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#0b121ac2;padding:12px}.grouping-pattern-readout{color:inherit;display:grid;grid-template-columns:1fr auto;gap:5px 14px;width:100%;min-height:58px;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.grouping-pattern-readout:hover{border-color:#65e7ff7a;background:#0b121aeb}.grouping-pattern-readout:focus-visible{border-color:#65e7ffbd;box-shadow:0 0 0 2px #65e7ff38;outline:none}.grouping-pattern-readout:active{transform:scale(.995)}.grouping-pattern-readout .control-label,.grouping-pattern-readout strong{grid-column:1}.grouping-pattern-readout__meta,.grouping-pattern-readout__cycle{align-self:center}.grouping-pattern-readout__meta{color:#9fb4c7;font-size:.78rem}.grouping-pattern-readout__cycle em{display:inline-block;margin-left:8px;color:#65e7ff;font-size:.78rem;font-style:normal}.grouping-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;align-items:start}.grouping-primary,.grouping-side{gap:12px;min-width:0}.bar-picker{display:grid;gap:10px}.bar-picker__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.bar-picker__mode-switch{display:inline-flex;align-items:center;gap:8px;color:#9fb4c7;font-size:.72rem;line-height:1.1;cursor:pointer}.toggle-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:42px;min-width:42px;height:24px;margin:0;border:1px solid rgba(138,160,181,.32);border-radius:999px;background:#101a24eb;cursor:pointer;transition:border-color .16s ease,background .16s ease}.toggle-switch:before{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:#9fb4c7;content:"";transition:background .16s ease,transform .16s ease}.toggle-switch:checked{border-color:#65e7ff9e;background:#65e7ff24}.toggle-switch:checked:before{background:#65e7ff;transform:translate(18px)}.toggle-switch:hover{border-color:#65e7ff7a}.toggle-switch:focus-visible{outline:none;box-shadow:0 0 0 2px #65e7ff3d}.toggle-switch:disabled:before{background:#9fb4c794}.bar-picker__order-readout{color:#ffd98c;font-size:.76rem;line-height:1.2}.bar-picker__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px}.bar-picker__button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;color:#eef8ff;padding:0 9px;text-align:left}.bar-picker__button small{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#ffbd4729;color:#ffd98c;font-size:.68rem;font-weight:760}.bar-picker__button--loop-selected{border-color:#ffbd479e;background:#ffbd471f;color:#fff1cf}.grouping-grid{display:grid;grid-template-columns:repeat(var(--grouping-grid-columns, 1),minmax(0,1fr));gap:10px}.grouping-beat{display:grid;gap:10px;border:1px solid rgba(138,160,181,.2);border-radius:8px;padding:12px;background:#0b121ac7;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.grouping-beat--accented{border-color:#ffbd47a3;background:#ffbd471a;box-shadow:inset 0 0 0 1px #ffbd4729}.grouping-beat__number{color:#8aa0b5;font-size:.78rem;font-weight:700}.grouping-beat__markers,.accent-position-grid,.grouping-symbol-row,.grouping-presets{display:flex;flex-wrap:wrap;gap:8px}.grouping-marker{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(101,231,255,.34);border-radius:8px;background:#101a24d1;color:#eef8ff;cursor:pointer;font-weight:800;transition:border-color .12s ease,background .12s ease,transform .12s ease,box-shadow .12s ease}.grouping-marker:focus-visible{border-color:#65e7ffe0;box-shadow:0 0 0 2px #65e7ff33;outline:none}.grouping-marker--accented{border-color:#ffbd47b8;background:#ffbd4724;color:#fff1cf}.grouping-marker--active{border-color:#65e7ffe6;box-shadow:0 0 24px #65e7ff2e;transform:translateY(-2px) scale(1.05)}.grouping-marker--accented.grouping-marker--active{border-color:#ffbd47eb;box-shadow:0 0 24px #ffbd4733}.grouping-marker--k{border-width:2px}.grouping-marker--start{outline:1px solid rgba(101,231,255,.62);outline-offset:2px}.grouping-bpm{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:14px;align-items:center}.grouping-side .grouping-bpm{grid-template-columns:1fr}.grouping-side .grouping-bpm .increment-row,.polyrhythm-side .grouping-bpm .increment-row{justify-content:start}.polyrhythm-side .grouping-bpm{grid-template-columns:1fr}.grouping-bpm__value{display:grid;min-width:76px}.grouping-bpm__value span{color:#f4fbff;font-size:2rem;font-weight:800;line-height:1}.grouping-bpm__value small{color:#8aa0b5;font-size:.78rem}.grouping-bpm input[type=range],.sound-assignment-card input[type=range]{width:100%;accent-color:#65e7ff}.grouping-playback-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.grouping-playback-row>*{width:100%;min-width:0;height:48px}.grouping-play-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(101,231,255,.58);border-radius:8px;background:#65e7ff24;color:#f4fbff;cursor:pointer;font-weight:760}.grouping-playback-row .grouping-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin:0;border:1px solid rgba(138,160,181,.18);border-radius:8px;padding:0 8px;background:#101a24b8}.grouping-playback-row .grouping-toggle span{min-width:0;font-size:.72rem;line-height:1.1;overflow-wrap:break-word;text-align:left;text-wrap:balance}.grouping-playback-row .grouping-toggle input{justify-self:end;margin:0}.grouping-control-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.grouping-tab{padding:0 12px;min-width:0}.grouping-panel,.sound-assignment-panel{display:grid;gap:12px}.grouping-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.grouping-symbol-button{min-width:48px;font-weight:800}.grouping-preset-launch{justify-self:start;padding:0 14px}.grouping-preset-actions{display:flex;flex-wrap:wrap;gap:10px}.preset-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:12}.music-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:0;background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:12}.music-sheet-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;width:100vw;height:100vh;height:100dvh;max-height:none;overflow:auto;border:0;border-radius:0;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#0b121a;box-shadow:none}.music-sheet-dialog__header{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.music-sheet-dialog__header h2{margin:4px 0 0;color:#f4fbff;font-size:1.2rem;line-height:1.15}.music-sheet-dialog__paper{min-height:0;overflow:auto;border:1px solid rgba(138,160,181,.24);border-radius:8px;padding:12px;background:#f4fbff}.music-sheet-render-target{min-width:720px;min-height:190px}.music-sheet-render-target svg{display:block}.preset-modal{display:grid;gap:16px;width:min(760px,100%);max-height:min(620px,calc(100vh - 36px));max-height:min(620px,calc(100dvh - 36px));overflow:auto;border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:18px;background:#0b121a;box-shadow:0 24px 80px #00000070}.preset-modal__header,.preset-modal__columns{display:grid;gap:14px}.preset-modal__header{grid-template-columns:1fr auto;align-items:start}.preset-modal__header strong{display:block;margin-top:4px;color:#f4fbff;font-size:1.1rem}.preset-modal__columns{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr)}.preset-modal__columns--with-saved{grid-template-columns:minmax(120px,.7fr) minmax(170px,1fr) minmax(190px,1.1fr)}.preset-modal__column{display:grid;align-content:start;gap:10px}.preset-modal__column h2{margin:0;color:#8aa0b5;font-size:.78rem;font-weight:600}.preset-modal__list,.preset-modal__patterns{display:grid;gap:8px}.preset-modal__group,.preset-modal__pattern{min-height:42px;padding:0 12px;text-align:left}.preset-modal__pattern{color:#eef8ff;font-size:1.02rem;font-weight:800}.saved-pattern{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}.saved-pattern__load{display:grid;gap:2px}.saved-pattern__load span{color:#8aa0b5;font-size:.72rem;font-weight:600}.saved-pattern__load strong{color:#f4fbff;font-size:1rem}.saved-pattern__delete{min-height:42px;border:1px solid rgba(255,189,71,.28);border-radius:8px;padding:0 10px;background:#ffbd4714;color:#ffd98c;cursor:pointer;font-size:.78rem;font-weight:700}.saved-pattern__delete:hover{border-color:#ffbd478a;color:#fff1cf}.saved-pattern-empty{margin:0;color:#8aa0b5;font-size:.86rem}.picker-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:24}.picker-modal{display:grid;gap:16px;width:min(520px,100%);max-height:min(620px,calc(100vh - 36px));max-height:min(620px,calc(100dvh - 36px));overflow:auto;border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:18px;background:#0b121a;box-shadow:0 24px 80px #00000070}.picker-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.picker-modal__header h2{margin:0;color:#f4fbff;font-size:1.2rem}.accent-position{display:grid;gap:4px;min-width:54px;border:1px solid rgba(138,160,181,.2);border-radius:8px;padding:8px 10px;background:#101a24b8;color:#9fb4c7;cursor:pointer}.accent-position--active{border-color:#ffbd47b3;background:#ffbd4724;color:#fff1cf}.sound-assignment-panel__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.sound-assignment-card{display:grid;gap:9px;border:1px solid rgba(138,160,181,.16);border-radius:8px;padding:10px;background:#080d13b8}.sound-assignment-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.sound-assignment-card__header strong{color:#f4fbff;font-size:.9rem}.sound-assignment-card select{min-height:38px;border:1px solid rgba(138,160,181,.24);border-radius:8px;background:#101a24;color:#eef8ff;padding:0 8px}.sound-assignment-card select:focus{border-color:#65e7ffbd;box-shadow:0 0 0 2px #65e7ff33;outline:none}.sound-assignment-card label{display:grid;gap:5px;color:#8aa0b5;font-size:.76rem}.sound-assignment-card__sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sound-assignment-card__mute{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:start}.grouping-time-row{display:grid;grid-template-columns:1fr;gap:12px}.grouping-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;padding:18px;background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:13}.settings-panel{display:grid;align-content:start;gap:14px;border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#0b121a9e;padding:14px}.settings-panel--sound{background:#0b121a7a}.settings-panel__body{display:grid;border-top:1px solid rgba(138,160,181,.14)}.settings-panel__body--sound{border-top-color:#8aa0b52e;padding-top:14px}.settings-toggle-row{margin:0;min-height:64px}.settings-language-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:64px}.settings-toggle-row span,.settings-language-row span{display:grid;gap:4px;min-width:0}.settings-toggle-row strong,.settings-language-row strong{color:#f4fbff;font-size:.94rem;line-height:1.2}.settings-toggle-row small,.settings-language-row small{color:#9fb4c7;font-size:.78rem;line-height:1.4}.settings-segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(84px,1fr));gap:6px;border:1px solid rgba(138,160,181,.18);border-radius:8px;padding:5px;background:#101a24b8}.settings-segmented-control__button{min-height:36px;border:1px solid transparent;border-radius:6px;background:transparent;color:#9fb4c7;cursor:pointer;font-weight:680;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.settings-segmented-control__button:hover,.settings-segmented-control__button:focus-visible{border-color:#65e7ff85;color:#eef8ff;outline:none}.settings-segmented-control__button:focus-visible{box-shadow:0 0 0 2px #65e7ff38}.settings-segmented-control__button:active{transform:scale(.98)}.settings-segmented-control__button--active{border-color:#65e7ff9e;background:#65e7ff1f;color:#f4fbff}.settings-range-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);gap:14px;align-items:center;min-height:64px;border-top:1px solid rgba(138,160,181,.14)}.settings-range-row span{display:grid;gap:4px;min-width:0}.settings-range-row strong{color:#f4fbff;font-size:.94rem;line-height:1.2}.settings-range-row small{color:#9fb4c7;font-size:.78rem;line-height:1.4}.settings-range-row input{width:100%;accent-color:#65e7ff;cursor:pointer}.settings-color-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:14px;align-items:center;min-height:72px;border-top:1px solid rgba(138,160,181,.14);padding-top:12px}.settings-color-row>span{display:grid;gap:4px;min-width:0}.settings-color-row strong{color:#f4fbff;font-size:.94rem;line-height:1.2}.settings-color-row small{color:#9fb4c7;font-size:.78rem;line-height:1.4}.settings-color-swatches{display:grid;grid-template-columns:repeat(5,minmax(42px,1fr));gap:8px}.settings-color-swatch{display:grid;justify-items:center;gap:6px;min-height:54px;border:1px solid rgba(138,160,181,.22);border-radius:8px;padding:8px 6px;background:#101a24b8;color:#9fb4c7;cursor:pointer;font-size:.72rem;font-weight:680;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.settings-color-swatch span{width:18px;height:18px;border:1px solid rgba(244,251,255,.48);border-radius:999px;background:rgb(var(--swatch-color));box-shadow:0 0 16px rgb(var(--swatch-color) / .2)}.settings-color-swatch:hover,.settings-color-swatch:focus-visible{border-color:rgb(var(--swatch-color) / .72);color:#eef8ff;outline:none}.settings-color-swatch:focus-visible{box-shadow:0 0 0 2px rgb(var(--swatch-color) / .22)}.settings-color-swatch:active{transform:scale(.98)}.settings-color-swatch--active{border-color:rgb(var(--swatch-color) / .82);background:rgb(var(--swatch-color) / .12);color:#f4fbff}.settings-section-heading{display:grid;gap:4px;padding:0}.settings-section-heading h2{margin:0;color:#f4fbff;font-size:1.16rem;line-height:1.15}.settings-sound-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:start}.settings-page .sound-assignment-panel{gap:10px;min-width:0;border:0;border-radius:0;background:transparent;padding:12px 0;border-top:1px solid rgba(138,160,181,.14)}.settings-page .sound-assignment-panel:first-child{padding-top:0;border-top:0}.settings-page .sound-assignment-panel:last-child{padding-bottom:0}.settings-page .sound-assignment-panel>.control-label{min-height:44px;border:0;border-radius:0;padding:0 2px 0 0;background:transparent;color:#f4fbff;font-size:.92rem;font-weight:760}.sound-assignment-panel__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;padding:0;background:transparent;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.sound-assignment-panel__toggle:hover,.sound-assignment-panel__toggle:focus-visible{color:#f4fbff;outline:none}.sound-assignment-panel__toggle:focus-visible{box-shadow:0 0 0 2px #65e7ff38}.sound-assignment-panel__toggle:active{transform:scale(.995)}.sound-assignment-panel__chevron{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid rgba(138,160,181,.22);border-radius:6px;color:#65e7ff;font-size:.95rem;line-height:1}.settings-page .sound-assignment-panel__list{display:grid;grid-template-columns:1fr;gap:0;border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#080d1394;overflow:hidden}.settings-page .sound-assignment-card{grid-template-columns:minmax(86px,.72fr) minmax(150px,1fr);gap:10px 12px;align-items:end;border:0;border-radius:0;border-top:1px solid rgba(138,160,181,.14);padding:12px;background:transparent}.settings-page .sound-assignment-card:first-child{border-top:0}.settings-page .sound-assignment-card__header{grid-template-columns:minmax(0,1fr) auto;gap:6px;align-self:center}.settings-page .sound-assignment-card__mute{min-height:32px;color:#9fb4c7}.settings-page .sound-assignment-card label{min-width:0}.settings-page .sound-assignment-card__sliders{grid-column:1 / -1;align-items:end;padding-top:2px}.grouping-sidebar{display:grid;align-content:start;gap:14px;width:min(420px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid rgba(101,231,255,.24);border-radius:8px;padding:18px;background:#0b121a;z-index:14}.grouping-sidebar__header{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.grouping-sidebar__header h2{margin:4px 0 0;color:#f4fbff;font-size:1.2rem;line-height:1.15}.gap-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#030508bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.gap-menu{width:min(460px,100%);border:1px solid rgba(101,231,255,.22);border-radius:8px;padding:18px;background:#0b121a;box-shadow:0 24px 80px #00000070}.gap-menu__header{display:flex;justify-content:space-between;gap:16px}.gap-menu h2{margin:0;font-size:1.35rem}.gap-menu p{margin:5px 0 0;color:#8aa0b5;font-size:.9rem}.close-button{width:38px;height:38px;color:#eef8ff}.toggle-row,.stepper,.stepper__controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.toggle-row{margin:18px 0}.toggle-row input{cursor:pointer}.gap-menu__controls{display:grid;gap:12px}.stepper{border:1px solid rgba(138,160,181,.18);border-radius:8px;padding:12px}.stepper button{width:34px;height:34px;color:#eef8ff}.polyrhythm-page{display:grid;align-content:start;gap:18px}.screen-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;background:rgb(var(--screen-flash-color, 101 231 255) / .16);opacity:0;mix-blend-mode:screen}.screen-flash--active{animation:screen-flash-pulse .16s ease-out}@keyframes screen-flash-pulse{0%{opacity:var(--screen-flash-opacity, .22)}to{opacity:0}}.polyrhythm-topbar{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(120px,1fr);align-items:center}.polyrhythm-ratio-readout{border:1px solid rgba(255,189,71,.34);border-radius:8px;padding:9px 12px;background:#ffbd471a;color:#fff1cf;font-size:1.08rem;font-weight:800;line-height:1}.polyrhythm-bpm .grouping-bpm__value{grid-template-columns:auto auto;align-items:center;justify-content:start;gap:4px 10px}.polyrhythm-bpm .grouping-bpm__value small{grid-column:1 / -1}.polyrhythm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.polyrhythm-primary,.polyrhythm-side{display:grid;align-content:start;gap:12px;min-width:0}.ratio-input-list{border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#0b121ac2}.polyrhythm-stage{position:relative;display:grid;min-height:420px;padding:14px}.polyrhythm-view-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.polyrhythm-view-toggle__button{min-height:42px;border:1px solid rgba(138,160,181,.2);border-radius:8px;background:#101a24b8;color:#9fb4c7;cursor:pointer;font-weight:760;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.polyrhythm-view-toggle__button:hover,.polyrhythm-view-toggle__button:focus-visible{border-color:#65e7ff94;color:#eef8ff;outline:none}.polyrhythm-view-toggle__button:focus-visible{box-shadow:0 0 0 2px #65e7ff38}.polyrhythm-view-toggle__button--active{border-color:#65e7ff9e;background:#65e7ff1f;color:#f4fbff}.geometry-polyrhythm{display:grid;place-items:center;min-width:0}.geometry-polyrhythm__svg{display:block;width:min(100%,520px);aspect-ratio:1;overflow:visible;filter:drop-shadow(0 0 28px rgba(101,231,255,.08))}.geometry-polyrhythm__guide,.geometry-polyrhythm__polygon{fill:none}.geometry-polyrhythm__guide{stroke:#8aa0b51a}.geometry-polyrhythm__polygon{stroke:var(--layer-color);stroke-width:1.35;opacity:.48}.geometry-polyrhythm__marker{fill:#0b121a;stroke:var(--layer-color);stroke-width:2;opacity:.86;transition:fill .12s ease,opacity .12s ease}.geometry-polyrhythm__marker--downbeat{stroke:#ffbd47;stroke-width:2.4;opacity:1}.geometry-polyrhythm__marker--active{fill:var(--layer-color);opacity:1;filter:drop-shadow(0 0 12px rgba(101,231,255,.48))}.geometry-polyrhythm__marker--shared{stroke:#fff1cf;stroke-width:3;filter:drop-shadow(0 0 16px rgba(255,189,71,.52))}.geometry-polyrhythm__center{fill:#8aa0b585}.geometry-polyrhythm__center--active{fill:#ffbd47;filter:drop-shadow(0 0 14px rgba(255,189,71,.58))}.inline-polyrhythm{display:grid;align-content:center;gap:16px;min-width:0}.inline-polyrhythm__row{display:grid;grid-template-columns:minmax(84px,112px) minmax(0,1fr);gap:14px;align-items:center}.inline-polyrhythm__label{display:grid;gap:3px;color:#8aa0b5;font-size:.76rem}.inline-polyrhythm__label strong{color:#f4fbff;font-size:1.35rem;line-height:1}.inline-polyrhythm__track{position:relative;min-height:44px;border:1px solid rgba(138,160,181,.18);border-radius:8px;background:#101a249e}.inline-polyrhythm__track:before{position:absolute;left:10px;right:10px;top:50%;height:1px;background:#8aa0b542;content:""}.inline-polyrhythm__start{position:absolute;top:8px;bottom:8px;left:10px;width:2px;border-radius:999px;background:#ffbd47ad;transform:translate(-50%)}.inline-polyrhythm__marker{position:absolute;top:50%;left:0;width:10px;height:10px;border:2px solid var(--layer-color);border-radius:999px;background:#0b121a;transform:translate(-50%,-50%);transition:background .12s ease,box-shadow .12s ease,border-color .12s ease,transform .12s ease}.inline-polyrhythm__marker--downbeat{border-color:#ffbd47}.inline-polyrhythm__marker--active{background:var(--layer-color);box-shadow:0 0 16px #65e7ff57;transform:translate(-50%,-50%) scale(1.45)}.inline-polyrhythm__marker--shared{border-color:#fff1cf;box-shadow:0 0 18px #ffbd476b}.ratio-input-list{display:grid;gap:12px;padding:12px}.ratio-input-list__values{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ratio-input-list__item{display:inline-grid;grid-template-columns:54px 34px auto;gap:6px;align-items:center}.ratio-input-list__item input{width:54px;height:44px;border:1px solid rgba(138,160,181,.24);border-radius:8px;background:#101a24;color:#f4fbff;font-size:1.1rem;font-weight:800;text-align:center}.ratio-input-list__item input:focus{border-color:#65e7ffbd;box-shadow:0 0 0 2px #65e7ff33;outline:none}.ratio-input-list__remove{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(138,160,181,.22);border-radius:8px;background:#101a24eb;color:#eef8ff;cursor:pointer}.ratio-input-list__separator{color:#ffbd47;font-size:1.35rem;font-weight:800}.ratio-input-list__add{justify-self:start}.polyrhythm-playback-row{grid-template-columns:1fr}.page-frame[data-theme=light]{--theme-bg: #fff7ec;--theme-bg-soft: #fffaf3;--theme-surface: #ffffff;--theme-surface-soft: #fff1df;--theme-control: #ffffff;--theme-ink: #111111;--theme-body: #2a241e;--theme-muted: #6b6258;--theme-border: rgba(0, 0, 0, .384);--theme-border-strong: rgba(17, 17, 17, .14);--theme-cyan: #111111;--theme-cyan-soft: rgba(17, 17, 17, .055);--theme-cyan-border: rgba(133, 85, 85, .14);--theme-amber: #ff9500;--theme-amber-soft: rgba(255, 181, 76, .12);--theme-amber-border: rgba(255, 149, 0, .863);color:var(--theme-body);background:linear-gradient(180deg,var(--theme-bg) 0%,var(--theme-bg-soft) 100%)}.page-frame[data-theme=light] .app-shell,.page-frame[data-theme=light] .sound-assignment-panel__toggle{color:var(--theme-body)}.page-frame[data-theme=light] .practice-topbar h1,.page-frame[data-theme=light] .settings-section-heading h2,.page-frame[data-theme=light] .grouping-sidebar__header h2,.page-frame[data-theme=light] .gap-menu h2,.page-frame[data-theme=light] .dial-bpm span,.page-frame[data-theme=light] .rotary-dial__time,.page-frame[data-theme=light] .meter-readout span,.page-frame[data-theme=light] .picker-summary__button,.page-frame[data-theme=light] .picker-summary__button strong,.page-frame[data-theme=light] .beat-cell__number,.page-frame[data-theme=light] .grouping-bpm__value span,.page-frame[data-theme=light] .grouping-pattern-readout strong,.page-frame[data-theme=light] .inline-polyrhythm__label strong,.page-frame[data-theme=light] .settings-toggle-row strong,.page-frame[data-theme=light] .settings-language-row strong,.page-frame[data-theme=light] .settings-range-row strong,.page-frame[data-theme=light] .settings-color-row strong,.page-frame[data-theme=light] .settings-page .sound-assignment-panel>.control-label{color:var(--theme-ink)}.page-frame[data-theme=light] .dial-bpm small,.page-frame[data-theme=light] .meter-readout small,.page-frame[data-theme=light] .grouping-bpm__value small,.page-frame[data-theme=light] .control-label,.page-frame[data-theme=light] .practice-footer,.page-frame[data-theme=light] .page-kicker,.page-frame[data-theme=light] .rotary-dial__state,.page-frame[data-theme=light] .grouping-pattern-readout__meta,.page-frame[data-theme=light] .metronome-status-cluster,.page-frame[data-theme=light] .inline-polyrhythm__label,.page-frame[data-theme=light] .settings-toggle-row small,.page-frame[data-theme=light] .settings-language-row small,.page-frame[data-theme=light] .settings-range-row small,.page-frame[data-theme=light] .settings-color-row small,.page-frame[data-theme=light] .settings-segmented-control__button,.page-frame[data-theme=light] .settings-color-swatch,.page-frame[data-theme=light] .page-indicator__item,.page-frame[data-theme=light] .grouping-tab,.page-frame[data-theme=light] .polyrhythm-view-toggle__button,.page-frame[data-theme=light] .bar-picker__mode-switch,.page-frame[data-theme=light] .sound-assignment-card__mute{color:var(--theme-muted)}.page-frame[data-theme=light] .settings-panel,.page-frame[data-theme=light] .beat-cell,.page-frame[data-theme=light] .grouping-beat,.page-frame[data-theme=light] .wheel-picker,.page-frame[data-theme=light] .time-picker,.page-frame[data-theme=light] .meter-readout,.page-frame[data-theme=light] .grouping-pattern-readout,.page-frame[data-theme=light] .bar-picker,.page-frame[data-theme=light] .grouping-panel,.page-frame[data-theme=light] .sound-assignment-panel,.page-frame[data-theme=light] .grouping-bpm,.page-frame[data-theme=light] .ratio-input-list,.page-frame[data-theme=light] .polyrhythm-stage,.page-frame[data-theme=light] .inline-polyrhythm__track,.page-frame[data-theme=light] .settings-page .sound-assignment-panel__list{border-color:var(--theme-border);background:#ffffffd1}.page-frame[data-theme=light] .settings-panel--sound{background:#ffffffad}.page-frame[data-theme=light] .icon-button,.page-frame[data-theme=light] .close-button,.page-frame[data-theme=light] .stepper button,.page-frame[data-theme=light] .page-indicator__item,.page-frame[data-theme=light] .grouping-tab,.page-frame[data-theme=light] .bar-picker__button,.page-frame[data-theme=light] .grouping-preset-launch,.page-frame[data-theme=light] .preset-modal__group,.page-frame[data-theme=light] .preset-modal__pattern,.page-frame[data-theme=light] .polyrhythm-view-toggle__button,.page-frame[data-theme=light] .settings-segmented-control,.page-frame[data-theme=light] .settings-segmented-control__button,.page-frame[data-theme=light] .settings-color-swatch,.page-frame[data-theme=light] .toggle-switch,.page-frame[data-theme=light] .ratio-input-list__item input,.page-frame[data-theme=light] .ratio-input-list__remove{border-color:var(--theme-border);background:var(--theme-control);color:var(--theme-body)}.page-frame[data-theme=light] .status-pill,.page-frame[data-theme=light] .silent-count{border-color:var(--theme-border);background:var(--theme-surface-soft);color:var(--theme-muted)}.page-frame[data-theme=light] .status-pill[data-playing=true],.page-frame[data-theme=light] .silent-count--active,.page-frame[data-theme=light] .polyrhythm-ratio-readout{border-color:var(--theme-amber-border);background:var(--theme-amber-soft);color:var(--theme-amber)}.page-frame[data-theme=light] .beat-cell--accented{background:var(--theme-surface)}.page-frame[data-theme=light] .grouping-beat--accented{border-color:var(--theme-amber-border);background:var(--theme-amber-soft);box-shadow:inset 0 0 0 1px #b86a0014}.page-frame[data-theme=light] .page-indicator__item,.page-frame[data-theme=light] .page-indicator__item:hover,.page-frame[data-theme=light] .page-indicator__item:active{border-color:transparent;background:transparent;color:var(--theme-ink)}.page-frame[data-theme=light] .grouping-tab--active,.page-frame[data-theme=light] .bar-picker__button--active,.page-frame[data-theme=light] .preset-modal__group--active,.page-frame[data-theme=light] .polyrhythm-view-toggle__button--active,.page-frame[data-theme=light] .settings-segmented-control__button--active{border-color:var(--theme-cyan-border);background:var(--theme-cyan-soft);color:var(--theme-ink)}.page-frame[data-theme=light] .icon-button:hover,.page-frame[data-theme=light] .close-button:hover,.page-frame[data-theme=light] .stepper button:hover,.page-frame[data-theme=light] .page-indicator__item:hover,.page-frame[data-theme=light] .grouping-tab:hover,.page-frame[data-theme=light] .polyrhythm-view-toggle__button:hover,.page-frame[data-theme=light] .settings-segmented-control__button:hover,.page-frame[data-theme=light] .settings-segmented-control__button:focus-visible,.page-frame[data-theme=light] .settings-color-swatch:hover,.page-frame[data-theme=light] .settings-color-swatch:focus-visible{border-color:var(--theme-cyan-border);color:var(--theme-ink)}.page-frame[data-theme=light] .page-indicator__item--active,.page-frame[data-theme=light] .page-indicator__item--active:hover,.page-frame[data-theme=light] .page-indicator__item--active:active{border-color:transparent;background:transparent;color:var(--theme-amber)}.page-frame[data-theme=light] .tap-tempo,.page-frame[data-theme=light] .bar-picker__button--loop,.page-frame[data-theme=light] .grouping-playback-row .icon-button:first-child{border-color:var(--theme-amber-border);background:var(--theme-amber-soft);color:var(--theme-amber)}.page-frame[data-theme=light] .grouping-play-button{border-color:var(--theme-cyan-border);background:var(--theme-cyan-soft);color:var(--theme-ink)}.page-frame[data-theme=light] .grouping-playback-row .grouping-toggle{border-color:var(--theme-border);background:var(--theme-control);color:var(--theme-body)}.page-frame[data-theme=light] .beat-cell__icon,.page-frame[data-theme=light] .grouping-marker,.page-frame[data-theme=light] .scroll-wheel__center{border-color:var(--theme-cyan)}.page-frame[data-theme=light] .beat-cell__icon{background:transparent}.page-frame[data-theme=light] .beat-cell--accented .beat-cell__icon,.page-frame[data-theme=light] .grouping-marker--accented,.page-frame[data-theme=light] .rotary-dial__dot{border-color:var(--theme-amber);background:var(--theme-amber)}.page-frame[data-theme=light] .beat-cell--accented .beat-cell__icon{background:var(--theme-amber);box-shadow:none}.page-frame[data-theme=light] .grouping-marker--accented{background:var(--theme-amber);color:var(--theme-surface);box-shadow:none}.page-frame[data-theme=light] .beat-cell--active,.page-frame[data-theme=light] .grouping-marker--active{border-color:var(--theme-cyan-border);box-shadow:0 0 18px #11111114}.page-frame[data-theme=light] .beat-cell--accented.beat-cell--active,.page-frame[data-theme=light] .grouping-marker--accented.grouping-marker--active{border-color:var(--theme-amber-border);box-shadow:0 0 18px #b86a0029}.page-frame[data-theme=light] .beat-cell__dot{background:#1111112e}.page-frame[data-theme=light] .beat-cell__dot--active{background:var(--theme-cyan);box-shadow:0 0 12px #1111112e}.page-frame[data-theme=light] .rotary-dial__track{stroke:#1111111a}.page-frame[data-theme=light] .rotary-dial__progress,.page-frame[data-theme=light] .scroll-wheel:before,.page-frame[data-theme=light] .scroll-wheel:after{stroke:var(--theme-cyan);background:#1111112e}.page-frame[data-theme=light] .rotary-dial__tick{stroke:#11111138}.page-frame[data-theme=light] .rotary-dial__hold-line{stroke:var(--theme-amber)}.page-frame[data-theme=light] .scroll-wheel{border-color:var(--theme-border);background:linear-gradient(180deg,rgba(255,247,236,.94),transparent 30%,transparent 70%,rgba(255,247,236,.94)),var(--theme-surface)}.page-frame[data-theme=light] .scroll-wheel__center{background:var(--theme-cyan-soft);box-shadow:inset 0 0 18px #1111110a,0 0 18px #1111110a}.page-frame[data-theme=light] .scroll-wheel__option{color:var(--theme-muted)}.page-frame[data-theme=light] .scroll-wheel__option[data-centered=true],.page-frame[data-theme=light] .settings-color-swatch--active{color:var(--theme-ink)}.page-frame[data-theme=light] .settings-panel__body,.page-frame[data-theme=light] .settings-range-row,.page-frame[data-theme=light] .settings-color-row,.page-frame[data-theme=light] .settings-page .sound-assignment-panel,.page-frame[data-theme=light] .settings-page .sound-assignment-card{border-color:var(--theme-border)}.page-frame[data-theme=light] .grouping-sidebar,.page-frame[data-theme=light] .gap-menu,.page-frame[data-theme=light] .preset-modal,.page-frame[data-theme=light] .picker-modal{border-color:var(--theme-cyan-border);background:var(--theme-surface)}.page-frame[data-theme=light] .picker-modal__header h2{color:var(--theme-ink)}.page-frame[data-theme=light] .gap-menu-backdrop,.page-frame[data-theme=light] .preset-modal-backdrop,.page-frame[data-theme=light] .grouping-sidebar-backdrop,.page-frame[data-theme=light] .picker-modal-backdrop{background:#fff7ecc7}.page-frame[data-theme=light] .menu-icon-button,.page-frame[data-theme=light] .close-button,.page-frame[data-theme=light] .stepper button{color:var(--theme-body)}.page-frame[data-theme=light] .menu-icon-button__glyph{filter:invert(12%) sepia(23%) saturate(978%) hue-rotate(163deg) brightness(95%) contrast(93%)}.page-frame[data-theme=light] .geometry-polyrhythm__guide{stroke:#1111111a}.page-frame[data-theme=light] .geometry-polyrhythm__svg{filter:none}.page-frame[data-theme=light] .geometry-polyrhythm__polygon{opacity:.72}.page-frame[data-theme=light] .geometry-polyrhythm__marker,.page-frame[data-theme=light] .inline-polyrhythm__marker{fill:var(--theme-surface)}.page-frame[data-theme=light] .geometry-polyrhythm__center{fill:#1111116b}.page-frame[data-theme=light] .page-navigation-section{border-top-color:var(--theme-border);background:#fff7ecdb}.page-frame[data-theme=light] .ratio-input-list__separator{color:var(--theme-amber)}.page-frame[data-theme=light] .compose-bpm-field{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-stop-button,.page-frame[data-theme=light] .compose-history-button,.page-frame[data-theme=light] .compose-metronome-button,.page-frame[data-theme=light] .compose-mode-button,.page-frame[data-theme=light] .compose-sheet-button,.page-frame[data-theme=light] .compose-jump-button,.page-frame[data-theme=light] .compose-menu-button{border:0;color:var(--theme-ink);background:transparent}.page-frame[data-theme=light] .compose-measure__menu-button{border-color:var(--theme-border-strong);color:var(--theme-ink);background:var(--theme-control)}.page-frame[data-theme=light] .compose-metronome-button img,.page-frame[data-theme=light] .compose-mode-button img,.page-frame[data-theme=light] .compose-sheet-button img,.page-frame[data-theme=light] .compose-jump-button img,.page-frame[data-theme=light] .compose-menu-button img,.page-frame[data-theme=light] .compose-document-header__library img,.page-frame[data-theme=light] .compose-library-dialog__save-as img{filter:brightness(0)}.page-frame[data-theme=light] .compose-metronome-button[aria-pressed=true] img{filter:brightness(0) saturate(100%) invert(89%) sepia(50%) saturate(2545%) hue-rotate(164deg) brightness(103%) contrast(101%)}.page-frame[data-theme=light] .compose-toolbar-menu{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface);box-shadow:0 18px 48px #2a241e2e}.page-frame[data-theme=light] .compose-toolbar-menu__item{color:var(--theme-body)}.page-frame[data-theme=light] .compose-toolbar-menu__item:hover,.page-frame[data-theme=light] .compose-toolbar-menu__item:focus-visible{color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-toolbar-menu__item:disabled{color:var(--theme-muted);opacity:.52}.page-frame[data-theme=light] .compose-toolbar-menu__item img{filter:brightness(0)}.page-frame[data-theme=light] .compose-toolbar-menu__separator{background:var(--theme-border-strong)}.page-frame[data-theme=light] .compose-jump-menu{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface);box-shadow:0 18px 48px #2a241e2e}.page-frame[data-theme=light] .compose-jump-menu__item{color:var(--theme-body)}.page-frame[data-theme=light] .compose-jump-menu__item:hover,.page-frame[data-theme=light] .compose-jump-menu__item:focus-visible{color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-loop-picker{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface);box-shadow:0 18px 48px #2a241e2e}.page-frame[data-theme=light] .compose-loop-picker__close,.page-frame[data-theme=light] .compose-loop-picker__measure,.page-frame[data-theme=light] .compose-loop-picker__clear{border-color:var(--theme-border-strong);color:var(--theme-ink);background:var(--theme-control)}.page-frame[data-theme=light] .compose-loop-picker__close{border:0;background:transparent}.page-frame[data-theme=light] .compose-loop-picker__order{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-loop-picker__measure[aria-pressed=true]{border-color:#65e7ffb8;color:#167083;background:#65e7ff24}.page-frame[data-theme=light] .compose-loop-picker__clear:disabled{color:var(--theme-muted);opacity:.52}.page-frame[data-theme=light] .compose-selection-feedback{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-selection-menu{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-selection-menu__item:hover,.page-frame[data-theme=light] .compose-selection-menu__item:focus-visible{color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-selection-menu__item--clear{color:var(--theme-amber)}.page-frame[data-theme=light] .compose-history-button:disabled{border:0;color:var(--theme-muted);background:transparent}.page-frame[data-theme=light] .compose-measure-menu__item:disabled{border-color:#11111114;color:var(--theme-muted);background:var(--theme-surface-soft)}.page-frame[data-theme=light] .compose-measure-menu{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-measure-menu__item:hover{color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-measure-menu__item--destructive{color:var(--theme-amber)}.page-frame[data-theme=light] .compose-bpm-field input{border-color:var(--theme-border-strong);color:var(--theme-ink);background:var(--theme-control)}.page-frame[data-theme=light] .compose-play-button{border:0;color:var(--theme-ink);background:transparent}.page-frame[data-theme=light] .compose-play-button[aria-pressed=true]{color:#65e7ff}.page-frame[data-theme=light] .compose-grid{border-color:var(--theme-border-strong);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-grid__corner,.page-frame[data-theme=light] .compose-grid__row-label{border-color:var(--theme-border-strong);color:var(--theme-ink);background:var(--theme-bg-soft)}.page-frame[data-theme=light] .compose-measure__header{border-color:var(--theme-border-strong);color:var(--theme-muted);background:var(--theme-surface-soft)}.page-frame[data-theme=light] .compose-measure__time-button,.page-frame[data-theme=light] .compose-grid__subdivision-button{border-color:var(--theme-border-strong);color:var(--theme-ink);background:var(--theme-control)}.page-frame[data-theme=light] .compose-grid__add-measure{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-grid__beat-heading,.page-frame[data-theme=light] .compose-grid__cell{border-color:var(--theme-border-strong)}.page-frame[data-theme=light] .compose-grid__beat-heading{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-measure__header[data-active-measure=true],.page-frame[data-theme=light] .compose-grid__beat-heading[data-active-beat=true]{color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-grid__cell:hover,.page-frame[data-theme=light] .compose-grid__cell[data-active-step=true],.page-frame[data-theme=light] .compose-grid__cell--selected{background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-group-selection{border-color:var(--theme-cyan);background:#227e970d}.page-frame[data-theme=light] .compose-grid__cell[data-active-step=true]{box-shadow:inset 0 0 0 2px var(--theme-cyan)}.page-frame[data-theme=light] .compose-note--active{color:var(--theme-ink);background:transparent}.page-frame[data-theme=light] .compose-grid__cell[data-note-accented=true] .compose-note{color:inherit}.page-frame[data-theme=light] .compose-note-editor{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-note-editor__variants legend{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-note-editor__variant,.page-frame[data-theme=light] .compose-note-editor__accent,.page-frame[data-theme=light] .compose-note-editor__actions button{border-color:var(--theme-border-strong);background:var(--theme-control)}.page-frame[data-theme=light] .compose-note-editor__variant:has(input:checked){border-color:var(--theme-cyan);color:var(--theme-ink);background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-document-header__name{color:var(--theme-ink)}.page-frame[data-theme=light] .compose-document-header__status{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-document-header__library,.page-frame[data-theme=light] .compose-document-header__save:disabled{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-control)}.page-frame[data-theme=light] .compose-document-header__save{border-color:var(--theme-cyan);color:#fff;background:var(--theme-cyan)}.page-frame[data-theme=light] .compose-document-header__save img{filter:brightness(0) invert(1)}.page-frame[data-theme=light] .compose-document-header__save:disabled img{filter:brightness(0);opacity:.42}.page-frame[data-theme=light] .compose-document-dialog-backdrop{background:#fff7ecc7}.page-frame[data-theme=light] .compose-document-dialog{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-document-dialog__copy h2,.page-frame[data-theme=light] .compose-library-dialog__item-title h3{color:var(--theme-ink)}.page-frame[data-theme=light] .compose-document-dialog__copy p,.page-frame[data-theme=light] .compose-name-dialog__field span,.page-frame[data-theme=light] .compose-library-dialog__empty,.page-frame[data-theme=light] .compose-library-dialog__metadata{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-name-dialog__field input,.page-frame[data-theme=light] .compose-document-dialog__actions button,.page-frame[data-theme=light] .compose-document-dialog__target{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-control)}.page-frame[data-theme=light] .compose-library-dialog__header,.page-frame[data-theme=light] .compose-library-dialog__footer,.page-frame[data-theme=light] .compose-library-dialog__item{border-color:var(--theme-border)}.page-frame[data-theme=light] .compose-library-dialog__item--active{background:var(--theme-cyan-soft)}.page-frame[data-theme=light] .compose-library-dialog__active{border-color:var(--theme-cyan);color:var(--theme-cyan)}.page-frame[data-theme=light] .compose-confirm-backdrop{background:#fff7ecc7}.page-frame[data-theme=light] .compose-confirm{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-surface)}.page-frame[data-theme=light] .compose-confirm__copy h2{color:var(--theme-ink)}.page-frame[data-theme=light] .compose-confirm__copy p{color:var(--theme-muted)}.page-frame[data-theme=light] .compose-confirm__cancel{border-color:var(--theme-border-strong);color:var(--theme-body);background:var(--theme-control)}.page-frame[data-theme=light] .compose-confirm__continue{border-color:var(--theme-amber-border);color:var(--theme-amber);background:var(--theme-amber-soft)}.page-frame[data-theme=light] button:disabled,.page-frame[data-theme=light] input:disabled{opacity:1}.page-frame[data-theme=light] .icon-button:disabled,.page-frame[data-theme=light] .ratio-input-list__remove:disabled{border-color:#11111114;background:#fff0dc9e;color:var(--theme-muted)}.page-frame[data-theme=light] input[type=range]{accent-color:var(--theme-cyan)}button:disabled,input:disabled{cursor:not-allowed;opacity:.46}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.compose-note-editor,.compose-note-editor *,.compose-measure-menu,.compose-measure-menu *,.compose-selection-menu,.compose-selection-menu *,.compose-document-dialog,.compose-document-dialog *,.compose-music-sheet__measure{transition-duration:.01ms!important}.beat-cell--active,.grouping-marker--active,.tap-tempo:active,.icon-button:active,.close-button:active,.stepper button:active{transform:none}}@media(max-width:760px){.app-shell{padding:max(12px,env(safe-area-inset-top)) clamp(8px,3vw,14px) calc(max(12px,env(safe-area-inset-bottom)) + 68px)}.page-navigation-section{position:fixed;left:0;right:0;bottom:0;z-index:20;justify-content:center;border-top:1px solid rgba(255,255,255,.363);border-top-right-radius:40px;border-top-left-radius:40px;padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#2c87fd00;-webkit-backdrop-filter:blur(7px) saturate(125%) brightness(100%);backdrop-filter:blur(7px) saturate(125%) brightness(100%);opacity:1;transform:translateY(0);transition:transform .18s ease-in,opacity .18s ease-in}.page-frame[data-theme=light] .page-navigation-section{border-top-right-radius:40px;border-top-left-radius:40px;border-top-color:#1111116b;background:#fffaf30c;-webkit-backdrop-filter:blur(8px) saturate(125%);backdrop-filter:blur(8px) saturate(125%);box-shadow:0 -8px 24px #4a301414}.page-navigation-section[data-scroll-hidden=true]{opacity:0;pointer-events:none;transform:translateY(calc(100% + 12px));transition-timing-function:ease-out}.page-navigation-section .page-indicator{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(430px,100%);gap:8px}.page-navigation-section .page-indicator__item{min-height:46px;padding:6px 8px}.page-navigation-section .page-indicator__icon{width:28px;height:28px}.metronome-page{min-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)) - 68px);align-content:space-between;gap:clamp(10px,2.1dvh,20px)}.compose-toolbar{display:grid;grid-template-columns:repeat(7,44px);align-items:end;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.compose-music-sheet__toolbar{grid-template-columns:auto minmax(0,1fr);gap:8px}.compose-music-sheet__identity{grid-column:1 / -1;grid-row:1}.compose-music-sheet__back{grid-column:1;grid-row:2;justify-self:start}.compose-music-sheet__transport{grid-column:2;grid-row:2;max-width:100%;overflow-x:auto;justify-content:end}.compose-music-sheet__systems{grid-template-columns:minmax(0,1fr)}.compose-music-sheet__body{padding:10px}.compose-toolbar::-webkit-scrollbar{display:none}.compose-playback-controls{display:grid;grid-template-columns:minmax(0,1fr)}.compose-document-header__document{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.compose-document-header__save,.compose-document-header__library{padding:0}.compose-document-dialog-backdrop{align-items:end;justify-items:center;padding:max(12px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));padding-bottom:calc(76px + env(safe-area-inset-bottom))}.compose-document-dialog{width:100%;max-height:calc(100dvh - 96px - env(safe-area-inset-bottom))}.compose-name-dialog,.compose-unsaved-dialog{padding:16px}.compose-library-dialog__header{align-items:stretch;flex-direction:column}.compose-library-dialog__primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.compose-library-dialog__item{grid-template-columns:minmax(0,1fr)}.compose-library-dialog__item-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.compose-grid-scroll{margin-inline:calc(clamp(8px,3vw,14px)*-1);padding-inline:clamp(8px,3vw,14px)}.practice-topbar,.metronome-topbar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px}.practice-topbar.compose-topbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.practice-topbar__nav{justify-content:space-between}.page-indicator{justify-content:start}.grouping-topbar__actions{display:grid;grid-template-columns:minmax(0,1fr)}.beat-strip{grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:clamp(8px,1.5dvh,12px);margin:0}.beat-cell{min-height:clamp(76px,11.4dvh,94px);padding:clamp(10px,1.8dvh,14px) 7px}.beat-cell__icon{width:clamp(22px,6.8vw,28px);height:clamp(22px,6.8vw,28px)}.control-deck{gap:clamp(10px,1.8dvh,16px)}.dial-stage{--rotary-dial-effective-size: min(var(--rotary-dial-size, 300px), calc(100vw - 18px) , clamp(260px, 45dvh, 318px));--tap-tempo-button-effective-width: min(var(--tap-tempo-button-width, 82px), 22vw)}.dial-bpm{margin-bottom:clamp(-8px,-.9dvh,-4px)}.dial-bpm span{font-size:clamp(2.75rem,7.2dvh,4rem)}.increment-row{gap:clamp(8px,1.4dvh,10px)}.lower-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.grouping-layout,.polyrhythm-topbar,.polyrhythm-layout{grid-template-columns:1fr}.polyrhythm-stage{min-height:340px;padding:12px}.inline-polyrhythm__row{grid-template-columns:76px minmax(0,1fr);gap:10px}.grouping-status-row,.grouping-control-tabs{grid-template-columns:1fr}.grouping-bpm .increment-row{justify-content:start}.grouping-sidebar-backdrop{padding:10px}.grouping-sidebar{width:100%;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:14px}.settings-sound-grid{grid-template-columns:1fr}.settings-page .sound-assignment-card{grid-template-columns:1fr;gap:10px}.settings-language-row,.settings-range-row,.settings-color-row{grid-template-columns:1fr;gap:10px;padding:12px 0}.settings-color-swatches{grid-template-columns:repeat(5,minmax(0,1fr))}.settings-segmented-control{width:100%}.settings-page .sound-assignment-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.preset-modal{padding:14px}.preset-modal__columns,.preset-modal__columns--with-saved{grid-template-columns:1fr}.preset-modal__list{grid-template-columns:repeat(2,minmax(0,1fr))}.wheel-picker,.time-picker{min-width:0;padding:0}.picker-summary{min-height:clamp(76px,11.2dvh,96px);padding:0}.picker-summary__button{gap:clamp(7px,1.2dvh,10px);padding:clamp(11px,1.7dvh,14px) 10px}.picker-summary__button strong{font-size:clamp(1.45rem,6vw,1.85rem);white-space:nowrap}.scroll-wheel{height:8.25rem}.scroll-wheel__center{left:6px;right:6px;height:40px}.scroll-wheel__option{left:6px;right:6px;font-size:.96rem;transform:translateY(calc(-50% + var(--offset) * 38px)) scale(.9)}.scroll-wheel__option[data-depth="1"]{transform:translateY(calc(-50% + var(--offset) * 38px)) scale(.92)}.scroll-wheel__option[data-centered=true]{transform:translateY(calc(-50% + var(--offset) * 38px)) scale(1)}.time-picker__columns{gap:7px}.time-picker__slash{font-size:1.45rem}}@media(max-width:380px){.compose-library-dialog__item-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.compose-library-dialog__load{grid-column:1 / -1}.page-indicator__item{padding:0 12px}.icon-button{min-width:64px}.picker-summary__button{padding-inline:8px}}@media(max-width:340px){.app-shell{padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right))}.page-indicator,.increment-row,.lower-controls{gap:8px}.page-indicator__item{padding:0 10px}.beat-strip{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:6px}.beat-cell{padding-inline:5px}.dial-stage{--rotary-dial-effective-size: min(var(--rotary-dial-size, 300px), calc(100vw - 12px) , clamp(254px, 44dvh, 300px))}}@media(max-width:340px)and (max-height:700px){.metronome-page{align-content:space-between;gap:8px}.beat-cell{min-height:64px;gap:4px}.beat-cell__icon{width:20px;height:20px}.dial-stage{--rotary-dial-effective-size: min(var(--rotary-dial-size, 300px), calc(100vw - 12px) , 258px)}.dial-bpm span{font-size:2.6rem}.icon-button{min-height:40px}.picker-summary{min-height:70px}}@media(max-width:760px)and (max-height:620px){.metronome-page{align-content:start;gap:10px}.beat-cell{min-height:68px;gap:5px}.beat-cell__icon{width:20px;height:20px}.dial-stage{--rotary-dial-effective-size: min(var(--rotary-dial-size, 300px), calc(100vw - 18px) , 252px)}.picker-summary{min-height:72px}}@media(max-width:760px)and (min-height:720px){.metronome-page{gap:clamp(16px,2.7dvh,24px)}.dial-stage{--rotary-dial-effective-size: min(var(--rotary-dial-size, 300px), calc(100vw - 18px) , clamp(286px, 43dvh, 328px))}.picker-summary{min-height:clamp(92px,12dvh,108px)}}@media(min-width:761px)and (max-width:1024px){.metronome-page{align-content:space-between;gap:clamp(20px,2.5dvh,28px)}.beat-strip{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.beat-cell{min-height:clamp(96px,10dvh,118px);padding:clamp(14px,1.7dvh,18px) 10px}.beat-cell__icon{width:30px;height:30px}.dial-stage{--rotary-dial-effective-size: min(340px, 48vw, 42dvh)}.picker-summary{min-height:clamp(112px,11.5dvh,128px)}.picker-summary__button strong{font-size:2.15rem}}@media(orientation:landscape){.page-frame{--landscape-navigation-width: 72px}.app-shell{padding-left:calc(var(--landscape-navigation-width) + max(12px,env(safe-area-inset-left)))}.practice-topbar,.metronome-topbar{display:flex;align-items:stretch}.practice-topbar.compose-topbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.practice-topbar>.page-navigation-section{position:fixed;left:0;top:0;bottom:0;z-index:24;width:var(--landscape-navigation-width);min-width:var(--landscape-navigation-width);justify-content:center;align-items:center;border:0;border-right:1px solid rgba(138,160,181,.22);border-radius:0;padding:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom));background:#080d13f5;box-shadow:8px 0 24px #0000001f;-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%);opacity:1;pointer-events:auto;transform:none;transition:none}.practice-topbar>.page-navigation-section[data-scroll-hidden=true]{opacity:1;pointer-events:auto;transform:none}.practice-topbar>.page-navigation-section .page-indicator{display:flex;flex-direction:column;width:auto;justify-content:center;gap:10px}.practice-topbar>.page-navigation-section .page-indicator__item{min-height:36px;padding:0 16px}.practice-topbar>.page-navigation-section .page-indicator__icon{width:26px;height:26px}.page-frame[data-theme=light] .practice-topbar>.page-navigation-section{border:0;border-right:1px solid var(--theme-border);background:#fff7ecf0;box-shadow:8px 0 24px #4a301414}.compose-document-header__error{grid-column:1}}@media(orientation:landscape)and (max-width:760px){.app-shell{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
