.exercise-card{align-items:center;gap:12px;display:flex}.exercise-card.unavailable{opacity:.75}.exercise-icon{width:36px;height:36px;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:18px;flex:none;place-items:center;display:grid}.unavailable .exercise-icon{color:var(--text-dim);background:color-mix(in srgb, var(--text-dim) 15%, transparent)}.exercise-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.unavailable .headline{color:var(--text-secondary)}.exercise-card .subhead{color:var(--text-dim);font-size:.824rem}.chevron{color:var(--text-dim)}.soon{text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:.647rem;font-weight:700}.neck{width:100%;min-width:0}.neck svg{width:100%;height:auto;display:block;overflow:visible}.neck .inlay{fill:var(--neck-inlay);opacity:.55}.neck .nut{fill:var(--neck-nut)}.neck .fret{stroke:var(--neck-fret-light);stroke-width:2px;opacity:.85}.neck .string{stroke:var(--neck-plain-string)}.neck .string.wound{stroke:var(--neck-wound-string)}.neck .string-shadow{stroke:#000;opacity:.35}.neck .string-ringing{stroke:var(--accent)}.neck .string-glow{stroke:var(--accent);opacity:.35}.neck .vibrating{transform-box:fill-box;transform-origin:50%;animation:90ms linear infinite alternate neck-vibrate}@keyframes neck-vibrate{0%{transform:scaleY(1)}to{transform:scaleY(-1)}}.neck .label{fill:var(--text-dim);text-anchor:middle;dominant-baseline:central;font-family:ui-monospace,Menlo,monospace;font-size:12px}.neck .label.highlighted{fill:var(--accent);font-weight:700}.neck .fret-number{fill:var(--text-dim);text-anchor:middle;dominant-baseline:central;font-family:ui-monospace,Menlo,monospace;font-size:11px}.neck .marker .glow{opacity:.35;filter:blur(4px)}.neck .marker-label{text-anchor:middle;dominant-baseline:central;fill:var(--background);font-family:ui-rounded,-apple-system,system-ui,sans-serif;font-weight:700}.neck .answer .dot,.neck .answer .glow,.neck .nailed .dot{fill:var(--success)}.neck .revealed .dot,.neck .revealed .glow{fill:var(--accent)}.neck .live .dot,.neck .live .glow{fill:var(--live)}.neck .shaky .dot{fill:#0000;stroke:var(--accent);stroke-width:2px}.neck .range .dot{fill:var(--text-dim);opacity:.8}.neck .ghost .dot{fill:color-mix(in srgb, var(--error) 15%, transparent);stroke:var(--error);stroke-width:1.5px;stroke-dasharray:3 2.5}.neck .ghost .marker-label{fill:var(--text)}.sheet-backdrop{z-index:10;padding:16px calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 16px) calc(env(safe-area-inset-left) + 16px);background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--background-raised);width:100%;max-width:430px}.round-header{gap:10px}.progress-segments{flex:1;gap:4px}.progress-segments span{border-radius:3px;flex:1;height:5px}.target-card{gap:14px}.target-circle{border:1.5px dashed var(--line);text-align:center;border-radius:50%;flex:none;place-items:center;width:76px;height:76px;padding:6px;display:grid}.target-circle .question{color:var(--accent);font-family:ui-rounded,-apple-system,system-ui,sans-serif;font-size:2.35rem;font-weight:700}.target-circle .revealed{color:var(--success);font-size:1.18rem;font-weight:700;line-height:1.1}.target-circle .revealed.missed{color:var(--accent)}.status-icon{width:52px;height:52px;color:var(--background);border-radius:50%;flex:none;place-items:center;display:grid}.pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.8;transform:scale(.92)}}.meter{background:var(--line);border-radius:3px;height:6px;display:block;overflow:hidden}.meter span{height:100%;transition:width 60ms linear;display:block}.feedback{border-radius:var(--radius);background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--text);gap:10px;padding:12px;font-size:.882rem;font-weight:600}.feedback svg{color:var(--error);flex:none}.phrase-progress{gap:6px}.phrase-progress span{border:1.5px solid var(--text-dim);border-radius:50%;width:12px;height:12px}.phrase-progress span.done{background:var(--success);border-color:var(--success)}.stat{flex-direction:column;align-items:center;gap:2px;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:1.29rem}.missed{color:var(--accent);margin:0;font-family:ui-monospace,Menlo,monospace;font-size:1.06rem}.toggle input{width:44px;height:26px;accent-color:var(--accent)}.stepper{border:1px solid var(--control-border);background:var(--background-raised);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:10px;font-size:1.18rem}.select{font:inherit;color:var(--text);background:var(--background-raised);border:1px solid var(--control-border);border-radius:10px;min-height:44px;padding:8px 10px;font-size:.882rem}.interval-grid{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;display:grid}.segmented{background:var(--background-raised);border:1px solid var(--control-border);border-radius:12px;padding:3px;display:flex}.segmented button{min-height:44px;font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:7px;font-size:.882rem;font-weight:600}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.next-button{position:relative;overflow:hidden}.next-button>span:last-child{position:relative}.countdown{transform-origin:0;background:color-mix(in srgb, var(--on-accent) 30%, transparent);animation:linear forwards countdown;position:absolute;inset:0}@keyframes countdown{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.advanced summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;list-style:none;display:flex}.advanced summary::-webkit-details-marker{display:none}.advanced summary:after{content:"›" / "";color:var(--text-dim);transform:rotate(90deg)}.advanced[open] summary:after{transform:rotate(-90deg)}.session{padding-bottom:0}.status-band{text-align:center;border-color:color-mix(in srgb, var(--tone) 45%, var(--line));flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:190px;display:flex}.status-big{color:var(--tone);align-items:center;gap:8px;min-height:56px;display:flex}.status-word{letter-spacing:-.01em;font-size:2.12rem;font-weight:800}.status-note{font-family:ui-rounded,-apple-system,system-ui,sans-serif;font-size:2.82rem;font-weight:800}.status-line{color:var(--text);font-size:1rem;font-weight:600}.status-sub{color:var(--text-secondary);font-size:.824rem}.status-meter{width:60%;margin-top:4px}.status-meter span{background:var(--live)}.action-bar{padding:16px 0 calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(to bottom, transparent, var(--background) 24px);flex-direction:column;gap:8px;margin-top:auto;display:flex;position:sticky;bottom:0}.action-bar .button{flex:1}.countdown-hint{text-align:center;gap:8px}.countdown-hint .wait{flex:none;min-width:72px}@media (prefers-reduced-motion:reduce){.countdown{display:none}}.tuner-note{justify-content:center;align-items:baseline;gap:2px;min-height:110px;display:flex}.tuner-name{font-family:ui-rounded,-apple-system,system-ui,sans-serif;font-size:5.65rem;font-weight:700;line-height:1}.tuner-octave{color:var(--accent);font-size:1.65rem;font-weight:700}.cents-arc{width:100%;max-width:320px;margin:0 auto;display:block}.tuner-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.tuner-stat span{font-variant-numeric:tabular-nums;font-size:1.29rem;font-weight:700}.tuner-stat small{color:var(--text-dim);font-size:.647rem;font-weight:600}.string-chip{background:var(--background-raised);min-height:48px;color:var(--text);border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.string-chip small{font-size:.647rem}.string-chip.selected{background:var(--accent);color:var(--on-accent)}*,:before,:after{box-sizing:border-box}html{font-size:17px;font:-apple-system-body}html,body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif}#root{min-height:100dvh}.screen{max-width:430px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 12px) calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 32px) calc(env(safe-area-inset-left) + 16px);flex-direction:column;gap:16px;margin:0 auto;display:flex}.nav-bar{grid-template-columns:64px 1fr 64px;align-items:center;min-height:44px;display:grid}.nav-bar h1{text-align:center;margin:0;font-size:1rem;font-weight:600}.nav-bar .trailing{color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-self:end;font-size:.765rem}.back{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:8px 0;font-size:1rem;display:inline-flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:.706rem;font-weight:600}.large-title{letter-spacing:-.01em;margin:2px 0 0;font-size:2rem;font-weight:700}.section-title{margin:0;font-size:1.18rem;font-weight:700}.section-title small{color:var(--text-dim);margin-left:6px;font-size:.765rem;font-weight:400}.headline{margin:0;font-size:1rem;font-weight:600}.subhead{color:var(--text-secondary);margin:0;font-size:.882rem}.caption{color:var(--text-dim);font-size:.706rem}.footnote{color:var(--text-dim);margin:0;font-size:.765rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.button{border-radius:var(--radius);width:100%;min-height:50px;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.button.primary{background:var(--accent);color:var(--on-accent)}.button.secondary{background:var(--card);color:var(--text);border-color:var(--line)}.button:disabled{opacity:.4;cursor:default}.button:active:not(:disabled){opacity:.8}.chip{cursor:pointer;min-height:44px;font:inherit;white-space:nowrap;background:var(--background-raised);color:var(--text);border:1px solid var(--control-border);border-radius:999px;flex:1;padding:8px 10px;font-size:.882rem;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.icon-button{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:22px;place-items:center;display:grid}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--live);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.stat-tile{flex-direction:column;gap:2px;display:flex}.stat-tile strong{font-variant-numeric:tabular-nums;font-size:1.18rem}.legend{border-radius:50%;width:10px;height:10px;display:inline-block}.legend.nailed{background:var(--success)}.legend.shaky{border:2px solid var(--accent)}.onboarding-page{flex:1;align-items:stretch;min-height:70dvh;padding-top:24px}.onboarding-icon{width:110px;height:110px;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:50%;place-items:center;margin:0 auto;display:grid}.eyebrow{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--control-border:color-mix(in srgb, var(--text-dim) 80%, transparent)}[tabindex="-1"]:focus{outline:none}.chips{flex-wrap:wrap;gap:6px}.chips .chip{min-width:64px}.button.continue{text-align:left;justify-content:flex-start;min-height:60px;padding:10px 16px}.continue-detail{opacity:.85;font-size:.8rem;font-weight:500}.step-dots{gap:6px;padding-left:4px}.step-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.step-dots span.done{background:var(--accent)}
