*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brasa:#ff5a36;--tinta:#16142e;--papel:#f7f2e8;--lavanda:#b8a9ff;--salvia:#8fc3a2;--sol:#ffc94a;--page:#f7f2e8;--page-2:#efe8da;--surface:#fffdf8;--surface-2:#f2ecdf;--surface-3:#e8e0d0;--panel:#efe8da;--line:rgba(22,20,46,.12);--line-strong:rgba(22,20,46,.24);--staff:rgba(22,20,46,.1);--accent:#16142e;--accent-bright:#2e2a5a;--accent-deep:#0c0b1c;--accent-fill:rgba(22,20,46,.06);--accent-fill-2:rgba(22,20,46,.1);--accent-edge:rgba(22,20,46,.3);--on-accent:#f7f2e8;--action:#ff5a36;--action-hover:#f04a26;--action-ink:#c2381a;--action-fill:rgba(255,90,54,.12);--action-edge:rgba(255,90,54,.45);--on-action:#16142e;--warm:#ffc94a;--warm-bright:#ffd46e;--warm-ink:#7a5600;--warm-fill:rgba(255,201,74,.2);--warm-edge:rgba(255,201,74,.6);--on-warm:#16142e;--break:#8fc3a2;--break-ink:#3a7552;--break-fill:rgba(143,195,162,.22);--on-break:#16142e;--note:#b8a9ff;--note-ink:#5b4bc4;--note-fill:rgba(184,169,255,.2);--on-note:#16142e;--brass:var(--text-2);--brass-bright:var(--text);--brass-fill:var(--accent-fill);--brass-edge:var(--line-strong);--text:#16142e;--text-2:#4a4766;--text-3:#65617f;--ok:var(--warm-ink);--ok-fill:var(--warm-fill);--warn:#94500a;--err:#c4314b;--err-fill:rgba(196,49,75,.1);--err-edge:rgba(196,49,75,.4);--shadow-1:0 1px 2px rgba(22,20,46,.06), 0 8px 24px rgba(22,20,46,.07);--shadow-2:0 2px 6px rgba(22,20,46,.08), 0 24px 48px rgba(22,20,46,.12);--shadow-inset:inset 0 1px 0 rgba(255,255,255,.6);--font-display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--font-body:"Figtree", system-ui, -apple-system, "Segoe UI", "Noto Music", "Segoe UI Symbol", "Apple Symbols", sans-serif;--font-mono:"Figtree", system-ui, -apple-system, "Segoe UI", "Noto Music", "Segoe UI Symbol", "Apple Symbols", sans-serif;--font-code:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--fs-1:2.125rem;--fs-2:1.5rem;--fs-3:1.1875rem;--fs-4:1rem;--fs-5:.8125rem;--fs-6:.75rem;--fs-7:.6875rem;--fs-timer:4rem;--display-hero:clamp(2.125rem, 5.4vw, 3.75rem);--display-countdown:clamp(3.4rem, 11vw, 7.5rem);--display-xl:var(--fs-1);--display-lg:var(--fs-2);--r-xs:8px;--r-sm:12px;--r-md:12px;--r-lg:20px;--r-xl:20px;--r-pill:999px;--r-hair:2px;--s-0:.125rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-4-5:1.25rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.2, .8, .2, 1);--grain:0;--content-max:1600px;--page-max:1320px;--gutter:clamp(1rem, 3.4vw, 2.5rem);--paper:#fcfcfb;--paper-ink:#242a31;--paper-muted:#5b6570;--paper-line:#d4d9dd;--paper-glow:var(--shadow-2);--paper-now:#ff5a36;--paper-now-ink:#c2381a;--paper-mark:#5b4bc4;--paper-mark-deep:#4a3aa8;--paper-pin-shadow:-1px 1px 3px rgba(22,20,46,.3);--paper-pin-shadow-held:-2px 3px 7px rgba(22,20,46,.35);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-ambient=ink]{--page:#16142e;--page-2:#110f24;--surface:#221f3f;--surface-2:#2a2750;--surface-3:#34305e;--panel:#110f24;--line:rgba(247,242,232,.14);--line-strong:rgba(247,242,232,.28);--staff:rgba(247,242,232,.1);--accent:#f7f2e8;--accent-bright:#fff;--accent-deep:#c9c4d6;--accent-fill:rgba(247,242,232,.08);--accent-fill-2:rgba(247,242,232,.14);--accent-edge:rgba(247,242,232,.36);--on-accent:#16142e;--action:#ff6b4a;--action-hover:#ff8466;--action-ink:#ff6b4a;--action-fill:rgba(255,107,74,.16);--action-edge:rgba(255,107,74,.5);--warm-ink:var(--warm);--warm-fill:rgba(255,201,74,.16);--break-ink:var(--break);--break-fill:rgba(143,195,162,.18);--note-ink:var(--note);--note-fill:rgba(184,169,255,.16);--brass:var(--text-2);--brass-bright:var(--text);--brass-fill:var(--accent-fill);--brass-edge:var(--line-strong);--text:#f7f2e8;--text-2:#c9c4d6;--text-3:#a29dba;--warn:#ffb870;--err:#ff8a9a;--err-fill:rgba(255,138,154,.14);--err-edge:rgba(255,138,154,.45);--shadow-1:0 14px 34px rgba(0,0,0,.35);--shadow-2:0 28px 64px rgba(0,0,0,.45);--shadow-inset:inset 0 1px 0 rgba(255,255,255,.05);--paper-glow:0 20px 44px rgba(0,0,0,.45);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--page);color:var(--text);line-height:1.5;font-size:var(--fs-4);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:hidden}.app-root{background:var(--page);min-height:100vh;color:var(--text);transition:background var(--motion-slow) var(--ease-standard), color var(--motion-slow) var(--ease-standard);flex-direction:column;display:flex;position:relative}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid transparent}::-webkit-scrollbar-thumb:hover{background-color:var(--accent-edge)}.app{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;text-align:inherit;background:0 0;border:none;margin:0;padding:0}::selection{background:var(--accent-fill-2);color:var(--text)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}select:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}summary:focus-visible{outline-offset:1px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-weight:600;line-height:1.15}p{color:var(--text-2)}.staff-lines,.staff-lines-faded{background-image:none}.numeric-readout,.opus-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.opus-number{font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.22em;color:var(--text-3)}.section-eyebrow,.section-tag,.slideover-kicker,.login-form-kicker,.dashboard-stage-kicker,.library_entry-card-kicker,.session-card-kicker,.form-intro-label,.score-viewer-kicker,.practice-preview-kicker{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.26em;color:var(--brass);font-weight:500;display:inline-block}.library_entry-card-kicker-score{color:var(--brass)}.library_entry-card-kicker-exercise{color:var(--ok)}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--s-5);padding-bottom:var(--s-4-5);margin-bottom:var(--s-6);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.section-heading-block{gap:var(--s-2);flex-direction:column;display:flex}.section-header-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.section-title{font-size:var(--display-xl);font-weight:500}.section-title-accent{color:var(--accent);font-style:italic;font-weight:400}.section-subtitle,.section-intro{color:var(--text-2);max-width:60ch;font-size:var(--fs-4)}.is-muted{color:var(--text-3)!important}.required{color:var(--brass);margin-left:var(--s-1)}.loading{justify-content:center;align-items:center;gap:var(--s-4);min-height:50vh;color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-5);letter-spacing:.18em;text-transform:uppercase;flex-direction:column;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.btn,.dashboard-btn-primary,.dashboard-btn-secondary,.dashboard-btn-danger,.login-submit,.add-library_entry-btn,.empty-state-action,.comment-load-more,.back-btn,.footer-link-button,.score-viewer-back,.score-viewer-practice,.score-upload-input,.score-upload-open{font-family:var(--font-body);font-size:var(--fs-4);letter-spacing:0;border-radius:var(--r-pill);padding:var(--s-3) var(--s-5);cursor:pointer;min-height:44px;transition:background var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);justify-content:center;align-items:center;gap:var(--s-2);text-align:center;white-space:nowrap;border:1px solid transparent;font-weight:600;line-height:1.1;display:inline-flex}.btn:active,.dashboard-btn-primary:active,.dashboard-btn-secondary:active{transform:translateY(1px)}.btn-primary,.btn-cta-primary,.dashboard-btn-primary,.login-submit,.add-library_entry-btn,.score-viewer-practice{background:var(--action);color:var(--on-action);border-color:var(--action)}.btn-primary:hover,.btn-cta-primary:hover,.dashboard-btn-primary:hover,.login-submit:hover:not(:disabled),.add-library_entry-btn:hover,.score-viewer-practice:hover{background:var(--action-hover);border-color:var(--action-hover)}.btn-primary:active,.btn-cta-primary:active,.dashboard-btn-primary:active,.login-submit:active:not(:disabled),.add-library_entry-btn:active,.score-viewer-practice:active{transform:translateY(1px)}.btn-secondary,.btn-cta-secondary,.dashboard-btn-secondary,.back-btn,.score-viewer-back,.score-upload-input,.score-upload-open,.comment-load-more,.empty-state-action{color:var(--text);border-color:var(--line-strong);background:0 0}.btn-secondary:hover,.btn-cta-secondary:hover,.dashboard-btn-secondary:hover,.back-btn:hover,.score-viewer-back:hover,.score-upload-input:hover,.score-upload-open:hover,.comment-load-more:hover,.empty-state-action:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.dashboard-btn-danger{color:var(--err);border-color:var(--err-edge);background:0 0}.dashboard-btn-danger:hover{background:var(--err-fill);border-color:var(--err)}.btn:disabled,.btn-secondary:disabled,.btn-cta-secondary:disabled,.back-btn:disabled,.score-viewer-back:disabled,.score-upload-open:disabled,.comment-load-more:disabled,.empty-state-action:disabled,.btn-danger:disabled,.login-submit:disabled,.dashboard-btn-primary:disabled,.dashboard-btn-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary:disabled:hover,.btn-cta-secondary:disabled:hover,.back-btn:disabled:hover,.score-viewer-back:disabled:hover,.score-upload-open:disabled:hover,.comment-load-more:disabled:hover,.empty-state-action:disabled:hover{border-color:var(--line-strong);color:var(--text);background:0 0}.btn-edit,.btn-play,.btn-practice-now,.btn-add-link,.btn-remove,.btn-delete,.move-btn{font-family:var(--font-body);font-size:var(--fs-5);border-radius:var(--r-sm);padding:var(--s-1) var(--s-3);cursor:pointer;border:1px solid var(--line-strong);color:var(--text-2);align-items:center;gap:var(--s-1);background:0 0;font-weight:600;transition:all .18s;display:inline-flex}.btn-edit:hover,.move-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.btn-play{border-color:var(--accent-edge);color:var(--accent)}.btn-play:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-practice-now{background:var(--action);color:var(--on-action);border-color:var(--action)}.btn-practice-now:hover{background:var(--action-hover);border-color:var(--action-hover)}.btn-add-link{color:var(--accent);border-style:dashed;border-color:var(--accent-edge)}.btn-add-link:hover{background:var(--accent-fill)}.btn-remove,.btn-delete{border-color:var(--err-edge);color:var(--err)}.btn-remove:hover,.btn-delete:hover{background:var(--err-fill)}.btn-close{border-radius:var(--r-sm);border:1px solid var(--line);width:38px;height:38px;color:var(--text-2);font-size:var(--fs-3);cursor:pointer;background:0 0;justify-content:center;align-items:center;line-height:1;transition:all .18s;display:inline-flex}.btn-close:hover{border-color:var(--err);color:var(--err);background:var(--err-fill)}.form-group,.field-wrapper{gap:var(--s-2);margin-bottom:var(--s-4);flex-direction:column;display:flex}.form-group label,.field-wrapper label{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--text-2);font-weight:500}.form-row{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}textarea,select,.app-input,.app-select{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=text]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=email]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=password]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=number]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=url]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input[type=search]{width:100%;font-family:var(--font-body);font-size:var(--fs-4);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);box-shadow:var(--shadow-inset);transition:border-color .18s,box-shadow .18s,background .18s}input::placeholder{color:var(--text-3)}textarea::placeholder{color:var(--text-3)}input:focus,textarea:focus,select:focus,.app-input:focus,.app-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-fill);background:var(--surface);outline:none}textarea{resize:vertical;min-height:92px;line-height:1.55}select,.app-select{appearance:none;cursor:pointer;padding-right:var(--s-6);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a7f6f' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat}.input-wrapper{position:relative}.input-icon{color:var(--text-3);pointer-events:none;display:flex;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.input-wrapper input{padding-left:var(--s-7)}.form-section{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4-5);margin-bottom:var(--s-4-5);background:var(--page-2)}.form-section-title{align-items:center;gap:var(--s-2);font-family:var(--font-display);font-size:var(--fs-3);font-weight:500;display:flex}summary.form-section-title{cursor:pointer;-webkit-user-select:none;user-select:none}.form-section-count{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--brass);background:var(--brass-fill);border:1px solid var(--brass-edge);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.form-section>*+*{margin-top:var(--s-3)}.form-section>.form-section-title+.section-intro{margin-top:var(--s-1)}.form-section-collapsible{overflow:hidden}.form-intro-card{border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--r-md);padding:var(--s-4) var(--s-4);background:var(--brass-fill);margin-bottom:var(--s-4-5)}.form-intro-card p{color:var(--text-2);margin-top:var(--s-2)}.form-actions,.inline-library_entry-form-actions{gap:var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.header{z-index:100;background:color-mix(in srgb, var(--page) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(120%);border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0}.header-content,.app-header-content{max-width:var(--content-max);padding:var(--s-4) var(--gutter);justify-content:space-between;align-items:center;gap:var(--s-6);margin:0 auto;display:flex}.header-content{max-width:var(--page-max)}.app-header{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);margin-bottom:var(--s-6)}.logo,.dashboard-logo,.app-logo,.login-brand-mark{align-items:center;gap:var(--s-2);font-family:var(--font-display);display:inline-flex}.logo-icon,.dashboard-logo span:first-child,.app-logo span:first-child,.login-brand-icon{border:1px solid var(--brass-edge);border-radius:var(--r-sm);width:34px;height:34px;color:var(--brass);background:var(--brass-fill);font-size:var(--fs-4);justify-content:center;align-items:center;display:inline-flex}.logo-text,.dashboard-logo span:last-child,.app-logo span:last-child,.login-brand-text{font-size:var(--fs-3);letter-spacing:.01em;color:var(--text);font-weight:600}.nav-links{align-items:center;display:flex}.nav-enter{min-height:44px;padding:var(--s-2) var(--s-5);font-size:var(--fs-5)}.hero{padding:var(--s-10) var(--gutter) var(--s-8);position:relative}.hero-layout{max-width:var(--page-max);gap:var(--s-8);grid-template-columns:1.05fr .95fr;align-items:center;margin:0 auto;display:grid}.hero-copy{max-width:38rem}.hero-badge{align-items:center;gap:var(--s-3);font-size:var(--fs-5);color:var(--text-2);margin-bottom:var(--s-5);font-weight:600;display:inline-flex}.hero-badge:before{content:"";width:var(--s-5);border-radius:var(--r-pill);background:var(--line-strong);height:2px}.hero-title{font-family:var(--font-display);font-size:var(--display-hero);letter-spacing:-.01em;margin-bottom:var(--s-4);font-weight:700;line-height:1.05}.hero-manifesto{font-family:var(--font-display);font-size:var(--fs-2);color:var(--text-2);margin-bottom:var(--s-5);font-weight:600;line-height:1.3}.hero-subtitle{font-size:var(--fs-3);color:var(--text-2);margin-bottom:var(--s-6);line-height:1.6}.hero-cta{gap:var(--s-3);flex-wrap:wrap;display:flex}.hero-cta .btn,.cta-buttons .btn{min-height:56px;padding:var(--s-4) var(--s-6);font-size:var(--fs-4)}.hero-fine-print{margin-top:var(--s-4);font-size:var(--fs-5);color:var(--text-3)}.hero-demo{gap:var(--s-4);flex-direction:column;display:flex}.hero-demo .today{box-shadow:var(--shadow-2)}.hero-demo .revisit{padding:0 var(--s-1);margin:0}.sketch-kicker{font-size:var(--fs-5);color:var(--text-2);font-weight:600}.hero-demo-caption{font-size:var(--fs-5);color:var(--text-3);padding:0 var(--s-1);line-height:1.5}.features{padding:var(--s-9) var(--gutter);background:var(--page-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.features-shell{max-width:var(--page-max);margin:0 auto}.features-header{max-width:44rem;margin-bottom:var(--s-7)}.features-header .section-tag{margin-bottom:var(--s-4)}.features-header .section-title{font-family:var(--font-display);font-size:var(--fs-1);margin-bottom:var(--s-3);font-weight:700;line-height:1.15}.features-header .section-subtitle{font-size:var(--fs-4)}.landing-steps{gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.landing-step{gap:var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.landing-step-index{border-radius:var(--r-pill);border:1px solid var(--line-strong);width:32px;height:32px;font-size:var(--fs-5);font-variant-numeric:tabular-nums;margin-bottom:var(--s-4);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.landing-step-copy h3{font-family:var(--font-display);font-size:var(--fs-3);margin-bottom:var(--s-2);font-weight:700}.landing-step-copy p{font-size:var(--fs-4);color:var(--text-2);line-height:1.6}.landing-sketch{background:var(--page);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-4);gap:var(--s-3);font-size:var(--fs-5);flex-direction:column;display:flex}.sketch-muted{color:var(--text-2);font-variant-numeric:tabular-nums}.sketch-rows{flex-direction:column;list-style:none;display:flex}.sketch-rows li{gap:var(--s-0);padding:var(--s-2) 0;border-top:1px solid var(--line);flex-direction:column;font-weight:600;display:flex}.sketch-rows li .sketch-muted{font-weight:400}.sketch-room{color:var(--text)}.sketch-room-timer{font-family:var(--font-display);font-size:var(--fs-1);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.sketch-room-piece{font-size:var(--fs-4);font-weight:600}.sketch-room-bar{border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) 18%, transparent);height:8px;overflow:hidden}.sketch-room-bar span{border-radius:var(--r-pill);background:var(--action);width:40%;height:100%;display:block}.sketch-close-title{font-family:var(--font-display);font-size:var(--fs-3);font-weight:700}.sketch-note{border-left:3px solid var(--note);padding-left:var(--s-3)}.sketch-note-label{color:var(--note-ink);font-weight:600}.sketch-note p{color:var(--text-2);line-height:1.5}.landing-sketch .shape-history{margin:0}.landing-inside-header{margin-top:var(--s-9)}.landing-inside{gap:var(--s-6) var(--s-7);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.landing-inside-item{border-top:2px solid var(--accent);padding-top:var(--s-4)}.landing-inside-item h3{font-family:var(--font-display);font-size:var(--fs-3);margin-bottom:var(--s-2);font-weight:700}.landing-inside-item p{font-size:var(--fs-4);color:var(--text-2);line-height:1.6}.landing-plans{padding:var(--s-9) var(--gutter) var(--s-7)}.landing-plan-grid{gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));max-width:60rem;display:grid}.landing-plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);gap:var(--s-4);flex-direction:column;display:flex}.landing-plan.is-free{border:2px solid var(--accent)}.landing-plan.is-plus{border-style:dashed;border-color:var(--line-strong);background:0 0}.landing-plan-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.landing-plan-head h3,.landing-plan-price{font-family:var(--font-display);font-size:var(--fs-2);font-weight:700}.landing-plan-status{font-size:var(--fs-5);padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);white-space:nowrap;font-weight:600}.landing-plan p,.landing-plan li{font-size:var(--fs-4);color:var(--text-2);line-height:1.6}.landing-plan ul{padding-left:var(--s-5);gap:var(--s-1);flex-direction:column;display:flex}.landing-plan p.landing-plan-limit{font-size:var(--fs-5);color:var(--text-3);margin-top:auto}.landing-faq{max-width:60rem;margin-top:var(--s-8)}.landing-faq-title{font-family:var(--font-display);font-size:var(--fs-2);margin-bottom:var(--s-4);font-weight:700}.landing-faq-item{border-bottom:1px solid var(--line)}.landing-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:48px;padding:var(--s-4) 0;font-size:var(--fs-4);font-weight:600;list-style:none;display:flex}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"";background:linear-gradient(var(--text-2), var(--text-2)) center / 12px 2px no-repeat, linear-gradient(var(--text-2), var(--text-2)) center / 2px 12px no-repeat;border-radius:var(--r-hair);width:12px;height:12px;transition:transform var(--motion-base) var(--ease-standard);flex-shrink:0}.landing-faq-item[open] summary:after{transform:rotate(45deg)}.landing-faq-item p{font-size:var(--fs-4);color:var(--text-2);padding-bottom:var(--s-5);max-width:65ch;line-height:1.6}.cta{padding:var(--s-8) var(--gutter) var(--s-9)}.cta-content{text-align:center;max-width:40rem;margin:0 auto}.cta-icon{margin-bottom:var(--s-5);justify-content:center;display:flex}.cta-content h2{font-family:var(--font-display);font-size:var(--fs-1);margin-bottom:var(--s-4);font-weight:700}.cta-content>p{font-size:var(--fs-4);color:var(--text-2);margin-bottom:var(--s-6);line-height:1.6}.cta-buttons{margin-bottom:var(--s-4);justify-content:center;display:flex}.cta-content>p.cta-note{font-size:var(--fs-5);color:var(--text-3);margin-bottom:0}.footer{background:var(--panel);border-top:1px solid var(--line);padding:var(--s-7) var(--gutter) var(--s-6);margin-top:auto}.footer-content{max-width:var(--page-max);justify-content:space-between;align-items:flex-start;gap:var(--s-6);padding-bottom:var(--s-6);border-bottom:1px solid var(--line);margin:0 auto;display:flex}.footer-brand p{margin-top:var(--s-4);max-width:40ch;font-size:var(--fs-5);color:var(--text-2)}.footer-link-button{font-size:var(--fs-5);color:var(--text);border:1px solid var(--line-strong);background:0 0}.footer-link-button:hover{border-color:var(--accent)}.footer-bottom{max-width:var(--page-max);margin:var(--s-5) auto 0;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;display:flex}.footer-bottom p{font-size:var(--fs-5);color:var(--text-3)}.login-wrapper{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-visual{background:var(--panel);border-right:1px solid var(--line);padding:var(--s-8);flex-direction:column;justify-content:center;display:flex}.login-visual-content{max-width:30rem}.login-visual-title{font-family:var(--font-display);font-size:var(--fs-1);margin-bottom:var(--s-4);font-weight:700;line-height:1.15}.login-visual-copy{color:var(--text-2);font-size:var(--fs-4);margin-bottom:var(--s-6);line-height:1.6}.login-visual-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1);gap:var(--s-3);flex-direction:column;display:flex}.login-panel-label{font-size:var(--fs-5);color:var(--text-2);font-weight:600}.login-visual-piece{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-4);font-weight:500;display:flex}.login-piece-meta{font-size:var(--fs-5);font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:400}.login-visual-note{border-left:3px solid var(--note);padding-left:var(--s-3);font-size:var(--fs-5)}.login-visual-note-label{color:var(--note-ink);font-weight:600}.login-visual-note p{color:var(--text-2);line-height:1.5}.login-form-container{padding:var(--s-8) var(--s-7);flex-direction:column;justify-content:center;width:100%;max-width:32rem;min-height:100%;margin:0 auto;display:flex}.login-brand{justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-7);display:flex}.login-form-kicker{margin-bottom:var(--s-2)}.login-form-section h1{font-family:var(--font-display);font-size:var(--fs-1);margin-bottom:var(--s-3);font-weight:700}.login-subtitle{font-size:var(--fs-4);color:var(--text-2);margin-bottom:var(--s-6);line-height:1.6}.login-submit{width:100%;min-height:56px}.login-sso{gap:var(--s-3);flex-direction:column;display:flex}.login-sso-note{font-size:var(--fs-5);color:var(--text-3);text-align:center}.login-footer{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line);text-align:center;color:var(--text-3);font-size:var(--fs-5)}.login-home-link{min-height:44px;color:var(--accent);cursor:pointer;font-weight:600;font-family:var(--font-body);font-size:var(--fs-5);white-space:nowrap;background:0 0;border:none}.login-home-link:hover{text-decoration:underline}.login-another-account{min-height:44px;color:var(--accent);cursor:pointer;font-weight:600;font-family:var(--font-body);font-size:var(--fs-5);background:0 0;border:none;align-self:center}.login-another-account:hover{text-decoration:underline}.login-another-account:disabled{color:var(--text-3);cursor:default;text-decoration:none}.zomavi-logo,.zomavi-symbol{color:var(--text);display:block}.zomavi-symbol-centre{fill:var(--brasa)}.zomavi-symbol-side,.zomavi-wordmark{fill:currentColor}@keyframes zomavi-capsule-in{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.zomavi-symbol rect,.zomavi-logo rect{transform-box:fill-box;transform-origin:50%}.zomavi-symbol-side{animation:zomavi-capsule-in var(--motion-fast) var(--ease-standard) both}.zomavi-symbol-centre{animation:zomavi-capsule-in var(--motion-slow) var(--ease-standard) both;animation-delay:var(--motion-fast)}.zomavi-symbol-centre~.zomavi-symbol-side{animation-delay:calc(var(--motion-fast) + var(--motion-slow))}.capsule-line{align-items:stretch;width:100%;display:flex}.capsule-line.is-large{gap:var(--s-4);height:16px}.capsule-line.is-small{gap:var(--s-2);height:8px}.capsule{border-radius:var(--r-pill);transform-origin:0;background:color-mix(in srgb, var(--accent) 18%, transparent);flex-shrink:1;min-width:6px;position:relative;overflow:hidden}.capsule.is-rest{background:var(--break-fill)}.capsule-fill{transform-origin:0;transition:transform var(--motion-slow) var(--ease-standard);background:var(--accent);position:absolute;inset:0}.capsule.is-active .capsule-fill{background:var(--action)}.capsule.is-paused .capsule-fill{background:var(--break)}.capsule.is-done .capsule-fill{background:var(--accent)}.capsule.is-rest.is-done .capsule-fill{background:var(--break)}.capsule.is-complete .capsule-fill{background:var(--warm)}.capsule-line.is-entering .capsule{animation:capsule-grow-in var(--motion-slow) var(--ease-standard) both;animation-delay:calc(var(--capsule-index,0) * 60ms)}@keyframes capsule-grow-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}html[data-prerender-shown] .app .zomavi-symbol-side,html[data-prerender-shown] .app .zomavi-symbol-centre,html[data-prerender-shown] .app .capsule-line.is-entering .capsule{animation:none}.capsule-loader{--loader-h:10px;height:var(--loader-h);align-items:center;gap:var(--loader-h);display:inline-flex}.capsule-loader span{height:var(--loader-h);border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) 14%, transparent);display:block;position:relative;overflow:hidden}.capsule-loader span:first-child,.capsule-loader span:nth-child(3){width:calc(var(--loader-h) * 2)}.capsule-loader span:nth-child(2){width:calc(var(--loader-h) * 5)}.capsule-loader span:after{content:"";background:var(--action);animation:capsule-loader-fill 1.4s var(--ease-standard) infinite;position:absolute;inset:0;transform:translate(-100%)}.capsule-loader span:nth-child(2):after{animation-delay:.18s}.capsule-loader span:nth-child(3):after{animation-delay:.36s}@keyframes capsule-loader-fill{0%{transform:translate(-100%)}20%,to{transform:translate(0)}}.dashboard{min-height:100vh;padding:var(--s-6) var(--gutter)}.dashboard-shell{max-width:var(--content-max);margin:0 auto}.dashboard-topbar{align-items:center;gap:var(--s-5);padding:0 0 var(--s-4);border-bottom:1px solid var(--line-strong);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.dashboard-brand{margin-right:var(--s-2);cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;padding:0;line-height:0;display:inline-flex}.dashboard-nav{align-items:center;gap:var(--s-1);margin-left:var(--s-4);flex-wrap:wrap;display:flex}.dashboard-tab{border-radius:var(--r-pill);padding:var(--s-2) var(--s-4);font-family:var(--font-body);font-size:var(--fs-4);color:var(--text-2);cursor:pointer;transition:color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard);background:0 0;border:none;align-items:center;font-weight:600;display:inline-flex}.dashboard-tab:hover{color:var(--text);background:var(--accent-fill)}.dashboard-tab.active{color:var(--on-accent);background:var(--accent)}.dashboard-settings{border-radius:var(--r-pill);width:40px;height:40px;color:var(--text-2);cursor:pointer;transition:color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.dashboard-settings:hover{color:var(--text);background:var(--accent-fill)}.dashboard-settings.active{color:var(--on-accent);background:var(--accent)}.nav-icon{width:24px;height:24px;display:block}.dashboard-content{max-width:960px;margin:0 auto;animation:.5s backwards rise}.dashboard-section{max-width:var(--content-max);margin:0 auto}.dashboard-section-narrow{max-width:1000px;margin-left:auto;margin-right:auto}.today{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-7) var(--s-6);box-shadow:var(--shadow-1);gap:var(--s-2);flex-direction:column;display:flex}.today-loading{padding:var(--s-6);align-items:flex-start}.today-empty{gap:var(--s-3)}.today-kicker{font-family:var(--font-body);font-size:var(--fs-5);color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.today-title{font-family:var(--font-display);font-size:var(--fs-1);color:var(--text);font-weight:700;line-height:1.15}.today-meta{color:var(--text-2);font-size:var(--fs-4)}.today .capsule-line{margin:var(--s-5) 0 var(--s-2)}.today-actions{align-items:center;gap:var(--s-3);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.today-start{min-height:56px;padding:0 var(--s-6);border-radius:var(--r-pill);background:var(--action);color:var(--on-action);font-family:var(--font-body);font-size:var(--fs-3);cursor:pointer;transition:background var(--motion-base) var(--ease-standard);border:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.today-start:hover:not(:disabled){background:var(--action-hover)}.today-start:disabled{opacity:.55;cursor:default}.today-done{border-top:4px solid var(--warm)}.today-done .today-kicker{color:var(--warm-ink)}.today-done-list{margin:var(--s-2) 0 0;gap:var(--s-1);flex-direction:column;padding:0;list-style:none;display:flex}.today-done-list li{align-items:center;gap:var(--s-2);color:var(--text);font-size:var(--fs-4);display:flex}.today-done-list li:before{content:"✓";background:var(--warm-fill);width:1.5em;height:1.5em;color:var(--warm-ink);font-size:var(--fs-5);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.today-again{padding:var(--s-2) 0;color:var(--text-2);font-family:var(--font-body);font-size:var(--fs-4);text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;text-decoration:underline}.today-again:hover:not(:disabled){color:var(--text)}.today-again:disabled{opacity:.55;cursor:default}.revisit{margin:var(--s-6) 0 var(--s-7)}.revisit-header{gap:var(--s-1);margin-bottom:var(--s-3);flex-direction:column;display:flex}.revisit-kicker{font-family:var(--font-body);font-size:var(--fs-5);color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.revisit-lead{color:var(--text-2);font-size:var(--fs-5)}.revisit-list{margin:0;padding:0;list-style:none}.revisit-item{align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.revisit-item:last-child{border-bottom:1px solid var(--line)}.revisit-mark{border:1.5px dashed var(--text-3);border-radius:50%;width:14px;height:14px}.revisit-text{gap:var(--s-0);flex-direction:column;min-width:0;display:flex}.revisit-title{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text);overflow-wrap:anywhere;font-weight:600}.revisit-meta{color:var(--text-2);font-size:var(--fs-5)}.revisit-author,.revisit-sep,.revisit-age{color:inherit}.revisit-play{min-height:44px;padding:0 var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-family:var(--font-body);font-size:var(--fs-5);white-space:nowrap;cursor:pointer;transition:background var(--motion-base) var(--ease-standard);background:0 0;font-weight:600}.revisit-play:hover:not(:disabled){background:var(--accent-fill)}.revisit-play:disabled{opacity:.55;cursor:default}.revisit-agenda{margin-top:var(--s-3);padding:var(--s-2) 0;color:var(--text-2);font-family:var(--font-body);font-size:var(--fs-5);text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;text-decoration:underline}.revisit-agenda:hover{color:var(--text)}.settings-card-revisit{min-width:0}.revisit-interval{gap:var(--s-2);flex-direction:column;display:flex}.revisit-interval-options{gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-sm);background:var(--page);grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));display:grid}.revisit-interval-option{text-align:center;min-height:2.75rem;padding:0 var(--s-3);border-radius:var(--r-xs);color:var(--text-2);font:600 var(--fs-5) / 1.2 var(--font-body);cursor:pointer;background:0 0;border:0}.revisit-interval-option.is-on{background:var(--accent);color:var(--on-accent)}.revisit-interval-option:disabled:not(.is-on){cursor:default}.settings-card-reminder{min-width:0}.practice-reminder{gap:var(--s-5);flex-direction:column;display:flex}.practice-reminder-switch{gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-sm);background:var(--page);grid-template-columns:1fr 1fr;max-width:20rem;display:grid}.practice-reminder-option{text-align:center;min-height:2.75rem;padding:0 var(--s-3);border-radius:var(--r-xs);color:var(--text-2);font:600 var(--fs-5) / 1.2 var(--font-body);cursor:pointer;background:0 0;border:0}.practice-reminder-option.is-on{background:var(--accent);color:var(--on-accent);cursor:default}.practice-reminder-when{align-items:flex-end;gap:var(--s-5) var(--s-6);flex-wrap:wrap;display:flex}.practice-reminder-time,.practice-reminder-days{gap:var(--s-2);flex-direction:column;flex:14rem;min-width:0;max-width:22rem;display:flex}.practice-reminder-label{font:600 var(--fs-7) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.practice-reminder-time-input{width:auto;min-width:7.5rem;min-height:2.75rem;padding:0 0 var(--s-0);border:0;border-bottom:2px solid var(--line-strong);color:var(--text);font:500 var(--fs-1) / 1 var(--font-display);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:0;align-self:flex-start}.practice-reminder-time-input:hover{border-bottom-color:var(--accent)}.practice-reminder-day-row{gap:var(--s-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.practice-reminder-day{text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-pill);min-width:0;min-height:3.25rem;color:var(--text-2);font:600 var(--fs-6) / 1 var(--font-body);text-transform:capitalize;cursor:pointer;background:0 0;padding:0;transition:background .15s,color .15s,border-color .15s;overflow:hidden}.practice-reminder-day.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.practice-reminder-day:disabled{cursor:default}.practice-reminder-next{font:500 var(--fs-5) / 1.4 var(--font-mono);color:var(--text-2);margin:0}.practice-reminder-blocked{align-items:flex-start;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--page-2);flex-direction:column;max-width:32rem;display:flex}.practice-reminder-blocked p{color:var(--text);margin:0}@media (prefers-reduced-motion:reduce){.practice-reminder-day{transition:none}}.settings-module{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6)}.settings-grid{counter-reset:settings-entry;flex-direction:column;display:flex}.settings-card{counter-increment:settings-entry;padding:var(--s-6) 0 var(--s-6) var(--s-7);border-top:1px solid var(--line);position:relative}.settings-grid>.settings-card:first-child{border-top:none;padding-top:0}.settings-card:before{content:counter(settings-entry, upper-roman);font-family:var(--font-display);font-style:italic;font-size:var(--fs-3);color:var(--brass);position:absolute;top:2.2rem;left:0}.settings-grid>.settings-card:first-child:before{top:0}.settings-card h3{font-size:var(--fs-3);margin-bottom:var(--s-2)}.settings-card>p{color:var(--text-2);margin-bottom:var(--s-5)}.settings-card-language{min-width:0}.settings-logout{margin-top:var(--s-2)}.settings-logout:hover{border-color:var(--err-edge);color:var(--err)}.settings-email{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;max-width:32rem;display:flex}.settings-email-open{align-self:flex-start}.settings-email-form p{color:var(--text-2);margin-bottom:var(--s-4)}.settings-email-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.settings-email-notice{color:var(--text)}.settings-email-reauth{align-items:flex-start;gap:var(--s-2);padding:var(--s-3);margin-bottom:var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--page-2);flex-direction:column;display:flex}.settings-email-form .settings-email-reauth p{margin-bottom:0}.settings-card-plan{min-width:0}.settings-plan-name{padding:var(--s-0) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-weight:600;display:inline-block}.settings-plan-name.is-premium{background:var(--warm-fill);border-color:var(--warm-edge)}.settings-plan-perks{margin:calc(-1 * var(--s-3)) 0 var(--s-5);padding-left:var(--s-4-5);color:var(--text-2);gap:var(--s-1);flex-direction:column;display:flex}.settings-card>.settings-plan-note{margin:var(--s-2) 0 0;font-size:var(--fs-5)}.settings-plan-change{margin-top:var(--s-2)}.diagnostic-report{gap:var(--s-2);flex-direction:column;min-width:0;max-width:34rem;display:flex}.diagnostic-report-open{align-self:flex-start}.diagnostic-report-form{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.diagnostic-report-form .form-group{margin-bottom:0}.diagnostic-report-form textarea{resize:vertical;width:100%}.diagnostic-report-count{color:var(--text-2);font-size:var(--fs-5);align-self:flex-end}.settings-card-diagnostics,.diagnostic-report-room,.diagnostic-report-log{min-width:0}.diagnostic-report-log summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-5);padding:var(--s-1) 0}.diagnostic-report-log[open] summary{margin-bottom:var(--s-1)}.diagnostic-report-tape{--tape-line:1.6em;min-height:calc(var(--tape-line) * 3);max-height:calc(var(--tape-line) * 9);max-width:100%;padding:0 var(--s-3);overscroll-behavior:contain;white-space:pre;font:var(--fs-6) / var(--tape-line) var(--font-code);color:var(--text);border-left:3px solid var(--line-strong);border-radius:0 var(--r-xs) var(--r-xs) 0;background-color:var(--surface-2);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--tape-line) - 1px), var(--line) calc(var(--tape-line) - 1px) var(--tape-line));background-attachment:local;margin:0;overflow:auto}.diagnostic-report-log-empty,.diagnostic-report-privacy{color:var(--text-2);font-size:var(--fs-5);margin:0}.diagnostic-report-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.diagnostic-report-sent{color:var(--text);margin:0}.theme-selector-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.theme-card{text-align:left;background:var(--page-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4-5);cursor:pointer;gap:var(--s-3);font-family:var(--font-body);color:var(--text);border-left:3px solid transparent;flex-direction:column;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.theme-card:hover{border-left-color:var(--accent-edge);background:var(--surface-2);box-shadow:var(--shadow-1);transform:translateY(-2px)}.theme-card.active{border-left-color:var(--accent);background:var(--page-2);box-shadow:var(--shadow-inset)}.theme-card-info{gap:var(--s-0);flex-direction:column;display:flex}.theme-card-name{font-family:var(--font-display);font-size:var(--fs-3);font-weight:500}.theme-card-description{font-size:var(--fs-5);color:var(--text-2);margin-top:var(--s-1)}.theme-card-active-badge{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);background:var(--accent-fill);border:1px solid var(--accent-edge);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2);position:absolute;top:.9rem;right:.9rem}.theme-selector-status{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3);margin-top:var(--s-4)}.empty-state,.empty-library_entries,.empty-state-library,.empty-state-selector,.empty-state-session{text-align:center;padding:var(--s-7) var(--s-6);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--page-2);align-items:center;gap:var(--s-3);flex-direction:column;display:flex}.empty-state h3,.empty-library_entries h3{font-size:var(--fs-3)}.empty-state p,.empty-library_entries p{color:var(--text-2);max-width:42ch}.empty-state-action{margin-top:var(--s-3)}.section-header .add-library_entry-btn{flex-shrink:0}.library-summary-grid{gap:var(--s-4);margin-bottom:var(--s-6);grid-template-columns:repeat(3,1fr);display:grid}.library-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4-5) var(--s-4-5);gap:var(--s-1);flex-direction:column;display:flex}.library-summary-card strong,.library-summary-card .numeric-readout{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--accent);font-weight:600;line-height:1}.library-summary-label{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.18em;color:var(--text-3)}.library_entry-filter-bar{gap:var(--s-2);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.filter-btn{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-1) var(--s-4);cursor:pointer;background:0 0;align-items:center;transition:all .18s;display:inline-flex}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.filter-btn-active:hover{color:var(--on-accent)}.filter-btn-pending_study:before,.filter-btn-studying:before,.filter-btn-repertoire:before{content:"";width:7px;height:7px;margin-right:var(--s-2);border-radius:50%;flex-shrink:0}.filter-btn-pending_study:before{background:var(--warn)}.filter-btn-studying:before{background:var(--brass)}.filter-btn-repertoire:before{background:var(--ok)}.filter-btn-active.filter-btn-pending_study:before,.filter-btn-active.filter-btn-studying:before,.filter-btn-active.filter-btn-repertoire:before{background:var(--on-accent)}.library_entries-grid{counter-reset:repertoire-entry;flex-direction:column;display:flex}.library_entry-card{counter-increment:repertoire-entry;padding:var(--s-5) 0 var(--s-5) var(--s-7);gap:var(--s-3);border-top:1px solid var(--line);flex-direction:column;transition:background .18s;display:flex;position:relative}.library_entries-grid>.library_entry-card:first-child{border-top:1px solid var(--line-strong)}.library_entry-card:before{content:counter(repertoire-entry, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-5);color:var(--brass);position:absolute;top:1.75rem;left:0}.library_entry-card:hover{background:var(--accent-fill)}.library_entry-card-topline{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.library_entry-title{font-family:var(--font-display);font-size:var(--fs-3);font-weight:500;line-height:1.15}.library_entry-author{font-family:var(--font-display);font-style:italic;font-size:var(--fs-4);color:var(--text-2)}.library_entry-card-status,.session-card-status,.score-status-chip{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.14em;padding:var(--s-1) var(--s-2);border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);background:var(--page-2);white-space:nowrap}.library_entry-card-status.is-pending{color:var(--accent);border-color:var(--accent-edge);background:var(--accent-fill)}.library_entry-card-status.is-failed{color:var(--err);border-color:var(--err-edge);background:var(--err-fill)}.library_entry-meta-pill{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);background:var(--page-2);align-items:center;gap:var(--s-1);display:inline-flex}.library_entry-library-meta,.library_entry-links{gap:var(--s-2);flex-wrap:wrap;display:flex}.library_entry-link-chip,.library_entry-pdf-link{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);align-items:center;gap:var(--s-1);transition:all .18s;display:inline-flex}.library_entry-link-chip:hover,.library_entry-pdf-link:hover{background:var(--accent);color:var(--on-accent)}.library_entry-pdf{gap:var(--s-2);flex-wrap:wrap;display:flex}.library_entry-actions{gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line);flex-wrap:wrap;margin-top:auto;display:flex}.library_entry-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.library_entry-info{gap:var(--s-1);flex-direction:column;display:flex}.library_entry-item{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);display:flex}.library_entry-item-details{gap:var(--s-0);flex-direction:column;display:flex}.session-items-heading{justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.session-duration-summary{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.session-duration-total{color:var(--accent);font-weight:600}.session-duration-breakdown{font-size:var(--fs-5);color:var(--text-2)}.drag-handle{align-items:center;gap:var(--s-0);cursor:grab;padding:var(--s-0) var(--s-0);border-radius:var(--r-sm);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.drag-handle:active{cursor:grabbing}.drag-handle-grip{color:var(--text-3);line-height:1;font-size:var(--fs-4)}.drag-handle-position{font-size:var(--fs-6);color:var(--text-2)}.library_entry-item.is-dragging{opacity:.55;border-color:var(--accent)}.tempo-marking-content{gap:var(--s-2);flex-direction:column;display:flex}.tempo-marking-header{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.tempo-marking-item{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);background:var(--page-2)}.tempo-marking-row,.tempo-marking-row-primary,.tempo-marking-row-secondary{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.tempo-marking-row-secondary{margin-top:var(--s-2)}.bookmark-content{gap:var(--s-2);flex-direction:column;display:flex}.bookmark-header{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.bookmark-item{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);background:var(--page-2)}.bookmark-row,.bookmark-row-primary,.bookmark-row-secondary{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.bookmark-row-secondary{margin-top:var(--s-2)}.bookmark-label-group{flex:100%}.bookmark-apply-row{margin-top:var(--s-2);padding-left:var(--s-3);border-left:2px solid var(--accent)}.bookmark-apply-group{flex:100%}.status-selector{gap:var(--s-2);flex-wrap:wrap;display:flex}.status-selector label,.status-selector button,.status-option{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-2) var(--s-3);cursor:pointer;font-size:var(--fs-5);color:var(--text-2);background:0 0;transition:all .18s;display:inline-flex}.status-selector label:hover{border-color:var(--accent)}.status-option-dot{background:var(--text-3);border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.status-option-pending_study .status-option-dot{background:var(--warn)}.status-option-studying .status-option-dot{background:var(--brass)}.status-option-repertoire .status-option-dot{background:var(--ok)}.status-selector input:checked+.status-option-label,.status-option-label{color:var(--text)}.kind-field{gap:var(--s-2)}.kind-selector{gap:var(--s-2);flex-wrap:wrap;display:flex}.kind-selector label{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-2) var(--s-3);cursor:pointer;font-size:var(--fs-5);color:var(--text-2);background:0 0;transition:all .18s;display:inline-flex}.kind-selector label:hover{border-color:var(--accent)}.kind-option-selected{border-color:var(--accent);background:var(--accent-fill)}.kind-option-selected .status-option-dot{background:var(--accent)}.kind-selector input:checked+.status-option-label{color:var(--text)}.status-option-selected{border-color:var(--accent);background:var(--accent-fill)}.status-option-selected .status-option-dot{background:var(--accent)}.kind-selector input[type=radio]{width:1px;height:1px;margin:calc(-1 * var(--s-0));clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.status-selector input[type=radio]{width:1px;height:1px;margin:calc(-1 * var(--s-0));clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.kind-selector label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.status-selector label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.kind-status-block{margin-top:var(--s-4-5);padding-top:var(--s-4);border-top:1px solid var(--line);gap:var(--s-2);flex-direction:column;display:flex}.type-choice-step{gap:var(--s-5);flex-direction:column;display:flex}.type-choice-intro{gap:var(--s-2);flex-direction:column;display:flex}.type-choice-intro p{color:var(--text-2);max-width:54ch}.type-choice-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.type-choice{align-items:flex-start;gap:var(--s-3);text-align:left;padding:var(--s-5) var(--s-4-5);background:var(--surface);border:1px solid var(--line-strong);border-top:2px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.type-choice:hover{box-shadow:var(--shadow-1);transform:translateY(-3px)}.type-choice-glyph{font-family:var(--font-display);font-size:var(--fs-1);border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;line-height:1;display:inline-flex}.type-choice-name{font-family:var(--font-display);font-size:var(--fs-3);color:var(--text);font-weight:500}.type-choice-desc{color:var(--text-2);font-size:var(--fs-5);line-height:1.45}.type-choice-score{border-top-color:var(--brass)}.type-choice-score:hover{border-color:var(--brass)}.type-choice-score .type-choice-glyph{color:var(--brass);border-color:var(--brass-edge);background:var(--brass-fill)}.type-choice-exercise{border-top-color:var(--ok)}.type-choice-exercise:hover{border-color:var(--ok)}.type-choice-exercise .type-choice-glyph{color:var(--ok);border-color:var(--ok);background:var(--ok-fill)}.entry-type-banner{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.entry-type-eyebrow{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.26em;font-weight:500}.entry-type-eyebrow-score{color:var(--brass)}.entry-type-eyebrow-exercise{color:var(--ok)}.entry-change-type{font-family:var(--font-mono);font-size:var(--fs-6);letter-spacing:.04em;color:var(--text-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:var(--s-1) var(--s-3);cursor:pointer;background:0 0;transition:border-color .18s,color .18s}.entry-change-type:hover{border-color:var(--accent);color:var(--text)}.objective-field{padding-top:var(--s-1)}.objective-label{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text)}.objective-textarea{resize:vertical;min-height:5.5rem}.focus-chip-label{width:fit-content;font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--ok);border:1px solid var(--ok);background:var(--ok-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.exercise-card-objective{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.exercise-focus-chip{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--ok);border:1px solid var(--ok);background:var(--ok-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2);align-items:center;display:inline-flex}.library_entry-status-badge{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-2);border:1px solid var(--line-strong);background:var(--page-2);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2);align-items:center;display:inline-flex}.library_entry-status-badge-pending_study{color:var(--warn);border-color:var(--warn);background:var(--page-2)}.library_entry-status-badge-studying{color:var(--brass);border-color:var(--brass-edge);background:var(--brass-fill)}.library_entry-status-badge-repertoire{color:var(--ok);border-color:var(--ok);background:var(--ok-fill)}.links-form{gap:var(--s-3);flex-direction:column;display:flex}.links-list{gap:var(--s-2);flex-direction:column;display:flex}.link-item{justify-content:space-between;align-items:center;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);background:var(--page-2);display:flex}.link-item-info{gap:var(--s-0);flex-direction:column;min-width:0;display:flex}.link-item-label{font-weight:600;font-size:var(--fs-5);color:var(--text)}.link-item-url{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:32ch;overflow:hidden}.library_entry-selector,.library_entry-form,.inline-library_entry-form{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4-5);background:var(--page-2)}.selected-library_entries{gap:var(--s-2);flex-direction:column;display:flex}.selector-list{gap:var(--s-1);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.selector-item{justify-content:space-between;align-items:center;gap:var(--s-3);text-align:left;width:100%;font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-3);background:var(--surface);cursor:pointer;transition:border-color .18s;display:flex}.selector-item:hover{border-color:var(--accent-edge)}.selector-title{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text)}.selector-author{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.selector-inline-create{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.sessions-grid{counter-reset:setlist-entry;flex-direction:column;display:flex}.session-card{counter-increment:setlist-entry;padding:var(--s-5) 0 var(--s-5) var(--s-7);gap:var(--s-3);border-top:1px solid var(--line);flex-direction:column;transition:background .18s;display:flex;position:relative}.sessions-grid>.session-card:first-child{border-top:1px solid var(--line-strong)}.session-card:before{content:counter(setlist-entry, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-5);color:var(--brass);position:absolute;top:1.75rem;left:0}.session-card:hover{background:var(--accent-fill)}.session-card-topline{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.session-card-content{gap:var(--s-2);flex-direction:column;display:flex}.session-card h3,.session-card-content h3{font-family:var(--font-display);font-size:var(--fs-3);font-weight:500}.session-card-summary,.session-description{font-size:var(--fs-5);color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.session-description-empty{color:var(--text-3);font-style:italic}.session-meta,.session-meta-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.session-meta-quiet{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.session-meta-duration{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.session-actions{gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--line);flex-wrap:wrap;margin-top:auto;display:flex}.session-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.session-form-full{gap:var(--s-4);flex-direction:column;display:flex}.slideover-overlay{z-index:1000;background:color-mix(in srgb, var(--page-2) 78%, transparent);-webkit-backdrop-filter:blur(6px);justify-content:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.slideover-panel{background:var(--surface);border-left:1px solid var(--line-strong);width:min(100%,clamp(560px,62vw,1200px));height:100%;box-shadow:var(--shadow-2);flex-direction:column;animation:.3s both slide-in-right;display:flex}.slideover-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-5) var(--s-5);border-bottom:1px solid var(--line);flex:none;display:flex}.slideover-heading{gap:var(--s-1);flex-direction:column;display:flex}.slideover-heading h2{font-size:var(--fs-2);font-weight:500}.slideover-body{padding:var(--s-5);flex:auto;overflow-y:auto}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.slideover-topbar{align-items:center;gap:var(--s-1);padding:calc(var(--s-2) + env(safe-area-inset-top)) var(--s-3) var(--s-2);border-bottom:1px solid var(--line);flex:none;display:flex}.slideover-back{border-radius:var(--r-md);min-width:48px;min-height:48px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.slideover-back-chevron{font-size:var(--fs-2);line-height:1}.slideover-topbar-title{font-family:var(--font-display);font-size:var(--fs-3);font-weight:500}.bottom-nav{z-index:900;justify-content:space-around;align-items:stretch;gap:var(--s-1);padding:var(--s-1) var(--s-2) calc(var(--s-1) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line-strong);box-shadow:var(--shadow-2);display:flex;position:fixed;inset:auto 0 0}.dashboard:has(>.bottom-nav) .dashboard-content{padding-bottom:calc(var(--s-8) + env(safe-area-inset-bottom))}.bottom-nav-item{justify-content:center;align-items:center;gap:var(--s-0);min-height:56px;padding:var(--s-1) var(--s-1);border-radius:var(--r-md);color:var(--text-3);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1 1 0;transition:color .18s,background .18s;display:flex}.bottom-nav-item:hover{color:var(--text-2)}.bottom-nav-item.active{color:var(--on-accent);background:var(--accent)}.bottom-nav-label{font-size:var(--fs-6);letter-spacing:.01em;font-weight:600}.inline-confirm{gap:var(--s-4);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--s-4-5) var(--s-4-5);margin:var(--s-4-5) 0;box-shadow:var(--shadow-1);border-left-width:3px;flex-direction:column;animation:.25s both rise;display:flex}.inline-confirm-warn{border-left-color:var(--warn)}.inline-confirm-danger{border-left-color:var(--err)}.inline-confirm-copy{gap:var(--s-1);flex-direction:column;display:flex}.inline-confirm-title{font-size:var(--fs-3);font-weight:500}.inline-confirm-warn .inline-confirm-title{color:var(--warn)}.inline-confirm-danger .inline-confirm-title{color:var(--err)}.inline-confirm-body{color:var(--text-2);font-size:var(--fs-4);line-height:1.5}.inline-confirm-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}@media (width>=720px){.inline-confirm{flex-direction:row;justify-content:space-between;align-items:center}.inline-confirm-actions{flex-shrink:0}}.practice-preview-page{width:100%}.practice-preview-layout{gap:var(--s-7);grid-template-columns:1.3fr .7fr;display:grid}.practice-preview-sidebar{border-left:1px solid var(--line);padding-left:var(--s-6)}.practice-preview-shell,.practice-preview-sidebar{gap:var(--s-4-5);flex-direction:column;display:flex}.practice-preview-hero{justify-content:space-between;align-items:flex-start;gap:var(--s-5);padding-bottom:var(--s-4-5);border-bottom:1px solid var(--line-strong);flex-wrap:wrap;display:flex}.practice-preview-hero-topline{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.practice-preview-hero-chip,.practice-preview-panel-pill,.practice-preview-step-pill{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.practice-preview-hero-copy{color:var(--text-2)}.practice-preview-lead{font-family:var(--font-display);font-size:var(--fs-2);margin-bottom:var(--s-2);font-weight:500}.practice-preview-focus-card{text-align:right;flex-shrink:0}.practice-preview-focus-card strong{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--accent)}.practice-preview-focus-label{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:var(--s-1);display:block}.practice-preview-focus-card p{max-width:20ch;font-size:var(--fs-6);color:var(--text-3);margin-top:var(--s-1)}.practice-preview-panel,.practice-preview-itinerary-panel,.practice-preview-comments-panel,.practice-preview-note-panel{border-top:1px solid var(--line);padding-top:var(--s-4-5)}.practice-preview-panel-head,.practice-preview-panel-kicker{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.practice-preview-panel-kicker{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.18em;color:var(--brass)}.practice-preview-itinerary{flex-direction:column;display:flex}.practice-preview-itinerary-item{align-items:start;gap:var(--s-4);grid-template-columns:auto 1fr auto;display:grid}.practice-preview-step-duration{text-align:right;padding-top:var(--s-0)}.practice-preview-itinerary-item.is-rest{opacity:.85}.practice-preview-step-rail{align-items:center;gap:var(--s-1);flex-direction:column;display:flex}.practice-preview-step-badge{border:1px solid var(--accent-edge);background:var(--accent-fill);width:30px;height:30px;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-5);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.practice-preview-step-line{background:var(--line-strong);flex:1;width:1px;min-height:22px}.practice-preview-step-copy{padding-bottom:var(--s-4-5);gap:var(--s-1);flex-direction:column;display:flex}.practice-preview-step-topline{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-preview-step-icon{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-preview-step-kind{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.practice-preview-step-kind.is-rest{color:var(--warn)}.practice-preview-step-title{font-family:var(--font-display);font-size:var(--fs-3);color:var(--text)}.practice-preview-step-subtitle{font-size:var(--fs-5);color:var(--text-2)}.practice-preview-step-duration{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-preview-comments-stack{gap:var(--s-3);flex-direction:column;display:flex}.practice-preview-comment-card{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.practice-preview-comments-stack .practice-preview-comment-card:first-child{border-top:1px solid var(--line)}.practice-preview-comment-topline,.practice-preview-comment-session{align-items:center;gap:var(--s-2);display:flex}.practice-preview-comment-date{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-preview-empty-comments{color:var(--text-3);font-style:italic;font-size:var(--fs-5)}.practice-preview-summary-grid{gap:var(--s-0);background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);margin:var(--s-5) 0;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.practice-preview-summary-card{background:var(--page);padding:var(--s-3) var(--s-4);gap:var(--s-0);flex-direction:column;display:flex}.practice-preview-summary-card span{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.practice-preview-summary-card strong{font-family:var(--font-mono);font-size:var(--fs-2);color:var(--text)}.practice-preview-summary-card p{font-size:var(--fs-5);color:var(--text-2)}.practice-preview-footer{margin-top:var(--s-2)}.practice-preview-footer-kicker{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.18em;color:var(--brass)}.practice-preview-footer-copy{color:var(--text-2);font-size:var(--fs-5)}.practice-preview-actions{gap:var(--s-3);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.practice-run-page{min-height:100vh;padding:var(--s-6)}.practice-run-shell{max-width:1280px;margin:0 auto}.practice-run-hero{gap:var(--s-5);padding:0 0 var(--s-5);border-bottom:1px solid var(--line-strong);margin-bottom:var(--s-6);grid-template-columns:1.4fr .6fr;display:grid}.practice-run-hero-copy,.practice-run-hero-aside{z-index:1;position:relative}.practice-run-hero-topline{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.practice-run-hero-chip{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.practice-run-hero-copy h1{font-size:var(--display-lg);margin-bottom:var(--s-2);font-weight:400}.practice-run-hero-metrics{gap:var(--s-5);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.practice-run-hero-metric{gap:var(--s-0);flex-direction:column;display:flex}.practice-run-hero-metric strong,.practice-run-hero-metric .numeric-readout{font-family:var(--font-mono);font-size:var(--fs-2);color:var(--accent);line-height:1}.practice-run-grid{gap:var(--s-5);grid-template-columns:1.5fr 1fr;align-items:start;display:grid}.practice-stage,.practice-sidebar{gap:var(--s-4-5);flex-direction:column;display:flex}.practice-completed-card,.practice-pdf-viewer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5)}.practice-panel-header,.practice-control-head,.practice-panel-head,.comment-sidebar-header,.practice-comments-header,.practice-completed-head,.practice-pdf-viewer-header,.practice-metronome-visualizer-topline{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.practice-panel,.practice-control-card,.comment-sidebar-panel{border-top:1px solid var(--line);padding-top:var(--s-4-5)}.practice-panel-highlight{border-top-color:var(--accent)}.practice-panel-highlight .practice-preview-panel-kicker{color:var(--accent)}.practice-panel-highlight-soft{border-top-style:dashed}.practice-metronome-panel{padding-top:var(--s-2)}.practice-metronome-readout{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--text);text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.practice-metronome-settings{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.practice-metronome-visualizer{gap:var(--s-2);padding:var(--s-4-5) 0;flex-wrap:wrap;justify-content:center;display:flex}.practice-metronome-pulse{border:1px solid var(--line-strong);background:var(--page-2);width:38px;height:38px;color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-5);border-radius:50%;justify-content:center;align-items:center;transition:transform 80ms,background 80ms,color 80ms,border-color 80ms,box-shadow 80ms;display:flex}.practice-metronome-pulse.is-group-start,.practice-metronome-pulse.is-accent{border-color:var(--brass-edge);color:var(--brass)}.practice-metronome-pulse.is-current{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-fill);transform:scale(1.18)}.practice-metronome-pulse.is-current.is-subdivision{background:var(--accent-fill);color:var(--accent);box-shadow:none;transform:scale(1.08)}.practice-controls-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.practice-actions-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.practice-toggle,.practice-toggle-compact{align-items:center;gap:var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);cursor:pointer;font-size:var(--fs-5);color:var(--text-2);background:0 0;transition:all .18s;display:inline-flex}.practice-toggle:hover,.practice-toggle-compact:hover{border-color:var(--accent);color:var(--accent)}.practice-toggle input,.practice-toggle-compact input{width:auto;accent-color:var(--accent)}.practice-countdown-block,.practice-countdown-block-static{font-family:var(--font-mono);font-size:var(--fs-timer);text-align:center;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:var(--s-4) 0;font-weight:600}.practice-countdown-block,.practice-meta-card-accent strong{color:var(--accent)}.practice-meta-card-rest strong{color:var(--warn)}.practice-item-header,.practice-item-topline{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-item-heading{font-family:var(--font-display);font-size:var(--fs-2);font-weight:500}.practice-item-kicker{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.18em;color:var(--brass)}.practice-item-order-pill{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.practice-item-meta-grid{gap:var(--s-0);background:var(--line);border:1px solid var(--line);margin:var(--s-4) 0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.practice-progress-rail{margin-bottom:var(--s-6);border-top:1px solid var(--line);flex-direction:column;display:flex}.practice-progress-step{align-items:center;gap:var(--s-3);padding:var(--s-2) 0 var(--s-2) var(--s-3);border-bottom:1px solid var(--line);border-left:2px solid transparent;transition:border-color .18s;display:flex}.practice-progress-numeral{font-family:var(--font-mono);font-size:var(--fs-5);color:var(--text-3);flex-shrink:0;width:2.6rem}.practice-progress-label{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text-2)}.practice-progress-step.is-current{border-left-color:var(--accent)}.practice-progress-step.is-current .practice-progress-numeral,.practice-progress-step.is-current .practice-progress-label{color:var(--accent)}.practice-progress-step.is-completed .practice-progress-numeral{color:var(--ok)}.practice-progress-step.is-completed .practice-progress-label{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.practice-note-inline{color:var(--text-3);font-size:var(--fs-5);font-style:italic}.practice-comments-list,.comment-sidebar-list{flex-direction:column;display:flex}.practice-comment-card{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.practice-comments-list .practice-comment-card:first-child,.practice-completed-list .practice-comment-card:first-child{border-top:1px solid var(--line)}.comment-sidebar-copy{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);background:var(--page-2)}.practice-comment-card-header,.practice-comment-topline,.practice-comment-meta-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:space-between;display:flex}.practice-comment-card-rich{color:var(--text-2);white-space:pre-wrap;line-height:1.55}.practice-comment-pill,.practice-comment-badge,.comment-sidebar-pill{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.comment-sidebar-pill-muted,.practice-comment-status{color:var(--text-3);border-color:var(--line);background:var(--page-2)}.comment-sidebar-pill-group{gap:var(--s-1);flex-wrap:wrap;display:flex}.practice-comment-delete-btn{color:var(--text-3);cursor:pointer;font-size:var(--fs-5);padding:var(--s-0);background:0 0;border:none;transition:color .18s}.practice-comment-delete-btn:hover{color:var(--err)}.comment-sidebar-panel{position:sticky;top:1.5rem}.practice-completed-card{text-align:center;border-color:var(--ok);background:var(--ok-fill)}.practice-completed-list{gap:var(--s-2);margin-top:var(--s-4);text-align:left;flex-direction:column;display:flex}.practice-expired-banner{background:var(--warm-fill);border:1px solid var(--warm-edge);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);color:var(--warm);font-size:var(--fs-5);margin-bottom:var(--s-4)}.practice-close{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-width:640px;padding:var(--s-7) var(--s-6);box-shadow:var(--shadow-1);gap:var(--s-4);flex-direction:column;margin:0 auto;display:flex}.practice-close-title{font-family:var(--font-display);font-size:var(--fs-1);color:var(--text);font-weight:700}.practice-close-summary{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:var(--fs-4)}.practice-close-reflect{margin-top:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.practice-close-question{font-family:var(--font-display);font-size:var(--fs-2);color:var(--text);font-weight:600}.practice-close-note{resize:vertical;min-height:6rem}.practice-close-actions{gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.practice-focus{align-items:center;gap:var(--s-4);padding:var(--s-5) 0 var(--s-6);text-align:center;flex-direction:column;display:flex}.practice-focus-now{align-items:center;gap:var(--s-1);flex-direction:column;display:flex}.practice-focus-timer{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:var(--fs-timer);color:var(--text);font-weight:600;line-height:1}.practice-focus-title{font-family:var(--font-display);font-size:var(--fs-3);color:var(--text);font-weight:600}.practice-focus-next{font-size:var(--fs-5);color:var(--text-2)}.practice-focus .capsule-line{width:100%;max-width:32rem}.practice-run-tools[hidden]{display:none}.practice-run-tools{margin-top:var(--s-4);margin-bottom:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}.practice-run-tools-row{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.practice-wake-lock-row{align-items:center;gap:var(--s-2);font-size:var(--fs-5);color:var(--text-2);flex-wrap:wrap;display:flex}.practice-wake-lock-unsupported{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.editor-main-column,.editor-sidebar-column{gap:var(--s-4-5);flex-direction:column;display:flex}.practice-pdf-iframe{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);width:100%;height:70vh}.practice-pdf-fallback{align-items:center;gap:var(--s-4);padding:var(--s-6) var(--s-5);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--page-2);text-align:center;flex-direction:column;display:flex}.practice-pdf-fallback-note{max-width:34ch;font-size:var(--fs-4);color:var(--text-2);margin:0}.comment-load-more{margin-top:var(--s-2);align-self:center}.score-reader{background:var(--page);flex-direction:column;display:flex;position:fixed;inset:0}.score-reader-bar{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;flex-shrink:0;display:flex}.score-reader-chip{font-family:var(--font-body);font-size:var(--fs-5);color:var(--text);border:1px solid var(--line);border-radius:var(--r-pill);padding:var(--s-1) var(--s-3);cursor:pointer;background:0 0;flex-shrink:0}.score-reader-chip:hover:not(:disabled){border-color:var(--accent-edge);color:var(--accent)}.score-reader-chip:disabled{opacity:.4;cursor:default}.score-reader-chip--active{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.score-reader-back{margin-right:auto}.score-reader-practice{margin-left:auto}.score-reader-actions{align-items:center;gap:var(--s-1);display:flex}.score-reader-setlist{align-items:center;gap:var(--s-1);padding-right:var(--s-2);margin-right:var(--s-1);border-right:1px solid var(--line);display:flex}.score-reader-setlist-name{font-size:var(--fs-6);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}.score-reader-setlist-position{font-size:var(--fs-6);color:var(--text-3)}.score-reader-chip--handoff{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.score-reader-position,.score-reader-zoom{font-size:var(--fs-6);color:var(--text-3)}.score-reader-saving{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent)}.score-reader-stage{min-height:0;padding:var(--s-3);touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;outline:none;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.score-reader-stage--zoomed{cursor:grab}.score-reader-frame{transform-origin:50%;will-change:transform;flex-direction:column;justify-content:center;align-items:center;gap:0;height:100%;display:flex}.score-reader-frame--seam .score-page-wrap+.score-page-wrap{border-top:1px solid var(--paper-line)}.score-reader--inverted .score-page-img{filter:invert()hue-rotate(180deg)}.score-reader--immersive .score-reader-stage{padding:0}.score-page-wrap--top-half,.score-page-wrap--bottom-half{height:50%;overflow:hidden}.score-page-wrap--top-half .score-page-img,.score-page-wrap--bottom-half .score-page-img{height:200%}.score-page-wrap--top-half .score-page-img,.score-page-wrap--top-half .annotation-layer{object-position:top}.score-page-wrap--bottom-half .score-page-img,.score-page-wrap--bottom-half .annotation-layer{object-position:bottom}.score-page-wrap--bottom-half .score-page-img{transform:translateY(-50%)}.crop-preview-rect{fill:none;stroke:var(--paper-mark);stroke-width:4px;stroke-dasharray:14 10;vector-effect:non-scaling-stroke}.marking-preview-rect{fill:none;stroke:var(--paper-mark);stroke-width:3px;stroke-dasharray:10 8;vector-effect:non-scaling-stroke}.marking-system{fill:color-mix(in srgb, var(--paper-mark) 7%, transparent);stroke:var(--paper-mark);stroke-width:2px;vector-effect:non-scaling-stroke}.marking-system--selected{fill:color-mix(in srgb, var(--paper-mark) 16%, transparent);stroke-width:4px}.marking-system--reference{fill:none;stroke-opacity:.55}.marking-measure--chosen{fill:color-mix(in srgb, var(--paper-mark) 22%, transparent);stroke:var(--paper-mark-deep);stroke-width:3px;vector-effect:non-scaling-stroke}.marking-system--review{fill:color-mix(in srgb, var(--warn) 10%, transparent);stroke:var(--warn);stroke-dasharray:8 6}.marking-barline{stroke:var(--paper-mark);stroke-width:2px;opacity:.8;vector-effect:non-scaling-stroke}.marking-barline--editable{stroke-width:4px;opacity:1}.marking-barline--dragging{stroke:var(--paper-mark-deep)}.marking-edge-preview{fill:color-mix(in srgb, var(--paper-mark) 10%, transparent);stroke:var(--paper-mark-deep);stroke-width:3px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.marking-measure-number{fill:var(--paper-mark);font-size:var(--fs-2);paint-order:stroke;stroke:var(--paper);stroke-width:4px;vector-effect:non-scaling-stroke;font-weight:600}.marking-bar{gap:var(--s-1);padding:var(--s-2) var(--s-3);border-top:1px solid var(--line);background:var(--page-2);flex-direction:column;flex-basis:100%;display:flex}.marking-controls{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.marking-status{align-items:center;gap:var(--s-2);min-width:0;min-height:40px;display:flex}.marking-status>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.marking-stepper,.marking-first{align-items:center;gap:var(--s-1);display:flex}.marking-label{color:var(--text-2);font-size:var(--fs-5)}.marking-count{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:600}.marking-first input{width:5rem}.marking-hint,.marking-notice,.marking-total{color:var(--text-2);font-size:var(--fs-5)}.marking-notice{color:var(--accent-deep);font-weight:600}.marking-total{font-variant-numeric:tabular-nums;margin-left:auto}.marking-warning{color:var(--warn);font-size:var(--fs-5);font-weight:600}.marking-error{color:var(--err);font-size:var(--fs-5)}.marking-control--reserved{visibility:hidden;pointer-events:none}.jump-badge{fill:var(--paper);stroke:var(--paper-mark-deep);stroke-width:3px;vector-effect:non-scaling-stroke}.jump-badge--selected{fill:color-mix(in srgb, var(--paper-mark-deep) 25%, var(--paper));stroke-width:5px}.jump-badge--unresolved{stroke:var(--err);stroke-dasharray:6 5}.jump-badge-sign{fill:var(--paper-mark-deep);font-size:var(--fs-3);paint-order:stroke;stroke:var(--paper);stroke-width:3px;vector-effect:non-scaling-stroke;font-weight:700}.practice-cursor-bar{fill:color-mix(in srgb, var(--paper-now) 18%, transparent);pointer-events:none}.practice-cursor-head{stroke:var(--paper-now-ink);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.practice-cursor-bar--held{stroke:var(--paper-now-ink);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.practice-cursor-grip{z-index:5;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;position:absolute}.practice-cursor-grip:before{content:"";left:var(--head,0%);width:48px;height:56px;position:absolute;top:-44px;transform:translate(-50%)}.practice-cursor-grip--held{cursor:grabbing}.practice-cursor-handle{--pin:22px;z-index:6;width:var(--pin);height:var(--pin);box-sizing:border-box;border:2px solid var(--paper);background:var(--paper-now-ink);box-shadow:var(--paper-pin-shadow);pointer-events:none;transform:translate(-50%, -50%) translateY(calc(var(--pin) * -.62)) rotate(-45deg);transform-origin:50%;border-radius:50% 50% 50% 0;transition:transform .12s ease-out,box-shadow .12s ease-out;position:absolute}.practice-cursor-handle:after{content:"";background:var(--paper);border-radius:50%;width:6px;height:6px;margin:auto;position:absolute;inset:0}.practice-cursor-handle--held{transform:translate(-50%, -50%) translateY(calc(var(--pin) * -.74)) rotate(-45deg) scale(1.18);box-shadow:var(--paper-pin-shadow-held)}@media (prefers-reduced-motion:reduce){.practice-cursor-handle{transition:none}}.setlist-move{align-items:center;gap:var(--s-1);margin-right:var(--s-2);display:inline-flex}.setlist-position{text-align:center;min-width:1.6rem;font-size:var(--fs-5);color:var(--accent)}.setlist-move-up,.setlist-move-down{padding:var(--s-1) var(--s-2);line-height:1}.setlist-move-up:disabled,.setlist-move-down:disabled{opacity:.35;cursor:default}.practice-upsell-list{margin:0 0 var(--s-3) var(--s-4-5);gap:var(--s-1);color:var(--text-2);flex-direction:column;display:flex}.practice-prev-btn{min-inline-size:7rem}.jump-badge-engraved{fill:none;stroke:var(--paper-mark-deep);stroke-width:3px;stroke-dasharray:6 6;opacity:.7;vector-effect:non-scaling-stroke}.jump-origin-pending{fill:color-mix(in srgb, var(--paper-mark-deep) 14%, transparent);stroke:var(--paper-mark-deep);stroke-width:3px;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.jump-badge-glyph{stroke:var(--paper-mark-deep);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.jump-badge-target{fill:var(--paper-mark-deep);font-size:var(--fs-2);paint-order:stroke;stroke:var(--paper);stroke-width:5px;vector-effect:non-scaling-stroke;font-weight:600}.jump-target{stroke:var(--paper-mark-deep);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.jump-target--selected{stroke-width:5px}.jump-landing-from{fill:var(--paper-mark-deep);font-size:var(--fs-3);paint-order:stroke;stroke:var(--paper);stroke-width:4px;vector-effect:non-scaling-stroke;font-weight:600}.jump-repeat-thick,.jump-repeat-thin{stroke:var(--paper-mark-deep);stroke-linecap:butt;vector-effect:non-scaling-stroke}.jump-repeat-thick{stroke-width:3px}.jump-repeat-thin{stroke-width:1.5px}.jump-repeat-dot{fill:var(--paper-mark-deep)}.jump-repeat--selected .jump-repeat-thick{stroke-width:4.5px}.jump-repeat--selected .jump-repeat-thin{stroke-width:2.5px}.jump-ending{stroke:var(--paper-mark-deep);stroke-width:2.5px;vector-effect:non-scaling-stroke}.jump-ending-number{fill:var(--paper-mark-deep);font-size:var(--fs-4);paint-order:stroke;stroke:var(--paper);stroke-width:4px;vector-effect:non-scaling-stroke;font-weight:700}.jump-preview{font-variant-numeric:tabular-nums;font-size:var(--fs-5);color:var(--accent-deep);font-weight:600}.jump-preview-label{margin-right:var(--s-2);color:var(--text-2);font-weight:500}.jump-repeat-pair{fill:var(--accent-deep);font-size:var(--fs-3);paint-order:stroke;stroke:var(--paper);stroke-width:4px;vector-effect:non-scaling-stroke;font-weight:700}.jump-bar{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-top:1px solid var(--line);background:var(--page-2);flex-wrap:wrap;display:flex}.jump-kinds{gap:var(--s-1);flex-wrap:wrap;display:flex}.jump-hint,.jump-playback{color:var(--text-2);font-size:var(--fs-5)}.jump-hint--active{color:var(--accent-deep);font-weight:600}.jump-playback{font-variant-numeric:tabular-nums;margin-left:auto}.jump-control--reserved{visibility:hidden;pointer-events:none}.jump-warning{color:var(--warn);font-size:var(--fs-5)}.jump-error{color:var(--err);font-size:var(--fs-5)}.jump-row{align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.jump-row--selected{background:var(--accent-fill)}.jump-row-sign{min-width:3.2rem;padding:var(--s-1) var(--s-1);border:1px solid var(--accent-edge);border-radius:var(--r-sm);background:var(--surface);color:var(--accent-deep);cursor:pointer;font-weight:700}.jump-row-sign:hover{border-color:var(--accent-deep)}.jump-row-measures{font-variant-numeric:tabular-nums}.jump-row-pass{color:var(--text-2);font-size:var(--fs-5)}.jump-row-unresolved{color:var(--err);font-size:var(--fs-5)}.jump-row-actions{align-items:center;gap:var(--s-1);margin-left:auto;display:flex}.jump-row-pass-value{text-align:center;min-width:2ch;font-weight:600}.jump-row-label{align-items:center;gap:var(--s-1);flex-basis:100%;display:flex}.jump-row-label input{flex:1}.score-viewer-message{text-align:center;padding:var(--s-7) var(--s-6);border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--page-2);color:var(--text-2)}.score-viewer-message--failed{border-color:var(--err-edge);background:var(--err-fill)}.score-viewer-error-title{font-size:var(--fs-3);color:var(--err);margin-bottom:var(--s-2)}.score-viewer-error-detail{font-family:var(--font-mono);font-size:var(--fs-5);color:var(--text-3)}.score-status-chip--ready{color:var(--ok);border-color:var(--ok);background:var(--ok-fill)}.score-status-chip--processing,.score-status-chip--pending{color:var(--accent);border-color:var(--accent-edge);background:var(--accent-fill)}.score-status-chip--failed{color:var(--err);border-color:var(--err-edge);background:var(--err-fill)}.score-page-wrap{border:1px solid var(--paper-line);border-radius:var(--r-md);background:var(--paper);max-width:100%;max-height:100%;box-shadow:var(--paper-glow);position:relative;overflow:hidden}.score-page-img{object-fit:contain;width:100%;height:100%;display:block}.score-page-loading{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--paper-muted)}.score-page-ghost{border:1px dashed var(--line-strong);border-radius:var(--r-md);width:100%;max-width:820px;padding:var(--s-6) var(--s-6);background:var(--page-2);gap:var(--s-5);flex-direction:column;display:flex}.score-ghost-staff{gap:var(--s-5);flex-direction:column;display:flex}.score-ghost-line{background-image:repeating-linear-gradient(to bottom, var(--staff) 0, var(--staff) 1px, transparent 1px, transparent 2.4px);height:9px}.score-ghost-caption{text-align:center;font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3);letter-spacing:.04em}.score-upload-section{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4-5);background:var(--page-2);margin-bottom:var(--s-5)}.score-upload-input input[type=file]{display:none}.score-upload-input{margin-top:var(--s-4)}.score-upload-status{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--accent);margin-top:var(--s-3)}.score-upload-progress{margin-left:var(--s-2);color:var(--text-2)}.score-upload-error{color:var(--err);font-size:var(--fs-5);margin-top:var(--s-3)}.annotation-toolbar{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);z-index:5;box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex;position:sticky;top:1rem}.annotation-tools{gap:var(--s-1);display:flex}.annotation-tools button,.annotation-tool{min-width:38px;height:38px;padding:0 var(--s-2);font-size:var(--fs-5);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.annotation-tools button:hover,.annotation-tools button.active,.annotation-tool:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.annotation-palette{gap:var(--s-1);display:flex}.annotation-palette button{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:24px;height:24px;padding:0}.annotation-palette button.active{border-color:var(--text);transform:scale(1.12)}.annotation-layer{z-index:3;pointer-events:all;width:100%;height:100%;position:absolute;inset:0}.annotation-layer *{pointer-events:none}.annotation-text-overlay{z-index:4;position:absolute}.annotation-text-card{background:var(--surface);border:1px solid var(--accent-edge);border-radius:var(--r-md);padding:var(--s-3);box-shadow:var(--shadow-2);min-width:240px}.annotation-text-kicker{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--brass);margin-bottom:var(--s-2);display:block}.annotation-text-actions{gap:var(--s-2);margin-top:var(--s-3);justify-content:flex-end;display:flex}.annotation-note-text{white-space:pre-wrap;color:var(--text);font-size:var(--fs-5)}.ink-toolbar{align-items:center;gap:var(--s-1) var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;flex-shrink:0;display:flex}.ink-tools,.ink-presets,.ink-chips,.ink-eraser-modes,.ink-sliders{align-items:center;gap:var(--s-1);flex-wrap:wrap;display:flex}.ink-sliders{gap:var(--s-1) var(--s-3)}.ink-tool{min-height:40px;padding:0 var(--s-3);font-family:var(--font-body);font-size:var(--fs-6);white-space:nowrap;color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);background:0 0;align-items:center;display:inline-flex}.ink-tool:hover:not(:disabled){color:var(--text);border-color:var(--accent-edge)}.ink-tool:disabled{opacity:.35;cursor:default}.ink-tool--active,.ink-tool--active:hover:not(:disabled){color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.ink-preset{border:2px solid var(--line-strong);border-radius:var(--r-sm);background:var(--swatch-color,var(--accent));cursor:pointer;-webkit-tap-highlight-color:transparent;width:36px;height:36px;transition:transform var(--motion-fast) var(--ease-spring);padding:0}.ink-preset--active{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-fill-2);transform:scale(1.1)}.ink-chip{align-items:center;gap:var(--s-1);min-height:40px;padding:0 var(--s-3);font-family:var(--font-body);font-size:var(--fs-6);white-space:nowrap;color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);background:0 0;display:inline-flex}.ink-chip:hover:not(:disabled){color:var(--text);border-color:var(--accent-edge)}.ink-chip:disabled{opacity:.35;cursor:default}.ink-chip--active{color:var(--accent);border-color:var(--accent);background:var(--accent-fill)}.ink-chip--danger{color:var(--err);border-color:var(--err-edge);background:var(--err-fill)}.ink-slider{align-items:center;gap:var(--s-2);display:inline-flex}.ink-slider-label{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}.ink-slider input[type=range]{width:118px;height:40px;accent-color:var(--accent);cursor:pointer}.ink-hint{font-size:var(--fs-6);color:var(--text-3)}.ink-pen-only{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-edge);border-radius:var(--r-pill);padding:var(--s-1) var(--s-2)}.ink-sync{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);font-family:var(--font-mono);font-size:var(--fs-6);white-space:nowrap;color:var(--text-3);border:1px solid var(--line);border-radius:var(--r-pill);margin-left:auto;display:inline-flex}.ink-sync .ink-chip{min-height:32px;padding:0 var(--s-2);font-size:var(--fs-6)}.ink-sync--pending{color:var(--accent);border-color:var(--accent-edge);background:var(--accent-fill)}.ink-sync--failed{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--warn) 15%, transparent);font-weight:600}.ink-sync--dropped{color:var(--err);text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--err);background:var(--err-fill);animation:ink-sync-alert 1.8s var(--ease-standard) infinite;font-weight:600}@keyframes ink-sync-alert{0%,to{box-shadow:0 0 0 0 var(--err-fill)}55%{box-shadow:0 0 0 6px transparent}}.reader-drawer{z-index:20;background:var(--surface);border-left:1px solid var(--line-strong);width:min(92vw,420px);box-shadow:var(--shadow-2);animation:slide-in-right var(--motion-slow) var(--ease-out) both;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.reader-drawer-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);flex:none;display:flex}.reader-drawer-title{font-family:var(--font-display);font-size:var(--fs-3);font-weight:500}.reader-drawer-body{gap:var(--s-3);padding:var(--s-4);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.ink-drawer-error{padding:var(--s-2) var(--s-3);font-size:var(--fs-5);color:var(--err);background:var(--err-fill);border:1px solid var(--err-edge);border-radius:var(--r-sm)}.ink-layer-row{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);flex-wrap:wrap;display:flex}.ink-layer-row--active{border-color:var(--accent-edge);background:var(--accent-fill)}.ink-layer-swatch{border:2px solid var(--line-strong);background:var(--swatch-color,var(--accent));cursor:pointer;border-radius:50%;flex:none;width:30px;height:30px;padding:0}.ink-layer-name{min-width:0;font-size:var(--fs-5);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:5rem;overflow:hidden}.ink-layer-actions{align-items:center;gap:var(--s-1);flex-wrap:wrap;display:flex}.ink-layer-actions .ink-chip{min-height:36px;padding:0 var(--s-2);font-size:var(--fs-6)}.ink-confirm{gap:var(--s-2);margin-top:var(--s-1);padding-top:var(--s-2);border-top:1px solid var(--line);font-size:var(--fs-5);color:var(--text-2);flex-direction:column;flex:1 0 100%;display:flex}.ink-confirm-actions{justify-content:flex-end;gap:var(--s-2);display:flex}.ink-layer-new{align-items:center;gap:var(--s-2);margin-top:var(--s-1);display:flex}.ink-layer-new .app-input{flex:auto;min-width:0}.ink-stamp-categories{gap:var(--s-1);flex-wrap:wrap;display:flex}.ink-stamp-category{min-height:38px;padding:0 var(--s-3);font-family:var(--font-body);font-size:var(--fs-6);color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0}.ink-stamp-category--active{color:var(--accent);border-color:var(--accent);background:var(--accent-fill)}.ink-stamp-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));display:grid}.ink-stamp-button{justify-content:center;align-items:center;gap:var(--s-1);min-height:92px;padding:var(--s-2) var(--s-1);color:var(--text);background:var(--page-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}.ink-stamp-button--active{color:var(--accent);border-color:var(--accent);background:var(--accent-fill)}.ink-stamp-glyph{justify-content:center;align-items:center;width:38px;height:38px;display:flex}.ink-stamp-art{width:100%;height:100%;display:block}.ink-stamp-art path{fill:none;stroke:currentColor;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.ink-stamp-art--filled path{fill:currentColor;stroke:none}.ink-stamp-letter{font-family:var(--font-display);font-size:var(--fs-2);font-weight:600;line-height:1}.ink-stamp-label{font-size:var(--fs-6);text-align:center;color:var(--text-3);line-height:1.2}.ink-stamp-button--active .ink-stamp-label{color:var(--accent)}.ink-preset-editor{gap:var(--s-3);flex-direction:column;display:flex}.ink-toolbar .annotation-palette{gap:var(--s-1)}.ink-toolbar .annotation-swatch{width:34px;height:34px}.ink-shape,.ink-live,.ink-marquee,.ink-selection,.ink-handle,.ink-erase-rect{pointer-events:none}.ink-shape--selected{filter:drop-shadow(0 0 3px var(--paper-mark))}.ink-stamp-text{font-family:var(--font-display);font-weight:600}.ink-marquee{fill:color-mix(in srgb, var(--paper-mark) 14%, transparent);stroke:var(--paper-mark);stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px var(--paper))}.ink-selection{fill:none;stroke:var(--paper-mark);stroke-width:2px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px var(--paper))}.ink-handle{fill:var(--paper-mark);stroke:var(--paper);stroke-width:2px;vector-effect:non-scaling-stroke}.ink-erase-rect{fill:none;stroke:var(--err);stroke-width:3px;stroke-dasharray:12 8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px var(--paper))}.error-message{align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4-5);display:flex}.error-message-surface{background:var(--err-fill);border:1px solid var(--err-edge);border-radius:var(--r-md);padding:var(--s-4) var(--s-4-5)}.error-message-mark{background:var(--err);width:28px;height:28px;color:var(--page);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.error-message-copy{gap:var(--s-0);flex-direction:column;display:flex}.error-message-label{color:var(--text);font-weight:600}.error-message-body{font-size:var(--fs-5);color:var(--text-2)}.practice-run-hero-copy,.practice-run-hero-aside{gap:var(--s-4);flex-direction:column;align-items:flex-start;display:flex}.practice-run-hero-copy h2{font-size:clamp(var(--fs-2), 3vw, var(--fs-1));font-weight:400}.practice-run-hero-copy>p{color:var(--text-2)}.practice-run-hero-metric span{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.practice-run-status-chip{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);background:var(--page-2)}.practice-run-status-chip.is-paused{color:var(--warn);border-color:var(--brass-edge);background:var(--brass-fill)}.practice-run-status-chip.is-completed{color:var(--ok);border-color:var(--ok);background:var(--ok-fill)}.practice-item-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-5);flex-direction:column;display:flex}.practice-item-card.is-expired{border-color:var(--warn)}.practice-item-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4-5);flex-wrap:wrap;margin-bottom:0;display:flex}.practice-item-heading{gap:var(--s-2);font-family:var(--font-body);font-size:var(--fs-4);flex-direction:column;min-width:0;font-weight:400;display:flex}.practice-item-heading h3{font-family:var(--font-display);font-size:clamp(var(--fs-2), 2.6vw, var(--fs-1));font-weight:500;line-height:1.12}.practice-item-heading>p{font-family:var(--font-display);color:var(--text-2);font-style:italic}.practice-item-atril-link{font-family:var(--font-mono);font-size:var(--fs-6);letter-spacing:.04em;color:var(--accent);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent-edge);text-decoration-color:var(--accent-edge);background:0 0;border:none;align-self:flex-start;padding:0}.practice-item-atril-link:hover{color:var(--accent-bright)}.practice-meta-card{background:var(--surface);padding:var(--s-3) var(--s-4);gap:var(--s-1);flex-direction:column;display:flex}.practice-meta-card span{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.practice-meta-card strong{font-family:var(--font-mono);font-size:var(--fs-3);color:var(--text)}.practice-meta-card-accent strong{color:var(--accent)}.practice-countdown-block,.practice-countdown-block-static{align-items:center;gap:var(--s-0);padding:var(--s-2) var(--s-4);flex-direction:column;display:flex}.practice-countdown-block strong,.practice-countdown-block-static strong{font-family:var(--font-mono);font-size:var(--fs-1);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.practice-countdown-block-static strong{color:var(--text)}.practice-countdown-block span,.practice-countdown-block-static span{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.practice-countdown-block.is-expired strong{color:var(--err)}.practice-controls-grid{gap:var(--s-4-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.practice-control-card,.practice-panel,.practice-completed-card{gap:var(--s-4);flex-direction:column;display:flex}.practice-control-card .practice-control-head,.practice-panel .practice-panel-header,.practice-comments-list .practice-comments-header{margin-bottom:0}.practice-control-head h4,.practice-panel-header h4{font-size:var(--fs-3);margin-top:var(--s-1)}.practice-tap-tempo-btn{font-family:var(--font-body);font-size:var(--fs-4);padding:var(--s-2) var(--s-4-5);border:1px dashed var(--line-strong);border-radius:var(--r-pill);color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;font-weight:600;transition:background 80ms,border-color 80ms,box-shadow 80ms,transform 80ms}.practice-tap-tempo-btn:hover:not(:disabled){border-color:var(--accent)}.practice-tap-tempo-btn:active:not(:disabled){background:var(--accent-fill);border-color:var(--accent);box-shadow:0 0 0 6px var(--accent-fill);transform:scale(.96)}.practice-tap-tempo-btn:disabled{opacity:.5;cursor:not-allowed}.practice-tap-tempo-readout{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-tempo-control{gap:var(--s-2);flex-direction:column;display:flex}.practice-tempo-dial{align-items:center;gap:var(--s-2);padding-inline:var(--s-0);grid-template-columns:3rem minmax(0,1fr) 3rem;display:grid}.practice-tempo-nudge{border:1px solid var(--line-strong);border-radius:var(--r-pill);width:3rem;height:3rem;color:var(--text);font:600 var(--fs-2) / 1 var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:border-color var(--motion-fast) ease, color var(--motion-fast) ease, background var(--motion-fast) ease;background:0 0;place-items:center;padding:0;display:grid}.practice-tempo-nudge:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.practice-tempo-nudge:active:not(:disabled){background:var(--accent-fill)}.practice-tempo-nudge:disabled{opacity:.4;cursor:default}.practice-tempo-readout{justify-content:center;align-items:baseline;gap:var(--s-1);min-width:0;padding:0 var(--s-1) var(--s-0);border-bottom:2px solid var(--line-strong);transition:border-color var(--motion-fast) ease;display:flex}.practice-tempo-readout:focus-within{border-bottom-color:var(--accent)}.practice-tempo-dial.is-refused .practice-tempo-readout{border-bottom-color:var(--err)}.practice-tempo-figure{font-family:var(--font-display);font-size:var(--fs-2);color:var(--text-2);line-height:1}.practice-tempo-control .practice-tempo-input{width:4ch;min-width:0;max-width:none;color:var(--text);font-size:var(--fs-1);text-align:center;box-shadow:none;appearance:textfield;background:0 0;border:0;padding:0;font-weight:600;line-height:1.1}.practice-tempo-control .practice-tempo-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.practice-tempo-control .practice-tempo-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.practice-tempo-control .practice-tempo-input:focus{box-shadow:none;background:0 0;border:0;outline:none}.practice-tempo-control .practice-tempo-input:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.practice-tempo-dial.is-refused .practice-tempo-input{color:var(--err)}.practice-tempo-unit{font-family:var(--font-mono);font-size:var(--fs-6);letter-spacing:.12em;color:var(--text-3)}.practice-tempo-status{min-height:1.2em;font-size:var(--fs-5);color:var(--text-3);text-align:center;margin:0;line-height:1.2}.practice-tempo-status.is-refused{color:var(--err)}.practice-tempo-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-tempo-figure-select{flex:8rem;min-width:0}.practice-tempo-meter-select{flex:0 5.5rem;min-width:0}@media (prefers-reduced-motion:reduce){.practice-tempo-nudge,.practice-tempo-readout{transition:none}}.practice-metronome-pulse-track{gap:var(--s-2);padding:var(--s-1) 0;flex-wrap:wrap;justify-content:center;display:flex}.practice-metronome-pulse-track.is-compound{gap:var(--s-1)}.practice-metronome-pulse-track.is-compound .practice-metronome-pulse:nth-child(3n+1){margin-left:var(--s-4)}.practice-metronome-pulse-track.is-compound .practice-metronome-pulse:first-child{margin-left:0}.practice-metronome-visualizer-topline strong{font-family:var(--font-display);font-size:var(--fs-4)}.practice-metronome-visualizer-topline span{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-metronome-panel{align-items:center;gap:var(--s-4);display:flex}.practice-metronome-orb{background:var(--line-strong);border-radius:50%;flex-shrink:0;width:26px;height:26px;transition:background 80ms,box-shadow 80ms,transform 80ms}.practice-metronome-orb.is-active{background:var(--accent);box-shadow:0 0 0 6px var(--accent-fill);transform:scale(1.12)}.practice-metronome-readout{gap:var(--s-0);text-align:left;font-size:var(--fs-4);flex-direction:column;display:flex}.practice-metronome-readout strong{font-family:var(--font-mono);font-size:var(--fs-3);color:var(--text)}.practice-metronome-readout span{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.practice-completed-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4-5);flex-wrap:wrap;display:flex}.practice-completed-head>div:first-child,.practice-completed-card .practice-comment-card{gap:var(--s-1);flex-direction:column;display:flex}.practice-comment-card-current{border-left:2px solid var(--accent);background:var(--accent-fill);padding-left:var(--s-3)}.practice-toggle-disabled{opacity:.5;cursor:not-allowed}.editor-with-sidebar{gap:var(--s-5);grid-template-columns:1fr 320px;align-items:start;display:grid}.editor-with-sidebar-single{grid-template-columns:1fr}.annotation-tool--active{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.annotation-swatch{border:2px solid var(--line);cursor:pointer;background-color:var(--swatch-color,var(--accent));border-radius:50%;width:26px;height:26px;padding:0}.annotation-swatch--active{border-color:var(--text);transform:scale(1.12)}.annotation-layer--drawing{cursor:crosshair}.practice-room-layout{gap:var(--s-4);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(12rem,.24fr) minmax(0,1fr) minmax(15rem,.3fr);align-items:stretch;min-height:calc(100vh - 13rem);display:grid}.practice-room-queue,.practice-room-score,.practice-room-rail{min-width:0}.practice-room-queue{gap:var(--s-4);min-height:0;padding:var(--s-4) var(--s-4) 0 0;border-right:1px solid var(--line);flex-direction:column;display:flex}.practice-room-queue-header,.practice-room-score-header{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.practice-room-queue-header{flex-wrap:wrap;align-items:baseline}.practice-room-queue-kicker,.practice-room-queue-header h3,.practice-room-score-header h3{font-family:var(--font-display);font-size:var(--fs-2);font-weight:500;line-height:1.1}.practice-room-queue-count{color:var(--text-3);font-size:var(--fs-6)}.practice-room-queue-list{gap:var(--s-1);min-height:0;padding-right:var(--s-0);flex-direction:column;flex:auto;list-style:none;display:flex;overflow-y:auto}.practice-room-queue-item{align-items:center;gap:var(--s-3);min-height:3.2rem;padding:var(--s-2) var(--s-2);border-radius:var(--r-sm);color:var(--text-2);border:1px solid transparent;grid-template-columns:2rem minmax(0,1fr);display:grid}.practice-room-queue-item.is-current{border-color:var(--accent-edge);background:var(--accent-fill);color:var(--text)}.practice-room-queue-item.is-completed{color:var(--warm)}.practice-room-queue-marker{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--text-3);font-size:var(--fs-6);border-radius:50%;place-items:center;display:grid}.practice-room-queue-item.is-current .practice-room-queue-marker{border-color:var(--accent);color:var(--accent)}.practice-room-queue-item.is-completed .practice-room-queue-marker{border-color:var(--warm-edge);color:var(--warm)}.practice-room-queue-copy{gap:var(--s-0);flex-direction:column;min-width:0;display:flex}.practice-room-queue-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-5);font-weight:600;overflow:hidden}.practice-room-queue-status{font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.practice-room-score{gap:var(--s-3);min-height:0;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.practice-room-score-header{padding-bottom:var(--s-3);border-bottom:1px solid var(--line);flex:none;align-items:baseline}.practice-room-score-header h3{margin-top:var(--s-1);font-size:clamp(var(--fs-2), 2vw, var(--fs-1))}.practice-room-score-header p{margin-top:var(--s-1);color:var(--text-2);font-family:var(--font-display);font-style:italic}.practice-room-reader-status{padding:var(--s-2) var(--s-3);border-left:2px solid var(--accent);color:var(--text-2);background:var(--accent-fill);font-size:var(--fs-6);flex:none;margin:0}.practice-room-reader-status.is-error{justify-content:space-between;align-items:center;gap:var(--s-3);border-left-color:var(--err);background:var(--err-fill);color:var(--text);display:flex}.practice-room-linked-score{justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-3);flex-wrap:wrap;display:flex}.practice-room-linked-score a,.practice-room-reader-retry{flex:none;min-height:2.5rem}.practice-run-load-error{max-width:48rem;margin:var(--s-6) auto}.practice-room-reader{border-radius:var(--r-md);background:var(--page-2);flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.practice-room-score .score-reader{background:var(--panel);width:100%;height:100%;min-height:28rem;display:flex;position:relative;inset:auto}.practice-room-score .score-reader-stage{min-height:0;padding:var(--s-2)}.practice-room-score .score-reader-frame{max-width:100%}.practice-room-rest-card{justify-content:center;align-items:center;gap:var(--s-3);min-height:28rem;padding:var(--s-6);border:1px dashed var(--break);border-radius:var(--r-lg);background:var(--break-fill);text-align:center;flex-direction:column;flex:auto;display:flex}.practice-room-rest-card h4{font-family:var(--font-display);font-size:var(--fs-1);font-weight:500}.practice-room-rest-card p{max-width:28rem;color:var(--text-2)}.practice-room-rest-orb{border:1px solid var(--break);background:var(--break-fill);width:4rem;height:4rem;box-shadow:0 0 0 .6rem var(--break-fill);border-radius:50%}.practice-room-rail{gap:var(--s-4);min-height:0;padding-left:var(--s-0);flex-direction:column;display:flex;overflow-y:auto}.practice-room-rail-card,.practice-room-tempo-card,.practice-room-notes-card{padding-top:var(--s-3)}.practice-room-transport-toggle{min-width:6rem}.practice-room-rail-card:first-child{border-top-color:var(--accent)}.practice-room-rail-card .practice-control-head{margin-bottom:var(--s-3)}.practice-room-rail-actions{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.practice-room-comments{max-height:11rem;margin-top:var(--s-3);overflow-y:auto}.practice-room-comments .practice-comment-card{padding:var(--s-2) 0;border-top:1px solid var(--line)}.practice-room-comments .practice-comment-card:first-child{border-top:0}.takes-card{flex-direction:column;display:flex}.takes-card .takes-record-btn{align-self:flex-start}.takes-record-btn{align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-family:var(--font-body);font-size:var(--fs-5);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);background:0 0;font-weight:600;display:inline-flex}.takes-record-btn:hover{border-color:var(--action-edge);background:var(--action-fill)}.takes-record-btn:focus-visible{border-color:var(--action-edge);background:var(--action-fill)}.takes-record-btn:disabled{cursor:progress;opacity:.6}.takes-dot{background:var(--action);border-radius:50%;flex:none;width:.7rem;height:.7rem}.takes-card.is-recording .takes-dot{animation:takes-live 1.1s var(--ease-standard) infinite alternate}.takes-card.is-paused .takes-dot{background:var(--break)}@keyframes takes-live{0%{opacity:1}to{opacity:.3}}.takes-live{align-items:center;gap:var(--s-2);display:flex}.takes-live-label{color:var(--action-ink);font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.08em;text-transform:uppercase}.takes-card.is-paused .takes-live-label{color:var(--break-ink)}.takes-clock{font-family:var(--font-display);font-size:var(--fs-2);font-variant-numeric:tabular-nums;margin-left:auto;line-height:1}.takes-controls{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.takes-local-hint{margin:var(--s-3) 0 0;color:var(--text-2);font-size:var(--fs-6)}.takes-error{margin:var(--s-3) 0 0;padding:var(--s-2) var(--s-3);border:1px solid var(--err-edge);border-radius:var(--r-sm);background:var(--err-fill);color:var(--err);font-size:var(--fs-5)}.takes-list{margin:var(--s-3) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.takes-item{padding:var(--s-2) 0;border-top:1px solid var(--line)}.takes-item:first-child{border-top:0}.takes-item.is-fresh{padding-left:var(--s-3);border-left:3px solid var(--action)}.takes-item-head{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.takes-chip{padding:var(--s-0) var(--s-2);border-radius:var(--r-pill);background:var(--accent-fill);color:var(--text-2);font-size:var(--fs-6);font-variant-numeric:tabular-nums}.takes-confirm{margin-top:var(--s-3)}.takes-destructive{border-color:var(--err-edge);color:var(--err)}.take-player{gap:var(--s-1);margin-top:var(--s-2);flex-direction:column;display:flex}.take-player.is-loading{min-height:40px}.take-audio{width:100%;height:40px}[data-ambient=ink] .take-audio{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.take-speed{border:1px solid var(--line-strong);border-radius:var(--r-pill);align-self:flex-start;display:inline-flex;overflow:hidden}.take-speed-option{min-height:32px;padding:var(--s-0) var(--s-3);color:var(--text-2);font-size:var(--fs-6);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0}.take-speed-option+.take-speed-option{border-left:1px solid var(--line)}.take-speed-option.is-active{background:var(--accent);color:var(--on-accent)}.take-speed-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.takes-history{margin-bottom:var(--s-4-5)}.takes-history-head,.takes-history-day{flex-direction:column;display:flex}.takes-item-time{font-variant-numeric:tabular-nums;font-weight:600}.takes-history-head h4{margin:var(--s-1) 0 0}.takes-history-empty{margin:var(--s-3) 0 0;color:var(--text-2);font-size:var(--fs-5)}.takes-history-loader{margin-top:var(--s-3)}.takes-history-date{margin:var(--s-4) 0 0;color:var(--text-2);font-size:var(--fs-7);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.takes-delete-link{margin-top:var(--s-2);padding:var(--s-0) 0;color:var(--text-2);font-size:var(--fs-6);cursor:pointer;background:0 0;border:0;text-decoration:underline}.takes-delete-link:hover{color:var(--err)}.takes-delete-link:focus-visible{color:var(--err)}.takes-usage{margin:var(--s-4) 0 0;color:var(--text-2);font-size:var(--fs-6)}.practice-room-touch-action.is-recording:before{content:"";background:var(--action);border-radius:50%;flex:none;width:.5rem;height:.5rem}@media (prefers-reduced-motion:reduce){.takes-card.is-recording .takes-dot{animation:none}}.practice-room-continuity{gap:var(--s-3);flex-direction:column;margin-top:auto;display:flex}.practice-room-continuity .practice-panel-header{margin-bottom:0}.practice-room-continuity p{color:var(--text-2);font-size:var(--fs-5);line-height:1.5}.practice-room-continuity-facts{gap:var(--s-2) var(--s-3);color:var(--accent);font-size:var(--fs-6);flex-wrap:wrap;display:flex}.practice-room-continuity textarea{min-height:5rem}.practice-room-transport{z-index:6;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--accent-edge);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);grid-column:1/-1;grid-template-columns:minmax(14rem,.75fr) minmax(0,1.25fr);display:grid;position:sticky;bottom:0}.practice-room-transport-copy{align-items:baseline;gap:var(--s-2) var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.practice-room-transport-copy>span:not(.practice-room-cursor-readout){color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.14em;text-transform:uppercase}.practice-room-cursor-readout{color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-6);flex-basis:100%}.practice-room-transport-actions{justify-content:flex-end;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-room-transport-actions button{white-space:nowrap;min-height:2.75rem}.practice-room-transport>.inline-confirm{box-shadow:none;grid-column:1/-1;margin:0}.practice-room-touch-bar{display:none}.practice-room-panel-stack{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.practice-room-panel-stack .practice-control-card,.practice-room-panel-stack .practice-panel{margin:0}.practice-room-panel-action-hint{margin-top:var(--s-1)}@media (width>=1024px) and (width<=1199px){.practice-room-layout{gap:var(--s-3);grid-template-columns:minmax(10.5rem,.2fr) minmax(0,1fr) minmax(13rem,.28fr)}.practice-room-queue{padding-right:var(--s-3)}}.background-pause-notice{top:calc(.75rem + env(safe-area-inset-top));z-index:950;align-items:center;gap:var(--s-3);width:max-content;max-width:calc(100% - 2rem);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-2);border:1px solid var(--break);border-radius:var(--r-pill);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);animation:background-pause-in var(--motion-slow) var(--ease-standard);display:flex;position:fixed;left:50%;transform:translate(-50%)}.background-pause-glyph{box-sizing:content-box;padding:var(--s-2);background:var(--break-fill);color:var(--break-ink);border-radius:50%;flex:none}.background-pause-text{gap:var(--s-0);flex-direction:column;flex:auto;min-width:0;display:flex}.background-pause-text strong{font:600 var(--fs-4) / 1.2 var(--font-body)}.background-pause-text span{color:var(--text-2);font:400 var(--fs-5) / 1.3 var(--font-body)}.background-pause-resume{align-items:center;gap:var(--s-1);min-height:2.75rem;padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--break);color:var(--on-break);font:600 var(--fs-4) / 1 var(--font-body);cursor:pointer;border:0;flex:none;display:inline-flex}.background-pause-resume:hover{filter:brightness(1.06)}.background-pause-dismiss{width:2.75rem;height:2.75rem;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.background-pause-dismiss:hover{background:var(--accent-fill);color:var(--text)}.background-pause-resume:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.background-pause-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes background-pause-in{0%{opacity:0;transform:translate(-50%,-.5rem)}}@media (width<=479px){.background-pause-text span{display:none}}@media (prefers-reduced-motion:reduce){.background-pause-notice{animation:none}}@media (width<=1023px){.practice-room-layout.is-touch{min-height:calc(100svh - 11rem);gap:var(--s-3);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(17rem,.42fr);max-width:100%;min-height:calc(100dvh - 11rem);overflow-x:clip}.practice-room-layout.is-touch .practice-room-touch-bar{gap:var(--s-2);grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.practice-room-layout.is-touch .practice-room-queue{display:none}.practice-room-layout.is-touch .practice-room-score{grid-area:2/1;min-width:0}.practice-room-layout.is-touch .practice-room-rail{grid-area:2/2;min-width:0;padding-left:0}.practice-room-layout.is-touch .practice-room-touch-action:not(.is-queue){display:none}.practice-room-touch-action{justify-content:center;align-items:center;gap:var(--s-1);min-width:0;min-height:48px;padding:var(--s-2) var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex}.practice-room-touch-action-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.practice-room-touch-action:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.practice-room-touch-action:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.practice-room-layout.is-touch .practice-room-transport{min-width:0;padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));grid-area:3/1/auto/-1}.practice-room-layout.is-touch .practice-room-transport-actions button,.practice-room-panel-stack button,.practice-room-panel-stack select,.practice-room-panel-stack input{min-height:48px}.hero-layout,.landing-plan-grid,.dashboard-stage,.practice-run-hero,.practice-run-grid,.practice-preview-layout,.editor-with-sidebar{grid-template-columns:1fr}.overview-grid,.library-summary-grid{grid-template-columns:repeat(2,1fr)}.login-wrapper{grid-template-columns:1fr}.login-visual{display:none}.btn-primary,.btn-secondary,.dashboard-btn-primary,.btn-close,.dashboard-tab,.dashboard-settings{min-height:48px}.btn-close{min-width:48px}.landing-steps{grid-template-columns:minmax(0,1fr)}.landing-inside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=719px){.header-content,.app-header-content{padding:var(--s-3) var(--s-4-5)}.hero{padding:var(--s-9) var(--s-4) var(--s-7)}.hero-layout{gap:var(--s-7)}.hero-title{font-size:var(--fs-1)}.hero-manifesto{font-size:var(--fs-3)}.hero-subtitle{font-size:var(--fs-4)}.hero-cta .btn{width:100%}.hero-demo .today,.landing-step,.landing-plan{padding:var(--s-5)}.features,.landing-plans,.cta{padding:var(--s-8) var(--s-4)}.landing-step,.landing-inside{grid-template-columns:minmax(0,1fr)}.features-header .section-title{font-size:var(--fs-2)}.landing-inside-header{margin-top:var(--s-8)}.login-form-container{padding:var(--s-7) var(--s-4)}.login-brand{flex-wrap:wrap}.footer-content{flex-direction:column}.dashboard,.practice-run-page,.score-reader-bar{padding:var(--s-4-5)}.practice-room-layout.is-touch{min-height:calc(100svh - 10rem);gap:var(--s-2);min-height:calc(100dvh - 10rem);padding-bottom:env(safe-area-inset-bottom);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.practice-room-layout.is-touch .practice-room-touch-bar{gap:var(--s-1);grid-template-columns:repeat(5,minmax(0,1fr))}.practice-room-layout.is-touch .practice-room-touch-bar.is-rest{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-room-layout.is-touch .practice-room-touch-action:not(.is-queue){display:flex}.practice-room-touch-action{min-height:48px;padding:var(--s-1) var(--s-1);font-size:var(--fs-6);letter-spacing:.04em}.practice-room-layout.is-touch .practice-room-score{min-height:0;padding:var(--s-3);grid-area:2/1}.practice-room-layout.is-touch .practice-room-rail{display:none}.practice-room-layout.is-touch .practice-room-score .score-reader,.practice-room-layout.is-touch .practice-room-rest-card{min-height:min(34rem,58dvh)}.practice-room-layout.is-touch .practice-room-score-header{gap:var(--s-2)}.practice-room-layout.is-touch .practice-room-score-header h3{font-size:clamp(var(--fs-3), 6vw, var(--fs-2))}.practice-room-layout.is-touch .practice-room-transport{gap:var(--s-2);padding:var(--s-3) var(--s-3) calc(var(--s-3) + env(safe-area-inset-bottom));grid-area:3/1;grid-template-columns:1fr}.practice-room-layout.is-touch .practice-room-transport-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.practice-room-layout.is-touch .practice-room-transport-actions button{white-space:normal;width:100%;min-width:0}.ink-toolbar{gap:var(--s-1) var(--s-2);padding:var(--s-2) var(--s-3)}.ink-tool,.ink-chip{padding:0 var(--s-2);font-size:var(--fs-6)}.ink-slider input[type=range]{width:88px}.reader-drawer{border-left:none;width:100%}.dashboard-stage,.practice-run-hero{padding:var(--s-5)}.overview-grid,.library-summary-grid,.library_entries-grid,.sessions-grid{grid-template-columns:1fr}.slideover-overlay{padding:0}.slideover-panel{border-left:none;width:100%}.slideover-header,.slideover-body{padding:var(--s-4-5)}.slideover-body{padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.module{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6)}.module-loading{padding:var(--s-6);align-items:flex-start;display:flex}.module-header{gap:var(--s-1);margin-bottom:var(--s-5);flex-direction:column;display:flex}.module-title{font-family:var(--font-display);font-size:var(--fs-1);color:var(--text);font-weight:700}.module-lead{color:var(--text-2);font-size:var(--fs-4)}.module-empty{color:var(--text-2);padding:var(--s-4) 0}.progress-history{margin-top:var(--s-6)}.progress-history-title{margin:0 0 var(--s-4);font-weight:400}.shape-history{margin:0;padding:0;list-style:none}.shape-history-row{gap:var(--s-2);padding:var(--s-4) 0;border-top:1px solid var(--line);flex-direction:column;display:flex}.shape-history-row:first-child{border-top:none;padding-top:0}.shape-history-meta{justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.shape-history-name{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text);font-weight:600}.shape-history-when{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:var(--fs-5)}.progress-figures{gap:var(--s-3);margin-bottom:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.progress-figure{gap:var(--s-1);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;display:flex}.progress-figure-label{font-size:var(--fs-5);color:var(--text-2)}.progress-figure-value{font-family:var(--font-display);font-size:var(--fs-2);color:var(--text);font-weight:700}.progress-figure-hint{font-size:var(--fs-5);color:var(--text-3)}.progress-milestones{gap:var(--s-3);margin:0 0 var(--s-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.progress-milestone{gap:var(--s-0);padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:inline-flex}.progress-milestone.is-reached{border-color:var(--warm-edge);background:var(--warm-fill)}.progress-milestone-value{color:var(--text);font-weight:600}.progress-milestone.is-reached .progress-milestone-value{color:var(--warm-ink)}.progress-milestone-next{font-size:var(--fs-5);color:var(--text-3)}.notes-module .notes-list{margin-top:var(--s-2)}.notes-list{gap:var(--s-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5);position:relative}.note:before{content:"";left:var(--s-2);top:var(--s-3);bottom:var(--s-3);border-radius:var(--r-pill);background:var(--note);width:4px;position:absolute}.note-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.note-subject{font-family:var(--font-display);font-size:var(--fs-3);color:var(--text);font-weight:600}.note.is-piece .note-subject{color:var(--note-ink)}.note-when{color:var(--text-2);font-size:var(--fs-5);white-space:nowrap}.note-body{white-space:pre-wrap;color:var(--text-2);margin-top:var(--s-2);line-height:1.5}.notes-more{margin-top:var(--s-4)}.progress-charts{gap:var(--s-0);margin:var(--s-0) 0 var(--s-5);background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex;overflow:hidden}.progress-charts-empty{gap:var(--s-1);padding:var(--s-4-5) var(--s-4-5);background:var(--surface);flex-direction:column;display:flex}.progress-charts-grid{gap:var(--s-0);background:var(--line);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.progress-chart-card{gap:var(--s-3);padding:var(--s-4) var(--s-4-5) var(--s-4);background:var(--surface);flex-direction:column;display:flex}.progress-chart-daily,.progress-chart-weekly{min-width:0}.progress-chart-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.progress-chart-kicker,.progress-charts-kicker,.progress-history-title{font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.progress-empty-note{font-size:var(--fs-5);color:var(--text-3);margin:0}.chart-bars{width:100%;height:56px;display:block;overflow:visible}.chart-bars-daily,.chart-bars-weekly{min-width:0}.chart-baseline{stroke:var(--staff);stroke-width:1px}.chart-bar{fill:var(--accent-fill)}.chart-bar-today,.chart-bar-current{fill:var(--accent)}.progress-chart-axis{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.progress-axis-tick{font-size:var(--fs-6);color:var(--text-3)}.progress-axis-label{font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.progress-chart-calendar{gap:var(--s-3)}.chart-calendar{width:100%;height:auto;display:block}.chart-cell{stroke:var(--line);stroke-width:.6px}.chart-cell-l0{fill:var(--surface-2)}.chart-cell-l1{fill:var(--accent);fill-opacity:.2}.chart-cell-l2{fill:var(--accent);fill-opacity:.42}.chart-cell-l3{fill:var(--accent);fill-opacity:.7}.chart-cell-l4{fill:var(--accent);fill-opacity:1}.progress-calendar-legend{align-items:center;gap:var(--s-1);display:flex}.progress-legend-label{font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.chart-cell-swatch{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--accent);width:11px;height:11px;display:inline-block}.chart-cell-swatch.chart-cell-l0{background:var(--surface-2)}.chart-cell-swatch.chart-cell-l1{background:var(--accent);opacity:.3}.chart-cell-swatch.chart-cell-l2{background:var(--accent);opacity:.55}.chart-cell-swatch.chart-cell-l3{background:var(--accent);opacity:.78}.chart-cell-swatch.chart-cell-l4{background:var(--accent);opacity:1}@media (width<=640px){.progress-charts-grid{grid-template-columns:1fr}}.tempo-chart,.tempo-chart-empty{gap:var(--s-2);padding:var(--s-4) var(--s-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;display:flex}.tempo-chart-head{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;display:flex}.tempo-chart-kicker{font-family:var(--font-mono);font-size:var(--fs-7);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.tempo-chart-latest{font-size:var(--fs-3);color:var(--text)}.tempo-chart-target-chip{padding:var(--s-0) var(--s-2);font-family:var(--font-mono);font-size:var(--fs-6);color:var(--warn);border:1px dashed var(--warn);border-radius:var(--r-pill);margin-left:auto}.tempo-chart-svg{aspect-ratio:320/140;width:100%;height:auto;display:block;overflow:visible}.tempo-line{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.tempo-target-line{stroke:var(--warn);stroke-width:1px;stroke-dasharray:4 3;opacity:.85}.tempo-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.4px}.tempo-dot-latest{fill:var(--accent);stroke:var(--accent-bright);stroke-width:1.4px}.tempo-chart-foot{justify-content:space-between;display:flex}.tempo-chart-foot-date{font-family:var(--font-mono);font-size:var(--fs-6);color:var(--text-3)}.tempo-chart-empty-note{font-size:var(--fs-5);color:var(--text-3);margin:0}.practice-run-page.is-practice,.practice-run-page.is-rest,.practice-run-page.is-complete{background:var(--page)}.practice-run-page .app-header{box-shadow:none;background:0 0}.practice-countdown-block-hero{text-align:right}.practice-countdown-block-hero strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:var(--display-countdown);letter-spacing:-.02em;color:var(--text);font-weight:700;line-height:.94}.practice-countdown-block-hero span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;font-size:var(--fs-7);color:var(--text-3)}.practice-countdown-block-hero.is-expired strong{color:var(--warm)}.is-rest .practice-countdown-block-hero strong{color:var(--break)}.practice-hud{gap:var(--s-6);margin:0 0 var(--s-6);padding:var(--s-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;display:grid}.practice-hud-bars{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.practice-progressbar{flex-direction:column;min-width:0;display:flex}.practice-progressbar-top{margin-bottom:var(--s-2);justify-content:space-between;align-items:baseline;display:flex}.practice-progressbar-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;font-size:var(--fs-7);color:var(--text-3)}.practice-progressbar-value{font-size:var(--fs-5);color:var(--text-2)}.practice-progressbar-track{border-radius:var(--r-pill);background:var(--page-2);height:8px;overflow:hidden}.practice-progressbar-fill{border-radius:var(--r-pill);height:100%;transition:width var(--motion-slow) var(--ease-out)}.practice-progressbar-fill.is-block{background:var(--warm)}.practice-progressbar-fill.is-session{background:var(--accent)}.practice-upnext{gap:var(--s-1);text-align:right;flex-direction:column;max-width:18rem;display:flex}.practice-upnext-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;font-size:var(--fs-7);color:var(--accent-bright)}.practice-upnext-title{font-size:var(--fs-3);color:var(--text);font-weight:600;line-height:1.2}.practice-upnext.is-last .practice-upnext-title{color:var(--text-3);font-weight:500}.practice-actions-row{gap:var(--s-3);flex-wrap:wrap}.practice-actions-row .dashboard-btn-primary,.practice-actions-row .dashboard-btn-secondary{min-height:52px;font-size:var(--fs-4);padding-inline:var(--s-5)}.practice-extend-btn{font-variant-numeric:tabular-nums}@media (width<=719px){.practice-hud{grid-template-columns:1fr}.practice-upnext{text-align:left;max-width:none}.practice-countdown-block-hero{text-align:left}}.library-toolbar{align-items:center;gap:var(--s-4);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.library-search{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.library-search-icon{color:var(--text-3);font-size:var(--fs-4);pointer-events:none;position:absolute;left:.85rem}.library-search-input{width:100%;padding-left:var(--s-6)}.library-view-toggle{gap:var(--s-1);padding:var(--s-1);background:var(--page-2);border:1px solid var(--line);border-radius:var(--r-pill);display:inline-flex}.view-toggle-btn{color:var(--text-3);border-radius:var(--r-pill);width:38px;height:34px;font-size:var(--fs-4);cursor:pointer;transition:color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard);background:0 0;border:none}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{color:var(--on-accent);background:var(--accent)}.library_entries-list{gap:var(--s-2);flex-direction:column;display:flex}.library_entries-list .library_entry-card{align-items:center;gap:var(--s-2) var(--s-4-5);padding:var(--s-3) var(--s-4-5);flex-flow:wrap}.library_entries-list .library_entry-card:hover{border-color:var(--accent-edge);transform:none}.library_entries-list .library_entry-card-topline{flex:none;width:auto}.library_entries-list .library_entry-header{align-items:baseline;gap:var(--s-0) var(--s-3);flex-wrap:wrap;flex:16rem;min-width:0;display:flex}.library_entries-list .library_entry-title{font-size:var(--fs-4)}.library_entries-list .library_entry-library-meta{margin-left:auto}.library_entry-difficulty-chip{font-family:var(--font-mono);font-size:var(--fs-7);text-transform:uppercase;letter-spacing:.1em;padding:var(--s-0) var(--s-2);border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);font-weight:600}.library_entry-difficulty-chip.is-beginner{color:var(--ok);border-color:var(--ok-fill);background:var(--ok-fill)}.library_entry-difficulty-chip.is-intermediate{color:var(--warm);border-color:var(--warm-edge);background:var(--warm-fill)}.library_entry-difficulty-chip.is-advanced{color:var(--err);border-color:var(--err-edge);background:var(--err-fill)}.library_entry-tag-chip{font-size:var(--fs-6);color:var(--accent-bright);background:var(--accent-fill);border:1px solid var(--accent-edge);border-radius:var(--r-pill);padding:var(--s-0) var(--s-2)}.library-collections-bar{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.collection-chip,.collection-chip-label,.collection-chip-delete,.collection-member-remove,.template-chip,.template-chip-apply,.template-chip-delete{transition:color .18s,background-color .18s,border-color .18s}.collection-chip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--page-2);align-items:center;display:inline-flex;overflow:hidden}.collection-chip.active{border-color:var(--accent);background:var(--accent-fill)}.collection-chip-label{align-items:center;gap:var(--s-1);color:var(--text-2);font-family:var(--font-body);font-size:var(--fs-5);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-3);cursor:pointer;background:0 0;border:none;display:inline-flex}.collection-chip.active .collection-chip-label{color:var(--accent-bright)}.collection-chip-count{font-size:var(--fs-6);color:var(--text-3)}.collection-chip-delete{color:var(--text-3);cursor:pointer;font-size:var(--fs-4);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-1);background:0 0;border:none;line-height:1}.collection-chip-delete:hover{color:var(--err)}.library-new-collection{gap:var(--s-1);margin-left:auto;display:inline-flex}.library-new-collection-input{width:12rem}.template-picker{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.template-picker-label{font-size:var(--fs-7);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.template-chip-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.template-chip{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--page-2);align-items:center;display:inline-flex;overflow:hidden}.template-chip-apply{align-items:center;gap:var(--s-1);color:var(--text-2);font-family:var(--font-body);font-size:var(--fs-5);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-3);cursor:pointer;background:0 0;border:none;display:inline-flex}.template-chip-apply:hover{color:var(--accent-bright)}.template-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.template-chip-count{font-size:var(--fs-6);color:var(--text-3)}.template-chip-delete{color:var(--text-3);cursor:pointer;font-size:var(--fs-4);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-1);background:0 0;border:none;line-height:1}.template-chip-delete:hover{color:var(--err)}.library_entry-collections{align-items:center;gap:var(--s-1);padding-top:var(--s-1);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.collection-member-chip{align-items:center;gap:var(--s-1);font-size:var(--fs-6);color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:var(--s-0) var(--s-1) var(--s-0) var(--s-2);display:inline-flex}.collection-member-remove{color:var(--text-3);cursor:pointer;font-size:var(--fs-4);padding:0 var(--s-0);background:0 0;border:none;line-height:1}.collection-member-remove:hover{color:var(--err)}.collection-add-select{font-size:var(--fs-6);padding:var(--s-1) var(--s-2);max-width:12rem}.today-next-checkpoint{margin-top:var(--s-2);color:var(--text-2);font-size:var(--fs-5)}.plan-adherence{gap:var(--s-3);padding:var(--s-4) var(--s-4-5) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.plan-adherence-tally{font-size:var(--fs-5);color:var(--text-2)}.chart-bars-plan{height:72px}.chart-plan-done{fill:var(--accent)}.chart-plan-behind{fill:none;stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 2}.chart-plan-pending{fill:var(--accent-fill-2)}.plan-adherence-legend{align-items:center;gap:var(--s-1) var(--s-2);flex-wrap:wrap;display:flex}.plan-legend-swatch{border-radius:var(--r-hair);width:11px;height:11px;display:inline-block}.plan-legend-done{background:var(--accent)}.plan-legend-behind{border:1px dashed var(--line-strong)}.plan-legend-pending{background:var(--accent-fill-2)}.plan-goals{padding:var(--s-2) 0 0;border-top:1px solid var(--line);gap:var(--s-1);flex-direction:column;margin:0;list-style:none;display:flex}.plan-goal{justify-content:space-between;gap:var(--s-3);font-size:var(--fs-5);display:flex}.plan-goal-piece{color:var(--text);overflow-wrap:anywhere;min-width:0}.plan-goal-count{color:var(--text-2);white-space:nowrap}.dashboard-content:has(>.agenda){max-width:1240px}.agenda-header{align-items:center;gap:var(--s-3);flex-flow:wrap}.agenda-header .module-title{margin-right:auto}.agenda-week-nav{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.agenda-week-step,.agenda-week-today{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);min-width:2.25rem;min-height:2.25rem;padding:0 var(--s-3);font:inherit;cursor:pointer}.agenda-week-label{color:var(--text);font-weight:700}.agenda-tally{font-size:var(--fs-5);color:var(--text-2);padding:var(--s-0) var(--s-2);border-radius:var(--r-pill);background:var(--surface-2)}.agenda-plan{margin-left:auto}.agenda-layout{gap:var(--s-4);grid-template-columns:minmax(0,3fr) minmax(240px,1fr);align-items:start;display:grid}.agenda-week{gap:var(--s-2);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.agenda-day{gap:var(--s-2);min-width:0;min-height:8rem;padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.agenda-day.is-today{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.agenda-day.is-missed{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--accent-fill) 6px 12px)}.agenda-day-name{font-size:var(--fs-5);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);font-weight:700}.agenda-day.is-today .agenda-day-name{color:var(--action-ink)}.agenda-today-tag{color:var(--action-ink);display:block}.agenda-day-empty{color:var(--text-3)}.agenda-slot{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.agenda-slot-name{font-size:var(--fs-5);color:var(--text);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.agenda-slot-status{font-size:var(--fs-5);font-weight:600}.agenda-slot-status.is-done{color:var(--text)}.agenda-slot-status.is-missed,.agenda-slot-status.is-moved{color:var(--text-3)}.agenda-slot-status.is-moved{border:1px dashed var(--line-strong);border-radius:var(--r-xs);padding:var(--s-0) var(--s-1);align-self:flex-start}.agenda-move{gap:var(--s-0);font-size:var(--fs-5);color:var(--text-2);flex-direction:column;display:flex}.agenda-move select,.agenda-add-session{font:inherit;font-size:var(--fs-5);border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);max-width:100%;color:var(--text);padding:var(--s-1) var(--s-1)}.agenda-slot-start{border-radius:var(--r-pill);background:var(--action);color:var(--on-action);font:inherit;font-size:var(--fs-5);padding:var(--s-1) var(--s-3);cursor:pointer;border:none;align-self:flex-start;font-weight:700}.agenda-slot-start.is-secondary,.agenda-plan.is-secondary{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.agenda-slot-start.is-secondary{font-size:var(--fs-5);font-weight:600}.agenda-plan.is-secondary{min-height:44px;padding:0 var(--s-5);font-weight:600}.agenda-add-session{min-height:44px}.agenda-due{font-size:var(--fs-5);color:var(--text-2)}.agenda-side{gap:var(--s-3);flex-direction:column;display:flex}.agenda-card{gap:var(--s-2);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.agenda-card-title{font-family:var(--font-display);font-size:var(--fs-4);color:var(--text);font-weight:700}.agenda-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.agenda-goal,.agenda-event{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px dashed var(--line);display:flex}.agenda-event{flex-wrap:wrap}.agenda-goal:last-child,.agenda-event:last-child{border-bottom:none}.agenda-goal-title{color:var(--text);font-weight:600}.agenda-goal-meta,.agenda-event-date,.agenda-hint{font-size:var(--fs-5);color:var(--text-2)}.agenda-chip{font-size:var(--fs-5);padding:var(--s-0) var(--s-2);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);flex:none;font-weight:700}.agenda-chip.is-behind{border:1px dashed var(--text);color:var(--text);background:0 0}.agenda-chip.is-complete{border-color:var(--warm-edge);background:var(--warm-fill);color:var(--warm-ink)}.agenda-icon-btn{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:none;min-width:2rem;min-height:2rem}.agenda-event-form{align-items:flex-end;gap:var(--s-2);flex-wrap:wrap;display:flex}.agenda-event-form input{min-width:0;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);flex:8rem}.agenda-event-field{gap:var(--s-0);min-width:0;font-size:var(--fs-5);color:var(--text-2);flex-direction:column;flex:8rem;display:flex}.agenda-event-field input{flex:none}.agenda-editor{gap:var(--s-4);flex-direction:column;display:flex}.agenda-editor-draft{gap:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);flex-direction:column;display:flex}.agenda-editor-draft legend{color:var(--text);padding:0 var(--s-1);font-weight:700}.agenda-day-toggles{gap:var(--s-1);display:flex}.agenda-day-toggle{border:1px solid var(--line-strong);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text);font:inherit;cursor:pointer;border-radius:50%;place-items:center;padding:0;font-weight:700;display:inline-grid}.agenda-day-toggle.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.agenda-minutes{align-items:center;gap:var(--s-2);color:var(--text-2);display:flex}.agenda-minutes input{width:5rem;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2)}.agenda-editor-actions,.agenda-editor-footer{gap:var(--s-2);flex-wrap:wrap;display:flex}.agenda-editor-days{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.agenda-editor-day{gap:var(--s-2);flex-direction:column;display:flex}.agenda-editor-kept{font-size:var(--fs-5);color:var(--text-3)}.agenda-editor-entry{justify-content:space-between;align-items:flex-start;gap:var(--s-2);padding:var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);display:flex}.agenda-editor-name{color:var(--text);font-weight:600}.agenda-editor-blocks{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.agenda-block{font-size:var(--fs-5);color:var(--text);padding-left:var(--s-2);border-left:4px solid var(--accent)}.agenda-block.is-rest{border-left-color:var(--break);color:var(--text-2)}.agenda-upsell{gap:var(--s-3);flex-direction:column;max-width:40rem;display:flex}.agenda-upsell-lead{font-size:var(--fs-4);color:var(--text-2)}.agenda-upsell-list{padding-left:var(--s-4-5);gap:var(--s-2);color:var(--text);flex-direction:column;margin:0;display:flex}@media (width<=1199px){.agenda-layout{grid-template-columns:1fr}.agenda-side{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}}@media (width<=719px){.agenda-week{grid-template-columns:1fr}.agenda-day{min-height:0}.agenda-plan{width:100%;margin-left:0}}.piece-goal{gap:var(--s-3);flex-direction:column;display:flex}.piece-goal>*+*{margin-top:0}.goal-summary{color:var(--text);font-weight:700}.goal-event{color:var(--text-2);font-weight:600}.goal-sections{gap:var(--s-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);flex-direction:column;display:flex}.goal-sections legend{color:var(--text);padding:0 var(--s-1);font-weight:700}.goal-section-choice{align-items:center;gap:var(--s-2);color:var(--text);display:flex}.goal-inline-form{gap:var(--s-2);flex-wrap:wrap;display:flex}.goal-inline-form input{min-width:0;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);flex:7rem}.goal-proposal,.goal-behind{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);flex-direction:column;display:flex}.goal-proposal{border:1px dashed var(--line-strong)}.goal-behind{background:var(--note-fill);color:var(--text)}.goal-proposal-title{color:var(--text);font-weight:700}.goal-tight{font-size:var(--fs-5);color:var(--note-ink)}.goal-timeline{margin:0 0 0 var(--s-2);padding:0 0 0 var(--s-4);border-left:2px solid var(--line-strong);gap:var(--s-2);flex-direction:column;list-style:none;display:flex}.goal-checkpoint{align-items:center;gap:var(--s-2);color:var(--text);flex-wrap:wrap;display:flex;position:relative}.goal-checkpoint:before{content:"";left:calc(-1 * var(--s-4) - 7px);border-radius:var(--r-hair);background:var(--surface);border:2px solid var(--line-strong);width:10px;height:10px;position:absolute;top:.55rem;transform:rotate(45deg)}.goal-checkpoint.is-met:before{background:var(--warm);border-color:var(--warm)}.goal-checkpoint.is-this-week:before{background:var(--action);border-color:var(--action)}.goal-checkpoint.is-at-risk:before,.goal-checkpoint.is-overdue:before{border:2px dashed var(--text)}.goal-checkpoint.is-met .goal-checkpoint-note{color:var(--text-2)}.goal-checkpoint-date{min-width:4.5rem;font-weight:700}.goal-checkpoint-note{flex:12rem;min-width:0}.goal-checkpoint-target,.goal-checkpoint-by{color:var(--text-2);font-size:var(--fs-5)}.goal-checkpoint-status{font-size:var(--fs-5);color:var(--text-3)}.goal-checkpoint.is-at-risk .goal-checkpoint-status,.goal-checkpoint.is-overdue .goal-checkpoint-status{color:var(--text);border:1px dashed var(--text);border-radius:var(--r-pill);padding:0 var(--s-2)}.goal-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.score-reader-back-to-cursor{z-index:5;width:max-content;min-height:2.75rem;padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--action);color:var(--on-action);font:700 var(--fs-5) / 1 var(--font-body);white-space:nowrap;box-shadow:var(--shadow-2);cursor:pointer;border:0;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.room-cursor-control{z-index:6;align-items:center;gap:var(--s-1);width:max-content;max-width:calc(100% - 1.5rem);padding:var(--s-2) var(--s-3) var(--s-2) var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:color-mix(in srgb, var(--panel) 94%, transparent);color:var(--text);box-shadow:var(--shadow-2);white-space:nowrap;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.room-cursor-control.is-compact{padding-right:var(--s-4)}.room-cursor-back{height:2.5rem;margin-right:var(--s-1);padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--action);color:var(--on-action);font:700 var(--fs-5) / 1 var(--font-body);white-space:nowrap;cursor:pointer;border:0;flex:none;align-items:center;display:inline-flex}.room-cursor-refused{color:var(--text-3);font-size:var(--fs-6);white-space:normal}.room-cursor-refused:empty{display:none}.room-cursor-icon{width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.room-cursor-play{background:var(--action);width:3.5rem;height:3.5rem;color:var(--on-action);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.room-cursor-readout{padding:0 var(--s-2) 0 var(--s-1);flex-direction:column;line-height:1.15;display:flex}button.room-cursor-readout{border-radius:var(--r-pill);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;margin:0}button.room-cursor-readout .room-cursor-glyph{margin-left:var(--s-1);vertical-align:-.0625rem;color:var(--text-3);display:inline-block}button.room-cursor-readout.is-on{background:color-mix(in srgb, var(--action) 22%, transparent)}button.room-cursor-readout.is-on span{color:var(--text)}.room-cursor-readout strong{font-size:var(--fs-3);font-weight:700}.room-cursor-readout span{color:var(--text-3);font-size:var(--fs-6)}.room-cursor-divider{background:var(--line);flex:none;width:1px;height:1.75rem}.room-cursor-chip{align-items:center;gap:var(--s-1);height:2.5rem;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--accent-fill);color:var(--text);font:600 var(--fs-5) / 1 var(--font-body);flex:none;display:inline-flex}button.room-cursor-chip{cursor:pointer}.room-cursor-chip.is-on{border-color:var(--action-edge);background:var(--action-fill);color:var(--action-ink)}.practice-run-page.is-reading{flex-direction:column;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.practice-run-page.is-reading .practice-run-shell{flex-direction:column;flex:auto;width:100%;max-width:none;min-height:0;margin:0;display:flex}.practice-reading-strip{align-items:center;gap:var(--s-2);min-height:4rem;padding:0 var(--s-3);padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:var(--page);flex:none;display:flex}.practice-strip-icon{border-radius:var(--r-sm);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;background:0 0;border:1px solid transparent;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.practice-strip-icon.is-on{border-color:var(--action-edge);background:var(--action-fill);color:var(--action-ink)}.practice-strip-title{gap:var(--s-0);flex-direction:column;flex:auto;min-width:0;display:flex}.practice-strip-title strong{font-family:var(--font-display);font-size:var(--fs-3);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.practice-strip-title span{color:var(--text-3);font-size:var(--fs-6);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-strip-clock{align-items:center;gap:var(--s-2);height:2.75rem;padding:0 var(--s-1) 0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--accent-fill);white-space:nowrap;flex:none;display:flex}.practice-strip-clock.is-expired{padding-right:var(--s-3);border-color:var(--warm-edge);background:var(--warm-fill)}.practice-strip-clock-label{color:var(--text-3);font-size:var(--fs-7);letter-spacing:.14em;text-transform:uppercase}.practice-strip-clock strong{font-size:var(--fs-3);font-weight:700}.practice-strip-clock-toggle{width:2.25rem;min-width:0;height:2.25rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.practice-strip-next{align-items:center;gap:var(--s-1);height:2.75rem;padding:0 var(--s-3) 0 var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font:600 var(--fs-4) / 1 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;flex:none;display:inline-flex}.practice-strip-divider{background:var(--line);flex:none;width:1px;height:1.75rem}.practice-panel-open{position:relative}.practice-panel-open.is-recording{color:var(--action)}.practice-panel-open-rec{background:var(--action);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--page);border-radius:50%;position:absolute;top:.375rem;right:.375rem}.take-indicator{align-items:center;gap:var(--s-2);height:2.75rem;padding:0 var(--s-2) 0 var(--s-3);border:1px solid var(--action-edge);border-radius:var(--r-pill);background:var(--action-fill);color:var(--action-ink);font:600 var(--fs-4) / 1 var(--font-body);white-space:nowrap;cursor:pointer;flex:none;display:inline-flex}.take-indicator.is-recording .takes-dot{animation:takes-live 1.1s var(--ease-standard) infinite alternate}.take-indicator.is-paused .takes-dot{background:var(--break)}.take-indicator-stop{width:.75rem;height:.75rem;margin:0 var(--s-2);border-radius:var(--r-hair);background:currentColor}@media (prefers-reduced-motion:reduce){.take-indicator.is-recording .takes-dot{animation:none}}.practice-reading-alert{z-index:35;align-items:flex-start;gap:var(--s-1);border-radius:var(--r-md);background:var(--surface);width:min(36rem,100% - 1.5rem);box-shadow:var(--shadow-2);display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.practice-reading-alert .error-message{flex:auto;margin:0}.practice-reading-queue .practice-room-queue-header{align-items:baseline}.practice-reading-queue .practice-room-queue-list{padding-right:0}.practice-reading-queue .practice-room-queue-item{min-height:2.75rem;padding:var(--s-1) var(--s-2)}.practice-cancel-run-btn{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--err);font:600 var(--fs-5) / 1.2 var(--font-body);cursor:pointer;background:0 0;border:1px solid transparent}.practice-cancel-run-btn:hover:not(:disabled){border-color:var(--err-edge);background:var(--err-fill)}.practice-reading-cancel{padding-top:var(--s-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.practice-reading-cancel .practice-cancel-run-btn{align-self:flex-start}.practice-reading-cancel .inline-confirm{margin:0}.practice-reading-ledge{place-items:center;gap:var(--s-2);min-height:4.5rem;padding:var(--s-2) var(--s-3) calc(var(--s-2) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--page);flex:none;grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(max-content,1fr);display:grid}.practice-reading-ledge-side{align-items:center;gap:var(--s-2);min-width:0;display:flex}.practice-reading-ledge-side.is-end{justify-self:end}.practice-reading-ledge .room-cursor-control{min-width:0;max-width:100%;box-shadow:none;scrollbar-width:none;flex:0 auto;position:static;overflow-x:auto;transform:none}.practice-reading-ledge-metronome{gap:var(--s-1);padding:var(--s-1)}@media (width<=40rem){.practice-reading-strip{gap:var(--s-1) var(--s-1);padding-top:calc(var(--s-1) + env(safe-area-inset-top));padding-bottom:var(--s-1);flex-wrap:wrap}.practice-reading-strip>*{order:3}.practice-reading-strip>:first-child,.practice-reading-strip .practice-strip-title,.practice-reading-strip .practice-strip-next{order:1}.practice-reading-strip .practice-strip-title{flex:1 1 0}.practice-reading-strip .practice-strip-divider{flex-basis:100%;order:2;height:0}.practice-reading-strip .practice-strip-clock{margin-right:auto}.practice-reading-ledge{grid-template-columns:minmax(0,1fr) auto}.practice-reading-ledge:not(.is-fullscreen)>.practice-reading-ledge-side:first-child{display:none}.practice-reading-ledge:not(.is-fullscreen) .practice-reading-ledge-side.is-end{flex-direction:column}.practice-reading-ledge.is-fullscreen{row-gap:var(--s-1);grid-template-columns:auto minmax(0,1fr)}.practice-reading-ledge.is-fullscreen>.practice-reading-ledge-side:first-child{grid-area:1/1;justify-self:start}.practice-reading-ledge.is-fullscreen>.practice-reading-ledge-side.is-end{grid-area:1/2}.practice-reading-ledge.is-fullscreen>.room-cursor-control{grid-area:2/1/auto/-1}.practice-reading-ledge.is-fullscreen .practice-strip-clock-label,.practice-reading-strip .practice-strip-clock-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.practice-reading-ledge .room-cursor-control{border-radius:var(--r-lg);flex-wrap:wrap;justify-content:center;overflow:visible}.practice-reading-ledge .room-cursor-divider{display:none}}.practice-strip-cursor{flex:none;display:flex}.practice-reading-strip.has-cursor .practice-strip-title{min-width:7rem}.practice-reading-strip.has-cursor .practice-strip-clock-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.practice-strip-cursor .room-cursor-control{max-width:none;box-shadow:none;gap:var(--s-1);padding:var(--s-0) var(--s-2) var(--s-0) var(--s-0);background:var(--accent-fill);border-color:var(--line);flex:none;position:static;transform:none}.practice-strip-cursor .room-cursor-play{width:2.75rem;height:2.75rem}.practice-strip-cursor .room-cursor-icon{width:2.5rem;height:2.5rem}.practice-strip-cursor .room-cursor-chip{height:2.25rem;padding:0 var(--s-2)}.practice-strip-cursor .room-cursor-readout strong{font-size:var(--fs-4)}.practice-strip-cursor .room-cursor-readout span{font-size:var(--fs-6)}.practice-room-layout.is-reading{flex:auto;gap:0;min-height:0;display:flex;position:relative;overflow:hidden}.practice-room-layout.is-reading .practice-room-touch-bar,.practice-room-layout.is-reading .practice-room-queue,.practice-room-layout.is-reading .practice-room-score-header{display:none}.practice-room-layout.is-reading .practice-room-score{flex-direction:column;flex:auto;min-width:0;min-height:0;padding:0;display:flex}.practice-room-layout.is-reading .practice-room-reader{border-radius:0}.practice-room-layout.is-reading .practice-room-score .score-reader{min-height:0}.practice-room-layout.is-reading .practice-room-transport{display:none}.practice-room-layout.is-reading .practice-room-transport.has-pending{z-index:30;box-shadow:var(--shadow-2);display:block;position:absolute;bottom:1rem;left:1rem;right:1rem}.practice-room-layout.is-reading .practice-room-rail{z-index:41;gap:var(--s-4);width:min(22rem,92vw);padding:calc(var(--s-4) + env(safe-area-inset-top)) var(--s-4-5) calc(var(--s-4) + env(safe-area-inset-bottom));border-left:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-2);visibility:hidden;outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%)}.practice-room-layout.is-reading.is-panel-sliding .practice-room-rail{transition:transform .2s,visibility 0s linear .2s}.practice-room-layout.is-reading.is-panel-open .practice-room-rail{visibility:visible;transition:transform .2s,visibility;transform:none}.practice-reading-scrim{z-index:40;background:color-mix(in srgb, var(--page-2) 62%, transparent);animation:.2s fade;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.practice-room-layout.is-reading .practice-room-rail,.practice-room-layout.is-reading.is-panel-sliding .practice-room-rail,.practice-room-layout.is-reading.is-panel-open .practice-room-rail{transition:none}.practice-reading-scrim{animation:none}}.practice-reading-panel-head{justify-content:space-between;align-items:center;display:flex}.practice-reading-panel-head h3{font-family:var(--font-display);font-size:var(--fs-2);margin:0}.practice-reading-block-actions{gap:var(--s-2);margin:var(--s-2) 0;flex-wrap:wrap;display:flex}.practice-reading-block-steps{align-items:stretch;gap:var(--s-2);flex:1 0 100%;display:flex}.practice-reading-block-forward{margin-inline-start:auto}.ink-toolbar.ink-toolbar--minimal{background:var(--page);justify-content:center}.ink-fingers{align-items:center;gap:var(--s-1);display:flex}.ink-chip.ink-finger{min-width:40px;font-family:var(--font-display);font-size:var(--fs-4);justify-content:center;font-weight:600}.ink-chip.ink-chip--done{background:var(--accent);color:var(--on-accent)}.practice-run-page.is-fullscreen .practice-reading-strip{display:none}.score-reader-frame.score-reader-frame--spread{gap:var(--s-3);flex-direction:row}.score-reader-frame--spread .score-page-wrap{width:auto;max-width:calc(50% - .375rem);height:100%}.score-reader-frame--spread .score-page-img{width:auto;max-width:100%;height:100%}.score-reader-stage.score-reader-stage--continuous{touch-action:pan-y;align-items:flex-start;overflow:hidden auto}.score-reader-frame.score-reader-frame--continuous{gap:var(--s-3);width:100%;height:auto}.score-reader-frame--continuous .score-page-wrap{width:100%;max-height:none}.score-reader-frame--continuous .score-page-img{height:auto}.practice-strip-layout{gap:var(--s-0);padding:var(--s-0);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--accent-fill);flex:none;display:flex}.practice-strip-layout-option{border-radius:var(--r-xs);width:2.5rem;height:2.375rem;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.practice-strip-layout-option.is-on{background:var(--accent);color:var(--on-accent)}.practice-reading-landscape{gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-sm);background:var(--page);display:flex}.practice-reading-landscape-option{border-radius:var(--r-xs);min-height:2.75rem;color:var(--text-2);font:600 var(--fs-5) / 1.2 var(--font-body);cursor:pointer;background:0 0;border:0;flex:1}.practice-reading-landscape-option.is-on{background:var(--accent);color:var(--on-accent)}.practice-reading-section{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.practice-reading-section label{gap:var(--s-1);color:var(--text-2);font-size:var(--fs-5);flex-direction:column;display:flex}.practice-reading-repeat{align-items:flex-start;gap:var(--s-2);flex-direction:column;display:flex}.practice-reading-group-title{margin:var(--s-3) 0 0;font:600 var(--fs-3) / 1.2 var(--font-display);color:var(--text)}.practice-reading-prepare,.practice-reading-upsell{gap:var(--s-3);flex-direction:column;display:flex}.room-plans{gap:var(--s-2);flex-direction:column;display:flex}.room-plans-note{color:var(--text-2);font-size:var(--fs-5);margin:0}.room-plan-row{align-items:stretch;gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.room-plan-load{align-items:flex-start;gap:var(--s-1);text-align:left;flex-direction:column;display:flex}.room-plan-load span{color:var(--text-2);font-size:var(--fs-5)}.room-plan-name{gap:var(--s-1);color:var(--text-2);font-size:var(--fs-5);flex-direction:column;display:flex}.room-plan-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.practice-reading-stepper{align-items:center;gap:var(--s-1);width:100%;color:var(--text-2);font-size:var(--fs-5);grid-template-columns:minmax(0,1fr) 2.75rem 3.5rem 2.75rem;display:grid}.practice-reading-block-steps:empty{display:none}.practice-reading-stepper-button{text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-md);min-height:2.75rem;color:var(--text);font:600 var(--fs-3) / 1 var(--font-body);cursor:pointer;background:0 0;padding:0}.practice-reading-stepper-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.practice-reading-stepper-button:disabled{opacity:.4;cursor:default}.practice-reading-stepper-value{text-align:center;color:var(--text);font-weight:600}.practice-reading-section-error{color:var(--err);font-size:var(--fs-5);margin:0}@media (pointer:coarse){.practice-reading-strip{min-height:4.5rem}.practice-strip-icon,.room-cursor-icon,.practice-strip-cursor .room-cursor-icon,.practice-strip-cursor .room-cursor-play{width:3rem;height:3rem}button.room-cursor-readout{min-height:3rem}.practice-strip-clock,.practice-strip-next,.take-indicator,.room-cursor-back,.room-cursor-chip,.practice-strip-cursor .room-cursor-chip{height:3rem}.practice-strip-clock{padding-right:0}.practice-strip-clock-toggle,.practice-strip-layout-option{width:3rem;height:3rem}.practice-strip-title span,.practice-strip-clock-label{font-size:var(--fs-5)}.practice-strip-clock strong,.room-cursor-readout strong,.practice-strip-cursor .room-cursor-readout strong{font-size:var(--fs-2)}.room-cursor-readout span,.practice-strip-cursor .room-cursor-readout span{font-size:var(--fs-4)}.room-cursor-chip,.practice-strip-cursor .room-cursor-chip{min-width:3rem;font-size:var(--fs-4);justify-content:center}.practice-room-rail .practice-preview-panel-kicker{font-size:var(--fs-6)}.practice-room-rail button,.practice-room-rail select,.practice-room-rail .practice-toggle,.practice-room-rail .practice-toggle-compact,.practice-reading-landscape-option,.practice-reading-stepper-button,.practice-room-transport-actions button,.practice-run-page .ink-chip{min-height:3rem}.practice-room-rail input:not([type=checkbox]):not([type=radio]){min-height:3rem}.practice-room-rail .practice-toggle input,.practice-room-rail .practice-toggle-compact input{width:1.25rem;height:1.25rem}.practice-reading-stepper{grid-template-columns:minmax(0,1fr) 3rem 3.5rem 3rem}.practice-run-page .ink-chip.ink-finger{min-width:3rem}}