@font-face{font-family:Bodoni Moda;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bodoni-moda-latin-400-normal-CIWtV3SY.woff2)format("woff2"),url(/assets/bodoni-moda-latin-400-normal-9rKXKbpF.woff)format("woff")}@font-face{font-family:Bodoni Moda;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bodoni-moda-latin-500-normal-CtAcMono.woff2)format("woff2"),url(/assets/bodoni-moda-latin-500-normal-B12im5S-.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-italic-rmlAbObI.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-italic-CgbdrOqg.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff")}@font-face{font-family:Alegreya Sans SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-sc-latin-400-normal-E7HoNan_.woff2)format("woff2"),url(/assets/alegreya-sans-sc-latin-400-normal-uj2tBMS4.woff)format("woff")}:root{--paper:#f7f5fb;--ink:#2a2438;--ink-soft:#6e6784;--rule:#dcd7e8;--lavender:#8a70d6;--lavender-deep:#5c46a6;--lavender-wash:#eae4f7;--display:"Bodoni Moda", "Didot", "Times New Roman", serif;--text:"Alegreya Sans", "Optima", "Segoe UI", sans-serif;--smallcaps:"Alegreya Sans SC", "Alegreya Sans", "Segoe UI", sans-serif;--column:620px;--margin-column:150px}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:var(--text);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.45}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--lavender-deep);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{grid-template-columns:minmax(0, var(--column));place-content:safe center center;align-items:start;gap:44px;min-height:100dvh;padding:30px 22px 34px;display:grid}@media (width>=900px){.page{grid-template-columns:minmax(0, var(--column)) var(--margin-column)}}.sheet{flex-direction:column;gap:20px;min-width:0;display:flex}.label{font-family:var(--smallcaps);color:var(--ink-soft);letter-spacing:0;font-size:13px;font-weight:400}.note{font-family:var(--text);color:var(--ink-soft);margin:10px 0 0;font-size:15px;font-style:italic}.note-inline{margin:0}.alert{font-family:var(--text);color:var(--ink);text-align:center;margin:0;font-style:italic}.link{color:var(--lavender-deep);font-family:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:15px}.link:hover{text-underline-offset:3px;text-decoration:underline}.staff{align-items:center;gap:18px;padding-top:22px;display:flex;position:relative}.staff:before{content:"";background:var(--rule);height:1px;position:absolute;top:44px;left:0;right:0}.timesig-anchor{flex:none;display:flex;position:relative}.timesig{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;min-width:40px;height:44px;padding:0 6px;display:flex;position:relative}.timesig:after{content:"";border:1px dashed #0000;position:absolute;inset:-3px 0}.timesig:hover:after,.timesig[aria-expanded=true]:after{border-color:var(--lavender)}.timesig:hover .timesig-numeral,.timesig[aria-expanded=true] .timesig-numeral{color:var(--lavender-deep)}.timesig-numeral{font-family:var(--display);font-size:27px;font-weight:400;line-height:22px}.staff-line{flex:1;justify-content:space-between;align-items:center;min-width:0;height:44px;display:flex;position:relative}.staff-beat{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.staff-note{transform-origin:50%;display:flex}.staff-accent{color:var(--ink);display:flex;position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%)}.notehead{width:clamp(15px,4.4vw,22px);height:auto;color:var(--ink)}.notehead-hollow{color:var(--ink-soft)}.staff-beat.is-current .notehead,.staff-beat.is-current .staff-accent{color:var(--lavender)}.staff-beat.is-current .staff-note{animation:.1s ease-out notehead-pulse}@keyframes notehead-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.signature-pop{z-index:20;background:var(--paper);border:1px solid var(--rule);gap:12px;min-width:200px;padding:14px 16px 16px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 34px #2a243829}.signature-row{gap:4px;display:grid}.segmented{gap:2px;display:flex}.segment{min-height:40px;font-family:var(--display);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;font-size:20px}.segment:hover{color:var(--ink)}.segment[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--lavender)}.tempo{gap:12px;display:grid}.tempo-mark{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.tempo-note{color:var(--ink);margin-bottom:4px}.tempo-equals{font-family:var(--display);color:var(--ink);font-size:32px;font-weight:400}.tempo-numeral{font-family:var(--display);color:var(--ink);cursor:text;font-variant-numeric:lining-nums;background:0 0;border:0;padding:0 4px;font-size:clamp(52px,12vw,76px);font-weight:500;line-height:1}.tempo-input{text-align:center;border-bottom:1px solid var(--rule);cursor:text;width:3.2ch}.tempo-name{font-family:var(--text);color:var(--ink-soft);font-size:19px;font-style:italic}.rail{align-items:center;gap:12px;display:flex}.rail-track{flex:1;min-width:0;height:30px;position:relative}.rail-ticks{width:calc(100% - 14px);height:12px;position:absolute;top:15px;left:7px}.rail-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:30px;margin:0;padding:0;position:absolute;inset:0}.rail-input::-webkit-slider-runnable-track{background:0 0;border:0;height:30px}.rail-input::-webkit-slider-thumb{appearance:none;background:var(--lavender);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:0;border-radius:2px;width:14px;height:14px;margin-top:8px}.rail-input::-moz-range-track{background:0 0;border:0;height:30px}.rail-input::-moz-range-progress{background:0 0}.rail-input::-moz-range-thumb{background:var(--lavender);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:0;border-radius:2px;width:14px;height:14px}.step{color:var(--ink-soft);font-family:var(--text);cursor:pointer;background:0 0;border:0;min-width:34px;min-height:40px;font-size:22px;line-height:1}.step:hover:not(:disabled){color:var(--ink)}.step:disabled{color:var(--rule);cursor:default}.transport-stack{flex-direction:column;align-items:center;gap:8px;display:flex}.transport{background:var(--ink);width:56px;height:56px;color:var(--paper);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.transport-play{margin-left:3px}.transport.is-playing{background:var(--lavender)}.transport:disabled{background:var(--rule);cursor:default}.timer{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px;display:flex}.timer-digits{font-family:var(--display);color:var(--ink);font-size:27px;font-weight:400}.timer-digit,.timer-colon{text-align:center;display:inline-block}.timer-digit{width:.62em}.timer-colon{width:.3em}.strip{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 26px;padding-top:12px;display:flex}.field{align-items:center;gap:10px;display:inline-flex}.select{font-family:var(--text);color:var(--ink);border:0;border-bottom:1px solid var(--rule);appearance:none;cursor:pointer;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236e6784' stroke-width='1.3'/%3E%3C/svg%3E");background-position:right 2px center;background-repeat:no-repeat;background-size:10px 6px;min-height:40px;padding:4px 22px 4px 2px;font-size:16px}.select:hover{border-bottom-color:var(--ink-soft)}.stepper{align-items:center;gap:2px;display:flex}.stepper>.label{margin-right:6px}.stepper-value{font-family:var(--display);text-align:center;border-bottom:1px solid var(--rule);min-width:1.4em;font-size:24px;line-height:1.15}.check{cursor:pointer;align-items:center;gap:9px;min-height:40px;display:inline-flex}.check-input{opacity:0;width:1px;height:1px;position:absolute}.check-box{width:22px;height:22px;color:var(--rule);justify-content:center;align-items:center;display:flex}.check-input:checked+.check-box{color:var(--lavender)}.check-input:focus-visible+.check-box{outline:2px solid var(--lavender-deep);outline-offset:2px}.check-label{font-size:16px}.marginalia{min-width:0;padding-top:24px}.marginalia>.label{margin:0 0 8px;display:block}.log{margin:0;padding:0;list-style:none}.log-entry{text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;justify-content:space-between;align-items:baseline;gap:10px;width:100%;min-height:40px;padding:8px 8px 8px 10px;display:flex}.log-entry:hover{background:var(--lavender-wash)}.log-entry.is-current{border-left-color:var(--lavender)}.log-bpm{color:var(--ink);font-size:17px}.log-when{color:var(--ink-soft);font-size:14px}.log-clear{margin-top:8px;padding-left:10px}.log-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 12px;display:flex}.log-strip>.label{margin:0}.log-chips{flex-wrap:wrap;justify-content:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.log-chip{min-height:40px;color:var(--ink-soft);cursor:pointer;font-variant-numeric:lining-nums;background:0 0;border:0;border-bottom:2px solid #0000;padding:4px 10px;font-size:16px}.log-chip:hover{background:var(--lavender-wash);color:var(--ink)}.log-chip.is-current{color:var(--ink);border-bottom-color:var(--lavender)}@media (width<=899px){.page{gap:0}}@media (width<=480px){.page{padding:22px 16px 28px}.sheet{gap:16px}.staff{gap:12px}.strip{gap:4px 18px}}@media (prefers-reduced-motion:reduce){.staff-beat.is-current .staff-note{animation:none}}
