*,: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;--fs-1:2.125rem;--fs-2:1.5rem;--fs-3:1.1875rem;--fs-4:1rem;--fs-5:.8125rem;--fs-timer:4rem;--display-hero:clamp(2.125rem, 5.4vw, 3.75rem);--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;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--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);--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);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5;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{text-transform:uppercase;letter-spacing:.22em;color:var(--text-3);font-size:.72rem}.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);text-transform:uppercase;letter-spacing:.26em;color:var(--brass);font-size:.68rem;font-weight:500;display:inline-block}.library_entry-card-kicker-score{color:var(--brass)}.library_entry-card-kicker-exercise{color:var(--ok)}.section-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1.25rem;display:flex}.section-heading-block{flex-direction:column;gap:.5rem;display:flex}.section-header-actions{flex-wrap:wrap;gap:.6rem;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:1.02rem}.is-muted{color:var(--text-3)!important}.required{color:var(--brass);margin-left:.15rem}.loading{min-height:50vh;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.82rem;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);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);text-align:center;white-space:nowrap;border:1px solid transparent;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.5rem;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);border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--line-strong);color:var(--text-2);background:0 0;align-items:center;gap:.35rem;padding:.42rem .85rem;font-size:.8rem;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);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:1.3rem;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{flex-direction:column;gap:.45rem;margin-bottom:1.05rem;display:flex}.form-group label,.field-wrapper label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-2);font-size:.7rem;font-weight:500}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}textarea,select,.app-input,.app-select{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=text]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=email]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=password]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=number]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=url]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}input[type=search]{width:100%;font-family:var(--font-body);color:var(--text);background:var(--page-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-inset);padding:.7rem .85rem;font-size:.95rem;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;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;padding-right:2.2rem}.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:2.6rem}.form-section{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--page-2);margin-bottom:1.1rem;padding:1.25rem}.form-section-title{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.1rem;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);color:var(--brass);background:var(--brass-fill);border:1px solid var(--brass-edge);border-radius:var(--r-pill);padding:.1rem .55rem;font-size:.72rem}.form-section-collapsible{overflow:hidden}.form-intro-card{border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--r-md);background:var(--brass-fill);margin-bottom:1.25rem;padding:1rem 1.15rem}.form-intro-card p{color:var(--text-2);margin-top:.35rem}.form-actions,.inline-library_entry-form-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;padding-top:1.25rem;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:1.05rem var(--gutter);justify-content:space-between;align-items:center;gap:2rem;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:1.75rem}.logo,.dashboard-logo,.app-logo,.login-brand-mark{font-family:var(--font-display);align-items:center;gap:.6rem;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);justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.logo-text,.dashboard-logo span:last-child,.app-logo span:last-child,.login-brand-text{letter-spacing:.01em;color:var(--text);font-size:1.22rem;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:136px 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-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s-6);gap:var(--s-5);flex-direction:column;display:flex}.hero-demo-kicker,.sketch-kicker{font-size:var(--fs-5);color:var(--text-2);font-weight:600}.hero-demo-blocks{flex-direction:column;list-style:none;display:flex}.hero-demo-block{align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line);grid-template-columns:8px 1fr auto;display:grid}.hero-demo-block:last-child{border-bottom:none}.hero-demo-dot{border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) 18%, transparent);width:8px;height:8px}.hero-demo-block.is-done .hero-demo-dot{background:var(--accent)}.hero-demo-block.is-rest .hero-demo-dot{background:var(--break)}.hero-demo-block.is-active .hero-demo-dot{background:var(--action)}.hero-demo-title{font-size:var(--fs-4);color:var(--text);flex-direction:column;font-weight:500;display:flex}.hero-demo-block.is-done .hero-demo-title{color:var(--text-3)}.hero-demo-block.is-active .hero-demo-title{font-weight:600}.hero-demo-detail,.hero-demo-minutes{font-size:var(--fs-5);font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:400}.hero-demo-now{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line-strong);display:flex}.hero-demo-now-label{font-size:var(--fs-5);color:var(--text-2)}.hero-demo-timer{font-family:var(--font-display);font-size:var(--fs-1);font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1}.hero-demo-caption{font-size:var(--fs-5);color:var(--text-3);padding:0 var(--s-1);line-height:1.5}.features{padding:96px 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{padding:var(--s-2) 0;border-top:1px solid var(--line);flex-direction:column;gap:2px;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:96px}.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:96px 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;width:12px;height:12px;transition:transform var(--motion-base) var(--ease-standard);border-radius:1px;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) 96px}.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:16px;height:16px}.capsule-line.is-small{gap:8px;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:2rem 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}.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;border-top:1px solid var(--line);padding:2.2rem 0 2.2rem 3rem;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);color:var(--brass);font-size:1.1rem;font-style:italic;position:absolute;top:2.2rem;left:0}.settings-grid>.settings-card:first-child:before{top:0}.settings-card h3{margin-bottom:.4rem;font-size:1.3rem}.settings-card>p{color:var(--text-2);margin-bottom:1.5rem}.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);flex-direction:column;max-width:32rem;margin-bottom:1.5rem;display:flex}.settings-email-open{align-self:flex-start}.settings-email-form p{color:var(--text-2);margin-bottom:1rem}.settings-email-actions{flex-wrap:wrap;gap:.7rem;display:flex}.settings-email-notice{color:var(--text)}.settings-email-reauth{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;margin-bottom:1rem;display:flex}.settings-email-form .settings-email-reauth p{margin-bottom:0}.settings-card-plan{min-width:0}.settings-plan-name{border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);padding:.15rem .75rem;font-weight:600;display:inline-block}.settings-plan-name.is-premium{background:var(--warm-fill);border-color:var(--warm-edge)}.settings-plan-perks{color:var(--text-2);flex-direction:column;gap:.4rem;margin:-.75rem 0 1.5rem;padding-left:1.2rem;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)}.theme-selector-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.theme-card{text-align:left;background:var(--page-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;font-family:var(--font-body);color:var(--text);border-left:3px solid transparent;flex-direction:column;gap:.9rem;padding:1.2rem;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{flex-direction:column;gap:.15rem;display:flex}.theme-card-name{font-family:var(--font-display);font-size:1.1rem;font-weight:500}.theme-card-description{color:var(--text-2);margin-top:.25rem;font-size:.84rem}.theme-card-active-badge{font-family:var(--font-mono);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:.18rem .55rem;font-size:.62rem;position:absolute;top:.9rem;right:.9rem}.theme-selector-status{font-family:var(--font-mono);color:var(--text-3);margin-top:1rem;font-size:.78rem}.empty-state,.empty-library_entries,.empty-state-library,.empty-state-selector,.empty-state-session{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--page-2);flex-direction:column;align-items:center;gap:.7rem;padding:3rem 2rem;display:flex}.empty-state h3,.empty-library_entries h3{font-size:1.4rem}.empty-state p,.empty-library_entries p{color:var(--text-2);max-width:42ch}.empty-state-action{margin-top:.6rem}.section-header .add-library_entry-btn{flex-shrink:0}.library-summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem;display:grid}.library-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:.3rem;padding:1.2rem 1.4rem;display:flex}.library-summary-card strong,.library-summary-card .numeric-readout{font-family:var(--font-mono);color:var(--accent);font-size:2rem;font-weight:600;line-height:1}.library-summary-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-3);font-size:.66rem}.library_entry-filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.filter-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;background:0 0;align-items:center;padding:.4rem .95rem;font-size:.74rem;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:"";border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:.45rem}.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;border-top:1px solid var(--line);flex-direction:column;gap:.9rem;padding:1.75rem 0 1.75rem 3rem;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);color:var(--brass);font-size:.85rem;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:.8rem;display:flex}.library_entry-title{font-family:var(--font-display);font-size:1.4rem;font-weight:500;line-height:1.15}.library_entry-author{font-family:var(--font-display);color:var(--text-2);font-size:.98rem;font-style:italic}.library_entry-card-status,.session-card-status,.score-status-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);background:var(--page-2);white-space:nowrap;padding:.28rem .65rem;font-size:.64rem}.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);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--page-2);align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.74rem;display:inline-flex}.library_entry-library-meta{flex-wrap:wrap;gap:.5rem;display:flex}.library_entry-links{flex-wrap:wrap;gap:.45rem;display:flex}.library_entry-link-chip,.library_entry-pdf-link{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-sm);align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.74rem;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{flex-wrap:wrap;gap:.5rem;display:flex}.library_entry-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.9rem;display:flex}.library_entry-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.library_entry-info{flex-direction:column;gap:.3rem;display:flex}.library_entry-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.library_entry-item-details{flex-direction:column;gap:.15rem;display:flex}.session-items-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.session-duration-summary{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.session-duration-total{color:var(--accent);font-weight:600}.session-duration-breakdown{color:var(--text-2);font-size:.8rem}.drag-handle{cursor:grab;border-radius:var(--r-sm);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.1rem;padding:.1rem .2rem;display:flex}.drag-handle:active{cursor:grabbing}.drag-handle-grip{color:var(--text-3);font-size:1.05rem;line-height:1}.drag-handle-position{color:var(--text-2);font-size:.75rem}.library_entry-item.is-dragging{opacity:.55;border-color:var(--accent)}.tempo-marking-content{flex-direction:column;gap:.6rem;display:flex}.tempo-marking-header{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.tempo-marking-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);padding:.85rem 1rem}.tempo-marking-row,.tempo-marking-row-primary,.tempo-marking-row-secondary{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.tempo-marking-row-secondary{margin-top:.5rem}.bookmark-content{flex-direction:column;gap:.6rem;display:flex}.bookmark-header{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.bookmark-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);padding:.85rem 1rem}.bookmark-row,.bookmark-row-primary,.bookmark-row-secondary{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.bookmark-row-secondary{margin-top:.5rem}.bookmark-label-group{flex:100%}.bookmark-apply-row{border-left:2px solid var(--accent);margin-top:.5rem;padding-left:.7rem}.bookmark-apply-group{flex:100%}.status-selector{flex-wrap:wrap;gap:.5rem;display:flex}.status-selector label,.status-selector button,.status-option{border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;color:var(--text-2);background:0 0;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.85rem;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:.55rem}.kind-selector{flex-wrap:wrap;gap:.5rem;display:flex}.kind-selector label{border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;color:var(--text-2);background:0 0;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.85rem;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]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-selector input[type=radio]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;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{border-top:1px solid var(--line);flex-direction:column;gap:.55rem;margin-top:1.1rem;padding-top:1.1rem;display:flex}.type-choice-step{flex-direction:column;gap:1.4rem;display:flex}.type-choice-intro{flex-direction:column;gap:.5rem;display:flex}.type-choice-intro p{color:var(--text-2);max-width:54ch}.type-choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.type-choice{text-align:left;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;align-items:flex-start;gap:.75rem;padding:1.6rem 1.4rem;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);border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:1.9rem;line-height:1;display:inline-flex}.type-choice-name{font-family:var(--font-display);color:var(--text);font-size:1.45rem;font-weight:500}.type-choice-desc{color:var(--text-2);font-size:.92rem;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:.8rem;display:flex}.entry-type-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.26em;font-size:.68rem;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);letter-spacing:.04em;color:var(--text-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;background:0 0;padding:.3rem .8rem;font-size:.72rem;transition:border-color .18s,color .18s}.entry-change-type:hover{border-color:var(--accent);color:var(--text)}.objective-field{padding-top:.25rem}.objective-label{font-family:var(--font-display);color:var(--text);font-size:1.05rem}.objective-textarea{resize:vertical;min-height:5.5rem}.focus-chip-label{width:fit-content;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ok);border:1px solid var(--ok);background:var(--ok-fill);border-radius:var(--r-pill);padding:.18rem .6rem;font-size:.64rem}.exercise-card-objective{font-family:var(--font-display);color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1.02rem;line-height:1.4;display:-webkit-box;overflow:hidden}.exercise-focus-chip{font-family:var(--font-mono);color:var(--ok);border:1px solid var(--ok);background:var(--ok-fill);border-radius:var(--r-pill);align-items:center;padding:.22rem .6rem;font-size:.72rem;display:inline-flex}.library_entry-status-badge{font-family:var(--font-mono);color:var(--text-2);border:1px solid var(--line-strong);background:var(--page-2);border-radius:var(--r-pill);align-items:center;padding:.22rem .6rem;font-size:.68rem;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{flex-direction:column;gap:.8rem;display:flex}.links-list{flex-direction:column;gap:.6rem;display:flex}.link-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .9rem;display:flex}.link-item-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.link-item-label{color:var(--text);font-size:.9rem;font-weight:600}.link-item-url{font-family:var(--font-mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:32ch;font-size:.74rem;overflow:hidden}.library_entry-selector,.library_entry-form,.inline-library_entry-form{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--page-2);padding:1.4rem}.selected-library_entries{flex-direction:column;gap:.6rem;display:flex}.selector-list{flex-direction:column;gap:.4rem;max-height:320px;display:flex;overflow-y:auto}.selector-item{text-align:left;width:100%;font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .9rem;transition:border-color .18s;display:flex}.selector-item:hover{border-color:var(--accent-edge)}.selector-title{font-family:var(--font-display);color:var(--text);font-size:1rem}.selector-author{font-family:var(--font-mono);color:var(--text-3);font-size:.74rem}.selector-inline-create{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.8rem}.sessions-grid{counter-reset:setlist-entry;flex-direction:column;display:flex}.session-card{counter-increment:setlist-entry;border-top:1px solid var(--line);flex-direction:column;gap:.9rem;padding:1.75rem 0 1.75rem 3rem;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);color:var(--brass);font-size:.85rem;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:.8rem;display:flex}.session-card-content{flex-direction:column;gap:.5rem;display:flex}.session-card h3,.session-card-content h3{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.session-card-summary,.session-description{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.55;display:-webkit-box;overflow:hidden}.session-description-empty{color:var(--text-3);font-style:italic}.session-meta,.session-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-meta-quiet{font-family:var(--font-mono);color:var(--text-3);font-size:.74rem}.session-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.9rem;display:flex}.session-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.session-form-full{flex-direction:column;gap:1rem;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{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.6rem 1.8rem;display:flex}.slideover-heading{flex-direction:column;gap:.4rem;display:flex}.slideover-heading h2{font-size:1.6rem;font-weight:500}.slideover-body{flex:auto;padding:1.8rem;overflow-y:auto}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.slideover-topbar{padding:calc(.5rem + env(safe-area-inset-top)) .75rem .5rem;border-bottom:1px solid var(--line);flex:none;align-items:center;gap:.4rem;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:1.7rem;line-height:1}.slideover-topbar-title{font-family:var(--font-display);font-size:1.2rem;font-weight:500}.bottom-nav{z-index:900;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line-strong);box-shadow:var(--shadow-2);justify-content:space-around;align-items:stretch;gap:.25rem;display:flex;position:fixed;inset:auto 0 0}.dashboard:has(>.bottom-nav) .dashboard-content{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.bottom-nav-item{border-radius:var(--r-md);min-height:56px;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;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .25rem;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{letter-spacing:.01em;font-size:.68rem;font-weight:600}.inline-confirm{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-1);border-left-width:3px;flex-direction:column;gap:1rem;margin:1.2rem 0;padding:1.2rem 1.4rem;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{flex-direction:column;gap:.35rem;display:flex}.inline-confirm-title{font-size:1.15rem;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:.95rem;line-height:1.5}.inline-confirm-actions{flex-wrap:wrap;gap:.7rem;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{grid-template-columns:1.3fr .7fr;gap:2.5rem;display:grid}.practice-preview-sidebar{border-left:1px solid var(--line);padding-left:2.5rem}.practice-preview-shell,.practice-preview-sidebar{flex-direction:column;gap:1.1rem;display:flex}.practice-preview-hero{border-bottom:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-bottom:1.4rem;display:flex}.practice-preview-hero-topline{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.practice-preview-hero-chip,.practice-preview-panel-pill,.practice-preview-step-pill{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:.2rem .6rem;font-size:.72rem}.practice-preview-hero-copy{color:var(--text-2)}.practice-preview-lead{font-family:var(--font-display);margin-bottom:.4rem;font-size:1.5rem;font-weight:500}.practice-preview-focus-card{text-align:right;flex-shrink:0}.practice-preview-focus-card strong{font-family:var(--font-mono);color:var(--accent);font-size:2rem}.practice-preview-focus-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:.3rem;font-size:.66rem;display:block}.practice-preview-focus-card p{max-width:20ch;color:var(--text-3);margin-top:.3rem;font-size:.78rem}.practice-preview-panel,.practice-preview-itinerary-panel,.practice-preview-comments-panel,.practice-preview-note-panel{border-top:1px solid var(--line);padding-top:1.25rem}.practice-preview-panel-head,.practice-preview-panel-kicker{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.practice-preview-panel-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--brass);font-size:.66rem}.practice-preview-itinerary{flex-direction:column;display:flex}.practice-preview-itinerary-item{grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;display:grid}.practice-preview-step-duration{text-align:right;padding-top:.1rem}.practice-preview-itinerary-item.is-rest{opacity:.85}.practice-preview-step-rail{flex-direction:column;align-items:center;gap:.3rem;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);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.practice-preview-step-line{background:var(--line-strong);flex:1;width:1px;min-height:22px}.practice-preview-step-copy{flex-direction:column;gap:.3rem;padding-bottom:1.2rem;display:flex}.practice-preview-step-topline{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.practice-preview-step-icon{font-family:var(--font-mono);color:var(--text-3);font-size:.7rem}.practice-preview-step-kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:.66rem}.practice-preview-step-kind.is-rest{color:var(--warn)}.practice-preview-step-title{font-family:var(--font-display);color:var(--text);font-size:1.1rem}.practice-preview-step-subtitle{color:var(--text-2);font-size:.85rem}.practice-preview-step-duration{font-family:var(--font-mono);color:var(--text-3);font-size:.74rem}.practice-preview-comments-stack{flex-direction:column;gap:.7rem;display:flex}.practice-preview-comment-card{border-bottom:1px solid var(--line);padding:.75rem 0}.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:.5rem;display:flex}.practice-preview-comment-date{font-family:var(--font-mono);color:var(--text-3);font-size:.72rem}.practice-preview-empty-comments{color:var(--text-3);font-size:.88rem;font-style:italic}.practice-preview-summary-grid{background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;margin:1.5rem 0;display:grid}.practice-preview-summary-card{background:var(--page);flex-direction:column;gap:.2rem;padding:.9rem 1.1rem;display:flex}.practice-preview-summary-card span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:.66rem}.practice-preview-summary-card strong{font-family:var(--font-mono);color:var(--text);font-size:1.6rem}.practice-preview-summary-card p{color:var(--text-2);font-size:.8rem}.practice-preview-footer{margin-top:.4rem}.practice-preview-footer-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--brass);font-size:.66rem}.practice-preview-footer-copy{color:var(--text-2);font-size:.9rem}.practice-preview-actions{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.practice-run-page{min-height:100vh;padding:2rem}.practice-run-shell{max-width:1280px;margin:0 auto}.practice-run-hero{border-bottom:1px solid var(--line-strong);grid-template-columns:1.4fr .6fr;gap:1.5rem;margin-bottom:1.75rem;padding:0 0 1.5rem;display:grid}.practice-run-hero-copy,.practice-run-hero-aside{z-index:1;position:relative}.practice-run-hero-topline{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.practice-run-hero-chip{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:.2rem .6rem;font-size:.72rem}.practice-run-hero-copy h1{font-size:var(--display-lg);margin-bottom:.5rem;font-weight:400}.practice-run-hero-metrics{flex-wrap:wrap;gap:1.5rem;margin-top:1rem;display:flex}.practice-run-hero-metric{flex-direction:column;gap:.2rem;display:flex}.practice-run-hero-metric strong,.practice-run-hero-metric .numeric-readout{font-family:var(--font-mono);color:var(--accent);font-size:1.6rem;line-height:1}.practice-run-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.5rem;display:grid}.practice-stage,.practice-sidebar{flex-direction:column;gap:1.25rem;display:flex}.practice-completed-card,.practice-pdf-viewer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem}.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{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.practice-panel,.practice-control-card,.comment-sidebar-panel{border-top:1px solid var(--line);padding-top:1.25rem}.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:.5rem}.practice-metronome-readout{font-family:var(--font-mono);color:var(--text);text-align:center;font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:600}.practice-metronome-settings,.practice-metronome-signature-picker{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.practice-metronome-visualizer{flex-wrap:wrap;justify-content:center;gap:.6rem;padding:1.4rem 0;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);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;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{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem;display:grid}.practice-actions-row{flex-wrap:wrap;gap:.7rem;display:flex}.practice-toggle,.practice-toggle-compact{border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;color:var(--text-2);background:0 0;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.85rem;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);text-align:center;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding:1rem 0;font-size:3.6rem;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{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.practice-item-heading{font-family:var(--font-display);font-size:1.5rem;font-weight:500}.practice-item-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--brass);font-size:.66rem}.practice-item-order-pill{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:.2rem .6rem;font-size:.72rem}.practice-item-meta-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;margin:1rem 0;display:grid}.practice-progress-rail{border-top:1px solid var(--line);flex-direction:column;margin-bottom:1.75rem;display:flex}.practice-progress-step{border-bottom:1px solid var(--line);border-left:2px solid transparent;align-items:center;gap:.8rem;padding:.6rem 0 .6rem .9rem;transition:border-color .18s;display:flex}.practice-progress-numeral{font-family:var(--font-mono);color:var(--text-3);flex-shrink:0;width:2.6rem;font-size:.86rem}.practice-progress-label{font-family:var(--font-display);color:var(--text-2);font-size:.98rem}.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:.85rem;font-style:italic}.practice-inline-form{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);flex-direction:column;gap:.7rem;padding:1rem;display:flex}.practice-comments-list,.comment-sidebar-list{flex-direction:column;display:flex}.practice-comment-card{border-bottom:1px solid var(--line);padding:.75rem 0}.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);background:var(--page-2);padding:.9rem 1rem}.practice-comment-card-header,.practice-comment-topline,.practice-comment-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;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);color:var(--accent);border:1px solid var(--accent-edge);background:var(--accent-fill);border-radius:var(--r-pill);padding:.18rem .55rem;font-size:.7rem}.comment-sidebar-pill-muted,.practice-comment-status{color:var(--text-3);border-color:var(--line);background:var(--page-2)}.comment-sidebar-pill-group{flex-wrap:wrap;gap:.4rem;display:flex}.practice-comment-delete-btn{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.8rem;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{text-align:left;flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.practice-expired-banner{background:var(--err-fill);border:1px solid var(--err-edge);border-radius:var(--r-md);color:var(--err);margin-bottom:1rem;padding:.9rem 1.1rem;font-size:.9rem}.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{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.practice-wake-lock-unsupported{font-family:var(--font-mono);color:var(--text-3);font-size:.74rem}.editor-main-column,.editor-sidebar-column{flex-direction:column;gap:1.25rem;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{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--page-2);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem;display:flex}.practice-pdf-fallback-note{max-width:34ch;color:var(--text-2);margin:0;font-size:.92rem}.comment-load-more{align-self:center;margin-top:.4rem}.score-reader{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.score-reader-bar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex}.score-reader-chip{font-family:var(--font-body);color:var(--text);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;background:0 0;flex-shrink:0;padding:.3rem .75rem;font-size:.86rem}.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:.35rem;display:flex}.score-reader-setlist{border-right:1px solid var(--line);align-items:center;gap:.35rem;margin-right:.25rem;padding-right:.5rem;display:flex}.score-reader-setlist-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:12ch;font-size:.78rem;overflow:hidden}.score-reader-setlist-position{color:var(--text-muted);font-size:.78rem}.score-reader-chip--handoff{border-color:var(--accent);color:var(--accent);background:var(--accent-fill)}.score-reader-position,.score-reader-zoom{color:var(--text-muted);font-size:.78rem}.score-reader-saving{font-family:var(--font-mono);color:var(--accent);font-size:.76rem}.score-reader-stage{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;min-height:0;padding:.75rem;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(--accent);stroke-width:4px;stroke-dasharray:14 10;vector-effect:non-scaling-stroke}.marking-preview-rect{fill:none;stroke:var(--accent);stroke-width:3px;stroke-dasharray:10 8;vector-effect:non-scaling-stroke}.marking-system{fill:color-mix(in srgb, var(--accent) 7%, transparent);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.marking-system--selected{fill:color-mix(in srgb, var(--accent) 16%, transparent);stroke-width:4px}.marking-measure-line{stroke:var(--accent);stroke-width:1px;stroke-dasharray:6 6;opacity:.7;vector-effect:non-scaling-stroke}.marking-measure-number{fill:var(--accent);paint-order:stroke;stroke:var(--page-1);stroke-width:4px;vector-effect:non-scaling-stroke;font-size:26px;font-weight:600}.marking-bar{border-top:1px solid var(--line);background:var(--page-2);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.marking-stepper,.marking-first{align-items:center;gap:.35rem;display:flex}.marking-label{color:var(--text-2);font-size:.85rem}.marking-count{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:600}.marking-first input{width:5rem}.marking-hint,.marking-total{color:var(--text-2);font-size:.85rem}.marking-total{font-variant-numeric:tabular-nums;margin-left:auto}.marking-error{color:var(--err);font-size:.85rem}.jump-arc{stroke:var(--accent-deep);stroke-width:3px;stroke-linecap:round;opacity:.85;vector-effect:non-scaling-stroke}.jump-arc--unresolved{stroke:var(--err);stroke-dasharray:8 8}.jump-badge{fill:var(--paper);stroke:var(--accent-deep);stroke-width:3px;vector-effect:non-scaling-stroke}.jump-badge--selected{fill:color-mix(in srgb, var(--accent-deep) 25%, var(--paper));stroke-width:5px}.jump-badge--unresolved{stroke:var(--err);stroke-dasharray:6 5}.jump-badge-sign{fill:var(--accent-deep);paint-order:stroke;stroke:var(--paper);stroke-width:3px;vector-effect:non-scaling-stroke;font-size:20px;font-weight:700}.practice-cursor-bar{fill:color-mix(in srgb, var(--accent) 16%, transparent);pointer-events:none}.practice-cursor-head{stroke:var(--accent-deep);stroke-width:3px;stroke-linecap:round;opacity:.9;vector-effect:non-scaling-stroke;pointer-events:none}.practice-bar{border-top:1px solid var(--line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.6rem;padding:.4rem .75rem;display:flex}.setlist-move{align-items:center;gap:.3rem;margin-right:.4rem;display:inline-flex}.setlist-position{text-align:center;min-width:1.6rem;color:var(--accent);font-size:.85rem}.setlist-move-up,.setlist-move-down{padding:.25rem .5rem;line-height:1}.setlist-move-up:disabled,.setlist-move-down:disabled{opacity:.35;cursor:default}.practice-beat-orb{background:var(--line-strong);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:background 80ms,box-shadow 80ms,transform 80ms}.practice-beat-orb.is-active{background:var(--accent);opacity:.7}.practice-beat-orb.is-active.is-accent{background:var(--brass);opacity:1;box-shadow:0 0 0 5px var(--accent-fill);transform:scale(1.45)}@media (prefers-reduced-motion:reduce){.practice-beat-orb{transition:background 80ms,opacity 80ms}.practice-beat-orb.is-active,.practice-beat-orb.is-active.is-accent{transform:none}}.practice-readout,.practice-count-in{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.95rem}.practice-count-in{font-weight:600}.practice-settings{flex-direction:column;gap:.75rem;display:flex}.practice-run-summary{border:1px solid var(--accent-edge);border-radius:var(--r-sm);background:var(--accent-fill);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.practice-run-summary-line{font-variant-numeric:tabular-nums;font-weight:600}.practice-plan-row-name{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;padding:.25rem 0;display:flex}.practice-plan-row-name:disabled{cursor:default;opacity:.6}.ink-drawer-subtitle{letter-spacing:.02em;color:var(--text-2);text-transform:uppercase;margin-top:.5rem;font-size:.9rem;font-weight:700}.practice-upsell{border:1px solid var(--accent-edge);border-radius:var(--r-md);background:var(--page-2);box-shadow:var(--shadow-inset);border-left-width:3px;padding:1rem}.practice-upsell-lead{margin-bottom:.5rem;font-size:1rem;font-weight:600}.practice-upsell-list{color:var(--text-2);flex-direction:column;gap:.35rem;margin:0 0 .75rem 1.1rem;display:flex}.practice-prev-btn{min-inline-size:7rem}.jump-badge-engraved{fill:none;stroke:var(--accent-deep);stroke-width:3px;stroke-dasharray:6 6;opacity:.7;vector-effect:non-scaling-stroke}.jump-origin-pending{fill:color-mix(in srgb, var(--accent-deep) 14%, transparent);stroke:var(--accent-deep);stroke-width:3px;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.jump-badge-glyph{stroke:var(--accent-deep);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.jump-badge-target{fill:var(--accent-deep);paint-order:stroke;stroke:var(--paper);stroke-width:5px;vector-effect:non-scaling-stroke;font-size:22px;font-weight:600}.jump-target{stroke:var(--accent-deep);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.jump-bar{border-top:1px solid var(--line);background:var(--page-2);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.jump-kinds{flex-wrap:wrap;gap:.35rem;display:flex}.jump-hint,.jump-playback{color:var(--text-2);font-size:.85rem}.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:.85rem}.jump-error{color:var(--err);font-size:.85rem}.jump-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.jump-row--selected{background:var(--accent-fill)}.jump-row-sign{border:1px solid var(--accent-edge);border-radius:var(--r-sm);background:var(--page-1);min-width:3.2rem;color:var(--accent-deep);cursor:pointer;padding:.25rem .4rem;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:.85rem}.jump-row-unresolved{color:var(--err);font-size:.8rem}.jump-row-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.jump-row-pass-value{text-align:center;min-width:2ch;font-weight:600}.jump-row-label{flex-basis:100%;align-items:center;gap:.35rem;display:flex}.jump-row-label input{flex:1}.score-viewer-message{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--page-2);color:var(--text-2);padding:3rem 2rem}.score-viewer-message--failed{border-color:var(--err-edge);background:var(--err-fill)}.score-viewer-error-title{color:var(--err);margin-bottom:.5rem;font-size:1.3rem}.score-viewer-error-detail{font-family:var(--font-mono);color:var(--text-3);font-size:.8rem}.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);color:var(--paper-muted);font-size:.78rem}.score-page-ghost{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--page-2);flex-direction:column;gap:1.4rem;width:100%;max-width:820px;padding:2.5rem 2rem;display:flex}.score-ghost-staff{flex-direction:column;gap:1.4rem;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);color:var(--text-3);letter-spacing:.04em;font-size:.78rem}.score-upload-section{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--page-2);margin-bottom:1.5rem;padding:1.4rem}.score-upload-input input[type=file]{display:none}.score-upload-input{margin-top:.9rem}.score-upload-status{font-family:var(--font-mono);color:var(--accent);margin-top:.6rem;font-size:.78rem}.score-upload-progress{color:var(--text-2);margin-left:.5rem}.score-upload-error{color:var(--err);margin-top:.6rem;font-size:.85rem}.annotation-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);z-index:5;box-shadow:var(--shadow-1);flex-wrap:wrap;align-items:center;gap:.7rem;padding:.7rem 1rem;display:flex;position:sticky;top:1rem}.annotation-tools{gap:.4rem;display:flex}.annotation-tools button,.annotation-tool{border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 .55rem;font-size:.8rem;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:.4rem;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);box-shadow:var(--shadow-2);min-width:240px;padding:.9rem}.annotation-text-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--brass);margin-bottom:.5rem;font-size:.64rem;display:block}.annotation-text-actions{justify-content:flex-end;gap:.5rem;margin-top:.7rem;display:flex}.annotation-note-text{white-space:pre-wrap;color:var(--text);font-size:.9rem}.ink-toolbar{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.4rem .9rem;padding:.5rem 1rem;display:flex}.ink-tools,.ink-presets,.ink-chips,.ink-eraser-modes,.ink-sliders{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.ink-sliders{gap:.3rem .9rem}.ink-tool{min-height:40px;font-family:var(--font-body);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;padding:0 .7rem;font-size:.78rem;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{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{min-height:40px;font-family:var(--font-body);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;align-items:center;gap:.3rem;padding:0 .75rem;font-size:.78rem;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:.45rem;display:inline-flex}.ink-slider-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-size:.66rem}.ink-slider input[type=range]{width:118px;height:40px;accent-color:var(--accent);cursor:pointer}.ink-hint{color:var(--text-3);font-size:.74rem}.ink-pen-only{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-edge);border-radius:var(--r-pill);padding:.25rem .6rem;font-size:.64rem}.ink-sync{font-family:var(--font-mono);white-space:nowrap;color:var(--text-3);border:1px solid var(--line);border-radius:var(--r-pill);align-items:center;gap:.5rem;margin-left:auto;padding:.28rem .7rem;font-size:.72rem;display:inline-flex}.ink-sync .ink-chip{min-height:32px;padding:0 .6rem;font-size:.7rem}.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{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.reader-drawer-title{font-family:var(--font-display);font-size:1.3rem;font-weight:500}.reader-drawer-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:.7rem;padding:1.1rem;display:flex;overflow-y:auto}.ink-drawer-error{color:var(--err);background:var(--err-fill);border:1px solid var(--err-edge);border-radius:var(--r-sm);padding:.6rem .75rem;font-size:.82rem}.ink-layer-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--page-2);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem .65rem;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;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:5rem;font-size:.9rem;overflow:hidden}.ink-layer-actions{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.ink-layer-actions .ink-chip{min-height:36px;padding:0 .55rem;font-size:.72rem}.ink-confirm{border-top:1px solid var(--line);color:var(--text-2);flex-direction:column;flex:1 0 100%;gap:.6rem;margin-top:.15rem;padding-top:.6rem;font-size:.85rem;display:flex}.ink-confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.ink-layer-new{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.ink-layer-new .app-input{flex:auto;min-width:0}.ink-stamp-categories{flex-wrap:wrap;gap:.35rem;display:flex}.ink-stamp-category{min-height:38px;font-family:var(--font-body);color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;padding:0 .7rem;font-size:.76rem}.ink-stamp-category--active{color:var(--accent);border-color:var(--accent);background:var(--accent-fill)}.ink-stamp-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;display:grid}.ink-stamp-button{min-height:92px;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;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .35rem;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:1.5rem;font-weight:600;line-height:1}.ink-stamp-label{text-align:center;color:var(--text-3);font-size:.68rem;line-height:1.2}.ink-stamp-button--active .ink-stamp-label{color:var(--accent)}.ink-preset-editor{flex-direction:column;gap:.8rem;display:flex}.ink-toolbar .annotation-palette{gap:.35rem}.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(--accent))}.ink-stamp-text{font-family:var(--font-display);font-weight:600}.ink-marquee{fill:var(--accent-fill-2);stroke:var(--accent);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(--accent);stroke-width:2px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px var(--paper))}.ink-handle{fill:var(--accent);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:.9rem;margin-bottom:1.25rem;display:flex}.error-message-surface{background:var(--err-fill);border:1px solid var(--err-edge);border-radius:var(--r-md);padding:1rem 1.2rem}.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{flex-direction:column;gap:.2rem;display:flex}.error-message-label{color:var(--text);font-weight:600}.error-message-body{color:var(--text-2);font-size:.9rem}.practice-run-hero-copy,.practice-run-hero-aside{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.practice-run-hero-copy h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400}.practice-run-hero-copy>p{color:var(--text-2)}.practice-run-hero-metric span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:.64rem}.practice-run-status-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);background:var(--page-2);padding:.3rem .7rem;font-size:.66rem}.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);flex-direction:column;gap:1.4rem;padding:1.75rem;display:flex}.practice-item-card.is-expired{border-color:var(--warn)}.practice-item-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:0;display:flex}.practice-item-heading{font-family:var(--font-body);flex-direction:column;gap:.45rem;min-width:0;font-size:1rem;font-weight:400;display:flex}.practice-item-heading h3{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);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);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;font-size:.72rem}.practice-item-atril-link:hover{color:var(--accent-bright)}.practice-meta-card{background:var(--surface);flex-direction:column;gap:.3rem;padding:.9rem 1.1rem;display:flex}.practice-meta-card span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:.64rem}.practice-meta-card strong{font-family:var(--font-mono);color:var(--text);font-size:1.1rem}.practice-meta-card-accent strong{color:var(--accent)}.practice-countdown-block,.practice-countdown-block-static{flex-direction:column;align-items:center;gap:.2rem;padding:.5rem 1rem;display:flex}.practice-countdown-block strong,.practice-countdown-block-static strong{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.6rem;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);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);font-size:.66rem}.practice-countdown-block.is-expired strong{color:var(--err)}.practice-controls-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.practice-control-card,.practice-panel,.practice-completed-card{flex-direction:column;gap:1rem;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{margin-top:.2rem;font-size:1.15rem}.practice-inline-form{flex-flow:wrap;align-items:center}.practice-inline-form input[type=number]{max-width:7rem}.practice-tap-tempo{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.practice-tap-tempo-btn{font-family:var(--font-body);border:1px dashed var(--line-strong);color:var(--text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border-radius:999px;padding:.55rem 1.4rem;font-size:.92rem;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);color:var(--text-3);font-size:.74rem}.practice-metronome-pulse-track{flex-wrap:wrap;justify-content:center;gap:.6rem;padding:.4rem 0;display:flex}.practice-metronome-pulse-track.is-compound{gap:.3rem}.practice-metronome-pulse-track.is-compound .practice-metronome-pulse:nth-child(3n+1){margin-left:.9rem}.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:1.05rem}.practice-metronome-visualizer-topline span{font-family:var(--font-mono);color:var(--text-3);font-size:.74rem}.practice-metronome-panel{align-items:center;gap:1rem;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{text-align:left;flex-direction:column;gap:.2rem;font-size:1rem;display:flex}.practice-metronome-readout strong{font-family:var(--font-mono);color:var(--text);font-size:1.3rem}.practice-metronome-readout span{font-family:var(--font-mono);color:var(--text-3);font-size:.72rem}.practice-completed-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.practice-completed-head>div:first-child{flex-direction:column;gap:.3rem;display:flex}.practice-completed-card .practice-comment-card{flex-direction:column;gap:.25rem;display:flex}.practice-comment-card-current{border-left:2px solid var(--accent);background:var(--accent-fill);padding-left:.9rem}.practice-toggle-disabled{opacity:.5;cursor:not-allowed}.editor-with-sidebar{grid-template-columns:1fr 320px;align-items:start;gap:1.5rem;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{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(12rem,.24fr) minmax(0,1fr) minmax(15rem,.3fr);align-items:stretch;gap:1rem;min-height:calc(100vh - 13rem);display:grid}.practice-room-queue,.practice-room-score,.practice-room-rail{min-width:0}.practice-room-queue{border-right:1px solid var(--line);flex-direction:column;gap:1rem;min-height:0;padding:1rem 1rem 0 0;display:flex}.practice-room-queue-header,.practice-room-score-header{justify-content:space-between;align-items:flex-start;gap:.8rem;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:1.45rem;font-weight:500;line-height:1.1}.practice-room-queue-count{color:var(--text-3);font-size:.68rem}.practice-room-queue-list{flex-direction:column;flex:auto;gap:.35rem;min-height:0;padding-right:.2rem;list-style:none;display:flex;overflow-y:auto}.practice-room-queue-item{border-radius:var(--r-sm);min-height:3.2rem;color:var(--text-2);border:1px solid transparent;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.55rem .65rem;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);border-radius:50%;place-items:center;font-size:.7rem;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{flex-direction:column;gap:.18rem;min-width:0;display:flex}.practice-room-queue-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.practice-room-queue-status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.6rem}.practice-room-score{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);min-height:0;box-shadow:var(--shadow-1);flex-direction:column;gap:.8rem;padding:1rem;display:flex;overflow:hidden}.practice-room-score-header{border-bottom:1px solid var(--line);flex:none;align-items:baseline;padding-bottom:.75rem}.practice-room-score-header h3{margin-top:.3rem;font-size:clamp(1.35rem,2vw,2rem)}.practice-room-score-header p{color:var(--text-2);font-family:var(--font-display);margin-top:.3rem;font-style:italic}.practice-room-reader-status{border-left:2px solid var(--accent);color:var(--text-2);background:var(--accent-fill);flex:none;margin:0;padding:.55rem .7rem;font-size:.78rem}.practice-room-reader-status.is-error{border-left-color:var(--err);background:var(--err-fill);color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.practice-room-reader-retry{flex:none;min-height:2.5rem}.practice-run-load-error{max-width:48rem;margin:2rem auto}.practice-room-reader{border-radius:var(--r-md);background:var(--page-2);flex:auto;min-height:0;display:flex;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:.5rem}.practice-room-score .score-reader-frame{max-width:100%}.practice-room-rest-card{border:1px dashed var(--break);border-radius:var(--r-lg);background:var(--break-fill);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.8rem;min-height:28rem;padding:2rem;display:flex}.practice-room-rest-card h4{font-family:var(--font-display);font-size:2rem;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{flex-direction:column;gap:1rem;min-height:0;padding-left:.2rem;display:flex;overflow-y:auto}.practice-room-rail-card,.practice-room-tempo-card,.practice-room-notes-card{padding-top:.9rem}.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:.8rem}.practice-room-rail-card .practice-inline-form{align-items:stretch}.practice-room-rail-card .practice-inline-form input{min-width:5rem}.practice-room-rail-card .practice-inline-form button{white-space:nowrap}.practice-room-tap{margin-top:.65rem}.practice-room-rail-actions{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.practice-room-comments{max-height:11rem;margin-top:.8rem;overflow-y:auto}.practice-room-comments .practice-comment-card{border-top:1px solid var(--line);padding:.55rem 0}.practice-room-comments .practice-comment-card:first-child{border-top:0}.practice-room-continuity{flex-direction:column;gap:.7rem;margin-top:auto;display:flex}.practice-room-continuity .practice-panel-header{margin-bottom:0}.practice-room-continuity p{color:var(--text-2);font-size:.82rem;line-height:1.5}.practice-room-continuity-facts{color:var(--accent);flex-wrap:wrap;gap:.45rem .8rem;font-size:.68rem;display:flex}.practice-room-continuity textarea{min-height:5rem}.practice-room-transport{z-index:6;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);align-items:center;gap:1rem;padding:.8rem 1rem;display:grid;position:sticky;bottom:0}.practice-room-transport-copy{flex-wrap:wrap;align-items:baseline;gap:.45rem .9rem;min-width:0;display:flex}.practice-room-transport-copy>span:not(.practice-room-cursor-readout){color:var(--text-3);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.66rem}.practice-room-cursor-readout{color:var(--accent);font-family:var(--font-mono);flex-basis:100%;font-size:.68rem}.practice-room-transport-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;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{flex-direction:column;gap:1rem;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:.25rem}@media (width>=1024px) and (width<=1199px){.practice-room-layout{grid-template-columns:minmax(10.5rem,.2fr) minmax(0,1fr) minmax(13rem,.28fr);gap:.75rem}.practice-room-queue{padding-right:.7rem}}@media (width<=1023px){.practice-room-layout.is-touch{min-height:calc(100svh - 11rem);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(17rem,.42fr);gap:.75rem;max-width:100%;min-height:calc(100dvh - 11rem);overflow-x:clip}.practice-room-layout.is-touch .practice-room-touch-bar{grid-area:1/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;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-touch-action{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-width:0;min-height:48px;color:var(--text-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .6rem;font-size:.68rem;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(.8rem + 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:.85rem 1.2rem}.hero{padding:104px 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-card,.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:1.2rem}.practice-room-layout.is-touch{min-height:calc(100svh - 10rem);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);gap:.65rem}.practice-room-layout.is-touch .practice-room-touch-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.practice-room-touch-action{letter-spacing:.04em;min-height:48px;padding:.35rem .25rem;font-size:.58rem}.practice-room-layout.is-touch .practice-room-score{grid-area:2/1;min-height:0;padding:.7rem}.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:.45rem}.practice-room-layout.is-touch .practice-room-score-header h3{font-size:clamp(1.15rem,6vw,1.65rem)}.practice-room-layout.is-touch .practice-room-transport{padding:.7rem .75rem calc(.7rem + env(safe-area-inset-bottom));grid-area:3/1;grid-template-columns:1fr;gap:.65rem}.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:.3rem .6rem;padding:.45rem .7rem}.ink-tool,.ink-chip{padding:0 .55rem;font-size:.72rem}.ink-slider input[type=range]{width:88px}.reader-drawer{border-left:none;width:100%}.dashboard-stage,.practice-run-hero{padding:1.5rem}.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:1.2rem}.slideover-body{padding-bottom:calc(1.8rem + 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}.shape-history{margin:0 0 var(--s-6);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);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.progress-milestone{padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:2px;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{background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:1px;margin-top:1px;display:flex;overflow:hidden}.progress-charts-empty{background:var(--surface);flex-direction:column;gap:.4rem;padding:1.2rem 1.4rem;display:flex}.progress-charts-grid{background:var(--line);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1px;display:grid}.progress-chart-card{background:var(--surface);flex-direction:column;gap:.75rem;padding:1.15rem 1.4rem 1rem;display:flex}.progress-chart-daily,.progress-chart-weekly{min-width:0}.progress-chart-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.progress-chart-kicker,.progress-charts-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-size:.62rem}.progress-empty-note{color:var(--text-3);margin:0;font-size:.85rem}.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:.5rem;display:flex}.progress-axis-tick{color:var(--text-3);font-size:.7rem}.progress-axis-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-size:.58rem}.progress-chart-calendar{gap:.7rem}.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:.3rem;display:flex}.progress-legend-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:.58rem}.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{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.tempo-chart-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.tempo-chart-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-size:.62rem}.tempo-chart-latest{color:var(--text);font-size:1.1rem}.tempo-chart-target-chip{font-family:var(--font-mono);color:var(--warn);border:1px dashed var(--warn);border-radius:var(--r-pill);margin-left:auto;padding:.1rem .55rem;font-size:.7rem}.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);color:var(--text-3);font-size:.62rem}.tempo-chart-empty-note{color:var(--text-3);margin:0;font-size:.82rem}.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;letter-spacing:-.02em;color:var(--text);font-size:clamp(3.4rem,11vw,7.5rem);font-weight:700;line-height:.94}.practice-countdown-block-hero span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--text-3);font-size:.72rem}.practice-countdown-block-hero.is-expired strong{color:var(--warm)}.is-rest .practice-countdown-block-hero strong{color:var(--break)}.practice-hud{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:1.75rem;margin:0 0 1.75rem;padding:1.1rem 0;display:grid}.practice-hud-bars{flex-direction:column;gap:.95rem;min-width:0;display:flex}.practice-progressbar{flex-direction:column;min-width:0;display:flex}.practice-progressbar-top{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.practice-progressbar-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-3);font-size:.66rem}.practice-progressbar-value{color:var(--text-2);font-size:.8rem}.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{text-align:right;flex-direction:column;gap:.25rem;max-width:18rem;display:flex}.practice-upnext-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--accent-bright);font-size:.64rem}.practice-upnext-title{color:var(--text);font-size:1.2rem;font-weight:600;line-height:1.2}.practice-upnext.is-last .practice-upnext-title{color:var(--text-3);font-weight:500}.practice-actions-row{flex-wrap:wrap;gap:.75rem}.practice-actions-row .dashboard-btn-primary,.practice-actions-row .dashboard-btn-secondary{min-height:52px;padding-inline:1.5rem;font-size:1rem}.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{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.library-search{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.library-search-icon{color:var(--text-3);pointer-events:none;font-size:1.05rem;position:absolute;left:.85rem}.library-search-input{width:100%;padding-left:2.4rem}.library-view-toggle{background:var(--page-2);border:1px solid var(--line);border-radius:var(--r-pill);gap:.25rem;padding:.25rem;display:inline-flex}.view-toggle-btn{color:var(--text-3);border-radius:var(--r-pill);cursor:pointer;width:38px;height:34px;transition:color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard);background:0 0;border:none;font-size:1rem}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{color:var(--on-accent);background:var(--accent)}.library_entries-list{flex-direction:column;gap:.6rem;display:flex}.library_entries-list .library_entry-card{flex-flow:wrap;align-items:center;gap:.6rem 1.25rem;padding:.9rem 1.25rem}.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{flex-wrap:wrap;flex:16rem;align-items:baseline;gap:.2rem .75rem;min-width:0;display:flex}.library_entries-list .library_entry-title{font-size:1.1rem}.library_entries-list .library_entry-library-meta{margin-left:auto}.library_entry-difficulty-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);padding:.16rem .5rem;font-size:.66rem;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{color:var(--accent-bright);background:var(--accent-fill);border:1px solid var(--accent-edge);border-radius:var(--r-pill);padding:.16rem .55rem;font-size:.72rem}.library-collections-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;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{color:var(--text-2);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .85rem;font-size:.84rem;display:inline-flex}.collection-chip.active .collection-chip-label{color:var(--accent-bright)}.collection-chip-count{color:var(--text-3);font-size:.72rem}.collection-chip-delete{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:.35rem .6rem .35rem .3rem;font-size:1rem;line-height:1}.collection-chip-delete:hover{color:var(--err)}.library-new-collection{gap:.4rem;margin-left:auto;display:inline-flex}.library-new-collection-input{width:12rem}.template-picker{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.template-picker-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);font-size:.78rem}.template-chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;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{color:var(--text-2);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .85rem;font-size:.84rem;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{color:var(--text-3);font-size:.72rem}.template-chip-delete{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:.35rem .6rem .35rem .3rem;font-size:1rem;line-height:1}.template-chip-delete:hover{color:var(--err)}.library_entry-collections{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.4rem;display:flex}.collection-member-chip{color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);align-items:center;gap:.3rem;padding:.16rem .3rem .16rem .6rem;font-size:.74rem;display:inline-flex}.collection-member-remove{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.95rem;line-height:1}.collection-member-remove:hover{color:var(--err)}.collection-add-select{max-width:12rem;padding:.25rem .5rem;font-size:.78rem}.today-next-checkpoint{margin-top:var(--s-2);color:var(--text-2);font-size:var(--fs-5)}.plan-adherence{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:.75rem;padding:1.15rem 1.4rem 1rem;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{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex}.plan-legend-swatch{border-radius:2px;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{border-top:1px solid var(--line);flex-direction:column;gap:.35rem;margin:0;padding:.5rem 0 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);background:var(--surface);color:var(--text);min-width:2.25rem;min-height:2.25rem;padding:0 var(--s-3);font:inherit;cursor:pointer;border-radius:999px}.agenda-week-label{color:var(--text);font-weight:700}.agenda-tally{font-size:var(--fs-5);color:var(--text-2);padding:2px var(--s-2);background:var(--surface-2);border-radius:999px}.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{flex-direction:column;gap:4px;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);align-self:flex-start;padding:2px 6px}.agenda-move{font-size:var(--fs-5);color:var(--text-2);flex-direction:column;gap:2px;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:4px 6px}.agenda-slot-start{background:var(--action);color:var(--on-action);font:inherit;font-size:var(--fs-5);padding:4px var(--s-3);cursor:pointer;border:none;border-radius:999px;align-self:flex-start;font-weight:700}.agenda-slot-start.is-secondary,.agenda-plan.is-secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px}.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:2px var(--s-2);border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);border-radius:999px;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:6px var(--s-2);flex:8rem}.agenda-event-field{min-width:0;font-size:var(--fs-5);color:var(--text-2);flex-direction:column;flex:8rem;gap:2px;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:4px 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{flex-direction:column;gap:4px;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{gap:var(--s-2);color:var(--text);flex-direction:column;margin:0;padding-left:1.2rem;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}.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:6px 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);background:var(--surface);border:2px solid var(--line-strong);border-radius:2px;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);padding:0 var(--s-2);border-radius:999px}.goal-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}