/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@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-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-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}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-serif:var(--font-serif);--font-mono:var(--font-mono);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--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-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--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-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--shadow-2xs:var(--shadow-2xs);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-2xl:var(--shadow-2xl);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--aspect-video:16 / 9;--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);--shadow:var(--shadow);--color-primary:var(--primary);--color-secondary:var(--secondary);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-border:var(--border);--color-primary-dark:#8b5cf6;--color-background-light:#f9fafb;--color-background-dark:#0f172a;--color-card-light:#fff;--color-card-dark:#1e293b}}@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;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 components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-4{top:calc(var(--spacing) * -4)}.top-0{top:calc(var(--spacing) * 0)}.top-6{top:calc(var(--spacing) * 6)}.right-0{right:calc(var(--spacing) * 0)}.right-6{right:calc(var(--spacing) * 6)}.left-1\/2{left:50%}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1000\]{z-index:1000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing) * 8)}.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)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-full{height:100%}.max-h-\[85vh\]{max-height:85vh}.max-h-\[400px\]{max-height:400px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.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-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: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)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}: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-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * 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(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.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-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-border{border-color:var(--color-border)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-green-500\/50{border-color:#00c75880}@supports (color:color-mix(in lab, red, red)){.border-green-500\/50{border-color:color-mix(in oklab, var(--color-green-500) 50%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-primary\/30{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab, red, red)){.border-red-500\/50{border-color:color-mix(in oklab, var(--color-red-500) 50%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-background-light{background-color:var(--color-background-light)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-card-light{background-color:var(--color-card-light)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\/50{background-color:#f9fafb80}@supports (color:color-mix(in lab, red, red)){.bg-gray-50\/50{background-color:color-mix(in oklab, var(--color-gray-50) 50%, transparent)}}.bg-gray-50\/80{background-color:#f9fafbcc}@supports (color:color-mix(in lab, red, red)){.bg-gray-50\/80{background-color:color-mix(in oklab, var(--color-gray-50) 80%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-gray-950\/60{background-color:#03071299}@supports (color:color-mix(in lab, red, red)){.bg-gray-950\/60{background-color:color-mix(in oklab, var(--color-gray-950) 60%, transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-secondary,.bg-secondary\/10{background-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/10{background-color:color-mix(in oklab, var(--color-secondary) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(ellipse_at_top\,_var\(--tw-gradient-stops\)\)\]{background-image:radial-gradient(ellipse at top, var(--tw-gradient-stops))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--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-primary\/10{--tw-gradient-from:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.from-primary\/10{--tw-gradient-from:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.from-primary\/10{--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-primary\/20{--tw-gradient-from:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.from-primary\/20{--tw-gradient-from:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.from-primary\/20{--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-gray-950{--tw-gradient-to:var(--color-gray-950);--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-primary-dark\/10{--tw-gradient-to:#8b5cf61a}@supports (color:color-mix(in lab, red, red)){.to-primary-dark\/10{--tw-gradient-to:color-mix(in oklab, var(--color-primary-dark) 10%, transparent)}}.to-primary-dark\/10{--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-primary-dark\/20{--tw-gradient-to:#8b5cf633}@supports (color:color-mix(in lab, red, red)){.to-primary-dark\/20{--tw-gradient-to:color-mix(in oklab, var(--color-primary-dark) 20%, transparent)}}.to-primary-dark\/20{--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))}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.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-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.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-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.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-accent-foreground{color:var(--color-accent-foreground)}.text-amber-200{color:var(--color-amber-200)}.text-destructive{color:var(--color-destructive)}.text-gray-100{color:var(--color-gray-100)}.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-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-muted{color:var(--color-muted)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.accent-primary{accent-color:var(--color-primary)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:var(--shadow-2xl);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_0_4px_rgba\(var\(--primary-rgb\)\,0\.5\)\]{--tw-shadow:0 0 4px var(--tw-shadow-color,rgba(var(--primary-rgb),.5));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_0_8px_rgba\(34\,197\,94\,0\.5\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#22c55e80);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_0_8px_rgba\(239\,68\,68\,0\.5\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#ef444480);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_0_8px_rgba\(var\(--primary-rgb\)\,0\.4\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,rgba(var(--primary-rgb),.4));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:var(--shadow-lg);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:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-primary\/20{--tw-shadow-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-primary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-primary\/20:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/20:hover{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-red-500:hover{border-color:var(--color-red-500)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-primary-dark:hover{background-color:var(--color-primary-dark)}.hover\:bg-primary\/5:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\:checked\]\:border-primary:has(:checked){border-color:var(--color-primary)}.has-\[\:checked\]\:bg-primary\/5:has(:checked){background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.has-\[\:checked\]\:bg-primary\/5:has(:checked){background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:py-32{padding-block:calc(var(--spacing) * 32)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:bg-background-dark{background-color:var(--color-background-dark)}.dark\:bg-black{background-color:var(--color-black)}.dark\:bg-card-dark{background-color:var(--color-card-dark)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/20{background-color:#1e293933}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/20{background-color:color-mix(in oklab, var(--color-gray-800) 20%, transparent)}}.dark\:bg-gray-800\/30{background-color:#1e29394d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/30{background-color:color-mix(in oklab, var(--color-gray-800) 30%, transparent)}}.dark\:bg-gray-800\/40{background-color:#1e293966}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/40{background-color:color-mix(in oklab, var(--color-gray-800) 40%, transparent)}}.dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/50{background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-gray-900\/50{background-color:#10182880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-900\/50{background-color:color-mix(in oklab, var(--color-gray-900) 50%, transparent)}}.dark\:bg-gray-900\/80{background-color:#101828cc}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-900\/80{background-color:color-mix(in oklab, var(--color-gray-900) 80%, transparent)}}.dark\:bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-white{color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-red-500:hover{background-color:var(--color-red-500)}.dark\:hover\:text-white:hover{color:var(--color-white)}}}}:root{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--background);background-clip:padding-box;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}:root{--background:oklch(97.3% .0133 286.15);--foreground:oklch(30.15% .0572 282.418);--card:oklch(99% 0 0);--card-foreground:oklch(30.15% .0572 282.418);--popover:oklch(99% 0 0);--popover-foreground:oklch(30.15% .0572 282.418);--primary:oklch(54.17% .179 288.033);--primary-foreground:oklch(100% 0 0);--secondary:oklch(91.74% .0435 292.69);--secondary-foreground:oklch(41.43% .1039 288.174);--muted:oklch(95.8% .0133 286.145);--muted-foreground:oklch(54.26% .0465 284.744);--accent:oklch(92.21% .0373 262.141);--accent-foreground:oklch(30.15% .0572 282.418);--destructive:oklch(68.61% .2061 14.9941);--destructive-foreground:oklch(100% 0 0);--border:oklch(91.15% .0216 285.963);--input:oklch(91.15% .0216 285.963);--ring:oklch(54.17% .179 288.033);--chart-1:oklch(54.17% .179 288.033);--chart-2:oklch(70.42% .1602 288.988);--chart-3:oklch(56.79% .2113 276.707);--chart-4:oklch(63.56% .1922 281.805);--chart-5:oklch(45.09% .1758 279.384);--sidebar:oklch(95.8% .0133 286.145);--sidebar-foreground:oklch(30.15% .0572 282.418);--sidebar-primary:oklch(54.17% .179 288.033);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(92.21% .0373 262.141);--sidebar-accent-foreground:oklch(30.15% .0572 282.418);--sidebar-border:oklch(91.15% .0216 285.963);--sidebar-ring:oklch(54.17% .179 288.033);--font-sans:Inter, sans-serif;--font-serif:Georgia, serif;--font-mono:JetBrains Mono, monospace;--radius:.5rem;--shadow-x:0px;--shadow-y:4px;--shadow-blur:10px;--shadow-spread:0px;--shadow-opacity:.12;--shadow-color:#2d2d53;--shadow-2xs:0px 4px 10px 0px #2d2d530f;--shadow-xs:0px 4px 10px 0px #2d2d530f;--shadow-sm:0px 4px 10px 0px #2d2d531f, 0px 1px 2px -1px #2d2d531f;--shadow:0px 4px 10px 0px #2d2d531f, 0px 1px 2px -1px #2d2d531f;--shadow-md:0px 4px 10px 0px #2d2d531f, 0px 2px 4px -1px #2d2d531f;--shadow-lg:0px 4px 10px 0px #2d2d531f, 0px 4px 6px -1px #2d2d531f;--shadow-xl:0px 4px 10px 0px #2d2d531f, 0px 8px 10px -1px #2d2d531f;--shadow-2xl:0px 4px 10px 0px #2d2d534d;--tracking-normal:0em;--spacing:.25rem;--saved-word-highlight-color:#fef08a;--saved-phrase-highlight-color:#93c5fd}.dark{--background:oklch(17.43% .0227 283.8);--foreground:oklch(91.85% .0257 285.883);--card:oklch(22.84% .0384 282.932);--card-foreground:oklch(91.85% .0257 285.883);--popover:oklch(22.84% .0384 282.932);--popover-foreground:oklch(91.85% .0257 285.883);--primary:oklch(71.62% .1597 290.396);--primary-foreground:oklch(17.43% .0227 283.8);--secondary:oklch(31.39% .0736 283.459);--secondary-foreground:oklch(83.67% .0849 285.911);--muted:oklch(27.1% .0621 281.438);--muted-foreground:oklch(71.66% .0462 285.174);--accent:oklch(33.54% .0828 280.971);--accent-foreground:oklch(91.85% .0257 285.883);--destructive:oklch(68.61% .2061 14.9941);--destructive-foreground:oklch(100% 0 0);--border:oklch(32.61% .0597 282.583);--input:oklch(32.61% .0597 282.583);--ring:oklch(71.62% .1597 290.396);--chart-1:oklch(71.62% .1597 290.396);--chart-2:oklch(63.82% .1047 274.912);--chart-3:oklch(74.82% .1235 244.749);--chart-4:oklch(71.24% .0977 186.676);--chart-5:oklch(75.46% .1831 346.812);--sidebar:oklch(22.84% .0384 282.932);--sidebar-foreground:oklch(91.85% .0257 285.883);--sidebar-primary:oklch(71.62% .1597 290.396);--sidebar-primary-foreground:oklch(17.43% .0227 283.8);--sidebar-accent:oklch(33.54% .0828 280.971);--sidebar-accent-foreground:oklch(91.85% .0257 285.883);--sidebar-border:oklch(32.61% .0597 282.583);--sidebar-ring:oklch(71.62% .1597 290.396);--font-sans:Inter, sans-serif;--font-serif:Georgia, serif;--font-mono:JetBrains Mono, monospace;--radius:.5rem;--shadow-x:0px;--shadow-y:4px;--shadow-blur:10px;--shadow-spread:0px;--shadow-opacity:.12;--shadow-color:#2d2d53;--shadow-2xs:0px 4px 10px 0px #2d2d530f;--shadow-xs:0px 4px 10px 0px #2d2d530f;--shadow-sm:0px 4px 10px 0px #2d2d531f, 0px 1px 2px -1px #2d2d531f;--shadow:0px 4px 10px 0px #2d2d531f, 0px 1px 2px -1px #2d2d531f;--shadow-md:0px 4px 10px 0px #2d2d531f, 0px 2px 4px -1px #2d2d531f;--shadow-lg:0px 4px 10px 0px #2d2d531f, 0px 4px 6px -1px #2d2d531f;--shadow-xl:0px 4px 10px 0px #2d2d531f, 0px 8px 10px -1px #2d2d531f;--shadow-2xl:0px 4px 10px 0px #2d2d534d;--saved-word-highlight-color:#fef08a;--saved-phrase-highlight-color:#93c5fd}*,:before,:after{box-sizing:border-box}body{--bg-primary:var(--background);--bg-secondary:var(--sidebar);--bg-tertiary:var(--muted);--bg-elevated:var(--card);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--text-muted:var(--muted-foreground);--text-placeholder:var(--muted-foreground);--accent-primary:var(--primary);--accent-danger:var(--destructive);--accent-danger-hover:var(--destructive);--border-subtle:var(--border);--border-medium:var(--input);--border-focus:var(--ring);--overlay-context:var(--popover);--overlay-modal:#000c;--font-primary:var(--font-sans);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:10px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:48px;font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;margin:0}.app{flex-direction:column;height:100vh;display:flex}.app .top-nav{flex-shrink:0;width:100%}.view-layout{flex:1;min-height:0;overflow:hidden}.library-grid{grid-template-columns:320px 1fr;height:100%;display:grid}.create-view{background:var(--bg-primary);flex-direction:column;height:100%;display:flex}.secondary-nav{justify-content:center;gap:var(--space-4xl);padding:var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex}.sec-tab{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-xs);opacity:.7;transition:var(--transition);padding-bottom:var(--space-xs);border-bottom:2px solid #0000;flex-direction:column;text-decoration:none;display:flex}.sec-tab:hover,.sec-tab.active{opacity:1;color:var(--text-primary)}.sec-tab.active{border-bottom-color:var(--text-primary)}.sec-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:inherit;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:24px;display:flex}.sec-tab.active .sec-icon{color:var(--accent-primary);background:0 0;border-color:#0000}.create-container{padding:var(--space-3xl);flex:1;width:100%;max-width:600px;margin:0 auto;overflow-y:auto}.create-title{text-align:center;font-size:var(--text-xl);margin-bottom:var(--space-2xl);color:var(--text-primary);font-weight:var(--weight-normal)}.create-form{gap:var(--space-lg);flex-direction:column;display:flex}.create-input,.create-textarea,.create-select{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);width:100%;padding:var(--space-md);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);transition:var(--transition)}.create-input:focus,.create-textarea:focus,.create-select:focus{border-color:var(--text-muted);outline:none}.create-input::placeholder,.create-textarea::placeholder{color:var(--text-placeholder)}.create-textarea{resize:none;min-height:180px}.create-select-wrap{position:relative}.create-select{appearance:none;cursor:pointer;padding-right:32px}.select-chevron{color:var(--text-muted);pointer-events:none;font-size:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.vocabulary-view{background:var(--bg-primary);flex-direction:column;flex:1;align-items:center;display:flex;overflow:hidden}.vocabulary-view .secondary-nav{flex-shrink:0;width:100%}.vocab-panel{border-radius:var(--radius-lg);flex:1;width:100%;max-width:1200px;margin:0 auto;padding-top:40px;display:flex;overflow:hidden}#study-sets-root{border:1px solid var(--border-medium);border-radius:var(--radius-md);flex-shrink:0;width:300px;max-height:700px;overflow-y:auto}.study-set-card{min-height:160px;padding:var(--space-lg);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);margin-bottom:var(--space-md);flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.study-set-card:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.study-set-card:hover{background:color-mix(in srgb, var(--primary) 5%, var(--bg-primary))}}.study-set-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.study-set-card:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--border-subtle))}}.study-set-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.study-set-card-title{font-size:var(--text-lg);color:var(--text-primary);-webkit-line-clamp:2;margin-bottom:var(--space-xs);-webkit-box-orient:vertical;font-weight:700;transition:color .3s;display:-webkit-box;overflow:hidden}.study-set-card:hover .study-set-card-title{color:var(--primary)}.study-set-card-icon{color:var(--text-muted);flex-shrink:0;transition:transform .3s}.study-set-card:hover .study-set-card-icon{color:var(--primary);transform:translate(4px)}.vocab-content-row{flex:1;gap:16px;min-height:0;display:flex;overflow:hidden}.vocab-filters{border-radius:5px;flex-shrink:0;width:220px;max-height:350px;padding:10px;overflow-y:auto}.vocab-filters-title{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 var(--space-sm) 0;padding-top:5px;font-weight:600}.vocab-filters-title-second{margin-top:var(--space-lg)}.vocab-filter-group{margin-bottom:var(--space-md)}.vocab-filter-label{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.vocab-select-wrap{position:relative}.vocab-select-wrap .vocab-select{padding-right:32px}.vocab-select-wrap .select-chevron{color:var(--text-muted);pointer-events:none;font-size:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.vocab-select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;appearance:none;position:relative}.vocab-lesson-dropdown-wrap{position:relative}.vocab-lesson-trigger{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.vocab-lesson-trigger .select-chevron{flex-shrink:0;margin-left:auto}.vocab-lesson-dropdown{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;flex-direction:column;max-height:220px;margin-top:2px;display:flex;position:absolute;top:100%;left:0;right:0}.vocab-lesson-dropdown[hidden]{display:none!important}.vocab-lesson-search{padding:var(--space-sm) var(--space-md);border:none;border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;font-size:var(--text-sm);background:var(--bg-tertiary);color:var(--text-primary)}.vocab-lesson-search:focus{outline:none}.vocab-lesson-list{padding:var(--space-xs);flex:1;margin:0;list-style:none;overflow-y:auto}.vocab-lesson-list li{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm)}.vocab-lesson-list li:hover{background:var(--bg-secondary)}.vocab-familiarity-meter{margin-top:var(--space-xs);display:flex}.vocab-familiarity-seg{text-align:center;border:1px solid var(--border-medium);background:var(--muted);min-width:36px;color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:6px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.vocab-familiarity-seg:hover{background:var(--accent);color:var(--accent-foreground)}.vocab-familiarity-seg.active{background:var(--primary);color:var(--primary-foreground)}.vocab-main{min-width:0;padding:var(--space-lg);background:var(--bg-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;flex-direction:column;flex:1;display:flex;overflow:hidden}.vocab-toggle-row{justify-content:flex-start;align-items:center;gap:16px;margin-bottom:24px;padding:0 4px;display:flex}.vocab-tabs-inline{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:14px;min-width:200px;padding:4px;display:flex;position:relative}.vocab-tab-slider{background:var(--bg-primary);z-index:0;border-radius:10px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .4s cubic-bezier(.18,1,.32,1);position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.vocab-tabs-inline:has([data-vocab-type=phrases].active) .vocab-tab-slider,.vocab-tabs-inline:has([data-practice-type=phrases].active) .vocab-tab-slider{transform:translate(100%)}.vocab-tab-inline{z-index:1;color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:none;flex:1;padding:8px 16px;font-size:14px;font-weight:600;transition:color .3s;position:relative}.vocab-tab-inline:hover{color:var(--text-primary)}.vocab-tab-inline.active{color:var(--text-primary);background:0 0}.vocab-list-actions{align-items:center;gap:var(--space-sm);display:flex}.vocab-select-mode-actions{background:var(--popover);position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(120%)}@supports (color:color-mix(in lab, red, red)){.vocab-select-mode-actions{background:color-mix(in srgb, var(--popover) 85%, transparent)}}.vocab-select-mode-actions{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;pointer-events:none;border-radius:20px;align-items:center;gap:12px;padding:8px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s;display:flex}.vocab-select-mode-actions:not([hidden]){opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.vocab-selection-actions-pill{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:14px;align-items:center;gap:4px;padding:4px;display:flex}.vocab-pill-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.vocab-pill-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.vocab-pill-btn.danger{color:var(--error)}.vocab-pill-btn.danger:hover{background:var(--error)}@supports (color:color-mix(in lab, red, red)){.vocab-pill-btn.danger:hover{background:color-mix(in srgb, var(--error) 10%, transparent)}}.vocab-pill-btn.danger:hover{color:var(--error)}.vocab-select-cancel{color:var(--text-muted);background:0 0}.vocab-select-cancel:hover{color:var(--text-primary)}.vocab-action-btn{font-size:var(--text-sm)}.vocab-list-container{border:1px solid var(--border-medium);border-radius:var(--radius-md);flex-direction:column;flex:1;max-height:60vh;display:flex;overflow:visible}.vocab-list-header{gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);text-transform:none;letter-spacing:.02em;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:10;grid-template-columns:1fr 1fr minmax(80px,auto) minmax(70px,auto) minmax(56px,auto);align-items:center;display:grid;position:relative}.vocab-list-header[hidden]{display:none!important}.vocab-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.vocab-list[hidden]{display:none!important}.vocab-row{gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);grid-template-columns:1fr 1fr minmax(80px,auto) minmax(70px,auto) minmax(56px,auto);align-items:center;transition:background .15s;display:grid}.vocab-row:hover{background:var(--bg-secondary)}.vocab-col-original,.vocab-col-translation{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.vocab-word-type-chip{border-radius:var(--radius-sm);background:var(--muted);color:var(--muted-foreground);flex-shrink:0;padding:2px 8px;font-size:11px}.vocab-tts-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:12px}.vocab-tts-btn:hover{color:var(--text-primary)}.sec-icon svg,.modal-icon svg,.credits-icon svg,.tts-btn svg,.vocab-tts-btn svg{color:inherit;flex-shrink:0;display:block}.vocab-delete-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.vocab-delete-btn:hover{color:var(--destructive,#dc2626)}.vocab-delete-btn svg{width:18px;height:18px}.vocab-info-cell{cursor:help;color:var(--text-secondary);font-size:var(--text-xs);position:relative}.vocab-info-cell[data-tooltip]:hover:after{content:attr(data-tooltip);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:280px;color:var(--text-primary);box-shadow:var(--shadow-md);z-index:10;white-space:normal;margin-top:4px;font-size:12px;position:absolute;top:100%;left:0}.vocab-familiarity-cell{align-items:center;gap:4px;display:flex}.vocab-familiarity-dot{background:var(--primary);border-radius:50%;width:8px;height:8px}@supports (color:color-mix(in lab, red, red)){.vocab-familiarity-dot{background:color-mix(in srgb, var(--primary) 20%, transparent)}}.vocab-familiarity-dot{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocab-familiarity-dot{border:1px solid color-mix(in srgb, var(--primary) 45%, transparent)}}.vocab-familiarity-dot{cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s,border-color .2s,box-shadow .2s}.vocab-familiarity-dot.filled{background:var(--primary);border-color:var(--primary);animation:.45s cubic-bezier(.34,1.56,.64,1) forwards popGlow,3s ease-in-out .45s infinite alternate breathingGlow}@keyframes popGlow{0%{box-shadow:0 0 0 0px var(--primary);transform:scale(.7)}40%{box-shadow:0 0 12px 3px var(--primary);transform:scale(1.35)}to{box-shadow:0 0 6px var(--primary);transform:scale(1)}}@keyframes breathingGlow{0%{box-shadow:0 0 4px var(--primary)}to{box-shadow:0 0 10px var(--primary), 0 0 3px var(--primary)}}.vocab-familiarity-dot:hover{background:var(--primary);box-shadow:0 0 8px var(--primary);z-index:1;transform:scale(1.5)}.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="2"]:hover) .vocab-familiarity-dot[data-level="1"],.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="3"]:hover) .vocab-familiarity-dot[data-level="1"],.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="3"]:hover) .vocab-familiarity-dot[data-level="2"],.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="4"]:hover) .vocab-familiarity-dot[data-level="1"],.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="4"]:hover) .vocab-familiarity-dot[data-level="2"],.vocab-familiarity-cell:has(.vocab-familiarity-dot[data-level="4"]:hover) .vocab-familiarity-dot[data-level="3"]{background:var(--primary);opacity:.75;transform:scale(1.2)}.vocab-col-familiarity{align-items:center;gap:6px;display:inline-flex}.vocab-info-icon{color:var(--text-muted,var(--text-secondary));cursor:help;justify-content:center;align-items:center;transition:color .2s;display:inline-flex;position:relative}.vocab-info-icon:hover{color:var(--primary)}.vocab-info-icon svg{display:block}.vocab-info-icon[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md,8px);width:170px;color:var(--text-primary);box-shadow:var(--shadow-lg);z-index:100;white-space:pre-line;pointer-events:none;opacity:0;text-align:left;text-transform:none;letter-spacing:normal;padding:12px 16px;font-size:11px;font-weight:500;line-height:1.6;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:140%;bottom:auto;left:50%;transform:translate(-50%)scale(.9)}.vocab-info-icon[data-tooltip]:before{content:"";border-style:solid;border-width:6px;border-color:transparent transparent var(--border-medium) transparent;z-index:100;pointer-events:none;opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:120%;bottom:auto;left:50%;transform:translate(-50%)scale(.9)}.vocab-info-icon[data-tooltip]:hover:after,.vocab-info-icon[data-tooltip]:hover:before{opacity:1;transform:translate(-50%)scale(1)}.vocab-placeholder{padding:var(--space-2xl);text-align:center;color:var(--text-secondary)}.vocab-practice-panel{padding:var(--space-xl);justify-content:center;align-items:flex-start;display:flex;position:relative;overflow-y:auto}.vocab-practice-container{gap:var(--space-lg);flex-direction:column;width:100%;max-width:520px;margin:0 auto;display:flex}.vocab-practice-header{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.vocab-practice-total{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.vocab-practice-stats{gap:var(--space-lg);font-size:var(--text-sm);color:var(--foreground);display:flex}.vocab-practice-stats strong{font-weight:600}.vocab-practice-progress{font-size:var(--text-sm);color:var(--muted-foreground);text-align:center;margin-bottom:10px}.vocab-practice-card-wrap{margin:var(--space-md) 0}.vocab-practice-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);cursor:pointer;outline:none;min-height:140px;transition:box-shadow .2s,transform .3s;position:relative}.vocab-practice-card:hover{box-shadow:var(--shadow-md)}.vocab-practice-card:focus-visible{box-shadow:0 0 0 2px var(--ring)}.vocab-practice-card.revealed{transform:rotateY(4deg)}.vocab-practice-term-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.vocab-practice-term{color:var(--foreground);font-size:1.25rem;font-weight:500}.vocab-practice-tts{flex-shrink:0}.vocab-practice-separator{background:var(--border);height:1px;margin:var(--space-md) 0}.vocab-practice-reveal-hint{font-size:var(--text-sm);color:var(--muted-foreground);margin:0 0 var(--space-sm) 0}.vocab-practice-context{bottom:var(--space-md);left:var(--space-xl);font-size:var(--text-sm);color:var(--muted-foreground);margin:0;font-style:italic;position:absolute}.vocab-practice-context[hidden]{display:none!important}.vocab-practice-revealed-content{margin-bottom:var(--space-xl)}.vocab-practice-meaning-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin:0 0 var(--space-xs) 0}.vocab-practice-translation-revealed{color:var(--foreground);margin:0 0 var(--space-md) 0;font-size:1rem}.vocab-practice-section-label{font-size:var(--text-xs);color:var(--muted-foreground);margin:var(--space-md) 0 var(--space-xs) 0;font-weight:600}.vocab-practice-section-label:first-of-type{margin-top:0}.vocab-practice-definition{font-size:var(--text-sm);color:var(--foreground);margin:0 0 var(--space-md) 0;line-height:1.5}.vocab-practice-examples{padding-left:var(--space-lg);font-size:var(--text-sm);color:var(--foreground);margin:0;line-height:1.5}.vocab-practice-examples li{margin-bottom:var(--space-xs)}.vocab-practice-actions{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.vocab-practice-actions-left{align-items:center;gap:var(--space-md);display:flex}.vocab-practice-actions-right{align-items:center;gap:var(--space-sm);display:flex}.vocab-practice-familiarity{gap:var(--space-sm);display:flex}.vocab-practice-fam-btn{min-width:44px;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--muted-foreground);cursor:pointer;font-weight:500;transition:background .2s,color .2s}.vocab-practice-fam-btn:hover{background:var(--accent);color:var(--accent-foreground)}.vocab-practice-fam-btn.active{background:var(--primary);color:var(--primary-foreground)}.vocab-practice-reset-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--destructive);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.vocab-practice-reset-btn:hover{background:var(--destructive);color:var(--destructive-foreground)}.vocab-practice-reset-btn svg{width:20px;height:20px}.vocab-practice-empty{text-align:center;color:var(--muted-foreground);font-size:var(--text-sm);margin:var(--space-xl) 0}.vocab-practice-correct-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:none;font-weight:500;transition:opacity .2s}.vocab-practice-correct-btn:hover{opacity:.9}.vocab-practice-incorrect-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);border:1px solid var(--destructive);border-radius:var(--radius-md);color:var(--destructive);cursor:pointer;background:0 0;font-weight:500;transition:background .2s,color .2s}.vocab-practice-incorrect-btn:hover{background:var(--destructive);color:var(--destructive-foreground)}.select-label{font-size:var(--text-sm);color:var(--text-secondary);position:absolute;top:-24px;left:12px}.create-upload-btn{width:100%;padding:var(--space-md);background:var(--bg-tertiary);border:1px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:var(--transition);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100px;margin-top:6px;margin-bottom:6px;display:flex}.create-upload-btn:hover,.create-upload-btn.drag-over{border-color:var(--text-secondary);color:var(--text-secondary);background-color:var(--bg-secondary)}.remove-file-btn{background:var(--destructive);width:24px;height:24px;color:var(--destructive-foreground);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:transform .2s;display:flex;position:absolute;top:8px;right:8px}.remove-file-btn:hover{transform:scale(1.1)}.create-upload-btn,.upload-drop-zone{position:relative}.create-footer{margin-top:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.create-checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--text-primary);font-size:var(--text-sm);display:flex}.create-checkbox{width:16px;height:16px;accent-color:var(--text-primary)}.create-meta-row{gap:var(--space-md);display:flex}.create-select-wrap.small .create-select{padding:var(--space-xs) var(--space-lg) var(--space-xs) var(--space-sm);border-color:var(--border-subtle);font-size:var(--text-sm);width:auto;min-width:130px}.create-submit-btn{margin-top:var(--space-xl);border:1px solid var(--text-primary);color:var(--text-primary);padding:var(--space-md);border-radius:var(--radius-full);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-medium);transition:var(--transition);text-align:center;background:0 0}.create-submit-btn:hover{background:var(--text-primary);color:var(--bg-primary)}.top-nav{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);height:60px;padding:0 var(--space-2xl);justify-content:space-between;align-items:center;display:flex;position:relative}.nav-logo{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);text-transform:uppercase;flex:none;min-width:120px}.nav-tabs-wrap{gap:var(--space-2xl);font-size:var(--text-sm);color:var(--text-secondary);display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-tab{color:inherit;transition:var(--transition);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);text-decoration:none}.nav-tab:hover,.nav-tab.active{color:var(--text-primary)}.nav-tab.active{background:var(--bg-secondary);text-underline-offset:4px;text-decoration:underline}.nav-utility{align-items:center;gap:var(--space-lg);flex:none;justify-content:flex-end;min-width:120px;display:flex}.theme-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:52px;height:28px;padding:0;display:inline-flex;position:relative}.theme-switch-track{background-color:#e2e8f0;border:1.5px solid #cbd5e1;border-radius:999px;width:100%;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.dark .theme-switch-track{background-color:#4f46e5;border-color:#6366f1;box-shadow:inset 0 2px 4px #0003}.theme-switch-thumb{z-index:2;color:#475569;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background-color .3s,box-shadow .3s;display:flex;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000026}.dark .theme-switch-thumb{color:#f8fafc;background-color:#1e293b;transform:translate(24px);box-shadow:0 2px 5px #0006}.theme-icon{flex-shrink:0;width:12px;height:12px;transition:opacity .2s,transform .2s}.sun-icon{display:block}.moon-icon,.dark .sun-icon{display:none}.dark .moon-icon{display:block}.icon-btn{width:32px;height:32px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-full);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-secondary)}.icon-btn svg{flex-shrink:0}.sidebar{background:var(--bg-primary);border-right:1px solid var(--border-subtle);width:320px;padding:var(--space-lg);font-size:var(--text-lg);flex-direction:column;display:flex;overflow:auto}.sidebar-header{align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle);display:flex}.sidebar-folder-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-header-label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-primary);flex:1}.sidebar-header-actions{align-items:center;gap:var(--space-xs);display:flex}.sidebar-add-folder{width:28px;height:28px;color:var(--text-secondary);font-size:18px;line-height:1}.sidebar-add-folder:hover{color:var(--text-primary)}.sidebar-settings{width:28px;height:28px;color:var(--text-secondary)}.sidebar-settings:hover{color:var(--text-primary)}.folder-tree{flex:1;min-height:0}.tree-root{margin:0;padding:0;list-style:none}.tree-item{width:100%;min-height:36px;padding:var(--space-sm) var(--space-md);font-size:inherit;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:var(--space-sm);background:0 0;border:none;display:flex}.tree-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.tree-item.active,.tree-item[aria-selected=true]{background:var(--bg-tertiary);color:var(--text-primary)}.tree-toggle[data-folder-id=root][aria-selected=true] .tree-label{color:var(--text-primary)}.tree-chevron{width:24px;height:24px;transition:transform var(--transition);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.tree-chevron:hover{background:#ffffff1a}.tree-toggle[aria-expanded=false] .tree-chevron,.tree-has-children[aria-expanded=false] .tree-chevron,.folder-manager-item[aria-expanded=false] .modal-chevron{transform:rotate(90deg)}.tree-toggle[aria-expanded=true] .tree-chevron,.tree-has-children[aria-expanded=true] .tree-chevron,.folder-manager-item[aria-expanded=true] .modal-chevron{transform:rotate(-90deg)}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-children{margin:0;padding:0;list-style:none}.tree-children .tree-children{margin-left:var(--space-2xl);padding-left:0}.tree-children .tree-item{padding-left:var(--space-md)}.tree-children[hidden]{display:none}.tree-item[draggable=true]{cursor:grab}.tree-item[draggable=true]:active{cursor:grabbing}.tree-item.dragging{opacity:.6}.tree-item.drag-over{outline:2px solid var(--accent-primary);outline-offset:-2px}.tree-item.syncing{opacity:.7;position:relative}.tree-item.syncing:after{content:"";top:50%;right:var(--space-sm);border:2px solid var(--primary);border-top:2px solid #0000;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin;position:absolute;transform:translateY(-50%)}@keyframes spin{to{transform:rotate(360deg)}}.sidebar .tree-drop-line{background:var(--accent-primary);height:2px;margin:0 var(--space-md);flex-shrink:0}.lesson-card[draggable=true]:active{cursor:grabbing}.main{background:var(--bg-primary);overflow:auto}.content-area{padding:var(--space-xl) var(--space-2xl) var(--space-xl) var(--space-lg);max-width:1400px;margin:0 auto}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--text-primary);text-align:left;margin:0 0 var(--space-xs)}.page-description{font-size:var(--text-sm);color:var(--text-secondary);text-align:left;margin:0}.page-description:empty{display:none}.toolbar{padding:var(--space-md) 0;margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.toolbar-left{align-items:center;gap:var(--space-xl);flex:1;min-width:0;display:flex}.search-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.search-icon{color:var(--text-placeholder);pointer-events:none;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)scaleX(-1)}.search-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);width:280px;height:40px;color:var(--text-primary);border-radius:10px;padding:0 16px 0 40px;font-size:14px;transition:all .2s}.search-input::placeholder{color:var(--text-muted);opacity:.7}.search-input:focus{background:var(--bg-primary);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.search-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent)}}.search-input:focus{outline:none}.toolbar-actions{align-items:center;gap:var(--space-lg);margin-left:auto;display:flex}.toolbar-select{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;display:inline-flex}.toolbar-select:hover{color:var(--text-primary)}.toolbar-selection-mode{background:var(--popover);position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(120%)}@supports (color:color-mix(in lab, red, red)){.toolbar-selection-mode{background:color-mix(in srgb, var(--popover) 85%, transparent)}}.toolbar-selection-mode{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);z-index:1000;opacity:0;pointer-events:none;border-radius:20px;align-items:center;gap:8px;padding:8px;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d}.toolbar-selection-mode:not([hidden]){opacity:1;pointer-events:auto;display:flex;transform:translate(-50%)translateY(0)}.toolbar-selection-info{border-right:1px solid var(--border);margin-right:4px;padding:0 16px}.toolbar-counter{color:var(--text-primary);white-space:nowrap;font-size:14px;font-weight:600}.toolbar-selection-actions{align-items:center;gap:4px;display:flex}.btn-toolbar-pill{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-toolbar-pill svg{opacity:.7;transition:transform .2s}.btn-toolbar-pill:hover{background:var(--secondary)}.btn-toolbar-pill:hover svg{opacity:1;transform:translateY(-1px)}.btn-toolbar-pill.danger{color:var(--destructive)}.btn-toolbar-pill.danger:hover{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-pill.danger:hover{background:color-mix(in srgb, var(--destructive) 10%, transparent)}}.toolbar-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.toolbar.selection-mode .toolbar-select{display:none}.toolbar.selection-mode .toolbar-left{justify-content:flex-start}.toolbar.selection-mode .toolbar-actions{margin-left:0}.card-grid{gap:var(--space-xl);padding:var(--space-lg) 0;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.lesson-card{border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border-subtle);width:100%;max-width:240px;transition:var(--transition);cursor:pointer;overflow:hidden}.lesson-card:hover{border-color:var(--border-focus);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.lesson-card .card-thumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-elevated) 100%);color:var(--text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex;position:relative}.lesson-card .card-thumb .card-menu{top:var(--space-sm);right:var(--space-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);width:28px;height:28px;color:var(--text-primary);cursor:pointer;letter-spacing:.02em;background:#0000000d;border:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute}.external-card{font-size:10px;font-weight:var(--weight-bold);background:var(--destructive);color:var(--destructive-foreground);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--destructive);opacity:.9;border-radius:3px;padding:1px 4px;line-height:1}.lesson-context-menu{z-index:1100;background:var(--overlay-context);border-radius:var(--radius-sm);min-width:160px;padding:var(--space-xs);position:fixed;box-shadow:0 4px 12px #00000080}.context-menu-item{align-items:center;gap:var(--space-sm);width:100%;height:36px;padding:0 var(--space-md);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:1px solid #0000;display:flex}.context-menu-item:hover{background:var(--bg-elevated);border-color:var(--border-medium)}.context-menu-item svg{flex-shrink:0}.context-menu-item-danger{color:var(--accent-danger)}.context-menu-item-danger:hover{background:#ff00001a}.lesson-card .card-content{padding:var(--space-md);flex-direction:column;gap:4px;display:flex}.card-header-flex{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.card-header-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-header-info{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.lesson-card .card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.card-type{font-size:var(--text-xs);color:var(--text-secondary);display:block}.card-lang{font-size:10px;font-weight:var(--weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;opacity:.8;border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;line-height:1}.card-difficulty{font-size:10px;font-weight:var(--weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.lesson-card .card-meta{font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--border-subtle);padding-top:var(--space-xs);justify-content:space-between;align-items:center;margin:auto 0 0;display:flex}.card-meta-left{font-weight:var(--weight-medium);color:var(--text-secondary)}.card-meta-right{color:var(--text-muted)}.lesson-card.selectable{position:relative}.lesson-card .card-checkbox{top:var(--space-sm);left:var(--space-sm);z-index:2;cursor:pointer;width:20px;height:20px;accent-color:var(--accent-primary);margin:0;position:absolute}.modal-backdrop{background:var(--overlay-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;padding:var(--space-2xl);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.manage-folders-modal{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:800px;min-height:520px;max-height:720px;padding:var(--space-3xl);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 32px #0009}.modal-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl);flex-shrink:0;display:flex}.modal-icon{font-size:32px;line-height:1}.modal-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary);flex:1;margin:0}.modal-close{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.folder-manager-layout{gap:var(--space-2xl);flex:1;grid-template-columns:350px 1fr;min-height:0;display:grid;overflow:hidden}.folder-manager-list-wrap{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-direction:column;min-width:350px;min-height:350px;display:flex;position:relative}.folder-manager-list-header{padding:var(--space-sm) var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.folder-manager-list-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.folder-manager-new-btn{font-size:var(--text-sm);color:var(--text-secondary)}.folder-manager-new-btn:hover{color:var(--text-primary)}.folder-manager-list-scroll{min-width:350px;min-height:400px;max-height:400px;padding:var(--space-sm);flex:1;position:relative;overflow:hidden auto}.folder-manager-list-scroll .folder-manager-drop-indicator{left:var(--space-md);right:var(--space-md);background:var(--accent-primary);pointer-events:none;opacity:0;height:2px;transition:opacity var(--transition-fast);z-index:2;position:absolute}.folder-manager-list-scroll .folder-manager-drop-indicator.visible{opacity:1}.folder-manager-items{min-height:0;max-height:200px;margin:0;padding:0;list-style:none}.folder-manager-list-scroll .folder-manager-items .folder-manager-items{margin-left:var(--space-xl)}.folder-manager-items li{margin:0}.folder-manager-item{width:100%;min-height:44px;padding:var(--space-md);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;align-items:center;display:flex}.folder-manager-item:hover{background:var(--bg-secondary)}.folder-manager-item.active{background:var(--bg-tertiary)}.folder-manager-item.nested{margin-left:var(--space-xl);font-size:var(--text-sm)}.folder-manager-item.dragging{opacity:.5}.folder-manager-item.drag-over{outline:2px solid var(--accent-primary);outline-offset:-2px}.folder-manager-edit{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-2xl);border:1px solid var(--border-subtle);overflow:auto}.edit-folder-heading{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 var(--space-xl)}.form-group-description{flex:1;min-width:0}.form-textarea-fixed{resize:none;width:100%;min-height:120px}.form-actions{gap:var(--space-md);margin-top:var(--space-2xl);flex-wrap:wrap;align-items:center;display:flex}.btn-danger-outline{height:44px;padding:var(--space-md) var(--space-xl);color:var(--accent-danger);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm);border:1px solid var(--accent-danger);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0}.btn-danger-outline:hover{background:var(--accent-danger);color:var(--text-primary)}.muted{font-size:var(--text-sm);color:var(--text-muted);margin:0}.folder-edit-form{display:block}.form-group{margin-bottom:var(--space-xl)}.form-group label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:var(--space-sm);display:block}.form-input,.form-textarea{width:100%;padding:var(--space-md);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--text-primary);font-family:inherit}.form-input{height:44px}.form-input:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none}.settings-color-input{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-primary);width:48px;height:44px;padding:2px}.settings-color-input:hover{border-color:var(--border-focus)}.form-textarea{min-height:120px}.form-textarea.form-textarea-fixed{resize:none}.form-actions{gap:var(--space-md);margin-top:var(--space-2xl);display:flex}.btn-primary{height:44px;padding:var(--space-md) var(--space-xl);background:var(--accent-primary);color:var(--bg-primary);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none}.btn-primary:hover{background:#e0e0e0}.btn-secondary{height:44px;padding:var(--space-md) var(--space-xl);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-medium);cursor:pointer;transition:var(--transition);background:0 0}.btn-secondary:hover{background:var(--bg-secondary)}.btn-text{color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:0 0;border:none}.btn-text:hover{color:var(--text-primary)}.btn-danger{color:var(--accent-danger)}.btn-danger:hover{color:var(--accent-danger-hover)}[hidden]{display:none!important}.theme-toggle{cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;align-items:center;width:52px;height:28px;padding:0;display:flex;position:relative}.theme-toggle-track{border-radius:999px;width:100%;height:100%;transition:background-color .3s;position:absolute;top:0;left:0}.theme-toggle-thumb{z-index:1;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:transform .3s cubic-bezier(.175,.885,.32,1.27),background-color .3s;display:flex;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000001a}.theme-icon-sun{color:#5d5d5d;transition:opacity .2s}.theme-icon-moon{color:#fff;opacity:0;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body.dark .theme-toggle-track{background-color:#6e56cf}body.dark .theme-toggle-thumb{background-color:#1a1f1f;transform:translate(24px)}body.dark .theme-icon-sun{opacity:0}body.dark .theme-icon-moon{opacity:1}.upload-drop-zone{background:var(--bg-tertiary);border:1px dashed var(--border-medium);border-radius:var(--radius-md);text-align:center;width:100%;height:200px;color:var(--text-muted);cursor:pointer;transition:var(--transition);margin-bottom:var(--space-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.upload-drop-zone:hover{border-color:var(--text-secondary);color:var(--text-secondary);background:var(--bg-secondary)}.upload-content{pointer-events:none}.upload-label-main{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.upload-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.upload-drop-zone.has-file{background:var(--bg-secondary);padding:var(--space-md);cursor:default;border-style:solid;justify-content:flex-start;align-items:stretch}.upload-drop-zone.has-file .upload-content{display:none}.uploaded-file-chip{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:var(--text-sm);justify-content:space-between;align-items:center;height:auto;min-height:40px;display:flex}.uploaded-file-chip .remove-file-btn{margin-left:var(--space-sm);color:var(--text-muted);opacity:.7;background:0 0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;display:flex;position:static;transform:none}.uploaded-file-chip .remove-file-btn:hover{opacity:1;color:var(--text-primary);background:0 0}.folder-select-container{position:relative}.custom-select-trigger{text-align:left;width:100%}.custom-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-lg);z-index:100;flex-direction:column;max-height:300px;margin-top:4px;display:flex;position:absolute;top:100%;left:0;overflow:hidden auto}.custom-dropdown-menu[hidden]{display:none}.dropdown-list-scroll{min-height:0;max-height:200px;padding:var(--space-xs) 0;overflow:hidden auto}.dropdown-tree{margin:0;padding:0;list-style:none}.dropdown-tree .folder-manager-item{padding:var(--space-xs) var(--space-md);align-items:center;gap:var(--space-sm);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;font-size:var(--text-sm);background:0 0;border:none;transition:background .1s;display:flex}.dropdown-tree .folder-manager-item:hover{background:var(--bg-tertiary)}.dropdown-tree .folder-manager-item.active{background:var(--bg-tertiary);color:var(--accent-primary)}.block-editor-container{width:100%;margin-bottom:var(--space-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:var(--space-sm);background:var(--bg-secondary)}.block-editor-list{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-direction:column;min-height:250px;max-height:250px;display:flex;overflow:visible auto}.editor-block{padding:var(--space-sm);border-radius:var(--radius-sm);border:1px solid #0000;transition:background .2s,border-color .2s;position:relative}.editor-block:hover{background:var(--bg-tertiary);border-color:var(--border-subtle)}.editor-block-input{width:100%;color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-base);resize:none;background:0 0;border:none;outline:none;min-height:fit-content;display:block;overflow:hidden}.editor-block.header .editor-block-input{font-size:var(--text-2xl);text-align:center;font-weight:700}.editor-block.comment .editor-block-input{color:var(--text-muted);text-align:center;font-style:italic}.block-menu-trigger{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:9px;right:4px}.editor-block:hover .block-menu-trigger,.block-menu-trigger[aria-expanded=true]{opacity:1}.block-menu-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.block-options-menu{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-md);width:160px;box-shadow:var(--shadow-lg);z-index:1000;color:var(--text-primary);flex-direction:column;padding:4px;display:flex;position:fixed}.block-options-menu[hidden]{display:none}.block-option-item{cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-sm);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;transition:background .2s,border-color .2s;display:flex}.block-option-item:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.block-option-item.danger:hover{color:var(--accent-danger);background:var(--bg-danger-subtle)}.add-block-btn{color:var(--text-muted);margin-left:0;padding-left:0}.add-block-btn:hover{color:var(--text-primary)}.reader-editor-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:800px;box-shadow:var(--shadow-sm);margin:24px auto 0;padding:24px}.reader-editor-container .block-editor-list{min-height:70vh;padding-bottom:24px;padding-right:8px;overflow-y:auto}.editor-block.reader-mode{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:16px;margin-bottom:12px;padding:24px;display:flex;position:relative}.editor-block.reader-mode:hover{border-color:var(--border-medium);background:var(--bg-tertiary);box-shadow:none;transform:none}.block-row{flex-direction:column;gap:8px;display:flex}.block-label{display:none}.reader-input{width:100%;color:var(--text-primary);resize:none;background:0 0;border:none;border-radius:0;min-height:28px;padding:4px 0;font-family:inherit;font-size:1rem;line-height:1.6;overflow:hidden}.reader-input:focus{box-shadow:none;outline:none}.reader-input::placeholder{color:var(--text-muted);opacity:.7}.reader-input.original{font-size:1.1rem;font-weight:500}.reader-input.translated{color:var(--text-secondary);font-size:1rem}.editor-add-actions{justify-content:flex-start;padding:12px 0;display:flex}.add-block-btn{color:var(--text-muted);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:8px 12px;font-size:.95rem;transition:all .2s;display:flex}.add-block-btn:hover{color:var(--text-primary);background:var(--bg-tertiary);text-decoration:none}.editor-block.reader-mode.header,.editor-block.reader-mode.comment{background:var(--bg-secondary);border-style:dashed;gap:0;padding:16px}.editor-block.reader-mode.header .reader-input.original,.editor-block.reader-mode.comment .reader-input.original{text-align:center;color:var(--accent-primary);opacity:.9;font-weight:700}.editor-block.reader-mode.comment .reader-input.original{color:var(--text-muted);font-style:italic;font-weight:400}.editor-block.reader-mode.header .reader-input.translated,.editor-block.reader-mode.comment .reader-input.translated{display:none}.reader-main{flex-direction:column;height:100%;display:flex;overflow:hidden}.reader-header{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;align-items:center;gap:1rem;padding:1rem 2rem;display:flex}.back-btn{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.back-btn:hover{background:var(--secondary-hover,var(--secondary));transform:translate(-2px)}.back-btn svg{flex-shrink:0}.reader-title{color:var(--foreground);flex:1;margin:0;font-size:1.5rem;font-weight:600}.reader-controls{gap:.5rem;display:flex}.sentence-block{border-radius:var(--radius);background:var(--card);cursor:pointer;border:1px solid #0000;margin-bottom:1.5rem;padding:1rem;transition:all .2s}.sentence-block:hover{border-color:var(--border);background:var(--secondary)}.sentence-text{color:var(--foreground);margin-bottom:.5rem;font-size:1.125rem;line-height:1.75}.translated-text{color:var(--muted-foreground);border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem;font-size:.9375rem;font-style:italic;line-height:1.6}.header-block{margin:2rem 0 1rem}.header-block h2{color:var(--foreground);margin:0;font-size:1.75rem;font-weight:600}.header-block h3{color:var(--foreground);margin:0;font-size:1.5rem;font-weight:600}.reader-pdf-container,.reader-epub-container{background:var(--card);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex}.reader-pdf-container iframe,.reader-epub-container iframe{border-radius:var(--radius);border:none;width:100%;height:100%}.reader-loading{height:100%;color:var(--muted-foreground);justify-content:center;align-items:center;font-size:1.125rem;display:flex}@media (max-width:768px){.reader-container{grid-template-columns:1fr}.reader-sidebar{display:none}.reader-header{padding:1rem}.reader-title{font-size:1.25rem}.reader-content{padding:1rem}.sentence-text{font-size:1rem}}.lesson-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s;position:relative;overflow:hidden}.lesson-card[draggable=true]{cursor:pointer}.lesson-card:hover{box-shadow:var(--shadow-md);border-color:var(--ring);transform:translateY(-2px)}.lesson-card:active{cursor:grabbing}.lesson-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--ring)}.card-thumb{background:var(--muted);height:140px;color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.875rem;display:flex;position:relative}.card-thumb img{object-fit:cover;width:100%;height:100%}.card-content{padding:1rem}.card-title{color:var(--card-foreground);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .5rem;font-size:1.125rem;font-weight:600;overflow:hidden}.card-meta{color:var(--muted-foreground);justify-content:space-between;margin-top:.75rem;font-size:.75rem;display:flex}.card-lang,.card-difficulty{background:var(--secondary);color:var(--secondary-foreground);border-radius:.25rem;margin-right:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:500;display:inline-block}.card-menu{color:#fff;cursor:pointer;opacity:0;z-index:20;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.lesson-card:hover .card-menu{opacity:1}.back-btn{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);transition:background .2s}.back-btn:hover{background:var(--bg-tertiary)}.reader-title{font-size:var(--text-xl);color:var(--text-primary);font-weight:700}.loading-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.loading-spinner{border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);width:40px;height:40px;margin:0 auto var(--space-md);border-radius:50%;animation:1s linear infinite spin}.reader-sentence{margin-bottom:var(--space-lg)}.reader-sentence-header{text-align:center;margin-top:var(--space-2xl);margin-bottom:var(--space-xl);color:var(--text-primary);font-size:1.5rem;font-weight:bolder}.reader-sentence-comment{text-align:center;color:var(--text-muted);margin-bottom:var(--space-lg);font-size:1rem;font-style:italic;line-height:1.5}.reader-sentence-original{color:var(--text-primary);font-size:1.125rem;line-height:1.8}.reader-sentence-text{flex:1}.reader-sentence-action-btn{z-index:2147483647;background:var(--primary);width:28px;height:28px;color:var(--primary-foreground);cursor:pointer;opacity:1;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s,transform .15s;display:inline-flex;position:fixed;box-shadow:0 2px 8px #0000004d}.reader-sentence-action-btn:hover{transform:scale(1.1)}.reader-sentence-action-btn svg{display:block}.reader-sentence-action-btn[hidden]{display:none}.reader-page-indicator{text-align:center;font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-sm) var(--space-md);z-index:2147483647;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;min-height:32px;display:flex;position:fixed;bottom:125px;transform:translate(-50%)}.reader-page-indicator[hidden]{display:none}.reader-content.reader-content-paged{overscroll-behavior:none;touch-action:none;flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.reader-paged-viewport{overscroll-behavior:none;flex:1;min-height:0;padding-bottom:16px;display:flex;position:relative;overflow:hidden}.reader-page-nav{cursor:pointer;width:56px;color:var(--text-muted);z-index:2;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.reader-page-nav:hover{color:var(--text-primary);background:#0000000f}.dark .reader-page-nav:hover{background:#ffffff14}.reader-page-nav svg{flex-shrink:0;width:28px;height:28px}.reader-page-nav:disabled,.reader-page-nav[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}.reader-paged-center{overscroll-behavior:none;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.reader-pages-stack{pointer-events:none;width:100%;height:100%;transition:transform .2s ease-out;display:flex;position:absolute;top:0;left:0;overflow:visible}.reader-pages-stack .reader-page{pointer-events:auto}.reader-page{flex:0 0 calc(100% / var(--reader-total-pages,1));width:calc(100% / var(--reader-total-pages,1));overscroll-behavior:none;flex-direction:column;height:100%;display:flex;overflow:hidden}.reader-page-inner{padding:var(--space-xl) var(--space-2xl);overscroll-behavior:none;flex:1;width:100%;max-width:800px;min-height:0;margin:0 auto;overflow:hidden}.reader-page-measure{visibility:hidden;pointer-events:none;position:absolute;left:-9999px}.progress-bar{background:var(--bg-tertiary);z-index:100;height:4px;position:absolute;bottom:0;left:0;right:0}.progress-fill{background:var(--primary);width:0%;height:100%;transition:width .1s}.error-state{text-align:center;padding:var(--space-2xl);color:var(--destructive)}.error-state button{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600}.reader-layout{flex:1;height:calc(100vh - 60px);display:flex;position:relative;overflow:hidden}.reader-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);width:280px;padding:var(--space-lg);flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s,opacity .2s;overflow:hidden auto}.reader-sidebar.collapsed{border-right:none;width:0;padding:0;overflow:visible}.reader-sidebar.collapsed .reader-sidebar-title,.reader-sidebar.collapsed .reader-toc,.reader-sidebar.collapsed .reader-sidebar-panel-heading,.reader-sidebar.collapsed .sidebar-header-list,.reader-sidebar.collapsed .text-muted,.reader-sidebar.collapsed>p{display:none!important}.reader-sidebar-panel-heading{text-align:center;color:var(--foreground);padding:0 0 var(--space-md);margin:0 0 var(--space-md);border-bottom:1px solid var(--border);font-size:1.125rem;font-weight:400}.reader-sidebar h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-md)}.sidebar-toggle{background:var(--background);border:1px solid var(--border);cursor:pointer;z-index:10;width:24px;height:24px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;margin-left:-12px;padding:0;transition:left .3s cubic-bezier(.4,0,.2,1),transform .3s,background .2s,color .2s;display:flex;position:absolute;top:50%;left:280px;transform:translateY(-50%);box-shadow:0 1px 3px #0000001a}.sidebar-toggle:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.sidebar-toggle svg{transition:transform .3s}.reader-sidebar.collapsed+.sidebar-toggle{margin-left:0;left:0;transform:translateY(-50%)translate(50%)}.reader-sidebar.collapsed+.sidebar-toggle svg{transform:rotate(180deg)}.reader-main{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.reader-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);align-items:center;gap:var(--space-md);display:flex;overflow:visible}.reader-controls{overflow:visible}.tts-settings-popover{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);z-index:100;flex-direction:column;gap:12px;width:260px;margin-top:8px;padding:16px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.tts-setting-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 4px;font-size:11px;font-weight:600}.tts-fallback-details{color:var(--text-secondary);font-size:12px}.tts-fallback-details summary{cursor:pointer;font-weight:500}.tts-fallback-details[open] .tts-setting-row{margin-top:8px}.tts-setting-group{flex-direction:column;gap:4px;display:flex}.tts-setting-group label{color:var(--text-muted);font-size:12px;font-weight:600}.tts-select{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;padding:6px;font-size:13px}.tts-setting-row{justify-content:space-between;gap:12px;display:flex}.tts-setting-row .tts-setting-group{flex:1}input[type=range]{cursor:pointer;width:100%;accent-color:var(--accent-primary)}.reader-settings-wrapper{position:relative}.reader-settings-dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);z-index:1000;flex-direction:column;gap:14px;width:280px;max-width:calc(100vw - 2rem);margin-top:8px;padding:12px 16px;display:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.reader-settings-dropdown.is-open{display:flex!important}.reader-settings-dropdown[hidden]{display:none}.reader-setting-item{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;display:flex}.reader-setting-label{color:var(--text-muted);flex-shrink:0;min-width:0;font-size:12px;font-weight:600}.reader-setting-select{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:var(--bg-secondary);min-width:120px;color:var(--text-primary);cursor:pointer;flex-shrink:0;padding:6px 10px;font-size:13px}.reader-setting-control{flex-shrink:0;align-items:center;gap:8px;display:flex}.reader-setting-color-input{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-primary);flex-shrink:0;width:36px;height:28px;padding:2px}.reader-setting-color-input:hover{border-color:var(--border-focus)}.reader-setting-color-value{color:var(--text-secondary);min-width:52px;font-size:12px}.reader-setting-placeholder{color:var(--text-muted);margin:0;font-size:13px}.reader-setting-item .bean-toggle{flex-shrink:0}.bean-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.bean-toggle-track{background:var(--muted);border-radius:9999px;align-items:center;width:44px;height:24px;padding:2px;transition:background .2s;display:inline-flex}.bean-toggle[aria-checked=true] .bean-toggle-track{background:var(--accent-primary)}.bean-toggle-thumb{background:var(--bg-primary);border-radius:50%;width:20px;height:20px;transition:transform .2s;box-shadow:0 1px 3px #0003}.bean-toggle[aria-checked=true] .bean-toggle-thumb{transform:translate(20px)}.bean-toggle:hover .bean-toggle-track{filter:brightness(.95)}.bean-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:9999px}.edit-dropdown-popover{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;min-width:180px;margin-top:8px;padding:4px 0;display:flex;position:absolute;top:100%;right:0}.edit-dropdown-popover[hidden]{display:none}.edit-dropdown-popover .dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 16px;font-size:14px;transition:background-color .2s;display:flex}.edit-dropdown-popover .dropdown-item:hover{background:var(--bg-hover)}.sentence-block.editing{background:var(--bg-tertiary);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.edit-mode-group{flex-direction:column;gap:4px;width:100%;display:flex}.edit-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.edit-textarea{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);width:100%;min-height:60px;color:var(--text-primary);resize:vertical;padding:8px;font-family:inherit;font-size:1rem;line-height:1.5}.edit-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-alpha);outline:none}.edit-actions{justify-content:flex-end;margin-top:4px;display:flex}.text-content.muted,.translated-text.muted{opacity:.6}.btn-icon-save{background:var(--bg-secondary);border:1px solid var(--border-medium);width:36px;height:36px;color:var(--accent-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon-save:hover{background:var(--accent-primary-alpha);border-color:var(--accent-primary);transform:scale(1.05)}.btn-icon-save:active{transform:scale(.95)}.textarea-wrapper{width:100%;height:fit-content;position:relative}.edit-textarea{padding-bottom:32px;padding-right:48px}.btn-icon-save.absolute-save{background:var(--bg-secondary);border:1px solid var(--border-medium);opacity:.9;width:32px;height:32px;position:absolute;bottom:20px;right:8px;box-shadow:0 2px 5px #0000001a}.btn-icon-save.absolute-save:hover{opacity:1;transform:scale(1.05)}.reader-content{padding:var(--space-xl) var(--space-2xl);flex:1;width:100%;max-width:800px;margin:0 auto;padding-bottom:110px;overflow-y:auto}.reader-content.reader-font-small{font-size:.875rem}.reader-content.reader-font-medium{font-size:1rem}.reader-content.reader-font-large{font-size:1.125rem}.reader-content .reader-sentence-original{font-size:1.125em}.reader-content .reader-sentence-header .reader-sentence-original{font-size:1.5em}.reader-content .reader-sentence-comment .reader-sentence-original{font-size:1em}.reader-content .reader-sentence-translation{font-size:.9em}.reader-content .interactive-word{border-radius:.2em;padding:0 .15em}.interactive-word{cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;padding:0 2px;transition:border-color .15s,background-color .15s}.interactive-word:hover{border-color:var(--primary)}.word-popover{z-index:1000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);min-width:300px;max-width:350px;padding:var(--space-lg);box-shadow:var(--shadow-lg);color:var(--foreground);position:fixed}.word-popover-main-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.word-popover-header-actions{align-items:center;gap:var(--space-xs);display:flex}.word-popover-main-title{color:var(--muted-foreground);font-size:1rem;font-weight:600}.word-popover-icon-btn,.word-popover-delete-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.word-popover-icon-btn:hover,.word-popover-delete-btn:hover{background:var(--muted);color:var(--foreground)}.word-popover-delete-btn:hover{color:var(--destructive)}.word-popover-fields{gap:var(--space-md);margin-bottom:var(--space-md);flex-direction:column;display:flex}.word-popover-field{gap:var(--space-xs);flex-direction:column;display:flex}.word-popover-field-translation .word-popover-input-box-full{width:100%;min-width:0}.word-popover-label{font-size:var(--text-sm);color:var(--muted-foreground);display:block}.word-popover-input-box{align-items:center;gap:var(--space-sm);min-height:40px;padding:var(--space-sm) var(--space-md);background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.word-popover-input-text{min-width:0;color:var(--foreground);flex:1;font-size:.9375rem}.word-popover-chip{background:var(--primary);color:var(--primary-foreground);border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.word-popover-phonetic-chip{background:var(--muted);color:var(--muted-foreground);font-style:italic;font-weight:500}.word-popover-tts-btn{background:var(--muted);width:28px;height:28px;color:var(--foreground);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.word-popover-tts-btn:hover{background:var(--accent);color:var(--accent-foreground)}.word-popover-section{margin-bottom:var(--space-md)}.word-popover-definition-box{color:var(--foreground);padding:var(--space-md);background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:60px;font-size:.9375rem;line-height:1.5}.word-popover-context-section .word-popover-label{margin-top:var(--space-sm)}.word-popover-context-section .word-popover-label:first-child{margin-top:0}.word-popover-meta{color:var(--muted-foreground);margin-bottom:var(--space-xs);font-size:.875rem}.word-popover-learning-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.word-popover-context-box{color:var(--foreground);padding:var(--space-sm) var(--space-md);background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;font-size:.875rem;font-style:italic;line-height:1.4;overflow-x:auto}.word-popover-word-details{margin-bottom:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.word-popover-word-details-header{width:100%;padding:var(--space-sm) var(--space-md);color:var(--muted-foreground);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;font-weight:600;transition:background .2s,color .2s;display:flex}.word-popover-word-details-header:hover{background:var(--muted);color:var(--foreground)}.word-popover-word-details-title{flex:1}.word-popover-word-details-chevron{transition:transform .2s;display:inline-flex}.word-popover-word-details.collapsed .word-popover-word-details-chevron{transform:rotate(-180deg)}.word-popover-word-details-body{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--border)}.word-popover-word-details.collapsed .word-popover-word-details-body{display:none}.word-popover-examples{margin-bottom:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.word-popover-examples-header{width:100%;padding:var(--space-sm) var(--space-md);color:var(--muted-foreground);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;font-weight:600;transition:background .2s,color .2s;display:flex}.word-popover-examples-header:hover{background:var(--muted);color:var(--foreground)}.word-popover-examples-title{flex:1}.word-popover-examples-chevron{transition:transform .2s;display:inline-flex}.word-popover-examples.collapsed .word-popover-examples-chevron{transform:rotate(-180deg)}.word-popover-examples-body{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--border)}.word-popover-examples.collapsed .word-popover-examples-body{display:none}.word-popover-examples-list{margin:0;padding:0;list-style:none}.word-popover-examples-list li{padding:var(--space-xs) 0;color:var(--foreground);font-size:.9375rem}.word-popover-examples-list li:last-child{padding-bottom:0}.word-popover-familiarity{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.word-popover-familiarity .word-popover-label{margin-bottom:var(--space-sm);align-items:center;gap:6px;display:inline-flex}.word-popover-info-container{cursor:help;display:inline-flex;position:relative}.word-popover-info-icon{color:var(--muted-foreground);flex-shrink:0}.word-popover-familiarity-tooltip{min-width:160px;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);box-shadow:var(--shadow-md);z-index:10;margin-bottom:6px;font-size:12px;display:none;position:absolute;bottom:100%;left:0}.word-popover-info-container:hover .word-popover-familiarity-tooltip{display:block}.word-popover-familiarity-tooltip-title{color:var(--foreground);margin-bottom:6px;font-weight:600}.word-popover-familiarity-tooltip-list{color:var(--muted-foreground);line-height:1.6}.word-popover-familiarity-row{align-items:center;gap:var(--space-sm);width:100%;min-width:0;display:flex}.word-popover-familiarity-row .word-popover-familiarity-meter{flex:1;min-width:0}.word-popover-familiarity-row .word-popover-delete-btn{flex-shrink:0}.word-popover-familiarity-meter{gap:2px;display:flex}.word-popover-familiarity-seg{text-align:center;background:var(--muted);min-width:36px;color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:6px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.word-popover-familiarity-seg:hover{background:var(--accent);color:var(--accent-foreground)}.word-popover-familiarity-seg.active{background:var(--primary);color:var(--primary-foreground)}.interactive-word.saved-word{background:var(--saved-word-highlight-color)}@supports (color:color-mix(in lab, red, red)){.interactive-word.saved-word{background:color-mix(in srgb, var(--saved-word-highlight-color) calc(var(--saved-word-highlight-alpha,.5) * 100%), transparent)}}.interactive-word.saved-word[data-mastery="1"]{--saved-word-highlight-alpha:.5}.interactive-word.saved-word[data-mastery="2"]{--saved-word-highlight-alpha:.3}.interactive-word.saved-word[data-mastery="3"]{--saved-word-highlight-alpha:.2}.interactive-word.saved-word[data-mastery="4"]{--saved-word-highlight-alpha:.1}.saved-phrase-wrap{--saved-phrase-highlight-alpha:.5;display:inline;position:relative}.saved-phrase-wrap[data-mastery="1"]{--saved-phrase-highlight-alpha:.5}.saved-phrase-wrap[data-mastery="2"]{--saved-phrase-highlight-alpha:.3}.saved-phrase-wrap[data-mastery="3"]{--saved-phrase-highlight-alpha:.2}.saved-phrase-wrap[data-mastery="4"]{--saved-phrase-highlight-alpha:.1}.saved-phrase-wrap .saved-phrase{--saved-phrase-highlight-alpha:.5;border-bottom:2px solid var(--saved-phrase-highlight-color,#93c5fd)}@supports (color:color-mix(in lab, red, red)){.saved-phrase-wrap .saved-phrase{border-bottom:2px solid color-mix(in srgb, var(--saved-phrase-highlight-color,#93c5fd) calc(var(--saved-phrase-highlight-alpha,.5) * 100%), transparent)}}.saved-phrase-wrap .saved-phrase{cursor:default;padding-bottom:2px;transition:border-bottom-width .1s,border-bottom-color .1s;display:inline}.saved-phrase-wrap .saved-phrase:hover{border-bottom-width:4px}.saved-phrase-wrap .saved-phrase[data-mastery="1"]{--saved-phrase-highlight-alpha:.5}.saved-phrase-wrap .saved-phrase[data-mastery="2"]{--saved-phrase-highlight-alpha:.3}.saved-phrase-wrap .saved-phrase[data-mastery="3"]{--saved-phrase-highlight-alpha:.2}.saved-phrase-wrap .saved-phrase[data-mastery="4"]{--saved-phrase-highlight-alpha:.1}.saved-phrase-wrap .saved-phrase .interactive-word{cursor:pointer}.saved-phrase-trigger{height:18px;color:var(--background,#fff);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .3s .1s;display:flex;position:absolute;bottom:-1px;left:0;right:0;transform:translateY(100%)}.saved-phrase-trigger-follow{background:var(--saved-phrase-highlight-color,#93c5fd);border-radius:7px;width:28px;height:14px;position:absolute;left:0}@supports (color:color-mix(in lab, red, red)){.saved-phrase-trigger-follow{background:color-mix(in srgb, var(--saved-phrase-highlight-color,#93c5fd) calc(var(--saved-phrase-highlight-alpha,.5) * 100%), transparent)}}.saved-phrase-trigger-follow{pointer-events:none;justify-content:center;align-items:center;transition:left 50ms ease-out;display:inline-flex;box-shadow:0 1px 2px #0000001f}.saved-phrase-trigger-follow svg{color:var(--background,#fff);flex-shrink:0}.saved-phrase-wrap:hover .saved-phrase-trigger{opacity:1;pointer-events:auto;transition:opacity .15s}.saved-phrase-trigger:hover .saved-phrase-trigger-follow{filter:brightness(1.1)}.saved-phrase-trigger:focus{opacity:1;pointer-events:auto;outline-offset:1px}.saved-phrase-trigger:active{border:none;outline:none}.reader-bottom-textbox{z-index:2147483646;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100vw - 32px);box-shadow:var(--shadow-lg);color:var(--foreground);padding:var(--space-lg);font-size:.875rem;line-height:1.5;display:block;position:fixed;bottom:16px}.reader-bottom-textbox-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.reader-bottom-textbox-title{color:var(--muted-foreground);font-size:1rem;font-weight:600}.reader-bottom-textbox-icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.reader-bottom-textbox-icon-btn:hover{background:var(--muted);color:var(--foreground)}.reader-bottom-textbox-field{margin-bottom:var(--space-md)}.reader-bottom-textbox-field-combined .reader-bottom-textbox-translation{color:var(--text-muted);opacity:.75;font-size:.8125rem}.reader-bottom-textbox-field-combined .reader-bottom-textbox-input-wrap{border-radius:var(--radius);background:var(--bg-tertiary);min-height:auto}.reader-bottom-textbox-field-combined .reader-bottom-textbox-scroll-wrap{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex;overflow:auto hidden}.reader-bottom-textbox-field-combined .reader-bottom-textbox-row{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.reader-bottom-textbox-field-combined .reader-bottom-textbox-row .reader-bottom-textbox-text{white-space:nowrap;min-height:auto;line-height:28px;display:block}.reader-bottom-textbox-field-combined .reader-bottom-textbox-tts-btn{background:var(--muted);width:28px;height:28px;color:var(--foreground);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex;position:static}.reader-bottom-textbox-field-combined .reader-bottom-textbox-tts-btn:hover{background:var(--accent);color:var(--accent-foreground)}.reader-bottom-textbox-label{font-size:var(--text-sm);color:var(--muted-foreground);margin-bottom:var(--space-xs);display:block}.reader-bottom-textbox-label-row{margin-bottom:0}.reader-bottom-textbox-input-wrap{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;padding:10px;position:relative}.reader-bottom-textbox-text{color:var(--foreground);word-break:break-word;min-height:1.4em;font-size:.9375rem;line-height:1.4;display:block}.reader-bottom-textbox-translation{color:var(--text-secondary)}.reader-bottom-textbox-tts-btn{top:var(--space-sm);right:var(--space-sm);background:var(--muted);width:28px;height:28px;color:var(--foreground);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex;position:absolute}.reader-bottom-textbox-tts-btn:hover{background:var(--accent);color:var(--accent-foreground)}.reader-bottom-textbox-tts-btn svg{display:block}.reader-bottom-textbox-footer{padding-top:var(--space-md)}.reader-bottom-textbox-footer-row{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.reader-bottom-textbox-meter{flex:1;gap:2px;min-width:0;display:flex}.reader-bottom-textbox-seg{text-align:center;background:var(--muted);min-width:36px;color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:6px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.reader-bottom-textbox-seg:hover{background:var(--accent);color:var(--accent-foreground)}.reader-bottom-textbox-seg.active{background:var(--primary);color:var(--primary-foreground)}.reader-bottom-textbox-delete-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.reader-bottom-textbox-delete-btn:hover{background:var(--muted);color:var(--destructive)}.reader-bottom-textbox-icon-btn.loading,.phrase-popup-icon-btn.loading{animation:.6s linear infinite spin}.reader-editor-container:not([hidden])~.reader-bottom-textbox,.reader-editor-container:not([hidden])~.reader-sentence-action-btn{display:none!important}.reader-sentence-paragraph .reader-sentence-original,.reader-sentence-paragraph .reader-sentence-text{display:inline}.reader-sentence-paragraph+.reader-sentence-paragraph{margin-top:.5em}.phrase-popup{z-index:1000;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);min-width:320px;max-width:420px;padding:var(--space-lg);box-shadow:var(--shadow-lg);color:var(--foreground);position:fixed}.phrase-popup-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.phrase-popup-title{color:var(--muted-foreground);margin:0;font-size:1rem;font-weight:600}.phrase-popup-delete-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.phrase-popup-delete-btn:hover{background:var(--muted);color:var(--destructive)}.phrase-popup-field,.phrase-popup-field:last-of-type,.phrase-popup-familiarity{margin-bottom:var(--space-md)}.phrase-popup-last{margin-bottom:0}.phrase-popup-familiarity-row{align-items:center;gap:8px;display:flex}.phrase-popup-familiarity-meter{gap:2px;display:flex}.phrase-popup-familiarity-seg{text-align:center;min-width:64px;font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);color:var(--muted-foreground);cursor:pointer;flex:1;padding:4px;transition:background .2s,color .2s}.phrase-popup-familiarity-seg:hover{background:var(--accent);color:var(--accent-foreground)}.phrase-popup-familiarity-seg.active{background:var(--primary);color:var(--primary-foreground)}.phrase-popup-label{font-size:var(--text-sm);color:var(--muted-foreground);margin-bottom:var(--space-xs);display:block}.phrase-popup-input-wrap{min-height:44px;padding:var(--space-sm) 44px var(--space-sm) var(--space-md);background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);position:relative}.phrase-popup-input-text{color:var(--foreground);min-height:1.4em;font-size:.9375rem;line-height:1.4;display:block}.phrase-popup-tts-btn{top:var(--space-sm);right:var(--space-sm);background:var(--muted);width:28px;height:28px;color:var(--foreground);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex;position:absolute}.phrase-popup-tts-btn:hover{background:var(--accent);color:var(--accent-foreground)}.phrase-popup-save-btn{width:100%;max-width:240px;padding:var(--space-md) var(--space-xl);color:var(--foreground);border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;margin:0 auto;font-size:.9375rem;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:block}.phrase-popup-save-btn:hover{background:var(--muted);border-color:var(--foreground)}.sidebar-header-list{flex-direction:column;gap:0;padding:0;display:flex}.sidebar-header-item{color:var(--muted-foreground);cursor:pointer;padding:10px var(--space-lg);margin:0 calc(-1 * var(--space-lg));border-radius:0;font-size:14px;transition:color .2s,background .2s}.sidebar-header-item:hover,.sidebar-header-item.active{color:var(--foreground);background:var(--bg-tertiary)}:root{--textpro-underline-color:#7171c699;--textpro-underline-hover:#7171c6f2;--textpro-action-bg:#7171c6;--textpro-action-fg:#fff}.textpro-sentence{white-space:pre-wrap;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--textpro-underline-color);-webkit-text-decoration-color:var(--textpro-underline-color);text-decoration-color:var(--textpro-underline-color);cursor:text;text-decoration-thickness:1px;transition:text-decoration-color .15s,text-decoration-thickness .15s;display:inline}.textpro-sentence:hover{-webkit-text-decoration-color:var(--textpro-underline-hover)!important;-webkit-text-decoration-color:var(--textpro-underline-hover)!important;text-decoration-color:var(--textpro-underline-hover)!important;text-decoration-thickness:2px!important}#textpro-sentence-action{z-index:2000;background-color:var(--textpro-action-bg);width:22px;height:22px;color:var(--textpro-action-fg);cursor:pointer;box-sizing:border-box;pointer-events:auto;border-radius:4px;padding:4px;display:none;position:fixed}#textpro-sentence-action.visible{display:inline-block}#textpro-sentence-action svg{fill:currentColor;width:100%;height:100%;display:block}.vocab-practice-mode-container{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:250px;animation:.3s ease-in-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.vocab-practice-matching-hint,.vocab-practice-mcq-hint{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-lg);text-align:center}.vocab-practice-matching-grid{gap:var(--space-2xl);width:100%;max-width:600px;display:flex}.vocab-practice-matching-col{gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.vocab-practice-matching-term,.vocab-practice-matching-trans{padding:var(--space-md);background:var(--bg-tertiary);border:2px solid var(--border-medium);border-radius:var(--radius-md);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.vocab-practice-matching-term{border-style:dashed}.vocab-practice-matching-term.matched{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocab-practice-matching-term.matched{background:color-mix(in srgb, var(--primary) 10%, var(--bg-tertiary))}}.vocab-practice-matching-term.matched{border-color:var(--primary);color:var(--primary);border-style:solid}.vocab-practice-matching-term.incorrect{border-color:var(--destructive);background:var(--destructive);animation:.4s shake}@supports (color:color-mix(in lab, red, red)){.vocab-practice-matching-term.incorrect{background:color-mix(in srgb, var(--destructive) 10%, var(--bg-tertiary))}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.vocab-practice-matching-trans{cursor:grab;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.vocab-practice-matching-trans:active{cursor:grabbing}.vocab-practice-mcq-top{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.vocab-practice-mcq-play{background:var(--primary);width:64px;height:64px;color:var(--primary-foreground);cursor:pointer;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex}.vocab-practice-mcq-play:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.vocab-practice-mcq-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;width:100%;max-width:500px;display:grid}.vocab-practice-mcq-option{padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;transition:all .2s}.vocab-practice-mcq-option:hover{background:var(--bg-elevated);border-color:var(--primary)}.vocab-practice-mcq-option.correct{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocab-practice-mcq-option.correct{background:color-mix(in srgb, var(--primary) 15%, var(--bg-tertiary))}}.vocab-practice-mcq-option.correct{border-color:var(--primary);color:var(--primary)}.vocab-practice-mcq-option.incorrect{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.vocab-practice-mcq-option.incorrect{background:color-mix(in srgb, var(--destructive) 15%, var(--bg-tertiary))}}.vocab-practice-mcq-option.incorrect{border-color:var(--destructive);color:var(--destructive);animation:.4s shake}.vocab-practice-blank-sentence{font-size:var(--text-lg);margin-bottom:var(--space-xl);text-align:center;line-height:1.5}.vocab-practice-dictation-trans{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-md)}.vocab-practice-blank-slot{border-bottom:2px solid var(--text-primary);color:#0000;min-width:60px;padding:0 var(--space-xs);vertical-align:baseline;display:inline-block}.vocab-practice-blank-input-wrap{gap:var(--space-sm);width:100%;max-width:400px;display:flex}.vocab-practice-blank-input{padding:var(--space-md);background:var(--bg-tertiary);border:2px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);outline:none;flex:1;transition:border-color .2s}.vocab-practice-blank-input:focus{border-color:var(--primary)}.vocab-practice-blank-feedback{margin-top:var(--space-md);font-weight:600;font-size:var(--text-md)}.vocab-practice-settings-dropdown{margin-top:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-md);z-index:50;min-width:200px;position:absolute;top:100%;right:0}.practice-setting-title{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-subtle);font-weight:600}.practice-setting-item{margin-bottom:var(--space-xs)}.practice-setting-label{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;display:flex}.text-success{color:var(--primary)}.text-destructive{color:var(--destructive)}.vocab-bulk-fam-popover,.vocab-bulk-set-popover{background:var(--bg-primary)!important;border:1px solid var(--border-subtle)!important;box-shadow:var(--shadow-lg)!important;z-index:9999!important;border-radius:1.5rem!important;width:260px!important;padding:1.5rem!important;animation:.2s ease-out vocabPopoverIn!important;position:absolute!important;top:auto!important;bottom:calc(100% + 14px)!important;left:50%!important;transform:translate(-50%)!important}.vocab-bulk-fam-popover:before,.vocab-bulk-set-popover:before{content:"";background:var(--bg-primary);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg);top:auto!important}.dark .vocab-bulk-fam-popover:before,.dark .vocab-bulk-set-popover:before{background:var(--bg-primary);border-color:var(--border-subtle)}@keyframes vocabPopoverIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.dark .vocab-bulk-fam-popover,.dark .vocab-bulk-set-popover{background:var(--bg-primary)!important;border-color:var(--border-subtle)!important;box-shadow:var(--shadow-lg)!important}.vocab-bulk-fam-title,.vocab-bulk-set-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;text-align:center;margin-bottom:1rem;font-size:.75rem;font-weight:700}.dark .vocab-bulk-fam-title,.dark .vocab-bulk-set-title{color:var(--text-secondary)}.vocab-bulk-fam-btns{justify-content:center;gap:12px;display:flex}.vocab-fam-pop-btn{border:1px solid var(--border-subtle);background:var(--bg-secondary);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:flex}.dark .vocab-fam-pop-btn{background:var(--bg-secondary);border-color:var(--border-subtle);color:var(--text-primary)}.vocab-fam-pop-btn:hover{border-color:var(--accent-primary);background:var(--bg-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.dark .vocab-fam-pop-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.vocab-bulk-set-list{flex-direction:column;gap:4px;max-height:240px;padding-right:4px;display:flex;overflow-y:auto}.vocab-bulk-set-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;transition:all .2s;overflow:hidden}.dark .vocab-bulk-set-item{color:var(--text-primary)}.vocab-bulk-set-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.dark .vocab-bulk-set-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.vocab-bulk-set-empty{color:var(--text-secondary);text-align:center;padding:16px 0;font-size:12px;font-style:italic}.word-popover-main-header,.phrase-popup-header,.reader-bottom-textbox-header{gap:var(--space-md);flex-wrap:nowrap;justify-content:space-between!important;align-items:center!important;display:flex!important}.word-popover-header-left,.phrase-popup-header-left,.reader-bottom-textbox-header-left{flex-shrink:0;align-items:center;gap:8px;display:flex}.word-popover-header-right,.phrase-popup-header-right,.reader-bottom-textbox-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.vocab-mastery-text{color:var(--text-secondary,var(--muted-foreground));white-space:nowrap;font-size:12px!important;font-weight:400!important}.word-popover-delete-btn,.phrase-popup-delete-btn,.reader-bottom-textbox-delete-btn{width:20px!important;height:20px!important;color:var(--text-muted,var(--text-secondary))!important;border-radius:var(--radius-sm)!important;cursor:pointer!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;padding:0!important;transition:all .2s!important;display:inline-flex!important}.word-popover-delete-btn svg,.phrase-popup-delete-btn svg,.reader-bottom-textbox-delete-btn svg{width:14px!important;height:14px!important}.word-popover-delete-btn:hover,.phrase-popup-delete-btn:hover,.reader-bottom-textbox-delete-btn:hover{color:var(--error,#ef4444)!important;background:var(--error,#ef4444)!important}@supports (color:color-mix(in lab, red, red)){.word-popover-delete-btn:hover,.phrase-popup-delete-btn:hover,.reader-bottom-textbox-delete-btn:hover{background:color-mix(in srgb, var(--error,#ef4444) 12%, transparent)!important}}@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-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: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}}