@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg:#f4f0e8;--bg-2:#efe5d4;--bg-glow-warm:#ffd58ea8;--bg-glow-cool:#c4e4ffeb;--panel:#fffaf2;--shell:#fffaf2eb;--surface:#fffaf2;--surface-strong:#fff;--surface-muted:#fcf5e8;--notation-surface:#fffdf9;--notation-ink:#1f2830;--notation-completed-ink:#1f282d59;--ink:#1f2830;--ink-soft:#5c6470;--line:#cbb89a;--line-soft:#cbb89acc;--accent:#0454d5;--accent-2:#f97316;--ok:#157f5a;--bad:#bb2f3b;--ring:#2a3448;--button-bg:#fff;--button-hover-border:#0454d5;--button-active-border:#003c9a;--shadow:#31230e14;--overlay:#1f283057;--piano-lane-start:#faf4e8;--piano-lane-end:#f6eedf;--input-bg:#fff;--circle-shell-stroke:#d9cab1;--circle-interval-stroke:#d5d2cc;--circle-node-fill:#ede3d2;--circle-node-stroke:#c2ad8a;--circle-label-ink:#232d39;--circle-subtle-ink:#6f7480;--circle-dot-stroke:#1b202d59;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif;font-size:16px;line-height:1.5}[data-theme=dark]{--bg:#111925;--bg-2:#1a2431;--bg-glow-warm:#ff974729;--bg-glow-cool:#5a95ff38;--panel:#182231;--shell:#0f161fe0;--surface:#192330;--surface-strong:#202c3a;--surface-muted:#1b2735;--notation-surface:#f4efe6;--notation-ink:#253244;--notation-completed-ink:#3c4b6073;--ink:#e6edf6;--ink-soft:#9eacbd;--line:#3a4b61;--line-soft:#485c77d1;--accent:#7ba8ff;--accent-2:#ffad5e;--ok:#48cc97;--bad:#ff7f8a;--ring:#f2e7d5;--button-bg:#1a2431;--button-hover-border:#7ba8ff;--button-active-border:#9dbbff;--shadow:#00000057;--overlay:#05080e9e;--piano-lane-start:#231f1a;--piano-lane-end:#1c1814;--input-bg:#16202c;--circle-shell-stroke:#48586e;--circle-interval-stroke:#3d4c61;--circle-node-fill:#324154;--circle-node-stroke:#60738d;--circle-label-ink:#edf3fa;--circle-subtle-ink:#a9b7c8;--circle-dot-stroke:#e8f1fa47}[data-theme=focus]{--bg:#0b1119;--bg-2:#111923;--bg-glow-warm:#ff8d381f;--bg-glow-cool:#608eff29;--panel:#121a25;--shell:#080d13eb;--surface:#141d28;--surface-strong:#1a2431;--surface-muted:#141d28;--notation-surface:#0d141c;--notation-ink:#aebfd2;--notation-completed-ink:#7c92ab6b;--ink:#edf4fb;--ink-soft:#9fb0c5;--line:#33465d;--line-soft:#3d4f67d9;--accent:#84adff;--accent-2:#ffb56d;--ok:#52d69f;--bad:#ff8893;--ring:#f3ebde;--button-bg:#16202c;--button-hover-border:#84adff;--button-active-border:#a8c4ff;--shadow:#0000006b;--overlay:#04080cb3;--piano-lane-start:#17130f;--piano-lane-end:#120f0c;--input-bg:#16202c;--circle-shell-stroke:#46596f;--circle-interval-stroke:#3a4a5e;--circle-node-fill:#2b394b;--circle-node-stroke:#5c708a;--circle-label-ink:#eff6fd;--circle-subtle-ink:#a9b9cb;--circle-dot-stroke:#e8f1fa42}*{box-sizing:border-box}html{background:radial-gradient(circle at 10% 8%, var(--bg-glow-warm) 0, transparent 32%), radial-gradient(circle at 94% 0, var(--bg-glow-cool) 0, transparent 30%), linear-gradient(165deg, var(--bg), var(--bg-2))}body{min-height:100vh;color:var(--ink);background:0 0;margin:0;transition:background-color .18s,color .18s}#root{max-width:1260px;height:100vh;margin:0 auto;padding:.7rem}html[data-immersive=true] #root{max-width:none;padding:.28rem}h1,h2,h3,strong{color:var(--ring);margin:0;font-family:Space Grotesk,sans-serif}p{margin:0}button{border:1px solid var(--line);background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:.6rem;padding:.5rem .8rem;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}button:hover{border-color:var(--button-hover-border)}button.primary{background:var(--accent);color:#fff;border-color:#003c9a}button.accent{background:var(--accent-2);color:#fff;border-color:#c4550a}button:disabled{opacity:.45;cursor:not-allowed}.progress-screen,.practice-screen{background:var(--shell);border:1px solid var(--line);box-shadow:0 14px 44px var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:1rem;padding:1.2rem;transition:background-color .18s,border-color .18s,box-shadow .18s}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.77rem}.practice-screen{grid-template-rows:auto auto minmax(0,1fr);gap:.6rem;height:calc(100vh - 1.4rem);display:grid;overflow:hidden}html[data-immersive=true] .practice-screen{gap:.72rem;height:calc(100vh - .56rem);padding:.9rem}.practice-topbar{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.practice-heading{gap:.08rem;display:grid}.practice-heading strong{letter-spacing:.01em;color:var(--ink);font-family:IBM Plex Sans,sans-serif;font-size:clamp(1.22rem,1.1rem + .9vw,1.85rem);font-weight:700}html[data-immersive=true] .practice-heading strong{font-size:clamp(1.36rem,1.18rem + 1vw,2.05rem)}.practice-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.midi-warning{color:var(--bad);letter-spacing:.01em;white-space:nowrap;font-size:.8rem;font-weight:600}.midi-warning-dismiss{cursor:pointer;font:inherit;font-size:.72rem;font-weight:500;line-height:inherit;letter-spacing:0;white-space:nowrap;background:0 0;border:0;flex:0 auto;padding:0}.midi-warning-dismiss:hover,.midi-warning-dismiss:focus-visible{color:color-mix(in srgb, var(--bad) 82%, var(--ink) 18%)}.midi-warning-dismiss:focus-visible{outline:2px solid color-mix(in srgb, var(--bad) 45%, transparent);outline-offset:4px;border-radius:.25rem}.icon-button{border-radius:.65rem;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}html[data-immersive=true] .icon-button{width:46px;height:46px}.icon-button svg{width:19px;height:19px}.practice-mode-indicator.is-auto-flashing{animation:.72s ease-out practice-mode-auto-flash}@keyframes practice-mode-auto-flash{0%{border-color:var(--line);box-shadow:0 0 #70b6ff00}30%{border-color:#70b6ffd6;box-shadow:0 0 0 5px #70b6ff38,0 0 22px #70b6ff47}to{border-color:var(--line);box-shadow:0 0 #70b6ff00}}.clef-button{font-family:IBM Plex Sans,sans-serif;font-size:1.18rem;line-height:1}.theme-toggle{position:relative;overflow:hidden}.theme-toggle:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff29,#0000 58%);position:absolute;inset:0}.circle-visual-toggle svg{width:20px;height:20px}.tempo-field{width:74px}html[data-immersive=true] .tempo-field{width:82px}.tempo-field input{border:1px solid var(--line);background:var(--input-bg);width:100%;font:inherit;text-align:center;color:var(--ink);border-radius:.6rem;padding:.42rem .2rem}.practice-hud-strip{gap:.6rem;display:grid}.hud-primary-strip{grid-template-columns:minmax(0,2.62fr) minmax(176px,.68fr) minmax(360px,1.34fr);gap:.72rem;display:grid}:root{--hud-step-width:18px;--hud-panel-inline-padding:.78rem}.hud-primary-cell{border:1px solid var(--line);background:var(--surface-strong);padding:.9rem var(--hud-panel-inline-padding);border-radius:.8rem;grid-template-rows:auto 1fr;align-content:stretch;gap:.46rem;min-width:0;min-height:108px;display:grid}.hud-caption{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-size:.74rem}.hud-cell-head{justify-content:space-between;align-items:start;gap:.6rem;display:flex}.hud-lock-button{width:30px;height:30px;color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid color-mix(in srgb, var(--line) 62%, transparent);border-radius:.65rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.hud-lock-button svg{width:15px;height:15px}.hud-lock-button.is-locked{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 44%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--surface-strong))}.hud-lock-button:disabled{opacity:.42;cursor:default}.hud-primary-value{letter-spacing:.01em;overflow-wrap:anywhere;font-size:clamp(1.18rem,2.2vw,1.62rem);line-height:1.12}.hud-primary-exercise .hud-primary-value{font-size:clamp(1.34rem,2.65vw,1.96rem)}.hud-primary-exercise-value{flex-direction:column;justify-content:center;align-items:center;gap:.28rem;min-width:0;display:flex}.hud-primary-exercise-row{grid-template-columns:var(--hud-step-width) minmax(0, 1fr) var(--hud-step-width);align-items:center;gap:.5rem;width:100%;display:grid}.hud-primary-exercise-row .hud-primary-exercise-value{text-align:center}.hud-exercise-picker-trigger{background:0 0;border:0;width:100%;padding:0}.hud-exercise-picker-trigger:disabled{cursor:default}.hud-panel-trigger{width:100%;color:inherit;font:inherit;background:0 0;border:0;padding:0}.hud-panel-trigger:focus-visible,.hud-exercise-picker-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, white 30%);outline-offset:3px;border-radius:.7rem}.hud-primary-exercise-value>span{text-wrap:balance;width:100%;display:block}.hud-primary-exercise-value small{color:var(--ink-soft);letter-spacing:.01em;font-family:IBM Plex Sans,sans-serif;font-size:.96rem;font-weight:500;line-height:1.15;display:block}.hud-primary-key .hud-primary-value{text-align:center;font-size:clamp(1.32rem,2.2vw,1.82rem)}.hud-primary-key-value{white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:.2rem;min-width:0;display:inline-flex}.hud-primary-key-row{grid-template-columns:var(--hud-step-width) minmax(0, 1fr) var(--hud-step-width);align-items:center;gap:.32rem;width:100%;display:grid}.hud-key-step{width:var(--hud-step-width);height:54px;color:color-mix(in srgb, var(--ink-soft) 72%, var(--surface));background:color-mix(in srgb, var(--surface) 68%, transparent);border:1px solid color-mix(in srgb, var(--line) 58%, transparent);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--surface) 18%, transparent);border-radius:.55rem;flex:none;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.hud-key-step-stacked{height:25px}.hud-key-step:disabled{opacity:.4;cursor:default}.hud-key-step-glyph{opacity:.82;font-family:IBM Plex Sans,sans-serif;font-size:.92rem;font-weight:500;line-height:1;display:inline-block;transform:translateY(-.02rem)}.key-signature-staff{justify-content:center;align-items:center;width:3.7rem;min-width:3.7rem;display:inline-flex;transform:translateY(-.08rem)}.key-signature-svg{width:3.7rem;height:1.48em;display:block;overflow:visible}.key-signature-line{stroke:color-mix(in srgb, var(--ink-soft) 66%, transparent);stroke-width:.94px}.key-signature-glyph{fill:var(--ink);text-anchor:middle;dominant-baseline:middle;font-family:Bravura Text,Noto Music,Segoe UI Symbol,Times New Roman,serif;font-size:11.2px}html[data-immersive=true] .key-signature-staff{width:4.2rem;min-width:4.2rem}html[data-immersive=true] .key-signature-svg{width:4.2rem;height:1.66em}.hud-primary-meta{font-size:clamp(1.18rem,2vw,1.46rem)}.hud-primary-content-value{text-align:center;align-content:center;justify-items:center;gap:.2rem;font-size:clamp(.98rem,1.45vw,1.26rem);display:grid}.hud-primary-content-value>span{text-wrap:balance;width:100%;display:block}.hud-primary-content-value small{color:var(--ink-soft);font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:500;line-height:1.1;display:block}.hud-primary-content-row{grid-template-columns:var(--hud-step-width) minmax(0, 1fr) var(--hud-step-width);align-items:center;gap:.55rem;width:100%;display:grid}.hud-primary-content-spacer{width:var(--hud-step-width);min-width:var(--hud-step-width)}.hud-primary-content-controls{justify-items:stretch;gap:.18rem;display:grid}.walkthrough-anchor{width:100%;min-width:0;position:relative}.walkthrough-anchor-topbar{flex:none;width:auto}.walkthrough-panel-focus{z-index:25;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 22px 40px #0b172c2e;position:relative}.walkthrough-panel-focus:after{content:"";z-index:27;border-radius:inherit;pointer-events:auto;position:absolute;inset:0}.walkthrough-target{z-index:26;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), 0 14px 32px #0b172c38;animation:1.8s ease-in-out infinite walkthrough-pulse;position:relative}.walkthrough-bubble{z-index:28;border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--surface) 78%, white 22%);border-radius:.95rem;gap:.55rem;width:min(240px,100vw - 2rem);padding:.72rem .8rem;display:grid;position:absolute;top:calc(100% + .6rem);left:50%;transform:translate(-50%);box-shadow:0 20px 44px #0b172c2e}.walkthrough-bubble-inline{z-index:auto;width:100%;position:relative;inset:auto;transform:none}.walkthrough-bubble-end{left:auto;right:0;transform:none}.walkthrough-bubble p{color:var(--ink);font-size:.83rem;line-height:1.3}.walkthrough-bubble-actions{justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.walkthrough-bubble-action{min-width:8.25rem;min-height:2.5rem;padding:.55rem 1.1rem}.walkthrough-bubble-skip{color:var(--ink-soft);background:0 0;border:0;margin-right:auto;padding:.08rem 0;font-size:.76rem;line-height:1}.walkthrough-bubble-skip:hover{color:var(--ink);background:0 0}.walkthrough-overlay{z-index:24;background:color-mix(in srgb, var(--surface) 42%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;position:fixed;inset:0}@keyframes walkthrough-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent), 0 14px 32px #0b172c2e}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent), 0 18px 36px #0b172c42}}.hud-stat-grid{border:1px solid var(--line);background:var(--surface-strong);border-radius:.8rem;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:.28rem .4rem;padding:.48rem .6rem;display:grid}.hud-stat{align-content:start;gap:.05rem;min-width:0;display:grid}.hud-stat span{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem}.hud-stat strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-family:IBM Plex Sans,sans-serif;font-size:.84rem;font-weight:600;overflow:hidden}.hud-stat strong.hud-chord-mark{text-align:left;font-family:Space Grotesk,sans-serif;font-size:1rem}.notation-strip{background:var(--notation-surface);border:1px solid var(--line);border-radius:.9rem;justify-content:center;align-items:center;height:auto;min-height:314px;padding:.25rem;display:flex;position:relative;overflow:auto hidden}.notation-strip.improvisation.bass{min-height:360px}.notation-strip.improvisation.treble{min-height:364px}.notation-strip-canvas{justify-content:center;width:100%;display:flex}.notation-scale-hud{pointer-events:none;z-index:2;gap:.28rem;display:grid;position:absolute;bottom:.8rem;left:1rem;right:1rem}.notation-scale-hud p{color:#212a36e0;background:#fffaf2f0;border-radius:.95rem;flex-wrap:wrap;align-items:center;gap:.28rem .48rem;width:fit-content;min-width:0;max-width:min(100%,44rem);padding:.34rem .72rem;font-size:.8rem;line-height:1.22;display:inline-flex;box-shadow:0 1px #ffffff6b}.notation-scale-row.next{opacity:.86}.notation-scale-tag{color:#131c27f0;letter-spacing:.06em;text-transform:uppercase;background:#2c354314;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.16rem .42rem;font-size:.7rem;font-weight:700;display:inline-flex}.notation-scale-summary{flex-wrap:wrap;align-items:baseline;gap:.16rem .35rem;min-width:0;display:inline-flex}.notation-scale-main{flex-wrap:wrap;align-items:baseline;gap:.12rem .26rem;display:inline-flex}.notation-scale-root,.notation-scale-primary{color:#131c27fa;font-weight:700}.notation-scale-alternates{color:#3c4654e0}[data-theme=dark] .notation-scale-hud p,[data-theme=focus] .notation-scale-hud p{color:#e7f0f9eb;background:#0c1219c2;box-shadow:0 1px #ffffff0f}[data-theme=dark] .notation-scale-tag,[data-theme=focus] .notation-scale-tag{color:#f8fcffeb;background:#e9f1fa14}[data-theme=dark] .notation-scale-root,[data-theme=focus] .notation-scale-root,[data-theme=dark] .notation-scale-primary,[data-theme=focus] .notation-scale-primary{color:#f8fcfffa}[data-theme=dark] .notation-scale-alternates,[data-theme=focus] .notation-scale-alternates{color:#dce7f2d1}.notation-strip.empty{color:var(--ink-soft);justify-content:center;padding:.8rem}.practice-workstack{grid-template:". ."minmax(0,2fr)"notation circle"". ."minmax(0,1fr)"keyboard keyboard"". ."minmax(0,1fr)/minmax(0,2.3fr) minmax(280px,.9fr);gap:.55rem .6rem;height:100%;min-height:0;display:grid}.practice-workstack.is-circle-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:".""notation"".""keyboard""."}html[data-immersive=true] .practice-workstack{grid-template-columns:minmax(0,2.65fr) minmax(320px,1fr);gap:.7rem .8rem}html[data-immersive=true] .practice-workstack.is-circle-hidden{grid-template-columns:minmax(0,1fr)}.practice-notation-slot{grid-area:notation;align-self:center;min-width:0}.flashcard-prompt{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:radial-gradient(circle at top, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 58%), linear-gradient(180deg, color-mix(in srgb, var(--panel) 95%, white 5%) 0%, var(--panel) 100%);text-align:center;border-radius:1.1rem;place-items:center;gap:.85rem;min-height:18rem;padding:1.25rem 1.2rem;display:grid;box-shadow:0 20px 40px #0a121c14}.flashcard-prompt-caption{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.78rem}.flashcard-prompt strong{letter-spacing:-.04em;font-size:clamp(2.8rem,6vw,4.9rem);line-height:.95}.flashcard-prompt span{color:var(--ink-soft);font-size:.95rem}.flashcard-prompt.is-revealed{min-height:auto;margin-bottom:.65rem}.practice-notation-slot.is-circle-cycle-target{cursor:pointer}.practice-notation-slot.is-circle-cycle-target:focus-visible{outline-offset:4px;border-radius:1rem;outline:2px solid #70b6ff99}.practice-sidebar{grid-area:circle;justify-content:center;align-self:center;align-items:center;min-height:0;display:flex}.keyboard-lane{border:1px solid var(--line);background:linear-gradient(180deg, var(--piano-lane-start) 0%, var(--piano-lane-end) 100%);border-radius:.8rem;grid-area:keyboard;justify-self:center;align-items:center;gap:.2rem;width:fit-content;max-width:100%;margin-inline:auto;padding:.28rem .38rem .2rem;display:grid}.keyboard-lane.is-label-cycle-target{cursor:pointer}.keyboard-lane.is-label-cycle-target:focus-visible{outline-offset:4px;outline:2px solid #70b6ff99}html[data-immersive=true] .keyboard-lane{justify-self:center;width:fit-content;max-width:min(100%,1480px);padding:.4rem .48rem .28rem}.piano-view{width:auto;max-width:100%;margin-inline:auto;padding:0;overflow:auto hidden}.qwerty-view{justify-self:center;gap:.28rem;width:fit-content;max-width:100%;display:grid;position:relative}.qwerty-scale-guide{pointer-events:none;margin-inline:auto}.piano-scroll{width:max-content;min-width:0}.piano-scroll-content{gap:.08rem;width:max-content;display:grid}.scale-guide{gap:.08rem;padding-top:.08rem;display:grid}.scale-guide-row{height:19px;position:relative}.scale-guide-marker{color:#272f3ae0;width:0;height:19px;position:absolute;bottom:0;overflow:visible;transform:translate(-50%)}[data-theme=dark] .scale-guide-marker,[data-theme=focus] .scale-guide-marker{color:#dbe8f6eb}.scale-guide-marker:after{content:"";opacity:.22;background:currentColor;width:1px;height:8px;position:absolute;bottom:0;left:0}.scale-guide-marker.next{opacity:.66}.scale-guide-label{text-align:center;letter-spacing:-.01em;text-shadow:0 1px #ffffff38;font-family:IBM Plex Sans,sans-serif;font-size:.8rem;font-weight:700;line-height:1;display:inline-block;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}html[data-immersive=true] .scale-guide-label{font-size:.92rem}.scale-guide-label.has-accidental{font-size:.7rem}html[data-immersive=true] .scale-guide-label.has-accidental{font-size:.8rem}html[data-immersive=true] .scale-guide{gap:.1rem;padding-top:.12rem}html[data-immersive=true] .scale-guide-row,html[data-immersive=true] .scale-guide-marker{height:22px}[data-theme=dark] .scale-guide-label,[data-theme=focus] .scale-guide-label{text-shadow:0 1px #00000052}.scale-guide-body{display:inline-block}.scale-guide-accidental{font-size:.66em;font-weight:700;line-height:1;position:absolute;top:-.24em}.scale-guide-accidental.prefix{margin-right:.03rem;right:100%}.scale-guide-accidental.suffix{margin-left:.02rem;left:100%}.piano-stage{height:96px;position:relative}.qwerty-stage{pointer-events:none;height:130px;margin-inline:auto;position:relative}.qwerty-corner-hint{z-index:4;letter-spacing:.01em;color:#2c3543b3;text-transform:uppercase;align-items:center;gap:.38rem;font-size:.52rem;line-height:1;display:inline-flex;position:absolute;bottom:.18rem;left:.28rem}[data-theme=dark] .qwerty-corner-hint,[data-theme=focus] .qwerty-corner-hint{color:#dbe8f6b8}.piano-white-row{align-items:flex-start;height:100%;display:flex}.piano-black-row{pointer-events:none;width:100%;height:60px;position:absolute;top:0;left:0}.piano-key{-webkit-user-select:none;user-select:none;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.piano-key.white{background:#fff;border:1px solid #b4a88f;border-radius:0 0 .35rem .35rem;height:96px;box-shadow:inset 0 -3px #b2a18647}.piano-key.black{color:#d6dde8;z-index:3;background:#1f2430;border:1px solid #0f1320;border-radius:0 0 .28rem .28rem;height:60px;position:absolute;top:0;box-shadow:inset 0 -3px #00000038}.piano-key.is-hit-correct{color:#e9fff7;background:#157f5ade;border-color:#0c6545}.piano-key.is-hit-wrong{color:#fff3f4;background:#bb2f3be6;border-color:#83212a}.key-scale-band{opacity:.95;pointer-events:none;border-radius:999px;position:absolute;left:2px;right:2px}.key-scale-band.next{background:var(--next-scale-color);height:4px;top:3px}.key-scale-band.current{background:var(--current-scale-color);height:9px;bottom:4px;left:3px;right:3px}.piano-key.black .key-scale-band.next{height:3px;top:2px;left:1px;right:1px}.piano-key.black .key-scale-band.current{height:7px;bottom:5px;left:2px;right:2px}.piano-key.is-hit-correct .key-scale-band,.piano-key.is-hit-wrong .key-scale-band{opacity:.45}.piano-key .key-marker{border-radius:999px;width:8px;height:8px;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #1f283038}.piano-key.black .key-marker{bottom:6px;box-shadow:0 0 0 1px #ffffff73}.key-marker.chord{background:var(--accent)}.qwerty-key{justify-content:center;align-items:center;padding-top:1.9rem}.qwerty-key .key-marker{top:16px;bottom:auto}.qwerty-key.black .key-marker{top:12px;bottom:auto}.qwerty-key.white{color:#1f2830;height:130px}.qwerty-key.black{height:82px}.qwerty-keycap{min-width:1.72rem;height:1.72rem;color:var(--ink);background:#faf6ede0;border:1px solid #363d492e;border-radius:.4rem;justify-content:center;align-items:center;padding-inline:.32rem;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px #262b3514}.qwerty-key.white .qwerty-keycap{color:#1f2830}.qwerty-key.black .qwerty-keycap{color:#f1f6ff;background:#ffffff1f;border-color:#ffffff38}.qwerty-note-label{color:var(--ink-soft);white-space:nowrap;font-size:.62rem;line-height:1;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.qwerty-key.white .qwerty-note-label{color:#5c6470}.qwerty-key.black .qwerty-note-label{color:#e9f1fac7}.key-label{color:var(--ink-soft);z-index:1;margin-bottom:3px;font-size:.58rem;line-height:1;position:relative}.circle-panel{border:1px solid var(--line);background:var(--surface-strong);border-radius:.8rem;justify-content:center;align-items:center;width:min(100%,350px);min-height:314px;padding:.8rem;display:flex}html[data-immersive=true] .circle-panel{width:min(100%,410px);min-height:330px}.circle-shell,.circle-interval-shell{fill:none;stroke:var(--circle-shell-stroke)}.circle-interval-shell{stroke:var(--circle-interval-stroke)}.circle-node{fill:var(--circle-node-fill);stroke:var(--circle-node-stroke);stroke-width:1px}.circle-node.is-current-root{stroke-width:2.2px}.circle-node.is-selected-tonic{stroke:var(--accent);stroke-width:2.6px}.circle-node.is-excluded-root{opacity:.26}.circle-node-group.is-clickable{cursor:pointer}.circle-node.is-clickable{transition:opacity .14s,stroke-width .14s,transform .14s}.circle-node-group.is-clickable:hover .circle-node,.circle-node-group.is-clickable:focus-visible .circle-node{opacity:1;stroke-width:2.1px}.circle-label{fill:var(--circle-label-ink);pointer-events:none;font-size:9px}.circle-label.is-muted{opacity:.42}.circle-arrow-shaft,.circle-arrow-head{stroke:var(--circle-subtle-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.circle-arrow-shaft.is-tonic,.circle-arrow-head.is-tonic{stroke-width:2.4px}.interval-dot{stroke:var(--circle-dot-stroke);stroke-width:.9px}.interval-label{fill:var(--circle-subtle-ink);pointer-events:none;font-size:9px;font-weight:600}.circle-panel svg{width:min(100%,336px);height:auto}html[data-immersive=true] .circle-panel svg{width:min(100%,396px)}.manual-advance-bar{border:1px solid var(--line);background:var(--surface-muted);border-radius:.8rem;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem;padding:.55rem .75rem;display:flex}.manual-advance-hint{color:var(--ink-soft);font-size:.86rem}html[data-immersive=true] .manual-advance-hint{font-size:.94rem}@media (width<=720px){.notation-scale-hud{gap:.22rem;bottom:.65rem;left:.6rem;right:.6rem}.notation-scale-hud p{max-width:100%;padding:.3rem .58rem;font-size:.74rem}.notation-scale-tag{font-size:.64rem}}.manual-advance-button{flex:none;padding-inline:.95rem;font-weight:700}.progress-screen{align-content:start;gap:1rem;height:calc(100vh - 1.4rem);display:grid;overflow:auto}.progress-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.progress-header-copy{gap:.2rem;display:grid}.progress-header-copy h1{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.02}.progress-hero-summary p,.progress-section-heading p,.progress-badge-card p,.progress-explainer-card p{max-width:62ch;color:var(--ink-soft)}.progress-header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.progress-hero{gap:.85rem;display:grid}.progress-hero-summary{border:1px solid var(--line);background:radial-gradient(circle at top left, #ffc4692e, transparent 34%), radial-gradient(circle at top right, #4f9aff29, transparent 32%), linear-gradient(135deg, var(--surface-strong), var(--surface));border-radius:1rem;gap:.25rem;padding:.95rem 1rem;display:grid}.progress-hero-summary strong{margin-top:.08rem;font-size:1.2rem;display:block}.progress-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.progress-stat-grid-clean{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.progress-stat-card,.progress-panel,.progress-explainer-card,.progress-badge-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-strong), var(--surface));border-radius:1rem;box-shadow:0 8px 26px #281c080d}.progress-stat-card{gap:.22rem;padding:.95rem 1rem;display:grid;position:relative;overflow:hidden}.progress-stat-card:after{content:"";background:#0454d529;height:4px;position:absolute;inset:auto 0 0}.progress-stat-card.accent-warm:after{background:linear-gradient(90deg,#f97316e0,#ffbe5c6b)}.progress-stat-card.accent-cool:after{background:linear-gradient(90deg,#0454d5e0,#73c0ff6b)}.progress-stat-card.accent-neutral:after{background:linear-gradient(90deg,#666f7dbf,#cbb89a66)}.progress-stat-card.accent-success:after{background:linear-gradient(90deg,#157f5ae0,#7edcad6b)}.progress-stat-card strong{font-size:clamp(1.4rem,2vw,2rem);line-height:1}.progress-stat-card p{color:var(--ink-soft);max-width:24ch;font-size:.9rem}.progress-explainer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.progress-explainer-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-strong), var(--surface));border-radius:1rem;gap:.25rem;padding:1rem;display:grid;box-shadow:0 8px 26px #281c080d}.progress-explainer-card h2{font-size:1.25rem}.progress-section{gap:.7rem;display:grid}.progress-section-heading,.progress-panel-heading{justify-content:space-between;align-items:end;gap:.7rem;display:flex}.progress-section-heading h2,.progress-panel-heading h2{font-size:1.15rem}.progress-badge-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:.95rem;display:grid}.progress-badge-card{text-align:left;cursor:pointer;align-self:start;gap:.6rem;width:100%;padding:1rem 1.05rem;display:grid}.progress-badge-card.complete{border-color:#157f5a8c;box-shadow:0 10px 28px #157f5a1f}.progress-badge-card.active{border-color:#0454d557}.progress-badge-card.fresh{opacity:.88}.progress-badge-card.expanded{box-shadow:0 14px 34px #281c0814}.progress-badge-topline,.progress-badge-meta{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.progress-badge-card h3{font-size:1.08rem}.progress-badge-card p{min-height:3rem;font-size:.92rem}.progress-badge-meter{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;height:.55rem;overflow:hidden}.progress-badge-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;display:block}.progress-badge-meta{color:var(--ink-soft);font-size:.86rem}.progress-badge-details{gap:.55rem;padding-top:.2rem;display:grid}.progress-subbadge{border:1px solid var(--line);background:var(--surface-muted);border-radius:.8rem;gap:.18rem;padding:.72rem .78rem;display:grid}.progress-subbadge.mastered{border-color:#157f5a73}.progress-subbadge.attempted{border-color:#0454d547}.progress-subbadge-topline{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.progress-subbadge-topline strong{font-size:.88rem}.progress-subbadge-topline span,.progress-subbadge>span{color:var(--ink-soft);font-size:.82rem}.progress-subbadge-roman{letter-spacing:-.02em;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:1.08rem;font-weight:700;line-height:1.12}.progress-detail-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;display:grid}.progress-detail-grid-clean{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.progress-panel{gap:.75rem;padding:.9rem;display:grid}.progress-momentum-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.progress-momentum-grid>div{border:1px solid var(--line);background:var(--surface-muted);border-radius:.85rem;gap:.14rem;padding:.72rem .75rem;display:grid}.progress-momentum-grid strong{font-size:1.18rem}.progress-momentum-grid span,.progress-rank-list li span,.progress-session-list li span,.progress-empty{color:var(--ink-soft)}.progress-rank-list,.progress-session-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.progress-rank-list li,.progress-session-list li{border:1px solid var(--line);background:var(--surface-muted);border-radius:.85rem;align-items:start;gap:.45rem;padding:.72rem .8rem;display:grid}.progress-rank-list li{grid-template-columns:minmax(0,1fr) auto}.progress-rank-list.compact li{padding:.65rem .72rem}.progress-rank-list strong,.progress-session-list strong{display:block}.progress-rank-list li>div:first-child,.progress-session-list li>div{min-width:0}.progress-rank-list li strong,.progress-session-list li strong{font-size:.96rem}.progress-rank-list li span,.progress-session-list li span{font-size:.84rem}.progress-rank-metrics{text-align:right;justify-items:end;gap:.1rem;display:grid}.progress-rank-metrics.positive strong{color:var(--ok)}.progress-subpanel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.progress-subpanel-grid h3{margin-bottom:.4rem;font-size:.98rem}.progress-session-panel{gap:.8rem}.progress-session-list li{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(120px,auto))}.progress-session-list.clean li{grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(110px,auto))}.progress-empty{font-size:.9rem;display:block}.settings-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;justify-content:flex-end;padding:.8rem;display:flex;position:fixed;inset:0}.exercise-picker-overlay{background:color-mix(in srgb, var(--overlay) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:18;place-items:start center;padding:5.4rem 1rem 1rem;display:grid;position:fixed;inset:0}.exercise-picker-window{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);border-radius:1.05rem;gap:.8rem;width:min(620px,100%);max-height:min(68vh,720px);padding:.95rem;display:grid;overflow:auto;box-shadow:0 22px 56px #18120a3d}.exercise-picker-window-wide{width:min(900px,100%)}.exercise-picker-window-compact{gap:.62rem;max-height:min(82vh,860px);padding:.72rem}.exercise-picker-window-content{gap:.56rem;width:min(980px,100%);max-height:min(88vh,940px);padding:.62rem}.exercise-picker-window-compact .settings-section{gap:.5rem;padding:.68rem}.exercise-picker-window-content .settings-section{gap:.44rem;padding:.58rem}.exercise-picker-window-compact .settings-section-copy{gap:.14rem}.exercise-picker-window-content .settings-section-copy{gap:.12rem}.exercise-picker-window-compact .settings-pill-row{gap:.38rem}.exercise-picker-window-content .settings-pill-row{gap:.34rem}.exercise-picker-window-content .settings-lane-grid{gap:.45rem}.exercise-picker-window-content .settings-lane-card{gap:.18rem;min-height:76px}.exercise-picker-content-top{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:.56rem;display:grid}.exercise-picker-practice-mode{align-content:start}.practice-mode-toggle{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 62%, var(--surface-strong) 38%);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.24rem;width:fit-content;max-width:100%;padding:.24rem;display:inline-grid}.practice-mode-toggle-option{min-height:34px;color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:.2rem .9rem;font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:500}.practice-mode-toggle-option.active{background:color-mix(in srgb, var(--accent) 84%, white 16%);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 88%, black 12%)}.practice-mode-toggle-triple{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.exercise-picker-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.exercise-picker-header h3{font-size:1rem}.exercise-picker-list{gap:.55rem;display:grid}.exercise-picker-circle .circle-panel{width:min(100%,408px);margin-inline:auto}.exercise-picker-window-compact .exercise-picker-circle .circle-panel{width:min(100%,372px);min-height:286px;padding:.5rem}.exercise-picker-window-compact .exercise-picker-circle .circle-panel svg{width:min(100%,306px)}.exercise-picker-section-head{justify-content:space-between;align-items:start;gap:.8rem;display:flex}.exercise-picker-pill{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-strong) 84%, transparent);text-align:left;border-radius:999px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;width:100%;padding:.8rem .9rem;display:grid}.exercise-picker-pill.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent)}.exercise-picker-pill.mastered .exercise-picker-pill-meta strong{color:color-mix(in srgb, var(--ok) 82%, var(--ink))}.exercise-picker-pill-copy,.exercise-picker-pill-meta{gap:.12rem;display:grid}.exercise-picker-pill-copy{min-width:0}.exercise-picker-pill-copy strong,.exercise-picker-pill-meta strong{font-family:IBM Plex Sans,sans-serif}.exercise-picker-pill-copy span,.exercise-picker-pill-meta span{color:var(--ink-soft);font-size:.79rem}.exercise-picker-pill-meta{text-align:right;white-space:nowrap;justify-items:end}.settings-drawer{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);border-radius:1rem;align-content:start;gap:.85rem;width:min(460px,100%);height:calc(100vh - 1.6rem);padding:1rem;display:grid;overflow-y:auto;box-shadow:0 18px 56px #1d15092e}.settings-header{justify-content:space-between;align-items:start;gap:.7rem;display:flex}.settings-close{font-size:1.3rem;line-height:1}.settings-section{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-radius:.85rem;gap:.65rem;padding:.8rem;display:grid}.settings-section-copy{gap:.2rem;display:grid}.settings-section-copy h3{font-size:.95rem}.settings-section-copy p,.settings-meta{color:var(--ink-soft);font-size:.88rem}.settings-profile-head{grid-template-columns:auto 1fr;align-items:start;gap:.6rem;display:grid}.settings-profile-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);background:var(--surface-strong);border-radius:.7rem;justify-content:center;align-items:center;display:inline-flex}.settings-profile-icon svg{width:17px;height:17px}.settings-micro-meta-card{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface) 68%, var(--surface-strong) 32%);border-radius:1rem;gap:.7rem;padding:.85rem .95rem;display:grid}.settings-micro-meta-card.expanded{border-color:color-mix(in srgb, var(--accent) 20%, var(--line-soft) 80%)}.settings-micro-meta{color:var(--ink-soft);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.9rem;padding:0;display:flex}.settings-micro-meta:disabled{opacity:1;cursor:default}.settings-micro-meta-copy{gap:.15rem;display:grid}.settings-micro-meta-action{color:var(--ink-soft);white-space:nowrap;font-size:.78rem}.settings-meta-label{letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}.settings-micro-meta strong{color:var(--ink);font-family:IBM Plex Sans,sans-serif;font-size:.98rem}.settings-potential-details,.settings-potential-group-list{gap:.7rem;display:grid}.settings-potential-group{border-top:1px solid var(--line-soft);gap:.45rem;padding-top:.7rem;display:grid}.settings-potential-group:first-of-type{border-top:0;padding-top:0}.settings-potential-group-copy{gap:.15rem;display:grid}.settings-potential-group-copy strong{color:var(--ink);font-family:IBM Plex Sans,sans-serif;font-size:.92rem}.settings-potential-group-copy span{color:var(--ink-soft);font-size:.8rem}.settings-potential-phrase-list{flex-wrap:wrap;gap:.4rem;display:flex}.settings-potential-phrase{border:1px solid var(--line-soft);background:var(--surface-strong);min-height:30px;color:var(--ink-soft);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.78rem;display:inline-flex}.settings-lane-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.settings-lane-card{text-align:left;background:var(--surface-strong);align-content:start;gap:.25rem;min-height:88px;display:grid}.settings-lane-card strong{font-family:IBM Plex Sans,sans-serif;font-size:.94rem}.settings-lane-card span{color:var(--ink-soft);font-size:.82rem}.settings-lane-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px #0454d524}.settings-lane-card:disabled,.settings-pill:disabled{opacity:.42;cursor:not-allowed;border-color:var(--line-soft);box-shadow:none}.settings-pill-row{flex-wrap:wrap;gap:.45rem;display:flex}.settings-pill{background:var(--surface-strong);border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding-inline:.85rem;display:inline-flex}.settings-pill.active{background:var(--accent);color:#fff;border-color:#003c9a}.settings-pill-muted{color:var(--ink-soft);border:1px solid var(--line)}.settings-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.settings-auth-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.85rem;display:flex}.settings-text-input{border:1px solid var(--line);background:var(--surface-strong);min-width:16rem;color:var(--ink);font:inherit;border-radius:999px;flex:16rem;padding:.72rem .95rem}.settings-text-input::placeholder{color:var(--ink-soft)}.settings-toggle-stack{gap:.55rem;display:grid}.settings-toggle-inline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.settings-toggle-inline strong{font-family:IBM Plex Sans,sans-serif;font-size:.94rem}.settings-segmented-toggle{flex:none}.settings-toggle-card{text-align:left;background:var(--surface-strong);align-content:start;gap:.38rem;min-height:78px;display:grid}.settings-toggle-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.settings-toggle-card strong{font-family:IBM Plex Sans,sans-serif;font-size:.94rem}.settings-toggle-state{border:1px solid color-mix(in srgb, var(--line) 74%, transparent);background:color-mix(in srgb, var(--surface) 72%, transparent);min-width:3rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .58rem;font-family:IBM Plex Sans,sans-serif;font-size:.72rem;font-weight:700;display:inline-flex}.settings-toggle-card span{color:var(--ink-soft);font-size:.82rem}.settings-toggle-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px #0454d524}.settings-toggle-card.active .settings-toggle-state{border-color:color-mix(in srgb, var(--accent) 62%, transparent);background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent)}.settings-slider-stack{gap:.42rem;display:grid}.settings-slider-copy{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.settings-slider-copy strong{font-size:.92rem}.settings-slider-copy span{color:var(--ink-soft);font-size:.82rem}.settings-range{width:100%;accent-color:var(--accent);margin:0}.settings-range-labels{color:var(--ink-soft);justify-content:space-between;font-size:.8rem;display:flex}@media (width<=980px){#root{height:auto;min-height:100vh;padding:.55rem}html[data-immersive=true] #root{padding:.18rem}.practice-screen{grid-template-rows:auto auto minmax(0,1fr);height:auto;overflow:visible}html[data-immersive=true] .practice-screen{height:auto;min-height:calc(100vh - .36rem)}.hud-primary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.hud-primary-exercise{grid-column:1/-1}.hud-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-workstack{grid-template:"notation""keyboard""circle"/1fr;height:auto}.circle-panel{transform:none}.practice-topbar{flex-wrap:wrap;align-items:center}.practice-controls{margin-left:auto}.walkthrough-bubble{width:min(220px,100vw - 1.3rem)}.progress-header{flex-wrap:wrap;gap:.65rem}.progress-header-actions{margin-left:auto}.progress-explainer-grid,.progress-subpanel-grid,.progress-momentum-grid,.progress-session-list li{grid-template-columns:1fr}.settings-overlay{align-items:stretch;padding:.4rem}.settings-drawer{width:100%;height:auto;min-height:calc(100vh - .8rem)}.settings-lane-grid,.exercise-picker-content-top{grid-template-columns:1fr}}
