:root{color-scheme:light;--bg: #f4f4f5;--surface: #ffffff;--text: #18181b;--muted: #71717a;--border: #e4e4e7;--accent: #b45309;--accent-hover: #92400e;--danger: #b91c1c;--nl-string-start: #15803d;--nl-string-end: #b91c1c;--rebuild-green-bg: rgba(22, 163, 74, .12);--rebuild-green-bg-hover: rgba(22, 163, 74, .2);--rebuild-green-border: rgba(22, 163, 74, .32);--rebuild-green-text: #166534;--radius: 10px;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--iter-display-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Segoe UI Variable", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif}.iteration-display-window{font-family:var(--iter-display-font)}.note-locator-iteration.iteration-display-window{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[data-theme=dark]{color-scheme:dark;--bg: #070709;--surface: #121216;--text: #f3f4f6;--muted: #b6bac4;--border: #26262b;--accent: #f59e0b;--accent-hover: #fbbf24;--danger: #f87171;--nl-string-start: #4ade80;--nl-string-end: #f87171;--rebuild-green-bg: rgba(34, 197, 94, .1);--rebuild-green-bg-hover: rgba(34, 197, 94, .18);--rebuild-green-border: rgba(74, 222, 128, .28);--rebuild-green-text: #86efac}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.5rem .85rem;border-radius:var(--radius);font-weight:600}.btn:hover{border-color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0c0c0e}[data-theme=dark] .btn-primary{color:#0c0c0e}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent}.settings-page-title{margin:0 0 1rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--text)}.settings-module-menu{margin-bottom:1rem}.settings-group{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}.settings-group:first-child{margin-top:0}.settings-group-title{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--text);line-height:1.3}.settings-fold{margin-top:.85rem;min-width:0;max-width:100%}.module-settings-portal-body>.settings-fold:first-child{margin-top:.35rem}.settings-fold-summary{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:0 .9rem;cursor:pointer;list-style:none;background:#3f3f46;color:#fafafa;border:1px solid #3f3f46;border-radius:9px}.settings-fold-summary .settings-group-title{color:#fafafa}[data-theme=dark] .settings-fold-summary{background:#f4f4f5;color:#18181b;border-color:#f4f4f5}[data-theme=dark] .settings-fold-summary .settings-group-title{color:#18181b}.settings-fold-summary::-webkit-details-marker{display:none}.settings-fold-summary:before{content:"";width:.45rem;height:.45rem;margin-left:.15rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);flex-shrink:0}.settings-fold[open]>.settings-fold-summary:before{transform:rotate(45deg)}.settings-fold-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.settings-fold:not([open])>.settings-fold-body{display:none}.settings-fold[open]>.settings-fold-body{display:flex;flex-direction:column;gap:.9rem;margin-top:.35rem;min-width:0;max-width:100%}.settings-field{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:0;width:100%}.settings-field-label,.settings-subtitle{margin:0;font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);line-height:1.3}.settings-field-qualifier{font-weight:500;color:var(--muted)}.settings-field-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.settings-hint-delay{display:flex;align-items:center;gap:.45rem;margin-left:auto;min-width:0}.settings-field .settings-field-heading-row .settings-hint-delay select{width:5.5rem;min-width:5.5rem;flex:0 0 auto;font-variant-numeric:tabular-nums}.settings-hint-delay .settings-segment{width:auto;flex:0 0 auto}.settings-hint-delay .settings-segment-option{flex:0 0 auto;padding-left:.7rem;padding-right:.7rem}.settings-segment-option:disabled{opacity:.55;cursor:default}.settings-field .settings-field-heading-row select{width:auto;flex:0 1 11rem;min-width:8.25rem}.settings-current{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.4rem}.settings-current .setup-summary-list--settings{margin-bottom:0}.settings-help,.settings-desc,.settings-note{margin:0;font-size:.9375rem;color:var(--muted);line-height:1.5}.settings-field select,.settings-field input:not([type=checkbox]):not([type=radio]),.settings-field textarea,.settings-string-row input{width:100%;min-height:44px;padding:.5rem .7rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;line-height:1.3}.settings-field select:disabled,.settings-field input:disabled{opacity:.55}.settings-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.85rem;width:100%}html[data-phone-layout=on] .settings-field-row{grid-template-columns:1fr}.settings-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem;width:100%;max-width:100%;min-width:0}.settings-pair .settings-field,.settings-pair .settings-segment{min-width:0;max-width:100%}.settings-pair .settings-field-label,.settings-pair .settings-help{overflow-wrap:anywhere}html[data-phone-layout=on] .settings-pair{grid-template-columns:minmax(0,1fr)}.settings-group,.module-settings-portal-body,.settings-field-heading-row,.settings-hint-delay{max-width:100%;min-width:0}.settings-hint-delay{flex-wrap:wrap;justify-content:flex-end}.settings-toggle{display:grid;grid-template-columns:1.25rem 1fr;column-gap:.75rem;row-gap:.2rem;align-items:start;margin:0;cursor:pointer}.settings-toggle input{grid-column:1;grid-row:1;width:1.25rem;height:1.25rem;margin:.15rem 0 0}.settings-toggle-title{grid-column:2;grid-row:1;font-size:1rem;font-weight:600;line-height:1.35;color:var(--text)}.settings-toggle .settings-help{grid-column:2;grid-row:2}.settings-segment{display:flex;width:100%;padding:4px;gap:4px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}.settings-segment-option{flex:1 1 0;min-width:0;min-height:44px;margin:0;padding:.45rem .4rem;border:none;border-radius:9px;background:transparent;color:var(--muted);font-size:1rem;font-weight:600;line-height:1.15;cursor:pointer}.settings-segment-option:hover{color:var(--text)}.settings-segment-option.is-selected{background:#16a34a24;color:var(--text);box-shadow:inset 0 0 0 1px #16a34a}.settings-segment-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-note-set-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem}.settings-note-set-name{color:var(--text);font-size:1rem;font-weight:400;line-height:1.3}.music-accidental{font-weight:400;font-synthesis:none;font-size:1.2em;letter-spacing:.08em;line-height:1;vertical-align:-.06em}.settings-note-set{flex-wrap:wrap}.settings-note-set .settings-segment-option{flex:1 1 5.5rem;min-width:5.5rem;min-height:3.35rem;padding:.3rem .5rem;color:var(--text);font-size:2.15rem;font-weight:400;letter-spacing:.03em;line-height:1;white-space:nowrap}.settings-note-set .settings-segment-option.is-selected{font-weight:700}.settings-prose{font-size:1rem;line-height:1.55;color:var(--text)}.settings-prose h3{margin:1.15rem 0 .35rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.settings-prose h3:first-child{margin-top:0}.settings-prose p{margin:0 0 .85rem}.settings-prose p:last-child{margin-bottom:0}.settings-string-list{display:flex;flex-direction:column;gap:.65rem}.settings-string-row{display:grid;grid-template-columns:1fr 6.5rem;gap:.75rem;align-items:center}.settings-string-row span{font-size:1rem;font-weight:600;line-height:1.3}.settings-alert{margin:0;font-size:.9375rem;line-height:1.5;color:#dc2626}.btn-rebuild-faint{background:var(--rebuild-green-bg);border-color:var(--rebuild-green-border);color:var(--rebuild-green-text)}.btn-rebuild-faint:hover:not(:disabled){background:var(--rebuild-green-bg-hover);border-color:var(--rebuild-green-border)}.btn-rebuild-faint:disabled{opacity:.45}.practice-display-stack{display:block;width:100%;min-width:0}.mic-strip{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%;height:22px;min-height:22px;margin:0 0 .45rem;padding:0 .75rem;border:none;border-radius:var(--radius);box-sizing:border-box;font:inherit;font-size:.78rem;line-height:1;font-weight:650;letter-spacing:.03em;cursor:pointer}.mic-strip--green-rose.is-on{background:#2a9a4a;color:#fff}.mic-strip--green-rose.is-off,.mic-strip--rose-black.is-on{background:#c62828;color:#fff}.mic-strip.is-on{animation:mic-strip-pulse 7s ease-in-out infinite}@keyframes mic-strip-pulse{0%,to{filter:brightness(.9)}50%{filter:brightness(1.22)}}@media (prefers-reduced-motion: reduce){.mic-strip.is-on{animation:none}}.mic-strip--rose-black.is-off{background:#1a1a1a;color:#d0d0d0;box-shadow:inset 0 0 0 1px #3f3f3f}.card{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes instructions-attn-pulse{0%,to{background:#0a0a0a;color:#fafafa;border-color:#0a0a0a}50%{background:#fafafa;color:#0a0a0a;border-color:#fafafa}}.instructions-panel-open-btn{flex-shrink:0;font-weight:700;border:2px solid var(--text);background:var(--surface);color:var(--text)}.instructions-panel-open-btn--attention{animation:instructions-attn-pulse .85s ease-in-out 5}.settings-panel-tabs{display:flex;width:100%;padding:4px;gap:4px;margin:0 0 1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg);flex-shrink:0}.settings-panel-tabs .settings-panel-tab.btn{flex:1 1 0;min-width:0;min-height:44px;margin:0;padding:.45rem .3rem;border:none;border-radius:9px;background:transparent;color:var(--muted);font-size:1rem;font-weight:600;line-height:1.15;text-align:center}.settings-panel-tabs .settings-panel-tab.btn:hover{border-color:transparent;color:var(--text)}.settings-panel-tabs .settings-panel-tab--active.btn{background:#16a34a24;border-color:transparent;color:var(--text);box-shadow:inset 0 0 0 1px #16a34a}.module-settings-portal-body{display:flex;flex-direction:column;gap:0}.note-recognition-hud{position:fixed;left:50%;bottom:max(.65rem,env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:1200;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .85rem;min-width:min(18rem,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 6px 24px #0000002e;font-variant-numeric:tabular-nums;pointer-events:none}.note-recognition-hud__note{font-size:1.65rem;font-weight:700;letter-spacing:.02em;line-height:1.1;font-family:var(--iter-display-font)}.note-recognition-hud__meta{display:flex;align-items:center;gap:.65rem;font-size:.82rem;color:var(--muted)}.note-recognition-hud__cents{font-weight:600;color:var(--text)}.note-recognition-hud__cents--in{color:#16a34a;font-weight:600}[data-theme=dark] .note-recognition-hud__cents--in{color:#4ade80}.note-recognition-hud__hz{opacity:.92}.note-recognition-hud__muted{font-size:.88rem;color:var(--muted);font-weight:600}.note-recognition-hud__error{font-size:.86rem;color:var(--danger);font-weight:600;text-align:center}.tuner-sheet{--tune-in: #166534;--tune-in-fill: #16a34a;--tune-close: #9a3412;--tune-close-fill: #f59e0b;--tune-off: #991b1b;--tune-off-fill: #dc2626;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1950;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}[data-theme=dark] .tuner-sheet{--tune-in: #4ade80;--tune-close: #fbbf24;--tune-off: #fca5a5}.tuner-sheet-panel{width:min(28rem,100%);display:flex;flex-direction:column;gap:.75rem;margin:0}.tuner-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tuner-sheet-title,.tuner-sheet-instrument,.tuner-target{margin:0}.tuner-chromatic-row{display:flex;align-items:center;gap:.65rem}.tuner-target{color:var(--muted);font-size:.95rem;line-height:1.25}.tuner-string-row{display:flex;flex-wrap:nowrap;gap:.35rem}.tuner-string-row .tuner-string-btn{flex:1 1 0;min-width:0;padding-left:.2rem;padding-right:.2rem}.tuner-note{margin:.25rem 0 0;font-size:4.5rem;line-height:1;font-weight:700;text-align:center;color:var(--muted)}.tuner-pitch--in .tuner-note{color:var(--tune-in)}.tuner-pitch--close .tuner-note{color:var(--tune-close)}.tuner-pitch--off .tuner-note{color:var(--tune-off)}.tuner-status{margin:0;align-self:center;min-width:9rem;padding:.35rem .9rem;border-radius:999px;text-align:center;font-size:1.15rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.tuner-status--idle{color:var(--muted);background:transparent;font-weight:600;text-transform:none;letter-spacing:0}.tuner-status--in{color:#fff;background:var(--tune-in-fill)}.tuner-status--close{color:#1c1917;background:var(--tune-close-fill)}.tuner-status--off{color:#fff;background:var(--tune-off-fill)}.tuner-sheet-panel:before{content:"";display:block;height:.55rem;border-radius:999px;background:var(--border)}.tuner-pitch--in.tuner-sheet-panel:before{background:var(--tune-in-fill)}.tuner-pitch--close.tuner-sheet-panel:before{background:var(--tune-close-fill)}.tuner-pitch--off.tuner-sheet-panel:before{background:var(--tune-off-fill)}.tuner-string-btn--target{outline:2px solid var(--text);outline-offset:2px}.tuner-string-btn--heard{color:#fff;font-weight:800}.tuner-string-btn--in{background:var(--tune-in-fill);border-color:var(--tune-in-fill);box-shadow:0 0 0 4px #16a34a73}.tuner-string-btn--close{background:var(--tune-close-fill);border-color:var(--tune-close-fill);color:#1c1917;box-shadow:0 0 0 4px #f59e0b73}.tuner-string-btn--off{background:var(--tune-off-fill);border-color:var(--tune-off-fill);box-shadow:0 0 0 4px #dc262666}.tuner-meter-track{position:relative;height:1.7rem;border-radius:999px;background:linear-gradient(90deg,var(--tune-off-fill) 0%,var(--tune-close-fill) 30%,var(--tune-in-fill) 45%,var(--tune-in-fill) 55%,var(--tune-close-fill) 70%,var(--tune-off-fill) 100%);opacity:.4}.tuner-pitch--in .tuner-meter-track,.tuner-pitch--close .tuner-meter-track,.tuner-pitch--off .tuner-meter-track{opacity:1}.tuner-meter-needle{position:absolute;top:-.2rem;bottom:-.2rem;width:8px;margin-left:-4px;border-radius:3px;background:#fff;border:2px solid #18181b;box-shadow:0 0 0 1px #fff;transition:left .16s ease-out}@media (prefers-reduced-motion: reduce){.tuner-meter-needle{transition:none}}.tuner-meter-labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.95rem;font-weight:700}html[data-phone-layout=on] .tuner-sheet{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:#0000008c}html[data-phone-layout=on] .tuner-sheet-panel{width:min(28rem,100%);max-height:100%;overflow:auto;overscroll-behavior:none}html[data-phone-layout=on] .tuner-string-btn{min-height:44px}html[data-phone-orientation=landscape] .tuner-sheet-panel{gap:.3rem;padding:.65rem .85rem}html[data-phone-orientation=landscape] .tuner-sheet-panel:before{height:.35rem}html[data-phone-orientation=landscape] .tuner-note{font-size:2.4rem}html[data-phone-orientation=landscape] .tuner-status{padding:.2rem .75rem;font-size:1rem}.bpm-wheel-slot{position:relative;width:4.75rem;height:52px;flex:0 0 auto}.bpm-wheel-window{position:absolute;left:0;width:100%;top:50%;height:52px;transform:translateY(-50%);overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);box-sizing:border-box;z-index:1}.bpm-wheel-window.is-open{height:120px;z-index:6}.bpm-wheel{height:120px;margin-top:-34px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;box-sizing:border-box}.bpm-wheel::-webkit-scrollbar{display:none}.bpm-wheel-window.is-open .bpm-wheel{margin-top:0}.bpm-wheel-window:not(.is-open) .bpm-wheel-item:not(.is-selected){visibility:hidden}.bpm-wheel-pad,.bpm-wheel-item{height:40px;scroll-snap-align:center}.bpm-wheel-item{display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-weight:650;font-size:1rem;color:var(--muted)}.bpm-wheel-item.is-selected{font-size:1.45rem;font-weight:750;color:var(--text)}.practice-toolbar-group{display:contents}.practice-transport-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:4.75rem;min-height:48px;padding:.3rem .85rem;box-sizing:border-box}html[data-phone-layout=on] .practice-transport-btn{flex:1 1 5.5rem;min-width:5.5rem;max-width:8rem;min-height:52px}html[data-phone-layout=on]:not([data-phone-orientation=landscape]) .practice-toolbar-group--transport{flex-wrap:nowrap}html[data-phone-layout=on]:not([data-phone-orientation=landscape]) .practice-toolbar-group--transport .practice-transport-btn{flex:1 1 0;min-width:2.75rem;max-width:none;border-width:0}.fretboard-diagram{display:block;width:100%;max-width:720px;height:auto}@media (pointer: coarse) and (max-width: 960px),(pointer: coarse) and (orientation: landscape) and (max-height: 900px){html,body,#root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}html[data-pitch-hud=on] .landing-main-pane{padding-bottom:calc(5.75rem + env(safe-area-inset-bottom,0px))!important}.iteration-display-window{min-height:0!important;max-height:42dvh;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.phone-display-frame{overflow:hidden;min-height:0;display:flex;align-items:center;justify-content:center}.phone-display-frame .iteration-display-window{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;margin-bottom:0!important}.focus-tap-target{flex:1 1 auto;min-height:0}.focus-controls-scroll{flex:0 0 auto;overflow:visible}.landing-main-pane{overscroll-behavior:none}.practice-toolbar{flex-wrap:wrap!important}.practice-toolbar input,.practice-toolbar select,.practice-toolbar button,.rhythm-width-measure{min-height:44px;font-size:16px!important}.practice-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;flex:1 1 100%;min-width:0;max-width:100%}.practice-toolbar-bpm{margin-left:0!important}.module-settings-controls label{flex-wrap:wrap;width:100%;max-width:100%}.module-settings-controls select,.module-settings-controls input:not([type=checkbox]):not([type=radio]){min-width:0!important;width:100%!important;max-width:100%!important;flex:1 1 100%}}.practice-settings-row{flex:1 1 100%;width:100%;display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.practice-settings-actions{display:flex;align-items:center;gap:.45rem}.practice-settings-tuner,.practice-settings-logo{display:none}html[data-phone-layout=on],html[data-phone-layout=on] body,html[data-phone-layout=on] #root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100svh;max-height:100svh;overflow:clip;overscroll-behavior:none;touch-action:none}html[data-phone-layout=on] button,html[data-phone-layout=on] a,html[data-phone-layout=on] input,html[data-phone-layout=on] select,html[data-phone-layout=on] textarea,html[data-phone-layout=on] label{touch-action:manipulation}html[data-phone-layout=on] input:not([type=checkbox]):not([type=radio]):not([type=file]),html[data-phone-layout=on] select,html[data-phone-layout=on] textarea{font-size:16px!important}html[data-phone-layout=on] .focus-logo-band,html[data-phone-orientation=landscape] .landing-collapsed-logo{display:none!important}html[data-phone-layout=on] .module-title-row h1{font-size:1.35rem;line-height:1.15}html[data-phone-layout=on] .practice-settings-row{justify-content:space-between}html[data-phone-layout=on] .practice-settings-tuner{display:inline-flex;align-items:center;min-height:44px}html[data-phone-layout=on] .practice-settings-logo{display:block;height:44px;width:auto;max-width:min(42vw,9.5rem);object-fit:contain;pointer-events:none}html[data-phone-layout=on] .landing-root{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;min-height:0;overflow:clip;display:flex;flex-direction:column;box-sizing:border-box}html[data-phone-layout=on] .landing-shell{position:relative;flex:1 1 0;height:100%!important;min-height:0!important;max-height:100%!important;overflow:clip}html[data-phone-layout=on] .landing-shell>section{position:relative;flex:1 1 0!important;min-height:0!important;min-width:0!important;height:100%;max-height:100%;overflow:clip}html[data-phone-layout=on] .landing-main-pane{position:relative!important;flex:1 1 0!important;min-width:0;min-height:0!important;height:100%!important;max-height:100%!important;align-self:stretch;display:flex!important;flex-direction:column;overflow:clip!important;overscroll-behavior:none}html[data-phone-layout=on] .left-menu-collapsed{position:relative;z-index:2}html[data-phone-layout=on] .landing-main-pane:has(.practice-module-frame){display:flex!important;flex-direction:column;overflow:clip!important}html[data-phone-layout=on] .landing-main-pane:has(.practice-module-frame)>div:not(.landing-collapsed-logo),html[data-phone-layout=on] .practice-module-frame,html[data-phone-layout=on] .practice-grid,html[data-phone-layout=on] .practice-grid>div{flex:1 1 0;min-height:0;min-width:0;display:flex!important;flex-direction:column;overflow:clip}html[data-phone-layout=on] .phone-display-frame{flex:1 1 0!important;min-height:0!important;max-height:none!important;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);overflow:hidden;container-type:size;container-name:display-frame}html[data-phone-layout=on] .phone-display-frame .iteration-display-window{width:100%;height:auto!important;max-height:none!important;min-height:0!important;margin:0!important;padding:.85rem 1rem!important;gap:.45rem!important;border:none;background:transparent;box-shadow:none;box-sizing:border-box}html[data-phone-layout=on] .phone-display-frame .iteration-display-window>*:not(.display-overlay-label):not(.setup-intro-overlay):not(.note-locator-fret-overlay){width:100%;max-width:100%;min-width:0;box-sizing:border-box}html[data-phone-orientation=portrait] .phone-display-frame:has(.portrait-drill-window)>div,html[data-phone-orientation=portrait] .phone-display-frame:has(.portrait-drill-window)>div>div{height:100%;width:100%}html[data-phone-orientation=portrait] .phone-display-frame .iteration-display-window.portrait-drill-window{height:100%!important;max-height:none!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;justify-items:stretch;padding:.35rem .65rem!important;gap:.2rem!important}html[data-phone-orientation=portrait] .portrait-drill-regions{display:contents}html[data-phone-orientation=portrait] .portrait-drill-above{align-self:end;justify-self:center;text-align:center}html[data-phone-orientation=portrait] .portrait-drill-main{align-self:center;justify-self:center;width:100%;min-width:0}html[data-phone-orientation=portrait] .portrait-drill-below{align-self:stretch;justify-self:stretch;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:.35rem}html[data-phone-orientation=portrait] .portrait-drill-below .note-locator-fret-hint,html[data-phone-orientation=portrait] .portrait-drill-below .display-overlay-label{position:static;width:100%;max-width:100%;margin:0}html[data-phone-orientation=portrait] .portrait-drill-below .note-locator-fret-hint{flex:0 0 auto;width:100%;max-width:100%;min-height:0;align-self:stretch;display:block}html[data-phone-orientation=portrait] .portrait-drill-below .note-locator-fret-hint svg{width:100%;max-width:100%;height:auto;max-height:none}.display-overlay-label{width:max-content;max-width:calc(100% - 1.5rem)}.setup-intro-overlay{width:100%;max-width:none;height:100%}.note-locator-fret-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:.7rem .65rem;background:var(--surface);color:var(--text);pointer-events:none}.note-locator-fret-overlay .note-locator-fret-hint{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.note-locator-fret-overlay .note-locator-fret-hint svg{width:100%;height:100%;max-width:100%;max-height:100%}.setup-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:.45rem;width:100%;max-width:22rem}.setup-summary-list li{margin:0;text-align:center}.setup-summary-list--settings{align-items:flex-start;gap:.2rem;max-width:none;margin-bottom:.75rem;font-size:.9375rem;font-weight:550;color:var(--muted);line-height:1.35}.setup-summary-list--settings li{text-align:left}.setup-summary-list--settings .music-accidental{font-weight:400;font-size:1.45em;letter-spacing:.14em;vertical-align:-.08em}.setup-summary-note-set{font-size:2.4em;font-weight:400;letter-spacing:.04em;line-height:1.15;color:var(--text)}html[data-phone-layout=on] .practice-controls-row,html[data-phone-layout=on] .practice-settings-row{flex:0 0 auto}html[data-phone-layout=on] .phone-module-slot{position:relative;flex:1 1 0;min-height:0;min-width:0;height:100%;width:100%;overflow:clip}html[data-phone-layout=on] .phone-module-viewport{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;min-width:0;overflow:clip;display:flex;flex-direction:column}html[data-phone-layout=on] .phone-module-viewport:not(:has(.practice-module-frame)){display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}html[data-phone-layout=on] .phone-module-viewport:not(:has(.practice-module-frame))>*{box-sizing:border-box;min-height:100%}html[data-phone-layout=on] .fretboard-module{display:flex;flex-direction:column;min-height:100%}html[data-phone-layout=on] .fretboard-diagram-slot{flex:1 1 auto;min-height:0}html[data-phone-layout=on] .fretboard-diagram{display:block;width:100%;max-width:100%;height:auto;max-height:40dvh}html[data-phone-orientation=landscape] .fretboard-diagram{max-height:22dvh}html[data-phone-orientation=landscape] .practice-module-frame{padding-bottom:.25rem!important}html[data-phone-orientation=landscape] .landing-main-pane:has(.practice-module-frame){display:flex!important;flex-direction:column;overflow:clip!important}html[data-phone-orientation=landscape] .landing-main-pane:has(.practice-module-frame)>div:not(.landing-collapsed-logo),html[data-phone-orientation=landscape] .practice-module-frame,html[data-phone-orientation=landscape] .practice-grid,html[data-phone-orientation=landscape] .practice-grid>div{flex:1 1 0;min-height:0;display:flex!important;flex-direction:column;overflow:clip}html[data-phone-orientation=landscape] .phone-display-frame{flex:1 1 0!important;min-height:0!important;max-height:none!important}html[data-phone-orientation=landscape] .phone-display-frame>div,html[data-phone-orientation=landscape] .phone-display-frame>div>div{height:100%;min-height:0}html[data-phone-orientation=landscape] .phone-display-frame .iteration-display-window{height:100%!important;max-height:100%!important;overflow:hidden!important}html[data-phone-orientation=landscape] .phone-display-frame .iteration-display-window.landscape-drill-window{display:grid!important;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;justify-items:center;justify-content:initial!important;padding:.3rem .7rem!important;gap:0!important}html[data-phone-orientation=landscape] .landscape-drill-regions{display:contents}html[data-phone-orientation=landscape] .landscape-drill-above{min-height:0;width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch}html[data-phone-orientation=landscape] .landscape-drill-main{justify-self:center;align-self:center;width:100%;min-width:0}html[data-phone-orientation=landscape] .landscape-drill-below{min-height:0}html[data-phone-orientation=landscape] .landscape-drill-above .note-locator-fret-hint{position:relative!important;flex:1 1 auto;min-height:0;width:100%;margin:0;display:flex;align-items:flex-end}html[data-phone-orientation=landscape] .landscape-drill-above .display-overlay-label{position:static;flex:0 0 auto;width:100%;margin:0}html[data-phone-orientation=landscape] .practice-controls-row,html[data-phone-orientation=landscape] .practice-settings-row{flex:0 0 auto}html[data-phone-orientation=landscape] .practice-controls-row{gap:.35rem!important}html[data-phone-orientation=landscape] .practice-module-frame>div:first-child{margin-bottom:.2rem!important}html[data-phone-orientation=landscape] .practice-module-frame h1{font-size:1.25rem;line-height:1.1}html[data-phone-orientation=landscape] .practice-controls-row>.card{padding:.4rem .55rem!important}html[data-phone-orientation=landscape] .practice-toolbar{flex-wrap:wrap!important}html[data-phone-orientation=landscape] .practice-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;flex:1 1 auto;width:auto;min-width:0;max-width:100%}html[data-phone-orientation=landscape] .practice-toolbar-group--metronome{flex-wrap:nowrap;gap:.35rem}@media (pointer: coarse){.btn,.practice-toolbar button{min-height:44px}}
