@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-50: oklch(97% .014 254.604);--color-blue-200: oklch(88.2% .059 254.128);--color-blue-800: oklch(42.4% .199 265.638);--color-purple-50: oklch(97.7% .014 308.299);--color-purple-200: oklch(90.2% .063 306.703);--color-purple-300: oklch(82.7% .119 306.383);--color-purple-600: oklch(55.8% .288 302.321);--color-purple-700: oklch(49.6% .265 301.924);--color-gray-50: oklch(98.5% .002 247.839);--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-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-3xl: 48rem;--container-4xl: 56rem;--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: 1.5 ;--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--text-2xl: 1.5rem;--text-2xl--line-height: calc(2 / 1.5);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--leading-relaxed: 1.625;--radius-md: .375rem;--radius-lg: .5rem;--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--animate-spin: spin 1s linear infinite;--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)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;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;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::-moz-placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,currentcolor 50%,transparent)}}::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){{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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1 / 1}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.w-1\/2{width:50%}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50% ;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)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse: 0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-\[hsl\(var\(--color-destructive\)\/\.5\)\]{border-color:hsl(var(--color-destructive)/.5)}.border-\[hsl\(var\(--color-primary\)\)\]{border-color:hsl(var(--color-primary))}.border-blue-200{border-color:var(--color-blue-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-600{border-color:var(--color-purple-600)}.bg-\[hsl\(var\(--color-background\)\)\]{background-color:hsl(var(--color-background))}.bg-\[hsl\(var\(--color-card\)\)\]{background-color:hsl(var(--color-card))}.bg-\[hsl\(var\(--color-destructive\)\)\]{background-color:hsl(var(--color-destructive))}.bg-\[hsl\(var\(--color-muted\)\/\.5\)\]{background-color:hsl(var(--color-muted)/.5)}.bg-\[hsl\(var\(--color-primary\)\)\]{background-color:hsl(var(--color-primary))}.bg-\[hsl\(var\(--color-primary\)\/\.1\)\]{background-color:hsl(var(--color-primary)/.1)}.bg-\[hsl\(var\(--color-primary\)\/\.2\)\]{background-color:hsl(var(--color-primary)/.2)}.bg-\[hsl\(var\(--color-secondary\)\)\]{background-color:hsl(var(--color-secondary))}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position: to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-purple-50{--tw-gradient-from: var(--color-purple-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-200{--tw-gradient-from: var(--color-purple-200);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-50{--tw-gradient-to: var(--color-blue-50);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-200{--tw-gradient-to: var(--color-blue-200);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-12{padding:calc(var(--spacing) * 12)}.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-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading, var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--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-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading, var(--text-xs--line-height))}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-\[hsl\(var\(--color-card-foreground\)\)\]{color:hsl(var(--color-card-foreground))}.text-\[hsl\(var\(--color-destructive\)\)\]{color:hsl(var(--color-destructive))}.text-\[hsl\(var\(--color-destructive-foreground\)\)\]{color:hsl(var(--color-destructive-foreground))}.text-\[hsl\(var\(--color-foreground\)\)\]{color:hsl(var(--color-foreground))}.text-\[hsl\(var\(--color-muted-foreground\)\)\]{color:hsl(var(--color-muted-foreground))}.text-\[hsl\(var\(--color-primary\)\)\]{color:hsl(var(--color-primary))}.text-\[hsl\(var\(--color-primary-foreground\)\)\]{color:hsl(var(--color-primary-foreground))}.text-\[hsl\(var\(--color-secondary-foreground\)\)\]{color:hsl(var(--color-secondary-foreground))}.text-blue-800{color:var(--color-blue-800)}.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-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0%}.opacity-60{opacity:60%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));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, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.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,backdrop-filter,display,visibility,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-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:70%}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.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)}.placeholder\:text-\[hsl\(var\(--color-muted-foreground\)\)\]::-moz-placeholder{color:hsl(var(--color-muted-foreground))}.placeholder\:text-\[hsl\(var\(--color-muted-foreground\)\)\]::placeholder{color:hsl(var(--color-muted-foreground))}@media (hover: hover){.hover\:border-\[hsl\(var\(--color-muted-foreground\)\/\.5\)\]:hover{border-color:hsl(var(--color-muted-foreground)/.5)}}@media (hover: hover){.hover\:border-\[hsl\(var\(--color-primary\)\)\]:hover{border-color:hsl(var(--color-primary))}}@media (hover: hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}}@media (hover: hover){.hover\:bg-\[hsl\(var\(--color-accent\)\)\]:hover{background-color:hsl(var(--color-accent))}}@media (hover: hover){.hover\:bg-\[hsl\(var\(--color-muted\)\/\.5\)\]:hover{background-color:hsl(var(--color-muted)/.5)}}@media (hover: hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}}@media (hover: hover){.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}}@media (hover: hover){.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}}@media (hover: hover){.hover\:bg-white:hover{background-color:var(--color-white)}}@media (hover: hover){.hover\:text-\[hsl\(var\(--color-accent-foreground\)\)\]:hover{color:hsl(var(--color-accent-foreground))}}@media (hover: hover){.hover\:text-gray-600:hover{color:var(--color-gray-600)}}@media (hover: hover){.hover\:underline:hover{text-decoration-line:underline}}@media (hover: hover){.hover\:opacity-80:hover{opacity:80%}}@media (hover: hover){.hover\:opacity-90:hover{opacity:90%}}.focus-visible\:ring-1:focus-visible{--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-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:50%}@media (width >= 40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width >= 48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width >= 48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}@media (width >= 64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&_p\]\:leading-relaxed p{--tw-leading: var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0px}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:text-\[hsl\(var\(--color-destructive\)\)\]>svg{color:hsl(var(--color-destructive))}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}:root{--font-sans: "Inter", -apple-system, system-ui, sans-serif;--font-display: "Instrument Serif", "Inter", serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-sm: 6px;--radius: 12px;--radius-lg: 18px;--accent-h: 340;--accent: oklch(.64 .2 var(--accent-h));--accent-hover: oklch(.58 .2 var(--accent-h));--accent-soft: oklch(.64 .2 var(--accent-h) / .14);--accent-fg: #fff;--accent-2: oklch(.72 .17 330);--accent-3: oklch(.8 .16 70);--accent-4: oklch(.74 .17 170);--danger: oklch(.65 .22 25);--danger-soft: oklch(.65 .22 25 / .14);--shadow-sm: 0 1px 2px rgba(0,0,0,.06), 0 1px 1px rgba(0,0,0,.04);--shadow-md: 0 8px 24px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.05);--shadow-lg: 0 24px 56px rgba(0,0,0,.18), 0 8px 20px rgba(0,0,0,.08);--glow: 0 0 0 1px oklch(.64 .2 var(--accent-h) / .4), 0 20px 60px oklch(.64 .2 var(--accent-h) / .25)}:root[data-theme=dark],html:not([data-theme]){--bg: oklch(.14 .008 270);--bg-grad: radial-gradient(900px 600px at 85% -10%, oklch(.62 .24 258 / .42), transparent 60%), radial-gradient(800px 500px at -5% 0%, oklch(.68 .22 330 / .34), transparent 55%), radial-gradient(700px 450px at 50% 100%, oklch(.7 .2 170 / .22), transparent 60%), radial-gradient(600px 400px at 20% 50%, oklch(.72 .18 50 / .14), transparent 65%), linear-gradient(180deg, oklch(.13 .015 280), oklch(.11 .012 270));--bg-elev: oklch(.18 .008 270);--surface: oklch(.22 .01 270 / .55);--surface-2: oklch(.24 .01 270);--surface-solid: oklch(.2 .008 270);--border: oklch(.36 .015 270 / .55);--border-strong: oklch(.4 .01 270);--text: oklch(.97 .005 270);--text-muted: oklch(.72 .008 270);--text-subtle: oklch(.55 .008 270);--input-bg: oklch(.13 .008 270);--input-border: oklch(.42 .015 270 / .7);--hover: oklch(.24 .01 270 / .6);--scrim: rgba(0,0,0,.6);--ring: oklch(.64 .2 var(--accent-h) / .5);--noise-opacity: .035}:root[data-theme=light]{--bg: oklch(.985 .004 270);--bg-grad: radial-gradient(900px 600px at 88% -8%, oklch(.72 .22 258 / .28), transparent 60%), radial-gradient(800px 500px at -5% 5%, oklch(.78 .2 330 / .24), transparent 55%), radial-gradient(700px 450px at 50% 110%, oklch(.8 .18 170 / .18), transparent 60%), radial-gradient(500px 400px at 25% 55%, oklch(.82 .16 60 / .12), transparent 65%), linear-gradient(180deg, oklch(.99 .006 270), oklch(.97 .006 270));--bg-elev: oklch(1 0 0);--surface: oklch(1 0 0 / .55);--surface-2: oklch(.97 .005 270);--surface-solid: oklch(1 0 0);--border: oklch(.9 .006 270);--border-strong: oklch(.82 .008 270);--text: oklch(.18 .006 270);--text-muted: oklch(.42 .008 270);--text-subtle: oklch(.58 .008 270);--input-bg: oklch(.985 .004 270);--input-border: oklch(.78 .01 270);--hover: oklch(.96 .006 270);--scrim: rgba(20,22,30,.35);--ring: oklch(.64 .2 var(--accent-h) / .35);--noise-opacity: .04}:root[data-theme=dark],html:not([data-theme]){--color-background: 240 8% 9%;--color-foreground: 0 0% 97%;--color-card: 240 6% 14%;--color-card-foreground: 0 0% 97%;--color-popover: 240 6% 14%;--color-popover-foreground: 0 0% 97%;--color-primary: 340 75% 58%;--color-primary-foreground: 0 0% 100%;--color-secondary: 240 6% 18%;--color-secondary-foreground: 0 0% 97%;--color-muted: 240 6% 18%;--color-muted-foreground: 240 5% 65%;--color-accent: 240 6% 18%;--color-accent-foreground: 0 0% 97%;--color-destructive: 0 72% 51%;--color-destructive-foreground: 0 0% 98%;--color-border: 240 5% 25%;--color-input: 240 6% 14%;--color-ring: 340 75% 58%;--radius: .5rem}:root[data-theme=light]{--color-background: 240 20% 98%;--color-foreground: 240 10% 15%;--color-card: 0 0% 100%;--color-card-foreground: 240 10% 15%;--color-popover: 0 0% 100%;--color-popover-foreground: 240 10% 15%;--color-primary: 340 75% 58%;--color-primary-foreground: 0 0% 100%;--color-secondary: 240 10% 96%;--color-secondary-foreground: 240 10% 15%;--color-muted: 240 10% 94%;--color-muted-foreground: 240 5% 45%;--color-accent: 240 10% 94%;--color-accent-foreground: 240 10% 15%;--color-destructive: 0 72% 51%;--color-destructive-foreground: 0 0% 100%;--color-border: 240 10% 88%;--color-input: 240 10% 94%;--color-ring: 340 75% 58%}*{box-sizing:border-box;border-color:hsl(var(--color-border))}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}button{font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}::-moz-selection{background:var(--accent-soft)}::selection{background:var(--accent-soft)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-grad);position:relative}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:var(--noise-opacity);mix-blend-mode:overlay;z-index:0}.app-header{position:sticky;top:0;z-index:30;background:var(--bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border)}@supports (color: color-mix(in lab,red,red)){.app-header{background:color-mix(in oklab,var(--bg) 70%,transparent)}}.app-header-inner{max-width:1240px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:20px}.app-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--text);text-decoration:none}.app-logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px oklch(.64 .2 var(--accent-h) / .4);position:relative;overflow:hidden}.app-logo-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.35),transparent 45%)}.app-nav{display:flex;align-items:center;gap:2px;margin-left:8px}.app-nav-item{padding:7px 12px;border-radius:8px;color:var(--text-muted);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .15s ease;cursor:pointer;text-decoration:none;border:none;background:none}.app-nav-item:hover{background:var(--hover);color:var(--text)}.app-nav-item.active{color:var(--text);background:var(--hover)}.app-header-right{margin-left:auto;display:flex;align-items:center;gap:8px}.user-chip{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border-radius:999px;font-size:13px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border)}.avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--text-muted);transition:all .15s ease;border:1px solid transparent;background:none;cursor:pointer}.icon-btn:hover{background:var(--hover);color:var(--text);border-color:var(--border)}.app-main{flex:1;max-width:1240px;width:100%;margin:0 auto;padding:28px;position:relative;z-index:1}.lib-hero{position:relative;border-radius:var(--radius);padding:10px 18px;margin-bottom:20px;overflow:hidden;background:linear-gradient(135deg,#3588ff29,#de79d71f,#fea92f14);background:linear-gradient(135deg,color(xyz 0.286 0.256 1.008 / 0.161),#de79d71f,#fea92f14);border:1px solid var(--border);min-height:30px}.lib-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(500px 200px at 10% 120%,oklch(.64 .2 258 / .3),transparent),radial-gradient(400px 180px at 90% -20%,oklch(.72 .17 330 / .25),transparent);pointer-events:none}.lib-hero-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lib-hero-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px;margin:0}.lib-hero-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:livedot 2s ease-in-out infinite}@keyframes livedot{50%{opacity:.4}}.lib-hero-stats{display:flex;gap:18px;font-family:var(--font-mono);align-items:center}.lib-hero-stat{display:flex;align-items:baseline;gap:6px}.lib-hero-stat-num{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums}.lib-hero-stat-label{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}.lib-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px;flex-wrap:wrap}.lib-page-title{font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:0;display:flex;align-items:center;gap:10px}.lib-page-title .count{font-family:var(--font-mono);font-size:13px;color:var(--accent);padding:2px 8px;border-radius:999px;background:var(--accent-soft);letter-spacing:0;text-transform:none}.lib-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lib-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:260px;transition:border-color .15s,box-shadow .15s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lib-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.lib-search input{flex:1;background:transparent;border:none;outline:none;font-size:13.5px;color:var(--text);min-width:0}.lib-search input::-moz-placeholder{color:var(--text-subtle)}.lib-search input::placeholder{color:var(--text-subtle)}.lib-search svg{color:var(--text-subtle);flex-shrink:0}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:all .15s}.pill:hover{color:var(--text);border-color:var(--border-strong)}.pill.active{color:var(--accent);background:var(--accent-soft);border-color:transparent}.lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius);font-size:13.5px;font-weight:500;letter-spacing:-.005em;transition:all .15s ease;white-space:nowrap;border:1px solid transparent;cursor:pointer;background:none;color:var(--text)}.lib-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}.lib-btn:disabled{opacity:.5;cursor:not-allowed}.lib-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--accent-fg);box-shadow:0 4px 14px oklch(.64 .2 var(--accent-h) / .35)}.lib-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px oklch(.64 .2 var(--accent-h) / .45)}.lib-btn-ghost{color:var(--text)}.lib-btn-ghost:hover:not(:disabled){background:var(--hover)}.lib-btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lib-btn-secondary:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.lib-btn-danger{background:var(--danger-soft);color:var(--danger)}.lib-btn-danger:hover:not(:disabled){background:var(--danger)}@supports (color: color-mix(in lab,red,red)){.lib-btn-danger:hover:not(:disabled){background:color-mix(in oklab,var(--danger) 20%,transparent)}}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px #ffffff0f,0 20px 50px #0000002e}:root[data-theme=light] .list-card{box-shadow:inset 0 1px #fff9,0 20px 50px #3c3c6414}.list-header{display:grid;grid-template-columns:52px minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,1.4fr) minmax(200px,240px) 36px 70px 80px 116px;gap:16px;padding:12px 22px;border-bottom:1px solid var(--border);font-size:10.5px;color:var(--text-subtle);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-mono)}.list-header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-row{display:grid;grid-template-columns:52px minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,1.4fr) minmax(200px,240px) 36px 70px 80px 116px;gap:16px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease;position:relative}.song-row:last-child{border-bottom:none}.song-row:hover{background:var(--hover)}.song-row.playing{background:var(--accent-soft)}.song-row.playing:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.cover-art{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;color:#ffffffe6;overflow:hidden;position:relative;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff1a,0 4px 12px #0003}.cover-art.empty{background:var(--surface-2);border:1px solid var(--border);color:var(--text-subtle);box-shadow:none}.cover-art>img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cover-art.v1{background:radial-gradient(circle at 30% 20%,oklch(.78 .18 var(--ch, 210)),oklch(.3 .2 calc(var(--ch, 210) + 30)) 90%)}.cover-art.v2{background:conic-gradient(from 45deg at 50% 50%,oklch(.7 .18 var(--ch, 210)),oklch(.4 .2 calc(var(--ch, 210) + 60)),oklch(.65 .18 calc(var(--ch, 210) + 120)),oklch(.7 .18 var(--ch, 210)))}.cover-art.v3{background:linear-gradient(135deg,oklch(.65 .2 var(--ch, 210)),oklch(.35 .2 calc(var(--ch, 210) + 40))),repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.08) 6px 7px);background-blend-mode:normal,overlay}.cover-art.v4{background:radial-gradient(ellipse at 0% 100%,oklch(.8 .18 calc(var(--ch, 210) + 60)),transparent 60%),radial-gradient(ellipse at 100% 0%,oklch(.78 .18 var(--ch, 210)),transparent 60%),oklch(.3 .15 var(--ch, 210))}.cover-art.v5{background:linear-gradient(115deg,oklch(.4 .18 calc(var(--ch, 210) + 180)) 40%,oklch(.72 .18 var(--ch, 210)) 60%)}.cover-art.v6{background:repeating-linear-gradient(90deg,oklch(.5 .18 var(--ch, 210)) 0 4px,oklch(.68 .18 calc(var(--ch, 210) + 30)) 4px 8px,oklch(.38 .18 calc(var(--ch, 210) + 60)) 8px 12px)}.cover-play{position:absolute;inset:0;background:#0000008c;display:grid;place-items:center;opacity:0;transition:opacity .15s;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.song-row:hover .cover-play{opacity:1}.song-row.playing .cover-play{opacity:1;background:#00000059}.title-cell{min-width:0;display:flex;flex-direction:column;gap:3px}.title-main{font-size:14.5px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.title-sub{font-size:11.5px;color:var(--text-subtle);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted-cell{color:var(--text-muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted-cell.link{text-decoration:none}.muted-cell.link:hover{color:var(--accent);text-decoration:underline}.em-dash{color:var(--text-subtle);font-family:var(--font-mono)}.seek{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.seek-time{font-family:var(--font-mono);font-size:10.5px;color:var(--text-subtle);font-variant-numeric:tabular-nums;min-width:30px;text-align:center;flex-shrink:0}.seek-range{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--pct, 0%),var(--text-subtle) var(--pct, 0%),var(--text-subtle) 100%);border-radius:999px;outline:none;cursor:pointer;min-width:0}@supports (color: color-mix(in lab,red,red)){.seek-range{background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--pct, 0%),color-mix(in oklab,var(--text-subtle) 30%,transparent) var(--pct, 0%),color-mix(in oklab,var(--text-subtle) 30%,transparent) 100%)}}.seek-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev);box-shadow:0 2px 6px oklch(.64 .2 var(--accent-h) / .5);cursor:grab}.seek-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev);box-shadow:0 2px 6px oklch(.64 .2 var(--accent-h) / .5);cursor:grab}.seek-range:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}.format-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.format-chip.flac{color:var(--accent-4);border-color:var(--accent-4);background:var(--accent-4)}@supports (color: color-mix(in lab,red,red)){.format-chip.flac{border-color:color-mix(in oklab,var(--accent-4) 30%,transparent)}}@supports (color: color-mix(in lab,red,red)){.format-chip.flac{background:color-mix(in oklab,var(--accent-4) 10%,transparent)}}.format-chip.wav{color:var(--accent-3);border-color:var(--accent-3);background:var(--accent-3)}@supports (color: color-mix(in lab,red,red)){.format-chip.wav{border-color:color-mix(in oklab,var(--accent-3) 30%,transparent)}}@supports (color: color-mix(in lab,red,red)){.format-chip.wav{background:color-mix(in oklab,var(--accent-3) 10%,transparent)}}.format-chip.aac{color:var(--accent-2);border-color:var(--accent-2);background:var(--accent-2)}@supports (color: color-mix(in lab,red,red)){.format-chip.aac{border-color:color-mix(in oklab,var(--accent-2) 30%,transparent)}}@supports (color: color-mix(in lab,red,red)){.format-chip.aac{background:color-mix(in oklab,var(--accent-2) 10%,transparent)}}.duration{font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.actions{display:flex;gap:2px;justify-content:flex-end}.icon-action{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:var(--text-subtle);transition:all .15s ease;border:none;background:none;cursor:pointer}.icon-action:hover{background:var(--hover);color:var(--text)}.icon-action.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-action.primary:hover{background:var(--accent-soft);color:var(--accent)}.icon-action:disabled{opacity:.4;cursor:not-allowed}.lib-scrim{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;opacity:0;animation:fadein .25s ease forwards}@keyframes fadein{to{opacity:1}}.lib-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(1100px,calc(100vw - 40px));max-height:min(calc(100vh - 40px),calc(100dvh - 40px));background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column;opacity:0;animation:modalin .28s cubic-bezier(.2,.8,.2,1) forwards;overflow:hidden}@keyframes modalin{to{transform:translate(-50%,-50%) scale(1);opacity:1}}.lib-modal-hero{position:relative;padding:24px 28px;display:flex;gap:18px;align-items:center;min-height:132px;border-bottom:1px solid var(--border);overflow:hidden}.lib-modal-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(300px 160px at 0% 0%,var(--hero-glow, oklch(.64 .2 258 / .25)),transparent 70%);pointer-events:none}.lib-modal-hero-content{position:relative;display:flex;gap:18px;flex:1;min-width:0;align-items:center}.lib-modal-cover{width:84px;height:84px;min-width:84px;min-height:84px;aspect-ratio:1 / 1;border-radius:12px;flex-shrink:0;box-shadow:0 8px 24px #00000040;position:relative;overflow:hidden;box-sizing:border-box}.lib-modal-title{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px;line-height:1.2;word-break:break-word;color:var(--text)}.lib-modal-sub{font-size:12px;color:var(--text-subtle);font-family:var(--font-mono);word-break:break-all;line-height:1.4}.lib-modal-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);letter-spacing:.04em}.lib-modal-close{position:absolute;top:14px;right:14px;z-index:2}.lib-modal-body{flex:1;overflow-y:auto;padding:20px 24px 24px}.lib-modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;background:var(--bg-elev);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@supports (color: color-mix(in lab,red,red)){.lib-modal-footer{background:color-mix(in oklab,var(--bg-elev) 90%,transparent)}}.lib-modal-footer-right{display:flex;gap:8px}.section-title{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);font-family:var(--font-mono);margin:22px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.section-title:first-child{margin-top:0}.section-title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1 / -1}.field.half{grid-column:span 2}.lib-label{font-size:12.5px;font-weight:500;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:8px}.lib-label .req{color:var(--accent);margin-left:2px}.lib-label .hint{color:var(--text-subtle);font-weight:400;font-family:var(--font-mono);font-size:11px}.lib-input,.lib-select,.lib-textarea{width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--input-border, var(--border));border-radius:9px;box-shadow:inset 0 1px #ffffff05,0 1px 2px #0000000a;color:var(--text);font-size:13.5px;transition:border-color .15s,box-shadow .15s,background .15s;outline:none}.lib-input::-moz-placeholder,.lib-textarea::-moz-placeholder{color:var(--text-subtle)}.lib-input::placeholder,.lib-textarea::placeholder{color:var(--text-subtle)}.lib-input:hover,.lib-select:hover,.lib-textarea:hover{border-color:var(--border-strong)}.lib-input:focus,.lib-select:focus,.lib-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.lib-textarea{resize:vertical;min-height:72px;font-family:inherit}.lib-input.mono,.lib-textarea.mono{font-family:var(--font-mono);font-size:12.5px}.lib-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.range-field{display:flex;flex-direction:column;gap:8px;min-width:0}.range-field-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px}.range-field-label{color:var(--text);font-weight:500}.range-field-val{font-size:11px;color:var(--text-subtle);font-variant-numeric:tabular-nums}.range-wrap{position:relative;height:24px}.range-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:4px;background:var(--text-subtle);border-radius:999px}@supports (color: color-mix(in lab,red,red)){.range-track{background:color-mix(in oklab,var(--text-subtle) 30%,transparent)}}.range-fill{position:absolute;top:0;bottom:0;background:var(--accent);border-radius:999px}.range-thumb{position:absolute;left:0;right:0;top:0;width:100%;height:24px;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:none;margin:0}.range-thumb::-webkit-slider-runnable-track{background:transparent;border:none;height:24px}.range-thumb::-moz-range-track{background:transparent;border:none;height:24px}.range-thumb::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev);box-shadow:0 2px 6px oklch(.64 .2 var(--accent-h) / .5);cursor:grab;pointer-events:auto;margin-top:0}.range-thumb::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-elev);box-shadow:0 2px 6px oklch(.64 .2 var(--accent-h) / .5);cursor:grab;pointer-events:auto}.range-thumb:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.1)}.combo-popover{position:absolute;z-index:1002;margin-top:4px;width:100%;background:var(--bg-elev);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden}.combo-list{list-style:none;padding:4px 0;margin:0;max-height:260px;overflow-y:auto}.combo-item{padding:8px 12px;cursor:pointer;font-size:13px}.combo-item.active{background:var(--hover)}.combo-item-label{font-weight:500;color:var(--text)}.combo-item-sub{font-size:11px;color:var(--text-subtle);margin-top:2px}.combo-item-create{border-top:1px solid var(--border)}.combo-status{padding:10px 12px;font-size:13px;color:var(--text-subtle)}.combo-selected{display:flex;align-items:center;gap:8px;padding:9px 10px 9px 12px;background:var(--input-bg);border:1px solid var(--input-border, var(--border));border-radius:9px;font-size:13.5px;color:var(--text)}.combo-selected-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.combo-selected-name{font-weight:500}.combo-selected-sub{margin-left:8px;color:var(--text-subtle);font-size:12px}.combo-clear{color:var(--text-subtle);background:none;border:none;font-size:16px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:6px}.combo-clear:hover{color:var(--text);background:var(--hover)}.rating{display:flex;gap:4px;align-items:center}.star{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:var(--text-subtle);transition:all .1s;border:none;background:none;cursor:pointer}.star:hover{color:var(--text);background:var(--hover);transform:scale(1.1)}.star.filled{color:#edb417}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tech-cell{background:var(--surface-2);padding:11px 14px}.tech-key{font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;font-weight:500;font-family:var(--font-mono)}.tech-val{font-family:var(--font-mono);font-size:12.5px;color:var(--text);margin-top:3px;word-break:break-all}@media (max-width: 820px){.app-header-inner{padding:12px 16px;gap:10px}.app-main{padding:16px}.app-nav{display:none}.lib-search{width:100%}.list-header{display:none}.song-row{grid-template-columns:48px 1fr auto;gap:12px;padding:10px 14px}.row-col-album,.row-col-duration-inline,.row-col-waveform,.row-col-artist,.row-col-edited,.row-col-analysis{display:none}.lib-hero{padding:10px 14px}.lib-modal{width:100%;inset:auto 0 0;transform:translateY(100%);max-height:94vh;height:94vh;border-radius:18px 18px 0 0;animation:slideup .35s cubic-bezier(.2,.8,.2,1) forwards}@keyframes slideup{to{transform:translateY(0)}}.form-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(2,1fr)}.lib-page-title{font-size:14px}}.lib-modal-body::-webkit-scrollbar{width:10px}.lib-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:3px solid var(--bg-elev)}.lib-modal-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@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-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-divide-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-tracking{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: 0px;}@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-ease{syntax: "*"; inherits: false;}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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-space-y-reverse: 0;--tw-divide-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: 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-ease: initial}}}
