@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--text-8xl:6rem;--text-9xl:8rem;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--tracking-widest:.1em;--radius-lg:var(--radius);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-ui:"Geist", ui-sans-serif, system-ui, sans-serif;--font-heading:"Newsreader", ui-serif, Georgia, "Times New Roman", Times, serif;--text-4xs:.5rem;--text-3xs:.5625rem;--text-2xs:.625rem;--text-button:13px;--text-button--line-height:1.4}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-\[37px\]{height:37px}.h-px{height:1px}.max-h-\(--reka-dropdown-menu-content-available-height\){max-height:var(--reka-dropdown-menu-content-available-height)}.max-h-\(--reka-select-content-available-height\){max-height:var(--reka-select-content-available-height)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-3\/4{width:75%}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[156px\]{width:156px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--reka-select-trigger-width\)\]{min-width:var(--reka-select-trigger-width)}.shrink-0{flex-shrink:0}.origin-\(--reka-dropdown-menu-content-transform-origin\){transform-origin:var(--reka-dropdown-menu-content-transform-origin)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[9px\]{gap:9px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-\[var\(--faint-ink\)\]{border-color:var(--faint-ink)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-input{border-color:var(--input)}.bg-\[rgba\(251\,244\,227\,0\.78\)\]{background-color:#fbf4e3c7}.bg-\[var\(--brass\)\]{background-color:var(--brass)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.box-decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.box-decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[18px\]{padding-inline:18px}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-\[10px\]{padding-block:10px}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-button{font-size:var(--text-button);line-height:var(--tw-leading,var(--text-button--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[font-size\:var\(--text-button\)\]{font-size:var(--text-button)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.\[line-height\:var\(--text-button--line-height\)\]{line-height:var(--text-button--line-height)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.overflow-ellipsis,.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--vellum-strong\)\]{color:var(--vellum-strong)}.text-black{color:var(--color-black)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(58\,42\,27\,0\.08\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#3a2a1b14);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,250\,240\,0\.2\)\,0_1px_0_rgba\(21\,17\,13\,0\.12\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#fffaf033), 0 1px 0 var(--tw-shadow-color,#15110d1f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.running\!{animation-play-state:running!important}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[rgba\(26\,23\,20\,0\.18\)\]:hover{border-color:#1a17142e}.hover\:bg-\[color-mix\(in_oklab\,var\(--brass\)_88\%\,var\(--ink\)\)\]:hover{background-color:var(--brass)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklab\,var\(--brass\)_88\%\,var\(--ink\)\)\]:hover{background-color:color-mix(in oklab,var(--brass) 88%,var(--ink))}}.hover\:bg-\[var\(--vellum-strong\)\]:hover{background-color:var(--vellum-strong)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.has-\[\>svg\]\:pr-\[18px\]:has(>svg){padding-right:18px}.has-\[\>svg\]\:pl-\[15px\]:has(>svg){padding-left:15px}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:calc(var(--spacing) * 0)}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-gray-700:is(.dark *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-gray-200:is(.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-gray-600:is(.dark *){color:var(--color-gray-600)}.dark\:text-white:is(.dark *){color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-gray-900:is(.dark *):hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-gray-200:is(.dark *):hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:is(.dark *):hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:is(.dark *):focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:is(.dark *):focus{border-color:var(--color-blue-800)}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:active\:bg-gray-700:is(.dark *):active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:is(.dark *):active{color:var(--color-gray-300)}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:fill-current svg{fill:currentColor}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]),.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-4 svg:not([class*="'size-'"]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\\\'text-\\\'\]\)\]\:text-muted-foreground svg:not([class*="'text-'"]){color:var(--muted-foreground)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--parchment:#f1e8d2;--vellum:#fbf4e3;--vellum-strong:#fffaf0;--page:var(--parchment);--page-2:#efe6d2;--surface:var(--vellum-strong);--hair:var(--faint-ink);--ink:#1a1714;--muted-ink:#5a5043;--faint-ink:#1a17141f;--rosette:#a02919;--rosette-dark:#72190f;--brass:#ce9140;--spruce:#536f49;--spruce-dark:#35492f;--shadow:#3a2a1b2e;--panel:#fbf4e3db;--radius:8px;--background:var(--vellum);--foreground:var(--ink);--card:var(--vellum-strong);--card-foreground:var(--ink);--popover:var(--vellum-strong);--popover-foreground:var(--ink);--primary:var(--ink);--primary-foreground:var(--vellum);--secondary:#ce914029;--secondary-foreground:var(--ink);--muted:#5a50431f;--muted-foreground:var(--muted-ink);--accent:#536f4924;--accent-foreground:var(--ink);--destructive:var(--rosette);--destructive-foreground:var(--vellum-strong);--border:#1a171424;--input:#1a17142e;--ring:#a029198c;--chart-1:var(--rosette);--chart-2:var(--brass);--chart-3:var(--spruce);--chart-4:var(--rosette-dark);--chart-5:var(--spruce-dark);--sidebar:var(--vellum);--sidebar-foreground:var(--ink);--sidebar-primary:var(--ink);--sidebar-primary-foreground:var(--vellum);--sidebar-accent:#a029191f;--sidebar-accent-foreground:var(--ink);--sidebar-border:#1a171424;--sidebar-ring:#a029198c}.dark{--background:var(--ink);--foreground:var(--vellum);--card:#211d18;--card-foreground:var(--vellum);--popover:#211d18;--popover-foreground:var(--vellum);--primary:var(--vellum);--primary-foreground:var(--ink);--secondary:#ce914033;--secondary-foreground:var(--vellum);--muted:#fbf4e324;--muted-foreground:#fbf4e3b8;--accent:#ce91402e;--accent-foreground:var(--vellum);--destructive:#d45540;--destructive-foreground:var(--vellum-strong);--border:#fbf4e329;--input:#fbf4e333;--ring:#ce91408f;--sidebar:#211d18;--sidebar-foreground:var(--vellum);--sidebar-primary:var(--vellum);--sidebar-primary-foreground:var(--ink);--sidebar-accent:#ce91402e;--sidebar-accent-foreground:var(--vellum);--sidebar-border:#fbf4e329;--sidebar-ring:#ce91408f}*{box-sizing:border-box}html{background:var(--ink);min-height:100%}body{min-height:100vh;color:var(--ink);background:linear-gradient(135deg, #fffaf0f0, #f1e8d2f2), var(--parchment);font-family:var(--font-sans);margin:0}body:before{z-index:-2;content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 30px,#1a17140f 31px,#0000 32px 38px,#1a17140e 39px,#0000 40px 46px,#1a17140d 47px,#0000 48px 54px,#1a17140b 55px,#0000 56px 62px,#1a17140a 63px,#0000 64px 120px);position:fixed;inset:0}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}@keyframes rPopoverLift{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rPopoverLiftUp{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.rosette-popover-chrome{z-index:40;color:var(--ink);background:var(--surface);border:1px solid var(--hair);border-radius:6px;padding:5px;box-shadow:inset 0 -1px #ffffff8c,0 18px 36px -16px #1a161138,0 4px 10px -4px #1a161124}.rosette-popover-chrome[data-state=open]{animation:.18s cubic-bezier(.2,.7,.2,1) rPopoverLift}.rosette-popover-chrome[data-side=top][data-state=open]{animation-name:rPopoverLiftUp}.rosette-popover-item{width:100%;color:var(--ink);cursor:pointer;font:inherit;font-size:var(--text-sm);text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border-radius:4px;outline:none;align-items:center;gap:10px;padding:7px 10px;line-height:1;transition:background .1s,color .1s;display:flex}.rosette-popover-item:hover,.rosette-popover-item:focus,.rosette-popover-item[data-highlighted],.rosette-popover-item[data-state=checked],.rosette-popover-item.is-active{color:var(--ink);background:var(--page-2)}.rosette-popover-item[data-disabled]{pointer-events:none;opacity:.5}.rosette-popover-item[data-inset]{padding-left:32px}.rosette-popover-item svg{color:currentColor;pointer-events:none;stroke-width:1.4px;flex-shrink:0;width:13px;height:13px}.rosette-popover-item[data-variant=destructive]{color:var(--rosette)}.marketing-page{min-height:100vh;color:var(--ink);background:linear-gradient(135deg, #fffaf0c7, #f1e8d2e6), var(--parchment);font-family:var(--font-sans)}.marketing-container{width:min(100%,1240px);margin:0 auto;padding:0 clamp(20px,5%,56px)}.marketing-page em{font-family:var(--font-heading);font-style:italic}.marketing-nav{border-bottom:1px solid #1a17141a;align-items:center;gap:28px;padding:26px 0;display:flex}.marketing-brand{align-items:center;gap:12px;min-width:max-content;text-decoration:none;display:inline-flex}.marketing-brand span{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:1}.marketing-brand small{color:#5a5043b8;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;border-left:1px solid #1a171424;margin-left:2px;padding-left:12px;font-weight:500}.marketing-rosette-mark{flex:none;display:block}.marketing-nav-links{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:12px 28px;display:flex}.marketing-nav-links a,.marketing-link-button{color:var(--muted-ink);font-size:var(--text-sm);background:0 0;border:0;font-weight:500;text-decoration:none;transition:color .14s,background .14s,transform .14s}.marketing-nav-links a:hover,.marketing-link-button:hover{color:var(--brass)}.marketing-nav-cta{color:var(--vellum-strong);background:var(--ink);font-size:var(--text-sm);border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #ffffff1a}.marketing-nav-cta:hover{color:var(--vellum-strong);background:var(--brass);transform:translateY(-1px)}.marketing-hero{padding:56px 0 78px}.marketing-hero-content{grid-template-columns:minmax(0,1.5fr) minmax(300px,420px);align-items:start;gap:clamp(30px,4%,48px);display:grid}.marketing-hero-copy{min-width:0}.marketing-eyebrow{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 32px;font-weight:500;line-height:1;display:flex}.marketing-eyebrow span{background:var(--brass);width:32px;height:1px}.marketing-hero h1{max-width:17ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-7xl);letter-spacing:0;margin:0;font-weight:400;line-height:.96}.marketing-hero h1 em,.marketing-section-head h2 em,.marketing-feature-copy h3 em,.marketing-pricing h2 em{color:var(--brass)}.marketing-hero-lead{max-width:56ch;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xl);margin:28px 0 0;font-style:italic;line-height:1.45}.marketing-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:32px;display:flex}.marketing-primary-action,.marketing-secondary-action{align-items:center;text-decoration:none;display:inline-flex}.marketing-primary-action{color:var(--vellum-strong);background:var(--ink);font-size:var(--text-sm);border:0;border-radius:8px;gap:10px;padding:14px 24px;font-weight:600;transition:background .14s,transform .14s;box-shadow:inset 0 1px #ffffff1a,0 18px 36px -28px #1a171499}.marketing-primary-action:hover{color:var(--vellum-strong);background:var(--brass);transform:translateY(-1px)}.marketing-primary-action span{color:#fffaf0eb;font-family:var(--font-mono);font-size:var(--text-2xs);background:#ffffff24;border-radius:999px;padding:3px 8px;font-weight:500}.marketing-secondary-action{color:var(--muted-ink);font-size:var(--text-sm);border-bottom:1px solid #0000;gap:8px;padding:12px 4px;font-weight:500;transition:border-color .14s,color .14s}.marketing-secondary-action span{color:var(--brass)}.marketing-secondary-action:hover{border-bottom-color:var(--brass);color:var(--ink)}.marketing-score-paper{aspect-ratio:1040/1346;background:#fbf7ec;border:1px solid #1a17141f;border-radius:2px;width:100%;margin-top:12px;overflow:hidden;transform:rotate(2deg);box-shadow:0 1px 2px #1a17140d,0 28px 60px -20px #1a17143d}.marketing-score-paper picture,.marketing-score-paper img{width:100%;height:100%;display:block}.marketing-score-paper img{object-fit:cover}.marketing-meta-strip{border-top:1px solid #1a171424;border-bottom:1px solid #1a171424;grid-template-columns:repeat(4,1fr);margin:24px 0 0;padding:22px 0;display:grid}.marketing-meta-strip div{border-left:1px solid #1a17141a;min-width:0;padding:0 30px}.marketing-meta-strip div:first-child{border-left:0;padding-left:0}.marketing-meta-strip dt,.marketing-section-head span,.marketing-pricing header span,.marketing-mock-eyebrow,.marketing-program-head>span{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:500;line-height:1}.marketing-meta-strip dd{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-4xl);margin:8px 0 0;font-weight:400;line-height:1}.marketing-meta-strip dd span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-sm);margin-left:6px}.marketing-meta-strip small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);margin-top:7px;display:block}.marketing-values{background:#f1e8d2c2;border-top:1px solid #1a17141f;border-bottom:1px solid #1a17141f;padding:92px 0}.marketing-values-grid{grid-template-columns:repeat(3,1fr);gap:clamp(24px,5%,56px);display:grid}.marketing-values article{gap:13px;display:grid}.marketing-values span{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-4xl);font-style:italic;line-height:1}.marketing-values h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);margin:0;font-weight:500;line-height:1.1}.marketing-values p{max-width:34ch;color:var(--muted-ink);font-size:var(--text-sm);margin:0;line-height:1.65}.marketing-section-head{text-align:center;max-width:760px;margin:0 auto;padding:108px 0 56px}.marketing-section-head span{margin-bottom:18px;display:block}.marketing-section-head h2{max-width:18ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-6xl);letter-spacing:0;margin:0 auto;font-weight:400;line-height:1.05}.marketing-section-head p{max-width:60ch;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-lg);margin:22px auto 0;font-style:italic;line-height:1.55}.marketing-feature{border-top:1px solid #1a17141a;padding:80px 0}.marketing-feature-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(36px,7%,80px);display:grid}.marketing-feature.is-reverse .marketing-feature-copy{order:2}.marketing-feature-copy{min-width:0}.marketing-feature-number{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-lg);margin:0 0 12px;font-style:italic;line-height:1}.marketing-feature-copy h3{max-width:14ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-6xl);letter-spacing:0;margin:0 0 22px;font-weight:400;line-height:1}.marketing-feature-copy>p:not(.marketing-feature-number){max-width:48ch;color:var(--ink);font-size:var(--text-base);margin:0 0 22px;line-height:1.7}.marketing-feature-bullets{border-top:1px solid #1a17141a;gap:14px;margin:0;padding:22px 0 0;list-style:none;display:grid}.marketing-feature-bullets li{color:var(--muted-ink);font-size:var(--text-sm);grid-template-columns:18px minmax(0,1fr);align-items:baseline;gap:12px;line-height:1.55;display:grid}.marketing-feature-bullets li>span{color:var(--brass);font-family:var(--font-heading);font-style:italic}.marketing-feature-bullets strong{color:var(--ink);font-family:var(--font-heading);font-weight:500}.marketing-feature-visual{min-width:0}.marketing-visual{background:#fbf4e3e6;border:1px solid #1a171424;border-radius:8px;overflow:hidden;box-shadow:0 28px 60px -24px #1a171438}.marketing-visual-library{padding:28px 26px}.marketing-visual-library h4,.marketing-program-leaflet h4{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-4xl);margin:12px 0 0;font-weight:400;line-height:1}.marketing-visual-meta{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;gap:8px;margin:10px 0 0;display:flex}.marketing-visual-meta i{background:#5a504385;border-radius:999px;width:3px;height:3px}.marketing-visual-meta em{font-family:var(--font-heading)}.marketing-library-list{gap:4px;margin-top:18px;display:grid}.marketing-library-row{border:1px solid #0000;border-radius:8px;grid-template-columns:6px minmax(0,1fr);display:grid;overflow:hidden}.marketing-library-row.is-active{background:#f1e8d2b8;border-color:#1a171424}.marketing-library-spine{background:0 0}.marketing-library-row.is-active .marketing-library-spine{background:var(--brass)}.marketing-library-row>div{padding:14px 18px}.marketing-library-row p{align-items:baseline;gap:10px;margin:0;display:flex}.marketing-library-row p span{width:14px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs)}.marketing-library-row p strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500}.marketing-library-row em{color:var(--muted-ink);font-size:var(--text-xs);margin:4px 0 0 24px;display:block}.marketing-library-row small{color:var(--brass);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;margin:8px 0 0 24px;font-weight:600;display:block}.marketing-library-row small:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px;margin-right:7px;display:inline-block}.marketing-library-row small.is-unlearned{color:var(--muted-ink)}.marketing-visual-metronome{gap:20px;padding:30px;display:grid}.marketing-practice-strip{background:#f1e8d2b8;border:1px solid #1a171424;border-radius:8px;grid-template-columns:44px repeat(3,minmax(74px,auto));align-items:center;gap:0;display:grid;overflow:hidden}.marketing-practice-strip button{width:44px;height:44px;color:var(--vellum-strong);background:var(--ink);border:0;border-radius:999px;place-items:center;margin:14px 12px;display:grid}.marketing-strip-block{border-left:1px solid #1a17141a;align-content:center;gap:4px;min-height:72px;padding:0 14px;display:grid}.marketing-strip-block span,.marketing-section-map p{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:600}.marketing-strip-block strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:1}.marketing-strip-block strong small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);margin-left:4px;font-weight:500}.marketing-strip-block.is-meter strong{flex-direction:column;gap:0;display:flex}.marketing-strip-block.is-meter strong small{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);margin:0;line-height:.9}.marketing-section-map{background:#fbf7ecdb;border:1px solid #1a171424;border-radius:8px;padding:18px 20px}.marketing-heat-bars{align-items:end;gap:3px;height:26px;margin-top:12px;display:flex}.marketing-heat-bars span{background:#1a171424;border-radius:2px;flex:1;min-width:4px}.marketing-heat-bars span.is-played{background:var(--brass)}.marketing-heat-legend{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-3xs);justify-content:space-between;gap:10px;margin-top:7px;display:flex}.marketing-heat-legend strong{color:var(--brass);font-weight:500}.marketing-pulse-band{background:#fbf7ec;border:1px solid #1a17141f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.marketing-pulse-band span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base);font-style:italic}.marketing-pulse-band i{background:#1a171429;border-radius:999px;flex:0 0 9px;width:9px;height:9px}.marketing-pulse-band i.is-lit{background:var(--brass)}.marketing-binder{perspective:1400px;place-items:center;padding:10px;display:grid}.marketing-binder-spread{background:#fff;border:1px solid #1a17141f;border-radius:4px;width:100%;display:block;overflow:hidden;box-shadow:0 36px 80px -32px #1a171452}.marketing-binder-spread img{width:100%;height:auto;display:block}.marketing-program-leaflet{padding:32px}.marketing-program-head{align-items:center;gap:12px;display:flex}.marketing-program-head strong{color:#6b3f12;font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;background:#ce914047;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-weight:600;display:inline-flex}.marketing-program-head strong:before{background:var(--brass);content:"";border-radius:999px;width:5px;height:5px}.marketing-program-leaflet>p{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:12px 0 18px;font-style:italic}.marketing-program-row{border-bottom:1px solid #1a17141f;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;display:grid}.marketing-program-row>span{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-xl);font-style:italic}.marketing-program-row em,.marketing-program-row strong{display:block}.marketing-program-row em{color:var(--muted-ink);font-size:var(--text-xs)}.marketing-program-row strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;line-height:1.2}.marketing-program-row small{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base)}.marketing-program-row small span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-3xs);margin-left:3px}.marketing-program-interval{align-items:center;gap:12px;padding:13px 0;display:flex}.marketing-program-interval span{background:#1a17141f;flex:1;height:1px}.marketing-program-interval em{color:var(--muted-ink);font-size:var(--text-sm)}.marketing-calendar{padding:30px 28px}.marketing-calendar-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:18px;display:flex}.marketing-calendar-head p{margin:0}.marketing-calendar-head em{color:var(--ink);font-size:var(--text-2xl)}.marketing-calendar-head span,.marketing-calendar-head strong{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500}.marketing-calendar-weekdays,.marketing-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.marketing-calendar-weekdays{margin-bottom:6px}.marketing-calendar-weekdays span{color:#5a50439e;font-size:var(--text-3xs);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-weight:600}.marketing-calendar-cell{aspect-ratio:1;min-width:0;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);background:#f6efddeb;border:1px solid #1a17141f;border-radius:5px;flex-direction:column;justify-content:space-between;padding:5px;display:flex;position:relative}.marketing-calendar-cell.is-empty{background:0 0;border-color:#0000}.marketing-calendar-cell.is-intensity-1{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.marketing-calendar-cell.is-intensity-1{background:color-mix(in oklab, var(--brass) 22%, var(--vellum-strong))}}.marketing-calendar-cell.is-intensity-2{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.marketing-calendar-cell.is-intensity-2{background:color-mix(in oklab, var(--brass) 44%, var(--vellum-strong))}}.marketing-calendar-cell.is-intensity-3{color:var(--vellum-strong);background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.marketing-calendar-cell.is-intensity-3{background:color-mix(in oklab, var(--brass) 72%, var(--vellum-strong))}}.marketing-calendar-cell.is-intensity-4{color:var(--vellum-strong);background:var(--brass)}.marketing-calendar-cell.is-today{border-color:var(--brass);box-shadow:0 0 0 1px #ce914059}.marketing-calendar-cell i{background:currentColor;border-radius:999px;width:5px;height:5px;position:absolute;top:5px;right:5px}.marketing-calendar-cell strong{font-size:var(--text-3xs);align-self:flex-end}.marketing-calendar-foot{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);border-top:1px solid #1a17141f;margin:18px 0 0;padding-top:14px;font-style:italic}.marketing-calendar-foot strong{color:var(--brass);font-family:var(--font-mono);font-style:normal}.marketing-import{gap:20px;padding:30px;display:grid}.marketing-import-tabs{background:#f1e8d2b8;border:1px solid #1a171424;border-radius:8px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.marketing-import-tabs article{border-left:1px solid #1a17141a;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0;padding:16px;display:grid;position:relative}.marketing-import-tabs article:first-child{border-left:0}.marketing-import-tabs article.is-active{background:#fbf7ece6}.marketing-import-tabs article.is-active:after{background:var(--brass);content:"";height:2px;position:absolute;bottom:0;left:0;right:0}.marketing-import-tabs span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-lg);font-style:italic;line-height:1}.marketing-import-tabs article.is-active span{color:var(--brass)}.marketing-import-tabs strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;display:block}.marketing-import-tabs p{color:var(--muted-ink);font-size:var(--text-xs);margin:4px 0 0;line-height:1.35}.marketing-dropzone{text-align:center;background:#fbf7eccc;border:1.5px dashed #1a171429;border-radius:8px;place-items:center;gap:8px;padding:38px 24px;display:grid;position:relative}.marketing-dropzone>span{border-top:1px solid #5a504370;border-left:1px solid #5a504370;width:12px;height:12px;position:absolute}.marketing-dropzone>span:first-child{top:14px;left:14px}.marketing-dropzone>span:nth-child(2){top:14px;right:14px;transform:rotate(90deg)}.marketing-dropzone>span:nth-child(3){bottom:14px;left:14px;transform:rotate(270deg)}.marketing-dropzone>span:nth-child(4){bottom:14px;right:14px;transform:rotate(180deg)}.marketing-dropzone div{width:52px;height:52px;color:var(--muted-ink);background:#f1e8d2bf;border:1px solid #1a17141f;border-radius:999px;place-items:center;display:grid}.marketing-dropzone strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;font-weight:400}.marketing-dropzone p{max-width:36ch;color:var(--muted-ink);font-size:var(--text-xs);margin:0}.marketing-quote{text-align:center;background:#f1e8d2c2;border-top:1px solid #1a17141f;border-bottom:1px solid #1a17141f;padding:136px 0}.marketing-quote span{height:40px;color:var(--brass);font-family:var(--font-heading);font-size:var(--text-8xl);font-style:italic;line-height:.5;display:block}.marketing-quote blockquote{max-width:28ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-5xl);margin:0 auto;font-style:italic;font-weight:400;line-height:1.2}.marketing-quote cite{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;margin-top:28px;font-style:normal;display:block}.marketing-pricing{border-bottom:1px solid #1a17141f;padding:108px 0}.marketing-pricing header{text-align:center;margin-bottom:50px}.marketing-pricing header span{margin-bottom:14px;display:block}.marketing-pricing h2{max-width:18ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-6xl);margin:0 auto;font-weight:400;line-height:1.05}.marketing-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:920px;margin:0 auto;display:grid}.marketing-price-card{background:#fbf4e3e6;border:1px solid #1a171424;border-radius:8px;gap:22px;padding:36px 32px;display:grid;position:relative}.marketing-price-card.is-featured{border-color:var(--brass)}.marketing-price-ribbon{color:var(--vellum-strong);background:var(--brass);font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-weight:500;position:absolute;top:-11px;left:28px}.marketing-price-card h3{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);margin:0;font-weight:500}.marketing-price-card p{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:2px 0 0;font-style:italic}.marketing-price-amount{border-top:1px solid #1a17141f;border-bottom:1px solid #1a17141f;align-items:baseline;gap:8px;padding:12px 0;display:flex}.marketing-price-amount strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-6xl);font-weight:400;line-height:1}.marketing-price-amount span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs)}.marketing-price-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.marketing-price-card li{color:var(--muted-ink);font-size:var(--text-sm);grid-template-columns:12px minmax(0,1fr);gap:10px;display:grid}.marketing-price-card li span{color:var(--brass);font-family:var(--font-heading);font-style:italic}.marketing-price-card>a,.marketing-price-card>button{color:var(--ink);background:var(--parchment);font-size:var(--text-sm);border:1px solid #1a171424;border-radius:8px;justify-content:center;align-items:center;padding:13px 18px;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.marketing-price-card.is-featured>a,.marketing-price-card.is-featured>button{border-color:var(--ink);color:var(--vellum-strong);background:var(--ink)}.marketing-price-card>a:hover,.marketing-price-card>button:hover,.marketing-price-card.is-featured>a:hover,.marketing-price-card.is-featured>button:hover{border-color:var(--brass);color:var(--vellum-strong);background:var(--brass)}.marketing-footer{color:var(--muted-ink);padding:56px 0 36px}.marketing-footer-grid{grid-template-columns:2fr repeat(3,minmax(120px,1fr));gap:32px;display:grid}.marketing-footer p{max-width:40ch;font-family:var(--font-heading);font-size:var(--text-sm);margin:16px 0 0;font-style:italic;line-height:1.65}.marketing-footer nav{flex-direction:column;gap:8px;display:flex}.marketing-footer h3{color:#5a5043ad;font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-weight:600}.marketing-footer a{color:var(--muted-ink);font-size:var(--text-sm);text-decoration:none}.marketing-footer a:hover{color:var(--brass)}.marketing-footer-meta{color:#5a5043ad;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #1a17141a;justify-content:space-between;gap:20px;margin-top:36px;padding-top:26px;display:flex}@media (width<=1080px){.marketing-hero h1{font-size:var(--text-6xl)}.marketing-feature-copy h3,.marketing-section-head h2,.marketing-pricing h2{font-size:var(--text-5xl)}.marketing-practice-strip{grid-template-columns:44px repeat(3,minmax(58px,1fr))}}@media (width<=900px){.marketing-nav{align-items:flex-start}.marketing-nav-links{gap:10px 18px}.marketing-hero-content,.marketing-feature-row,.marketing-values-grid,.marketing-price-grid,.marketing-footer-grid{grid-template-columns:1fr}.marketing-feature.is-reverse .marketing-feature-copy{order:0}.marketing-score-paper{max-width:420px;margin:24px auto 0}.marketing-meta-strip{grid-template-columns:repeat(2,1fr)}.marketing-meta-strip div:nth-child(3){border-left:0;padding-left:0}.marketing-meta-strip div:nth-child(n+3){border-top:1px solid #1a17141a;margin-top:20px;padding-top:20px}}@media (width<=640px){.marketing-container{padding:0 18px}.marketing-nav{display:grid}.marketing-brand small{display:none}.marketing-nav-links{justify-content:flex-start}.marketing-hero{padding:48px 0 72px}.marketing-hero h1{max-width:10ch;font-size:var(--text-6xl)}.marketing-hero-lead{font-size:var(--text-xl)}.marketing-meta-strip{grid-template-columns:1fr}.marketing-meta-strip div,.marketing-meta-strip div:first-child,.marketing-meta-strip div:nth-child(3){border-top:1px solid #1a17141a;border-left:0;margin:0;padding:16px 0}.marketing-meta-strip div:first-child{border-top:0}.marketing-values,.marketing-pricing{padding:72px 0}.marketing-section-head{padding:82px 0 44px}.marketing-section-head h2,.marketing-feature-copy h3,.marketing-pricing h2,.marketing-quote blockquote{font-size:var(--text-4xl)}.marketing-feature{padding:60px 0}.marketing-visual-metronome,.marketing-program-leaflet,.marketing-calendar,.marketing-import,.marketing-visual-library{padding:22px}.marketing-practice-strip{grid-template-columns:1fr}.marketing-practice-strip button{margin:14px}.marketing-strip-block{border-top:1px solid #1a17141a;border-left:0;min-height:58px}.marketing-import-tabs{grid-template-columns:1fr}.marketing-import-tabs article{border-top:1px solid #1a17141a;border-left:0}.marketing-import-tabs article:first-child{border-top:0}.marketing-quote{padding:92px 0}.marketing-footer-meta{display:grid}}.boot-screen,.empty-root{min-height:100vh;color:var(--ink);font-family:var(--font-heading);place-items:center;gap:14px;font-weight:700;display:grid}.boot-mark,.brand-rosette{border-radius:999px;width:76px;height:76px;display:block;box-shadow:0 0 0 1px #fbf4e314}.auth-page{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);align-items:center;gap:clamp(28px,5vw,76px);min-height:100vh;padding:clamp(22px,4vw,62px);display:grid}.auth-hero{min-height:min(720px,100vh - 80px);color:var(--vellum);background:linear-gradient(135deg, #1a1714fa, #35492ff0), var(--ink);border-radius:var(--radius);border:1px solid #fbf4e329;padding:clamp(24px,4vw,54px);position:relative;overflow:hidden;box-shadow:0 26px 80px #1a171447}.auth-hero:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 56px,#fbf4e314 57px,#0000 58px 66px,#fbf4e312 67px,#0000 68px 76px,#fbf4e30f 77px,#0000 78px 86px,#fbf4e30d 87px,#0000 88px 96px,#fbf4e30b 97px,#0000 98px 164px);position:absolute;inset:0}.auth-hero:after{content:"";opacity:.8;background:repeating-conic-gradient(#0000 0deg 8deg,#ce914038 8deg 15deg);border-radius:999px;width:300px;height:300px;position:absolute;top:-88px;right:-72px}.auth-hero-content{z-index:1;flex-direction:column;justify-content:space-between;gap:52px;min-height:100%;display:flex;position:relative}.eyebrow{color:var(--brass);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.hero-title{max-width:720px;font-family:var(--font-heading);margin:28px 0 16px;font-size:clamp(4rem,10vw,9.5rem);font-weight:900;line-height:.88}.hero-copy{color:#fbf4e3c7;max-width:560px;font-family:var(--font-heading);font-size:clamp(1.1rem,1.4vw,1.45rem);line-height:1.45}.score-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:760px;display:grid}.score-sheet{color:#1a1714c7;background:repeating-linear-gradient(to bottom, var(--vellum-strong) 0, var(--vellum-strong) 22px, #1a17142e 23px, var(--vellum-strong) 24px, var(--vellum-strong) 32px);border-radius:var(--radius);min-height:220px;transform:rotate(var(--tilt));padding:18px;box-shadow:0 18px 40px #0003}.score-sheet strong{font-family:var(--font-heading);margin-bottom:84px;display:block}.auth-panel,.surface-panel,.modal-panel{background:var(--panel);border:1px solid var(--faint-ink);border-radius:var(--radius);box-shadow:0 20px 60px var(--shadow)}.auth-panel{padding:clamp(22px,3vw,34px)}.panel-title{font-family:var(--font-heading);margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:900;line-height:.95}.muted{color:var(--muted-ink)}.auth-switch{background:#1a171414;border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin:24px 0;padding:4px;display:grid}.auth-switch button,.segmented button{min-height:40px;color:var(--muted-ink);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.auth-switch button.is-active,.segmented button.is-active{color:var(--vellum);background:var(--ink)}.field-grid{gap:12px;display:grid}.form-field{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--faint-ink);border-radius:var(--radius);background:#fffaf0c7;outline:none;padding:12px 14px}.form-field:focus{border-color:#a029198c;box-shadow:0 0 0 4px #a029191f}textarea.form-field{resize:vertical;min-height:136px}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.icon-button,.text-button,.danger-button{border:1px solid #0000;border-radius:999px;min-height:40px;font-weight:850;transition:transform .15s,box-shadow .15s,background .15s}.primary-button{color:var(--ink);background:var(--brass);padding:0 18px;box-shadow:0 12px 24px #3a2a1b29}.secondary-button{color:var(--ink);background:#1a171414;border-color:#1a17141a;padding:0 16px}.danger-button{color:var(--vellum);background:var(--rosette);padding:0 16px}.text-button{color:var(--rosette);background:0 0;padding:0 8px}.icon-button{width:40px;color:var(--ink);background:#1a171414;border-color:#1a171414;place-items:center;padding:0;display:inline-grid}.icon-button svg{width:18px;height:18px}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.danger-button:hover{transform:translateY(-1px)}.error,.status-line{font-size:var(--text-sm);font-weight:750}.error{color:var(--rosette)}.status-line{color:var(--spruce-dark)}.app-shell{background:linear-gradient(135deg, #fffaf0c7, #f1e8d2d1), var(--parchment);grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100dvh;color:var(--vellum);background:var(--ink);border-right:1px solid #fbf4e31f;grid-template-rows:auto auto minmax(0,1fr);gap:24px;padding:22px 16px;display:grid;position:sticky;top:0}.brand-lockup{justify-content:center;align-items:center;padding:8px 0 10px;display:flex}.nav-list{gap:6px;display:grid}.nav-button{color:#fbf4e3c7;border-radius:var(--radius);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:0 12px;font-weight:850;display:flex}.nav-button.is-active{color:var(--ink);background:var(--brass)}.nav-count{color:currentColor;font-size:var(--text-xs);opacity:.66}.sidebar-footer{align-self:end;gap:10px;display:grid}.sidebar-footer .secondary-button{color:#fbf4e3c7;background:#fbf4e314;border-color:#fbf4e31a}.user-card{border-radius:var(--radius);background:#fbf4e314;border:1px solid #fbf4e31a;padding:12px}.user-card strong,.user-card span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-card span{color:#fbf4e39e;font-size:var(--text-xs)}.main-stage{min-width:0;padding:18px}.topbar{display:none}.workspace-grid{grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:14px;height:calc(100vh - 36px);min-height:720px;display:grid}.rail,.workspace,.detail-column,.reader-card,.inspector,.program-detail,.notebook-reader,.metronome-stage{border:1px solid var(--faint-ink);border-radius:var(--radius);background:#fbf4e3c2;min-width:0;box-shadow:0 18px 48px #3a2a1b1a}.rail{flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.rail-header,.workspace-header,.section-header{border-bottom:1px solid #1a17141a;padding:16px}.section-header h2{font-family:var(--font-heading);font-weight:900;font-size:var(--text-2xl);margin:0}.workspace-title-lockup{align-items:center;gap:10px;min-width:0;display:flex}.workspace-title-copy{min-width:0}.toolbar-row,.filters-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-row{justify-content:space-between}.filters-row{margin-top:14px}.library-control-stack{gap:12px;margin-top:14px;display:grid}.library-search{background:#fffaf0d1;border:1px solid #1a17141a;border-radius:18px;grid-template-columns:18px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:50px;padding:0 14px;display:grid}.library-search:focus-within{border-color:#a029198c;box-shadow:0 0 0 4px #a029191f}.library-search>svg,.library-search-clear svg{width:18px;height:18px}.library-search>svg{color:var(--muted-ink)}.library-search [data-slot=input]{height:48px;color:var(--ink);box-shadow:none;font-family:var(--font-heading);background:0 0;border:0;padding:0}.library-search [data-slot=input]:focus-visible{box-shadow:none;--tw-ring-shadow:0 0 #0000;border-color:#0000}.library-search-clear{width:24px;height:24px;color:var(--muted-ink);background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.status-filter-strip{scrollbar-width:none;gap:8px;max-width:100%;padding:1px;display:flex;overflow-x:auto}.status-filter-strip::-webkit-scrollbar{display:none}.sort-segmented::-webkit-scrollbar{display:none}.status-filter-chip{min-height:48px;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);white-space:nowrap;background:#fffaf0d1;border:1px solid #1a17141a;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 12px;font-weight:850;transition:background .15s,color .15s,transform .15s;display:inline-flex}.status-filter-chip svg{stroke-width:2.4px;flex:none;width:18px;height:18px}.status-filter-chip.is-active{color:var(--vellum);background:var(--ink);border-color:var(--ink)}.status-filter-chip:hover,.sort-direction-button:hover,.sort-segmented button:hover{transform:translateY(-1px)}.status-filter-count{min-width:28px;min-height:28px;color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:#1a171414;border-radius:999px;place-items:center;padding:0 7px;font-weight:950;display:inline-grid}.status-filter-chip.is-active .status-filter-count{color:var(--ink);background:#fbf4e3b8}.sort-filter-row{align-items:center;gap:10px;min-width:0;display:flex}.sort-segmented{scrollbar-width:none;background:#1a171414;border-radius:999px;flex:1;gap:4px;min-width:0;padding:4px;display:flex;overflow-x:auto}.sort-segmented button{min-width:max-content;min-height:40px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1 0 auto;justify-content:center;align-items:center;padding:0 14px;font-weight:850;transition:background .15s,transform .15s;display:inline-flex}.sort-segmented button.is-active{background:#fffaf0eb;box-shadow:0 1px 1px #3a2a1b14}.sort-direction-button{width:50px;min-width:50px;height:50px;color:var(--ink);background:#1a171414;border:1px solid #0000;border-radius:999px;place-items:center;transition:transform .15s,background .15s;display:inline-grid}.segmented{background:#1a171414;border-radius:999px;grid-auto-flow:column;gap:4px;max-width:100%;padding:4px;display:inline-grid;overflow-x:auto}.segmented button{min-width:max-content;padding:0 12px}.segmented-label,.segmented-count{align-items:center;line-height:1;display:inline-flex}.segmented-count{font-variant-numeric:tabular-nums;justify-content:center;min-width:1.45em}.rail-scroll,.workspace-scroll{min-height:0;overflow:auto}.rail-scroll{padding:14px}.score-list,.program-list,.catalog-list{gap:10px;display:grid}.list-row,.program-score-row,.public-score-row,.performance-card,.stat-tile,.empty-state{border-radius:var(--radius);border:1px solid #1a17141a}.list-row,.program-score-row,.public-score-row{width:100%;color:var(--ink);text-align:left;background:#fffaf0b8;padding:12px}.score-list-row{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.score-row-select{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0}.list-row.is-active,.program-score-row.is-active{background:#536f4921;border-color:#536f4957}.row-main{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;display:grid}.score-row-main{grid-template-columns:64px minmax(0,1fr);gap:14px}.composer-tile{width:54px;height:62px;color:var(--vellum);background:var(--ink);border-radius:var(--radius);font-family:var(--font-heading);font-size:var(--text-xl);place-items:center;font-weight:900;display:grid}.score-initial-tile{width:64px;height:76px;font-size:var(--text-2xl);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-top:4px;line-height:1;display:flex;box-shadow:inset 0 0 0 1px #fbf4e30f,0 10px 18px #1a17141f}.score-initial-letter{line-height:.92;display:block}.score-initial-underline{background:var(--brass);border-radius:999px;width:28px;height:4px;display:block;box-shadow:0 1px #fffaf01f}.composer-tile.program{background:var(--spruce)}.row-title,.program-title{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);text-overflow:ellipsis;margin:0;font-weight:900;overflow:hidden}.row-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.row-meta,.small-meta{color:var(--muted-ink);font-size:var(--text-sm)}.small-meta{font-weight:750}.meta-line{flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;display:flex}.badge{min-height:24px;color:var(--ink);font-size:var(--text-2xs);text-transform:uppercase;background:#1a171417;border-radius:999px;align-items:center;padding:0 8px;font-weight:900;display:inline-flex}.badge.learning{background:#ce914042}.badge.mastered{color:var(--ink);background:var(--brass)}.badge.unlearned{background:#1a171417}.workspace{flex-direction:column;min-height:0;display:flex;overflow:hidden}.score-desk{flex:1;grid-template-columns:minmax(0,1fr) 360px;gap:14px;min-height:0;padding:14px;display:grid}.score-desk.is-inspector-closed{grid-template-columns:minmax(0,1fr)}.reader-card{background:var(--ink);flex-direction:column;min-height:0;display:flex;overflow:hidden}.reader-stage-shell{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.reader-toolbar{min-height:58px;color:var(--vellum);border-top:1px solid #fbf4e31f;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.reader-toolbar-primary{justify-content:flex-start;min-width:0}.reader-toolbar-zoom{justify-self:center}.reader-toolbar-navigation{justify-content:flex-end;justify-self:end}.reader-page-label{z-index:2;color:#fbf4e3d1;font-size:var(--text-sm);font-variant-numeric:tabular-nums;pointer-events:none;background:#08080894;border:1px solid #fbf4e31f;border-radius:999px;padding:6px 10px;font-weight:850;line-height:1;position:absolute;bottom:18px;right:18px}.reader-toolbar .secondary-button,.reader-toolbar .icon-button{color:var(--vellum);background:#fbf4e31a;border-color:#fbf4e31a}.pdf-frame{background:#2a2723;border:0;flex:1;width:100%;min-height:0}.pdf-reader-stage{background:#161514;outline:none;flex:1;min-height:0;padding:16px;display:flex;overflow:auto}:is(.pdf-reader-stage:fullscreen,.pdf-reader-stage.is-viewport-only){background:#080808;width:100vw;height:100vh;padding:24px}.pdf-reader-stage.is-viewport-only{z-index:50;position:fixed;inset:0}:is(.pdf-reader-stage:fullscreen .pdf-thumbnail-sidebar,.pdf-reader-stage.is-viewport-only .pdf-thumbnail-sidebar){max-height:calc(100vh - 48px)}.pdf-reader-shell{grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;width:100%;min-height:100%;display:grid}.pdf-reader-shell.has-thumbnails{grid-template-columns:118px minmax(0,1fr);align-items:stretch}.pdf-spread{justify-content:center;align-items:center;gap:18px;width:max-content;min-width:min-content;margin:auto;display:flex}.pdf-page-canvas{background:#fff;flex:none;display:block;box-shadow:0 18px 52px #00000057}.pdf-thumbnail-sidebar{border-radius:var(--radius);background:#fbf4e30f;border:1px solid #fbf4e31a;align-content:start;gap:10px;max-height:calc(100vh - 220px);padding:10px;display:grid;overflow-y:auto}.pdf-thumbnail-button{color:#fbf4e3b8;border-radius:var(--radius);font-size:var(--text-xs);background:#fbf4e312;border:1px solid #fbf4e31a;justify-items:center;gap:6px;padding:8px;font-weight:850;display:grid}.pdf-thumbnail-button.is-active{color:var(--ink);background:var(--brass);border-color:#ce9140b8}.pdf-thumbnail-canvas{background:#fff;max-width:100%;display:block;box-shadow:0 10px 20px #0000003d}.pdf-reader-status{min-height:220px;color:var(--vellum);text-align:center;place-items:center;display:grid}.pdf-empty{color:var(--vellum);text-align:center;flex:1;place-items:center;padding:28px;display:grid}.pdf-empty strong{font-family:var(--font-heading);font-size:var(--text-2xl);margin-bottom:8px;display:block}.inspector{flex-direction:column;min-height:0;padding:14px;display:flex;overflow:auto}.inspector-section{border-bottom:1px solid #1a17141a;gap:10px;margin-bottom:16px;padding:0 0 16px;display:grid}.inspector-section:last-child{border-bottom:0}.inspector-section h2{font-family:var(--font-heading);font-size:var(--text-xl);margin:0;font-weight:900}.inspector-heading{justify-content:space-between;align-items:center;gap:10px;min-height:40px;margin-bottom:14px;display:flex}.inspector-toggle{width:36px;min-height:36px;color:var(--ink);background:#1a17140f;border-color:#1a17141a}.inspector-footer-actions{border-top:1px solid #1a17141a;justify-content:flex-end;margin-top:auto;padding-top:14px;display:flex}.library-toggle{width:36px;min-height:36px;color:var(--ink);background:#1a17140f;border-color:#1a17141a}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-tile{background:#fffaf09e;padding:10px}.stat-tile span{color:var(--muted-ink);font-size:var(--text-2xs);text-transform:uppercase;font-weight:900;display:block}.stat-tile strong{font-family:var(--font-heading);font-size:var(--text-lg);margin-top:4px;display:block}.performance-card{background:#fffaf0a3;overflow:hidden}.performance-card iframe,.performance-card img{aspect-ratio:16/9;object-fit:cover;border:0;width:100%}.performance-card footer{justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.practice-metronome-button{width:100%}.practice-metronome-button.is-running{color:var(--vellum);background:var(--ink);box-shadow:none}.practice-beat-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:24px;display:flex}.practice-beat-dot{background:#1a171429;border-radius:999px;width:9px;height:9px;transition:transform .12s,background .12s,opacity .12s}.practice-beat-dot:first-child{width:13px;height:13px}.practice-beat-dot.is-active{background:var(--rosette);transform:scale(1.35)}.program-workspace{background:var(--parchment);height:100vh;min-height:720px;box-shadow:none;border:0;border-radius:0;display:flex;overflow:hidden}.program-rail{background:var(--parchment);border-right:1px solid var(--faint-ink);flex-direction:column;width:min(380px,34vw);min-width:320px;display:flex;overflow:hidden}.program-rail-header{padding:28px 28px 0}.program-create-card label,.program-list-heading span,.program-stat-tile>span,.program-piece-duration>span{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.program-rail-meta,.program-spine-stats,.program-leaflet-subtitle,.program-leaflet-footer p{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.program-rail-meta{margin-top:10px}.program-rail-meta span:first-child,.program-spine-stats,.program-leaflet-subtitle strong,.program-leaflet-footer p{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs)}.program-rail-meta span[aria-hidden=true],.program-spine-stats span[aria-hidden=true],.program-leaflet-subtitle span,.program-leaflet-footer p span[aria-hidden=true]{background:#5a50437a;border-radius:999px;width:2px;height:2px}.program-rail-meta em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs)}.program-create-card{border:1px solid var(--faint-ink);border-radius:var(--radius);background:#fbf4e3c7;gap:8px;margin-top:22px;padding:14px 16px;display:grid}.program-create-row{gap:8px;display:flex}.program-create-row input{min-width:0;color:var(--ink);background:var(--parchment);border:1px solid var(--faint-ink);font-family:var(--font-heading);font-size:var(--text-sm);border-radius:6px;outline:none;flex:1;padding:8px 10px}.program-create-row input::placeholder{color:#5a5043ad;font-style:italic}.program-create-row input:focus{border-color:#a029198c;box-shadow:0 0 0 4px #a029191a}.program-create-row button,.program-delete-footer-action,.program-piece-controls button,.program-interval-row button{border-radius:var(--radius-lg);border:1px solid #0000;transition:background .14s,border-color .14s,color .14s,opacity .14s,transform .14s}.program-create-row button{color:var(--vellum-strong);background:var(--brass);font-size:var(--text-xs);padding:0 14px;font-weight:700}.program-create-row button:disabled{color:#5a50439e;background:#1a171414}.program-list-heading{align-items:center;gap:10px;padding:20px 28px 8px;display:flex}.program-list-heading small{color:#5a504394;font-family:var(--font-mono);font-size:var(--text-2xs)}.program-list-heading i,.program-section-title i{background:var(--faint-ink);flex:1;height:1px}.program-rail-scroll{flex:1;min-height:0;padding:0 18px 24px;overflow-y:auto}.program-spine-list{gap:4px;display:grid}.program-ghost-list{opacity:.55;gap:6px;padding-top:10px;display:grid}.program-ghost-row{border-radius:var(--radius);background:0 0;border:1px dashed #1a17141f;grid-template-columns:6px minmax(0,1fr);align-items:center;gap:8px 12px;padding:14px;display:grid}.program-ghost-row span{background:#1a17141f;border-radius:999px;grid-row:1/3;align-self:stretch}.program-ghost-row i{background:repeating-linear-gradient(90deg,#1a17141f 0 6px,#0000 6px 10px);border-radius:2px;height:9px}.program-ghost-row i:last-child{background:repeating-linear-gradient(90deg,#1a171417 0 4px,#0000 4px 8px);width:38%;height:6px}.program-ghost-row:first-child i:first-of-type{width:72%}.program-ghost-row:nth-child(2) i:first-of-type{width:54%}.program-ghost-row:nth-child(3) i:first-of-type{width:64%}.program-rail-empty-hint{color:#5a5043ad;font-family:var(--font-heading);font-size:var(--text-xs);text-align:center;margin:16px 0 0;font-style:italic;line-height:1.45}.program-spine-card{width:100%;color:var(--ink);font:inherit;text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:stretch;padding:0;display:flex;overflow:hidden}.program-spine-card:hover,.program-spine-card.is-active{border-color:var(--faint-ink);background:#fbf4e3e0}.program-spine-rule{background:0 0;flex:none;width:6px}.program-spine-card:hover .program-spine-rule,.program-spine-card.is-active .program-spine-rule{background:var(--brass)}.program-spine-content{flex:1;gap:10px;min-width:0;padding:14px 18px;display:grid}.program-spine-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.program-spine-top strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:0;text-overflow:ellipsis;font-weight:500;line-height:1.2;display:block;overflow:hidden}.program-spine-top small{color:var(--muted-ink);font-size:var(--text-xs);align-items:center;gap:6px;margin-top:4px;display:flex}.program-spine-top svg{color:#5a5043a3;width:.72rem;height:.72rem}.program-status-pill{min-width:max-content;color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;background:#1a171414;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-weight:500;line-height:1.35;display:inline-flex}.program-status-pill span{background:currentColor;border-radius:999px;width:4px;height:4px}.program-status-pill.is-scheduled{color:#6b3f12;background:#ce914047}.program-status-pill.is-practice{color:var(--spruce-dark);background:#536f492e}.program-status-pill.is-performed{color:#5a5043c7;background:0 0;box-shadow:inset 0 0 0 1px #1a17141a}.program-detail{background:var(--parchment);min-width:0;min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex;overflow:hidden}.program-leaflet-header{border-bottom:1px solid var(--faint-ink);background:#f1e8d2d6;padding:36px 56px 30px}.program-leaflet-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.program-leaflet-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;display:flex}.program-leaflet-subtitle{margin:18px 0 0}.program-leaflet-subtitle em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base)}.program-leaflet-subtitle .program-leaflet-date{color:var(--muted-ink);font-family:var(--font-mono);letter-spacing:0;font-size:11px;font-weight:500;line-height:1.2}.program-summary-strip{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;display:grid;overflow:hidden}.program-stat-tile{border-left:1px solid var(--faint-ink);gap:5px;min-width:0;padding:14px 18px;display:grid}.program-stat-tile:first-child{border-left:0}.program-stat-tile.is-highlighted>span{color:var(--brass)}.program-stat-tile strong{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;font-size:clamp(1.65rem,3vw,1.9rem);font-weight:400;line-height:1}.program-stat-tile small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs)}.program-leaflet-scroll{flex-direction:column;flex:1;min-height:0;padding:32px 56px 16px;display:flex;overflow-y:auto}.program-section-title{align-items:baseline;gap:16px;padding-left:80px;display:flex}.program-section-title h3{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-style:italic;font-weight:400}.program-section-title span{color:#5a5043b8;font-family:var(--font-mono);font-size:var(--text-2xs)}.program-piece-list{margin:0;padding:8px 0 0;display:grid}.program-piece-row{border-bottom:1px solid var(--faint-ink);grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:24px;padding:22px 16px 22px 4px;list-style:none;transition:background .14s;display:grid;position:relative}.program-piece-row:hover{background:#fbf4e373}.program-piece-row .drag-handle,.program-interval-row .drag-handle{color:#5a504375;opacity:0;width:16px;height:16px;transition:opacity .12s;position:absolute;top:50%;left:-22px;transform:translateY(-50%)}.program-piece-row:hover .drag-handle,.program-interval-row:hover .drag-handle{opacity:1}.program-piece-roman{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-3xl);letter-spacing:0;text-align:right;padding-top:6px;font-style:italic;font-weight:400;line-height:1}.program-piece-copy{min-width:0}.program-piece-composer,.program-piece-description{margin:0}.program-piece-composer{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.program-piece-composer span{color:#5a50439e;font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal}.program-piece-title{width:100%;color:var(--ink);font-family:var(--font-heading);letter-spacing:0;text-align:left;background:0 0;border:0;padding:0;font-size:clamp(1.35rem,2.2vw,1.65rem);font-weight:500;line-height:1.1;display:block}.program-piece-title:hover{color:var(--rosette)}.program-piece-description{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin-top:6px;font-style:italic}.program-piece-duration{justify-items:end;gap:10px;padding-top:6px;display:grid}.program-piece-duration strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;align-items:baseline;gap:4px;font-weight:400;display:flex}.program-piece-duration small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400}.program-piece-controls{opacity:0;gap:4px;transition:opacity .12s;display:flex}.program-piece-row:hover .program-piece-controls{opacity:1}.program-piece-controls button,.program-interval-row button{width:24px;height:24px;color:var(--muted-ink);border-color:var(--faint-ink);background:#fbf4e3d1;place-items:center;display:inline-grid}.program-piece-controls button:disabled{color:#5a504352;background:0 0}.program-piece-controls button:not(:disabled):hover,.program-interval-row button:hover{color:var(--ink);transform:translateY(-1px)}.program-piece-controls svg,.program-interval-row button svg{width:13px;height:13px}.program-interval-row{border-bottom:1px solid var(--faint-ink);cursor:grab;background:#f1e8d2e6;align-items:center;gap:18px;padding:20px 16px;list-style:none;display:flex;position:relative}.program-interval-row:active{cursor:grabbing}.program-interval-row>span[aria-hidden=true]{background:linear-gradient(90deg,#0000,#1a17142e,#0000);flex:1;height:1px}.program-interval-label{color:var(--muted-ink);align-items:center;gap:8px;display:flex}.program-interval-label svg{width:13px;height:13px}.program-interval-label em{font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:.02em}.program-interval-label strong{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500}.program-interval-row button{opacity:0}.program-interval-row:hover button{opacity:1}.program-add-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding:24px 16px;display:flex}.program-leaflet-footer{border-top:1px solid var(--faint-ink);background:#f1e8d2d6;justify-content:space-between;align-items:center;gap:16px;padding:18px 56px;display:flex}.program-leaflet-footer p{margin:0}.program-delete-footer-action{color:#8a3a2a;min-height:32px;font-size:var(--text-xs);background:0 0;border-color:#0000;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.program-delete-footer-action:hover{color:#7b2f21;background:#f5e3dc;border-color:#d8a99a}.program-delete-footer-action svg{width:13px;height:13px}.program-empty-state{color:var(--muted-ink);text-align:center;place-items:center;gap:4px;padding:42px 20px;display:grid}.program-detail-empty{justify-content:center;align-items:center}.program-empty-leaflet{align-items:center;padding:64px 56px 80px;overflow-y:auto}.program-empty-leaflet-inner{width:min(100%,560px)}.program-empty-kicker{align-items:center;gap:12px;margin-bottom:14px;display:flex}.program-empty-kicker span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.program-empty-kicker i{background:var(--faint-ink);width:28px;height:1px}.program-empty-leaflet h2{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;margin:0;font-size:3.5rem;font-weight:400;line-height:.96}.program-empty-leaflet h2 em{font-style:italic}.program-empty-intro{max-width:460px;color:var(--muted-ink);font-family:var(--font-heading);margin:18px 0 0;font-size:1.125rem;line-height:1.45}.program-empty-intro em{color:var(--ink);font-style:italic}.program-empty-sample{background:var(--vellum-strong);border:1px solid #ce91403d;border-radius:4px;margin-top:40px;padding:32px 36px 28px;position:relative;box-shadow:0 1px #1a17140a,0 18px 40px -22px #1a171438,0 4px 10px -4px #1a17140f}.program-empty-sample-mark{align-items:center;gap:6px;display:flex;position:absolute;top:14px;right:16px}.program-empty-sample-mark span,.program-empty-sample-total span,.program-empty-sample-duration{color:#5a50439e;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase}.program-empty-sample-mark i{background:var(--brass);opacity:.62;border-radius:999px;width:6px;height:6px}.program-empty-program{color:#5a5043c2;font-family:var(--font-heading);font-size:var(--text-xs);margin:0;font-style:italic}.program-empty-sample h3{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;margin:4px 0 0;font-size:1.75rem;font-weight:400;line-height:1}.program-empty-sample h3 em{color:#5a50439e;font-style:italic}.program-empty-sample-list{border-top:1px solid #ce91403d;margin:18px 0 0;padding:8px 0 0;list-style:none;display:grid}.program-empty-sample-row{border-bottom:1px solid #ce91403d;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;display:grid}.program-empty-sample-roman{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-2xl);opacity:.72;text-align:right;font-style:italic;line-height:1}.program-empty-sample-lines{gap:6px;display:grid}.program-empty-sample-lines i{background:repeating-linear-gradient(90deg,#ce914038 0 6px,#0000 6px 10px);border-radius:2px;width:62%;height:8px}.program-empty-sample-row.is-tall .program-empty-sample-lines i:first-child{width:78%;height:9px}.program-empty-sample-row.is-tall .program-empty-sample-lines i:last-child{background:repeating-linear-gradient(90deg,#ce91402e 0 4px,#0000 4px 8px);width:40%;height:6px}.program-empty-sample-duration{letter-spacing:.04em;text-transform:none}.program-empty-sample-interval{align-items:center;gap:14px;padding:14px 0;display:flex}.program-empty-sample-interval span{background:#ce91403d;flex:1;height:1px}.program-empty-sample-interval em{color:#5a50439e;font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.program-empty-sample-total{border-top:1px solid #ce91403d;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:14px;display:flex}.program-empty-sample-total em{color:#5a50439e;font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic}.program-empty-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px;display:flex}.program-empty-primary{min-height:48px;color:var(--vellum-strong);background:var(--brass);border:1px solid var(--brass);border-radius:var(--radius);font-size:var(--text-sm);align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:background .14s,border-color .14s,transform .14s;display:inline-flex;box-shadow:0 8px 18px -8px #ce914085}.program-empty-primary:hover{background:#b87935;border-color:#b87935;transform:translateY(-1px)}.program-empty-primary svg{width:16px;height:16px}.program-empty-left-hint{color:#5a5043b8;font-family:var(--font-heading);font-size:var(--text-sm);align-items:center;gap:8px;font-style:italic;display:inline-flex}.program-empty-left-hint svg{opacity:.58;width:22px;height:14px}.program-empty-state h3{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);margin:0;font-style:italic;font-weight:400}.program-empty-state p{max-width:320px;font-size:var(--text-sm);margin:0;line-height:1.5}.notebook-grid{background:var(--parchment);border:1px solid var(--faint-ink);border-radius:var(--radius);height:calc(100vh - 36px);min-height:720px;display:flex;overflow:hidden;box-shadow:0 18px 48px #3a2a1b1a}.notebook-reader{background:var(--parchment);width:100%;min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.notebook-empty-shell{background:var(--parchment);flex-direction:column;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.notebook-empty-toolbar{background:var(--parchment);border-bottom:1px solid var(--faint-ink);flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 24px;display:flex}.notebook-empty-toolbar-title{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.notebook-empty-toolbar-title>span{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1}.notebook-empty-toolbar-title i{background:var(--muted-2);border-radius:999px;width:2px;height:2px}.notebook-empty-toolbar-title em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic}.notebook-empty-toolbar-controls{flex:none;align-items:center;gap:10px;display:flex}.notebook-empty-toolbar-controls button{width:32px;height:32px;color:var(--muted-2);border:1px solid var(--faint-ink);font-family:var(--font-heading);font-size:var(--text-xl);background:0 0;border-radius:8px;place-items:center;line-height:1;display:inline-grid}.notebook-empty-toolbar-controls span{min-width:50px;color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:center}.notebook-empty-stage{flex:1;place-items:center;min-height:0;padding:48px 56px 58px;display:grid;position:relative;overflow:auto}.notebook-empty-layout{z-index:1;grid-template-columns:minmax(260px,320px) minmax(0,380px);align-items:center;gap:56px;width:min(100%,900px);display:grid;position:relative}.notebook-empty-cover{aspect-ratio:16/21;perspective:1400px;width:min(100%,320px);margin:0;position:relative}.notebook-empty-cover-pages{background:linear-gradient(90deg,#d8cdb6,#b8a684);border-radius:0 2px 2px 0;width:5px;position:absolute;top:4px;bottom:4px;right:-4px;box-shadow:1px 0 2px #1a16113d}.notebook-empty-cover-board{--notebook-cover:#6b3f12;--notebook-cover-edge:#c98a45;--notebook-cover-shadow:#2a1a09;--notebook-cover-foil:#e9cc99;background:repeating-linear-gradient(45deg, #ffffff05 0 1px, transparent 1px 3px), repeating-linear-gradient(-45deg, #0000001a 0 1px, transparent 1px 3px), linear-gradient(135deg, var(--notebook-cover-edge), var(--notebook-cover) 22%, var(--notebook-cover) 78%, var(--notebook-cover-shadow));transform-origin:0;border-radius:2px 6px 6px 2px;position:absolute;inset:0;overflow:hidden;transform:rotateY(-1.5deg);box-shadow:0 30px 60px -20px #1a16118c,0 12px 24px -10px #1a161159,inset 0 0 0 1px #00000052}.notebook-empty-cover-board:before{content:"";background:linear-gradient(90deg, var(--notebook-cover-shadow), transparent);opacity:.6;width:22px;position:absolute;top:0;bottom:0;left:0}.notebook-empty-cover-frame{border:1px solid var(--notebook-cover-foil);flex-direction:column;align-items:center;padding:56px 32px 48px;display:flex;position:absolute;inset:28px}@supports (color:color-mix(in lab, red, red)){.notebook-empty-cover-frame{border:1px solid color-mix(in srgb, var(--notebook-cover-foil) 58%, transparent)}}.notebook-empty-cover-frame{box-shadow:inset 0 0 0 4px var(--notebook-cover-shadow), inset 0 0 0 5px var(--notebook-cover-foil);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.notebook-empty-cover-frame{box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--notebook-cover-shadow) 26%, transparent), inset 0 0 0 5px color-mix(in srgb, var(--notebook-cover-foil) 18%, transparent)}}.notebook-empty-cover-heading{justify-items:center;display:grid}.notebook-empty-cover-mark{--rosette-mark-ink:var(--notebook-cover)}@supports (color:color-mix(in lab, red, red)){.notebook-empty-cover-mark{--rosette-mark-ink:color-mix(in srgb, var(--notebook-cover) 86%, black 14%)}}.notebook-empty-cover-mark{--rosette-mark-accent:var(--notebook-cover-foil);opacity:.92}.notebook-empty-cover figcaption{color:var(--notebook-cover-foil);font-family:var(--font-heading);letter-spacing:0;text-shadow:0 1px 0 var(--notebook-cover-shadow), 0 0 12px var(--notebook-cover-foil);margin-top:34px;font-size:2rem;font-weight:500;line-height:1}@supports (color:color-mix(in lab, red, red)){.notebook-empty-cover figcaption{text-shadow:0 1px 0 var(--notebook-cover-shadow), 0 0 12px color-mix(in srgb, var(--notebook-cover-foil) 20%, transparent)}}.notebook-empty-cover-heading span{background:var(--notebook-cover-foil);opacity:.6;width:60px;height:1px;margin-top:8px}.notebook-empty-cover-frame>p{color:var(--notebook-cover-foil);font-family:var(--font-mono);font-size:var(--text-4xs);letter-spacing:.2em;opacity:.58;text-transform:uppercase;margin:auto 0 0;line-height:1.2}.notebook-empty-copy{min-width:0}.notebook-empty-kicker{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-weight:600;line-height:1}.notebook-empty-copy h1{max-width:12ch;color:var(--ink);font-family:var(--font-heading);letter-spacing:0;text-wrap:balance;margin:0;font-size:2.625rem;font-weight:400;line-height:1.02}.notebook-empty-copy h1 em{color:var(--brass);font-style:italic}.notebook-empty-intro{max-width:36ch;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base);text-wrap:pretty;margin:22px 0 0;font-style:italic;line-height:1.55}.notebook-empty-features{border-top:1px solid var(--faint-ink);gap:14px;margin-top:26px;padding-top:22px;display:grid}.notebook-empty-features>div{grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:14px;display:grid}.notebook-empty-features span{color:var(--muted-2);font-family:var(--font-heading);font-size:var(--text-base);opacity:.82;font-style:italic;line-height:1.2}.notebook-empty-features strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:0;font-weight:500;line-height:1.2;display:block}.notebook-empty-features p{color:var(--muted-ink);font-size:var(--text-xs);grid-column:2;margin:3px 0 0;line-height:1.45}.notebook-empty-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.notebook-empty-actions button{min-height:44px;font-size:var(--text-sm);border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-weight:600;line-height:1;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.notebook-empty-actions svg{stroke-width:1.8px;width:15px;height:15px}.notebook-empty-primary{color:var(--vellum-strong);background:var(--ink);border:1px solid var(--ink);box-shadow:inset 0 1px #ffffff14,0 1px #1a16111f}.notebook-empty-primary:hover,.notebook-empty-primary:focus-visible{background:var(--brass);border-color:var(--brass);transform:translateY(-1px)}.notebook-empty-secondary{color:var(--ink);background:var(--surface);border:1px solid var(--faint-ink)}.notebook-empty-secondary:hover,.notebook-empty-secondary:focus-visible{border-color:#5a50436b;transform:translateY(-1px)}.notebook-toolbar{background:var(--parchment);border-bottom:1px solid var(--faint-ink);justify-content:space-between;align-items:center;gap:28px;min-height:100px;padding:18px 36px;display:flex}.notebook-title-block{gap:4px;min-width:0;display:grid}.notebook-eyebrow{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1}.notebook-current-line{align-items:baseline;gap:12px;min-width:0;display:flex}.notebook-current-line h1{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.15rem,1.7vw,1.75rem);font-style:italic;font-weight:500;line-height:1;overflow:hidden}.notebook-current-line span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);flex:none;font-weight:500;line-height:1}.notebook-context-line,.notebook-contents-meta{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 0;display:flex}.notebook-context-line em,.notebook-contents-meta em{font-family:var(--font-heading);font-size:var(--text-sm)}.notebook-program-label{max-width:28ch;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.notebook-actions,.notebook-reader-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.notebook-toolbar-button,.notebook-toolbar-icon{min-height:46px;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;transition:border-color .14s,background .14s,color .14s,transform .14s;box-shadow:0 1px #1a171408}.notebook-toolbar-button:hover,.notebook-toolbar-icon:hover{background:var(--vellum);border-color:#1a171438;transform:translateY(-1px)}.notebook-toolbar-button{font-size:var(--text-sm);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;line-height:1;display:inline-flex}.notebook-toolbar-button svg{width:15px;height:15px}.notebook-toolbar-button span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);margin-left:4px}.notebook-toolbar-icon{place-items:center;width:46px;padding:0;display:inline-grid}.notebook-toolbar-icon svg{stroke-width:1.8px;width:17px;height:17px}.notebook-toolbar-icon.is-active{color:var(--brass);background:#ce914029;border-color:#ce91406b}.notebook-binder-stage{background:linear-gradient(180deg, #fffaf075, transparent 34%), var(--parchment);flex:1;min-height:0;padding:18px 22px;display:flex;position:relative;overflow:hidden}.notebook-spread-frame{border:1px solid var(--faint-ink);background:#fbf4e357;border-radius:4px;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.notebook-spread-frame:before,.notebook-spread-frame:after{z-index:0;content:"";pointer-events:none;background:#fbf4e38a;border:1px solid #1a171414;border-radius:2px;position:absolute;inset:12px 18px}.notebook-spread-frame:before{transform:translateY(8px)scaleX(.985)}.notebook-spread-frame:after{transform:translateY(4px)scaleX(.994)}.notebook-spread-frame>.pdf-reader-stage,.notebook-spread-frame>.pdf-empty{z-index:1;flex:1;position:relative}.notebook-reader .pdf-reader-stage{background:0 0;padding:18px 20px}.notebook-reader .pdf-reader-shell{min-height:100%}.notebook-reader .pdf-page-canvas{box-shadow:0 0 0 1px #15110d14,0 18px 44px -16px #1a161152}.notebook-empty{background:0 0}.notebook-page-label{color:var(--muted-ink);background:#fffaf0c7;border-color:#15110d1f}.notebook-footer{background:var(--vellum);border-top:1px solid var(--faint-ink);grid-template-columns:40px minmax(96px,auto) minmax(0,1fr) auto 40px;align-items:center;gap:14px;min-height:72px;padding:14px 32px;display:grid}.notebook-folio{gap:2px;display:grid}.notebook-folio strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:400;line-height:1}.notebook-folio span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs)}.notebook-spine-bar{height:16px;position:relative}.notebook-spine-bar:focus-within{outline-offset:6px;outline:1px solid #a55f2859}.notebook-spine-bar:before{content:"";background:var(--faint-ink);height:1px;position:absolute;top:7px;left:0;right:0}.notebook-spine-slider{z-index:3;cursor:pointer;opacity:0;width:100%;height:28px;margin:0;padding:0;position:absolute;inset:-6px 0}.notebook-spine-segment{z-index:1;pointer-events:none;background:#5a504347;border:0;border-radius:1px;height:5px;padding:0;position:absolute;top:5px}.notebook-spine-segment.is-active{background:var(--ink)}.notebook-spine-marker{pointer-events:none;background:var(--rosette);border-radius:2px;width:2px;height:14px;transition:left .16s;position:absolute;top:1px;transform:translate(-1px)}.notebook-contents-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1a17145c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.notebook-contents-panel{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:4px;width:min(720px,100%);max-height:min(760px,88vh);padding:clamp(28px,4vw,44px);position:relative;overflow:auto;box-shadow:0 28px 90px -20px #1a161180}.notebook-contents-meta i{background:#5a50437a;border-radius:999px;width:2px;height:2px}.notebook-contents-search{min-height:42px;color:var(--muted-ink);border:1px solid var(--faint-ink);background:#f1e8d275;border-radius:8px;align-items:center;gap:10px;margin-top:22px;padding:0 12px;display:flex}.notebook-contents-search svg{flex:none;width:15px;height:15px}.notebook-contents-search input{width:100%;min-width:0;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);background:0 0;border:0;outline:none;padding:0;font-style:italic}.notebook-contents-search input::placeholder{color:#5a5043ad}.notebook-contents-close{position:absolute;top:18px;right:18px}.notebook-contents-list{border-top:1px solid var(--faint-ink);gap:24px;margin-top:22px;padding-top:24px;display:grid}.notebook-contents-group header{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.notebook-contents-group h3{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);margin:0;font-style:italic;font-weight:400}.notebook-contents-group header span{background:var(--faint-ink);flex:1;height:1px}.notebook-contents-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:4px;align-items:baseline;gap:12px;padding:8px 6px;display:flex}.notebook-contents-row:hover,.notebook-contents-row.is-active{background:#f1e8d2c7}.notebook-contents-row span{font-family:var(--font-heading);font-size:var(--text-base)}.notebook-contents-row i{border-bottom:1.5px dotted #5a50436b;flex:1;min-width:24px}.notebook-contents-row strong{min-width:34px;color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right;font-weight:500}.notebook-contents-empty{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base);text-align:center;margin:0;font-style:italic}.metronome-stage{isolation:isolate;background:linear-gradient(#1a171407 1px,#0000 1px) 0 0/100% 34px,#fbf4e3bd;justify-content:center;align-items:center;min-height:calc(100vh - 36px);padding:40px;display:flex;position:relative;overflow:auto}.metronome-layout{grid-template-columns:minmax(0,640px);justify-content:center;align-items:center;width:min(100%,640px);display:grid}.metronome-voicing{z-index:8;position:absolute;top:28px;right:28px}.metronome-voicing-trigger{color:#5a5043c2;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 10px;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.metronome-voicing-trigger:hover,.metronome-voicing-trigger:focus-visible,.metronome-voicing-trigger.is-open{color:#1a1714d1;background:#fffaf0ad;border-color:#5a504333;outline:none}.metronome-voicing-trigger:focus-visible{box-shadow:0 0 0 3px #ce91402e}.metronome-voicing-trigger svg{flex:none;width:13px;height:13px}.metronome-voicing-trigger span{font-family:var(--font-ui);font-size:var(--text-3xs);letter-spacing:.18em;text-transform:uppercase;font-weight:600}.metronome-voicing-panel{background:var(--vellum-strong);transform-origin:100% 0;border:1px solid #5a504333;border-radius:5px;width:256px;padding:16px 18px 18px;animation:.2s cubic-bezier(.2,.7,.2,1) metronome-voicing-lift;position:absolute;top:calc(100% + 8px);right:0;box-shadow:inset 0 -1px #ffffffb3,0 22px 44px -18px #1a17144d,0 4px 10px -4px #1a171429}@keyframes metronome-voicing-lift{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.metronome-voicing-header{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.metronome-voicing-header h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:0;font-style:italic;font-weight:400;line-height:1}.metronome-voicing-header span{background:#5a50432e;flex:1;height:1px}.metronome-voicing-header p{color:#5a50438f;font-family:var(--font-mono);font-size:var(--text-4xs);letter-spacing:.14em;margin:0}.metronome-card{background:var(--vellum-strong);text-align:center;border:1px solid #5a50433d;border-radius:4px;flex-direction:column;align-items:center;min-width:0;padding:56px 56px 44px;display:flex;position:relative;box-shadow:0 1px #1a17140a,0 18px 50px -22px #1a171442}.metronome-card:before{content:"";pointer-events:none;border:1px solid #5a504333;position:absolute;inset:14px}.metronome-card>*{z-index:1;position:relative}.metronome-bookplate{align-items:center;gap:14px;margin-bottom:6px;display:flex}.metronome-bookplate span{background:#5a504373;width:38px;height:1px}.metronome-bookplate p,.metronome-popover-eyebrow,.metronome-control-eyebrow,.metronome-option-label{color:#5a5043d1;font-family:var(--font-ui);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.metronome-bookplate p{letter-spacing:.22em;margin:0}.metronome-notation{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);align-items:center;gap:8px;margin:0;font-style:italic;display:flex}.metronome-notation strong{color:#1a1714cc;font-family:var(--font-mono);font-size:var(--text-xs);font-style:normal;font-weight:500}.metronome-tempo-dial{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:center;align-items:center;margin-top:2px;padding:10px 34px 6px;transition:background .16s,box-shadow .16s;display:inline-flex;position:relative}.metronome-tempo-dial:before,.metronome-tempo-dial:after{background:var(--brass);content:"";opacity:0;height:1px;transition:opacity .16s;position:absolute;left:0;right:0}.metronome-tempo-dial:before{top:-5px}.metronome-tempo-dial:after{bottom:-5px}.metronome-tempo-dial:hover,.metronome-tempo-dial:focus-visible,.metronome-tempo-dial.is-dragging{background:#ce914014}.metronome-tempo-dial:focus-visible{box-shadow:0 0 0 3px #ce914038}.metronome-tempo-dial.is-dragging:before,.metronome-tempo-dial.is-dragging:after{opacity:.52}.metronome-tempo-number{color:var(--ink);font-family:var(--font-heading);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;font-size:13.5rem;font-weight:400;line-height:1}.metronome-tempo-marks{color:#5a504394;font-size:var(--text-xs);flex-direction:column;gap:5px;line-height:1;transition:color .16s;display:flex;position:absolute;top:18%;right:4px}.metronome-tempo-dial:hover .metronome-tempo-marks,.metronome-tempo-dial:focus-visible .metronome-tempo-marks,.metronome-tempo-dial.is-dragging .metronome-tempo-marks{color:var(--brass)}.metronome-marking{flex-direction:column;align-items:center;gap:4px;margin-top:12px;display:flex}.metronome-marking strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;font-weight:400;line-height:1}.metronome-marking span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm)}.metronome-divider{align-items:center;gap:10px;width:220px;margin:28px 0 22px;display:flex}.metronome-divider span{background:#5a504338;flex:1;height:1px}.metronome-divider i{background:var(--brass);border-radius:999px;width:5px;height:5px}.metronome-beat-indicator{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:46px;display:flex}.metronome-beat-rest{height:30px}.metronome-beat-dots,.metronome-beat-bars{justify-content:center;align-items:center;display:flex}.metronome-beat-dots{gap:12px}.metronome-beat-dot-cell{place-items:end center;width:16px;height:24px;display:grid;position:relative}.metronome-beat-dot{background:0 0;border:1.5px solid #817867b3;border-radius:999px;width:10px;height:10px;transition:background 80ms,border-color 80ms,transform 90ms;display:block}.metronome-beat-dot-cell.is-downbeat .metronome-beat-dot{border-color:#1a1714b8;width:14px;height:14px}.metronome-beat-dot-cell.is-current .metronome-beat-dot{background:var(--brass);border-color:var(--brass);transform:scale(1.18)}.metronome-downbeat-tick{background:#817867b8;width:1px;height:5px;display:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.metronome-beat-dot-cell.is-downbeat .metronome-downbeat-tick{display:block}.metronome-beat-bars{gap:6px;height:30px}.metronome-beat-bar{transform-origin:bottom;background:#5a504361;border-radius:2px 2px 1px 1px;width:14px;height:18px;transition:background 80ms,opacity 80ms,transform 90ms}.metronome-beat-bar.is-downbeat{background:#1a1714a8;height:26px}.metronome-beat-bar.is-current{background:var(--brass);transform:scaleY(1.12)}.metronome-beat-count{color:var(--brass);font-family:var(--font-mono);font-size:var(--text-2xs);margin:0;font-weight:500}.metronome-card-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:30px;display:flex}.metronome-meter-picker{z-index:3;position:relative}.metronome-meter-trigger,.metronome-note-pill{min-height:38px;color:var(--ink);background:#f1e8d2c7;border:1px solid #5a504338;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:border-color .14s,background .14s;display:inline-flex}.metronome-meter-trigger:hover,.metronome-meter-trigger:focus-visible{border-color:#5a50437a;outline:none}.metronome-meter-value,.metronome-note-pill strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);font-weight:500}.metronome-meter-caret{width:14px;height:14px;color:var(--muted-ink);transition:transform .16s}.metronome-meter-caret.is-open{transform:rotate(180deg)}.metronome-meter-popover{background:var(--vellum-strong);text-align:left;border:1px solid #5a50433d;border-radius:8px;width:230px;padding:8px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 44px -22px #1a171461}.metronome-popover-eyebrow{margin:2px 6px 6px}.metronome-meter-option{border-radius:var(--radius-lg);width:100%;color:var(--ink);text-align:left;align-items:center;gap:10px;padding:8px 7px;display:flex}.metronome-meter-option:hover,.metronome-meter-option:focus-visible,.metronome-meter-option.is-active{background:#ce91401f;outline:none}.metronome-meter-option-value{min-width:42px;font-family:var(--font-heading);font-size:var(--text-base);font-weight:500}.metronome-meter-note{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.metronome-meter-check{width:13px;height:13px;color:var(--brass);margin-left:auto}.metronome-meter-custom{border-top:1px solid #5a504324;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;padding-top:8px;display:grid}.metronome-custom-field{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;gap:4px;font-weight:500;display:grid}.metronome-native-select-wrap{width:100%}.metronome-native-select{height:34px;font-family:var(--font-heading);font-size:var(--text-sm);background:#fbf4e394;border-color:#5a50433d}.metronome-play-button{background:var(--ink);width:76px;height:76px;color:var(--vellum);border-radius:999px;place-items:center;transition:background .18s,box-shadow .22s,transform .12s;display:grid;box-shadow:inset 0 1px #ffffff14,0 6px 18px -6px #1a17145c}.metronome-play-button:hover,.metronome-play-button:focus-visible{background:var(--brass);outline:none;transform:translateY(-1px)}.metronome-play-button svg{width:23px;height:23px}.metronome-play-icon{transform:translate(2px)}.metronome-card-footer{color:#5a5043b3;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:38px;display:flex}.metronome-card-footer span{font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.16em}.metronome-card-footer i{background:#5a50435c;width:18px;height:1px}.metronome-card-footer em{font-family:var(--font-heading);font-size:var(--text-xs)}.metronome-option-group{gap:7px;display:grid}.metronome-voicing-panel .metronome-option-group+.metronome-option-group{margin-top:14px}.metronome-option-label{margin:0}.metronome-voicing-grid,.metronome-nudge-grid{gap:5px;display:grid}.metronome-voicing-grid.is-voice{grid-template-columns:repeat(2,minmax(0,1fr))}.metronome-voicing-grid.is-beats{grid-template-columns:repeat(3,minmax(0,1fr))}.metronome-segment-button,.metronome-nudge-grid button{min-height:34px;color:var(--muted-ink);font-family:var(--font-ui);font-size:var(--text-xs);background:0 0;border:1px solid #5a50432e;border-radius:3px;padding:7px 9px;font-weight:400;transition:background .14s,border-color .14s,color .14s}.metronome-segment-button:hover,.metronome-segment-button:focus-visible,.metronome-nudge-grid button:hover,.metronome-nudge-grid button:focus-visible{color:var(--ink);border-color:#5a504366;outline:none}.metronome-segment-button.is-active{background:var(--ink);border-color:var(--ink);color:var(--vellum)}.metronome-nudge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metronome-nudge-grid button{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.metronome-nudge-grid button:hover,.metronome-nudge-grid button:focus-visible{color:var(--brass)}.metronome-voicing-tempo{color:#5a5043c2;font-family:var(--font-heading);font-size:var(--text-2xs);text-align:center;margin:3px 0 0;font-style:italic;line-height:1.3}.metronome-voicing-tempo span{color:#1a1714c7;font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-style:normal}.import-workspace{background:var(--parchment);height:100vh;min-height:720px;display:flex;overflow:auto}.import-panel{width:min(1080px,100% - 72px);box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;padding:28px 0 48px}.import-hero{padding:8px 0 28px}.import-hero-row{grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:end;gap:32px;display:grid}.import-card h2{color:var(--ink);font-family:var(--font-heading);margin:0;font-weight:400}.import-hero-row p{max-width:360px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base);text-align:right;justify-self:end;margin:0;font-style:italic;line-height:1.5}.import-source-list{background:var(--vellum);border:1px solid var(--faint-ink);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.import-source-list button{min-height:88px;color:var(--ink);border:0;border-right:1px solid var(--faint-ink);text-align:left;background:0 0;align-items:flex-start;gap:14px;padding:20px 22px;display:flex;position:relative}.import-source-list button:last-child{border-right:0}.import-source-list button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.import-source-list button:hover,.import-source-list button.is-active{background:var(--vellum-strong)}.import-source-list button.is-active:after{background:var(--brass)}.import-mode-glyph{min-width:20px;color:var(--muted-2);font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;font-weight:400;line-height:1}.import-source-list button.is-active .import-mode-glyph{color:var(--brass)}.import-mode-copy{gap:4px;min-width:0;display:grid}.import-mode-copy strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;line-height:1.1}.import-mode-copy small{color:var(--muted-ink);font-size:var(--text-xs);font-weight:400;line-height:1.4}.import-scroll{padding:0;overflow:visible}.import-form{max-width:none}.import-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;padding:28px 0;display:grid}.import-card .eyebrow,.import-list-header .status-line{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);text-transform:uppercase;font-weight:500;line-height:1}.import-card h2{font-size:var(--text-3xl);line-height:1}.import-card .muted{max-width:540px;font-size:var(--text-sm);margin:0;line-height:1.55}.import-card .primary-button,.import-score-actions .primary-button{width:max-content;min-height:36px;color:var(--vellum-strong);background:var(--brass);font-size:var(--text-sm);border-radius:8px;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #fffaf040}.import-card .primary-button svg,.import-score-actions .primary-button svg,.import-score-actions .secondary-button svg{width:14px;height:14px}.file-dropzone{background:var(--vellum-strong);border:1.5px dashed var(--faint-ink);border-radius:14px;place-items:center;min-height:270px;padding:64px 40px;transition:border-color .15s,background .15s;display:grid;position:relative;overflow:hidden}.file-dropzone:before,.file-dropzone:after{content:"";opacity:.45;width:14px;height:14px;position:absolute}.file-dropzone:before{border-top:1px solid var(--muted-2);border-left:1px solid var(--muted-2);top:14px;left:14px}.file-dropzone:after{border-right:1px solid var(--muted-2);border-bottom:1px solid var(--muted-2);bottom:14px;right:14px}.file-dropzone.is-dragging{border-color:var(--brass);background:#c98a4514}.file-dropzone.is-dragging:before,.file-dropzone.is-dragging:after{border-color:var(--brass)}.file-dropzone-input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.file-dropzone-copy{max-width:420px;color:var(--muted-ink);pointer-events:none;text-align:center;place-items:center;gap:8px;display:grid}.file-dropzone-glyph{width:64px;height:64px;color:var(--muted-ink);background:var(--surface-2);border:1px solid var(--faint-ink);border-radius:999px;place-items:center;margin-bottom:10px;display:grid}.file-dropzone-glyph svg{width:22px;height:22px}.file-dropzone-copy strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);font-style:italic;font-weight:400;line-height:1}.file-dropzone-copy>span:not(.file-dropzone-glyph,.import-browse-button){font-size:var(--text-sm);line-height:1.45}.import-browse-button{min-height:38px;color:var(--vellum-strong);background:var(--ink);font-size:var(--text-sm);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:0 22px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #fffaf014}.import-browse-button span{color:#fbf6eaa8;font-family:var(--font-mono);font-size:var(--text-3xs);border:1px solid #fbf6ea38;border-radius:3px;padding:1px 5px}.import-file-selection{gap:10px;display:grid}.import-file-selection .toolbar-row,.import-list-header{justify-content:space-between}.import-file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-file-row{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;min-height:54px;padding:12px 16px;display:grid}.import-file-row span{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.import-file-row small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400}.import-file-row .error{grid-column:1/-1;margin:0}.import-file-row.is-importing{border-color:#c98a457a}.import-file-row.is-imported small{color:var(--spruce-dark)}.import-file-row.is-failed{border-color:#9e4d2c52}.import-file-row.is-failed small{color:var(--rosette)}.import-url-field{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:10px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;padding:0 18px;display:grid}.import-url-field svg{width:15px;height:15px;color:var(--muted-ink)}.import-url-input,.import-catalog-search-input{height:48px;box-shadow:none;font-family:var(--font-mono);font-size:var(--text-sm);background:0 0;border:0;padding:0}.import-url-input:focus-visible,.import-catalog-search-input:focus-visible{box-shadow:none;--tw-ring-shadow:0 0 #0000;border-color:#0000}.import-checkbox{width:max-content;max-width:100%;color:var(--ink);background:var(--surface-2);border:1px solid var(--faint-ink);font-size:var(--text-sm);border-radius:8px;padding:10px 12px;font-weight:500}.import-catalog{gap:0}.import-catalog-filter{border-bottom:1px solid var(--faint-ink);grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:18px;padding:20px 0 22px;display:grid}.import-catalog-search{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;display:grid}.import-catalog-search svg{width:17px;height:17px;color:var(--muted-ink)}.import-catalog-periods{gap:2px;max-width:100%;display:flex;overflow-x:auto}.import-catalog-periods button{min-height:28px;color:var(--muted-ink);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 11px;font-weight:400;transition:background .14s,border-color .14s,color .14s}.import-catalog-periods button:hover,.import-catalog-periods button:focus-visible{color:var(--ink);border-color:var(--faint-ink);background:#fffaf08f}.import-catalog-periods button.is-active{color:var(--ink);background:var(--vellum-strong);border-color:var(--faint-ink);font-weight:500}.import-catalog-summary p{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;margin:0}.import-catalog-empty{text-align:center;place-content:center;gap:8px;min-height:300px;padding:96px 20px 112px;display:grid}.import-catalog-empty h2{color:#5a5043c7;font-family:var(--font-heading);margin:0;font-size:clamp(2rem,3vw,2.35rem);font-style:italic;font-weight:400;line-height:1}.import-catalog-empty p{color:#5a5043bd;font-size:var(--text-base);margin:0;font-weight:500;line-height:1.35}.import-catalog-column-legend{color:var(--muted-2);font-family:var(--font-sans);font-size:var(--text-3xs);text-transform:uppercase;grid-template-columns:48px minmax(0,1fr) 76px 40px 76px 176px;align-items:center;gap:18px;padding:8px 14px 8px 10px;font-weight:500;display:grid}.import-catalog-group{gap:0;padding:28px 0 6px;display:grid}.import-composer-heading{align-items:baseline;gap:16px;margin-bottom:6px;display:flex}.import-composer-heading:after{content:"";background:var(--faint-ink);flex:1;height:1px;margin-bottom:6px}.import-composer-heading h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);margin:0;font-style:italic;font-weight:400;line-height:1.1}.import-composer-dates{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400}.import-composer-period{color:var(--muted-2);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.14em;font-weight:500}.import-composer-heading p{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;margin:0;font-weight:400}.import-score-row{border:0;border-top:1px solid var(--faint-ink);box-shadow:none;background:0 0;border-radius:0;padding:0}.import-score-row .toolbar-row{border-radius:2px;grid-template-columns:48px minmax(0,1fr) 76px 40px 76px 176px;align-items:center;gap:18px;min-height:68px;padding:16px 14px 16px 10px;transition:background .14s;display:grid}.import-score-row .toolbar-row:hover{background:#fffaf08c}.import-score-copy{min-width:0}.import-score-year{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:400}.import-score-title-row{flex-wrap:wrap;align-items:baseline;gap:8px 10px;display:flex}.import-score-row .row-title{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.15}.import-score-row .row-meta{font-size:var(--text-xs);gap:8px;margin:4px 0 0}.import-score-workline{min-width:0;color:var(--muted-ink);align-items:center;display:flex}.import-score-workline span:first-child{font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.import-score-workline i{background:var(--muted-2);border-radius:999px;flex-shrink:0;width:2px;height:2px}.import-score-catalog-number{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;flex-shrink:0}.import-title-badge{color:var(--muted-ink);border:1px solid var(--faint-ink);font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.08em;background:#f1e8d2b8;border-radius:999px;align-items:center;gap:5px;padding:1px 7px 1px 6px;font-weight:500;line-height:1.5;display:inline-flex}.import-title-badge i{background:var(--brass);border-radius:999px;width:4px;height:4px}.import-title-badge.is-pending{color:var(--brass)}.import-score-key,.import-score-pages{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;font-weight:400}.import-score-pages{text-align:right}.import-score-difficulty{align-items:center;gap:2px;display:flex}.import-difficulty-tick{background:var(--faint-ink);opacity:.72;width:5px;height:9px}.import-difficulty-tick.is-active{background:var(--brass);opacity:1}.import-score-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.import-score-actions .secondary-button{min-height:32px;color:var(--muted-ink);border-radius:var(--radius-lg);box-shadow:none;font-size:var(--text-xs);background:0 0;border-color:#0000;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.import-score-actions .primary-button{color:#6b3f12;min-height:32px;font-size:var(--text-xs);white-space:nowrap;box-shadow:none;background:#ce91403d;border-radius:999px;flex-shrink:0;padding:0 12px}.import-score-actions .primary-button:hover,.import-score-actions .primary-button:focus-visible{background:#ce914052}.import-library-status{min-height:32px;color:var(--muted-ink);font-size:var(--text-xs);white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.import-library-status svg{width:14px;height:14px;color:var(--brass);flex-shrink:0}.import-preview{border-radius:8px;height:min(72vh,640px);margin-top:14px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);background:#1a17146b;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--parchment);border:1px solid var(--faint-ink);border-radius:var(--radius);flex-direction:column;width:min(760px,100%);max-height:min(88vh,820px);display:flex;overflow:hidden;box-shadow:0 24px 80px -20px #1a161173,0 8px 24px -8px #1a161133}.modal-header{border-bottom:1px solid var(--faint-ink);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 18px;display:flex}.modal-title-block{min-width:0}.modal-header h2 em{font-style:italic}.modal-description{color:var(--muted-ink);font-size:var(--text-sm);margin:8px 0 0;line-height:1.45}.modal-close-button{color:#5a5043d1;border-radius:var(--radius);background:0 0;border:1px solid #0000;flex:none;place-items:center;width:32px;height:32px;display:grid}.modal-close-button:hover{color:var(--ink);border-color:var(--faint-ink);background:#fbf4e3a3}.modal-close-button svg{width:15px;height:15px}.modal-body{min-height:0;padding:0;overflow:auto}.modal-footer{border-top:1px solid var(--faint-ink);background:#e9ddc2b8;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex}.modal-cancel-button,.modal-primary-button{border-radius:var(--radius);min-height:38px;font-size:var(--text-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.modal-cancel-button{color:var(--muted-ink);background:0 0}.modal-cancel-button:hover{color:var(--ink);background:#fbf4e37a}.modal-primary-button{color:var(--vellum-strong);background:var(--brass)}.modal-primary-button:hover:not(:disabled){transform:translateY(-1px)}.modal-primary-button:disabled{color:#5a504394;border-color:var(--faint-ink);background:#fbf4e39e}.modal-primary-button svg{width:14px;height:14px}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .16s}.modal-fade-enter-active .modal-panel,.modal-fade-leave-active .modal-panel{transition:transform .16s}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-from .modal-panel,.modal-fade-leave-to .modal-panel{transform:translateY(8px)}.add-scores-toolbar{gap:12px;padding:18px 28px 12px;display:grid}.add-scores-modal{width:min(760px,100%)}.new-program-modal{width:min(520px,100%);position:relative}.new-program-modal:before{background:linear-gradient(90deg, transparent, var(--brass), transparent);content:"";opacity:.5;height:3px;position:absolute;top:0;left:18%;right:18%}.new-program-modal .modal-header{background:#fbf4e3b8;border-bottom-color:#1a17141a}.new-program-modal .modal-description{max-width:25rem;font-family:var(--font-heading);font-style:italic}.new-program-fields{gap:18px;padding:24px 32px 10px;display:grid}.new-program-field{gap:8px;display:grid}.new-program-field-heading{align-items:baseline;gap:10px;display:flex}.new-program-field-heading strong{color:var(--ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1}.new-program-field-heading em,.new-program-field-heading small{color:#5a5043a8;font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic;line-height:1}.new-program-field-heading small{color:var(--muted-ink)}.new-program-field-heading i{background:#1a171414;flex:auto;align-self:center;min-width:24px;height:1px}.new-program-input-shell{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:var(--radius);align-items:center;gap:10px;min-height:42px;padding:0 14px;transition:border-color .14s,box-shadow .14s;display:flex}.new-program-input-shell:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px #ce914029}.new-program-input-shell svg{color:#5a5043b8;flex:none;width:14px;height:14px;transition:color .14s}.new-program-input-shell:focus-within svg{color:var(--brass)}.new-program-input-shell input{min-width:0;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:0;background:0 0;border:0;outline:0;flex:1}.new-program-input-shell input::placeholder{color:#5a50439e;font-style:italic}.new-program-optional-note{color:#5a5043a3;font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.new-program-actions{align-items:center;gap:12px;display:flex}.add-scores-search{border:1px solid var(--faint-ink);border-radius:var(--radius);background:#fbf4e3d1;align-items:center;gap:10px;min-height:42px;padding:0 14px;display:flex}.add-scores-search svg{width:15px;height:15px;color:var(--muted-ink)}.add-scores-search input{min-width:0;color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.add-scores-search input::placeholder{color:#5a50439e}.add-scores-search>span{color:#5a5043ad;border:1px solid var(--faint-ink);font-family:var(--font-mono);font-size:var(--text-2xs);border-radius:4px;padding:2px 6px}.add-scores-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.add-scores-filters{align-items:center;gap:4px;display:flex}.add-scores-filters button{min-height:28px;color:var(--muted-ink);font-size:var(--text-xs);background:0 0;border:1px solid #0000;border-radius:999px;padding:0 11px}.add-scores-filters button.is-active{color:var(--ink);border-color:var(--faint-ink);background:#fbf4e3d1;font-weight:600}.add-scores-sort-control{margin-left:auto}.add-scores-sort-control .filter-control-value{font-size:var(--text-xs)}.add-scores-count{color:#5a5043ad;font-family:var(--font-mono);font-size:var(--text-2xs)}.add-scores-list{min-height:0;max-height:54vh;padding:6px 0;overflow-y:auto}.add-scores-composer-heading{align-items:baseline;gap:10px;padding:18px 28px 6px;display:flex}.add-scores-composer-heading span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic}.add-scores-composer-heading i{background:var(--faint-ink);flex:1;height:1px}.add-scores-row{width:100%;color:var(--ink);border:0;border-top:1px solid var(--faint-ink);text-align:left;background:0 0;align-items:center;gap:16px;padding:14px 28px;transition:background .12s,opacity .12s;display:flex}.add-scores-row:hover:not(:disabled){background:#fbf4e394}.add-scores-row.is-selected{background:#ce914014}.add-scores-row.is-existing{cursor:default;opacity:.55}.add-scores-checkbox{width:18px;height:18px;color:var(--vellum-strong);background:0 0;border:1px solid #5a5043a3;border-radius:4px;flex:none;place-items:center;display:grid}.add-scores-row.is-selected .add-scores-checkbox,.add-scores-row.is-existing .add-scores-checkbox{background:var(--brass);border-color:var(--brass)}.add-scores-checkbox svg{width:12px;height:12px}.add-scores-copy{flex:1;gap:3px;min-width:0;display:grid}.add-scores-copy strong{font-family:var(--font-heading);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.2;overflow:hidden}.add-scores-copy>span{align-items:center;gap:8px;min-width:0;display:flex}.add-scores-copy em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.add-scores-copy i{background:#5a50437a;border-radius:999px;flex:none;width:2px;height:2px}.add-scores-row-state{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);flex:none}.add-scores-empty{color:var(--muted-ink);text-align:center;padding:60px 20px}.add-scores-empty h3{font-family:var(--font-heading);font-size:var(--text-2xl);margin:0 0 4px;font-style:italic;font-weight:400}.add-scores-empty p{font-size:var(--text-sm);margin:0}.add-scores-list .error{margin:12px 28px 16px}.add-scores-tally{align-items:center;gap:12px;min-width:0;display:flex}.add-scores-tally>strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:1}.add-scores-tally>span{gap:2px;display:grid}.add-scores-tally b{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.add-scores-tally small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs)}.add-scores-actions{flex:none;align-items:center;gap:8px;display:flex}.tab-list{gap:8px;display:grid}.tab-list button{min-height:46px;color:var(--ink);border-radius:var(--radius);text-align:left;background:#1a17140f;border:1px solid #1a171414;padding:0 12px;font-weight:850}.tab-list button.is-active{color:var(--vellum);background:var(--ink)}.empty-state{background:#fffaf09e;padding:22px}.empty-state h2,.empty-state h3{font-family:var(--font-heading);margin:0 0 8px;font-weight:900}.empty-state p{color:var(--muted-ink);margin:0}:root{--parchment:#f4ecdc;--vellum:#efe6d2;--vellum-strong:#fbf6ea;--page:var(--parchment);--page-2:#efe6d2;--surface:var(--vellum-strong);--surface-2:#f6efdd;--hair:var(--faint-ink);--ink:#1a1611;--ink-2:#423b30;--muted-ink:#7a7062;--muted-2:#a39780;--faint-ink:#d8cdb6;--hair-soft:#e6dcc4;--rosette:#9e4d2c;--rosette-dark:#63301f;--brass:#c98a45;--brass-soft:#e9cc99;--brass-ink:#6b3f12;--spruce:#6b7a4b;--spruce-dark:#4f5946;--shadow:#362b1d24;--panel:#fbf6eae0;--paper:#fbf7ec;--paper-edge:#e8dcc0;--background:var(--parchment);--foreground:var(--ink);--card:var(--vellum-strong);--card-foreground:var(--ink);--border:var(--faint-ink);--input:var(--faint-ink);--ring:#c98a457a;--sidebar:var(--ink);--sidebar-foreground:#f2ead9;--sidebar-border:#f2ead914}html,body{background:var(--parchment)}body{font-feature-settings:"ss01", "ss02", "cv11";-webkit-font-smoothing:antialiased}body:before{display:none}.app-shell{background:var(--parchment);grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{color:#f2ead9;background:var(--ink);border-right:1px solid #f2ead914;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;padding:24px 18px 18px}.brand-lockup{padding:6px 4px 22px;border-bottom:1px solid #f2ead914;justify-content:flex-start;gap:12px;margin:0 -18px 22px;padding-inline:22px}.brand-rosette{flex:none;width:36px;height:36px}.brand-copy{gap:4px;min-width:0;display:grid}.brand-title{color:var(--vellum);font-family:var(--font-heading);font-size:var(--text-lg);margin:0;font-weight:500;line-height:1}.brand-subtitle{color:#f6eedf7a;font-family:var(--font-mono);font-size:var(--text-3xs);margin:0;font-weight:500}.nav-list{align-content:start;gap:2px}.sidebar-section-label,.sort-label{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;margin:0;font-weight:500;line-height:1}.score-control-group>span{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:500;line-height:1}.sidebar-section-label{color:#f6eedf7a;padding:0 4px 12px}.nav-button{color:#f6eedf8a;border-radius:var(--radius-lg);min-height:34px;font-size:var(--text-sm);background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto;gap:12px;padding:0 10px;font-weight:400;display:grid;position:relative}.nav-button.is-active:before{content:"";background:var(--brass);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:-18px}.nav-button svg{color:currentColor;stroke-width:1.8px;width:16px;height:16px}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-button.is-active{color:var(--vellum);background:0 0;font-weight:500}.nav-button.is-active .nav-count,.nav-button.is-active svg{color:var(--brass)}.nav-count{font-family:var(--font-mono);font-size:var(--text-2xs);opacity:1}.practice-card{background:#f6eedf0b;border:1px solid #f6eedf17;border-radius:8px;align-self:end;margin-bottom:14px;padding:14px 12px}.practice-card p{color:#f6eedf7a;font-size:var(--text-xs);text-transform:uppercase;margin:0 0 10px;font-weight:500}.practice-card strong{color:var(--vellum);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:400;line-height:1;display:block}.practice-card strong span{color:#f6eedf94;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500}.practice-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:5px;height:28px;margin-top:18px;display:grid}.practice-bars span{background:#f6eedf29;border-radius:2px 2px 0 0;min-height:8px;display:block}.practice-days{color:#f6eedf6b;font-size:var(--text-xs);grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px;font-weight:500;display:grid}.practice-days span:last-child{color:var(--brass);text-align:right}.sidebar-footer{gap:12px}.user-card{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 12px;align-items:center;gap:10px;width:100%;padding:8px;display:grid;position:relative}.user-card:hover,.user-card.is-active,.user-card.is-open{background:#221d16;border-color:#f6eedf14}.user-card.is-active:before{content:"";background:var(--brass);border-radius:2px;width:2px;position:absolute;top:16px;bottom:16px;left:-18px}.user-card svg{color:#f6eedf6b;width:12px;height:12px}.user-card-caret{transition:transform .18s cubic-bezier(.2,.7,.2,1),opacity .14s}.user-card.is-open .user-card-caret{color:#f6eedfa8;opacity:1;transform:rotate(180deg)}.user-avatar{width:30px;height:30px;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);background:#ead197;border-radius:999px;place-items:center;display:grid}.user-copy{min-width:0}.sidebar-user-menu-content{width:var(--reka-dropdown-menu-trigger-width,184px);min-width:var(--reka-dropdown-menu-trigger-width,184px);color:var(--ink)}.sidebar-user-menu-header{gap:5px;padding:8px 10px 9px;display:grid}.sidebar-user-menu-header strong{color:var(--ink);font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.1;overflow:hidden}.sidebar-user-menu-header span{color:var(--muted-ink);font-family:var(--font-mono);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.sidebar-user-menu-header em{color:var(--muted-2);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:6px;margin-top:2px;font-size:8.5px;font-style:normal;font-weight:500;line-height:1;display:inline-flex}.sidebar-user-menu-header i{background:var(--brass);border-radius:999px;width:5px;height:5px;box-shadow:0 0 0 2px #c98a4526}.sidebar-user-menu-separator{background:var(--hair-soft);height:1px;margin:2px 4px 4px}.sidebar-user-menu-item{min-height:0;font-size:12.5px}.sidebar-user-menu-item:focus,.sidebar-user-menu-item:hover{color:var(--ink);background:var(--page-2)}.sidebar-user-menu-item.is-danger:focus,.sidebar-user-menu-item.is-danger:hover{color:var(--rosette);background:var(--page-2)}.sidebar-user-menu-item svg{color:currentColor;stroke-width:1.3px;width:13px;height:13px}.sidebar-user-menu-item span{color:currentColor;font-family:var(--font-heading);font-size:inherit;white-space:nowrap;flex:1;font-weight:500;line-height:1}.sidebar-user-menu-arrow{color:var(--muted-2);flex:none;font-size:14px}.sidebar-footer .secondary-button{color:#f6eedf75;background:0 0;border:0;justify-self:start;min-height:34px;padding:0}.main-stage{min-height:100vh;padding:0}.dashboard-workspace{background:var(--page);min-height:100vh;overflow:auto}.dashboard-container{width:min(1240px,100%);margin:0 auto;padding:0 40px 56px}.dashboard-masthead{border-bottom:1px solid var(--faint-ink);justify-content:space-between;align-items:flex-end;gap:32px;padding:40px 0 28px;display:flex}.dashboard-masthead-copy{min-width:0}.dashboard-eyebrow-row,.dashboard-section-heading h2,.dashboard-panel-heading em,.dashboard-program-copy>span,.dashboard-card-meta,.dashboard-card-progress em,.dashboard-empty-copy em,.dashboard-practice-stats em{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1}.dashboard-eyebrow-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-eyebrow-row i,.dashboard-section-heading>span{background:var(--faint-ink);flex:0 0 24px;width:24px;height:1px}.dashboard-eyebrow-row em{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;font-style:normal}.dashboard-masthead h1{color:var(--ink);font-family:var(--font-heading);margin:0;font-size:clamp(3.2rem,6.5vw,4rem);font-weight:400;line-height:.95}.dashboard-masthead h1 em{color:var(--brass);font-style:italic}.dashboard-masthead p{max-width:64ch;color:var(--ink-2);font-family:var(--font-heading);font-size:var(--text-lg);margin:14px 0 0;font-style:italic;line-height:1.4}.dashboard-masthead p strong{color:var(--ink);font-style:normal;font-weight:500}.dashboard-masthead-actions{flex:none;justify-items:end;gap:10px;display:grid}.dashboard-primary-action{min-height:44px;color:var(--surface);background:var(--ink);font-size:var(--text-sm);border:0;border-radius:999px;align-items:center;gap:10px;padding:0 18px;font-weight:500;transition:background .14s,transform .14s;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 12px 26px -18px #1a16117a}.dashboard-primary-action:hover:not(:disabled){background:var(--brass);transform:translateY(-1px)}.dashboard-primary-action:disabled{cursor:default;opacity:.64}.dashboard-primary-action svg{width:15px;height:15px}.dashboard-primary-score{max-width:320px;color:var(--muted-ink);font-size:var(--text-xs);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.dashboard-primary-score:hover span,.dashboard-primary-score:focus-visible span{color:var(--brass)}.dashboard-primary-score:focus-visible{outline:1px solid var(--brass);outline-offset:4px}.dashboard-primary-score svg{width:14px;height:14px;color:var(--muted-2)}.dashboard-primary-score span{color:var(--ink-2);font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.dashboard-primary-score em{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-style:normal;overflow:hidden}.dashboard-section{margin-top:32px}.dashboard-section-heading{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.dashboard-section-heading h2{margin:0}.dashboard-section-heading>span{flex:auto}.dashboard-section-heading button,.dashboard-panel-heading button,.dashboard-panel-heading i{color:var(--muted-2);font-family:var(--font-heading);font-size:var(--text-xs);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-style:italic;font-weight:400;display:inline-flex}.dashboard-section-heading button:hover,.dashboard-panel-heading button:hover{color:var(--brass)}.dashboard-continue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dashboard-continue-card,.dashboard-empty-slot,.dashboard-program-card,.dashboard-program-empty,.dashboard-practice-glance,.dashboard-import-list button,.dashboard-import-empty{text-align:left}.dashboard-continue-card,.dashboard-empty-slot{min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--faint-ink);border-radius:8px;flex-direction:column;transition:border-color .16s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.dashboard-continue-card:hover,.dashboard-empty-slot:hover,.dashboard-program-card:hover,.dashboard-program-empty:hover,.dashboard-practice-glance:hover,.dashboard-import-empty:hover{border-color:var(--muted-2);transform:translateY(-1px)}.dashboard-continue-card:hover,.dashboard-empty-slot:hover,.dashboard-program-card:hover,.dashboard-program-empty:hover,.dashboard-practice-glance:hover{box-shadow:0 18px 32px -24px #1a16114d}.dashboard-progress-plate{background:var(--paper);border:1px solid var(--paper-edge);border-radius:3px;height:148px;margin:14px 14px 0;position:relative;overflow:hidden}.dashboard-progress-plate:before{content:"";opacity:.28;background:repeating-linear-gradient(#0000 0 34px,#1a16111f 35px,#0000 36px 42px,#1a16111a 43px,#0000 44px);position:absolute;inset:0}.dashboard-progress-header{z-index:1;align-items:baseline;gap:6px;display:flex;position:absolute;top:12px;left:14px;right:14px}.dashboard-progress-header strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:1}.dashboard-progress-header span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.dashboard-progress-header em{color:var(--muted-ink);font-size:var(--text-3xs);letter-spacing:.16em;text-transform:uppercase;margin-left:auto;font-style:normal;font-weight:500}.dashboard-progress-plate svg{z-index:1;width:100%;height:86px;position:absolute;bottom:20px;left:0;right:0}.dashboard-progress-plate line{stroke:var(--faint-ink);stroke-width:.8px}.dashboard-progress-plate polygon{fill:#c98a4538}.dashboard-progress-plate polyline{fill:none;stroke:var(--brass);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.dashboard-progress-plate circle{fill:var(--brass);vector-effect:non-scaling-stroke}.dashboard-progress-axis{z-index:1;color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.08em;justify-content:space-between;display:flex;position:absolute;bottom:8px;left:14px;right:14px}.dashboard-card-body{gap:12px;padding:14px 18px 16px;display:grid}.dashboard-card-title-row{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.dashboard-card-title-row>em{color:var(--muted-2);font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic}.dashboard-card-title-row strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.1;display:block;overflow:hidden}.dashboard-card-title-row small{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-style:italic;display:block;overflow:hidden}.dashboard-card-meta{letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.dashboard-card-meta span{align-items:center;gap:5px;display:inline-flex}.dashboard-card-meta svg{width:12px;height:12px;color:var(--brass)}.dashboard-card-progress{gap:6px;display:grid}.dashboard-card-progress>span{background:var(--hair-soft);border-radius:999px;height:2px;overflow:hidden}.dashboard-card-progress i{background:var(--brass);border-radius:inherit;height:100%;display:block}.dashboard-card-progress em{letter-spacing:.08em;font-style:normal}.dashboard-card-footer{border-top:1px solid var(--hair-soft);align-items:center;gap:10px;padding-top:10px;display:flex}.dashboard-card-footer small{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.dashboard-card-footer>span{color:var(--muted-2);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;flex:none;align-items:center;gap:5px;margin-left:auto;font-weight:500;display:inline-flex}.dashboard-card-footer .rosette-arrow{font-size:var(--text-base)}.dashboard-empty-slot{background:0 0;border-style:dashed}.dashboard-empty-paper{background:var(--paper);border:1px dashed var(--paper-edge);border-radius:3px;place-items:center;height:148px;margin:14px 14px 0;display:grid;position:relative;overflow:hidden}.dashboard-empty-paper>span{opacity:.32;background:repeating-linear-gradient(#0000 0 25px,#1a16111f 26px,#0000 27px 32px,#1a16111a 33px,#0000 34px);position:absolute;inset:0}.dashboard-empty-paper svg{z-index:1;width:44px;height:44px;color:var(--brass);background:var(--surface);border:1px solid var(--faint-ink);border-radius:999px;padding:12px;position:relative;box-shadow:0 6px 14px -12px #1a16114d}.dashboard-empty-copy{gap:8px;padding:14px 18px 16px;display:grid}.dashboard-empty-copy strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;line-height:1.1}.dashboard-empty-copy small{min-height:48px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic;line-height:1.35}.dashboard-empty-copy em{border-top:1px solid var(--hair-soft);color:var(--muted-ink);padding-top:10px;font-style:normal}.dashboard-program-panel{margin-top:36px}.dashboard-program-card,.dashboard-program-empty{border-radius:10px;align-items:center;gap:28px;width:100%;padding:24px 28px;transition:border-color .16s,box-shadow .18s,transform .18s;display:grid}.dashboard-program-card{color:#f2ead9;background:var(--ink);border:1px solid var(--ink);padding:26px 32px;display:block;position:relative;overflow:hidden}.dashboard-program-inner{z-index:1;align-items:center;gap:36px;display:flex;position:relative}.dashboard-program-ticks{opacity:.45;pointer-events:none;width:60px;height:100%;position:absolute;top:0;bottom:0;right:0}.dashboard-program-ticks line{stroke:#f2ead92e;stroke-width:1px}.dashboard-program-count{flex-direction:column;flex:0 0 180px;min-width:180px;display:flex}.dashboard-program-count>span{color:#f2ead98c;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1.1}.dashboard-program-count-main{align-items:baseline;gap:10px;margin-top:8px;display:flex}.dashboard-program-count strong{color:var(--brass);font-family:var(--font-heading);font-size:var(--text-7xl);letter-spacing:0;font-weight:400;line-height:.88}.dashboard-program-count em{color:#f2ead9a8;font-family:var(--font-heading);font-size:var(--text-lg);font-style:italic}.dashboard-program-count small{color:#f2ead96b;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-weight:500;line-height:1}.dashboard-program-divider{background:#f2ead924;flex:0 0 1px;align-self:stretch;width:1px;min-height:116px}.dashboard-program-copy{flex:auto;gap:6px;min-width:0;display:grid}.dashboard-program-card .dashboard-program-copy>span{color:#f2ead98c}.dashboard-program-copy strong{color:inherit;font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;line-height:1.05}.dashboard-program-copy>em{color:inherit;font-family:var(--font-heading);font-size:var(--text-base);font-style:italic}.dashboard-program-copy small{color:#f2ead9ad;min-width:0;font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dashboard-program-copy small>span{color:#f2ead9b3;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.05em;font-weight:500}.dashboard-program-copy small svg{width:14px;height:14px}.dashboard-program-copy small i{opacity:.6;background:currentColor;border-radius:999px;width:3px;height:3px}.dashboard-program-side{flex:0 0 220px;justify-items:end;gap:10px;display:grid}.dashboard-program-ready-label{color:#f2ead98c;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1;display:inline-flex}.dashboard-program-ready-dots{align-items:center;gap:5px;display:inline-flex}.dashboard-program-ready-dot{background:0 0;border:1px solid #f2ead957;border-radius:999px;width:9px;height:9px}.dashboard-program-ready-dot.is-learning{background:#f2ead980;border-color:#f2ead980}.dashboard-program-ready-dot.is-ready{background:var(--brass);border-color:var(--brass)}.dashboard-program-side small{color:#f2ead9ad;font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.dashboard-program-side small strong{color:var(--brass);font-family:var(--font-sans);margin-right:.25em;font-style:normal;font-weight:500}.dashboard-program-side em{color:#f2ead9;min-height:36px;font-family:var(--font-heading);font-size:var(--text-xs);border:1px solid #f2ead938;border-radius:999px;align-items:center;gap:12px;padding:0 14px;font-style:normal;display:inline-flex}.dashboard-program-side em .rosette-arrow{font-size:var(--text-base)}.dashboard-program-empty{color:var(--ink);background:var(--surface);border:1px solid var(--hair);grid-template-columns:88px minmax(0,1fr) auto;gap:32px;padding:26px 32px}.dashboard-program-empty .dashboard-program-copy>span{color:var(--muted-ink)}.dashboard-program-empty .dashboard-program-copy strong{color:var(--ink);font-size:var(--text-2xl);line-height:1.08}.dashboard-program-empty .dashboard-program-copy strong em{color:var(--brass);font-style:italic}.dashboard-program-empty .dashboard-program-copy p{max-width:64ch;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:2px 0 0;font-style:italic;line-height:1.45}.dashboard-program-ticket{width:88px;height:88px;color:var(--brass);background:linear-gradient(var(--hair) 0 0) 10px 8px / calc(100% - 20px) 1px no-repeat, linear-gradient(var(--hair-soft) 0 0) 14px 12px / calc(100% - 28px) 1px no-repeat, linear-gradient(var(--hair-soft) 0 0) 14px calc(100% - 12px) / calc(100% - 28px) 1px no-repeat, linear-gradient(var(--hair) 0 0) 10px calc(100% - 8px) / calc(100% - 20px) 1px no-repeat, var(--paper);border:1px solid var(--paper-edge);border-radius:3px;place-items:center;display:grid;position:relative;box-shadow:0 1px #1a16110a}.dashboard-program-ticket svg{width:28px;height:28px}.dashboard-program-create{min-height:38px;color:var(--surface);background:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:400;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 1px #1a16111f}.dashboard-program-create .rosette-arrow{font-size:var(--text-base)}.dashboard-bottom-grid{grid-template-columns:1.05fr 1fr;gap:18px;margin-top:28px;display:grid}.dashboard-practice-glance,.dashboard-recent-imports{min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--faint-ink);border-radius:8px}.dashboard-practice-glance{gap:18px;padding:20px 22px 22px;transition:border-color .16s,box-shadow .18s,transform .18s;display:grid}.dashboard-recent-imports{border-color:var(--paper-edge);background:linear-gradient(#fbf7ecf5,#fbf6eae6);padding:22px 26px 14px}.dashboard-panel-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.dashboard-panel-heading>span{gap:6px;display:grid}.dashboard-panel-heading strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;line-height:1}.dashboard-panel-heading svg{width:13px;height:13px}.dashboard-practice-stats{border-bottom:1px solid var(--hair-soft);grid-template-columns:1.2fr 1fr 1fr;gap:18px;padding-bottom:18px;display:grid}.dashboard-practice-stats span{gap:6px;display:grid}.dashboard-practice-stats strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:1}.dashboard-practice-stats small{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin-left:5px;font-style:italic;font-weight:400}.dashboard-practice-bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;height:84px;display:grid;position:relative}.dashboard-practice-bars>span{justify-items:center;gap:6px;min-width:0;display:grid}.dashboard-practice-bars i{background:#c98a4547;border-radius:2px;place-items:start center;width:100%;display:grid}.dashboard-practice-bars .is-partial i{background:#c98a4594}.dashboard-practice-bars .is-met i{background:var(--brass)}.dashboard-practice-bars svg{width:11px;height:11px;color:var(--surface);margin-top:4px}.dashboard-practice-bars em{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal}.dashboard-import-list{margin-top:14px;display:grid}.dashboard-import-list button{color:var(--ink);background:0 0;border:0;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 -12px;padding:11px 12px;transition:background .16s,box-shadow .16s,color .14s,transform .18s;display:grid;position:relative}.dashboard-import-list button:after{content:"";background:var(--hair-soft);height:1px;transition:opacity .14s;position:absolute;bottom:0;left:12px;right:12px}.dashboard-import-list button:last-child:after,.dashboard-import-list button:is(:hover,:focus-visible):after{opacity:0}.dashboard-import-list button:has(+button:is(:hover,:focus-visible)):after{opacity:0}.dashboard-import-list button:is(:hover,:focus-visible){background:var(--surface-2);box-shadow:inset 3px 0 0 var(--brass), 0 1px 0 var(--hair-soft);outline:0;transform:translateY(-1px)}.dashboard-import-token{width:32px;height:38px;color:var(--ink-2);border:1px solid var(--paper-edge);box-shadow:none;background:#fffcf4b3;border-radius:2px;place-items:center;padding:3px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.dashboard-import-list button:is(:hover,:focus-visible) .dashboard-import-token{border-color:var(--muted-2);transform:translateY(-1px)rotate(-1.2deg);box-shadow:0 6px 14px -8px #1a161147,0 1px #1a16110f}.dashboard-import-token i{background:var(--hair-soft);width:100%;height:1px;display:block}.dashboard-import-token span{color:var(--ink-2);font-family:var(--font-heading);font-size:var(--text-base);font-style:italic;font-weight:500;line-height:1;transition:color .16s}.dashboard-import-list button:is(:hover,:focus-visible) .dashboard-import-token span{color:var(--brass)}.dashboard-import-list button>span:not(.composer-tile):not(.dashboard-import-token){gap:5px;min-width:0;display:grid}.dashboard-import-list strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1;transition:color .16s;overflow:hidden}.dashboard-import-list button:is(:hover,:focus-visible) strong{color:var(--brass)}@supports (color:color-mix(in lab, red, red)){.dashboard-import-list button:is(:hover,:focus-visible) strong{color:color-mix(in srgb, var(--brass) 62%, var(--ink))}}.dashboard-import-list small{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-style:italic;line-height:1.1;overflow:hidden}.dashboard-import-action{min-width:68px;min-height:24px;color:var(--ink-2);font-family:var(--font-heading);font-size:var(--text-xs);justify-content:flex-end;align-items:center;font-style:italic;display:flex;position:relative}.dashboard-import-default{justify-items:end;gap:3px;transition:opacity .14s,transform .18s;display:grid}.dashboard-import-list button:is(:hover,:focus-visible) .dashboard-import-default{opacity:0;transform:translate(6px)}.dashboard-import-default small{font-family:var(--font-mono);font-size:var(--text-3xs);font-style:normal}.dashboard-import-open{opacity:0;pointer-events:none;align-items:center;gap:8px;transition:opacity .14s,transform .18s;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)translate(-6px)}.dashboard-import-list button:is(:hover,:focus-visible) .dashboard-import-open{opacity:1;transform:translateY(-50%)translate(0)}.dashboard-import-open>span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic;line-height:1}.dashboard-import-open i{width:22px;height:22px;color:var(--brass);background:var(--paper);border:1px solid var(--brass);border-radius:999px;place-items:center;font-style:normal;display:grid}.dashboard-import-open .rosette-arrow{font-size:var(--text-sm)}.dashboard-import-empty{width:100%;color:var(--ink);border:1px dashed var(--muted-2);background:0 0;border-radius:8px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:12px;margin-top:18px;padding:16px;display:grid}.dashboard-import-empty>svg:first-child{width:34px;height:34px;color:var(--brass);background:var(--paper);border:1px solid var(--paper-edge);border-radius:999px;padding:9px}.dashboard-import-empty>span:not(.rosette-arrow){gap:4px;display:grid}.dashboard-import-empty-arrow{color:var(--muted-ink)}.dashboard-import-empty strong{color:var(--ink);font-family:var(--font-heading);font-weight:500}.dashboard-import-empty small{color:var(--muted-ink);font-family:var(--font-heading);font-style:italic}@media (width<=1180px){.dashboard-continue-grid,.dashboard-bottom-grid{grid-template-columns:1fr}}@media (width<=900px){.dashboard-container{padding:0 24px 44px}.dashboard-masthead,.dashboard-program-card,.dashboard-program-empty{grid-template-columns:1fr;align-items:start}.dashboard-masthead{flex-direction:column}.dashboard-masthead-actions,.dashboard-program-side{justify-items:start}.dashboard-program-inner{flex-wrap:wrap;align-items:flex-start;gap:24px}.dashboard-program-count{flex-basis:140px;min-width:140px}.dashboard-program-divider{display:none}.dashboard-program-side{flex-basis:100%}}@media (width<=640px){.dashboard-container{padding-inline:18px}.dashboard-masthead h1{font-size:var(--text-5xl)}.dashboard-program-card{padding:22px}.dashboard-program-inner{flex-direction:column}.dashboard-program-count,.dashboard-program-side{flex-basis:auto;min-width:0}.dashboard-section-heading,.dashboard-panel-heading,.dashboard-card-footer{flex-direction:column;align-items:flex-start}.dashboard-section-heading>span{display:none}.dashboard-practice-stats{grid-template-columns:1fr}.dashboard-import-list button{grid-template-columns:32px minmax(0,1fr);gap:14px;padding-block:11px}.dashboard-import-token{width:32px;height:38px}.dashboard-import-token span,.dashboard-import-list strong{font-size:var(--text-base)}.dashboard-import-list small{font-size:var(--text-xs)}.dashboard-import-list button>em{grid-column:2;justify-content:flex-start}.dashboard-import-default{justify-items:start}.dashboard-import-open{left:0;right:auto}}.workspace-grid{grid-template-columns:400px minmax(0,1fr);gap:0;height:100vh;min-height:720px}.workspace-grid.is-library-closed{grid-template-columns:minmax(0,1fr)}.workspace-grid .rail,.workspace-grid .workspace{box-shadow:none;background:0 0;border:0;border-radius:0}.workspace-grid .rail{background:var(--parchment);border-right:1px solid var(--faint-ink)}.workspace-grid .workspace{background:var(--parchment)}.workspace-selection-empty{min-width:0;min-height:0;display:flex}.score-selection-empty{background:var(--parchment);flex:1;place-items:center;min-height:0;padding:48px;display:grid;position:relative;overflow:hidden}.score-selection-empty-figure{width:min(640px,100%);color:var(--ink);text-align:center;flex-direction:column;align-items:center;gap:26px;margin:0;display:flex}.score-selection-quote-mark{height:36px;color:var(--brass);font-family:var(--font-heading);font-size:var(--text-8xl);-webkit-user-select:none;user-select:none;font-style:italic;font-weight:400;line-height:.62}.score-selection-empty blockquote{max-width:640px;color:var(--ink);font-family:var(--font-heading);letter-spacing:0;text-wrap:pretty;margin:0;font-size:clamp(1.625rem,3vw,2rem);font-style:italic;font-weight:400;line-height:1.32}.score-selection-empty figcaption{color:var(--ink);grid-template-columns:18px auto 18px;align-items:center;gap:9px 10px;display:grid}.score-selection-empty figcaption span{background:var(--brass);opacity:.7;height:1px}.score-selection-empty figcaption strong{font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.02em;font-weight:500}.score-selection-empty figcaption em{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;grid-column:1/-1;font-style:normal}.score-selection-empty-hint{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);align-items:center;gap:12px;margin:18px 0 0;font-style:italic;display:inline-flex}.score-selection-empty-hint span{color:var(--muted-2);font-family:var(--font-sans);font-size:var(--text-lg);font-style:normal;line-height:1}.score-selection-corner{opacity:.58;pointer-events:none;width:34px;height:34px;position:absolute}.score-selection-corner:before,.score-selection-corner:after{content:"";background:var(--faint-ink);position:absolute;top:0;left:0}.score-selection-corner:before{width:34px;height:1px}.score-selection-corner:after{width:1px;height:34px}.score-selection-corner.is-top-left{top:28px;left:28px}.score-selection-corner.is-top-right{top:28px;right:28px;transform:rotate(90deg)}.score-selection-corner.is-bottom-left{bottom:28px;left:28px;transform:rotate(-90deg)}.score-selection-corner.is-bottom-right{bottom:28px;right:28px;transform:rotate(180deg)}.rail-header{border-bottom:0;padding:28px 28px 0}.rail-header .toolbar-row{align-items:flex-end;position:relative}.rail-header .library-toggle{width:32px;min-height:32px;color:var(--muted-ink);background:0 0;border-color:#0000;position:static}.workspace-header{border-bottom:0;gap:22px;padding:28px 40px 0;display:grid}.rail-summary{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);flex-wrap:wrap;gap:8px;margin:10px 0 0;font-weight:400;line-height:1.2;display:flex}.rail-summary em{font-family:var(--font-heading);font-style:italic;font-weight:400}.library-control-stack{gap:16px;margin-top:22px}.library-search{background:0 0;border:0;border-bottom:1px solid #15110d29;border-radius:0;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;min-height:41px;padding:0}.library-search:focus-within{box-shadow:none;border-color:#15110d5c}.library-search [data-slot=input]{height:40px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400}.library-search>svg{stroke-width:1.8px;width:18px;height:18px}.library-search-shortcut{color:#817867b8;border:1px solid var(--faint-ink);min-width:0;min-height:20px;font-family:var(--font-mono);font-size:var(--text-2xs);border-radius:4px;justify-self:end;place-items:center;padding:1px 5px;font-weight:400;line-height:1;display:inline-grid}.library-filter-row{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.filter-control{min-width:0;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);font-family:var(--font-sans);font-size:var(--text-xs);border-radius:20px;align-items:center;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex;position:relative}.filter-control:hover,.filter-control:focus-within,.filter-control[data-state=open]{border-color:var(--muted-2)}.status-filter-control{flex:none;gap:8px;padding:5px 10px 5px 11px}.sort-filter-control{flex:none;gap:6px;padding:5px 6px 5px 11px}.sort-control-trigger{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;align-self:stretch;align-items:center;gap:6px;padding:0;display:inline-flex}.sort-control-trigger[data-state=open] .filter-control-chevron,.status-filter-control[data-state=open] .filter-control-chevron{transform:rotate(180deg)}.filter-control-kicker{color:var(--muted-2);font-size:var(--text-3xs);letter-spacing:.14em;text-transform:uppercase;flex:none;font-weight:500;line-height:1}.filter-control-value{min-width:0;color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.4;overflow:hidden}.filter-control-count{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;flex:none;font-weight:400;line-height:1}.filter-status-dot{border-radius:999px;flex:none;width:8px;height:8px}.filter-status-dot.is-unlearned{border:1.5px solid var(--muted-2);background:0 0}.filter-status-dot.is-learning{background:var(--brass)}.filter-status-dot.is-mastered{background:var(--ink)}.filter-control-chevron{width:10px;height:10px;color:var(--muted-ink);stroke-width:1.8px;flex:none;transition:transform .16s cubic-bezier(.2,.7,.2,1)}.sort-direction-button{z-index:2;width:18px;min-width:18px;height:18px;color:var(--muted-ink);background:0 0;border:0;border-radius:999px;place-items:center;transition:background .15s,color .15s;display:inline-grid;position:relative}.sort-direction-button:hover{color:var(--ink);background:#1a16110d}.sort-direction-button svg{stroke-width:1.8px;width:12px;height:12px}.status-filter-dropdown-content{min-width:13.125rem}.status-filter-dropdown-item,.sort-control-dropdown-item{min-height:36px}.status-filter-dropdown-item span:last-of-type,.sort-control-dropdown-item strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);flex:1;font-weight:500;line-height:1}.status-filter-dropdown-item em{color:var(--muted-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;font-style:normal;line-height:1}.status-filter-dot-placeholder,.sort-control-dropdown-item>span{flex:none;width:8px;height:8px}.status-filter-dropdown-separator{background:var(--hair-soft);height:1px;margin:4px}.sort-control-dropdown-content{min-width:10rem}@media (width<=380px){.library-filter-row{flex-wrap:wrap}.status-filter-control,.sort-filter-control{flex:100%}}.rail-scroll{flex:1;padding:20px 18px 24px}.rail-scroll.has-empty-archive{padding:20px 24px 28px}.rail.is-dropping-files{box-shadow:inset 0 0 0 1px #ce91402e}.library-dropzone-feedback{z-index:20;pointer-events:none;background:#f1e8d233;grid-template-rows:minmax(0,1fr) auto 10px auto minmax(0,1fr);place-items:center;display:grid;position:absolute;inset:0}.library-dropzone-feedback:before{content:"";border:1.5px dashed #ce9140e6;border-radius:18px;position:absolute;inset:10px;box-shadow:inset 0 0 0 1px #fffaf03d,0 18px 38px -28px #3a2a1b52}.library-dropzone-feedback:after{content:"";background:linear-gradient(#ce914075,#ce914075) 0 0/26px 1px no-repeat,linear-gradient(#ce914075,#ce914075) 0 0/1px 26px no-repeat,linear-gradient(#ce914075,#ce914075) 100% 0/26px 1px no-repeat,linear-gradient(#ce914075,#ce914075) 100% 0/1px 26px no-repeat,linear-gradient(#ce914075,#ce914075) 100% 100%/26px 1px no-repeat,linear-gradient(#ce914075,#ce914075) 100% 100%/1px 26px no-repeat,linear-gradient(#ce914075,#ce914075) 0 100%/26px 1px no-repeat,linear-gradient(#ce914075,#ce914075) 0 100%/1px 26px no-repeat;position:absolute;inset:20px}.library-dropzone-glyph{z-index:1;width:68px;height:68px;color:var(--brass);background:var(--vellum-strong);border:2px solid #ce9140c7;border-radius:999px;grid-row:2;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #fffaf0db,0 16px 34px -22px #3a2a1b80}.library-dropzone-glyph svg{stroke-width:1.8px;width:27px;height:27px}.library-dropzone-callout{z-index:1;min-height:40px;color:var(--vellum-strong);background:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:0;border-radius:999px;grid-row:4;justify-content:center;align-items:center;padding:0 15px;font-weight:500;line-height:1;display:inline-flex;position:relative;box-shadow:0 14px 28px -18px #1a1714b3}.library-empty-archive{gap:26px;display:grid}.library-empty-opening{background:var(--vellum-strong);border-radius:var(--radius);text-align:center;border:1px solid #ce91403d;justify-items:center;padding:32px 24px 30px;display:grid;box-shadow:inset 0 1px #fffaf09e,0 16px 30px -22px #3a2a1b5c}.library-empty-rosette{width:46px;height:46px;color:var(--brass);margin-bottom:18px;overflow:visible}.library-empty-rosette circle{fill:none;stroke:currentColor}.library-empty-rosette circle:first-of-type,.library-empty-rosette circle:nth-of-type(5){opacity:.5;stroke-width:.6px}.library-empty-rosette circle:nth-of-type(2),.library-empty-rosette circle:nth-of-type(4){stroke-width:1.4px}.library-empty-rosette circle:nth-of-type(3){stroke-width:.5px}.library-empty-rosette line{stroke:currentColor;stroke-linecap:round;stroke-width:.8px}.library-empty-rosette text{fill:currentColor;font-family:var(--font-heading);font-size:var(--text-4xl);font-style:italic}.library-empty-opening h2{max-width:18.8125rem;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;text-wrap:balance;margin:0;font-weight:400;line-height:1.1}.library-empty-opening h2 em{color:var(--brass);font-style:italic}.library-empty-opening p{max-width:32ch;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);text-wrap:pretty;margin:14px 0 0;font-style:italic;line-height:1.5}.library-empty-starts h3{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:0 0 8px;font-weight:500;line-height:1;display:grid}.library-empty-starts h3:after{background:var(--faint-ink);content:"";height:1px}.library-empty-start{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #1a171414;grid-template-columns:24px minmax(0,1fr) 24px;align-items:start;gap:14px;padding:14px 4px;transition:background .12s;display:grid}.library-empty-start:last-child{border-bottom:0}.library-empty-start:hover{background:#fffaf07a}.library-empty-start-numeral{color:#81786799;font-family:var(--font-heading);font-size:var(--text-lg);font-style:italic;line-height:1.1}.library-empty-start-copy{gap:6px;min-width:0;display:grid}.library-empty-start-copy strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:0;font-weight:500;line-height:1.2}.library-empty-start-copy span{color:var(--muted-ink);font-size:var(--text-xs);line-height:1.5}.library-empty-start-copy small{color:#8178679e;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:400;line-height:1.4}.library-empty-start-arrow{min-width:24px;color:var(--muted-ink);align-self:center;transition:color .14s,transform .14s}.library-empty-start:hover .library-empty-start-arrow{color:var(--brass);transform:translate(2px)}.rail-footer{background:var(--vellum);border-top:1px solid var(--faint-ink);flex-wrap:wrap;align-items:center;gap:10px;min-height:64px;padding:14px 28px;display:flex}.add-score-button{min-height:32px;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-xs);background:var(--vellum-strong);border-color:var(--faint-ink);border-radius:var(--radius-lg);align-items:center;gap:10px;padding:0 12px;font-weight:400;display:inline-flex;box-shadow:0 1px #fffaf057}.add-score-button svg{stroke-width:2.2px;width:17px;height:17px}.rail-footer span{color:#8178679e;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400}.score-list{gap:4px}.score-list-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:0 10px 8px;display:grid}.score-list-heading span{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);text-transform:uppercase;font-weight:500;line-height:1}.score-list-heading:after{background:var(--faint-ink);content:"";height:1px}.score-list-row{min-height:0;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:0;padding:0;position:relative}.score-list-row.is-active,.score-list-row:hover,.score-list-row:focus-within{background:var(--vellum-strong);border-color:var(--faint-ink);box-shadow:none}.score-list-row.is-active:before,.score-list-row:hover:before,.score-list-row:focus-within:before{content:"";background:var(--brass);border-radius:10px 0 0 10px;width:6px;position:absolute;inset:0 auto 0 0}.score-row-select{grid-template-columns:16px minmax(0,1fr);align-items:baseline;gap:12px;min-height:90px;padding:16px 18px;display:grid}.score-list-row.is-active .score-row-select{min-height:90px;padding-top:16px}.score-row-initial{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);text-align:center;padding-top:2px;font-weight:500}.score-row-copy{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-width:0;display:grid}.score-row-main{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.row-title{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;line-height:1.15}.row-meta{min-width:0;color:var(--muted-ink);font-size:var(--text-xs);flex-wrap:wrap;gap:8px;line-height:1.2;display:flex}.meta-line{gap:14px;margin-top:2px}.badge{min-height:13px;color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-3xs);letter-spacing:1.3px;text-transform:uppercase;background:0 0;border-radius:0;padding:0;font-weight:500;line-height:1.4}.badge.unlearned,.badge.learning,.badge.mastered{color:var(--muted-ink);background:0 0}.badge.mastered{color:var(--spruce-dark)}.badge:before{content:"";border:2px solid #c58f4a6b;border-radius:999px;width:11px;height:11px;margin-right:6px;display:inline-block}.badge.learning:before{border-color:var(--brass)}.badge.mastered:before{border-color:var(--spruce);background:var(--spruce)}.badge.warning{color:var(--rosette);background:0 0}.badge.warning:before{display:none}.small-meta{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500}.score-row-page{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;align-self:end;padding-bottom:2px;font-weight:400}.score-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid}.score-hero.has-leading-action{grid-template-columns:auto minmax(0,1fr) auto}.score-leading-action .library-toggle{align-self:start;margin-top:18px}.score-hero-copy{min-width:0}.score-composer-line{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-lg);flex-wrap:wrap;gap:14px;margin:14px 0 0;display:flex}.workspace-actions{align-items:center;gap:8px;display:flex}.workspace-action-divider{background:var(--faint-ink);width:1px;height:22px;margin:0 6px;display:block}.practice-session-button{min-height:39px;color:var(--vellum-strong);background:var(--brass);box-shadow:inset 0 1px 0 #ffffff24, 0 1px 0 var(--brass-ink), 0 8px 18px -10px var(--brass-ink);border:0;border-radius:10px;align-items:center;gap:9px;padding:0 20px 0 16px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.practice-session-button{box-shadow:inset 0 1px 0 #ffffff24, 0 1px 0 color-mix(in oklab, var(--brass-ink) 32%, transparent), 0 8px 18px -10px color-mix(in oklab, var(--brass-ink) 78%, transparent)}}.practice-session-button{font-size:var(--text-sm);letter-spacing:-.005em;font-weight:500;transition:filter .16s,transform .16s,box-shadow .16s}.practice-session-button svg{fill:currentColor;width:12px;height:12px}.practice-session-button:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px)}.practice-session-control{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:10px;align-items:stretch;max-width:min(100%,320px);min-height:36px;display:inline-flex;overflow:hidden}.practice-session-control.is-current{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-session-control.is-current{background:color-mix(in oklab, var(--brass) 26%, var(--vellum-strong))}}.practice-session-control.is-current{border-color:var(--brass)}.practice-session-status{align-items:center;gap:10px;min-width:0;padding:7px 14px;display:flex}.practice-session-status>span:last-child{gap:1px;min-width:0;line-height:1.1;display:grid}.practice-session-dot{background:var(--brass);border-radius:999px;flex:none;width:7px;height:7px;position:relative}.practice-session-dot:before{content:"";background:inherit;border-radius:inherit;animation:1.6s ease-out infinite practice-session-pulse;position:absolute;inset:0}.practice-session-status em{color:#5a5043c7;font-size:var(--text-4xs);letter-spacing:.14em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-style:normal;font-weight:600;overflow:hidden}.practice-session-control.is-current .practice-session-status em,.practice-session-control.is-current .practice-session-status strong,.practice-session-control.is-current button{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.practice-session-control.is-current .practice-session-status em,.practice-session-control.is-current .practice-session-status strong,.practice-session-control.is-current button{color:color-mix(in oklab, var(--ink) 74%, var(--brass))}}.practice-session-status strong{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.1;overflow:hidden}.practice-session-status strong i{font-family:var(--font-heading);font-style:italic;font-weight:400}.practice-session-status strong b{color:#5a50438c;font-family:var(--font-sans);font-weight:500}.practice-session-control button{color:var(--ink);border:0;border-left:1px solid var(--faint-ink);font-size:var(--text-xs);background:0 0;padding:0 16px;font-weight:600;transition:background .12s}.practice-session-control.is-current button{border-left-color:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-session-control.is-current button{border-left-color:color-mix(in oklab, var(--brass) 68%, var(--vellum-strong))}}.practice-session-control button:not(:disabled):hover{background:#ce914029}@keyframes practice-session-pulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:0;transform:scale(1.75)}}@media (prefers-reduced-motion:reduce){.practice-session-dot:before{animation:none}}.workspace-actions .score-actions-menu-trigger,.workspace-actions .inspector-toggle,.score-close-button{color:var(--muted-ink);background:0 0;border:1px solid #0000}.score-control-strip{background:var(--vellum);border-top:1px solid var(--faint-ink);border-bottom:1px solid var(--faint-ink);align-items:center;margin:0 -40px;padding:14px 32px;display:flex;overflow:visible}.practice-strip-segment{border-right:1px solid var(--faint-ink);padding:0 22px}.score-control-group.practice-strip-segment{align-content:center;min-height:54px}.practice-strip-segment:last-child{border-right:0}.practice-strip-start{flex-shrink:0;align-self:stretch;align-items:center;width:184px;padding-left:0;display:flex}.score-metronome-button{width:100%;min-height:36px;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);font-size:var(--text-xs);letter-spacing:-.005em;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px 0 12px;font-weight:500;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.score-metronome-button svg{fill:currentColor;width:14px;height:14px}.score-metronome-button:not(.is-running):hover{border-color:#817867a3;transform:translateY(-1px)}.score-metronome-button.is-running{color:var(--brass-ink);background:var(--brass-soft);border-color:var(--brass)}.score-control-group{gap:4px;min-width:0;display:grid;position:relative}.score-control-group+.score-control-group:before{display:none}.score-control-group strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);align-items:baseline;gap:5px;font-weight:500;line-height:1;display:flex}.score-control-group strong small{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:500}.tempo-control{flex-shrink:0;grid-template-columns:max-content 22px;gap:2px 12px;width:auto}.tempo-control>span,.tempo-control>strong{grid-column:1}.tempo-stepper{grid-area:1/2/span 2;align-self:center;gap:4px;display:grid}.tempo-stepper button{width:22px;height:18px;color:var(--ink);background:var(--vellum-strong);border:1px solid #15110d24;border-radius:4px;place-items:center;display:grid}.tempo-stepper svg,.meter-button svg{width:12px;height:12px}.meter-control{flex-shrink:0;width:96px}.meter-button{width:max-content;color:var(--ink);border-radius:var(--radius-lg);background:0 0;border:0;align-items:center;gap:7px;padding:1px 8px 1px 4px;transition:background .12s;display:inline-flex}.meter-button:hover,.meter-button[aria-expanded=true]{background:#fffaf080}.meter-fraction{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);align-items:center;font-weight:500;line-height:1;display:inline-flex}.meter-popover{z-index:30;background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;width:184px;padding:6px 0;position:absolute;top:calc(100% + 7px);left:14px;box-shadow:0 16px 32px -18px #15110d73}.meter-popover p{color:#817867b8;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:6px 14px 5px;font-weight:600}.meter-option{width:100%;min-height:32px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0 14px;display:flex}.meter-option:hover,.meter-option.is-active{background:var(--vellum)}.meter-option-label{min-width:38px;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500}.meter-option em{color:#817867c7;font-family:var(--font-heading);font-size:var(--text-xs)}.meter-option-check{width:12px;height:12px;color:var(--brass);margin-left:auto}.beats-control{flex:1;align-content:center;gap:6px;min-width:190px;display:grid}.beats-heading{min-width:0}.beats-heading>span{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1}.beat-progress-row{align-items:center;gap:10px;min-width:0;min-height:32px;display:flex}.beat-count-label{color:var(--brass);font-family:var(--font-mono);font-size:var(--text-3xs);flex:none;font-weight:500;line-height:1;transform:translateY(4px)}.beat-dot-row{align-items:center;gap:9px;min-width:0;margin-top:-10px;display:flex}.beat-dot-cell{flex:none;place-items:end center;width:15px;height:22px;display:grid;position:relative}.beat-dot{background:0 0;border:1.4px solid #817867a3;border-radius:999px;width:11px;height:11px;transition:background 80ms,border-color 80ms,transform 90ms;display:block}.beat-dot-cell.is-downbeat .beat-dot{border-color:#15110db8;width:14px;height:14px}.beat-dot-cell.is-current .beat-dot{background:var(--brass);border-color:var(--brass);transform:scale(1.18)}.downbeat-tick{background:#817867b8;width:1px;height:5px;display:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.beat-dot-cell.is-downbeat .downbeat-tick{display:block}.key-control{flex-shrink:0;width:118px}.key-control-button{width:100%;min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;padding:0;display:block}.key-control-button:focus-visible,.key-control-input:focus-visible{outline-offset:3px;outline:2px solid #ce91406b}.key-control strong,.key-control-input{width:100%;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-style:italic;font-weight:400;display:block;overflow:hidden}.key-control-input{height:24px;color:var(--ink);background:0 0;border:0;padding:0}.key-control-input::placeholder{color:var(--ink);opacity:1}.score-workspace-layout{flex:1;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid}.score-workspace-layout.is-inspector-closed{grid-template-columns:minmax(0,1fr)}.score-main-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.score-desk{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.reader-card{box-shadow:none;background:0 0;border:0;border-radius:0;container-type:inline-size}.reader-stage-shell{background:var(--parchment)}.reader-stage-shell .pdf-reader-stage,.reader-stage-shell .pdf-empty{flex:1}.pdf-reader-stage{background:var(--parchment);padding:36px 40px}.pdf-page-canvas{box-shadow:0 0 0 1px #15110d14,0 12px 30px -10px #1a16112e}.pdf-empty,.pdf-reader-status{color:var(--ink)}.reader-page-label{color:var(--muted-ink);background:#fffaf0b8;border-color:#15110d1f;bottom:28px;right:28px}.reader-toolbar{color:#7a7062;background:#efe6d2;border-top:1px solid #d8cdb6;align-items:center;gap:16px;padding:14px 40px;display:flex}.reader-toolbar-navigation,.reader-toolbar-tools,.reader-toolbar-zoom{align-items:center;display:flex}.reader-toolbar-navigation{flex:none;gap:8px}.reader-footer-button{color:#1a1611;border-radius:var(--radius-lg);background:#fbf6ea;border:1px solid #d8cdb6;place-items:center;width:32px;height:32px;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-grid}.reader-footer-button svg{stroke-width:1.2px;width:14px;height:14px}.reader-footer-button:hover,.reader-thumbnail-card:hover .reader-thumbnail-button,.reader-thumbnail-button:hover,.reader-footer-tool:hover{color:#1a1611;background:#fbf7ec}.reader-footer-button:disabled,.reader-footer-tool:disabled{color:#a39780;cursor:default}.reader-footer-page-count{color:#a39780;min-width:60px;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;justify-content:center;align-items:center;gap:4px;font-weight:400;line-height:1;display:inline-flex}.reader-footer-page-count strong,.reader-footer-page-count em{font-style:normal;font-weight:400}.reader-footer-page-count strong{color:#1a1611}.reader-toolbar-thumbnails{flex:auto;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.reader-thumbnail-card{flex:1 1 0;min-width:0;max-width:80px;height:36px;display:flex;position:relative}.reader-thumbnail-button{color:#a39780;text-align:left;background:#fbf6ea;border:1px solid #d8cdb6;border-radius:3px;justify-content:center;align-items:center;width:100%;height:100%;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.reader-thumbnail-button span{color:currentColor;font-family:var(--font-mono);font-size:var(--text-4xs);font-weight:400;line-height:1;position:absolute;top:5px;left:5px}.reader-thumbnail-button i{background:#d8cdb6;width:70%;height:1.5px;transition:background .15s,height .15s;display:block}.reader-thumbnail-card.is-active .reader-thumbnail-button{color:#6b3f12;background:#fbf7ec;border-color:#c98a45}.reader-thumbnail-card.is-complete .reader-thumbnail-button i{background:var(--ink);height:2px}.reader-thumbnail-card.is-active .reader-thumbnail-button i{background:var(--brass);height:2px}.reader-thumbnail-complete{color:#9f9481;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:2px;place-items:center;width:13px;height:13px;padding:0;transition:color .15s,opacity .15s;display:inline-grid;position:absolute;top:4px;right:5px}.reader-thumbnail-complete svg{stroke-width:2px;width:10px;height:10px}.reader-thumbnail-card:hover .reader-thumbnail-complete{opacity:1;pointer-events:auto}.reader-thumbnail-card.is-complete .reader-thumbnail-complete{color:#8c806e}.reader-thumbnail-complete:hover{color:var(--brass)}.reader-toolbar-tools{flex:none;gap:6px}.reader-toolbar-zoom{gap:6px}.reader-footer-tool{color:#7a7062;border-radius:var(--radius-lg);background:0 0;border:0;place-items:center;width:28px;height:28px;padding:0;transition:background .15s,color .15s;display:inline-grid}.reader-footer-tool svg{stroke-width:1.2px;width:14px;height:14px}.reader-zoom-label{color:#7a7062;min-width:32px;font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:center;font-weight:400}.reader-toolbar-separator{background:#d8cdb6;width:1px;height:18px;margin:0 4px}.keyboard-shortcuts-modal{width:min(520px,100%);position:relative}.keyboard-shortcuts-modal:before{z-index:1;content:"";background:linear-gradient(90deg, transparent, var(--brass) 50%, transparent);opacity:.5;height:3px;position:absolute;top:0;left:0;right:0}.keyboard-shortcuts-modal .modal-header{background:var(--surface)}.keyboard-shortcuts-modal .modal-description{max-width:360px;font-family:var(--font-heading);text-wrap:pretty;font-size:.84375rem;font-style:italic;line-height:1.5}.keyboard-shortcuts-list{padding:6px 28px 8px}.keyboard-shortcuts-group-header{align-items:center;gap:10px;padding:18px 0 4px;display:flex}.keyboard-shortcuts-group:first-child .keyboard-shortcuts-group-header{padding-top:16px}.keyboard-shortcuts-group-header span{color:#5a50439e;font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1}.keyboard-shortcuts-group-header i{background:#1a17141a;flex:1;height:1px}.keyboard-shortcuts-row{border-bottom:1px solid #1a17141a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;display:grid}.keyboard-shortcuts-row-copy{gap:3px;min-width:0;display:grid}.keyboard-shortcuts-row-copy strong{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;font-size:.96875rem;font-weight:500;line-height:1.2}.keyboard-shortcuts-row-copy em{color:var(--muted-ink);font-family:var(--font-heading);letter-spacing:0;font-size:.78125rem;font-style:italic;line-height:1.35}.keyboard-shortcuts-keys{flex-shrink:0;align-items:center;gap:6px;display:flex}.keyboard-shortcut-key{min-width:30px;height:30px;color:var(--ink);background:var(--vellum);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;text-transform:none;border:1px solid #1a17141f;border-bottom-width:2px;justify-content:center;align-items:center;padding:0;font-style:normal;font-weight:500;line-height:1;display:inline-flex;box-shadow:0 1px #1a16110a,inset 0 1px #fff9}.keyboard-shortcut-key.is-wide{min-width:44px;padding:0 10px}.keyboard-shortcuts-key-separator{color:#5a50438a;font-family:var(--font-heading);font-size:var(--text-xs);padding:0 2px;font-style:italic}.keyboard-shortcuts-modal .modal-footer{background:#efe6d2;align-items:center}.keyboard-shortcuts-footer-hint{color:#5a5043b8;font-family:var(--font-heading);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:6px;font-style:italic;display:inline-flex}.keyboard-shortcuts-footer-hint .keyboard-shortcut-key{min-width:28px;height:26px;font-size:var(--text-2xs)}.keyboard-shortcuts-dismiss{min-height:38px;color:var(--vellum-strong);background:var(--ink);border-radius:var(--radius);font-size:var(--text-sm);border:0;justify-content:center;align-items:center;padding:0 18px;font-weight:500;transition:transform .12s;display:inline-flex}.keyboard-shortcuts-dismiss:hover{transform:translateY(-1px)}@container (width<=540px){.reader-toolbar{flex-wrap:wrap;gap:10px;padding:12px 18px}.reader-toolbar-navigation{order:1}.reader-toolbar-tools{order:2;margin-left:auto}.reader-toolbar-thumbnails{scrollbar-width:thin;flex-basis:100%;order:3;overflow-x:auto}}@container (width<=420px){.reader-toolbar{align-items:stretch;padding:10px 12px}.reader-toolbar-navigation{justify-content:space-between;width:100%}.reader-toolbar-tools{justify-content:center;width:100%;margin-left:0}.reader-footer-page-count{flex:1}.reader-thumbnail-card{min-width:48px}}.inspector{background:var(--vellum);border:0;border-left:1px solid var(--faint-ink);width:340px;min-width:340px;box-shadow:none;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;padding:0;display:grid;overflow:hidden}.details-panel-header{border-bottom:1px solid var(--faint-ink);justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:22px 24px 18px;display:flex}.panel-eyebrow{color:#817867db;font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:0;text-transform:uppercase;margin:0 0 1px;font-weight:500;line-height:1}.details-panel-header h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);margin:0;font-weight:500;line-height:.95}.details-close-button{color:#817867cc;border-radius:var(--radius-lg);background:0 0;border-color:#0000;width:30px;min-height:30px}.details-close-button:hover{color:var(--ink);background:#15110d0f}.details-panel-scroll{align-content:start;gap:26px;min-height:0;padding:22px 24px 28px;display:grid;overflow-y:auto}.details-section{gap:12px;display:grid}.details-section-header{grid-template-columns:auto minmax(22px,1fr) auto;align-items:center;gap:10px;display:grid}.details-section-header:after{background:var(--faint-ink);content:"";width:100%;height:1px}.details-section-header h3{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);margin:0;font-weight:500;line-height:1}.details-section-header>span{color:#817867ad;font-family:var(--font-sans);font-size:var(--text-2xs);white-space:nowrap;font-weight:500}.details-field{gap:7px;display:grid}.details-field>span{color:#817867db;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:0;text-transform:uppercase;font-weight:500;line-height:1}.details-input,.details-select-trigger{width:100%;height:40px;min-height:40px;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);box-shadow:none;font-family:var(--font-heading);font-size:var(--text-base);border-radius:6px;outline:none;padding:0 11px;font-weight:500;line-height:1.25}.details-select-trigger{border-radius:var(--radius-lg)}.details-input:not(.details-select-trigger){padding-top:9px;padding-bottom:7px}.details-input::placeholder{color:#817867b8;font-family:var(--font-heading);font-style:italic;font-weight:400}.details-input:focus,.details-input:focus-visible,.details-select-trigger:focus,.details-select-trigger:focus-visible{border-color:var(--ink-2);box-shadow:inset 0 0 0 1px #15110d0a}.details-select-trigger{font-size:var(--text-base);justify-content:space-between}.details-select-trigger svg{transition:transform .14s}.details-select-trigger[data-state=open] svg{transform:rotate(180deg)}.details-select-content{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500}.details-select-item{min-height:36px;line-height:1}.details-program-list{gap:8px;display:grid}.details-program-row{appearance:none;border:1px solid var(--faint-ink);border-radius:var(--radius-lg);cursor:pointer;width:100%;min-height:52px;font:inherit;text-align:left;background:#fbf6ea80;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;transition:background .14s,border-color .14s,transform .14s;display:grid}.details-program-row:hover{background:#fbf6eac7;border-color:#ce91405c;transform:translateY(-1px)}.details-program-row:focus-visible{outline-offset:2px;outline:2px solid #ce9140b8}.details-program-spine{color:#8178679e;background:#81786724;place-items:center;width:22px;height:28px;display:grid}.details-program-row.is-in-program .details-program-spine{color:var(--vellum);background:var(--brass)}.details-program-spine svg{width:15px;height:15px}.details-program-copy{gap:2px;min-width:0;display:grid}.details-program-copy strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.05;overflow:hidden}.details-program-copy small{color:#817867b8;font-size:var(--text-xs);font-weight:500}.details-program-badge{color:#817867e0;min-width:30px;min-height:23px;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;background:#ce91403d;border-radius:999px;place-items:center;font-weight:600;display:inline-grid}.details-empty-card{color:#817867b8;text-align:center;border:1px dashed var(--faint-ink);background:#fffaf047;border-radius:7px;place-items:center;min-height:64px;padding:13px 14px;display:grid}.details-empty-card em{color:#817867c7;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500}.details-empty-card span{font-size:var(--text-xs);margin-top:3px}.details-performance-card{border:1px solid #15110d1c;border-radius:7px}.details-reference-form{display:grid}.details-input-with-icon{position:relative}.details-input-with-icon>svg{z-index:1;color:#817867ad;width:14px;height:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.details-input-with-icon .details-input{padding-left:34px}.details-footer{color:#817867b3;border-top:1px solid var(--faint-ink);min-height:64px;font-family:var(--font-sans);font-size:var(--text-2xs);justify-content:space-between;align-items:end;gap:14px;padding:14px 24px 18px;font-weight:500;display:flex}.details-footer-actions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.details-ai-control{align-items:center;gap:8px;display:inline-flex;overflow:hidden}.details-ai-feedback-track{opacity:0;max-width:0;transition:max-width .36s cubic-bezier(.2,.7,.2,1),opacity .22s;overflow:hidden}.details-ai-feedback-track.is-visible{opacity:1;max-width:200px}.details-ai-feedback{color:#817867d1;font-family:var(--font-heading);font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:1px;font-style:italic;font-weight:400;line-height:1;display:inline-flex}.details-ai-feedback.is-error{color:#b5523a}.details-ai-ellipsis{display:inline-flex}.details-ai-ellipsis span{animation:1.2s infinite rDotCycle}.details-ai-ellipsis span:nth-child(2){animation-delay:.18s}.details-ai-ellipsis span:nth-child(3){animation-delay:.36s}.details-ai-button{width:28px;min-height:28px;color:var(--ink);background:#fffaf09e;border-color:#15110d24;border-radius:5px;flex:none}.details-ai-button svg{stroke-width:2.2px;width:14px;height:14px}.details-ai-button-icon{display:inline-flex}.details-ai-button:hover:not(:disabled){color:var(--rosette);background:#ce914038}.details-ai-button.is-processing{color:var(--rosette);cursor:wait}.details-ai-button.is-processing svg{animation:1.1s ease-in-out infinite rSparklePulse}.details-ai-button:disabled:hover{transform:none}@keyframes rSparklePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes rDotCycle{0%,to{opacity:.3}50%{opacity:1}}.library-toggle,.score-actions-menu-trigger,.inspector-toggle,.score-close-button{width:32px;min-height:32px;color:var(--muted-ink);border-radius:var(--radius-lg);background:0 0;border:1px solid #0000;transition:background .12s,border-color .12s,color .12s}.library-toggle svg,.score-actions-menu-trigger svg,.inspector-toggle svg,.score-close-button svg{stroke-width:1.2px;width:14px;height:14px}.score-actions-menu-trigger[data-state=open]{color:var(--ink);background:var(--vellum-strong);border-color:#15110d24}.score-header-menu-content{min-width:10rem}.library-toggle[aria-expanded=true],.inspector-toggle.is-active{color:var(--ink);background:var(--vellum-strong);border-color:#15110d24}.library-toggle:hover,.score-actions-menu-trigger:hover,.inspector-toggle:hover,.score-close-button:hover{color:var(--ink);background:var(--vellum-strong);border-color:#15110d1a;transform:none}.library-toggle[aria-expanded=true]:hover,.inspector-toggle.is-active:hover{border-color:#15110d24}.practice-card{color:#f2ead9;text-align:left;width:100%;transition:border-color .14s,transform .14s,background .14s}.practice-card:hover,.practice-card.is-active{border-color:var(--brass)}.practice-card:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.practice-card-topline,.practice-card-total,.practice-card-goal{align-items:center;display:flex}.practice-card-topline{justify-content:space-between;gap:10px}.practice-card-topline svg{color:#f6eedf75;stroke-width:1.8px;width:13px;height:13px}.practice-card-total{gap:6px;margin-top:8px}.practice-card-total strong{display:inline}.practice-card-total>span{color:#f6eedf94;font-family:var(--font-mono);font-size:var(--text-2xs)}.practice-card-total em{width:15px;height:15px;color:var(--vellum);background:var(--brass);border-radius:999px;place-items:center;margin-left:auto;display:grid}.practice-card-total em svg{stroke-width:2.6px;width:9px;height:9px}.practice-bars span{background:#f6eedf24;min-height:3px}.practice-bars span.is-partial{background:#f6eedf59}.practice-bars span.is-met{background:var(--brass)}.practice-card-goal{border-top:1px solid #f6eedf14;gap:6px;margin-top:10px;padding-top:10px}.practice-card-goal>span{background:var(--brass);border-radius:999px;flex:none;width:4px;height:4px}.practice-card-goal em{min-width:0;color:var(--vellum);font-family:var(--font-heading);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;font-style:italic;line-height:1.15;overflow:hidden}.practice-card-goal strong{color:#f6eedf94;font-family:var(--font-mono);font-size:var(--text-3xs);font-weight:500}.practice-log-desk{min-height:100vh;color:var(--ink);background:var(--parchment);overflow:auto}.practice-log-header{background:var(--vellum);border-bottom:1px solid var(--faint-ink);grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:28px 40px;padding:36px 48px 24px;display:grid}.practice-eyebrow,.practice-card-eyebrow{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:600;line-height:1}.practice-log-header h1{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;margin:10px 0 0;font-size:clamp(3.25rem,6vw,4rem);font-weight:400;line-height:.95}.practice-header-aside{align-self:end;justify-items:end;gap:14px;display:grid}.practice-header-aside>p{max-width:390px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-base);text-align:right;margin:0;font-style:italic;line-height:1.5}.practice-goal-pill{max-width:100%;min-height:38px;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 14px;display:inline-flex}.practice-goal-pill>span{background:var(--brass);border-radius:999px;flex:none;width:5px;height:5px}.practice-goal-pill strong{min-width:0;font-family:var(--font-heading);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-style:italic;font-weight:400;overflow:hidden}.practice-goal-pill em{min-height:24px;color:var(--brass-ink);background:var(--brass-soft);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-style:normal;font-weight:600;display:inline-flex}.practice-goal-pill svg{width:11px;height:11px}.practice-stat-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.practice-stat-card{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;min-width:0;padding:17px 18px}.practice-stat-card p{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-weight:600}.practice-stat-card strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;line-height:1}.practice-stat-card.is-large strong{font-size:var(--text-5xl)}.practice-stat-card span{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);margin-top:6px;font-style:italic;line-height:1.2;display:block}.practice-log-body{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:36px;padding:32px 48px 48px;display:grid}.practice-calendar-column{gap:28px;min-width:0;display:grid}.practice-calendar-nav{grid-template-columns:auto minmax(12px,1fr) 30px 30px;align-items:center;gap:12px;display:grid}.practice-calendar-nav h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-style:italic;font-weight:400}.practice-calendar-nav>span{background:var(--faint-ink);height:1px}.practice-calendar-nav button{width:30px;height:30px;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:var(--radius-lg);place-items:center;display:grid}.practice-calendar-nav button:disabled{color:#8178677a;background:0 0}.practice-calendar-nav svg{width:16px;height:16px}.practice-months-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.practice-month{gap:10px;min-width:0;display:grid}.practice-month-header{grid-template-columns:auto auto minmax(12px,1fr) auto;align-items:baseline;gap:10px;display:grid}.practice-month-header h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-style:italic;font-weight:400}.practice-month-header>span,.practice-month-header small{color:#817867b8;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400}.practice-month-header i{background:var(--faint-ink);height:1px}.practice-weekdays,.practice-days-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.practice-weekdays span{color:#817867ad;font-size:var(--text-3xs);letter-spacing:.14em;text-align:center;text-transform:uppercase;padding:4px 0;font-weight:600}.practice-day-empty,.practice-day-cell{aspect-ratio:1}.practice-day-empty{display:block}.practice-day-cell{--practice-day-fill:var(--vellum);--practice-day-fill-boosted:var(--brass);width:100%;min-width:0;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.practice-day-cell{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 42%, var(--vellum-strong))}}.practice-day-cell{color:var(--ink);background-color:var(--practice-day-fill);border:1px solid var(--faint-ink);border-radius:var(--radius-lg);font-family:var(--font-mono);text-align:left;flex-direction:column;justify-content:space-between;padding:5px 6px;transition:box-shadow .14s,transform .12s}.practice-day-cell:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 10px #362b1d1a}.practice-day-cell:disabled{opacity:1}.practice-day-cell.is-intensity-0,.practice-legend i.is-intensity-0{--practice-day-fill:var(--vellum);--practice-day-fill-boosted:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-0,.practice-legend i.is-intensity-0{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 42%, var(--vellum-strong))}}.practice-day-cell.is-intensity-0,.practice-legend i.is-intensity-0{background-color:var(--practice-day-fill)}.practice-day-cell.is-intensity-1,.practice-legend i.is-intensity-1{--practice-day-fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-1,.practice-legend i.is-intensity-1{--practice-day-fill:color-mix(in oklab, var(--brass) 22%, var(--vellum-strong))}}.practice-day-cell.is-intensity-1,.practice-legend i.is-intensity-1{--practice-day-fill-boosted:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-1,.practice-legend i.is-intensity-1{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 56%, var(--vellum-strong))}}.practice-day-cell.is-intensity-1,.practice-legend i.is-intensity-1{background-color:var(--practice-day-fill)}.practice-day-cell.is-intensity-2,.practice-legend i.is-intensity-2{--practice-day-fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-2,.practice-legend i.is-intensity-2{--practice-day-fill:color-mix(in oklab, var(--brass) 44%, var(--vellum-strong))}}.practice-day-cell.is-intensity-2,.practice-legend i.is-intensity-2{--practice-day-fill-boosted:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-2,.practice-legend i.is-intensity-2{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 72%, var(--vellum-strong))}}.practice-day-cell.is-intensity-2,.practice-legend i.is-intensity-2{background-color:var(--practice-day-fill)}.practice-day-cell.is-intensity-3,.practice-legend i.is-intensity-3{--practice-day-fill:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-3,.practice-legend i.is-intensity-3{--practice-day-fill:color-mix(in oklab, var(--brass) 70%, var(--vellum-strong))}}.practice-day-cell.is-intensity-3,.practice-legend i.is-intensity-3{--practice-day-fill-boosted:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-3,.practice-legend i.is-intensity-3{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 94%, var(--vellum-strong))}}.practice-day-cell.is-intensity-3,.practice-legend i.is-intensity-3{background-color:var(--practice-day-fill)}.practice-day-cell.is-intensity-4,.practice-legend i.is-intensity-4{--practice-day-fill:var(--brass);--practice-day-fill-boosted:var(--brass)}@supports (color:color-mix(in lab, red, red)){.practice-day-cell.is-intensity-4,.practice-legend i.is-intensity-4{--practice-day-fill-boosted:color-mix(in oklab, var(--brass) 88%, var(--ink))}}.practice-day-cell.is-intensity-4,.practice-legend i.is-intensity-4{background-color:var(--practice-day-fill)}.practice-day-cell.is-dark{color:var(--vellum-strong)}.practice-day-cell.is-today{border-color:var(--faint-ink);border-width:1px;animation:2.4s ease-in-out infinite practice-today-fill}.practice-day-cell.is-selected{border-color:var(--ink);border-width:2px}@keyframes practice-today-fill{0%,to{background-color:var(--practice-day-fill)}50%{background-color:var(--practice-day-fill-boosted)}}@media (prefers-reduced-motion:reduce){.practice-day-cell.is-today{background-color:var(--practice-day-fill-boosted);animation:none}}.practice-day-number,.practice-day-minutes{z-index:1;position:relative}.practice-day-number{font-size:var(--text-2xs)}.practice-day-minutes{font-size:var(--text-2xs);align-self:flex-end;font-weight:600}.practice-day-minutes small{font-size:var(--text-4xs);opacity:.72;margin-left:1px}.practice-goal-dot,.legend-goal-dot{background:var(--brass);border-radius:999px;width:5px;height:5px;position:absolute}.practice-goal-dot{top:5px;right:5px}.practice-day-cell.is-dark .practice-goal-dot{background:var(--vellum-strong)}.practice-legend{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.practice-legend>span{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.practice-legend>i{border:1px solid var(--faint-ink);border-radius:4px;width:16px;height:16px}.practice-legend>b{flex:1;min-width:20px}.practice-legend em{color:var(--muted-ink);font-size:var(--text-xs);align-items:center;gap:6px;font-style:normal;display:inline-flex}.practice-legend em span{background:var(--vellum);border:1px solid var(--faint-ink);border-radius:4px;width:14px;height:14px;display:inline-block;position:relative}.legend-goal-dot:after{content:"";background:var(--brass);border-radius:999px;width:4px;height:4px;position:absolute;top:2px;right:2px}.legend-today{border-color:var(--brass)!important;border-width:2px!important}.legend-selected{border-color:var(--ink)!important;border-width:2px!important}.practice-detail-column{gap:16px;min-width:0;display:grid;position:sticky;top:32px}.practice-side-card{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;gap:16px;padding:20px 22px 22px;display:grid}.day-detail-card h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;margin:6px 0 0;font-weight:500;line-height:1.15}.day-detail-total{border-top:1px solid var(--faint-ink);border-bottom:1px solid var(--faint-ink);align-items:center;gap:12px;padding:14px 0;display:flex}.day-detail-total strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;line-height:1}.day-detail-total span{gap:2px;display:grid}.day-detail-total span span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs)}.day-detail-total em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.piece-practice-list{gap:10px;display:grid}.piece-practice-row{grid-template-columns:minmax(80px,1fr) minmax(70px,1fr) 40px;align-items:center;gap:12px;display:grid}.piece-practice-row>span{min-width:0;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);gap:2px;line-height:1.2;display:grid}.piece-practice-row>span,.piece-practice-row>span em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.piece-practice-row>span em{color:#5a5043b8;font-family:var(--font-sans);font-size:var(--text-2xs);font-style:normal}.piece-practice-row i{background:var(--faint-ink);height:4px;position:relative}.piece-practice-row b{background:var(--brass);position:absolute;inset:0 auto 0 0}.piece-practice-row small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right}.practice-note{gap:8px;margin:0;display:grid}.practice-empty-note{color:#5a5043b8;border-top:1px solid var(--faint-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:0;padding:14px 0 0;font-style:italic}.practice-note blockquote{color:var(--muted-ink);background:var(--vellum);border-left:2px solid var(--brass);font-family:var(--font-heading);font-size:var(--text-sm);border-radius:0 6px 6px 0;margin:0;padding:12px 14px;font-style:italic;line-height:1.4}.week-goal-card{background:var(--vellum)}.week-goal-header{grid-template-columns:auto minmax(10px,1fr) auto;align-items:center;gap:10px;display:grid}.week-goal-header i{background:var(--faint-ink);height:1px}.week-goal-header button{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.week-goal-total{align-items:baseline;gap:6px;display:flex}.week-goal-total strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:1}.week-goal-total span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs)}.week-goal-progress{background:var(--faint-ink);border-radius:999px;height:5px;overflow:hidden}.week-goal-progress span{background:var(--brass);border-radius:inherit;height:100%;display:block}.week-goal-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.week-goal-day{text-align:center;gap:4px;min-width:0;display:grid}.week-goal-cell{aspect-ratio:1;color:#817867b8;background:var(--vellum-strong);border:1px solid var(--faint-ink);font-family:var(--font-mono);font-size:var(--text-2xs);border-radius:4px;place-items:center;display:grid}.week-goal-cell.is-met{color:var(--vellum-strong);background:var(--brass);border-color:var(--brass)}.week-goal-cell.is-partial{color:var(--muted-ink)}.week-goal-cell svg{width:12px;height:12px}.week-goal-day small{color:#817867b8;font-size:var(--text-4xs);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.week-goal-card>p{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);margin:0;font-style:italic;line-height:1.5}.week-target-caption{align-items:baseline;gap:8px;padding:0 4px;display:flex}.week-target-caption span{background:var(--brass);border-radius:999px;flex:none;width:5px;height:5px}.week-target-caption p{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);margin:0;font-style:italic}.practice-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a16116b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.practice-goal-modal{width:min(540px,100%);max-height:min(820px,100vh - 48px);color:var(--ink);background:var(--parchment);border:1px solid var(--faint-ink);border-radius:8px;overflow:auto;box-shadow:0 24px 80px -20px #1a161173,0 8px 24px -8px #1a161133}.practice-goal-modal header{border-bottom:1px solid var(--faint-ink);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 20px;display:flex}.practice-goal-modal h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);letter-spacing:0;margin:7px 0 0;font-weight:400;line-height:1.05}.practice-goal-modal h2 em{font-style:italic}.practice-goal-modal header span{max-width:360px;color:var(--muted-ink);font-size:var(--text-sm);margin-top:9px;line-height:1.45;display:block}.practice-goal-modal header button{width:32px;height:32px;color:var(--muted-ink);border-radius:var(--radius-lg);background:0 0;border:0;flex:none;place-items:center;display:grid}.practice-goal-modal header svg{width:18px;height:18px}.practice-goal-modal-body{gap:24px;padding:24px 28px 22px;display:grid}.goal-control-block{gap:12px;display:grid}.goal-control-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.goal-control-heading strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:1}.goal-control-heading strong span{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-xs)}.goal-control-heading em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);font-style:italic}.goal-slider-shell{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:999px;align-items:center;height:34px;padding:0 14px;display:flex}.goal-slider-shell input{appearance:none;border:0;border-radius:999px;outline:none;width:100%;height:4px;padding:0}.goal-slider-shell input::-webkit-slider-thumb{background:var(--brass);border:2px solid var(--vellum-strong);appearance:none;border-radius:999px;width:16px;height:16px;box-shadow:0 1px 4px #362b1d3d}.goal-slider-shell input::-moz-range-thumb{background:var(--brass);border:2px solid var(--vellum-strong);border-radius:999px;width:14px;height:14px;box-shadow:0 1px 4px #362b1d3d}.goal-minute-stops{font-family:var(--font-mono);justify-content:space-between;display:flex}.goal-minute-stops button{color:#817867b8;font-size:var(--text-2xs)}.goal-minute-stops button.is-active{color:var(--brass);font-weight:600}.goal-day-segments{background:var(--vellum);border:1px solid var(--faint-ink);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;display:grid}.goal-day-segments button{color:var(--muted-ink);border-radius:var(--radius-lg);background:0 0;border:1px solid #0000;justify-items:center;gap:2px;padding:9px 0;display:grid}.goal-day-segments button.is-active{color:var(--ink);background:var(--vellum-strong);border-color:var(--faint-ink)}.goal-day-segments strong{font-family:var(--font-heading);font-size:var(--text-base);font-weight:500}.goal-day-segments span{color:#817867b8;font-family:var(--font-mono);font-size:var(--text-3xs)}.goal-preview-card{background:var(--vellum-strong);border:1px solid var(--faint-ink);border-radius:8px;align-items:center;gap:18px;padding:14px 16px;display:flex}.goal-preview-card>span{width:36px;height:36px;color:var(--brass-ink);background:var(--brass-soft);border-radius:999px;flex:none;place-items:center;display:grid}.goal-preview-card svg{width:17px;height:17px}.goal-preview-card p{min-width:0;color:var(--ink);font-family:var(--font-heading);font-size:var(--text-base);flex-wrap:wrap;gap:4px;margin:0;display:flex}.goal-preview-card strong{font-weight:600}.goal-preview-card em{font-style:italic}.goal-preview-card small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);flex-basis:100%}.goal-presets{gap:8px;display:grid}.goal-presets>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.goal-presets button{min-width:0;color:var(--ink);background:var(--vellum-strong);border:1px solid var(--faint-ink);text-align:left;border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.goal-presets button.is-active{background:var(--brass)}@supports (color:color-mix(in lab, red, red)){.goal-presets button.is-active{background:color-mix(in oklab, var(--brass) 8%, var(--vellum-strong))}}.goal-presets button.is-active{border-color:var(--brass)}.goal-presets button span{gap:2px;min-width:0;display:grid}.goal-presets button strong{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500}.goal-presets button em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);font-style:italic}.goal-presets button small{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.practice-goal-modal footer{background:var(--vellum);border-top:1px solid var(--faint-ink);align-items:center;gap:10px;padding:16px 28px;display:flex}.practice-goal-modal footer span{color:#817867b8;font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;flex:1;font-weight:500}.practice-goal-modal footer button{min-height:36px;color:var(--muted-ink);border-radius:var(--radius-lg);font-size:var(--text-xs);background:0 0;border:0;padding:0 14px;font-weight:500}.practice-goal-modal footer .goal-save-button{color:var(--vellum-strong);background:var(--brass);padding:0 22px}.settings-desk{--settings-page:#f4ecdc;--settings-page-2:#efe6d2;--settings-surface:#fbf6ea;--settings-surface-2:#f6efdd;--settings-ink-2:#423b30;--settings-muted:#7a7062;--settings-muted-2:#a39780;--settings-hair:#d8cdb6;--settings-rose:#b5523a;min-height:100vh;color:var(--ink);background:var(--settings-page);overflow:auto}.settings-header{width:min(100%,880px);margin:0 auto;padding:36px 48px 24px}.settings-header>p,.settings-section-kicker{color:var(--muted-ink);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:500;line-height:1}.settings-header>div{justify-content:space-between;align-items:end;gap:32px;margin-top:12px;display:flex}.settings-header h1{color:var(--ink);font-family:var(--font-heading);letter-spacing:0;margin:0;font-size:clamp(3rem,7vw,3.5rem);font-weight:400;line-height:.95}.settings-header span{max-width:320px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);text-align:right;font-style:italic;line-height:1.5}.settings-content{gap:40px;width:min(100%,880px);margin:0 auto;padding:20px 48px 80px;display:grid}.settings-section{gap:28px;display:grid}.settings-section+.settings-section{border-top:1px solid var(--faint-ink);padding-top:40px}.settings-section-header{flex-direction:column;gap:6px;max-width:540px;display:flex}.settings-section-header>div{flex-direction:column;gap:10px;display:flex}.settings-section-header h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:0;margin:0;font-weight:500;line-height:1.1}.settings-section-header>p{color:var(--settings-muted);font-family:var(--font-heading);font-size:var(--text-sm);margin:0;font-style:italic;line-height:1.5}.settings-profile-row{align-items:center;gap:22px;display:flex}.settings-avatar{width:76px;height:76px;color:var(--brass-ink);background:var(--brass-soft);border:1px solid var(--settings-hair);font-family:var(--font-heading);font-size:var(--text-3xl);border-radius:999px;flex:none;place-items:center;font-weight:500;display:grid;position:relative}.settings-profile-row strong,.settings-danger-panel strong{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;line-height:1.2;display:block}.settings-profile-row em{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;margin-top:4px;font-style:normal;display:block}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-field,.settings-password-stack{gap:8px;display:grid}.settings-password-stack{gap:16px;max-width:460px}.settings-field>span{color:var(--muted-ink);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1}.settings-field>span em{color:var(--rosette);letter-spacing:.04em;text-transform:none;margin-left:8px;font-style:italic}.settings-field>span .is-verified{color:var(--brass);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:4px;font-style:normal;display:inline-flex}.settings-field>span .is-verified svg{width:11px;height:11px}.settings-input-shell{background:var(--settings-surface);border:1px solid var(--settings-hair);border-radius:6px;align-items:center;gap:8px;display:flex}.settings-input{width:100%;min-width:0;color:var(--ink);background:var(--settings-surface);border:1px solid var(--settings-hair);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:0;border-radius:6px;outline:none;padding:10px 12px;font-weight:500;transition:border-color .14s,background .14s}.settings-input-shell .settings-input{background:0 0;border:0;flex:1}.settings-input.is-mono{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400}.settings-input:focus,.settings-input-shell:focus-within{background:var(--paper);border-color:var(--settings-ink-2)}.settings-input.is-confirmed{border-color:var(--settings-rose)}.settings-password-toggle{width:32px;height:32px;color:var(--muted-ink);flex:none;place-items:center;display:grid}.settings-password-toggle svg{width:15px;height:15px}.settings-strength{align-items:center;gap:10px;padding-left:2px;display:flex}.settings-strength span{flex:1;gap:3px;display:flex}.settings-strength i{background:var(--settings-hair);border-radius:1px;flex:1;height:2px;display:block}.settings-strength i.is-filled{background:var(--brass)}.settings-strength strong{color:var(--brass-ink);font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.settings-save-row{align-items:center;gap:12px;padding-top:4px;display:flex}.settings-save-row.is-narrow{max-width:460px}.settings-save-row>span,.settings-save-row>em{color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-xs);margin-right:auto;font-style:italic}.settings-save-row>span{font-family:var(--font-mono);font-size:var(--text-2xs);align-items:center;gap:6px;font-style:normal;display:inline-flex}.settings-save-row>span svg{width:11px;height:11px;color:var(--brass)}.settings-quiet-button,.settings-ink-button,.settings-danger-button,.settings-danger-outline{min-height:38px;font-size:var(--text-sm);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:500;display:inline-flex}.settings-quiet-button{color:var(--ink);border:1px solid var(--settings-hair);background:0 0}.settings-ink-button{color:var(--vellum);background:var(--ink);border:1px solid var(--ink);box-shadow:inset 0 1px #ffffff14}.settings-ink-button:disabled{color:var(--settings-muted-2);background:var(--settings-page-2);border-color:var(--settings-hair);box-shadow:none}.settings-danger-panel{background:var(--settings-surface);border:1px solid var(--settings-hair);border-left:3px solid var(--settings-rose);border-radius:8px;flex-wrap:wrap;align-items:center;gap:22px;padding:20px 22px;display:flex}.settings-danger-panel>div{flex:1;min-width:240px}.settings-danger-panel p{max-width:560px;color:var(--muted-ink);font-family:var(--font-heading);font-size:var(--text-sm);margin:6px 0 0;font-style:italic;line-height:1.5}.settings-danger-outline{color:var(--settings-rose);border:1px solid var(--settings-rose);background:0 0}.settings-danger-outline:hover,.settings-danger-button{color:var(--vellum-strong);background:var(--settings-rose);border:1px solid var(--settings-rose)}.settings-danger-outline svg,.settings-danger-button svg{width:13px;height:13px}.settings-compliance-note,.settings-delete-caution{color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;line-height:1.5}.settings-form-error{color:var(--rosette-dark);font-size:var(--text-sm);background:#a0291914;border:1px solid #a0291938;border-radius:8px;margin:0;padding:10px 12px}.settings-danger-button:disabled{color:var(--settings-muted-2);background:var(--settings-page-2);border-color:var(--settings-hair)}.settings-modal-backdrop{--settings-page-2:#efe6d2;--settings-surface:#fbf6ea;--settings-ink-2:#423b30;--settings-muted:#7a7062;--settings-muted-2:#a39780;--settings-hair:#d8cdb6;--settings-rose:#b5523a;z-index:1000;-webkit-backdrop-filter:blur(2px);background:#1a161175;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.settings-delete-dialog{width:100%;max-width:480px;max-height:min(88vh,820px);color:var(--ink);background:var(--settings-surface);border:1px solid var(--settings-hair);border-radius:14px;overflow:auto;box-shadow:0 24px 60px -20px #1a161173,inset 0 1px #ffffff80}.settings-delete-rule{background:var(--settings-rose);height:3px}.settings-delete-header{padding:24px 28px 8px}.settings-delete-header p,.settings-delete-list p{color:var(--settings-rose);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;margin:0;font-weight:500;line-height:1}.settings-delete-header h2{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-3xl);letter-spacing:0;margin:10px 0 0;font-weight:500;line-height:1.1}.settings-delete-header span{color:var(--settings-ink-2);font-family:var(--font-heading);font-size:var(--text-sm);margin-top:14px;font-style:italic;line-height:1.55;display:block}.settings-delete-body{gap:22px;padding:0 28px 22px;display:grid}.settings-delete-list{background:var(--settings-page-2);border:1px solid var(--settings-hair);border-radius:8px;padding:12px 14px}.settings-delete-list p{color:var(--settings-muted);letter-spacing:.14em;margin-bottom:8px}.settings-delete-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;margin:0;padding:0;list-style:none;display:grid}.settings-delete-list li{color:var(--settings-ink-2);font-family:var(--font-heading);font-size:var(--text-xs);align-items:center;gap:7px;line-height:1.45;display:flex}.settings-delete-list li span{background:var(--settings-rose);border-radius:999px;flex:none;width:4px;height:4px}.settings-delete-confirm{flex-direction:column;gap:8px;display:flex}.settings-delete-confirm>span{color:var(--ink);font-family:var(--font-heading);font-size:var(--text-sm);line-height:1.4}.settings-delete-confirm em{color:var(--settings-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);font-style:normal}.settings-delete-confirm input{width:100%;min-width:0;color:var(--ink);background:var(--settings-page-2);border:1px solid var(--settings-hair);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:6px;outline:none;padding:10px 12px;line-height:1.35;transition:border-color .14s,background .14s}.settings-delete-confirm input:focus,.settings-delete-confirm input.is-confirmed{border-color:var(--settings-rose)}.settings-delete-footer{background:var(--settings-page-2);border-top:1px solid var(--settings-hair);align-items:center;gap:10px;padding:16px 28px;display:flex}.settings-delete-footer .settings-delete-caution{color:var(--settings-muted);font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:0;margin-right:auto;font-style:italic;line-height:1.45}.settings-delete-footer .settings-quiet-button,.settings-delete-footer .settings-danger-button{min-height:36px;font-size:var(--text-xs);padding:0 16px}.settings-delete-footer .settings-danger-button{padding-left:18px;padding-right:18px}.settings-modal-enter-active,.settings-modal-leave-active{transition:opacity .18s}.settings-modal-enter-active .settings-delete-dialog,.settings-modal-leave-active .settings-delete-dialog{transition:transform .22s cubic-bezier(.2,.7,.2,1),opacity .22s cubic-bezier(.2,.7,.2,1)}.settings-modal-enter-from,.settings-modal-leave-to{opacity:0}.settings-modal-enter-from .settings-delete-dialog,.settings-modal-leave-to .settings-delete-dialog{opacity:0;transform:translateY(8px)scale(.985)}.settings-spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:12px;height:12px;animation:.7s linear infinite sSpin}@keyframes sSpin{to{transform:rotate(360deg)}}.hide-mobile{display:initial}@media (width<=1450px){.score-workspace-layout,.score-workspace-layout.is-inspector-closed,.score-desk{grid-template-columns:minmax(0,1fr);overflow:auto}.score-desk.is-inspector-closed{grid-template-columns:minmax(0,1fr)}.reader-card{min-height:620px}.inspector{width:100%;min-width:0;min-height:720px;overflow:hidden}.practice-strip-segment{padding-left:16px;padding-right:16px}.practice-strip-start{padding-left:0}.tempo-control{width:auto}.meter-control{width:84px}.beats-control{gap:6px;min-width:160px}.beat-dot-row{gap:5px}.key-control{width:96px}.practice-log-body{grid-template-columns:minmax(0,1fr)}.practice-detail-column{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.week-target-caption{grid-column:1/-1}}@media (width<=980px){.auth-page,.app-shell,.workspace-grid,.notebook-grid,.import-workspace{grid-template-columns:1fr}.auth-hero{min-height:520px}.score-stack{grid-template-columns:1fr}.sidebar{display:none}.topbar{z-index:10;background:var(--ink);align-items:center;gap:8px;padding:10px;display:flex;position:sticky;top:0;overflow-x:auto}.topbar .nav-button{width:auto;min-width:max-content}.main-stage{padding:0}.settings-header,.settings-content{padding-left:20px;padding-right:20px}.settings-header>div,.settings-section-header,.settings-field-grid{grid-template-columns:minmax(0,1fr)}.settings-header>div{display:grid}.settings-header span,.settings-section-header>p{text-align:left;max-width:none}.settings-delete-list ul{grid-template-columns:minmax(0,1fr)}.settings-modal-backdrop{padding:12px}.settings-delete-dialog{max-height:calc(100vh - 24px)}.settings-delete-header,.settings-delete-body,.settings-delete-footer{padding-left:18px;padding-right:18px}.settings-delete-footer{flex-direction:column;align-items:stretch}.settings-delete-footer .settings-delete-caution{margin-right:0}.workspace-grid,.notebook-grid,.import-workspace{gap:0;height:auto;min-height:0}.program-workspace{border-left:0;border-right:0;border-radius:0;flex-direction:column;height:auto;min-height:100vh}.program-rail{border-right:0;border-bottom:1px solid var(--faint-ink);width:100%;min-width:0;max-height:none}.program-rail-scroll{max-height:46vh}.program-empty-leaflet{padding:48px 28px 72px}.program-leaflet-header,.program-leaflet-scroll,.program-leaflet-footer{padding-left:28px;padding-right:28px}.program-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.program-stat-tile:nth-child(3){border-left:0;border-top:1px solid var(--faint-ink)}.program-stat-tile:nth-child(4){border-top:1px solid var(--faint-ink)}.program-section-title{padding-left:0}.rail,.workspace,.program-detail,.notebook-reader,.notebook-empty-shell,.import-panel,.metronome-stage{border-left:0;border-right:0;border-radius:0}.import-panel{width:min(100% - 28px,1080px);padding-top:20px}.import-hero-row,.import-catalog-filter{grid-template-columns:1fr}.import-hero-row p{text-align:left;justify-self:start}.import-source-list{grid-template-columns:1fr}.import-source-list button{border-right:0;border-bottom:1px solid var(--faint-ink);min-height:76px}.import-source-list button:last-child{border-bottom:0}.import-catalog-column-legend{display:none}.import-catalog-periods{justify-content:flex-start}.import-composer-heading{flex-wrap:wrap;gap:8px 12px}.import-composer-heading:after{flex-basis:100%;order:10}.import-score-row .toolbar-row{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"year main main""key pages difficulty""actions actions actions";gap:10px 14px;padding:14px 10px}.import-score-year{grid-area:year}.import-score-copy{grid-area:main;width:100%}.import-score-key{grid-area:key}.import-score-pages{text-align:left;grid-area:pages}.import-score-difficulty{grid-area:difficulty;justify-self:start}.import-score-actions{grid-area:actions;justify-content:flex-start;justify-self:start}.reader-card{min-height:72vh}.notebook-empty-stage{padding:44px 28px 64px}.notebook-empty-layout{grid-template-columns:minmax(0,1fr);justify-items:center;gap:38px;width:min(100%,620px)}.notebook-empty-cover{width:min(320px,72vw)}.notebook-empty-copy{text-align:center;width:min(100%,430px)}.notebook-empty-copy h1,.notebook-empty-intro{margin-left:auto;margin-right:auto}.notebook-empty-features{text-align:left}.notebook-empty-actions{justify-content:center}.score-control-strip{scrollbar-width:thin;overflow-x:auto}.hide-mobile{display:none}.practice-log-header,.practice-log-body{padding-left:24px;padding-right:24px}.practice-log-header{grid-template-columns:minmax(0,1fr)}.practice-header-aside{justify-items:start}.practice-header-aside>p{text-align:left}.practice-months-grid{gap:18px}.metronome-stage{min-height:100vh;padding:64px 22px 22px}.metronome-layout{grid-template-columns:minmax(0,1fr)}.metronome-voicing{top:18px;right:18px}.metronome-tempo-number{font-size:11rem}}@media (width<=640px){.auth-page{padding:12px}.auth-hero{min-height:460px;padding:22px}.hero-title{font-size:var(--text-6xl)}.score-desk,.program-score-list,.import-scroll{padding:10px}.import-card .primary-button,.import-score-row .button-row{width:100%}.stat-grid{grid-template-columns:1fr}.details-footer{flex-direction:column;align-items:start}.program-score-row{grid-template-columns:42px minmax(0,1fr)}.program-score-row .button-row{grid-column:1/-1}.practice-log-header{padding-top:28px}.practice-log-header h1{font-size:var(--text-5xl)}.practice-stat-grid,.practice-detail-column,.goal-presets>div,.practice-months-grid{grid-template-columns:1fr}.practice-calendar-nav{grid-template-columns:minmax(0,1fr) 30px 30px}.practice-calendar-nav>span,.practice-legend>b{display:none}.practice-goal-modal header,.practice-goal-modal-body,.practice-goal-modal footer{padding-left:18px;padding-right:18px}.metronome-stage{padding:62px 12px 12px}.metronome-card{padding:38px 24px 30px}.metronome-card:before{inset:10px}.metronome-bookplate{gap:10px}.metronome-bookplate span{width:28px}.metronome-tempo-number{font-size:var(--text-9xl)}.metronome-tempo-dial{padding-left:26px;padding-right:26px}.metronome-card-controls,.metronome-card-footer{gap:10px}.metronome-meter-popover{left:0;transform:none}.metronome-voicing{top:12px;right:12px}.metronome-voicing-panel{width:min(256px,100vw - 24px)}.program-leaflet-header,.program-leaflet-scroll,.program-leaflet-footer,.program-rail-header,.program-list-heading{padding-left:18px;padding-right:18px}.program-empty-leaflet{padding:38px 18px 56px}.program-empty-leaflet h2{font-size:3rem}.program-empty-intro{font-size:var(--text-base)}.program-empty-sample{padding:30px 20px 24px}.program-empty-sample-mark{justify-content:flex-end;margin-bottom:12px;position:static}.program-empty-sample-row{grid-template-columns:34px minmax(0,1fr);gap:12px}.program-empty-sample-duration{grid-column:2}.program-empty-sample-total,.program-empty-actions{flex-direction:column;align-items:flex-start}.program-empty-primary{justify-content:center;width:100%}.program-summary-strip{grid-template-columns:1fr}.program-leaflet-title-row{flex-direction:column}.program-leaflet-actions{justify-content:flex-start}.program-stat-tile,.program-stat-tile:nth-child(3),.program-stat-tile:nth-child(4){border-top:1px solid var(--faint-ink);border-left:0}.program-stat-tile:first-child{border-top:0}.notebook-toolbar,.notebook-empty-toolbar{flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:16px 18px}.notebook-empty-toolbar-controls{justify-content:flex-start}.notebook-empty-stage{padding:30px 18px 48px}.notebook-empty-layout{gap:30px}.notebook-empty-cover{width:min(286px,82vw)}.notebook-empty-cover-frame{padding:42px 24px 36px;inset:22px}.notebook-empty-cover-mark{width:92px;height:92px}.notebook-empty-cover figcaption{margin-top:26px;font-size:1.75rem}.notebook-empty-copy h1{font-size:2rem}.notebook-empty-actions{flex-direction:column;align-items:stretch}.notebook-empty-actions button{width:100%}.notebook-actions{justify-content:flex-start}.notebook-binder-stage{padding:10px 12px}.notebook-reader .pdf-reader-stage{padding:12px}.notebook-footer{grid-template-columns:40px minmax(0,1fr) 40px;grid-template-areas:"previous folio next""spine spine spine""tools tools tools";gap:8px 10px;min-height:0;padding:10px 14px}.notebook-footer>.icon-button:first-child{grid-area:previous}.notebook-footer>.icon-button:last-child{grid-area:next}.notebook-folio{text-align:center;grid-area:folio;justify-items:center}.notebook-spine-bar{grid-area:spine}.notebook-reader-tools{grid-area:tools;justify-content:center}.program-piece-row{grid-template-columns:44px minmax(0,1fr);gap:14px;padding-right:4px}.program-piece-roman{font-size:var(--text-2xl)}.program-piece-duration{grid-column:1/-1;grid-template-columns:1fr auto;justify-items:start;padding-left:58px}.program-piece-controls{opacity:1}.program-interval-row{gap:10px;padding:16px 10px}.program-leaflet-footer{flex-direction:column;align-items:start}.modal-backdrop{align-items:stretch;padding:12px}.modal-panel{max-height:calc(100vh - 24px)}.modal-header,.modal-footer,.new-program-fields,.add-scores-toolbar,.add-scores-row,.add-scores-composer-heading{padding-left:18px;padding-right:18px}.modal-footer{flex-direction:column;align-items:stretch}.add-scores-filter-row,.add-scores-actions{width:100%}.add-scores-sort-control{margin-left:0}.add-scores-actions,.add-scores-actions .modal-cancel-button,.add-scores-actions .modal-primary-button,.new-program-actions,.new-program-actions .modal-cancel-button,.new-program-actions .modal-primary-button{width:100%}.new-program-field-heading{flex-wrap:wrap}.new-program-field-heading i{flex-basis:100%;order:4}.add-scores-row{grid-template-columns:18px minmax(0,1fr);gap:12px;display:grid}.add-scores-row-state{grid-column:2}}@media print{@page{margin:.6in}body.is-printing-program,body.is-printing-program .app-shell,body.is-printing-program .main-stage,body.is-printing-program .program-workspace,body.is-printing-program .program-detail{color:#181512;height:auto;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:0;display:block;overflow:visible}body.is-printing-program{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.is-printing-program .sidebar,body.is-printing-program .topbar,body.is-printing-program .program-rail,body.is-printing-program .program-edit-button,body.is-printing-program .program-rehearse-button,body.is-printing-program .program-print-button,body.is-printing-program .program-add-actions,body.is-printing-program .program-leaflet-footer,body.is-printing-program .program-piece-row .drag-handle,body.is-printing-program .program-piece-controls,body.is-printing-program .program-interval-row button{display:none}body.is-printing-program .main-stage,body.is-printing-program .program-leaflet-header,body.is-printing-program .program-leaflet-scroll{padding:0}body.is-printing-program .program-leaflet-header{background:#fff;border-bottom:1px solid #cfc8ba;margin-bottom:.28in}body.is-printing-program .program-leaflet-title-row{display:block}body.is-printing-program .heading-lockup-eyebrow{color:#686056;font-size:7pt}body.is-printing-program .heading-lockup-title{color:#181512;font-size:42pt;line-height:.95}body.is-printing-program .program-status-pill{color:#4d463d;background:0 0;box-shadow:inset 0 0 0 1px #d9d2c4}body.is-printing-program .program-leaflet-subtitle{margin-top:.14in}body.is-printing-program .program-leaflet-subtitle em{color:#4d463d;font-size:12pt}body.is-printing-program .program-summary-strip{background:#fff;border-color:#d9d2c4;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.28in}body.is-printing-program .program-stat-tile{break-inside:avoid;border-color:currentColor #d9d2c4 #d9d2c4;border-top-style:none;border-top-width:0;border-left-style:solid;border-left-width:1px;gap:4px;padding:9pt 11pt}body.is-printing-program .program-stat-tile:first-child{border-left:0}body.is-printing-program .program-stat-tile>span{color:#686056;font-size:6.5pt}body.is-printing-program .program-stat-tile strong{color:#181512;font-size:18pt}body.is-printing-program .program-stat-tile small{color:#686056;font-size:7pt}body.is-printing-program .program-section-title{gap:10pt;padding-left:0}body.is-printing-program .program-section-title h3{font-size:15pt}body.is-printing-program .program-section-title span{color:#686056;font-size:7pt}body.is-printing-program .program-piece-list{padding-top:8pt}body.is-printing-program .program-piece-row{break-inside:avoid;background:0 0;border-bottom-color:#ddd5c8;grid-template-columns:.46in minmax(0,1fr) .76in;gap:15pt;padding:13pt 0}body.is-printing-program .program-piece-roman{color:#181512;font-size:18pt}body.is-printing-program .program-piece-composer,body.is-printing-program .program-piece-description{color:#4d463d;font-size:9.5pt}body.is-printing-program .program-piece-composer span{color:#686056;font-size:7.5pt}body.is-printing-program .program-piece-title{color:#181512;font-size:16pt}body.is-printing-program .program-piece-duration{grid-column:auto;grid-template-columns:none;justify-items:end;gap:5pt;padding-top:2pt;padding-left:0}body.is-printing-program .program-piece-duration>span{color:#686056;font-size:6.5pt}body.is-printing-program .program-piece-duration strong{color:#181512;font-size:12pt}body.is-printing-program .program-interval-row{break-inside:avoid;background:#fff;border-bottom-color:#ddd5c8;gap:12pt;padding:12pt 0}body.is-printing-program .program-interval-label{color:#4d463d}body.is-printing-program .program-empty-state{border:1px solid #d9d2c4}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
