:root{color:#493a50;font-synthesis:none;--paper:#f2eee4;--ink:#493a50;--green:#493a50;--cream:#fbf8f0;--orange:#ef7441;--route:#493a50;--muted:#766f78;--text:#493a50;--key-bg:#fffaf0;--key-text:#493a50;--key-border:#cec6cf;--key-shadow:#b7afb9;--line:#d8d2c5;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#f2eee4;font-family:Arial,Helvetica,sans-serif}html[data-theme=dark]{color:#f4eef5;--paper:#171319;--ink:#2f2533;--green:#2f2533;--cream:#211a24;--muted:#b7adb9;--text:#f4eef5;--key-bg:#302739;--key-text:#f4eef5;--key-border:#56485b;--key-shadow:#0e0b10;--line:#493d4d;--route:#66506f;background:#171319}*{box-sizing:border-box}html,body,#root{background:var(--paper);min-width:320px;min-height:100%;color:var(--text);margin:0}body{overflow-x:hidden}button,select,input{font:inherit}button{cursor:pointer}a{color:inherit}.shell{min-height:100dvh;display:block}.sidebar{z-index:30;min-height:calc(72px + var(--safe-top));padding:calc(10px + var(--safe-top)) max(20px, var(--safe-right)) 10px max(20px, var(--safe-left));background:var(--green);color:#f7f2e7;grid-template-columns:170px 70px minmax(70px,92px) minmax(130px,190px) 42px;justify-content:center;align-items:end;gap:14px;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #0e232b24}.brand{color:#f7f2e7;letter-spacing:.16em;align-self:center;align-items:center;gap:11px;font-size:9px;line-height:1.16;text-decoration:none;display:flex}.brand strong{letter-spacing:.09em;font-size:13px}.sequence-mark{border:1px solid #ffffff57;border-radius:50%;flex:none;width:42px;height:42px;display:block;position:relative}.mark-grid{opacity:.62;background-image:repeating-linear-gradient(90deg,#0000 0 7px,#ffffff52 7px 8px),repeating-linear-gradient(#0000 0 7px,#ffffff52 7px 8px);position:absolute;inset:8px}.mark-route{z-index:2;background:var(--orange);transform-origin:0;width:10px;height:1.5px;position:absolute}.mark-route.route-a{top:28px;left:11px;transform:rotate(-43deg)}.mark-route.route-b{top:21px;left:18px;transform:rotate(0)}.mark-route.route-c{top:21px;left:27px;transform:rotate(-48deg)}.mark-dot{z-index:3;background:#f7f2e7;border-radius:50%;width:5px;height:5px;position:absolute}.mark-dot.dot-a{top:26px;left:8px}.mark-dot.dot-b{top:19px;left:16px}.mark-dot.dot-c{background:var(--orange);top:19px;left:25px}.mark-dot.dot-d{top:11px;left:32px}.control-group{min-width:0;margin:0}.control-group label,.header-control>label,.header-control-label{color:#d6ccd9;letter-spacing:.15em;text-transform:uppercase;margin:0 0 6px;font-size:8px;font-weight:700;display:block}.select-wrap{position:relative}.select-wrap:after{color:#f7efe0;content:"⌄";pointer-events:none;position:absolute;top:8px;right:10px}.sidebar select{appearance:none;background:color-mix(in srgb, #fff 8%, var(--green));color:#fff;text-overflow:ellipsis;border:1px solid #ffffff24;border-radius:4px;outline:none;width:100%;height:40px;padding:6px 28px 6px 10px;font-family:Georgia,Times New Roman,serif;font-size:14px;overflow:hidden}.sidebar select:focus-visible{border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 30%, transparent)}.header-control{min-width:0}.tempo-header>div{background:color-mix(in srgb, #fff 8%, var(--green));border:1px solid #ffffff24;border-radius:4px;grid-template-columns:27px minmax(34px,1fr) 27px;height:40px;display:grid;overflow:hidden}.tempo-header button{color:#d8cfda;background:0 0;border:0;place-items:center;padding:0;font-size:16px;display:grid}.tempo-header button:active{background:#ffffff1a}.tempo-header output{color:#fff;font-variant-numeric:tabular-nums;border-left:1px solid #ffffff1f;border-right:1px solid #ffffff1f;place-items:center;font:700 13px/1 Georgia,serif;display:grid}.landscape-fullscreen-control{display:none}.workspace{width:min(1400px,100%);min-width:0;margin:0 auto;padding:0 clamp(12px,3vw,42px) 14px}.sequence-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--cream) 88%, transparent);border-top:0;border-radius:0 0 8px 8px;width:100%;margin:0 0 28px;padding:6px 14px;position:relative;box-shadow:0 8px 24px #2036410f}.sequence-panel:after{z-index:10;content:"";pointer-events:none;border-radius:0 0 8px 8px;height:1px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 9px 14px #20364121}.sequence-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;max-height:276px;padding:0 8px;overflow:hidden auto}.sequence-row{grid-template-columns:minmax(145px,1fr) minmax(174px,1fr);align-items:center;gap:18px;min-height:55px;padding-right:22px;display:grid;position:relative}.sequence-row+.sequence-row{border-top:1px solid var(--line)}.sequence-choice,.movement-choice{min-width:0;display:block}.sequence-choice>span,.movement-choice>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin-bottom:4px;font-size:7px;font-weight:900;display:block}.pattern-control{grid-template-columns:repeat(4,30px) 24px;justify-content:start;gap:4px;min-width:0;display:grid}.pattern-control button{border:1px solid var(--key-border);width:30px;height:30px;color:var(--key-text);box-shadow:none;background:0 0;border-radius:4px;place-items:center;padding:0;font:700 12px/1 Georgia,serif;display:grid}.pattern-control button.filled{background:var(--key-bg);box-shadow:0 2px 0 var(--key-shadow)}.pattern-control button.empty{border-color:color-mix(in srgb, var(--key-border) 68%, transparent);color:var(--orange);font-family:Arial,sans-serif;font-size:17px;font-weight:400}.pattern-control button.empty:disabled{color:#0000;box-shadow:none;opacity:.36}.pattern-control .pattern-remove{aspect-ratio:1;border-color:color-mix(in srgb, var(--key-border) 68%, transparent);width:24px;height:24px;color:var(--muted);box-shadow:none;background:0 0;border-radius:50%;align-self:center;font-family:Arial,sans-serif;font-size:14px}.pattern-control button.active-pattern-step{z-index:2;border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent), 0 2px 0 color-mix(in srgb, var(--orange) 60%, #7f3521);animation:.65s ease-in-out infinite alternate control-pulse}.pattern-control button:disabled,.mini-stepper button:disabled{cursor:default;opacity:.32}.sequence-panel-tabs{z-index:9;justify-content:center;width:50px;height:22px;display:flex;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.sequence-panel-tabs>button,.sequence-hidden-tab{border:1px solid var(--key-border);background:color-mix(in srgb,var(--cream) 88%,transparent);border-top:0;border-radius:0 0 8px 8px;place-items:center;height:22px;padding:0;display:grid;box-shadow:0 2px 4px #41232f1c}.sequence-hidden-tab{border-color:color-mix(in srgb,var(--muted) 42%,transparent);min-width:42px;color:var(--muted);box-shadow:none;white-space:nowrap;pointer-events:none;gap:5px;padding:0 8px;font:800 9px/1 Arial,sans-serif;display:flex}.add-sequence-tab{width:50px;color:var(--orange);font:600 17px/1 Arial,sans-serif}.remove-sequence-tab{width:30px;color:var(--muted);font:500 14px/1 Arial,sans-serif}.sequence-panel-tabs>.sequence-hidden-tab{position:absolute;right:calc(100% + 4px)}.sequence-panel-tabs>.remove-sequence-tab{position:absolute;left:calc(100% + 4px)}.sequence-panel-tabs button:active{transform:translateY(1px);box-shadow:0 1px 2px #41232f1a}.sequence-panel-tabs button:disabled{cursor:default;opacity:.38;box-shadow:none}.movement-choice>div{align-items:center;gap:14px;display:flex}.mini-stepper{grid-template-columns:16px 24px 35px 24px;align-items:center;gap:2px;display:grid}.movement-axis{width:16px;height:16px;color:var(--muted);place-items:center;display:grid}.movement-axis svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;overflow:visible}.mini-stepper button{border:1px solid color-mix(in srgb, var(--key-border) 72%, transparent);width:24px;height:27px;color:var(--muted);box-shadow:none;background:0 0;border-radius:4px;place-items:center;padding:0;display:grid}.mini-stepper button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.mini-stepper b{border:1px solid var(--key-border);background:var(--key-bg);height:29px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:4px;place-items:center;font:700 12px/1 Georgia,serif;display:grid}.rhythm-bar{border:1px solid var(--line);background:color-mix(in srgb, var(--cream) 88%, var(--paper));border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:55px;margin:0 0 7px;padding:5px 8px;display:grid;box-shadow:0 7px 20px #2036410d}.rhythm-options{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;min-width:0;padding:2px 3px 4px;display:flex;overflow-x:auto}.rhythm-options::-webkit-scrollbar{display:none}.rhythm-option{min-width:0;height:42px;color:var(--muted);scroll-snap-align:center;background:0 0;border:1px solid #0000;border-bottom-width:3px;border-radius:5px;flex:0 0 104px;grid-template-rows:27px auto;align-items:center;padding:2px 6px 3px;display:grid}.rhythm-option.active{border-color:var(--key-border);border-bottom-color:var(--orange);background:var(--cream);color:var(--text);box-shadow:0 2px 7px #32263514}.rhythm-option small{letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:6px;font-weight:800;overflow:hidden}.rhythm-notation{justify-content:center;align-items:flex-end;gap:4px;height:25px;display:flex}.rhythm-beat{border-right:1px solid color-mix(in srgb,var(--muted) 22%,transparent);align-items:flex-end;gap:0;padding-top:4px;display:flex;position:relative}.rhythm-beat:last-child{border-right:0}.rhythm-beat>i{font:700 6px/1 Arial,sans-serif;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.rhythm-beat>span{border-radius:5px;place-items:center;width:9px;height:21px;transition:background 80ms,color 80ms;display:grid}.rhythm-beat>span.current{background:color-mix(in srgb,var(--orange) 25%,transparent);color:var(--orange)}.rhythm-glyph{fill:currentColor;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:20px;overflow:visible}.fretboard-card{border:1px solid var(--line);background:var(--cream);border-radius:6px;min-width:0;position:relative;overflow:hidden;box-shadow:0 8px 24px #20364112;container-type:inline-size}.play-button{border:1px solid var(--orange);background:var(--orange);color:#fff;width:58px;height:31px;box-shadow:0 2px 0 color-mix(in srgb, var(--orange) 62%, #5d2a17);border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex}.play-button b{letter-spacing:.08em;font-size:8px}.play-button.playing{box-shadow:0 1px 0 color-mix(in srgb, var(--orange) 62%, #5d2a17);transform:translateY(1px)}.play-button:disabled{cursor:wait;opacity:.72}.note-label-toggle,.theme-toggle{border:1px solid var(--key-border);background:var(--key-bg);width:43px;height:30px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:5px;place-items:center;padding:2px 4px;display:grid}.note-label-toggle{justify-content:center;align-items:center;gap:3px;display:flex}.note-label-toggle>span{flex-direction:column;align-items:center;min-width:17px;line-height:.82;display:flex}.note-label-toggle b{font:700 12px/1 Georgia,serif}.note-label-toggle small{color:var(--muted);margin-top:2px;font-size:6px}.note-label-toggle i{color:var(--orange);font-size:10px;font-style:normal}.fretboard-scroll.continuous-scroll{scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;width:100%;min-width:0;padding:9px 0 10px;overflow:auto hidden}.fretboard-scroll.continuous-scroll::-webkit-scrollbar{display:none}.continuous-fretboard{--fret-width:clamp(62px, 8vw, 96px);width:max-content;min-width:100%}.fret-numbers,.string-row{grid-template-columns:62px repeat(19, var(--fret-width));display:grid}.fret-numbers{min-height:31px}.fret-numbers>span{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:7px;display:flex}.string-name-head,.string-name{z-index:12;box-shadow:none;background:0 0;position:sticky;left:0}.string-name{color:var(--text);align-items:center;gap:4px;padding-left:8px;font:700 11px/1 Georgia,serif;display:flex}.string-2 .string-name{z-index:21!important}.string-name-badge{background:color-mix(in srgb, var(--cream) 82%, transparent);border-radius:4px;align-items:baseline;gap:4px;padding:2px 4px;display:flex;box-shadow:0 1px 3px #120a1014}.string-name small{color:var(--muted);font:7px/1 Arial,sans-serif}.g-b-shift-control{z-index:20;touch-action:manipulation;width:40px;height:21px;display:block;position:absolute;bottom:-10px;left:11px}.g-b-shift-toggle{width:100%;height:100%;color:color-mix(in srgb,var(--muted) 76%,transparent);background:0 0;border:0;place-items:center;padding:0;display:grid}.g-b-shift-visual{border:1px solid color-mix(in srgb,var(--muted) 24%,transparent);background:color-mix(in srgb,var(--cream) 92%,transparent);opacity:.8;border-radius:11px;justify-content:center;align-items:center;gap:1px;width:100%;height:100%;transition:border-color .15s,color .15s,opacity .15s,background .15s,transform 80ms;display:flex;box-shadow:0 1px 3px #120a1012}.g-b-shift-toggle svg{width:22px;height:14px;fill:var(--cream);stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.g-b-shift-toggle small{color:currentColor;letter-spacing:-.03em;font:700 6px/1 Arial,sans-serif}.g-b-shift-toggle:not(.active) .shift-string{stroke-dasharray:1.5 2}.g-b-shift-toggle.active{color:color-mix(in srgb,var(--orange) 62%,var(--muted))}.g-b-shift-toggle.active .g-b-shift-visual{border-color:color-mix(in srgb,var(--orange) 34%,var(--line));background:color-mix(in srgb,var(--orange) 6%,var(--cream));opacity:.92}.g-b-shift-toggle:hover .g-b-shift-visual,.g-b-shift-toggle:focus-visible .g-b-shift-visual{border-color:color-mix(in srgb,var(--orange) 58%,var(--line));color:var(--orange);opacity:1}.g-b-shift-toggle:focus-visible{outline:0}.g-b-shift-toggle:active .g-b-shift-visual{transform:translateY(1px)}.g-b-shift-toggle.shift-left .g-b-shift-visual,.g-b-shift-toggle.shift-right .g-b-shift-visual{color:var(--orange);animation:.52s ease-out g-b-shift-pulse}.g-b-shift-toggle.shift-left small,.g-b-shift-toggle.shift-right small{font-size:7px}.g-b-shift-popover{z-index:30;border:1px solid color-mix(in srgb,var(--muted) 30%,var(--line));background:color-mix(in srgb,var(--cream) 97%,transparent);width:218px;color:var(--text);border-radius:8px;gap:7px;padding:10px;font-family:Arial,sans-serif;line-height:1.25;display:grid;position:absolute;top:50%;left:46px;transform:translateY(-50%);box-shadow:0 8px 24px #120a102e}.g-b-shift-popover>strong{font:700 12px/1 Georgia,serif}.g-b-shift-copy{color:var(--muted);font-size:9px}.g-b-shift-setting{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,var(--cream));width:100%;min-height:28px;color:var(--text);text-align:left;border-radius:5px;grid-template-columns:1fr 26px 20px;align-items:center;gap:6px;padding:4px 6px;font-size:8px;display:grid}.g-b-shift-setting>i{background:color-mix(in srgb,var(--muted) 24%,var(--cream));width:26px;height:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--muted) 24%,transparent);border-radius:8px;display:block;position:relative}.g-b-shift-setting>i>b{background:var(--muted);border-radius:50%;width:10px;height:10px;transition:left .15s,background .15s;position:absolute;top:2px;left:2px}.g-b-shift-setting[aria-checked=true]>i{background:color-mix(in srgb,var(--orange) 22%,var(--cream))}.g-b-shift-setting[aria-checked=true]>i>b{background:var(--orange);left:14px}.g-b-shift-setting>strong{text-align:right;font-size:7px}.g-b-shift-setting:hover,.g-b-shift-setting:focus-visible{border-color:color-mix(in srgb,var(--orange) 58%,var(--line));outline:0}@keyframes g-b-shift-pulse{0%{filter:none;transform:scale(1)}38%{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--orange) 56%,transparent));transform:scale(1.1)}to{filter:none;transform:scale(1)}}.string-row{height:43px;position:relative}.fret{border-left:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-right:1px solid color-mix(in srgb, var(--text) 24%, transparent);place-items:center;display:grid;position:relative}.fret.octave-fret{border-right-width:2px;border-right-color:color-mix(in srgb, var(--text) 34%, transparent)}.musical-surface .link-editor-layout.editing .link-edit-card-actions .link-key{letter-spacing:.08em;text-transform:uppercase;font:700 8px/1.2 Arial,sans-serif}.musical-surface .fretboard-card .fretboard-header-message{white-space:normal;height:44px;min-height:44px;padding:5px 8px;font-size:12px;line-height:1.25}.musical-surface .fretboard-header-message>span[role=status]{white-space:normal;place-items:center;min-width:0;height:100%;display:grid;overflow:hidden}.musical-surface .fretboard-header-main{text-align:center;width:100%;min-width:0;display:block}.musical-surface .fretboard-header-main svg{vertical-align:middle;margin-right:6px;display:inline-block;transform:translateY(-2px)}.musical-surface .fretboard-header-message .fretboard-hint-step{background:var(--orange);color:var(--cream);white-space:nowrap;border-radius:3px;padding:0 3px;font-weight:900}@media (width<=560px){.musical-surface .fretboard-card .fretboard-header-message{height:42px;min-height:42px;padding:5px 7px;font-size:11px}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape.musical-surface .fretboard-card .fretboard-header-message{height:31px;min-height:31px;padding:2px 5px;font-size:9px}}.shell.musical-surface .sidebar{grid-template-columns:170px minmax(70px,92px) minmax(130px,210px) minmax(120px,170px) 100px 42px}.shell.musical-surface .pattern-carousel.single-card{justify-content:center;padding-left:0;padding-right:0;scroll-padding-inline:0}.shell.musical-surface .pattern-carousel.single-card>.pattern-card{margin-left:auto;margin-right:auto}.shell.musical-surface .link-edit-card-actions{width:max(min(58cqw,248px),248px);position:relative;transform:none}.musical-surface .fretboard-label-control{z-index:18;pointer-events:none;width:100%;height:0;display:block;position:sticky;left:0}.musical-surface .fretboard-label-control .note-label-toggle{pointer-events:auto;position:absolute;top:0;right:7px}.musical-surface .fretboard-card.has-header-message .fretboard-label-control .note-label-toggle{top:0}@media (width>=681px) and (width<=900px){.shell.musical-surface .sidebar{grid-template-columns:minmax(138px,150px) minmax(62px,78px) minmax(95px,1fr) minmax(105px,135px) 80px 38px}}@media (width>=561px) and (width<=680px){.shell.musical-surface .sidebar{grid-template-columns:44px 52px minmax(92px,1fr) minmax(105px,135px) 66px 34px}}@media (width<=560px){.shell.musical-surface .sidebar{grid-template-columns:34px 44px minmax(62px,1fr) minmax(62px,1fr) 60px 30px}.shell.musical-surface .link-editor-layout.editing .pattern-carousel{--slide-width:max(min(64cqw,272px),248px)}.shell.musical-surface .link-edit-card-actions{width:max(min(64cqw,272px),248px)}}@media (width<=360px){.shell.musical-surface .sidebar{grid-template-columns:32px 42px minmax(58px,1fr) minmax(58px,1fr) 58px 28px}}@media (orientation:portrait) and (width<=560px){.shell.musical-surface .sidebar{grid-template-columns:44px minmax(64px,1fr) minmax(64px,1fr) 60px 30px}}@media (orientation:portrait) and (width<=360px){.shell.musical-surface .sidebar{grid-template-columns:42px minmax(58px,1fr) minmax(58px,1fr) 58px 28px}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape.shell.musical-surface .sidebar{grid-template-columns:minmax(100px,125px) 52px minmax(105px,1fr) minmax(115px,160px) 72px 30px 30px}}.fret:before{width:100%;height:var(--string-width,1px);background:color-mix(in srgb, var(--text) 57%, transparent);content:"";position:absolute;top:50%;left:0;transform:translateY(-50%)}.string-1{--string-width:1px}.string-2{--string-width:1.3px}.string-3{--string-width:1.7px}.string-4{--string-width:2.1px}.string-5{--string-width:2.6px}.string-6{--string-width:3px}.fret-numbers>[data-fret-number="0"],.fret.nut{z-index:11;background:var(--cream);position:relative}.fret.nut{border-right:4px solid color-mix(in srgb, var(--text) 58%, transparent)}.note-dot{z-index:3;aspect-ratio:1;border:1.5px solid var(--muted);appearance:none;background:color-mix(in srgb, var(--cream) 91%, transparent);width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;color:var(--muted);opacity:.28;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.note-dot b{font:700 12px/1 Georgia,serif}.note-dot small{margin-top:2px;font-size:7px;line-height:1}.current-tone .note-dot{z-index:8;border-color:var(--orange);background:var(--orange);color:#fff;opacity:1;animation:.65s ease-in-out infinite alternate note-pulse}.current-tone .note-dot b{font-size:11px}.fretboard-playback-runner{z-index:9;border:2px solid var(--orange);width:48px;height:48px;box-shadow:0 0 0 1px color-mix(in srgb,var(--cream) 86%,transparent),0 0 12px color-mix(in srgb,var(--orange) 52%,transparent);pointer-events:none;border-radius:50%;animation:.65s ease-in-out infinite alternate playback-runner-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}html[data-theme=dark] .scale-tone .note-dot{opacity:.43;border-color:#f4eef594;box-shadow:inset 0 0 0 1px #f4eef514}.mobile-string-name{display:none}.fret-scroll-indicator{background:color-mix(in srgb, var(--muted) 24%, transparent);border-radius:3px;width:64px;height:3px;margin:-6px auto 5px;position:relative;overflow:hidden}.fret-scroll-indicator>i{background:var(--orange);border-radius:3px;min-width:7px;transition:left 80ms linear,width .16s;position:absolute;top:0;bottom:0}@keyframes note-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent), 0 2px 0 color-mix(in srgb, var(--orange) 60%, #713524)}to{box-shadow:0 0 0 8px color-mix(in srgb, var(--orange) 28%, transparent), 0 2px 0 color-mix(in srgb, var(--orange) 60%, #713524)}}@keyframes playback-runner-pulse{to{opacity:.58;transform:translate(-50%,-50%)scale(1.12)}}@keyframes control-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent), 0 2px 0 color-mix(in srgb, var(--orange) 60%, #7f3521)}to{box-shadow:0 0 0 6px color-mix(in srgb, var(--orange) 28%, transparent), 0 2px 0 color-mix(in srgb, var(--orange) 60%, #7f3521)}}.app-footer{min-height:calc(68px + var(--safe-bottom));padding:10px max(4px, var(--safe-right)) calc(10px + var(--safe-bottom)) max(4px, var(--safe-left));grid-template-columns:1fr auto 1fr;align-items:center;margin-top:16px;display:grid}.footer-brand{text-align:center;white-space:nowrap;justify-self:center;align-items:center;gap:10px;display:flex}.footer-logo .mark-grid{inset:6px}.footer-logo .mark-route.route-a{width:7px;top:20px;left:8px}.footer-logo .mark-route.route-b{width:7px;top:15px;left:13px}.footer-logo .mark-route.route-c{width:7px;top:15px;left:19px}.footer-logo .mark-dot.dot-a{top:18px;left:6px}.footer-logo .mark-dot.dot-b{top:13px;left:11px}.footer-logo .mark-dot.dot-c{top:13px;left:17px}.footer-logo .mark-dot.dot-d{top:7px;left:22px}.footer-brand-copy{flex-direction:column;align-items:center;gap:1px;display:flex}.footer-brand b{color:var(--text);letter-spacing:.16em;font-size:7px;line-height:1}.footer-brand .footer-credit{color:var(--muted);letter-spacing:.07em;font-size:6px;font-weight:700;line-height:1;text-decoration:none}.footer-brand .footer-credit:hover,.footer-brand .footer-credit:focus-visible{color:var(--orange);text-underline-offset:2px;text-decoration:underline}.footer-brand small{color:var(--muted);letter-spacing:.13em;font-size:6px;line-height:1}.app-footer .theme-toggle{border-radius:50%;justify-self:end;width:28px;height:28px;font-size:14px}.tone-lab-launch{border:1px solid var(--key-border);background:var(--key-bg);width:28px;height:28px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:50%;justify-self:start;place-items:center;padding:0;display:grid}.tone-lab-launch svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.tone-lab-launch:active{box-shadow:none;transform:translateY(1px)}.tone-lab-backdrop{z-index:60;padding:max(28px, calc(var(--safe-top) + 10px)) 18px 18px;-webkit-backdrop-filter:blur(7px);background:#070608a8;place-items:start center;display:grid;position:fixed;inset:0}.tone-lab{border:1px solid color-mix(in srgb, var(--orange) 38%, var(--key-border));border-top:4px solid var(--orange);background:var(--paper);width:min(920px,100%);max-height:calc(100vh - 36px);color:var(--text);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #0c070e70}.tone-lab>header{border-bottom:1px solid color-mix(in srgb, var(--muted) 26%, transparent);align-items:flex-start;gap:18px;padding:18px 20px 15px;display:flex}.tone-lab>header>div{min-width:0}.tone-lab>header span{color:var(--orange);letter-spacing:.18em;margin-bottom:4px;font-size:8px;font-weight:900;display:block}.tone-lab>header h2{margin:0;font:400 25px/1.1 Georgia,serif}.tone-lab>header p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.35}.tone-lab>header>button{border:1px solid var(--key-border);background:var(--key-bg);width:32px;height:32px;color:var(--key-text);border-radius:50%;flex:0 0 32px;place-items:center;margin-left:auto;padding:0;font-size:22px;line-height:1;display:grid}.tone-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px 20px;display:grid}.tone-presets button{border:1px solid var(--key-border);background:var(--cream);min-width:0;color:var(--text);text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;padding:7px 9px;display:flex}.tone-presets button b{font:400 12px/1.1 Georgia,serif}.tone-presets button small{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:6.5px;overflow:hidden}.tone-presets button.active{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:color-mix(in srgb, var(--orange) 7%, var(--cream))}.tone-ir-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 20px 12px;display:grid}.tone-room-select{border:1px solid color-mix(in srgb, var(--muted) 28%, transparent);background:var(--cream);border-radius:6px;grid-template-columns:1fr;gap:6px;min-width:0;padding:9px 11px;display:grid}.tone-room-select label{letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900}.tone-room-select select{border:1px solid var(--key-border);background:var(--key-bg);width:100%;min-width:0;height:32px;color:var(--key-text);border-radius:4px;padding:0 10px;font-size:11px}.tone-room-select small{color:var(--muted);font-size:8px}.tone-room-select a{color:inherit;text-underline-offset:2px}.tone-groups{grid-template-columns:.8fr 1.35fr .8fr 1fr;gap:10px;min-height:0;padding:0 20px 12px;display:grid;overflow-y:auto}.tone-groups.shimmer-active{grid-template-columns:.72fr 1.18fr .78fr .9fr .92fr}.tone-groups fieldset{border:1px solid color-mix(in srgb, var(--muted) 28%, transparent);background:var(--cream);border-radius:6px;min-width:0;margin:0;padding:11px}.tone-groups legend{color:var(--orange);letter-spacing:.15em;text-transform:uppercase;padding:0 5px;font-size:7px;font-weight:900}.tone-groups fieldset>div{gap:10px;display:grid}.tone-control{gap:6px;min-width:0;display:grid}.tone-control>span{justify-content:space-between;align-items:center;gap:6px;display:flex}.tone-control b{font-size:9px}.tone-control output{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:8px}.tone-control input{width:100%;height:16px;accent-color:var(--orange);cursor:ew-resize;margin:0}.tone-signal-path{border-top:1px solid color-mix(in srgb, var(--muted) 22%, transparent);border-bottom:1px solid color-mix(in srgb, var(--muted) 22%, transparent);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin:0 20px 12px;padding:8px;font-size:7px;font-weight:800;display:flex}.tone-signal-path i{color:var(--orange);font-style:normal}.tone-lab>footer{color:var(--muted);align-items:center;gap:8px;margin:0;padding:0 20px 18px;font-size:8px;display:flex}.tone-lab>footer>span{margin-left:auto}.tone-lab>footer button{border:1px solid var(--key-border);background:var(--key-bg);height:34px;color:var(--key-text);letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:0 13px;font-size:8px;font-weight:900}.tone-lab>footer .tone-preview{justify-content:center;align-items:center;gap:7px;min-width:104px;display:flex}.tone-lab>footer .tone-preview span{color:var(--orange)}.tone-lab>footer .tone-done{border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 2px 0 color-mix(in srgb, var(--orange) 62%, #5d2a17)}.tone-lab button:focus-visible,.tone-lab select:focus-visible,.tone-control input:focus-visible,.tone-lab-launch:focus-visible{outline:3px solid color-mix(in srgb, var(--orange) 28%, transparent);outline-offset:2px}.tone-lab button:hover{border-color:var(--orange)}.fullscreen-help-backdrop{z-index:110;padding:max(14px, var(--safe-top)) 14px max(14px, var(--safe-bottom));-webkit-backdrop-filter:blur(5px);background:#0d080fb3;place-items:center;display:grid;position:fixed;inset:0}.fullscreen-help{border:1px solid var(--key-border);border-top:3px solid var(--orange);background:var(--cream);width:min(410px,100%);color:var(--text);border-radius:9px;padding:20px;position:relative;box-shadow:0 24px 70px #00000059}.fullscreen-help>small{color:var(--orange);letter-spacing:.15em;font-size:8px;font-weight:900}.fullscreen-help h2{max-width:320px;margin:5px 0 14px;font:400 24px/1.08 Georgia,serif}.fullscreen-help-close{border:1px solid var(--key-border);width:29px;height:29px;color:var(--text);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:20px;display:grid;position:absolute;top:10px;right:10px}.fullscreen-help ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.fullscreen-help li{border:1px solid var(--key-border);background:var(--paper);border-radius:5px;align-items:center;gap:9px;padding:8px 10px;font-size:10px;display:flex}.fullscreen-help li>b{background:var(--orange);color:#fff;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.fullscreen-help p{color:var(--muted);margin:11px 0;font-size:9px;line-height:1.4}.fullscreen-help-done{border:1px solid var(--orange);background:var(--orange);color:#fff;letter-spacing:.08em;border-radius:5px;margin-left:auto;padding:9px 15px;font-size:8px;font-weight:900;display:block}@media (hover:hover) and (pointer:fine){.fretboard-scroll.continuous-scroll{cursor:grab}.fretboard-scroll.continuous-scroll.dragging,.fretboard-scroll.continuous-scroll.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.scale-tone .note-dot:hover{z-index:9;border-color:var(--orange);background:var(--cream);color:var(--text);opacity:1;transform:translate(-50%,-50%)scale(1.08);box-shadow:0 2px 7px #281d2b2b}.scale-tone .note-dot:hover b,.scale-tone .note-dot:hover small{opacity:1}.pattern-control button:hover:not(:disabled),.mini-stepper button:hover:not(:disabled),.sequence-row-random:hover,.sequence-panel-tabs button:hover,.note-label-toggle:hover,.theme-toggle:hover,.tone-lab-launch:hover,.palette-picker-trigger:hover{border-color:var(--orange)}}@media (width>=900px){.sequence-choice,.movement-choice{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;display:grid}.sequence-choice>span,.movement-choice>span{margin-bottom:0}.sequence-row-actions{transform:none}}@media (width<=720px){.workspace,.sequence-panel{padding-left:8px;padding-right:8px}.sequence-row{gap:7px}.sequence-choice,.movement-choice{grid-template-columns:63px minmax(0,1fr);gap:5px}}@media (width<=760px){.tone-lab-backdrop{padding:max(8px, var(--safe-top)) 8px 8px;align-items:start}.tone-lab{max-height:calc(100dvh - max(16px, var(--safe-top)));border-radius:10px 10px 7px 7px}.tone-lab>header{padding:14px 14px 12px}.tone-lab>header h2{font-size:22px}.tone-presets{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:8px 14px;display:flex;overflow-x:auto}.tone-presets::-webkit-scrollbar{display:none}.tone-presets button{white-space:nowrap;flex:none;min-width:96px}.tone-presets button small{display:none}.tone-ir-selects{margin:0 14px 10px}.tone-groups,.tone-groups.shimmer-active{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 10px}.tone-signal-path{white-space:nowrap;justify-content:flex-start;margin:0 14px 10px;overflow-x:auto}.tone-lab>footer{padding:0 14px 12px}.tone-lab>footer>span{display:none}.tone-lab>footer .tone-reset{margin-left:auto}}@media (width<=420px){.tone-lab-backdrop{padding:var(--safe-top) 0 0}.tone-lab{width:100%;height:calc(100dvh - var(--safe-top));max-height:calc(100dvh - var(--safe-top));border-bottom:0;border-left:0;border-right:0;border-radius:0}.tone-groups{gap:7px}.tone-groups fieldset{padding:9px}.tone-lab>footer button{padding:0 10px}}@media (width<=560px){.sidebar{min-height:calc(58px + var(--safe-top));padding:calc(7px + var(--safe-top)) max(6px, var(--safe-right)) 7px max(6px, var(--safe-left));grid-template-columns:50px minmax(78px,1fr) 76px 86px;gap:5px}.sidebar .brand{display:none}.control-group label,.header-control>label,.header-control-label{letter-spacing:.08em;margin-bottom:4px;font-size:6px}.sidebar select{height:38px;padding:5px 18px 5px 7px;font-size:10px}.select-wrap:after{top:7px;right:6px}.tempo-header>div{grid-template-columns:20px minmax(28px,1fr) 20px;height:38px}.tempo-header output{font-size:11px}.tempo-header button{font-size:13px}.workspace{padding-left:6px;padding-right:6px}.sequence-panel{border-radius:0 0 6px 6px;padding:4px 6px}.sequence-list{max-height:159px}.sequence-row{grid-template-columns:minmax(145px,.95fr) minmax(165px,1.05fr);gap:5px;min-height:53px;padding-right:18px}.sequence-choice,.movement-choice{display:block}.sequence-choice>span,.movement-choice>span{margin-bottom:4px;font-size:6px;display:block}.pattern-control{grid-template-columns:repeat(4,27px) 22px;gap:3px}.pattern-control button{width:27px;height:27px}.pattern-control .pattern-remove{width:22px;height:22px}.movement-choice>div{gap:10px}.mini-stepper{grid-template-columns:11px 20px 27px 20px;gap:1px}.movement-axis{width:11px}.movement-axis svg{width:11px;height:11px}.mini-stepper button{width:20px;height:25px}.mini-stepper b{height:27px;font-size:10px}.rhythm-bar{gap:5px;min-height:50px;padding:4px 5px}.rhythm-option{flex-basis:88px;grid-template-rows:25px auto;height:39px;padding-left:3px;padding-right:3px}.rhythm-notation{gap:2px}.rhythm-beat>span{width:8px}.play-button{width:52px;height:29px}.note-label-toggle{width:39px;height:28px}.fretboard-scroll.continuous-scroll{padding:7px 0 9px}.continuous-fretboard{--fret-width:calc(100cqw / 6);width:max-content;min-width:100%}.fret-numbers,.string-row{grid-template-columns:0 repeat(19, var(--fret-width))}.string-row{height:38px}.string-name,.string-name-head{visibility:hidden;width:0;box-shadow:none;background:0 0;padding:0}.g-b-shift-control{visibility:visible;width:34px;height:20px;bottom:-10px;left:5px;right:auto}.g-b-shift-visual{border-radius:10px}.g-b-shift-toggle svg{width:20px;height:14px}.g-b-shift-toggle:not(.shift-left):not(.shift-right) small{display:none}.g-b-shift-popover{width:min(204px,100vw - 46px);left:31px}.mobile-string-name{z-index:5;background:color-mix(in srgb, var(--cream) 92%, transparent);color:var(--text);pointer-events:none;border-radius:3px;align-items:baseline;gap:3px;padding:1px 3px;font:700 10px/1 Georgia,serif;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-17px)}.mobile-string-name small{color:var(--muted);font:7px/1 Arial,sans-serif}.note-dot{width:33px;min-width:33px;max-width:33px;height:33px;min-height:33px;max-height:33px}.note-dot b{font-size:12px}.note-dot small{font-size:7px}.app-footer{min-height:calc(61px + var(--safe-bottom));margin-top:14px;padding-top:7px}.footer-logo{width:27px;height:27px}}@media (width<=360px){.sequence-row{grid-template-columns:137px minmax(0,1fr)}.pattern-control{grid-template-columns:repeat(4,25px) 21px}.pattern-control button{width:25px}.pattern-control .pattern-remove{width:21px;height:21px}.movement-choice>div{gap:7px}.mini-stepper{grid-template-columns:9px 19px 25px 19px}.movement-axis,.movement-axis svg{width:9px}.mini-stepper button{width:19px}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){html,body,#root{min-height:100dvh}.phone-landscape{height:100dvh;min-height:100dvh;overflow:hidden}.phone-landscape .sidebar{min-height:42px;padding:3px max(7px,var(--safe-right)) 3px max(7px,var(--safe-left));grid-template-columns:minmax(112px,140px) 50px minmax(105px,1fr) 84px 92px 30px;gap:5px;display:grid;position:relative}.phone-landscape .sidebar .brand{letter-spacing:.11em;gap:6px;font-size:6px;display:flex}.phone-landscape .brand strong{font-size:9px}.phone-landscape .brand .sequence-mark{transform-origin:50%;width:30px;height:30px;transform:scale(.72)}.phone-landscape .sidebar label,.phone-landscape .header-control-label{height:8px;margin:0 0 1px;font-size:5.5px;line-height:8px}.phone-landscape .sidebar select,.phone-landscape .tempo-header>div{height:28px}.phone-landscape .sidebar select{padding:0 18px 0 7px;font-size:9px}.phone-landscape .sidebar .select-wrap:after{top:4px}.phone-landscape .tempo-header>div{grid-template-columns:18px 1fr 18px}.phone-landscape .tempo-header output{font-size:9px}.phone-landscape .landscape-fullscreen-control{align-items:flex-end;display:flex}.phone-landscape .landscape-fullscreen-control button{background:color-mix(in srgb,#fff 8%,var(--green));color:#fff;border:1px solid #fff3;border-radius:5px;place-items:center;width:30px;height:28px;padding:0;display:grid;box-shadow:0 2px #0000002e}.phone-landscape .workspace{height:calc(100dvh - 42px);padding:3px max(7px,var(--safe-right)) calc(3px + var(--safe-bottom)) max(7px,var(--safe-left));flex-direction:column;gap:3px;display:flex;overflow:hidden}.phone-landscape .sequence-panel{border:1px solid var(--line);border-radius:6px;flex:0 0 47px;margin:0 0 22px;padding:2px 5px}.phone-landscape .sequence-list{scroll-snap-type:y mandatory;max-height:41px;padding:0 7px;overflow-y:auto}.phone-landscape .sequence-row{scroll-snap-align:start;grid-template-columns:minmax(140px,.9fr) minmax(170px,1fr);gap:7px;min-height:41px;padding-right:54px}.phone-landscape .sequence-choice,.phone-landscape .movement-choice{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:4px;display:grid}.phone-landscape .sequence-choice>span,.phone-landscape .movement-choice>span{margin:0;font-size:5.5px}.phone-landscape .pattern-control{grid-template-columns:repeat(4,25px) 20px;gap:2px}.phone-landscape .pattern-control button{width:25px;height:24px}.phone-landscape .pattern-control .pattern-remove{width:20px;height:20px}.phone-landscape .movement-choice>div{gap:8px}.phone-landscape .mini-stepper{grid-template-columns:10px 19px 25px 19px}.phone-landscape .mini-stepper button,.phone-landscape .mini-stepper b{width:auto;height:24px}.phone-landscape .sequence-panel-tabs{gap:3px;bottom:-19px}.phone-landscape .sequence-panel-tabs>button,.phone-landscape .sequence-hidden-tab{height:19px}.phone-landscape .sequence-hidden-tab{gap:3px;min-width:34px;padding:0 5px;font-size:7px}.phone-landscape .rhythm-bar{flex:0 0 33px;grid-template-columns:auto 1fr auto;min-height:33px;margin:0;padding:2px 5px;position:relative}.phone-landscape .rhythm-options{display:none}.phone-landscape .rhythm-bar:before{content:"RHYTHM";color:var(--muted);letter-spacing:.13em;pointer-events:none;font-size:6px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.phone-landscape .play-button{width:49px;height:27px}.phone-landscape .note-label-toggle{width:38px;height:27px}.phone-landscape .fretboard-card{flex:none;min-height:0}.phone-landscape .fretboard-scroll.continuous-scroll{padding:2px 0 4px}.phone-landscape .fret-numbers{min-height:20px}.phone-landscape .string-row{height:30px}.phone-landscape .g-b-shift-control{height:18px;bottom:-9px}.phone-landscape .g-b-shift-popover{top:4px;transform:none}.phone-landscape .note-dot{width:27px;min-width:27px;max-width:27px;height:27px;min-height:27px;max-height:27px}.phone-landscape .note-dot b{font-size:10px}.phone-landscape .note-dot small{font-size:6px}.phone-landscape .mobile-string-name{display:none}.phone-landscape .fret-scroll-indicator{margin-top:-4px;margin-bottom:3px}.phone-landscape .app-footer{flex:0 0 27px;min-height:27px;margin-top:1px;padding:0 5px}.phone-landscape .tone-lab-launch,.phone-landscape .theme-toggle,.phone-landscape .palette-picker-trigger{width:24px;height:24px}.phone-landscape .palette-picker-menu{bottom:31px}.phone-landscape .footer-logo{width:20px;height:20px}.phone-landscape .footer-brand{gap:6px}.phone-landscape .footer-brand b{font-size:6px}.phone-landscape .footer-brand .footer-credit,.phone-landscape .footer-brand small{font-size:5px}.phone-landscape .tone-lab-backdrop{padding-top:max(4px,var(--safe-top))}.phone-landscape .tone-lab{max-height:calc(100dvh - max(8px,var(--safe-top)))}.fullscreen-help{width:min(520px,100vw - 28px);padding:14px 16px}.fullscreen-help h2{margin:3px 0 9px;font-size:20px}.fullscreen-help ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.fullscreen-help li{align-items:flex-start;padding:7px;font-size:8px;line-height:1.3}.fullscreen-help p{margin:8px 0 6px;font-size:7px}.fullscreen-help-done{padding:7px 12px}.phone-landscape .sequence-panel{margin-bottom:0}.phone-landscape .sequence-row{padding-right:144px}.phone-landscape .sequence-panel-tabs{width:40px;height:24px;inset:50% 5px auto auto;transform:translateY(-50%)}.phone-landscape .sequence-panel-tabs>button,.phone-landscape .sequence-hidden-tab{border-top:1px solid var(--key-border);border-radius:5px;height:24px}.phone-landscape .sequence-hidden-tab{min-width:34px;padding:0 5px}.phone-landscape .add-sequence-tab{width:40px;font-size:15px}.phone-landscape .remove-sequence-tab{width:24px;font-size:13px}.phone-landscape .sequence-panel-tabs>.sequence-hidden-tab{right:calc(100% + 3px)}.phone-landscape .sequence-panel-tabs>.remove-sequence-tab{left:calc(100% + 3px)}}@media (orientation:landscape) and (height<=560px) and (width<=620px){.phone-landscape .sequence-row{grid-template-columns:minmax(120px,.9fr) minmax(154px,1fr) 26px;gap:4px;padding-right:112px}.phone-landscape .sequence-choice,.phone-landscape .movement-choice{grid-template-columns:0 minmax(0,1fr)}.phone-landscape .sequence-choice>span,.phone-landscape .movement-choice>span{display:none}}@media (display-mode:standalone){.landscape-fullscreen-control{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--paper:#f3efe5;--ink:#3d4938;--green:#3d4938;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#be7657;--muted:#72776f;--text:#3d4938;--key-bg:#fffaf0;--key-text:#3d4938;--key-border:#cac8b9;--key-shadow:#b6b3a5;--line:#d8d2c5;--route:#5f6547;--active-form:#947056}html[data-theme=dark]{--paper:#0f1613;--ink:#10140d;--green:#10140d;--cream:#18221e;--surface:#18221e;--orange:#ce8566;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#2b3329;--key-text:#f0f4f1;--key-border:#586258;--key-shadow:#07100d;--line:#394640;--route:#677050;--active-form:#a36d57}html[data-palette=voicings]{color:#18362f;--paper:#f3efe5;--ink:#173d33;--green:#173d33;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#ef7c45;--muted:#72776f;--text:#18362f;--key-bg:#fffaf0;--key-text:#18362f;--key-border:#cfc8b9;--key-shadow:#b9b2a5;--line:#d8d2c5;--route:#315849;--active-form:#b86442;background:#f3efe5}html[data-theme=dark][data-palette=voicings]{color:#e5ece8;--paper:#0f1613;--ink:#08120f;--green:#08120f;--cream:#18221e;--surface:#18221e;--orange:#ef7c45;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#26332d;--key-text:#f0f4f1;--key-border:#526159;--key-shadow:#07100d;--line:#394640;--route:#315046;--active-form:#b96641;background:#0f1613}html[data-palette=blue-slate]{color:#263b49;--paper:#f2eee4;--ink:#263b49;--green:#263b49;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#ef7441;--muted:#6f7478;--text:#263b49;--key-bg:#fffaf0;--key-text:#263b49;--key-border:#c9c8c3;--key-shadow:#b4b4b1;--line:#d8d2c5;--route:#405d6d;--active-form:#b85f3d;background:#f2eee4}html[data-theme=dark][data-palette=blue-slate]{color:#edf1f3;--paper:#111820;--ink:#0a1117;--green:#0a1117;--cream:#1a252d;--surface:#1a252d;--orange:#e77a48;--muted:#aab4ba;--text:#edf1f3;--key-bg:#26343e;--key-text:#f2f5f6;--key-border:#52616b;--key-shadow:#070c10;--line:#3b4851;--route:#3d6073;--active-form:#ad6244;background:#111820}html[data-palette=teal-practice]{color:#315859;--paper:#eaf1ec;--ink:#356061;--green:#356061;--cream:#f5faf6;--surface:#f5faf6;--orange:#4e907f;--muted:#687970;--text:#315859;--key-bg:#fbfdfb;--key-text:#315859;--key-border:#bdcdc4;--key-shadow:#a8bbb0;--line:#cbd8d0;--route:#47756c;--active-form:#467f72;background:#eaf1ec}html[data-theme=dark][data-palette=teal-practice]{color:#e5eeec;--paper:#172529;--ink:#10191b;--green:#10191b;--cream:#20343a;--surface:#20343a;--orange:#61ad9a;--muted:#a5b7b8;--text:#e5eeec;--key-bg:#2a4248;--key-text:#eef5f3;--key-border:#527078;--key-shadow:#0a1113;--line:#3d575d;--route:#4b7b73;--active-form:#4f8f80;background:#172529}html[data-palette=muted-olive]{color:#47462f;--paper:#f1eee6;--ink:#47462f;--green:#47462f;--cream:#faf7f0;--surface:#faf7f0;--orange:#a28a3e;--muted:#74756f;--text:#47462f;--key-bg:#fdfaf3;--key-text:#47462f;--key-border:#cbc8b9;--key-shadow:#b6b3a5;--line:#d8d3c6;--route:#626044;--active-form:#857640;background:#f1eee6}html[data-theme=dark][data-palette=muted-olive]{color:#e9eadf;--paper:#191a14;--ink:#10110d;--green:#10110d;--cream:#24261d;--surface:#24261d;--orange:#b8a15a;--muted:#afb0a5;--text:#e9eadf;--key-bg:#323426;--key-text:#f1f1e9;--key-border:#616351;--key-shadow:#0b0c08;--line:#494b3b;--route:#77734d;--active-form:#968750;background:#191a14}html[data-palette=soft-cedar]{color:#315849;--paper:#f3efe5;--ink:#315849;--green:#315849;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#d57b55;--muted:#747970;--text:#315849;--key-bg:#fffaf0;--key-text:#315849;--key-border:#c9c8bb;--key-shadow:#b4b4a7;--line:#d8d2c5;--route:#4a6f60;--active-form:#a76c50;background:#f3efe5}html[data-theme=dark][data-palette=soft-cedar]{color:#e6ede9;--paper:#121b17;--ink:#0b130f;--green:#0b130f;--cream:#1b2721;--surface:#1b2721;--orange:#e18762;--muted:#a3ada8;--text:#e6ede9;--key-bg:#29372f;--key-text:#f0f4f1;--key-border:#53635a;--key-shadow:#080e0b;--line:#3c4a42;--route:#446959;--active-form:#ad7054;background:#121b17}html[data-palette=pine-amber]{color:#23483d;--paper:#f3efe5;--ink:#23483d;--green:#23483d;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#c49a38;--muted:#72776f;--text:#23483d;--key-bg:#fffaf0;--key-text:#23483d;--key-border:#cbc7b5;--key-shadow:#b7b29f;--line:#d8d2c5;--route:#58684a;--active-form:#8f7c3a;background:#f3efe5}html[data-theme=dark][data-palette=pine-amber]{color:#e5ece8;--paper:#0f1613;--ink:#091410;--green:#091410;--cream:#18221e;--surface:#18221e;--orange:#d0ab4b;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#29342f;--key-text:#f0f4f1;--key-border:#566159;--key-shadow:#07100d;--line:#394640;--route:#6f744d;--active-form:#9d8746;background:#0f1613}html[data-palette=petrol-copper]{color:#24454a;--paper:#f3efe5;--ink:#24454a;--green:#24454a;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#c9774d;--muted:#72776f;--text:#24454a;--key-bg:#fffaf0;--key-text:#24454a;--key-border:#c7c8c0;--key-shadow:#b3b5ac;--line:#d8d2c5;--route:#466a6d;--active-form:#9a654a;background:#f3efe5}html[data-theme=dark][data-palette=petrol-copper]{color:#e5ece8;--paper:#0f1613;--ink:#091316;--green:#091316;--cream:#18221e;--surface:#18221e;--orange:#d8875d;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#26343a;--key-text:#f0f4f1;--key-border:#53636a;--key-shadow:#07100d;--line:#394640;--route:#4c6d73;--active-form:#a06a4f;background:#0f1613}html[data-palette=moss-clay]{color:#3d4938;--paper:#f3efe5;--ink:#3d4938;--green:#3d4938;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#be7657;--muted:#72776f;--text:#3d4938;--key-bg:#fffaf0;--key-text:#3d4938;--key-border:#cac8b9;--key-shadow:#b6b3a5;--line:#d8d2c5;--route:#5f6547;--active-form:#947056;background:#f3efe5}html[data-theme=dark][data-palette=moss-clay]{color:#e5ece8;--paper:#0f1613;--ink:#10140d;--green:#10140d;--cream:#18221e;--surface:#18221e;--orange:#ce8566;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#2b3329;--key-text:#f0f4f1;--key-border:#586258;--key-shadow:#07100d;--line:#394640;--route:#677050;--active-form:#a36d57;background:#0f1613}html[data-palette=moss-clay] .sequence-mark .mark-disc{fill:var(--orange);stroke:color-mix(in srgb,var(--orange) 58%,var(--ink))}html[data-palette=moss-clay] .sequence-mark .mark-grid{stroke:color-mix(in srgb,#fff 78%,var(--paper));opacity:.48}html[data-palette=moss-clay] .sequence-mark .mark-route{stroke:#fff2dc}html[data-palette=moss-clay] .sequence-mark .mark-dot{fill:#fff8ee}html[data-palette=moss-clay] .sequence-mark .mark-dot-active{fill:#f3cf8e}html[data-palette=juniper-blue]{color:#29484a;--paper:#f3efe5;--ink:#29484a;--green:#29484a;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#668d99;--muted:#72776f;--text:#29484a;--key-bg:#fffaf0;--key-text:#29484a;--key-border:#c6c8c1;--key-shadow:#b2b5ad;--line:#d8d2c5;--route:#4d6b6d;--active-form:#5d7f89;background:#f3efe5}html[data-theme=dark][data-palette=juniper-blue]{color:#e5ece8;--paper:#0f1613;--ink:#0b1415;--green:#0b1415;--cream:#18221e;--surface:#18221e;--orange:#7ca5b0;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#293638;--key-text:#f0f4f1;--key-border:#566669;--key-shadow:#07100d;--line:#394640;--route:#51727a;--active-form:#648894;background:#0f1613}html[data-palette=forest-berry]{color:#253f38;--paper:#f3efe5;--ink:#253f38;--green:#253f38;--cream:#fbf8f0;--surface:#fbf8f0;--orange:#b86d78;--muted:#72776f;--text:#253f38;--key-bg:#fffaf0;--key-text:#253f38;--key-border:#cdc5c5;--key-shadow:#b8aeb0;--line:#d8d2c5;--route:#554b52;--active-form:#925b65;background:#f3efe5}html[data-theme=dark][data-palette=forest-berry]{color:#e5ece8;--paper:#0f1613;--ink:#0a120f;--green:#0a120f;--cream:#18221e;--surface:#18221e;--orange:#cb8490;--muted:#a0aaa5;--text:#e5ece8;--key-bg:#29332f;--key-text:#f0f4f1;--key-border:#5a625d;--key-shadow:#07100d;--line:#394640;--route:#61515a;--active-form:#9a626c;background:#0f1613}.sidebar{grid-template-columns:170px 70px minmax(70px,92px) minmax(130px,240px) 42px}.sequence-mark{border:0;border-radius:0;flex:none;width:42px;height:42px;display:block;overflow:visible}.sequence-mark .mark-disc{fill:none;stroke:#ffffff57}.sequence-mark .mark-grid{fill:none;stroke:#f8f0f5;stroke-width:1px;opacity:.28;position:static}.sequence-mark .mark-route{fill:none;stroke:var(--orange);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;position:static}.sequence-mark .mark-dot{fill:#fbf6f2;position:static}.sequence-mark .mark-dot-active{fill:var(--orange)}.favorite-control{align-self:end;display:flex;position:relative}.sequence-add-control{flex-direction:column;align-self:end;display:flex}.favorite-control>button,.sequence-add-control>button,.landscape-fullscreen-control button{background:color-mix(in srgb,#fff 8%,var(--green));color:#fff;border:1px solid #ffffff2e;border-radius:5px;place-items:center;width:42px;height:40px;padding:0;font-size:24px;line-height:1;display:grid;box-shadow:0 2px #0000002e}.favorite-control>button.favorite-active{color:var(--orange)}.sequence-add-control>button.header-add-card{border-color:color-mix(in srgb,var(--orange) 72%,#ffffff2e);background:color-mix(in srgb,var(--orange) 24%,var(--green));color:#fff;width:70px;box-shadow:0 2px 0 color-mix(in srgb,var(--orange) 52%,#0000004d)}.add-sequence-icon{width:clamp(25px,70%,29px);height:auto;fill:color-mix(in srgb,var(--orange) 78%,#fff);stroke:color-mix(in srgb,var(--orange) 78%,#fff);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.add-sequence-route{fill:none;stroke-width:1.6px}.add-sequence-icon circle{stroke:none}.add-sequence-plus{fill:none;stroke:#fff;stroke-width:2px}.header-add-card:hover .add-sequence-new-node,.header-add-card:focus-visible .add-sequence-new-node{transform-box:fill-box;transform-origin:50%;animation:.48s ease-out both add-sequence-node-arrive}@keyframes add-sequence-node-arrive{0%{opacity:0;transform:translate(-4px)scale(.35)}to{opacity:1;transform:translate(0)scale(1)}}.sequence-add-control>button:disabled{cursor:default;opacity:.35;box-shadow:none}.favorites-popover{z-index:80;border:1px solid var(--key-border);border-top:3px solid var(--orange);background:var(--cream);width:230px;max-height:300px;color:var(--text);border-radius:7px;padding:7px;display:grid;position:absolute;top:46px;right:0;overflow:auto;box-shadow:0 18px 50px #12091052}.favorites-popover button{border:0;border-bottom:1px solid var(--line);min-height:42px;color:inherit;text-align:left;background:0 0;flex-direction:column;justify-content:center;padding:6px 8px;display:flex}.favorites-popover button:last-child{border-bottom:0}.favorites-popover button b{font:700 11px/1.1 Georgia,serif}.favorites-popover button small{color:var(--muted);margin-top:3px;font-size:7px}.favorites-popover .favorite-save{border:1px solid var(--orange);background:var(--orange);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;align-items:center;font-size:8px;font-weight:900}.favorite-item{border-bottom:1px solid var(--line);gap:3px;padding:7px 2px;display:grid}.favorite-item:last-child{border-bottom:0}.favorite-item input{width:100%;height:24px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:3px;padding:3px 5px;font:700 11px/1.1 Georgia,serif}.favorite-item input:focus{border-color:var(--orange);background:var(--key-bg);outline:0}.favorite-item>small{color:var(--muted);font-size:7px}.favorite-actions{grid-template-columns:1fr 1fr 25px;gap:4px;display:grid}.favorites-popover .favorite-actions button{border:1px solid var(--key-border);background:var(--key-bg);min-height:23px;color:var(--key-text);letter-spacing:.05em;text-transform:uppercase;border-radius:3px;place-items:center;padding:3px;font-size:7px;font-weight:800;display:grid}.favorites-popover .favorite-actions button:last-child{color:var(--muted);font-size:14px;font-weight:400}.pattern-control{align-items:center;gap:8px;display:flex}.sequence-pair{gap:2px;display:flex}.mini-stepper{gap:3px;display:flex;position:relative}.mini-stepper .movement-summary{border:1px solid var(--key-border);background:var(--key-bg);width:42px;height:31px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:4px;justify-content:center;align-items:center;gap:0;display:flex}.mini-stepper.open>button:not(.movement-summary){width:27px;height:31px}.sequence-diagram-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#120a10a6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.sequence-diagram{border:1px solid var(--key-border);background:var(--cream);text-align:center;border-radius:10px;width:min(330px,100%);padding:22px;position:relative;box-shadow:0 18px 50px #0000004d}.sequence-diagram>button{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:7px}.sequence-diagram small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:900}.sequence-graph{width:100%;margin:12px 0;overflow:visible}.sequence-graph circle{fill:var(--key-bg);stroke:var(--key-border);stroke-width:1.5px}.sequence-graph text{fill:var(--muted);text-anchor:middle;font:700 11px Georgia,serif}.sequence-graph g.active circle{fill:color-mix(in srgb,var(--orange) 18%,var(--key-bg));stroke:var(--orange)}.sequence-graph g.active text{fill:var(--orange)}.sequence-edge{stroke:var(--orange);stroke-width:2.5px;marker-end:url(#sequence-arrow);animation:.7s ease-in-out infinite alternate edge-pulse}.sequence-graph marker path{fill:var(--orange)}.sequence-diagram output{color:var(--muted);letter-spacing:.08em;font:700 10px/1 Arial,sans-serif}@keyframes edge-pulse{to{stroke-width:4px;opacity:.55}}.sequence-panel{padding-right:14px}.sequence-list{padding-right:8px}.sequence-row{grid-template-columns:minmax(145px,1fr) minmax(174px,1fr) 32px;padding-right:0}.sequence-row-actions{justify-content:center;align-items:center;min-width:0;display:flex;transform:translateY(5px)}.sequence-row-random{border:1px solid var(--key-border);background:var(--key-bg);width:31px;height:31px;color:var(--muted);box-shadow:0 2px 0 var(--key-shadow);border-radius:4px;place-items:center;padding:0;display:grid}.sequence-row-random svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;overflow:visible}.sequence-row-random:active{box-shadow:0 1px 0 var(--key-shadow);transform:translateY(1px)}.mini-stepper{grid-template-columns:30px 31px 30px;gap:3px}.mini-stepper button{border-color:color-mix(in srgb,var(--key-border) 82%,transparent);width:30px;height:31px}.mini-stepper button svg{width:16px;height:16px}.mini-stepper button.active-direction{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 13%,transparent);color:var(--orange)}.mini-stepper b{width:31px;height:31px;font-size:14px}.rhythm-bar{grid-template-columns:57px minmax(80px,1fr) 43px;gap:6px;min-height:62px;padding:5px 7px;overflow:visible}.rhythm-kind{min-width:0}.rhythm-kind label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:6px;font-weight:900;display:block}.rhythm-kind select{appearance:none;border:1px solid var(--key-border);background:var(--key-bg);width:100%;height:39px;color:var(--key-text);border-radius:5px;padding:0 23px 0 8px;font:700 10px/1 Georgia,serif}.rhythm-kind .select-wrap:after{color:var(--muted);top:7px}.tempo-popover{position:relative}.tempo-trigger{border:1px solid var(--key-border);background:var(--key-bg);width:57px;height:43px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:5px;grid-template-rows:auto 1fr;place-items:center;padding:5px 3px 3px;display:grid}.tempo-trigger small{color:var(--muted);letter-spacing:.09em;font-size:5.5px}.tempo-trigger b{font:700 13px/1 Georgia,serif}.tempo-slider{z-index:70;border:1px solid var(--key-border);border-top:3px solid var(--orange);background:var(--cream);border-radius:7px;gap:8px;width:220px;padding:12px;display:grid;position:absolute;top:49px;left:0;box-shadow:0 16px 45px #140a124d}.tempo-slider output{color:var(--text);font:700 14px/1 Georgia,serif}.tempo-slider input{width:100%;accent-color:var(--orange)}.rhythm-options{gap:5px;padding:1px 2px 3px}.rhythm-option{flex-basis:96px;grid-template-rows:31px auto;height:46px;padding:2px 4px 3px}.rhythm-option.active{border-color:var(--orange);box-shadow:0 3px 9px #23131e17}.rhythm-tool{border:1px solid var(--key-border);background:var(--key-bg);width:43px;height:43px;color:var(--orange);box-shadow:0 2px 0 var(--key-shadow);border-radius:5px;place-items:center;padding:0;display:grid}.rhythm-tool:active{box-shadow:0 1px 0 var(--key-shadow);transform:translateY(1px)}.rhythm-tool svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;overflow:visible}.rhythm-notation{justify-content:center;align-items:flex-end;gap:1px;height:29px;padding-top:4px;display:flex;position:relative}.rhythm-notation>span{border-radius:5px;place-items:center;width:12px;height:24px;display:grid}.rhythm-notation>span.current{background:color-mix(in srgb,var(--orange) 25%,transparent);color:var(--orange)}.tuplet-number{font:700 7px/1 Arial,sans-serif;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.rhythm-glyph{fill:currentColor;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:24px}.rhythm-glyph.rest{fill:none;stroke-width:1.6px}.fret-control-cell{overflow:visible}.fret-controls{z-index:16;align-items:center;display:flex;position:absolute;top:0;left:7px}.play-button{width:58px;height:31px}.note-label-toggle{z-index:18;width:43px;height:30px;position:absolute;top:7px;right:7px}.string-name-head,.string-name{z-index:14!important;visibility:visible!important;width:auto!important;box-shadow:none!important;background:0 0!important;position:sticky!important;left:0!important}.route-tone:not(.active-form-tone):not(.start-tone):not(.current-tone) .note-dot{border-color:color-mix(in srgb,var(--orange) 46%,var(--route));background:color-mix(in srgb,var(--orange) 8%,var(--cream));color:color-mix(in srgb,var(--orange) 35%,var(--route));opacity:.8;box-shadow:none}.active-form-tone .note-dot{border-color:var(--active-form);background:var(--active-form);color:#fff;opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--active-form) 22%,transparent),0 3px 8px #23121e29}.start-tone .note-dot{border:2px solid var(--orange);background:var(--orange);color:#fff;opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 26%,transparent),0 4px 10px #23121e2e}.current-tone .note-dot{z-index:8;background:var(--orange);color:#fff;opacity:1;border-color:#fff}html[data-theme=dark] .scale-tone .note-dot{border-color:color-mix(in srgb,var(--text) 48%,transparent);background:color-mix(in srgb,var(--cream) 88%,transparent);color:color-mix(in srgb,var(--text) 82%,var(--muted));opacity:.48;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent)}html[data-theme=dark] .route-tone:not(.active-form-tone):not(.start-tone):not(.current-tone) .note-dot{border-color:color-mix(in srgb,var(--orange) 58%,var(--text));background:color-mix(in srgb,var(--orange) 9%,var(--cream));color:color-mix(in srgb,var(--orange) 48%,#fff);opacity:.84;box-shadow:none}html[data-theme=dark] .active-form-tone .note-dot{border-color:color-mix(in srgb,var(--active-form) 66%,#fff);background:var(--active-form);color:#fff;opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--active-form) 22%,transparent),0 3px 8px #0000003d}html[data-theme=dark] .start-tone .note-dot{border-color:color-mix(in srgb,var(--orange) 42%,#fff);background:var(--orange);color:#fff;opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 32%,transparent),0 4px 10px #00000047}html[data-theme=dark] .current-tone .note-dot{color:#fff;opacity:1}.footer-logo{background:0 0;width:30px;height:30px}.footer-logo .mark-disc{fill:var(--ink);stroke:color-mix(in srgb,var(--muted) 45%,transparent)}.footer-logo .mark-grid{stroke:#fbf6f2}.footer-logo .mark-dot{fill:#fbf6f2}.footer-logo .mark-dot-active{fill:var(--orange)}.app-footer .theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.footer-tools{justify-self:start;align-items:center;gap:6px;display:flex;position:relative}.palette-picker{display:block;position:relative}.palette-picker-trigger{border:1px solid var(--key-border);background:var(--key-bg);width:28px;height:28px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);border-radius:50%;place-items:center;padding:0;display:grid}.palette-picker-trigger svg{width:16px;height:16px;fill:var(--orange);stroke:var(--orange);stroke-width:1px;overflow:visible}.palette-picker-trigger:active{box-shadow:none;transform:translateY(1px)}.palette-picker-menu{z-index:90;border:1px solid var(--key-border);border-top:3px solid var(--orange);background:var(--cream);width:218px;max-height:min(480px,100dvh - 110px);color:var(--text);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;border-radius:7px;gap:4px;padding:8px;display:grid;position:absolute;bottom:38px;left:0;overflow-y:auto;box-shadow:0 16px 42px #0c080a47}.palette-picker-menu>small{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;padding:1px 4px 4px;font-size:7px;font-weight:900}.palette-picker-menu>button{min-height:39px;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;padding:5px;display:grid}.palette-picker-menu>button:hover,.palette-picker-menu>button:focus-visible,.palette-picker-menu>button[aria-checked=true]{border-color:var(--key-border);background:var(--key-bg);outline:0}.palette-picker-menu>button[aria-checked=true]{box-shadow:inset 3px 0 0 var(--orange)}.palette-picker-menu>button>span:last-child{gap:3px;min-width:0;display:grid}.palette-picker-menu b{text-overflow:ellipsis;white-space:nowrap;font:700 10px/1 Georgia,serif;overflow:hidden}.palette-picker-menu button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.palette-swatches{border:1px solid color-mix(in srgb,var(--muted) 35%,transparent);border-radius:4px;grid-template-columns:repeat(4,1fr);height:22px;display:grid;overflow:hidden}.palette-swatches i{display:block}.rhythm-editor-backdrop{z-index:100;padding:max(14px,var(--safe-top)) 14px max(14px,var(--safe-bottom));-webkit-backdrop-filter:blur(6px);background:#0f080db8;place-items:center;display:grid;position:fixed;inset:0}.rhythm-editor{width:min(560px,100%);max-height:calc(100dvh - max(28px,var(--safe-top)) - max(28px,var(--safe-bottom)));border:1px solid var(--key-border);border-top:4px solid var(--orange);background:var(--cream);color:var(--text);border-radius:10px;padding:22px;position:relative;overflow:auto;box-shadow:0 26px 80px #0006}.rhythm-editor>small{color:var(--orange);letter-spacing:.16em;font-size:8px;font-weight:900}.rhythm-editor h2{margin:5px 40px 18px 0;font:400 25px/1.1 Georgia,serif}.rhythm-editor-close{border:1px solid var(--key-border);width:31px;height:31px;color:var(--text);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:20px;display:grid;position:absolute;top:10px;right:10px}.rhythm-editor .rhythm-notation.editable{border:1px solid var(--line);background:var(--paper);border-radius:7px;align-items:center;gap:7px;min-height:108px;padding:20px 8px}.rhythm-editor .editable .tuplet-number{font-size:12px;top:7px}.rhythm-editor .rhythm-notation.editable button{border:1px solid var(--key-border);background:var(--cream);width:48px;height:64px;color:var(--text);border-radius:7px;place-items:center;padding:0;display:grid}.rhythm-editor .rhythm-notation.editable button.rhythm-note-hit{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,var(--cream));color:var(--orange)}.rhythm-editor .rhythm-notation.editable .rhythm-glyph{width:25px;height:48px}.rhythm-editor>div:last-child{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.rhythm-editor>div:last-child button{border:1px solid var(--key-border);background:var(--key-bg);height:35px;color:var(--key-text);letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:0 14px;font-size:8px;font-weight:900}.rhythm-editor>div:last-child button.primary{border-color:var(--orange);background:var(--orange);color:#fff}.rhythm-editor-divisions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;margin-bottom:12px;display:grid}.rhythm-editor-divisions>button{border:1px solid var(--key-border);background:var(--key-bg);height:59px;color:var(--muted);box-shadow:0 2px 0 var(--key-shadow);border-radius:6px;grid-template-rows:35px auto;place-items:center;padding:2px 4px 4px;display:grid}.rhythm-editor-divisions>button.active{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--cream));color:var(--orange);box-shadow:0 2px 0 color-mix(in srgb,var(--orange) 55%,var(--key-shadow))}.rhythm-editor-divisions>button small{letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:100%;font-size:6px;font-weight:900;overflow:hidden}.rhythm-editor-divisions .rhythm-notation{gap:0;height:32px;padding-top:6px}.rhythm-editor-divisions .rhythm-notation>span{width:9px;height:23px}.rhythm-editor-divisions .rhythm-glyph{width:9px;height:21px}.rhythm-editor-divisions .tuplet-number{top:0}.rhythm-division-any{justify-content:center;align-items:flex-end;gap:2px;height:32px;display:flex}.rhythm-division-any .rhythm-glyph{width:10px;height:24px}.rhythm-editor-modes{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px;display:grid}.rhythm-editor-modes button{border:1px solid var(--key-border);height:39px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:6px;font-size:8px;font-weight:900}.rhythm-editor-modes button.active{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--cream));color:var(--orange);box-shadow:0 2px 0 var(--key-shadow)}.rhythm-editor-description{min-height:34px;color:var(--muted);margin:0 0 10px;font-size:10px;line-height:1.45}@media (width<=560px){.sidebar{padding-right:max(5px,var(--safe-right));padding-left:max(5px,var(--safe-left));grid-template-columns:76px 58px minmax(100px,1fr) 34px;gap:4px}.sidebar .brand{letter-spacing:.09em;gap:4px;width:72px;font-size:5px;line-height:1.14;display:flex}.sidebar .brand>span{display:block}.sidebar .brand strong{letter-spacing:.06em;font-size:6.5px}.sidebar .brand .sequence-mark{width:29px;height:29px}.favorite-control>button{width:34px;height:38px}.sequence-add-control>button.header-add-card{width:100%;height:38px}.sidebar select{padding-left:5px;font-size:9px}.sequence-panel{padding-right:5px}.sequence-row{grid-template-columns:137px minmax(0,1fr) 29px;gap:5px;padding-right:0}.sequence-row-random{width:28px;height:28px}.sequence-row-random svg{width:15px;height:15px}.movement-choice>div{gap:7px}.mini-stepper{grid-template-columns:27px 28px 27px;gap:2px}.mini-stepper button,.mini-stepper b{width:27px;height:29px}.mini-stepper b{width:28px;font-size:13px}.rhythm-bar{grid-template-columns:49px minmax(54px,1fr) 41px;gap:4px;min-height:57px;padding:4px}.tempo-trigger{width:49px;height:41px}.rhythm-tool{width:41px;height:41px}.rhythm-option{flex-basis:82px;grid-template-rows:28px auto;height:42px}.rhythm-notation{gap:0}.rhythm-notation>span{width:10px}.rhythm-glyph{width:10px;height:22px}.fret-numbers,.string-row{grid-template-columns:30px repeat(19,var(--fret-width))}.continuous-fretboard{--fret-width:calc((100cqw - 30px)/6)}.string-name,.string-name-head{min-width:30px;width:30px!important;padding-left:5px!important}.mobile-string-name{display:none}.rhythm-editor{padding:18px 12px}.rhythm-editor h2{font-size:21px}.rhythm-editor .rhythm-notation.editable{gap:3px;padding-left:3px;padding-right:3px}.rhythm-editor .rhythm-notation.editable button{width:calc(14.2857% - 3.42857px);min-width:39px;height:58px}.rhythm-editor .rhythm-notation.editable .rhythm-glyph{width:22px;height:43px}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape .sidebar{grid-template-columns:minmax(112px,140px) 70px 50px minmax(120px,1fr) 30px 30px}.phone-landscape .brand .sequence-mark{width:30px;height:30px;transform:none}.phone-landscape .favorite-control>button{width:30px;height:28px;font-size:18px}.phone-landscape .sequence-add-control>button.header-add-card{width:70px;height:28px}.phone-landscape .sequence-list{padding-right:7px}.phone-landscape .sequence-row{grid-template-columns:minmax(140px,.9fr) minmax(190px,1fr) 26px;padding-right:0}.phone-landscape .mini-stepper{grid-template-columns:24px 25px 24px}.phone-landscape .mini-stepper button,.phone-landscape .mini-stepper b{width:24px;height:24px}.phone-landscape .mini-stepper b{width:25px}.phone-landscape .sequence-row-actions{transform:none}.phone-landscape .sequence-row-random{width:26px;height:26px}.phone-landscape .rhythm-bar{flex:0 0 43px;grid-template-columns:48px minmax(90px,1fr) 35px;min-height:43px;margin:0;padding:2px 4px;display:grid;position:relative}.phone-landscape .rhythm-bar:before{display:none}.phone-landscape .rhythm-options{display:flex}.phone-landscape .tempo-trigger{width:48px;height:35px}.phone-landscape .rhythm-option{flex-basis:78px;grid-template-rows:23px auto;height:35px}.phone-landscape .rhythm-tool{width:35px;height:35px}.phone-landscape .rhythm-glyph{height:19px}.phone-landscape .fretboard-card{flex:auto}.phone-landscape .fret-controls{top:-4px;left:5px}.phone-landscape .play-button{width:49px;height:27px}.phone-landscape .note-label-toggle{width:38px;height:27px;top:3px;right:5px}.phone-landscape .fret-numbers{min-height:17px}.phone-landscape .string-row{height:25px}.phone-landscape .g-b-shift-control{width:32px;height:17px;bottom:-9px;left:6px}.phone-landscape .g-b-shift-toggle svg{width:16px;height:12px}.phone-landscape .g-b-shift-popover{top:1px;left:30px}.phone-landscape .note-dot{width:23px;min-width:23px;max-width:23px;height:23px;min-height:23px;max-height:23px}.phone-landscape .fretboard-scroll.continuous-scroll{padding:1px 0 2px}}@media (prefers-reduced-motion:reduce){.g-b-shift-toggle.shift-left .g-b-shift-visual,.g-b-shift-toggle.shift-right .g-b-shift-visual{animation:none}}@media (width<=360px) and (orientation:portrait){.sequence-list{padding-left:0;padding-right:0}.sequence-row{grid-template-columns:123px minmax(0,1fr) 28px;gap:3px;padding-right:0}.pattern-control{grid-template-columns:repeat(4,23px) 19px;gap:3px}.pattern-control button{width:23px;height:27px}.pattern-control .pattern-remove{width:19px;height:19px}.movement-choice>div{gap:4px}.mini-stepper{grid-template-columns:21px 22px 21px;gap:1px}.mini-stepper button,.mini-stepper b{width:21px;height:28px}.mini-stepper b{width:22px;font-size:12px}}@media (width<=560px){.sidebar{min-height:calc(64px + var(--safe-top));padding:calc(8px + var(--safe-top)) max(9px,var(--safe-right)) 8px max(9px,var(--safe-left));grid-template-columns:76px 58px minmax(0,1fr) 34px;gap:5px}.sidebar .brand{display:none}.control-group label,.header-control>label,.header-control-label{letter-spacing:.1em;margin-bottom:6px;font-size:7px}.sidebar select{height:40px;padding:6px 21px 6px 8px;font-size:12px}.sidebar .select-wrap:after{top:8px;right:8px}.favorite-control>button{width:34px;height:40px;font-size:18px}.sequence-add-control>button.header-add-card{width:76px;height:40px}}@media (width>=460px) and (width<=720px){.sequence-row{grid-template-columns:150px minmax(0,1fr) 29px;gap:clamp(12px,2vw,18px)}.movement-choice>div{gap:clamp(16px,3.5vw,24px)}}@media (width>=361px) and (width<=459px){.sequence-list{padding-left:0}.sequence-row{grid-template-columns:137px minmax(0,1fr) 29px;gap:8px}.movement-choice>div{gap:14px}.mini-stepper{grid-template-columns:26px 27px 26px;gap:1px}.mini-stepper button,.mini-stepper b{width:26px}.mini-stepper b{width:27px}}.favorite-control>button{font-size:20px}@media (width<=560px){.favorite-control>button{font-size:18px}}@media (width>=900px){.sequence-row-actions{transform:none}}.pattern-control{gap:8px;display:flex}.sequence-pair{border:0;gap:3px;padding:0;display:flex}.sequence-pair button,.sequence-pair .pair-string{width:25px!important;height:27px!important;font-size:13px!important}.movement-choice>span{text-align:right}.movement-choice>div{justify-content:flex-end}.mini-stepper{display:block;position:relative}.mini-stepper .movement-summary{justify-content:center;align-items:center;gap:2px;width:44px;height:31px;display:flex}.mini-stepper .movement-summary b{width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;font-size:14px;display:inline}.mini-stepper .movement-summary svg{width:15px;height:15px}.movement-popover{z-index:200;border:1px solid var(--key-border);background:var(--cream);border-radius:6px;width:164px;padding:9px 10px 8px;position:fixed;box-shadow:0 8px 22px #2a1b253d}.movement-popover output{color:var(--orange);text-align:center;margin-bottom:6px;font:700 15px/1 Georgia,serif;display:block}.movement-popover input{width:100%;accent-color:var(--orange);cursor:pointer;margin:0;display:block}.movement-range-labels{color:var(--muted);justify-content:space-between;margin-top:3px;font:700 7px/1 Arial,sans-serif;display:flex}.movement-range-labels b{width:auto;height:auto;box-shadow:none;color:var(--text);background:0 0;border:0;font:700 7px/1 Arial,sans-serif;display:inline}.sequence-diagram output{justify-content:center;gap:9px;display:flex}.sequence-diagram output span{display:inline-block}.sequence-diagram output span.active{color:var(--orange);animation:1.4s ease-in-out infinite alternate sequence-pair-pulse}@keyframes sequence-pair-pulse{to{text-shadow:0 2px 7px color-mix(in srgb,var(--orange) 45%,transparent);transform:scale(1.12)}}.sequence-edge{animation-duration:1.4s}.sequence-graph{margin-bottom:42px}.movement-choice{flex-direction:column;align-items:flex-end;display:flex}.movement-choice>span{text-align:left;width:98px}@media (width<=560px){.sequence-row{grid-template-columns:minmax(166px,1fr) 98px 29px;gap:4px;padding-right:0}.pattern-control{gap:4px}}@media (width<=360px){.sequence-row{grid-template-columns:minmax(158px,1fr) 88px 28px;gap:3px}.pattern-control,.sequence-pair{gap:2px}.sequence-pair button,.sequence-pair .pair-string{width:21px!important}.pattern-control .pattern-remove{width:19px;height:19px}.movement-choice>span{width:88px}.movement-choice>div{gap:0}.mini-stepper .movement-summary{width:44px}}.sequence-row-random{border-color:color-mix(in srgb,var(--key-border) 68%,transparent);width:24px;height:24px;color:var(--muted);box-shadow:none;background:0 0;border-radius:50%}.movement-choice>div{gap:6px}@media (width<=560px){.sequence-row-actions{justify-self:end;transform:translateY(5px)}}.movement-choice{display:block}.movement-choice>span{margin-left:auto;display:block}.mini-stepper .movement-summary{height:27px}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape .mini-stepper .movement-summary{height:24px}}.pattern-control .pattern-remove{z-index:16;pointer-events:auto;width:30px;height:30px;position:relative}@media (width>=361px){.movement-choice>span{width:94px}}.sequence-row-actions{transform:translateY(5px)}.sequence-row-random{border-color:var(--key-border);background:color-mix(in srgb,var(--key-bg) 72%,transparent);color:var(--text);box-shadow:0 1px 0 var(--key-shadow)}.sequence-panel .movement-choice{transform:translate(-10px)}.sequence-row-actions{align-self:start;margin-left:0;transform:translateY(18px)}.sequence-row-random{width:44px;height:27px;color:var(--orange);border-color:color-mix(in srgb,var(--key-border) 78%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--key-shadow) 55%,transparent);background:0 0;border-radius:4px}.sequence-row-random svg{width:25px;height:14px}.sequence-row-random svg circle{fill:var(--key-bg);stroke:currentColor;stroke-width:1.05px}.sequence-row-random svg line{stroke:currentColor;stroke-width:2.45px;opacity:1}.sequence-edge-base{stroke:color-mix(in srgb,var(--muted) 54%,transparent);stroke-width:1.4px;stroke-linecap:round}.rhythm-option[data-pulses="6"]{flex-basis:96px}.rhythm-option[data-pulses="7"]{flex-basis:102px}.rhythm-option[data-pulses="8"]{flex-basis:110px}.rhythm-option[data-pulses="9"]{flex-basis:118px}@media (width>=900px){.movement-choice{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:8px;display:grid}.movement-choice>span{text-align:left;width:auto;margin:0}.movement-choice>div{justify-content:flex-start}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape .fretboard-card{flex:none}.phone-landscape .sequence-row{padding-right:144px}.phone-landscape .movement-choice{display:block}.phone-landscape .movement-choice>span{text-align:left;width:94px;margin-bottom:4px;margin-left:auto;display:block}.phone-landscape .movement-choice>div{justify-content:flex-end}}@media (orientation:landscape) and (height<=560px) and (width<=620px){.phone-landscape .sequence-row{padding-right:112px}}.sequence-pair.active-pattern-step{box-shadow:none}.sequence-pair.active-pattern-step button{border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:0 2px 0 color-mix(in srgb,var(--orange) 62%,#713524);animation:.65s ease-in-out infinite alternate control-pulse}.sequence-panel:after{z-index:20;background:var(--line);box-shadow:0 7px 12px #2036411a}.sequence-panel-tabs>button,.sequence-hidden-tab{box-shadow:inset 0 4px 6px -6px #23181f6b,0 2px 4px #41232f1c}.pattern-control{gap:10px}@media (width<=560px) and (width>=361px){.pattern-control{gap:6px}.sequence-row{grid-template-columns:minmax(166px,1fr) 98px 44px}}@media (width<=360px){.sequence-row-random{width:28px}.sequence-row-random svg{width:18px}}.sequence-panel{container-type:inline-size}.pattern-carousel{--slide-width:min(58cqw,248px);--slide-height:min(52cqw,224px);width:100%;min-width:0;max-width:100%;padding:8px calc((100% - var(--slide-width))/2) 12px;scroll-padding-inline:calc((100% - var(--slide-width))/2);scroll-snap-type:x mandatory;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;align-items:center;gap:10px;display:flex;overflow:auto hidden}.pattern-carousel::-webkit-scrollbar{display:none}.pattern-card{flex:0 0 var(--slide-width);width:var(--slide-width);min-width:0;height:var(--slide-height);min-height:var(--slide-height);max-height:var(--slide-height);border:1px solid color-mix(in srgb,var(--key-border) 75%,transparent);background:color-mix(in srgb,var(--key-bg) 66%,transparent);color:var(--text);scroll-snap-align:center;scroll-snap-stop:always;opacity:.52;text-align:left;border-radius:6px;grid-template-rows:minmax(0,1fr);padding:8px;transition:opacity .2s,transform .2s,border-color .2s,box-shadow .2s,background .16s;display:grid;position:relative;overflow:hidden;transform:scale(.95)}.pattern-card.selected{border:2px solid var(--orange);opacity:1;background:color-mix(in srgb,var(--orange) 5%,var(--key-bg));padding:7px;transform:scale(1);box-shadow:0 12px 30px #3226351f}.pattern-card:not(.selected){cursor:pointer}.pattern-card-number{z-index:2;border:1px solid color-mix(in srgb,var(--key-border) 78%,transparent);background:color-mix(in srgb,var(--cream) 88%,transparent);min-width:25px;height:25px;color:var(--text);pointer-events:none;border-radius:4px;place-items:center;padding:0 6px;font:800 16px/1 Georgia,serif;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #3226351a}.pattern-card.selected .pattern-card-number{border-color:color-mix(in srgb,var(--orange) 72%,var(--key-border));color:var(--orange);top:7px;right:7px}.pattern-card-graph{width:100%;min-width:0;height:100%;min-height:0;color:inherit;background:0 0;border:0;border-radius:4px;padding:1px;display:block;position:relative;overflow:hidden}.pattern-card-graph>.pattern-graph{width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;inset:1px}.pattern-card-graph:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.pattern-card:not(.selected) .pattern-card-graph{pointer-events:none}.pattern-graph{width:100%;height:100%;display:block;overflow:visible}.pattern-graph-edge{stroke:color-mix(in srgb,var(--muted) 58%,transparent);stroke-width:2.1px;stroke-linecap:round}.pattern-graph-edge.active{stroke:var(--orange);stroke-width:3.3px;animation:.7s ease-in-out infinite alternate pattern-edge-pulse}.pattern-graph-movement-edge{stroke:var(--active-form);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:5 5}.pattern-graph circle{fill:var(--key-bg);stroke:color-mix(in srgb,var(--key-border) 86%,transparent);stroke-width:1.5px}.pattern-graph circle.visited{fill:color-mix(in srgb,var(--orange) 12%,var(--key-bg));stroke:var(--orange)}.pattern-graph circle.current{fill:var(--orange);stroke:var(--orange);animation:.65s ease-in-out infinite alternate pattern-node-pulse}.pattern-graph .pattern-graph-runner{fill:none;stroke:var(--orange);stroke-width:2.5px;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--orange) 68%,transparent));pointer-events:none;transition:cx .16s ease-out,cy .16s ease-out;animation:.65s ease-in-out infinite alternate pattern-runner-pulse}.pattern-graph-visit-label{fill:var(--text);text-anchor:middle;dominant-baseline:central;pointer-events:none;font:800 14px/1 Arial,sans-serif}.pattern-graph-visit-label.current{fill:#fff}.pattern-graph-repeat-indicator{fill:var(--orange);letter-spacing:1px;text-anchor:middle;dominant-baseline:central;pointer-events:none;font:900 6px/1 Arial,sans-serif}.pattern-graph-repeat-indicator.current{fill:#fff}.pattern-graph-movement-step circle{fill:var(--active-form);stroke:color-mix(in srgb,var(--active-form) 72%,var(--text));stroke-width:2px}.pattern-graph-movement-step text{fill:#fff;text-anchor:middle;dominant-baseline:central;font:900 12px/1 Arial,sans-serif}.pattern-graph-movement-step.current circle{animation:.65s ease-in-out infinite alternate pattern-movement-pulse}.pattern-carousel-meta{justify-content:center;align-items:center;min-height:16px;margin-top:-7px;padding-bottom:1px;display:flex}.pattern-carousel-dots{justify-content:center;gap:6px;display:flex}.pattern-carousel-dots i{background:color-mix(in srgb,var(--muted) 42%,transparent);border-radius:50%;width:5px;height:5px;transition:width .2s,background .2s}.pattern-carousel-dots i.active{background:var(--orange);border-radius:4px;width:18px}@keyframes pattern-edge-pulse{to{opacity:.48;stroke-width:4.1px}}@keyframes pattern-node-pulse{to{r:21;opacity:.7}}@keyframes pattern-movement-pulse{to{opacity:.7}}@keyframes pattern-runner-pulse{to{stroke-width:4px;opacity:.62}}.pattern-editor-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#120a10a6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.pattern-editor{border:1px solid var(--key-border);background:var(--cream);width:min(400px,100%);max-height:calc(100dvh - 36px);color:var(--text);border-radius:10px;gap:9px;padding:18px 22px;transition:width .24s;display:grid;position:relative;overflow:auto;box-shadow:0 18px 50px #0000004d}.pattern-editor.transition{width:min(430px,100%)}.pattern-editor>small{color:var(--muted);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:8px;font-weight:900}.pattern-editor-close{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:7px}.pattern-editor-canvas{margin-inline:auto;position:relative}.pattern-editor-canvas.pattern-stage{aspect-ratio:280/210;width:100%}.pattern-editor-canvas.transition-stage{aspect-ratio:7/9;width:min(350px,100%);animation:.28s ease-out both pattern-transition-expand}.pattern-editor-canvas>.pattern-graph,.pattern-editor-canvas>.pattern-transition-graph{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pattern-editor-nodes{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:0}.pattern-editor-nodes button{z-index:1;border:1.5px solid var(--key-border);background:var(--key-bg);width:44px;height:44px;color:var(--orange);border-radius:50%;place-self:center;place-items:center;padding:0;font:700 11px/1 Georgia,serif;display:grid}.pattern-editor-nodes button.visited{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,var(--key-bg))}.pattern-editor-node-visits{place-items:center;width:34px;height:34px;display:grid;position:relative}.pattern-editor-node-visits i{place-items:center;font:800 13px/1 Arial,sans-serif;display:grid}.pattern-editor-node-visits small{width:100%;color:var(--orange);letter-spacing:1px;text-align:center;font:900 6px/1 Arial,sans-serif;position:absolute;top:1px;left:0}.pattern-editor-count{color:var(--muted);letter-spacing:.12em;text-align:center;font:700 8px/1 Arial,sans-serif}.pattern-transition-grid{transform-origin:50%;animation:.28s ease-out both pattern-grid-reveal}.pattern-transition-grid circle{fill:color-mix(in srgb,var(--key-bg) 52%,transparent);stroke:color-mix(in srgb,var(--key-border) 48%,transparent);stroke-width:1px}.pattern-transition-grid circle.outer{opacity:.62}.pattern-transition-current{animation:.28s ease-out both pattern-current-recede}.pattern-transition-current>line{stroke:var(--orange);stroke-width:2.4px;stroke-linecap:round}.pattern-transition-current-node circle{fill:color-mix(in srgb,var(--orange) 16%,var(--key-bg));stroke:var(--orange);stroke-width:1.6px}.pattern-transition-current-node text{fill:var(--text);text-anchor:middle;dominant-baseline:central;font:800 12px/1 Arial,sans-serif}.pattern-transition-next{opacity:.72;animation:.32s ease-out 80ms both pattern-next-arrive}.pattern-transition-next>line{stroke:var(--active-form);stroke-width:2.4px;stroke-dasharray:5 4;stroke-linecap:round}.pattern-transition-next-node circle{fill:color-mix(in srgb,var(--active-form) 8%,var(--key-bg));stroke:var(--active-form);stroke-width:2px;stroke-dasharray:4 3}.pattern-transition-next-node text{fill:var(--active-form);text-anchor:middle;dominant-baseline:central;font:900 12px/1 Arial,sans-serif}.pattern-transition-next-node.entry circle{fill:var(--active-form);stroke:color-mix(in srgb,var(--active-form) 72%,var(--text));stroke-width:2.5px;stroke-dasharray:none}.pattern-transition-next-node.entry text{fill:#fff}.pattern-transition-entry-edge{stroke:var(--text);stroke-width:2.8px;stroke-dasharray:6 4;stroke-linecap:round;marker-end:url(#pattern-transition-arrow)}.pattern-transition-graph marker path{fill:var(--text)}.pattern-transition-delta{fill:var(--muted);letter-spacing:.08em;text-anchor:middle;font:900 7px/1 Arial,sans-serif}.pattern-editor-transition-targets{z-index:4;position:absolute;inset:0}.pattern-editor-transition-targets button{background:0 0;border:0;border-radius:50%;width:42px;height:42px;padding:0;position:absolute;transform:translate(-50%,-50%)}.pattern-editor-transition-targets button:hover,.pattern-editor-transition-targets button:focus-visible{outline:2px solid color-mix(in srgb,var(--active-form) 72%,transparent);outline-offset:2px}.pattern-editor-transition-targets button.current{box-shadow:0 0 0 3px color-mix(in srgb,var(--active-form) 26%,transparent)}.pattern-editor-transition-status{justify-content:center;align-items:center;min-height:18px;display:flex}.pattern-editor-transition-status output{color:var(--active-form);letter-spacing:.09em;font:900 8px/1 Arial,sans-serif}.pattern-editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-top:5px;display:flex}.pattern-editor-action-group{align-items:center;gap:5px;display:flex}.pattern-editor-action-group.secondary{margin-left:auto}.pattern-editor-actions button{border:1px solid var(--key-border);background:var(--key-bg);min-width:0;min-height:32px;color:var(--key-text);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:7px;font-weight:900;display:inline-flex}.pattern-editor-actions button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px}.pattern-editor-actions .pattern-editor-save{border-color:var(--orange);background:var(--orange);color:#fff;min-width:68px;box-shadow:0 2px 0 color-mix(in srgb,var(--orange) 60%,#713524);font-size:8px}.pattern-editor-actions .pattern-editor-delete{border-color:color-mix(in srgb,#c64555 72%,var(--key-border));background:color-mix(in srgb,#c64555 7%,var(--key-bg));color:#b53849}.pattern-editor-actions .pattern-editor-delete:hover,.pattern-editor-actions .pattern-editor-delete:focus-visible{background:color-mix(in srgb,#c64555 15%,var(--key-bg));color:#a92739;border-color:#c64555}.pattern-editor-actions button:disabled{cursor:default;opacity:.4;box-shadow:none}html[data-theme=dark] .pattern-editor-actions .pattern-editor-delete{color:#ff8b9a}@keyframes pattern-transition-expand{0%{opacity:.58;transform:scale(.76)}to{opacity:1;transform:scale(1)}}@keyframes pattern-grid-reveal{0%{opacity:0;transform:scale(.62)}to{opacity:1;transform:scale(1)}}@keyframes pattern-current-recede{0%{transform-origin:50%;transform:scale(1.34)}to{transform-origin:50%;transform:scale(1)}}@keyframes pattern-next-arrive{0%{opacity:0;transform:translate(18px)}to{opacity:.72;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.pattern-editor,.pattern-editor-canvas.transition-stage,.pattern-transition-grid,.pattern-transition-current,.pattern-transition-next{transition:none;animation:none}.header-add-card:hover .add-sequence-new-node,.header-add-card:focus-visible .add-sequence-new-node{animation:none}}@media (width<=900px){.pattern-card{transform:scale(.95)}.pattern-card.selected{transform:scale(1)}}@media (width<=560px){.sequence-panel{margin-bottom:8px}.pattern-carousel{gap:8px;padding-top:5px;padding-bottom:10px}.pattern-editor{padding:16px 14px}}@media (orientation:landscape) and (height<=560px) and (width<=1024px){.phone-landscape .sequence-panel{flex:0 0 114px;margin:0;padding:3px 5px}.phone-landscape .pattern-carousel{--slide-width:170px;--slide-height:82px;gap:8px;height:92px;padding:0 1px}.phone-landscape .pattern-card{flex-basis:var(--slide-width);height:var(--slide-height);min-height:var(--slide-height);max-height:var(--slide-height);grid-template-rows:minmax(0,1fr);padding:5px}.phone-landscape .pattern-card-number{min-width:21px;height:21px;padding:0 5px;font-size:13px;top:5px;right:5px}.phone-landscape .pattern-card.selected .pattern-card-number{top:4px;right:4px}.phone-landscape .pattern-card-graph{height:100%;max-height:none}.phone-landscape .pattern-carousel-meta{min-height:16px;margin-top:0;padding-bottom:0}.phone-landscape .fretboard-playback-runner{width:31px;height:31px}}.setup-prototype{--proto-surface:var(--cream);background:var(--paper);min-height:100vh;color:var(--text);font-family:Arial,Helvetica,sans-serif}.prototype-header{background:var(--green);color:#f7f2e7;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:10px max(20px,50vw - 700px);display:flex;box-shadow:0 8px 24px #0e232b24}.prototype-brand{align-items:center;gap:12px;display:flex}.prototype-brand .sequence-mark{width:42px;height:42px}.prototype-brand span{gap:4px;display:grid}.prototype-brand strong{letter-spacing:.04em;font:15px Georgia,Times New Roman,serif}.prototype-brand small{letter-spacing:.16em;text-transform:uppercase;color:#d9ddcf;font-size:8px}.prototype-header-actions{align-items:center;gap:12px;display:flex}.prototype-badge{letter-spacing:.14em;color:#d9ddcf;font-size:8px;font-weight:800}.prototype-icon-button{color:#fff;background:#ffffff0f;border:1px solid #ffffff3d;border-radius:5px;place-items:center;width:38px;height:38px;display:grid}.prototype-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:20px}.prototype-main{width:min(1400px,100%);margin:auto;padding:20px clamp(8px,3vw,42px) 34px}.prototype-toolbar{border:1px solid var(--line);background:var(--cream);border-radius:7px;justify-content:space-between;align-items:center;gap:20px;min-height:58px;margin-bottom:12px;padding:10px 12px 10px 16px;display:flex}.prototype-toolbar>div{gap:4px;display:grid}.prototype-toolbar small,.minimized-summary small,.picking-bar small{color:var(--muted);letter-spacing:.14em;font-size:7px;font-weight:900}.prototype-toolbar strong{font:16px Georgia,Times New Roman,serif}.setup-launch,.empty-invitation button{border:1px solid var(--key-border);background:var(--key-bg);min-height:38px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);text-transform:uppercase;letter-spacing:.06em;border-radius:5px;align-items:center;gap:8px;padding:0 13px;font-size:10px;font-weight:900;display:flex}.setup-launch svg,.empty-invitation svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:17px}.prototype-stage{min-height:510px;position:relative}.prototype-board{position:relative}.prototype-board .fretboard-card{margin:0}.prototype-board .fretboard-card.has-header-message{margin-top:0}.prototype-board .prototype-tonic-tone .note-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 22%,transparent);border-color:var(--orange)!important;background:var(--orange)!important;color:#fff!important;opacity:1!important}.prototype-board [data-prototype-order]:after{z-index:12;background:var(--text);width:15px;height:15px;color:var(--cream);content:attr(data-prototype-order);border-radius:50%;place-items:center;font:700 8px/1 Arial;display:grid;position:absolute;top:2px;right:2px}.empty-invitation{z-index:8;border:1px solid var(--key-border);border-top:3px solid var(--orange);background:color-mix(in srgb,var(--cream) 94%,transparent);text-align:center;border-radius:8px;justify-items:center;gap:10px;width:min(390px,100% - 28px);padding:20px;display:grid;position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #10140d2e}.empty-invitation>span{color:var(--orange);letter-spacing:.15em;text-transform:uppercase;font-size:8px;font-weight:900}.empty-invitation strong{font:400 22px/1.15 Georgia,Times New Roman,serif}.setup-sheet{z-index:20;border:1px solid var(--key-border);border-top:3px solid var(--orange);background:var(--cream);border-radius:9px;grid-template-rows:auto auto 1fr auto;min-height:510px;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 20px 60px #0f161340}.sheet-header{justify-content:space-between;align-items:center;gap:20px;padding:16px 20px 12px;display:flex}.sheet-header small{color:var(--orange);letter-spacing:.16em;font-size:8px;font-weight:900}.sheet-header h1{margin:4px 0 0;font:400 28px/1 Georgia,Times New Roman,serif}.minimize{border:1px solid var(--key-border);min-width:68px;color:var(--text);background:0 0;border-radius:5px;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;display:flex}.minimize span{font-size:18px;line-height:12px}.minimize small{color:var(--muted);letter-spacing:.06em;font-size:7px}.setup-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.setup-step{border:0;border-right:1px solid var(--line);min-width:0;min-height:52px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:8px;padding:7px;display:flex}.setup-step:last-child{border-right:0}.setup-step>span{border:1px solid var(--key-border);border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:9px;display:grid}.setup-step b{letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;overflow:hidden}.setup-step[aria-current=step]{background:var(--cream);color:var(--text)}.setup-step[aria-current=step]>span{border-color:var(--orange);background:var(--orange);color:#fff}.sheet-body{min-height:0;padding:22px clamp(16px,3vw,38px);overflow-y:auto}.step-copy{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.step-copy>span{color:var(--orange);font:22px Georgia,Times New Roman,serif}.step-copy h2{margin:0;font:400 26px/1.05 Georgia,Times New Roman,serif}.step-copy p{max-width:730px;color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.45}.tonic-grid{grid-template-columns:repeat(9,minmax(68px,1fr));gap:8px;display:grid}.choice{border:1px solid var(--key-border);background:var(--key-bg);min-height:48px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);text-align:left;border-radius:5px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:8px 10px;display:flex}.choice[aria-pressed=true]{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 13%,var(--key-bg));box-shadow:0 2px 0 var(--orange)}.choice b{font:15px Georgia,Times New Roman,serif}.choice small{color:var(--muted);font-size:8px}.mode-switch{gap:8px;margin-bottom:14px;display:flex}.mode-switch .choice{align-items:center;min-width:120px}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.collection-grid .choice{min-height:62px}.collection-grid .choice b{font-size:16px}.manual-entry{border:1px solid var(--line);background:var(--paper);border-radius:7px;max-width:760px;padding:18px}.manual-entry>label{letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:900;display:block}.manual-entry>div{grid-template-columns:1fr auto;gap:8px;display:grid}.manual-entry input{border:1px solid var(--key-border);background:var(--key-bg);min-width:0;height:44px;color:var(--text);border-radius:5px;padding:0 12px}.manual-entry button,.large-action,.selection-preview>button,.completion button{border:1px solid var(--orange);background:var(--orange);color:#fff;letter-spacing:.07em;text-transform:uppercase;border-radius:5px;min-height:44px;padding:0 15px;font-size:9px;font-weight:900}.manual-entry>small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.manual-entry>p{color:var(--orange);margin:8px 0 0;font-size:11px}.definition-card{border-left:3px solid var(--orange);background:var(--paper);margin-bottom:16px;padding:16px 18px}.definition-card strong{font:17px Georgia,Times New Roman,serif}.definition-card p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.selection-preview{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.selection-preview>span{flex-wrap:wrap;gap:7px;display:flex}.selection-preview i{border:1px solid var(--key-border);background:var(--key-bg);border-radius:5px;place-items:center;min-width:42px;min-height:42px;font:12px Georgia,serif;display:grid}.selection-preview i:first-child{border-color:var(--orange)}.selection-preview i small{color:var(--muted);font:7px Arial}.selection-preview em{color:var(--muted);font-size:12px}.selection-preview button:disabled,.large-action:disabled{cursor:not-allowed;opacity:.4}.route-preview{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.route-preview>span{border:1px solid var(--line);background:var(--paper);border-radius:5px;align-items:center;gap:9px;min-width:126px;padding:9px 11px;display:flex}.route-preview b{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:9px;display:grid}.route-preview small{color:var(--muted);font-size:9px}.route-preview p{color:var(--muted);font-size:12px}.movement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.movement-grid fieldset{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:14px;display:grid}.movement-grid legend{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 6px;font-size:9px;font-weight:900}.reverse-collection{border:1px solid var(--line);background:var(--paper);border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:14px;display:flex}.reverse-collection span{gap:3px;display:grid}.reverse-collection b{font:15px Georgia,Times New Roman,serif}.reverse-collection small{color:var(--muted);font-size:9px}.reverse-collection select{border:1px solid var(--key-border);background:var(--key-bg);min-width:190px;height:40px;color:var(--text);border-radius:5px;padding:0 10px}.completion{color:var(--muted);justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;font-size:10px;display:flex}.sheet-footer{border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:9px 16px;display:flex}.sheet-footer button,.picking-bar button,.minimized-summary button{border:1px solid var(--key-border);background:var(--key-bg);min-height:36px;color:var(--key-text);box-shadow:0 2px 0 var(--key-shadow);letter-spacing:.07em;text-transform:uppercase;border-radius:5px;padding:0 13px;font-size:8px;font-weight:900}.sheet-footer button.primary,.picking-bar button.primary{border-color:var(--orange);background:var(--orange);color:#fff}.sheet-footer button:disabled,.picking-bar button:disabled{cursor:not-allowed;opacity:.35}.sheet-footer span{color:var(--muted);font-size:9px}.picking-bar{border:1px solid var(--line);border-left:3px solid var(--orange);background:var(--cream);border-radius:6px;grid-template-columns:minmax(180px,1fr) auto auto auto auto;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;display:grid}.picking-bar>div{gap:3px;display:grid}.picking-bar strong{font:14px Georgia,Times New Roman,serif}.picking-bar>span{color:var(--muted);font-size:9px}.minimized-summary{border:1px solid var(--line);background:var(--cream);border-radius:6px;align-items:center;gap:22px;margin-top:10px;padding:10px 12px;display:flex}.minimized-summary>span{gap:3px;display:grid}.minimized-summary b{font:13px Georgia,Times New Roman,serif}.minimized-summary button{margin-left:auto}.prototype-note{border-left:3px solid var(--orange);background:var(--cream);max-width:760px;margin:24px auto 0;padding:14px 18px;font-size:11px;line-height:1.55}.prototype-note p{color:var(--muted);margin:5px 0 0}@media (width<=820px){.tonic-grid{grid-template-columns:repeat(5,minmax(58px,1fr))}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-step b{display:none}.movement-grid{grid-template-columns:1fr}.prototype-stage,.setup-sheet{min-height:560px}}@media (width<=560px){.prototype-header{min-height:60px;padding:8px}.prototype-brand .sequence-mark{width:36px;height:36px}.prototype-brand strong{font-size:13px}.prototype-badge{display:none}.prototype-main{padding:8px 6px 24px}.prototype-toolbar{margin-bottom:7px;padding:7px 8px}.prototype-toolbar strong{font-size:13px}.setup-launch span{display:none}.prototype-stage{min-height:610px}.setup-sheet{border-radius:6px;min-height:610px}.sheet-header{padding:13px}.sheet-header h1{font-size:23px}.setup-step{min-height:44px;padding:5px}.setup-step>span{width:22px;height:22px}.sheet-body{padding:16px 12px}.step-copy{gap:10px;margin-bottom:15px}.step-copy h2{font-size:23px}.tonic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.collection-grid{grid-template-columns:1fr;gap:7px}.mode-switch .choice{flex:1;min-width:0}.selection-preview,.reverse-collection{flex-direction:column;align-items:stretch}.selection-preview>button{width:100%}.movement-grid fieldset{grid-template-columns:1fr}.completion{flex-direction:column;align-items:stretch}.picking-bar{grid-template-columns:1fr repeat(3,auto)}.picking-bar>span{display:none}.picking-bar>div{grid-column:1/-1}.picking-bar button{padding:0 8px}.minimized-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.minimized-summary button{grid-column:1/-1;width:100%}.prototype-note{margin-top:14px}.empty-invitation{top:70px}.prototype-board [data-prototype-order]:after{top:0;right:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.prototype-board .prototype-playing-tone .note-dot{z-index:14!important;background:var(--text)!important;color:var(--cream)!important;opacity:1!important;box-shadow:0 0 0 4px var(--orange),0 5px 14px #00000042!important;border-color:#fff!important;transform:translate(-50%,-50%)scale(1.12)!important}.cycle-order{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:14px;display:grid}.cycle-order legend,.movement-legs legend{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 6px;font-size:9px;font-weight:900}.movement-legs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.movement-legs>fieldset{border:1px solid var(--line);border-radius:7px;gap:12px;margin:0;padding:14px;display:grid}.leg-direction{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.movement-legs label{gap:6px;display:grid}.movement-legs label>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:900}.movement-legs select{border:1px solid var(--key-border);background:var(--key-bg);width:100%;height:40px;color:var(--text);border-radius:5px;padding:0 10px}.loop-explanation{border-left:3px solid var(--orange);background:var(--paper);align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.loop-explanation>span{color:var(--orange);font:30px/1 Georgia,serif}.loop-explanation>div{gap:3px;display:grid}.loop-explanation b{font:15px Georgia,Times New Roman,serif}.loop-explanation small{color:var(--muted);font-size:9px}.minimized-summary .play-cycle{border-color:var(--orange);background:var(--orange);color:#fff;margin-left:auto}.minimized-summary .stop-cycle{border-color:var(--orange);color:var(--orange);margin-left:auto}.minimized-summary .play-cycle+button,.minimized-summary .stop-cycle+button{margin-left:0}@media (width<=820px){.movement-legs{grid-template-columns:1fr}}@media (width<=560px){.cycle-order,.leg-direction{grid-template-columns:1fr}.minimized-summary .play-cycle,.minimized-summary .stop-cycle{grid-column:1/-1;margin-left:0}}.setup-steps{grid-template-columns:repeat(6,minmax(0,1fr))}.transformation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.transformation-grid .choice{align-items:stretch;min-height:118px}.placement-icon{border:1px solid var(--line);background-image:linear-gradient(to right,transparent 24%,var(--line) 25%,transparent 26%,transparent 49%,var(--line) 50%,transparent 51%,transparent 74%,var(--line) 75%,transparent 76%),linear-gradient(to bottom,transparent 31%,var(--line) 32%,transparent 34%,transparent 65%,var(--line) 66%,transparent 68%);border-radius:4px;height:42px;margin-bottom:4px;display:block;position:relative}.placement-icon i{background:var(--orange);border-radius:50%;width:8px;height:8px;position:absolute}.fixed-placement i:first-child{top:18%;left:22%}.fixed-placement i:nth-child(2){top:45%;left:47%}.fixed-placement i:nth-child(3){top:18%;left:72%}.vertical-placement i:first-child{top:10%;left:48%}.vertical-placement i:nth-child(2){top:40%;left:48%}.vertical-placement i:nth-child(3){top:70%;left:48%}.horizontal-placement i:first-child{top:42%;left:18%}.horizontal-placement i:nth-child(2){top:42%;left:46%}.horizontal-placement i:nth-child(3){top:42%;left:74%}.diagonal-placement i:first-child{top:8%;left:18%}.diagonal-placement i:nth-child(2){top:40%;left:46%}.diagonal-placement i:nth-child(3){top:72%;left:74%}.gb-compensation{border-left:3px solid var(--orange);background:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:grid}.gb-compensation>span{border:1px solid var(--orange);width:36px;height:26px;color:var(--orange);border-radius:14px;place-items:center;font-size:9px;font-weight:900;display:grid}.gb-compensation>div{gap:3px;display:grid}.gb-compensation b{font:15px Georgia,Times New Roman,serif}.gb-compensation small{color:var(--muted);font-size:9px}.gb-compensation>strong{color:var(--orange);letter-spacing:.1em;font-size:9px}@media (width<=820px){.transformation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.transformation-grid{grid-template-columns:1fr}.transformation-grid .choice{min-height:96px}.placement-icon{height:34px}.minimized-summary{grid-template-columns:repeat(3,1fr)}}.prototype-board .prototype-tonic-tone .note-dot{border:2px solid color-mix(in srgb,var(--orange) 72%,var(--line))!important;background:var(--cream)!important;color:var(--orange)!important;box-shadow:none!important}.prototype-board [data-prototype-order] .note-dot,.prototype-board .active-form-tone .note-dot{border-color:var(--text)!important;background:var(--text)!important;color:var(--cream)!important;opacity:1!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 30%,transparent)!important}.prototype-board [data-prototype-order]:after{border:1px solid var(--cream);white-space:nowrap;width:auto;min-width:15px;padding:0 3px}.board-legend{border-top:1px solid var(--line);background:var(--cream);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:flex-end;gap:14px;padding:7px 10px;font-size:8px;font-weight:800;display:flex}.board-legend span{align-items:center;gap:5px;display:flex}.board-legend i{border-radius:50%;width:12px;height:12px;display:block}.legend-scale{border:1px solid var(--line);background:0 0}.legend-tonic{border:2px solid var(--orange);background:0 0}.legend-link{border:1px solid var(--text);background:var(--text)}.tonic-grid{grid-template-columns:repeat(6,minmax(68px,1fr))}.cycle-order.three-options{grid-template-columns:repeat(3,minmax(0,1fr))}.movement-legs:has(>fieldset:only-child){grid-template-columns:minmax(0,560px)}.method-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.method-grid .choice{min-height:66px}.method-grid .choice b{font-size:13px}.box-picker{border:1px solid var(--line);background:var(--paper);border-radius:7px;margin-top:14px;padding:14px}.box-picker>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.box-picker>div:first-child>span{letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.box-picker>div:first-child>small{color:var(--muted);font-size:8px}.box-buttons,.string-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.string-picker{grid-template-columns:repeat(6,minmax(0,1fr))}.box-buttons .choice,.string-picker .choice{align-items:center;min-height:46px;padding:6px}.box-buttons .choice b,.string-picker .choice b{font-size:12px}.box-preview{border:1px solid var(--line);background:var(--paper);border-radius:7px;height:142px;margin-top:14px;position:relative;overflow:hidden}.box-preview:before{background-image:repeating-linear-gradient(to right,transparent 0 calc(10% - 1px),color-mix(in srgb,var(--line) 78%,transparent) calc(10% - 1px) 10%);content:"";position:absolute;inset:0}.box-preview .box-string{background:var(--muted);opacity:.48;height:1px;position:absolute;left:0;right:0}.box-preview>b{z-index:2;border:1px solid var(--cream);background:var(--orange);width:9px;height:9px;box-shadow:0 0 0 1px var(--orange);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.box-preview>small{background:var(--cream);color:var(--muted);border-radius:3px;padding:2px 5px;font-size:8px;position:absolute;bottom:6px;right:8px}.overflow-rule{border-left:3px solid var(--text);background:var(--paper);align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.overflow-rule>span{color:var(--orange);font:28px/1 Georgia,serif}.overflow-rule>div{gap:3px;display:grid}.overflow-rule b{font:15px Georgia,Times New Roman,serif}.overflow-rule small{color:var(--muted);font-size:9px}@media (width<=960px){.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.box-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.tonic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cycle-order.three-options,.method-grid{grid-template-columns:1fr}.string-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.box-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.box-picker>div:first-child{flex-direction:column;align-items:flex-start}.board-legend{justify-content:center;gap:9px}.board-legend span{font-size:6px}.box-preview{height:120px}}.prototype-board .prototype-current-link .note-dot{border-color:var(--orange)!important;background:color-mix(in srgb,var(--orange) 24%,var(--cream))!important;color:var(--text)!important;opacity:1!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent)!important}.prototype-board .prototype-playing-tone .note-dot{background:var(--text)!important;color:var(--cream)!important;box-shadow:0 0 0 4px var(--orange),0 5px 14px #00000042!important;border-color:#fff!important}.playback-links{gap:8px;margin-top:10px;padding:2px 1px 5px;display:flex;overflow-x:auto}.playback-links>span{border:1px solid var(--line);background:var(--cream);border-radius:5px;gap:3px;min-width:96px;padding:8px 10px;display:grid}.playback-links>span.current{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,var(--cream));box-shadow:inset 3px 0 var(--orange)}.playback-links b{font:13px Georgia,Times New Roman,serif}.playback-links small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.transform-preview{border:1px solid var(--line);background:var(--paper);border-radius:7px;margin-top:14px;overflow:hidden}.transform-scroll{overscroll-behavior-inline:contain;padding:12px 12px 8px;overflow-x:auto}.transform-fretboard{min-width:1175px}.transform-fret-numbers,.transform-strings{grid-template-columns:42px repeat(24,minmax(44px,1fr));display:grid}.transform-fret-numbers span{height:22px;color:var(--muted);place-items:center;font-size:8px;display:grid}.transform-fret-numbers .open-fret{border-right:3px solid var(--text);color:var(--text);font-weight:900}.transform-strings{grid-template-rows:repeat(6,34px);padding-block:18px;position:relative}.transform-cell{z-index:2;border-right:1px solid color-mix(in srgb,var(--line) 78%,transparent);place-items:center;display:grid;position:relative}.transform-cell:before{background:color-mix(in srgb,var(--text) 64%,transparent);content:"";height:1px;position:absolute;top:50%;left:0;right:0}.transform-cell.open-fret{border-right:3px solid var(--text);background:color-mix(in srgb,var(--paper) 70%,var(--cream))}.transform-cell b{z-index:3;border:1px solid color-mix(in srgb,var(--muted) 55%,transparent);background:var(--cream);width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;font:700 7px Arial;display:grid;position:relative}.transform-cell b.tonic{border:2px solid var(--orange);color:var(--orange)}.transform-cell.selected-box-note b{border-color:var(--text);background:var(--text);color:var(--cream);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 35%,transparent)}.transform-marker{z-index:1;pointer-events:none;grid-row:1/7;position:relative}.transform-marker:before{background:color-mix(in srgb,var(--muted) 32%,transparent);content:"";border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transform-marker.double:before{box-shadow:0 61px 0 color-mix(in srgb,var(--muted) 32%,transparent);top:35%}.transform-legend{border-top:1px solid var(--line);background:var(--cream);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:14px;padding:9px 12px;font-size:8px;font-weight:800;display:flex}.transform-legend span{white-space:nowrap;align-items:center;gap:5px;display:flex}.transform-legend i{border-radius:50%;width:12px;height:12px;display:block}.transform-legend .legend-box{border:1px solid var(--text);background:var(--text);box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 35%,transparent)}.transform-legend small{color:var(--muted);letter-spacing:0;text-transform:none;margin-left:auto;font-size:8px;font-weight:400}.method-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=960px){.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transform-legend{flex-wrap:wrap;align-items:flex-start}.transform-legend small{width:100%;margin-left:0}}@media (width<=560px){.method-grid{grid-template-columns:1fr}.transform-scroll{padding-inline:8px}.transform-fretboard{min-width:1050px}.transform-fret-numbers,.transform-strings{grid-template-columns:38px repeat(24,minmax(40px,1fr))}.transform-strings{padding-block:20px}.transform-legend{gap:9px}.transform-legend span{font-size:6px}}.prototype-favorites{position:relative}.prototype-favorites summary{cursor:pointer;color:#fff;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff3d;border-radius:5px;place-items:center;min-height:38px;padding:0 11px;font-size:8px;font-weight:900;list-style:none;display:grid}.prototype-favorites summary::-webkit-details-marker{display:none}.prototype-favorites>div{z-index:40;border:1px solid var(--key-border);background:var(--cream);border-radius:6px;gap:5px;width:220px;padding:8px;display:grid;position:absolute;top:44px;right:0;box-shadow:0 14px 35px #00000038}.prototype-favorites button{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--text);text-align:left;border-radius:4px;padding:6px 9px;font-size:10px}@media (width<=560px){.prototype-favorites summary{width:38px;padding:0;font-size:0;overflow:hidden}.prototype-favorites summary:before{content:"★";font-size:13px}}
