*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-6{bottom:1.5rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.z-10{z-index:10}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[18px\]{min-width:18px}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[75\%\]{max-width:75%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/4{--tw-translate-y:-25%}.-translate-y-1\/4,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-1\/4{--tw-translate-x:25%}.translate-x-1\/4,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:#111827;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:#22c55e;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-indigo-600{--tw-border-opacity:1;border-color:#4f46e5;border-color:rgb(79 70 229/var(--tw-border-opacity,1))}.border-primary-500{--tw-border-opacity:1;border-color:#667eea;border-color:rgb(102 126 234/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-600{--tw-border-opacity:1;border-color:#9333ea;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:#ef4444;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/20{border-color:#fff3}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:#eab308;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.bg-\[\#0088CC\]{--tw-bg-opacity:1;background-color:#08c;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.bg-\[\#00B900\]{--tw-bg-opacity:1;background-color:#00b900;background-color:rgb(0 185 0/var(--tw-bg-opacity,1))}.bg-\[\#1877F2\]{--tw-bg-opacity:1;background-color:#1877f2;background-color:rgb(24 119 242/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:#fbbf24;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:#bfdbfe;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:#bbf7d0;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/50{background-color:#eef2ff80}.bg-indigo-500{--tw-bg-opacity:1;background-color:#6366f1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:#4f46e5;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary-50{--tw-bg-opacity:1;background-color:#f0f4ff;background-color:rgb(240 244 255/var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:#5a67d8;background-color:rgb(90 103 216/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:#e9d5ff;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:#9333ea;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:#fff3}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:#eab308;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#F58529\]{--tw-gradient-from:#f58529 var(--tw-gradient-from-position);--tw-gradient-to:#f5852900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:#ec489900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#667eea var(--tw-gradient-from-position);--tw-gradient-to:#667eea00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:#faf5ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:#9333ea00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#DD2A7B\]{--tw-gradient-to:#dd2a7b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#dd2a7b var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-600{--tw-gradient-to:#5a67d800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#5a67d8 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#8134AF\]{--tw-gradient-to:#8134af var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-600,.to-secondary-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-secondary-700{--tw-gradient-to:#764ba2 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pl-10{padding-left:2.5rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-24{padding-right:6rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-amber-700{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:#78350f;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:#e0e7ff;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:#c7d2fe;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:#6366f1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:#f97316;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-primary-100{--tw-text-opacity:1;color:#e0e9ff;color:rgb(224 233 255/var(--tw-text-opacity,1))}.text-primary-200{--tw-text-opacity:1;color:#c7d7fe;color:rgb(199 215 254/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:#5a67d8;color:rgb(90 103 216/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:#4c51bf;color:rgb(76 81 191/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:#6b21a8;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:#581c87;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow-md{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)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--color-primary:#007bff;--color-primary-hover:#0056b3;--color-primary-light:#e8f4fd;--color-text-primary:#333;--color-text-secondary:#666;--color-text-muted:#888;--color-text-light:#999;--color-bg-primary:#fff;--color-bg-secondary:#f5f5f5;--color-bg-tertiary:#f8f9fa;--color-border:#ddd;--color-border-light:#eee;--color-border-focus:#007bff;--color-success:#28a745;--color-success-light:#d4edda;--color-success-text:#155724;--color-error:#c53030;--color-error-light:#fff5f5;--color-error-border:#feb2b2;--color-error-button:#fc8181;--color-warning:#f59e0b;--color-beginner:#388e3c;--color-beginner-bg:#e8f5e9;--color-intermediate:#f57c00;--color-intermediate-bg:#fff3e0;--color-advanced:#d32f2f;--color-advanced-bg:#fce4ec;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 24px #00000026;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--transition-fast:0.15s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease}.spinner{border:3px solid #e0e0e0;border-top:3px solid var(--color-primary)}.loading-container{height:300px}.loading-container,.loading-container p{color:#666;color:var(--color-text-secondary)}.loading-container p{margin:0}.error-banner{background:#fff5f5;background:var(--color-error-light);border:1px solid #feb2b2;border:1px solid var(--color-error-border);border-radius:var(--radius-lg)}.error-banner p{color:#c53030;color:var(--color-error)}.error-banner button{background:#fc8181;background:var(--color-error-button);border-radius:var(--radius-sm);transition:opacity .2s ease;transition:opacity var(--transition-normal)}.error-banner button:hover{opacity:.9}.empty-state h3{color:#333;color:var(--color-text-primary);font-size:1.5rem;margin-bottom:8px}.empty-state p{color:#666;color:var(--color-text-secondary);margin-bottom:24px}.btn-primary{background:#007bff;background:var(--color-primary);border-radius:var(--radius-lg);display:inline-block;font-size:14px;text-decoration:none;transition:background .2s ease;transition:background var(--transition-normal)}.btn-primary:hover{background:#0056b3;background:var(--color-primary-hover)}.btn-cancel{background:#f5f5f5;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-md);color:#333;color:var(--color-text-primary);font-size:14px;transition:background .2s ease;transition:background var(--transition-normal)}.btn-cancel:hover:not(:disabled){background:#e8e8e8}.btn-save{background:var(--color-primary);border-radius:var(--radius-lg);font-size:14px;transition:background .2s ease;transition:background var(--transition-normal)}.btn-save:hover:not(:disabled){background:var(--color-primary-hover)}.btn-save:disabled{background:#ccc}.badge{border-radius:4px;border-radius:var(--radius-sm);font-weight:500;padding:4px 8px}.badge.difficulty{background:#e8f4fd;background:var(--color-primary-light);color:#1976d2}.badge.difficulty.beginner{background:#e8f5e9;background:var(--color-beginner-bg);color:#388e3c;color:var(--color-beginner)}.badge.difficulty.intermediate{background:#fff3e0;background:var(--color-intermediate-bg);color:#f57c00;color:var(--color-intermediate)}.badge.difficulty.advanced{background:#fce4ec;background:var(--color-advanced-bg);color:#d32f2f;color:var(--color-advanced)}.badge.duration{background:#f3e5f5;color:#7b1fa2}.badge.words{background:#e3f2fd;color:#1565c0}.course-stats{display:flex;gap:16px}.stat{align-items:center;color:#888;color:var(--color-text-muted);display:flex;font-size:13px;gap:4px}.stat-icon{font-size:14px}.rating-stat{color:#f59e0b;color:var(--color-warning);font-weight:500}.rating-count{color:#999;color:var(--color-text-light);font-size:11px;margin-left:2px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}audio{display:block;width:100%}audio::-webkit-media-controls{display:flex!important}audio::-webkit-media-controls-panel{display:flex!important;opacity:1!important;width:100%}audio::-webkit-media-controls-enclosure{max-width:none;width:100%}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.last\:border-0:last-child{border-width:0}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:#4338ca;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-primary-50:hover{--tw-bg-opacity:1;background-color:#f0f4ff;background-color:rgb(240 244 255/var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:#4c51bf;background-color:rgb(76 81 191/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:#7e22ce;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:#1d4ed800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-600:hover{--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:#db277700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-primary-600:hover{--tw-gradient-from:#5a67d8 var(--tw-gradient-from-position);--tw-gradient-to:#5a67d800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-600:hover{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:#9333ea00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:#7e22ce00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-blue-600:hover{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.hover\:to-purple-600:hover{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.hover\:to-purple-700:hover{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.hover\:to-secondary-700:hover{--tw-gradient-to:#764ba2 var(--tw-gradient-to-position)}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:#3730a3;color:rgb(55 48 163/var(--tw-text-opacity,1))}.hover\:text-primary-100:hover{--tw-text-opacity:1;color:#e0e9ff;color:rgb(224 233 255/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:#4c51bf;color:rgb(76 81 191/var(--tw-text-opacity,1))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-white\/30:hover{--tw-ring-color:#ffffff4d}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring-4:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(102 126 234/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-white\/30:focus{--tw-ring-color:#ffffff4d}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:h-28{height:7rem}.sm\:w-28{width:7rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:gap-3{gap:.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-96{width:24rem}.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))}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:border-blue-800{--tw-border-opacity:1;border-color:#1e40af;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-gray-600{--tw-border-opacity:1;border-color:#4b5563;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700{--tw-border-opacity:1;border-color:#374151;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-green-700{--tw-border-opacity:1;border-color:#15803d;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800{--tw-border-opacity:1;border-color:#166534;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-purple-800{--tw-border-opacity:1;border-color:#6b21a8;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.dark\:border-red-700{--tw-border-opacity:1;border-color:#b91c1c;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800{--tw-border-opacity:1;border-color:#991b1b;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-yellow-700{--tw-border-opacity:1;border-color:#a16207;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:bg-blue-900{--tw-bg-opacity:1;background-color:#1e3a8a;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/20{background-color:#1e3a8a33}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-green-900{--tw-bg-opacity:1;background-color:#14532d;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20{background-color:#14532d33}.dark\:bg-red-900{--tw-bg-opacity:1;background-color:#7f1d1d;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/20{background-color:#7f1d1d33}.dark\:bg-yellow-900{--tw-bg-opacity:1;background-color:#713f12;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20{background-color:#713f1233}.dark\:from-purple-900\/20{--tw-gradient-from:#581c8733 var(--tw-gradient-from-position);--tw-gradient-to:#581c8700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:to-blue-900\/20{--tw-gradient-to:#1e3a8a33 var(--tw-gradient-to-position)}.dark\:text-blue-100{--tw-text-opacity:1;color:#dbeafe;color:rgb(219 234 254/var(--tw-text-opacity,1))}.dark\:text-blue-300{--tw-text-opacity:1;color:#93c5fd;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-100{--tw-text-opacity:1;color:#f3f4f6;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-green-300{--tw-text-opacity:1;color:#86efac;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-purple-100{--tw-text-opacity:1;color:#f3e8ff;color:rgb(243 232 255/var(--tw-text-opacity,1))}.dark\:text-purple-400{--tw-text-opacity:1;color:#c084fc;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-300{--tw-text-opacity:1;color:#fde047;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:#1e40af;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover{background-color:#1e3a8a33}.dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:#e5e7eb;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:#d8b4fe;color:rgb(216 180 254/var(--tw-text-opacity,1))}}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background-color:#1f2937;box-shadow:0 2px 8px #00000026;color:#fff;padding:0;z-index:100}.email-verification-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;display:flex;gap:16px;justify-content:space-between;padding:10px 24px}.email-verification-banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.email-verification-banner-icon{font-size:18px}.email-verification-banner-text{color:#92400e;font-size:14px;font-weight:500}.email-verification-banner-resend{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s ease}.email-verification-banner-resend:hover{background:#d97706}.email-verification-banner-resend:disabled{background:#fbbf24;cursor:not-allowed}.email-verification-banner-message{border-radius:4px;font-size:13px;font-weight:500;padding:4px 10px}.email-verification-banner-message.success{background:#d1fae5;color:#065f46}.email-verification-banner-message.error{background:#fee2e2;color:#991b1b}.email-verification-banner-dismiss{align-items:center;background:#0000;border:none;color:#92400e;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:4px;transition:opacity .2s ease}.email-verification-banner-dismiss:hover{opacity:1}.main-nav{flex-direction:column;gap:12px;margin:0 auto;max-width:1400px;padding:12px 24px}.main-nav,.nav-top-row{display:flex;width:100%}.nav-top-row{align-items:center;justify-content:space-between}.nav-brand a{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.5px;text-decoration:none}.nav-brand a:hover{opacity:.9}.nav-auth{align-items:center;display:flex;gap:8px}.nav-auth .nav-token-balance{align-items:center;background:linear-gradient(135deg,#10b98133,#05966933);border:1px solid #10b9814d;border-radius:20px;color:#6ee7b7;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;min-width:60px;padding:6px 12px;text-decoration:none;transition:all .2s ease}.nav-auth .nav-token-balance:hover{background:linear-gradient(135deg,#10b9814d,#0596694d);border-color:#10b98180;color:#a7f3d0;transform:translateY(-1px)}.nav-auth .nav-token-balance:focus-visible{outline:2px solid #6ee7b7;outline-offset:2px}.nav-auth .nav-token-balance svg{color:#10b981}.nav-mode-tabs{background:#ffffff1a;border-radius:8px;display:flex;padding:4px}.mode-tab{border-radius:6px;color:#ffffffb3;font-size:14px;font-weight:500;padding:8px 20px;text-decoration:none;transition:all .2s ease}.mode-tab:hover{background:#ffffff1a;color:#fff}.mode-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 6px #667eea66;color:#fff}.nav-links{align-items:center;border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding-top:8px}.nav-links a{border-radius:6px;color:#ffffffd9;font-size:14px;font-weight:500;padding:8px 14px;text-decoration:none;transition:all .2s ease}.nav-links a:hover{background-color:#ffffff1a;color:#fff}.nav-user-dropdown{position:relative}.nav-user-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:all .2s ease}.nav-user-btn:hover{background-color:#ffffff1a}.nav-user-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.nav-user-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.nav-user-name{font-size:14px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-chevron{opacity:.7;transition:transform .2s ease}.nav-user-chevron.open{transform:rotate(180deg)}.nav-user-menu-dropdown{animation:dropdownFadeIn .15s ease;background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.nav-menu-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 14px;text-decoration:none;transition:all .15s ease;width:100%}.nav-menu-item:hover{background-color:#f3f4f6}.nav-menu-item svg{color:#6b7280}.nav-user-menu-dropdown a.nav-menu-item{color:#374151}.nav-user-menu-dropdown a.nav-menu-item:hover{background-color:#f3f4f6;color:#374151}.nav-menu-logout{border-radius:0 0 6px 6px;border-top:1px solid #e5e7eb;color:#dc2626;margin-top:4px;padding-top:10px}.nav-menu-logout:hover{background-color:#fef2f2}.nav-menu-logout svg{color:#dc2626}.nav-login-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px!important;box-shadow:0 2px 8px #667eea4d;color:#fff!important;font-weight:500!important;padding:8px 18px!important;transition:all .2s ease!important}.nav-login-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b3fa0)!important;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}main{background:#f8f9fa;flex:1 1}@media (max-width:900px){.main-nav{gap:10px;padding:12px 16px}.nav-top-row{gap:10px}.nav-mode-tabs{padding:3px}.mode-tab{font-size:13px;padding:6px 14px}.nav-user-chevron,.nav-user-name{display:none}.nav-auth .nav-token-balance{font-size:13px;min-width:55px;padding:5px 10px}}@media (max-width:600px){.main-nav{gap:8px;padding:10px 12px}.nav-mode-tabs{padding:2px}.mode-tab{font-size:12px;padding:5px 10px}.nav-brand a{font-size:18px}.nav-links a{font-size:13px;padding:6px 10px}.nav-login-btn{font-size:13px!important;padding:6px 12px!important}.nav-auth .nav-token-balance{font-size:12px;gap:4px;min-width:50px;padding:4px 8px}.nav-auth .nav-token-balance svg{height:14px;width:14px}}.free-limit-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.free-limit-modal{animation:slideUp .3s ease;background:#fff;border-radius:24px;box-shadow:0 25px 50px #00000040;max-width:440px;padding:40px;position:relative;text-align:center;width:100%}.free-limit-modal-close{background:none;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;padding:8px;position:absolute;right:16px;top:16px;transition:all .2s ease}.free-limit-modal-close:hover{background:#f3f4f6;color:#6b7280}.free-limit-modal-icon{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;color:#d97706;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.free-limit-modal-title{color:#111827;font-size:24px;font-weight:700;line-height:1.3;margin:0 0 12px}.free-limit-modal-description{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 24px}.free-limit-modal-usage{margin-bottom:24px}.usage-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.usage-bar-fill{background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:4px;height:100%;transition:width .3s ease}.usage-text{color:#9ca3af;font-size:14px;font-weight:500}.free-limit-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px;padding:12px 16px}.free-limit-modal-token-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:16px;margin-bottom:20px;padding:20px}.token-balance{align-items:center;color:#059669;display:flex;font-size:16px;gap:8px;justify-content:center;margin-bottom:16px}.token-balance strong{color:#047857;font-size:24px;font-weight:700}.token-actions{display:flex;flex-direction:column;gap:10px}.token-unlock-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s ease;width:100%}.token-unlock-btn.can-afford{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.token-unlock-btn.can-afford:hover:not(:disabled){box-shadow:0 6px 16px #10b98166;transform:translateY(-2px)}.token-unlock-btn.cannot-afford{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.token-unlock-btn:disabled{cursor:not-allowed;opacity:.7;transform:none!important}.watch-ad-btn{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:10px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s ease;width:100%}.watch-ad-btn:hover:not(:disabled){box-shadow:0 6px 16px #f59e0b66;transform:translateY(-2px)}.watch-ad-btn:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none!important}.token-hint{color:#6b7280;font-size:13px;margin:12px 0 0;text-align:center}.btn-loading{animation:pulse 1s infinite;display:inline-block}.free-limit-modal-divider{align-items:center;color:#9ca3af;display:flex;font-size:14px;margin:20px 0}.free-limit-modal-divider:after,.free-limit-modal-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.free-limit-modal-divider span{padding:0 16px}.free-limit-modal-benefits{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;margin-bottom:24px;padding:20px;text-align:left}.benefits-header{align-items:center;color:#0284c7;display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:16px}.benefits-header svg{color:#fbbf24}.benefits-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.benefits-list li{align-items:center;color:#374151;display:flex;font-size:14px;gap:10px}.benefits-list li svg{color:#10b981;flex-shrink:0}.free-limit-modal-actions{display:flex;flex-direction:column;gap:12px}.upgrade-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;transition:all .2s ease;width:100%}.upgrade-btn:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.later-btn{background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;width:100%}.later-btn:hover{background:#f3f4f6;color:#374151}.free-limit-modal-offer{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;color:#92400e;display:inline-block;font-size:13px;font-weight:600;margin-top:20px;padding:10px 16px}@media (max-width:480px){.free-limit-modal{border-radius:20px;padding:32px 24px}.free-limit-modal-icon{border-radius:16px;height:64px;width:64px}.free-limit-modal-icon svg{height:36px;width:36px}.free-limit-modal-title{font-size:20px}.free-limit-modal-description{font-size:14px}.benefits-list li{font-size:13px}}.language-switcher{position:relative}.language-switcher-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 12px;transition:all .2s ease}.language-switcher-btn:hover{background:#fff3}.language-current{font-size:16px}.language-chevron{opacity:.7;transition:transform .2s ease}.language-chevron.open{transform:rotate(180deg)}.language-dropdown{animation:dropdownFadeIn .15s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:180px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.language-option{align-items:center;background:#0000;border:none;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 14px;text-align:left;transition:all .15s ease;width:100%}.language-option:hover{background:#f3f4f6}.language-option.active{background:#667eea1a;color:#667eea}.language-flag{font-size:20px}.language-name{flex:1 1}.language-check{color:#667eea}.site-footer{background:#1e293b;color:#fff;padding:60px 0 0}.footer-content{margin:0 auto;max-width:1200px;padding:0 24px}.footer-main{border-bottom:1px solid #ffffff1a;display:flex;gap:80px;padding-bottom:48px}.footer-brand{flex:1 1;max-width:300px}.footer-logo{color:#fff;display:inline-block;font-size:28px;font-weight:800;margin-bottom:16px;text-decoration:none}.footer-logo:hover{opacity:.9}.footer-description{color:#ffffffb3;font-size:15px;line-height:1.6;margin-bottom:24px}.footer-social{display:flex;gap:16px}.footer-social a{align-items:center;background:#ffffff1a;border-radius:10px;color:#fff;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.footer-social a:hover{background:#fff3;transform:translateY(-2px)}.footer-links{display:flex;flex:2 1;gap:60px}.footer-column h4{color:#fff;font-size:15px;font-weight:600;letter-spacing:.5px;margin-bottom:20px;text-transform:uppercase}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin-bottom:12px}.footer-column a{color:#ffffffb3;font-size:15px;text-decoration:none;transition:color .2s ease}.footer-column a:hover{color:#fff}.footer-bottom{align-items:center;display:flex;justify-content:space-between;padding:24px 0}.footer-bottom-left{flex:1 1}.footer-bottom-left p{color:#ffffff80;font-size:14px;margin:0}.footer-bottom-right{align-items:center;display:flex}.footer-bottom .language-switcher .language-switcher-btn{background:#ffffff1a;border:1px solid #fff3;color:#fffc}.footer-bottom .language-switcher .language-switcher-btn:hover{background:#fff3;color:#fff}.footer-bottom .language-switcher .language-dropdown{bottom:100%;margin-bottom:8px;top:auto}@media (max-width:900px){.footer-main{flex-direction:column;gap:40px}.footer-brand{max-width:100%;text-align:center}.footer-links,.footer-social{justify-content:center}.footer-links{flex-wrap:wrap;gap:32px}.footer-column{min-width:140px}}@media (max-width:600px){.site-footer{padding:40px 0 0}.footer-links{align-items:center;flex-direction:column;text-align:center}.footer-column{width:100%}.footer-bottom{flex-direction:column;gap:16px;text-align:center}.footer-bottom-left{order:2}.footer-bottom-right{order:1}}.cookie-consent{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293bfa;border-top:1px solid #ffffff1a;bottom:0;left:0;padding:16px 24px;position:fixed;right:0;z-index:9999}.cookie-consent__content{align-items:center;display:flex;gap:20px;margin:0 auto;max-width:1200px}.cookie-consent__icon{align-items:center;background:#6366f133;border-radius:12px;color:#818cf8;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cookie-consent__text{flex:1 1}.cookie-consent__text p{color:#ffffffe6;font-size:14px;line-height:1.5;margin:0}.cookie-consent__text p:first-child{margin-bottom:4px}.cookie-consent__links{color:#fff9!important;font-size:13px!important}.cookie-consent__links a{color:#818cf8;text-decoration:none;transition:color .2s}.cookie-consent__links a:hover{color:#a5b4fc;text-decoration:underline}.cookie-consent__separator{color:#ffffff4d;margin:0 8px}.cookie-consent__actions{display:flex;flex-shrink:0;gap:12px}.cookie-consent__btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.cookie-consent__btn--accept{background:#6366f1;color:#fff}.cookie-consent__btn--accept:hover{background:#4f46e5;transform:translateY(-1px)}@media (max-width:768px){.cookie-consent{padding:16px}.cookie-consent__content{flex-direction:column;gap:16px;text-align:center}.cookie-consent__icon{height:40px;width:40px}.cookie-consent__icon svg{height:20px;width:20px}.cookie-consent__text p{font-size:13px}.cookie-consent__actions{width:100%}.cookie-consent__btn{flex:1 1;padding:12px 20px}}.home-page{background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;min-height:100vh}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.btn-lg{font-size:16px;padding:14px 28px}.btn-primary{box-shadow:0 4px 14px #667eea66}.btn-primary:hover{box-shadow:0 6px 20px #667eea80}.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn-outline:hover{background:#667eea;color:#fff}.section-header{margin-bottom:48px}.section-header h2{font-size:32px;font-weight:700;margin-bottom:12px}.section-header p{color:#475569;font-size:18px}.hero-section{align-items:center;display:flex;gap:60px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:80px 60px}.hero-content{max-width:560px}.hero-title{color:#1e293b;font-size:48px;font-weight:800;line-height:1.2;margin-bottom:20px}.hero-subtitle{color:#475569;font-size:20px;line-height:1.7;margin-bottom:32px}.hero-actions{display:flex;gap:16px}.hero-visual{flex:1 1}.hero-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:420px;padding:24px;width:100%}.hero-card-header{margin-bottom:20px}.hero-card-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 14px}.hero-waveform{align-items:center;display:flex;gap:3px;height:60px;justify-content:center;margin-bottom:20px}.waveform-bar{animation:waveform 1.2s ease-in-out infinite;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px;width:4px}@keyframes waveform{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.hero-card-text{display:flex;flex-direction:column;gap:8px}.hero-card-en{color:#1e293b;font-size:18px;font-weight:600}.hero-card-zh{color:#475569;font-size:16px}.capability-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:36px 60px}.capability-container{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:0 auto;max-width:1200px}.capability-pill{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:50px;color:#fff;display:inline-flex;font-size:16px;font-weight:600;gap:10px;padding:12px 24px;transition:all .2s ease}.capability-pill:hover{background:#ffffff40}.capability-pill svg{flex-shrink:0}.features-section{margin:0 auto;max-width:1400px;padding:80px 60px}.features-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.features-grid .feature-card:last-child:nth-child(3n+2){grid-column:2/3}.feature-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:32px;transition:all .3s ease}.feature-card:hover{box-shadow:0 12px 40px #0000001a;transform:translateY(-4px)}.feature-icon{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:14px;color:#667eea;margin-bottom:20px}.feature-card h3{color:#1e293b;font-size:20px;font-weight:700;margin-bottom:12px}.feature-card p{color:#475569;font-size:16px;line-height:1.7}.modes-section{background:#f1f5f9;padding:80px 60px}.modes-section .modes-grid,.modes-section .section-header{margin-left:auto;margin-right:auto;max-width:1200px}.mode-card{box-shadow:0 4px 20px #0000000f;overflow:hidden;position:relative;text-align:center}.mode-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0}.mode-comprehension:before{background:#22c55e}.mode-vocabulary:before{background:#3b82f6}.mode-dictation:before{background:#f59e0b}.mode-shadowing:before{background:#ec4899}.mode-quiz:before{background:#8b5cf6}.mode-card:hover{box-shadow:0 12px 40px #0000001a}.mode-number{align-items:center;background:#f1f5f9;border-radius:50%;color:#64748b;display:flex;font-size:16px;font-weight:700;height:36px;justify-content:center;margin:0 auto 16px;width:36px}.mode-card h3{color:#1e293b;font-size:18px;font-weight:700;margin-bottom:10px}.mode-card p{color:#475569;font-size:15px;line-height:1.7}.creator-section{align-items:center;display:flex;gap:80px;margin:0 auto;max-width:1400px;padding:80px 60px}.creator-content{flex:1 1}.creator-content h2{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:12px}.creator-subtitle{color:#667eea;font-size:20px;font-weight:600;margin-bottom:16px}.creator-description{color:#475569;font-size:16px;line-height:1.7;margin-bottom:24px}.creator-benefits{list-style:none;margin:0 0 32px;padding:0}.creator-benefits li{align-items:center;color:#1e293b;display:flex;font-size:16px;gap:12px;margin-bottom:12px}.creator-benefits svg{color:#22c55e}.creator-visual{display:flex;flex:1 1;justify-content:center}.creator-stats-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;display:flex;gap:48px;padding:48px}.creator-stat{color:#fff;text-align:center}.creator-stat-value{display:block;font-size:48px;font-weight:800;margin-bottom:8px}.creator-stat-label{font-size:16px;opacity:1}.how-it-works-section{background:#f1f5f9;padding:80px 60px}.how-it-works-section .section-header,.how-it-works-section .steps-grid{margin-left:auto;margin-right:auto;max-width:1200px}.steps-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr);position:relative}.step-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:36px 32px;position:relative;text-align:center}.step-icon,.step-number{display:flex;margin:0 auto 20px}.step-icon{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:16px;color:#667eea;height:64px;justify-content:center;width:64px}.step-card h3{color:#1e293b;font-size:20px;font-weight:700;margin-bottom:12px}.step-card p{color:#475569;font-size:16px;line-height:1.7}.step-arrow{display:none}@media (min-width:901px){.step-arrow{color:#cbd5e1;display:block;position:absolute;right:-24px;top:50%;transform:translateY(-50%);z-index:1}}.cta-section{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:80px 60px;text-align:center}.cta-section h2{font-size:36px;font-weight:700;margin-bottom:16px}.cta-section p{color:#fffffff2;font-size:18px;margin-bottom:32px;opacity:1}.cta-actions{display:flex;gap:16px;justify-content:center}.cta-section .btn-outline{background:#0000;border:2px solid #ffffff80;color:#fff}.cta-section .btn-outline:hover{background:#fff;border-color:#fff;color:#1e293b}@media (max-width:1200px){.hero-section{padding:60px 40px}.hero-title{font-size:40px}.features-grid{grid-template-columns:repeat(2,1fr)}.modes-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.hero-section{flex-direction:column;padding:48px 24px;text-align:center}.hero-content{max-width:100%}.capability-container,.hero-actions{justify-content:center}.capability-container{flex-wrap:wrap;gap:12px}.creator-section,.cta-section,.features-section,.how-it-works-section,.modes-section{padding:60px 24px}.modes-grid{grid-template-columns:repeat(2,1fr)}.creator-section{flex-direction:column;text-align:center}.creator-benefits{display:inline-block;text-align:left}.steps-grid{grid-template-columns:1fr}}@media (max-width:600px){.hero-title{font-size:32px}.hero-actions{flex-direction:column}.capability-pill{font-size:14px;padding:10px 18px}.features-grid,.modes-grid{grid-template-columns:1fr}.cta-actions{flex-direction:column}}.pricing-page{background:linear-gradient(180deg,#f8fafc,#e2e8f0);min-height:100vh;padding-bottom:60px}.pricing-page .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.pricing-page .btn-lg{font-size:16px;padding:14px 28px}.pricing-page .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 14px #667eea66;color:#fff}.pricing-page .btn-primary:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.pricing-page .btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.pricing-page .btn-outline:hover{background:#667eea;color:#fff}.pricing-header{padding:60px 24px 40px;text-align:center}.pricing-header h1{color:#1e293b;font-size:40px;font-weight:800;margin-bottom:16px}.pricing-header p{color:#64748b;font-size:18px;margin-bottom:32px}.subscription-status{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:24px}.status-badge{border-radius:20px;font-size:14px;padding:8px 16px}.status-badge.active{background:#dcfce7;color:#16a34a}.manage-subscription-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.manage-subscription-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.manage-subscription-btn:disabled{cursor:not-allowed;opacity:.7}.pricing-error{align-items:center;background:#fef2f2;border-radius:10px;color:#dc2626;display:inline-flex;font-size:14px;gap:12px;margin-bottom:24px;padding:12px 20px}.pricing-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px;line-height:1;padding:0}.pricing-card.current{border-color:#16a34a}.pricing-card.current .popular-badge{background:#16a34a}.card-cta:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.billing-toggle{align-items:center;background:#fff;border-radius:40px;box-shadow:0 4px 12px #00000014;display:inline-flex;gap:16px;padding:8px 20px}.billing-toggle span{color:#94a3b8;font-size:15px;font-weight:500;transition:color .2s}.billing-toggle span.active{color:#1e293b}.save-badge{background:#dcfce7;border-radius:12px;color:#16a34a;font-size:12px;font-weight:600;margin-left:8px;padding:4px 8px}.toggle-switch{background:#e2e8f0;border:none;border-radius:14px;cursor:pointer;height:28px;position:relative;transition:background .2s;width:52px}.toggle-switch.yearly{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle-slider{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:22px;left:3px;position:absolute;top:3px;transition:transform .2s;width:22px}.toggle-switch.yearly .toggle-slider{transform:translateX(24px)}.pricing-cards{display:flex;gap:24px;justify-content:center;margin:0 auto;max-width:1200px;padding:0 24px}.pricing-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;display:flex;flex-direction:column;max-width:360px;padding:32px;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%}.pricing-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.pricing-card.popular{border:2px solid #667eea;transform:scale(1.05)}.pricing-card.popular:hover{transform:scale(1.05) translateY(-4px)}.popular-badge{background:linear-gradient(135deg,#667eea,#764ba2)}.popular-badge,.value-badge{border-radius:20px;color:#fff;font-size:13px;font-weight:600;left:50%;padding:6px 16px;position:absolute;top:-12px;transform:translateX(-50%)}.value-badge{background:#16a34a}.card-header{margin-bottom:24px}.card-header h3{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:8px}.card-description{color:#64748b;font-size:15px}.card-price{align-items:baseline;display:flex;margin-bottom:8px}.price-currency{color:#1e293b;font-size:20px;font-weight:600;margin-right:4px}.price-amount{color:#1e293b;font-size:48px;font-weight:800;line-height:1}.price-period{color:#64748b;font-size:16px;margin-left:4px}.billed-yearly{color:#64748b;font-size:14px;margin-bottom:24px}.card-features{flex:1 1;list-style:none;margin:0 0 32px;padding:0}.card-features li{align-items:flex-start;color:#475569;display:flex;font-size:15px;gap:12px;margin-bottom:14px}.card-features li svg{color:#22c55e;flex-shrink:0;margin-top:2px}.card-cta{border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;padding:14px;text-align:center;text-decoration:none;transition:all .2s ease;width:100%}.card-cta.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.card-cta.btn-primary:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.card-cta.btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.card-cta.btn-outline:hover{background:#667eea;color:#fff}.guarantee-section{padding:48px 24px;text-align:center}.guarantee-badge{align-items:center;background:#dcfce7;border-radius:30px;color:#16a34a;display:inline-flex;font-size:16px;font-weight:600;gap:12px;padding:12px 24px}.faq-section{margin:0 auto;max-width:900px;padding:60px 24px}.faq-section h2{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:40px;text-align:center}.faq-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.faq-item{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;padding:24px}.faq-item h4{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:12px}.faq-item p{color:#64748b;font-size:15px;line-height:1.6}.pricing-cta{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;margin-top:40px;padding:60px 24px;text-align:center}.pricing-cta h2{font-size:32px;font-weight:700;margin-bottom:24px}.pricing-cta .btn-outline{border-color:#ffffff80;color:#fff}.pricing-cta .btn-outline:hover{background:#fff;border-color:#fff;color:#1e293b}@media (max-width:1000px){.pricing-cards{align-items:center;flex-direction:column}.pricing-card.popular{order:-1;transform:none}.pricing-card.popular:hover{transform:translateY(-4px)}}@media (max-width:600px){.pricing-header h1{font-size:32px}.pricing-card{max-width:100%}.price-amount{font-size:40px}.faq-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}}.creator-program-page{background:#fafbfc;min-height:100vh}.creator-program-page .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.creator-program-page .btn-lg{font-size:16px;padding:14px 32px}.creator-program-page .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 14px #667eea66;color:#fff}.creator-program-page .btn-primary:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.creator-program-page .btn-outline{background:#0000;border:2px solid #667eea;color:#667eea}.creator-program-page .btn-outline:hover{background:#667eea;color:#fff}.section-subtitle{font-size:18px;margin:0 auto 48px;max-width:600px}.creator-hero{align-items:center;display:flex;gap:60px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:80px 24px}.hero-content{flex:1 1;max-width:600px}.hero-badge{background:linear-gradient(135deg,#667eea20,#764ba220);border-radius:20px;color:#667eea;display:inline-block;font-size:14px;font-weight:600;margin-bottom:24px;padding:8px 16px}.creator-hero h1{color:#1e293b;font-size:48px;font-weight:800;line-height:1.2;margin-bottom:20px}.creator-hero p{color:#64748b;font-size:20px;line-height:1.6;margin-bottom:32px}.hero-stats{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;display:flex;gap:24px;margin-bottom:40px;padding:24px}.stat-value{color:#667eea;font-weight:800}.stat-divider{background:#e2e8f0;height:40px;width:1px}.hero-cta{display:flex;gap:16px}.hero-visual{flex:0 0 400px;justify-content:center}.hero-visual,.visual-card{align-items:center;display:flex}.visual-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;box-shadow:0 20px 60px #667eea66;color:#fff;flex-direction:column;gap:16px;padding:60px}.visual-card span{font-size:18px;font-weight:600}.creator-benefits{background:#fff;padding:80px 24px;text-align:center}.creator-benefits h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:16px}.benefits-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px}.benefit-card{background:#f8fafc;border-radius:16px;padding:32px 24px;transition:all .3s ease}.benefit-card:hover{box-shadow:0 12px 32px #0000001a;transform:translateY(-4px)}.benefit-icon{background:linear-gradient(135deg,#667eea20,#764ba220);border-radius:16px;color:#667eea;margin-bottom:20px}.benefit-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:12px}.benefit-card p{color:#64748b;font-size:15px;line-height:1.6}.creator-tiers{padding:80px 24px;text-align:center}.creator-tiers h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:16px}.tiers-grid{display:flex;gap:24px;justify-content:center;margin:0 auto;max-width:1000px}.tier-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;flex:1 1;max-width:300px;padding:32px 24px;position:relative;transition:all .3s ease}.tier-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.tier-card.featured{border:2px solid #3b82f6;transform:scale(1.05)}.tier-card.featured:hover{transform:scale(1.05) translateY(-4px)}.tier-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:20px;color:#fff;font-size:13px;font-weight:600;left:50%;padding:6px 16px;position:absolute;top:-12px;transform:translateX(-50%)}.tier-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:28px;height:56px;justify-content:center;margin-bottom:16px;width:56px}.tier-card h3{color:#1e293b;font-size:20px;font-weight:700;margin-bottom:16px}.tier-share{margin-bottom:24px}.share-value{color:#667eea;font-size:42px;font-weight:800}.share-label{color:#64748b;display:block;font-size:14px;margin-top:4px}.tier-requirements{list-style:none;margin:0;padding:0;text-align:left}.tier-requirements li{align-items:center;color:#475569;display:flex;font-size:14px;gap:10px;margin-bottom:10px}.tier-requirements li svg{color:#22c55e;flex-shrink:0}.tiers-note{color:#94a3b8;font-size:14px;margin:32px auto 0;max-width:600px}.creator-how-it-works{background:#fff;padding:80px 24px;text-align:center}.creator-how-it-works h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:16px}.steps-container{display:flex;gap:0;justify-content:center;margin:0 auto;max-width:1000px}.step-item{flex:1 1;max-width:250px;padding:0 24px;position:relative}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:inline-flex;font-size:20px;font-weight:700;height:48px;justify-content:center;margin-bottom:20px;width:48px}.step-content h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:12px}.step-content p{color:#64748b;font-size:15px;line-height:1.6}.step-connector{background:linear-gradient(90deg,#667eea,#764ba2);height:2px;position:absolute;right:-30px;top:24px;width:60px}.creator-learning-modes{padding:80px 24px;text-align:center}.creator-learning-modes h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:16px}.modes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(5,1fr);margin:0 auto;max-width:1200px}.mode-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000f;padding:28px 20px;transition:all .3s ease}.mode-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.mode-icon{display:block;font-size:36px;margin-bottom:16px}.mode-card h4{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:8px}.mode-card p{color:#64748b;font-size:14px;line-height:1.5}.creator-faq{background:#fff;padding:80px 24px;text-align:center}.creator-faq h2{color:#1e293b;font-size:36px;font-weight:700;margin-bottom:48px}.creator-faq .faq-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:900px}.creator-faq .faq-item{background:#f8fafc;border-radius:16px;padding:24px;text-align:left}.creator-faq .faq-item h4{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:12px}.creator-faq .faq-item p{color:#64748b;font-size:15px;line-height:1.6}.creator-cta{background:linear-gradient(135deg,#1e293b,#334155);padding:80px 24px;text-align:center}.cta-content{margin:0 auto;max-width:600px}.creator-cta h2{color:#fff;font-size:36px;font-weight:700;margin-bottom:16px}.creator-cta p{color:#fffc;font-size:18px;margin-bottom:32px}.cta-buttons{display:flex;gap:16px;justify-content:center}.creator-cta .btn-primary{background:#fff;box-shadow:0 4px 20px #0003;color:#1e293b}.creator-cta .btn-primary:hover{box-shadow:0 8px 30px #0000004d;transform:translateY(-2px)}@media (max-width:1100px){.benefits-grid{grid-template-columns:repeat(2,1fr)}.modes-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.creator-hero{flex-direction:column;padding:60px 24px;text-align:center}.hero-content{max-width:100%}.hero-cta,.hero-stats{justify-content:center}.hero-visual{flex:none;width:100%}.tiers-grid{align-items:center;flex-direction:column}.tier-card{max-width:320px;width:100%}.tier-card.featured{order:-1;transform:none}.tier-card.featured:hover{transform:translateY(-4px)}.steps-container{align-items:center;flex-direction:column;gap:40px}.step-item{max-width:100%}.step-connector{display:none}.modes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.creator-hero h1{font-size:32px}.creator-hero p{font-size:18px}.hero-stats{flex-direction:column;gap:16px;padding:20px}.stat-divider{height:1px;width:40px}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.benefits-grid,.creator-faq .faq-grid,.modes-grid{grid-template-columns:1fr}.creator-cta h2{font-size:28px}}.legal-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding:40px 20px 80px}.legal-container{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;margin:0 auto;max-width:800px;overflow:hidden}.legal-header{background:linear-gradient(135deg,#6366f1,#4f46e5);padding:48px 40px;text-align:center}.legal-header h1{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px}.legal-updated{color:#fffc;font-size:14px;margin:0}.legal-content{padding:40px}.legal-section{margin-bottom:32px}.legal-section:last-child{margin-bottom:0}.legal-section h2{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:20px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.legal-section h3{color:#334155;font-size:16px;font-weight:600;margin:20px 0 12px}.legal-section p{color:#475569;font-size:15px;line-height:1.8;margin:0 0 12px}.legal-section ul{margin:12px 0;padding-left:24px}.legal-section li{color:#475569;font-size:15px;line-height:1.8;margin-bottom:8px}.legal-section li:last-child{margin-bottom:0}.legal-email{background:#f1f5f9;border-radius:8px;color:#6366f1;display:inline-block;font-weight:500;margin-top:8px;padding:8px 16px}.legal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:24px;justify-content:center;padding:24px 40px}.legal-link{border-radius:8px;color:#6366f1;font-size:15px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s}.legal-link:hover{background:#eef2ff;color:#4f46e5}@media (max-width:768px){.legal-page{padding:20px 16px 60px}.legal-container{border-radius:12px}.legal-header{padding:32px 24px}.legal-header h1{font-size:26px}.legal-content{padding:24px}.legal-section h2{font-size:18px}.legal-section li,.legal-section p{font-size:14px}.legal-footer{align-items:center;flex-direction:column;gap:12px;padding:20px 24px}.legal-link{text-align:center;width:100%}}.workflow-progress{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:20px;padding:16px 20px}.stages-container{align-items:stretch;display:flex;gap:8px;justify-content:space-between;position:relative}.stage-wrapper{align-items:center;flex:1 1;flex-direction:column;min-height:64px}.stage-item,.stage-wrapper{display:flex;position:relative}.stage-item{background:#fff;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;min-height:60px;padding:10px 8px;text-align:center;transition:all .2s ease;width:100%;z-index:1}.stage-item.clickable{cursor:pointer}.stage-item.clickable:hover{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 2px 8px #0000000f}.stage-item.clickable:active{transform:scale(.98)}.stage-item.completed{background:#ecfdf5;border-color:#a7f3d0}.stage-item.completed .stage-icon{color:#10b981}.stage-item.completed.clickable:hover{background:#d1fae5;border-color:#6ee7b7}.stage-item.active{background:#eff6ff;border:2px solid #2563eb;box-shadow:0 0 0 3px #2563eb1a}.stage-item.active .stage-icon{color:#2563eb}.stage-item.active .stage-label{color:#1e40af}.stage-item.active.clickable:hover{background:#dbeafe;border-color:#1d4ed8}.stage-item.pending{background:#f8fafc;opacity:.6}.stage-item.pending .stage-icon{color:#94a3b8}.stage-item.locked{background:#f1f5f9;border:1px dashed #cbd5e1;opacity:.4}.stage-item.disabled{cursor:not-allowed}.stage-icon{align-items:center;color:#64748b;display:flex;font-size:22px;height:22px;justify-content:center;line-height:1;margin-bottom:6px}.stage-label{color:#1e293b;font-size:12px;justify-content:center;line-height:1.2;margin-bottom:4px;min-height:16px}.stage-order{background:#f1f5f9;border-radius:10px;color:#64748b;font-size:10px;font-weight:500;margin-top:auto;padding:2px 8px}.stage-time{color:#94a3b8;font-size:10px;height:12px;margin-top:2px}.stages-progress-line{background:#e2e8f0;border-radius:2px;height:3px;left:5%;pointer-events:none;position:absolute;right:5%;top:50%;transform:translateY(-50%);z-index:0}.stages-progress-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:2px;box-shadow:0 0 8px #10b9814d;height:100%;transition:width .4s ease}.stage-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:16px 20px;text-align:center}.stage-details h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 8px}.stage-details p{color:#64748b;font-size:14px;margin:0}.stage-tooltip{animation:tooltipFadeIn .2s ease-out;background:#1e293b;border-radius:8px;box-shadow:0 8px 24px #0003;color:#fff;margin-top:10px;max-width:280px;min-width:200px;padding:10px 14px;top:100%;z-index:1000}.stage-tooltip,.stage-tooltip:before{left:50%;position:absolute;transform:translateX(-50%)}.stage-tooltip:before{border:7px solid;border-color:#0000 #0000 #1e293b;bottom:100%;content:""}.tooltip-header{border-bottom:1px solid #ffffff26;color:#f8fafc;font-size:12px;font-weight:600;margin-bottom:8px;padding-bottom:6px}.tooltip-content p{color:#cbd5e1;font-size:11px;line-height:1.4;margin:0 0 6px}.tooltip-content ul{font-size:11px;list-style:none;margin:0;padding:0}.tooltip-content li{align-items:center;color:#f59e0b;display:flex;gap:6px;margin:4px 0}.tooltip-content li:before{color:#f59e0b;content:"•"}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.workflow-progress{padding:12px 16px}.stages-container{flex-wrap:wrap;gap:6px}.stage-wrapper{margin-bottom:8px;min-width:calc(33.33% - 4px)}.stage-item{min-height:52px;padding:8px 6px}.stage-icon{font-size:18px;height:18px}.stage-label{font-size:10px}.stage-connector,.stages-progress-line{display:none}.stage-tooltip{font-size:10px;max-width:220px;min-width:160px}}.audio-range-selector.integrated{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:1.5rem}.audio-range-selector.integrated.with-waveform{padding:1.25rem}.playback-controls{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.btn-play-pause{background:#2563eb;height:48px;width:48px}.btn-play-pause:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}.btn-play-pause:active:not(:disabled){transform:scale(.98)}.btn-play-pause.disabled,.btn-play-pause:disabled{background:#94a3b8;cursor:not-allowed}.time-display{color:#1e293b;flex-grow:1;font-size:1rem;gap:.25rem}.time-display .current-time{font-weight:600}.time-display .time-separator{color:#94a3b8}.time-display .total-time{color:#64748b}.volume-control{gap:.5rem}.btn-mute{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:4px;transition:all .2s ease}.btn-mute:hover{background:#2563eb1a;color:#2563eb}.volume-slider{-webkit-appearance:none;appearance:none;background:#e2e8f0;border-radius:2px;cursor:pointer;height:4px;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#2563eb;border-radius:50%;cursor:pointer;height:14px;-webkit-transition:transform .15s;transition:transform .15s;width:14px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{background:#2563eb;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.waveform-container{background:#f8fafc;border:1px solid #e2e8f0;margin:.5rem 0;padding:.5rem}.waveform{background:#fff;border-radius:6px;height:80px;min-height:80px;position:relative;width:100%}.waveform>div{height:80px!important;width:100%!important}.waveform::part(scroll){overflow-x:hidden!important}.waveform::part(wrapper){min-width:100%!important;width:100%!important}.waveform::part(canvases){height:80px!important;max-height:80px!important;min-height:80px!important}.waveform::part(progress){height:80px!important}.waveform::part(cursor){height:80px!important}.waveform-loading{align-items:center;background:#f8fafc;border-radius:8px;bottom:0;display:flex;flex-direction:column;gap:.75rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:5}.waveform-loading span{color:#64748b;font-size:.85rem}.loading-spinner{border-top-color:#2563eb;height:28px;width:28px}.waveform-container [part=region]{background:#2563eb26!important;border-left:3px solid #10b981!important;border-radius:4px;border-right:3px solid #ef4444!important}.waveform-container [part=region-handle]{background:#0000!important;width:8px!important}.waveform-container [part=region-handle]:first-child{border-left:4px solid #10b981!important;cursor:ew-resize}.waveform-container [part=region-handle]:last-child{border-right:4px solid #ef4444!important;cursor:ew-resize}.time-markers{display:flex;justify-content:space-between;margin-top:8px;padding:0 4px}.time-markers span{color:#94a3b8;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem}.range-track-container{margin:1rem 0 .5rem}.range-track{background:#e2e8f0;border-radius:8px;cursor:pointer;height:48px;position:relative;-webkit-user-select:none;user-select:none}.track-region{border-radius:8px;height:100%;pointer-events:none;position:absolute;top:0}.track-region.unselected{background:repeating-linear-gradient(45deg,#cbd5e1,#cbd5e1 4px,#e2e8f0 0,#e2e8f0 8px);opacity:.9}.track-region.selected{background:linear-gradient(135deg,#2563eb,#3b82f6);opacity:.5}.range-handle{align-items:center;bottom:0;cursor:ew-resize;display:flex;justify-content:center;margin-left:-10px;position:absolute;top:0;width:20px;z-index:10}.range-handle .handle-grip{border-radius:3px;height:28px;transition:transform .15s,box-shadow .15s;width:6px}.handle-start .handle-grip{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 2px 8px #10b98166}.handle-end .handle-grip{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 2px 8px #ef444466}.range-handle.dragging .handle-grip,.range-handle:hover .handle-grip{transform:scaleY(1.1) scaleX(1.3)}.range-handle.previewing .handle-grip{animation:preview-pulse .6s ease-in-out infinite}.handle-start.previewing .handle-grip{box-shadow:0 0 0 4px #10b9814d,0 2px 8px #10b98166}.handle-end.previewing .handle-grip{box-shadow:0 0 0 4px #ef44444d,0 2px 8px #ef444466}@keyframes preview-pulse{0%,to{opacity:1;transform:scaleY(1) scaleX(1)}50%{opacity:.85;transform:scaleY(1.15) scaleX(1.4)}}.playhead{background:linear-gradient(180deg,#f97316,#ea580c);border-radius:2px;bottom:4px;box-shadow:0 0 10px #f9731699;cursor:ew-resize;margin-left:-2px;position:absolute;top:4px;transition:box-shadow .15s;width:4px;z-index:15}.playhead.dragging,.playhead:hover{box-shadow:0 0 15px #f97316cc}.playhead:before{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #f97316;content:"";height:0;left:50%;position:absolute;top:-6px;transform:translateX(-50%);width:0}.range-controls{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1rem;padding-top:1rem}.range-info{display:flex;flex-wrap:wrap;gap:.75rem}.range-badge{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:.5rem .75rem;transition:all .2s ease}.range-badge.clickable{cursor:pointer}.range-badge.clickable:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;transform:translateY(-1px)}.range-badge.clickable:active:not(:disabled){transform:translateY(0)}.range-badge.clickable:disabled{cursor:not-allowed;opacity:.6}.range-badge.start.previewing{animation:badge-pulse-green .6s ease-in-out infinite;background:#ecfdf5;border-color:#10b981}.range-badge.end.previewing{animation:badge-pulse-red .6s ease-in-out infinite;background:#fef2f2;border-color:#ef4444}@keyframes badge-pulse-green{0%,to{box-shadow:0 0 0 0 #10b98166}50%{box-shadow:0 0 0 4px #10b98133}}@keyframes badge-pulse-red{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444433}}.range-badge .badge-label{color:#94a3b8;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.range-badge .badge-value{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.95rem;font-weight:600}.range-badge.start .badge-value{color:#10b981}.range-badge.end .badge-value{color:#ef4444}.range-badge.duration .badge-value{color:#2563eb}.btn-reset-range{background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease}.btn-reset-range:hover:not(:disabled){background:#2563eb0d;border-color:#2563eb;color:#2563eb}.btn-reset-range:disabled{cursor:not-allowed;opacity:.5}.range-hint{color:#94a3b8;font-size:.8rem;margin:.75rem 0 0;text-align:center}@media (max-width:600px){.audio-range-selector.integrated{padding:1rem}.playback-controls{flex-wrap:wrap;gap:.75rem}.btn-play-pause{height:42px;width:42px}.volume-control{justify-content:center;margin-top:.5rem;order:3;width:100%}.volume-slider{width:120px}.waveform-container{padding:.25rem}.waveform{min-height:60px}.range-controls{align-items:stretch;flex-direction:column;gap:.75rem}.range-info{justify-content:center}.range-badge{min-width:60px;padding:.4rem .5rem}.btn-reset-range{width:100%}}@media (prefers-reduced-motion:reduce){.loading-spinner,.range-badge.previewing,.range-handle.previewing .handle-grip{animation:none}.btn-play-pause,.btn-reset-range,.range-badge,.waveform{transition:none}}.stage-0-material-input{margin:0 auto;max-width:900px;padding:1.5rem}.stage-0-material-input .stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.25rem;text-align:center}.stage-0-material-input .stage-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.stage-0-material-input .stage-header p{color:#64748b;font-size:.95rem;margin:0}.workflow-path-indicator{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;transition:all .2s ease}.workflow-path-indicator.path-ai_generated{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#c4b5fd}.workflow-path-indicator.path-audio_en_zh{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#6ee7b7}.workflow-path-indicator.path-audio_en,.workflow-path-indicator.path-audio_only,.workflow-path-indicator.path-audio_zh{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.workflow-path-indicator.path-text_en,.workflow-path-indicator.path-text_zh{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.workflow-path-indicator .path-info{margin-bottom:.75rem}.workflow-path-indicator .path-info h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 .375rem}.workflow-path-indicator .path-info p{color:#64748b;font-size:.9rem;margin:0}.workflow-path-indicator .path-steps{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.workflow-path-indicator .step-badge{background:#fff;border:1px solid #0000000d;border-radius:20px;box-shadow:0 1px 2px #0000000d;color:#1e293b;font-size:.8rem;font-weight:500;padding:.375rem .875rem}.workflow-path-indicator .step-arrow{color:#94a3b8;font-size:.85rem;font-weight:600}.form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.form-section h3{border-bottom:1px solid #f1f5f9;font-size:1rem;padding-bottom:.75rem}.form-section .section-description{color:#64748b;font-size:.875rem;line-height:1.5;margin-bottom:1.25rem}.form-row{grid-gap:1.5rem;gap:1.5rem;margin-bottom:1rem}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.form-group input[type=text],.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group textarea{min-height:100px;resize:vertical}.materials-section{background:#fafbfc}.material-upload-group{border-bottom:1px solid #f1f5f9;margin-bottom:1.5rem;padding-bottom:1.5rem}.material-upload-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.material-upload-group>label{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.75rem}.material-upload-group .material-icon{color:#1e293b;font-size:.9rem;font-weight:600}.material-upload-group .material-label{color:#64748b;font-size:.85rem;font-weight:400}.material-upload-group .material-hint{color:#2563eb;display:block;font-size:.8rem;font-style:italic;font-weight:400;margin-top:2px;width:100%}.material-upload-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.95rem;min-height:120px;padding:.875rem 1rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.material-upload-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.material-upload-group textarea::placeholder{color:#94a3b8}.upload-area{position:relative}.upload-dropzone{background:#fff;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.upload-dropzone:hover{background:#f8fafc;border-color:#2563eb}.upload-dropzone input[type=file]{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.upload-label{align-items:center;color:#64748b;cursor:pointer;display:flex;flex-direction:column;gap:.5rem}.upload-label .upload-icon{color:#2563eb;font-size:2rem}.upload-label span{font-size:.9rem}.audio-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:0;padding:1rem}.audio-preview-header{align-items:center;display:flex;gap:1rem}.audio-preview-header audio{border-radius:6px;flex:1 1;max-width:100%}.audio-preview .btn-remove{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.audio-preview .btn-remove:hover{background:#dc2626;border-color:#dc2626;color:#fff}.audio-preview .audio-range-selector{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem}.text-stats{align-items:center;color:#64748b;display:flex;font-size:.8rem;gap:.5rem;margin-top:.5rem}.text-stats:before{background:#94a3b8;border-radius:50%;content:"";display:inline-block;height:4px;width:4px}.btn-primary{align-items:center;display:inline-flex;font-size:1rem;gap:.5rem;padding:.875rem 2rem}.loading-overlay .spinner{border:4px solid #e2e8f0;border-top-color:#2563eb;height:48px;width:48px}.loading-overlay p{color:#fff;margin-top:1rem}.stage-1-generation{margin:0 auto;max-width:1000px;padding:1.5rem}.stage-1-generation .stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.25rem;text-align:center}.stage-1-generation .stage-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}.stage-1-generation .stage-header p{color:#64748b;font-size:.95rem;margin:0}.stage-1-generation .form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:1.5rem;padding:1.75rem}.stage-1-generation .form-section h3{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 1.25rem;padding-bottom:.75rem}.stage-1-generation .form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.stage-1-generation .form-group{display:flex;flex-direction:column;gap:.5rem}.stage-1-generation .form-group label{color:#1e293b;font-size:.9rem;font-weight:500}.stage-1-generation .form-group input,.stage-1-generation .form-group select,.stage-1-generation .form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.stage-1-generation .form-group input:focus,.stage-1-generation .form-group select:focus,.stage-1-generation .form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.stage-1-generation .form-group input:hover,.stage-1-generation .form-group select:hover,.stage-1-generation .form-group textarea:hover{border-color:#3b82f6}.stage-1-generation .form-group textarea{font-family:inherit;min-height:120px;resize:vertical}.stage-1-generation .form-group input::placeholder,.stage-1-generation .form-group textarea::placeholder{color:#94a3b8}.stage-1-generation .help-text{color:#64748b;font-size:.8rem;margin-top:.25rem}.stage-1-generation .info-box{background:#f8fafc;border:1px solid #e2e8f0;border-left-width:4px;border-radius:8px;margin-bottom:1.25rem;padding:1rem 1.25rem}.stage-1-generation .info-box h3{border-bottom:none;color:#1e40af;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:0}.stage-1-generation .info-box p{color:#1e293b;font-size:.9rem;line-height:1.6;margin:.5rem 0}.stage-1-generation .info-box ul{list-style:none;margin:.5rem 0;padding:0}.stage-1-generation .info-box li{color:#10b981;font-size:.9rem;font-weight:500;padding:.5rem 0}.stage-1-generation .success-box{background:#ecfdf5;border:1px solid #a7f3d0;border-left-width:4px;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.stage-1-generation .success-box h3{border-bottom:none;color:#065f46;font-size:1.125rem;font-weight:600;margin:0 0 .75rem;padding-bottom:0}.stage-1-generation .success-box p{color:#1e293b;font-size:.9rem;line-height:1.6;margin:.5rem 0}.stage-1-generation .success-box strong{color:#065f46;font-weight:600}.stage-1-generation .content-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1.25rem}.stage-1-generation .content-preview h4{color:#1e293b;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.stage-1-generation .content-preview pre{word-wrap:break-word;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-family:Monaco,Courier New,monospace;font-size:.85rem;line-height:1.6;margin:0;max-height:400px;overflow-y:auto;padding:1rem;white-space:pre-wrap}.stage-1-generation .form-actions{display:flex;gap:1rem;justify-content:center;padding-top:1.5rem}.stage-1-generation .btn-primary,.stage-1-generation .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.stage-1-generation .btn-primary{background:#2563eb;box-shadow:0 2px 8px #2563eb33;color:#fff}.stage-1-generation .btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.stage-1-generation .btn-primary:disabled{cursor:not-allowed;opacity:.5}.stage-1-generation .btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.stage-1-generation .btn-secondary:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.stage-1-generation .loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.stage-1-generation .loading-overlay p{color:#fff;font-size:1rem;font-weight:500;margin-top:1.25rem}.stage-1-generation .loading-hint{color:#fffc;font-size:.9rem;margin-top:.5rem}.stage-1-generation .spinner{animation:spin .8s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:52px;width:52px}@media (max-width:768px){.stage-1-generation{padding:1rem}.stage-1-generation .form-section{padding:1.25rem}.stage-1-generation .form-row{gap:1rem;grid-template-columns:1fr}.stage-1-generation .form-actions{flex-direction:column}.stage-1-generation .btn-primary,.stage-1-generation .btn-secondary{width:100%}.stage-1-generation .stage-header h2{font-size:1.375rem}}.dictionary-popover{animation:popoverSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000001a;max-height:80vh;max-width:400px;min-width:300px;overflow-y:auto;z-index:9999}@keyframes popoverSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.popover-error,.popover-loading{padding:20px;text-align:center}.spinner-small{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-top-color:#667eea;height:24px;margin:0 auto 10px;width:24px}.popover-error p{color:#c33;font-size:14px}.popover-content{padding:16px;position:relative}.popover-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:10px}.popover-header .word{color:#1f2937;font-size:22px;font-weight:700;line-height:1.2;margin:0}.popover-header .pos{color:#666;font-size:13px;font-style:italic}.popover-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.popover-tag{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:600;line-height:1;padding:4px 10px}.popover-tag--cefr{color:#fff}.popover-tag--cefr-A1{background:linear-gradient(135deg,#22c55e,#16a34a)}.popover-tag--cefr-A2{background:linear-gradient(135deg,#84cc16,#65a30d)}.popover-tag--cefr-B1{background:linear-gradient(135deg,#eab308,#ca8a04)}.popover-tag--cefr-B2{background:linear-gradient(135deg,#f97316,#ea580c)}.popover-tag--cefr-C1{background:linear-gradient(135deg,#ef4444,#dc2626)}.popover-tag--cefr-C2{background:linear-gradient(135deg,#dc2626,#b91c1c)}.phonetics-inline{align-items:center;display:inline-flex;gap:8px}.phonetics-section{background:#f8f9ff;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:12px}.dictionary-popover .phonetic-item{align-items:center;display:inline-flex;gap:6px;line-height:1}.phonetic-label{background:#667eea;border-radius:3px;color:#fff;display:inline-block;font-size:10px;font-weight:600;min-width:20px;padding:2px 5px;text-align:center}.dictionary-popover .phonetic{color:#4b5563;font-family:Segoe UI,Arial,sans-serif;font-size:15px;font-weight:500;letter-spacing:.3px;line-height:1}.dictionary-popover .audio-btn{align-items:center;background:#667eea;border:none;border-radius:50%;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;height:28px!important;justify-content:center;margin:0!important;max-height:28px;max-width:28px;min-height:28px;min-width:28px;padding:0;transition:all .15s ease;width:28px!important}.dictionary-popover .audio-btn svg{display:block;height:12px;margin:auto;width:12px}.dictionary-popover .audio-btn:hover{background:#5568d3;transform:scale(1.08)}.dictionary-popover .audio-btn:active{transform:scale(.95)}.dictionary-popover .audio-btn.playing{animation:audioPulse .6s infinite;background:#e84393}@keyframes audioPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.badges{gap:6px;margin-bottom:12px}.badge{border-radius:10px;display:inline-block;font-size:12px;padding:3px 10px}.badge-collins{background:#ffeaa7;color:#d63031}.badge-oxford{background:#74b9ff;color:#0984e3}.badge-tag{background:#dfe6e9;color:#2d3436}.definition,.translation{margin-top:8px}.definition p,.translation p{color:#374151;font-size:14px;line-height:1.5;margin:2px 0}.translation p .pos-label{color:#667eea;font-weight:600;margin-right:6px}.translation .lemma-translation{border-top:1px dashed #d1d5db;margin-top:8px;padding-top:8px}.close-btn{background:#f3f4f6;color:#6b7280;font-size:14px;height:28px;position:absolute;right:10px;top:10px;transition:all .15s ease;width:28px}.close-btn:hover{background:#e5e7eb;color:#374151}.popover-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:12px;padding-top:10px}.action-btn{font-size:13px;padding:8px 12px}.action-btn:disabled{cursor:not-allowed;opacity:.7}.vocab-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.vocab-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.vocab-btn.added{background:linear-gradient(135deg,#00b894,#00cec9)}.note-btn{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.note-btn:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}.note-btn.added{background:linear-gradient(135deg,#00b894,#00cec9);border:none;color:#fff}.btn-loading{font-size:12px}.note-input-area{border-top:1px dashed #ddd;margin-top:12px;padding-top:12px}.note-textarea{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:13px;padding:10px 12px;resize:none}.note-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.note-input-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.note-cancel-btn,.note-submit-btn{border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s ease}.note-cancel-btn{background:#0000;border:1px solid #dee2e6;color:#6c757d}.note-cancel-btn:hover{background:#f8f9fa}.note-submit-btn{background:#667eea;border:none;color:#fff}.note-submit-btn:hover:not(:disabled){background:#5568d3}.note-submit-btn:disabled{cursor:not-allowed;opacity:.6}.heteronym-alert{border:1px solid #f59e0b;border-radius:8px;padding:12px}.heteronym-header{margin-bottom:10px}.heteronym-variants{gap:10px}.heteronym-variant{border-left:3px solid #f59e0b;border-radius:6px;padding:10px}.variant-header{gap:8px;margin-bottom:6px}.variant-phonetic{color:#1f2937;font-size:16px}.variant-pos{font-size:12px}.variant-tense{font-size:11px}.variant-meaning{margin-bottom:4px}.meaning-zh{font-size:14px}.variant-context{margin-top:4px}.context-example{font-size:12px}.heteronym-note{border-radius:6px;font-size:12px;margin-top:10px;padding:8px 10px}.examples-section{border-top:1px dashed #e0e0e0;margin-top:16px;padding-top:12px}.examples-header{align-items:center;color:#667eea;display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:10px}.examples-header:before{content:"📝";font-size:14px}.examples-list{gap:10px}.example-item{background:#f8f9ff;border-left:3px solid #667eea;border-radius:8px;padding:10px 12px}.example-en{color:#333;font-size:14px;margin-bottom:4px}.example-zh{color:#666;line-height:1.4}.clickable-word{border-radius:3px;color:inherit;margin:0 -2px;padding:0 2px;position:relative;text-decoration:none;transition:all .15s ease-out}.clickable-word:hover{background:#10b9811a;color:#10b981;text-decoration:underline;-webkit-text-decoration-color:#10b98180;text-decoration-color:#10b98180;text-underline-offset:2px}.clickable-word:active{background:#10b98133}.clickable-word:focus{outline:2px solid #10b98180;outline-offset:1px}.progress-bar-container{margin:1rem 0;width:100%}.progress-bar-wrapper{background:#e2e8f0;border-radius:8px;height:28px;overflow:hidden;position:relative;width:100%}.progress-bar-fill{align-items:center;background:linear-gradient(90deg,#2563eb,#10b981);border-radius:8px;display:flex;height:100%;justify-content:flex-end;padding-right:12px;position:relative;transition:width .3s ease}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fff0,#fff3 50%,#fff0);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-bar-percentage{color:#fff;font-size:.8rem;font-weight:600;text-shadow:0 1px 2px #0003;z-index:1}.progress-bar-info{align-items:center;color:#64748b;display:flex;font-size:.85rem;justify-content:space-between;margin-top:.5rem}.progress-bar-status{color:#1e293b;flex:1 1;font-weight:500}.progress-bar-count{color:#10b981;font-family:Courier New,monospace;font-weight:600;margin-left:1rem}.progress-bar-fill.loading{animation:pulse 1.5s ease-in-out infinite}.progress-bar-fill.completed{background:linear-gradient(90deg,#10b981,#34d399)}.progress-bar-fill.error{background:linear-gradient(90deg,#ef4444,#f87171)}.progress-bar-container.small .progress-bar-wrapper{height:20px}.progress-bar-container.small .progress-bar-percentage{font-size:.7rem}.progress-bar-container.small .progress-bar-info{font-size:.75rem;margin-top:.375rem}.results-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.results-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.success-badge{background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;color:#065f46;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a99}.modal-content{animation:slideUp .3s ease-out;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;padding:1.75rem;width:90%}.modal-content h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.modal-content p{color:#64748b;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.modal-actions{border-top:1px solid #f1f5f9;gap:.75rem;margin-top:1.5rem;padding-top:1rem}.modal-actions .btn-primary{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.modal-actions .btn-primary:hover{background:#1d4ed8;box-shadow:0 2px 8px #2563eb40}.modal-actions .btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.modal-actions .btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.modal-actions .btn-danger{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.modal-actions .btn-danger:hover{background:#dc2626;border-color:#dc2626;color:#fff}@media (max-width:768px){.results-header{flex-direction:column;gap:.75rem}.modal-content{margin:1rem;padding:1.25rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.voice-character-selector{width:100%}.voice-selector-error,.voice-selector-loading{padding:3rem;text-align:center}.voice-selector-loading{color:#64748b}.voice-selector-error{color:#dc2626}.voice-selector-error button{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:1rem;padding:.625rem 1.25rem;transition:all .2s ease}.voice-selector-error button:hover{background-color:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.speaker-header{background:linear-gradient(135deg,#1e40af,#2563eb);border-radius:10px;color:#fff;margin-bottom:1rem;padding:1rem 1.5rem}.speaker-header h4{font-size:1rem;font-weight:500;margin:0}.speaker-name{background-color:#f97316;border-radius:6px;color:#fff;display:inline-block;font-size:1.1rem;font-weight:700;margin-left:.5rem;padding:.25rem .75rem;text-decoration:none}.category-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:1px}.category-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.category-tab:hover{background-color:#f8fafc;color:#2563eb}.category-tab.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:600}.tab-icon{font-size:1.1rem}.tab-count{color:#94a3b8;font-size:.75rem}.category-description{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.category-description p{color:#64748b;font-size:.9rem;line-height:1.5;margin:0}.characters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.character-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:1rem;transition:all .2s ease}.character-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a}.character-card.selected{background:#ecfdf5;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.character-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.character-name{color:#1e293b;flex:1 1;font-size:.95rem;font-weight:600;margin:0}.character-gender{align-items:center;border-radius:6px;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;padding:.25rem .5rem;white-space:nowrap}.gender-male{background-color:#dbeafe;color:#1e40af}.gender-female{background-color:#fce7f3;color:#be185d}.gender-neutral{background-color:#f3e8ff;color:#6b21a8}.character-characteristics{color:#475569;font-size:.85rem;line-height:1.5;margin:.5rem 0}.character-detail{color:#64748b;font-size:.8rem;margin:.25rem 0}.character-detail strong{color:#1e293b}.character-actions{align-items:center;display:flex;gap:.5rem;margin-top:1rem}.preview-button{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.preview-button:hover{background-color:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.selected-indicator{color:#10b981;font-size:.8rem;font-weight:600}.character-use-cases{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.character-use-cases summary{align-items:center;color:#64748b;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.25rem;list-style:none}.character-use-cases summary::-webkit-details-marker{display:none}.character-use-cases summary:before{content:"▶";display:inline-block;font-size:.625rem;transition:transform .2s ease}.character-use-cases[open] summary:before{transform:rotate(90deg)}.character-use-cases ul{list-style-type:disc;margin:.5rem 0 0;padding-left:1.5rem}.character-use-cases li{color:#475569;font-size:.8rem;line-height:1.5;margin-bottom:.25rem}.no-characters{color:#64748b;padding:3rem;text-align:center}.spinner{margin:0 auto 1rem}@media (max-width:768px){.characters-grid{grid-template-columns:1fr}.category-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.category-tab{flex-shrink:0;font-size:.85rem;min-width:auto;padding:.625rem 1rem}}.bilingual-subtitles{align-items:center;background:linear-gradient(135deg,#0f172ae6,#1e293bd9);border-radius:10px;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;justify-content:center;margin-bottom:.75rem;margin-top:.75rem;min-height:80px;padding:1rem 1.5rem}.subtitle-line{animation:fadeIn .3s ease-out;font-weight:500;line-height:1.6;padding:.25rem .5rem;text-align:center}.subtitle-english{color:#fff;font-size:1rem;margin-bottom:.375rem;text-shadow:1px 1px 3px #0009}.subtitle-chinese{color:#86efac;font-weight:600}.subtitle-chinese,.subtitle-english-only{font-size:1.125rem;text-shadow:1px 1px 3px #0009}.subtitle-english-only{color:#fff}.subtitle-chinese-only{color:#86efac;font-size:1.25rem;font-weight:600;text-shadow:1px 1px 3px #0009}@media (max-width:768px){.bilingual-subtitles{min-height:70px;padding:.75rem 1rem}.subtitle-english{font-size:.875rem}.subtitle-chinese,.subtitle-english-only{font-size:1rem}.subtitle-chinese-only{font-size:1.125rem}}.stage-3-audio-generation{margin:0 auto;max-width:1000px;padding:1.5rem}.stage-3-audio-generation .stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.25rem;text-align:center}.stage-3-audio-generation .stage-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.stage-3-audio-generation .stage-header p{color:#64748b;font-size:.95rem;margin:0}.audio-configuration{display:flex;flex-direction:column;gap:1.5rem}.voice-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.voice-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;padding:1rem;transition:all .2s ease}.voice-option:hover{background:#f8fafc;border-color:#2563eb}.voice-option.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.voice-option input[type=radio]{accent-color:#2563eb;cursor:pointer;margin-right:.75rem}.voice-info{display:flex;flex-direction:column;gap:.25rem}.voice-info strong{color:#1e293b;font-size:.95rem;font-weight:600}.voice-info span{color:#64748b;font-size:.8rem}.speaker-voice-selection{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.speaker-voice-selection:hover{background:#f8fafc;border-color:#3b82f6}.speaker-label{align-items:center;color:#1e293b;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem}.voice-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;flex:2 1;font-size:.9rem;padding:.625rem 1rem;transition:border-color .2s ease}.voice-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.voice-select:hover{border-color:#3b82f6}.stage-3-audio-generation .form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:1.5rem}.stage-3-audio-generation .form-section h3{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem}.stage-3-audio-generation .form-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.stage-3-audio-generation .form-group{display:flex;flex-direction:column;gap:.5rem}.stage-3-audio-generation .form-group label{color:#1e293b;font-size:.9rem;font-weight:500}.stage-3-audio-generation .form-group select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.9rem;padding:.625rem 1rem;transition:border-color .2s ease}.stage-3-audio-generation .form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.stage-3-audio-generation .form-group input[type=range]{accent-color:#2563eb;cursor:pointer;width:100%}.stage-3-audio-generation .help-text{color:#64748b;font-size:.8rem;margin-top:.25rem}.stage-3-audio-generation .info-box,.stage-3-audio-generation .success-box{border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.stage-3-audio-generation .info-box{background:#f8fafc;border:1px solid #e2e8f0;border-left-width:4px}.stage-3-audio-generation .info-box h3{border-bottom:none;color:#1e40af;font-size:1rem;font-weight:600;margin-bottom:.75rem;margin-top:0;padding-bottom:0}.stage-3-audio-generation .info-box p{color:#1e293b;font-size:.9rem;line-height:1.6;margin:.5rem 0}.stage-3-audio-generation .success-box{background:#ecfdf5;border:1px solid #a7f3d0;border-left-width:4px}.stage-3-audio-generation .success-box h3{border-bottom:none;color:#065f46;font-size:1rem;font-weight:600;margin-bottom:.75rem;margin-top:0;padding-bottom:0}.audio-results{gap:1.25rem}.audio-info,.audio-results{display:flex;flex-direction:column}.audio-info{gap:.5rem;margin-top:.75rem}.audio-info p{color:#1e293b;font-size:.9rem;margin:0}.audio-info strong{color:#64748b;display:inline-block;font-weight:600;min-width:120px}.audio-player-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.audio-player-section h4{color:#1e293b;font-size:.95rem;font-weight:600;margin-bottom:1rem;margin-top:0}.audio-player{border-radius:6px;max-width:600px;outline:none}.stage-3-audio-generation .form-actions{display:flex;gap:1rem;justify-content:center;padding-top:1.5rem}.stage-3-audio-generation .btn-primary,.stage-3-audio-generation .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.stage-3-audio-generation .btn-primary{background:#2563eb;box-shadow:0 2px 8px #2563eb33;color:#fff}.stage-3-audio-generation .btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.stage-3-audio-generation .btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.stage-3-audio-generation .btn-secondary:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.stage-3-audio-generation .btn-primary:disabled,.stage-3-audio-generation .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.stage-3-audio-generation .loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.stage-3-audio-generation .loading-overlay p{color:#fff;font-size:1rem;font-weight:500;margin-top:1.25rem}.stage-3-audio-generation .loading-hint{color:#fffc;font-size:.9rem;margin-top:.5rem}.stage-3-audio-generation .spinner{animation:spin .8s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:52px;width:52px}@media (max-width:768px){.stage-3-audio-generation{padding:1rem}.stage-3-audio-generation .form-row,.voice-grid{grid-template-columns:1fr}.speaker-voice-selection{align-items:flex-start;flex-direction:column;gap:.75rem}.speaker-label,.voice-select{width:100%}.stage-3-audio-generation .form-actions{flex-direction:column}.stage-3-audio-generation .btn-primary,.stage-3-audio-generation .btn-secondary{width:100%}.stage-3-audio-generation .stage-header h2{font-size:1.375rem}}.dependency-graph-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:900px;padding:16px}.dg-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px}.dg-play-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.dg-play-btn:hover{box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.dg-play-btn:active{transform:translateY(0)}.dg-step-controls{background:#f1f5f9;border-radius:12px;gap:12px;padding:8px 16px}.dg-step-btn,.dg-step-controls{align-items:center;display:flex}.dg-step-btn{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#6366f1;cursor:pointer;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.dg-step-btn:hover:not(:disabled){background:#6366f1;color:#fff;transform:scale(1.1)}.dg-step-btn:disabled{cursor:not-allowed;opacity:.4}.dg-step-indicator{color:#666;font-size:14px;min-width:100px;text-align:center}.dg-reset-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.dg-reset-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.dg-reset-btn:disabled{cursor:not-allowed;opacity:.4}.dg-explanation{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:12px;margin-bottom:16px;min-height:60px;opacity:0;padding:16px 24px;text-align:center;transform:translateY(-10px);transition:all .3s ease}.dg-explanation.show{opacity:1;transform:translateY(0)}.dg-explanation p{color:#92400e;font-size:18px;line-height:1.6;margin:0}.dg-graph{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:16px;overflow-x:auto;padding:16px}.dg-svg{height:auto;min-height:200px;overflow:visible;width:100%}.dg-word{font-size:24px;font-weight:600;transition:all .3s ease}.dg-highlighted{font-size:28px;font-weight:700}.dg-arc{fill:none;stroke-width:2;transition:all .3s ease}.dg-arc-highlighted{stroke-width:3}.dg-arc-label{text-anchor:middle;font-size:13px;font-weight:500;transition:all .3s ease}.dg-arc-label-visible{animation:labelPopIn .3s ease-out;font-size:14px;font-weight:600}@keyframes labelPopIn{0%{opacity:0;transform:translateY(5px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.dg-pulse{animation:dgPulse 1s infinite}@keyframes dgPulse{0%,to{r:4;opacity:1}50%{r:8;opacity:.7}}.dg-legend{background:#f8fafc;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:16px}.dg-legend-item{align-items:center;color:#444;display:flex;font-size:14px;gap:8px}.dg-legend-color{border-radius:4px;height:16px;width:16px}@media (max-width:768px){.dependency-graph-container{padding:12px}.dg-controls{gap:12px}.dg-play-btn{font-size:13px;padding:8px 16px}.dg-step-controls{gap:8px;padding:6px 12px}.dg-step-btn{font-size:12px;height:32px;width:32px}.dg-explanation p{font-size:16px}.dg-legend{gap:12px}.dg-legend-item{font-size:12px}}.annotated-text{line-height:1.8}.annotated-word{border-radius:4px;cursor:pointer;display:inline;padding:2px 4px;position:relative;transition:all .2s ease}.annotated-word:hover{transform:translateY(-1px)}.annotated-word--cefr-A1{background-color:#22c55e26;border-bottom:2px solid #22c55e}.annotated-word--cefr-A1:hover{background-color:#22c55e40}.annotated-word--cefr-A2{background-color:#84cc1626;border-bottom:2px solid #84cc16}.annotated-word--cefr-A2:hover{background-color:#84cc1640}.annotated-word--cefr-B1{background-color:#eab30826;border-bottom:2px solid #eab308}.annotated-word--cefr-B1:hover{background-color:#eab30840}.annotated-word--cefr-B2{background-color:#f9731626;border-bottom:2px solid #f97316}.annotated-word--cefr-B2:hover{background-color:#f9731640}.annotated-word--cefr-C1{background-color:#ef444426;border-bottom:2px solid #ef4444}.annotated-word--cefr-C1:hover{background-color:#ef444440}.annotated-word--cefr-C2{background-color:#a855f726;border-bottom:2px solid #a855f7}.annotated-word--cefr-C2:hover{background-color:#a855f740}.annotated-word--lemma{border-bottom-style:dashed}.annotated-word__level{border-radius:3px;font-size:.6rem;font-weight:600;opacity:0;padding:1px 3px;pointer-events:none;position:absolute;right:-4px;top:-8px;transition:opacity .2s ease}.annotated-word:hover .annotated-word__level{opacity:1}.annotated-word--cefr-A1 .annotated-word__level{background-color:#22c55e;color:#fff}.annotated-word--cefr-A2 .annotated-word__level{background-color:#84cc16;color:#fff}.annotated-word--cefr-B1 .annotated-word__level{background-color:#eab308;color:#fff}.annotated-word--cefr-B2 .annotated-word__level{background-color:#f97316;color:#fff}.annotated-word--cefr-C1 .annotated-word__level{background-color:#ef4444;color:#fff}.annotated-word--cefr-C2 .annotated-word__level{background-color:#a855f7;color:#fff}.vocabulary-modal-overlay{align-items:center;animation:fadeIn .2s ease-in;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.vocabulary-modal{animation:slideUp .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:85vh;max-width:560px;min-height:0;overflow:hidden;width:calc(100% - 40px)}.vocabulary-modal *,.vocabulary-modal :after,.vocabulary-modal :before{box-sizing:border-box}.vocabulary-modal .modal-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;box-sizing:border-box;display:flex;justify-content:space-between;max-width:none;padding:20px 20px 14px;width:100%}.vocabulary-modal .word-title{text-align:left}.vocabulary-modal .word-title h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 8px;text-align:left}.vocabulary-modal .pronunciation-container{align-items:center;display:flex;gap:8px}.vocabulary-modal .pronunciation{color:#2563eb;font-family:Courier New,monospace;font-size:1rem;font-weight:500}.vocabulary-modal .audio-button{align-items:center;background:#2563eb;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.vocabulary-modal .audio-button:hover:not(:disabled){background:#1d4ed8;transform:scale(1.1)}.vocabulary-modal .audio-button:disabled{cursor:not-allowed;opacity:.7}.vocabulary-modal .audio-button.playing{animation:pulse .5s ease-in-out infinite alternate;background:#10b981}.vocabulary-modal .close-button{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.vocabulary-modal .close-button:hover{background:#e2e8f0;color:#1e293b}.vocabulary-modal .word-metadata{border-bottom:1px solid #e2e8f0;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;max-width:none;padding:10px 20px;width:100%}.vocabulary-modal .difficulty-tag,.vocabulary-modal .frequency-tag,.vocabulary-modal .pos-tag{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.vocabulary-modal .pos-tag{background:#eff6ff;color:#1e40af}.vocabulary-modal .difficulty-tag{border:1px solid}.vocabulary-modal .difficulty-tag.easy{background:#ecfdf5;border-color:#10b981;color:#065f46}.vocabulary-modal .difficulty-tag.medium{background:#fef3c7;border-color:#f97316;color:#92400e}.vocabulary-modal .difficulty-tag.hard{background:#fee2e2;border-color:#ef4444;color:#991b1b}.vocabulary-modal .frequency-tag{background:#f1f5f9;color:#475569}.vocabulary-modal .cefr-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.vocabulary-modal .cefr-badge--A1{background:#22c55e}.vocabulary-modal .cefr-badge--A2{background:#84cc16}.vocabulary-modal .cefr-badge--B1{background:#eab308}.vocabulary-modal .cefr-badge--B2{background:#f97316}.vocabulary-modal .cefr-badge--C1{background:#ef4444}.vocabulary-modal .cefr-badge--C2{background:#dc2626}.vocabulary-modal .modal-content{box-sizing:border-box;flex:1 1;max-width:none;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 20px 24px;scrollbar-color:#cbd5e1 #0000;scrollbar-width:thin;width:100%}.vocabulary-modal .modal-content::-webkit-scrollbar{width:8px}.vocabulary-modal .modal-content::-webkit-scrollbar-track{background:#0000}.vocabulary-modal .modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.vocabulary-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.vocabulary-modal .modal-content:after{background:linear-gradient(0deg,#fffffff2,#0000);bottom:0;content:"";display:block;height:20px;left:0;margin-top:-20px;pointer-events:none;position:-webkit-sticky;position:sticky;right:0}.vocabulary-modal section{box-sizing:border-box;display:block;margin-bottom:20px;max-width:none;width:100%}.vocabulary-modal section:last-child{margin-bottom:0}.vocabulary-modal section h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 12px;text-align:left}.vocabulary-modal section h4{color:#64748b;font-size:.8rem;font-weight:600;margin:0 0 6px;text-align:left}.vocabulary-modal .definition-item,.vocabulary-modal .definition-section{box-sizing:border-box;display:block;max-width:none;width:100%}.vocabulary-modal .definition-item{border-radius:8px;margin-bottom:12px;padding:12px 14px;text-align:left}.vocabulary-modal .context-definition{background:#fef3c7;border-left:4px solid #f97316}.vocabulary-modal .context-definition h4{color:#92400e}.vocabulary-modal .context-definition p{color:#78350f;font-size:.9rem;font-weight:500;line-height:1.6;margin:0;text-align:left}.vocabulary-modal .general-definition{background:#eff6ff;border-left:4px solid #2563eb}.vocabulary-modal .general-definition h4{color:#1e40af}.vocabulary-modal .def-en,.vocabulary-modal .def-zh{font-size:.9rem;line-height:1.6;margin:4px 0;text-align:left}.vocabulary-modal .def-en{color:#1e3a8a;font-style:italic}.vocabulary-modal .def-zh{color:#1e40af;font-weight:500}.vocabulary-modal .context-example{background:#ecfdf5;border-left:4px solid #10b981;border-radius:8px;box-sizing:border-box;display:block;margin-bottom:12px;max-width:none;padding:12px 14px;text-align:left;width:100%}.vocabulary-modal .context-example h4{color:#065f46}.vocabulary-modal .context-text{color:#047857;font-size:.9rem;font-style:italic;line-height:1.6;margin:0;text-align:left}.vocabulary-modal .example-item{background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:8px;box-sizing:border-box;margin-bottom:12px;padding:12px 14px;text-align:left;width:100%}.vocabulary-modal .example-item:last-child{margin-bottom:0}.vocabulary-modal .example-en{color:#1e293b;font-size:.9rem;line-height:1.6;margin:0 0 6px;text-align:left}.vocabulary-modal .example-zh{color:#64748b;font-size:.85rem;line-height:1.5;margin:0;text-align:left}.vocabulary-modal .related-group{margin-bottom:16px}.vocabulary-modal .related-group:last-child{margin-bottom:0}.vocabulary-modal .word-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:8px}.vocabulary-modal .word-tag{border:1px solid;border-radius:16px;font-size:.85rem;font-weight:500;padding:6px 12px}.vocabulary-modal .word-tag.synonym{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.vocabulary-modal .word-tag.antonym{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.vocabulary-modal .word-tag.collocation{background:#ecfdf5;border-color:#6ee7b7;color:#065f46}.vocabulary-modal .quiz-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f97316;border-radius:12px;box-sizing:border-box;padding:20px;width:100%}.vocabulary-modal .quiz-section h3{color:#92400e}.vocabulary-modal .quiz-question{margin-bottom:16px}.vocabulary-modal .question-en{color:#78350f;font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 6px}.vocabulary-modal .question-zh{color:#92400e;font-size:.9rem;line-height:1.5;margin:0}.vocabulary-modal .quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.vocabulary-modal .quiz-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;text-align:left;transition:all .2s ease;width:100%}.vocabulary-modal .quiz-option:hover:not(:disabled){border-color:#f97316;box-shadow:0 2px 8px #f9731626}.vocabulary-modal .quiz-option:disabled{cursor:not-allowed}.vocabulary-modal .quiz-option.correct{background:#ecfdf5;border-color:#10b981}.vocabulary-modal .quiz-option.incorrect{background:#fee2e2;border-color:#ef4444}.vocabulary-modal .option-letter{align-items:center;background:#f1f5f9;border-radius:50%;color:#475569;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.vocabulary-modal .quiz-option.correct .option-letter{background:#10b981;color:#fff}.vocabulary-modal .quiz-option.incorrect .option-letter{background:#ef4444;color:#fff}.vocabulary-modal .option-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.vocabulary-modal .option-text{color:#1e293b;font-size:.9rem;font-weight:500}.vocabulary-modal .option-translation{color:#64748b;font-size:.85rem}.vocabulary-modal .check-icon,.vocabulary-modal .cross-icon{flex-shrink:0;font-size:20px;font-weight:700}.vocabulary-modal .check-icon{color:#10b981}.vocabulary-modal .cross-icon{color:#ef4444}.vocabulary-modal .quiz-explanation{background:#fff;border:1px solid #10b981;border-radius:8px;box-sizing:border-box;padding:16px;width:100%}.vocabulary-modal .quiz-explanation h4{color:#065f46;font-size:.95rem;font-weight:700;margin:0 0 10px}.vocabulary-modal .explanation-en,.vocabulary-modal .explanation-zh{font-size:.9rem;line-height:1.6;margin:6px 0}.vocabulary-modal .explanation-en{color:#1e293b}.vocabulary-modal .explanation-zh{color:#047857;font-weight:500}@media (max-width:768px){.vocabulary-modal{border-radius:0;max-height:100vh;max-width:100%}.vocabulary-modal .modal-content,.vocabulary-modal .modal-header,.vocabulary-modal .word-metadata{padding-left:16px;padding-right:16px}.vocabulary-modal .word-title h2{font-size:1.375rem}.vocabulary-modal section h3{font-size:1rem}}.sentence-display{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:20px;padding:20px;transition:box-shadow .2s ease}.sentence-display:hover{box-shadow:0 4px 12px #00000014}.sentence-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;gap:12px;margin-bottom:16px;padding-bottom:12px}.sentence-number{background:#eff6ff;color:#2563eb;font-size:14px;font-weight:700}.sentence-number,.sentence-speaker{border-radius:16px;padding:4px 12px}.sentence-speaker{background:#d1fae5;color:#059669;font-size:13px;font-weight:600}.sentence-header-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.sentence-play-btn{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:6px;box-shadow:0 1px 3px #0000000a;color:#2563eb;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.sentence-play-btn:hover:not(.disabled){background:#eff6ff;border-color:#93c5fd;box-shadow:0 2px 6px #2563eb33;transform:translateY(-1px)}.sentence-play-btn.playing{background:#2563eb;border-color:#2563eb;color:#fff}.sentence-play-btn.disabled{background:#f8fafc;border-color:#e2e8f0;color:#cbd5e1;cursor:not-allowed}.sentence-play-btn.disabled:hover{box-shadow:0 1px 3px #0000000a;transform:none}.sentence-edit-btn{align-items:center;background:#fff;border:1px solid #fde68a;border-radius:6px;box-shadow:0 1px 3px #0000000a;color:#f97316;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.sentence-edit-btn:hover{background:#fef3c7;border-color:#f59e0b;box-shadow:0 2px 6px #f9731633;transform:translateY(-1px)}.sentence-edit-btn:active{box-shadow:0 1px 3px #0000000a;transform:translateY(0)}.sentence-content{margin-bottom:20px}.sentence-english{color:#1e293b;font-size:18px;font-weight:500;line-height:1.8;margin-bottom:12px}.sentence-chinese{color:#64748b;font-size:16px;font-style:italic;font-weight:400;line-height:1.8;padding-left:0}.clickable-word{border-radius:4px;cursor:pointer;padding:2px 4px;text-decoration:underline;-webkit-text-decoration-color:#94a3b8;text-decoration-color:#94a3b8;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;transition:all .2s ease}.clickable-word:hover{background:#fef3c7;color:#92400e;-webkit-text-decoration-color:#f97316;text-decoration-color:#f97316}.clickable-word.key-word{color:#dc2626;font-weight:600;-webkit-text-decoration-color:#dc2626;text-decoration-color:#dc2626}.clickable-word.key-word:hover{background:#fee2e2;color:#991b1b}.grammar-points{background:#fef3c7;border-left:4px solid #f97316;border-radius:8px;margin-top:20px;padding:16px}.grammar-points h5{color:#92400e;font-size:14px;font-weight:700;margin:0 0 12px}.grammar-point{margin-bottom:12px}.grammar-point:last-child{margin-bottom:0}.grammar-pattern{margin-bottom:8px}.grammar-pattern code{background:#fef9c3;border-radius:4px;color:#92400e;font-family:Courier New,monospace;font-size:13px;font-weight:600;padding:4px 8px}.grammar-explanation p{color:#78350f;font-size:14px;line-height:1.6;margin:6px 0}.grammar-points .grammar-point .grammar-example{color:#a16207;font-style:italic;margin-top:8px}.cultural-notes{background:#eff6ff;border-left:4px solid #2563eb;border-radius:8px;margin-top:20px;padding:16px}.cultural-notes h5{color:#1e40af;font-size:14px;font-weight:700;margin:0 0 8px}.cultural-notes p{color:#1e3a8a;font-size:14px;line-height:1.6;margin:0}.speaking-strategy{background:#ecfdf5;border-left:4px solid #10b981;border-radius:8px;margin-top:20px;padding:16px}.speaking-strategy h5{color:#065f46;font-size:14px;font-weight:700;margin:0 0 12px}.chunks-container{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.chunk-item{border:1px solid #d1fae5;flex:1 1 auto;min-width:150px}.chunk-text{color:#065f46;font-size:14px}.chunk-translation{color:#059669;font-size:13px;margin-bottom:6px}.chunk-focus{color:#64748b;font-size:12px;font-style:italic}.speaking-tips{background:#fff;border-radius:6px;color:#047857;font-size:13px;line-height:1.6;padding:12px}.speaking-tips strong{color:#065f46}.key-vocabulary-list{background:#fef2f2;border-left:4px solid #ef4444;border-radius:8px;margin-top:20px;padding:16px}.key-vocabulary-list h5{color:#991b1b;font-size:14px;font-weight:700;margin:0 0 12px}.key-vocab-tags{display:flex;flex-wrap:wrap;gap:8px}.key-vocab-tag{background:#fee2e2;border:1px solid #fecaca;border-radius:16px;color:#991b1b;font-size:13px;font-weight:600;padding:6px 12px}.sentence-analysis{background:#f5f3ff;border-left:4px solid #8b5cf6;border-radius:8px;margin-top:20px;padding:16px;position:relative}.sentence-analysis-header{align-items:center;display:flex;justify-content:center;margin-bottom:12px;position:relative}.sentence-analysis h5{color:#5b21b6;font-size:14px;font-weight:700;margin:0}.analysis-sentence-container{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.analysis-sentence{background:#fff;border:1px solid #e9d5ff;border-radius:8px;color:#1e293b;flex:1 1;font-size:18px;line-height:2;padding:16px 20px}.annotation-underline-static{border-bottom:2px dashed #a78bfa}.annotation-highlight-static{background:#fef3c7}.sentence-analysis .analysis-token.annotation-underline{background:#ede9fe;border-bottom:3px solid #8b5cf6;margin:0;padding:0}.sentence-analysis .analysis-token.annotation-highlight{background:linear-gradient(0deg,#fde047 40%,#0000 0);border-radius:0;box-shadow:none;margin:0;padding:0}.sentence-analysis .analysis-token.annotation-hide_text{background:#e2e8f0;border-radius:2px;color:#0000;margin:0;padding:0}.explanation-play-btn{align-items:center;background:#fff;border:1.5px solid #8b5cf6;border-radius:14px;color:#8b5cf6;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px;position:absolute;right:0;transition:background .2s ease,color .2s ease;white-space:nowrap}.explanation-play-btn:hover{background:#8b5cf6;color:#fff}.explanation-play-btn.playing{animation:pulse-bg 1s ease-in-out infinite;background:#8b5cf6;color:#fff}@keyframes pulse-bg{0%,to{background:#8b5cf6}50%{background:#7c3aed}}.analysis-explanation{background:#fff;border:1px solid #e9d5ff;border-radius:8px;padding:14px 18px}.analysis-explanation p{color:#6b21a8;font-size:15px;line-height:1.8;margin:0}.dependency-graph-section{border-top:1px dashed #e2e8f0;display:block;margin-top:16px;padding-top:16px;position:relative}.dependency-graph-header{align-items:center;display:flex;flex-direction:row;gap:8px;margin-bottom:12px}.btn-toggle-graph{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.btn-toggle-graph.active,.btn-toggle-graph:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.btn-toggle-graph .graph-icon{font-size:16px}.btn-toggle-graph .toggle-arrow{color:#94a3b8;font-size:10px;transition:transform .2s ease}.btn-toggle-graph.active .toggle-arrow{color:#2563eb}.btn-regenerate-graph{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-regenerate-graph:hover:not(:disabled){background:#fffbeb;border-color:#f59e0b;color:#d97706}.btn-regenerate-graph:disabled{cursor:not-allowed;opacity:.6}.btn-regenerate-graph.loading{background:#fffbeb;border-color:#f59e0b;color:#d97706;flex-direction:row;gap:8px;height:auto}.dependency-graph-content{animation:slideDown .3s ease;overflow:hidden}@media (max-width:768px){.sentence-display{padding:16px}.sentence-english{font-size:16px}.sentence-chinese{font-size:15px}.chunks-container{flex-direction:column}.chunk-item{min-width:0;min-width:auto}.btn-toggle-graph{font-size:13px;padding:6px 12px}.dependency-graph-content{overflow-x:auto}}.edit-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.edit-modal{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.edit-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.edit-modal-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.btn-close{font-size:1.5rem;line-height:1}.edit-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.edit-modal-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-cancel,.btn-save{border-radius:8px;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-save:hover:not(:disabled){box-shadow:0 4px 12px #2563eb40}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.5}.edit-field{margin-bottom:1.25rem}.edit-field:last-child{margin-bottom:0}.edit-field label{color:#1e293b;display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.edit-field input[type=number],.edit-field input[type=text],.edit-field select,.edit-field textarea{border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.9rem;padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.edit-field input:focus,.edit-field select:focus,.edit-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.edit-field textarea{font-family:inherit;min-height:80px}.edit-field input::placeholder,.edit-field textarea::placeholder{color:#94a3b8}.edit-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.edit-row{display:flex;gap:1rem;margin-bottom:1.25rem}.edit-row .edit-field{flex:1 1;margin-bottom:0}.edit-row .edit-field.flex-2{flex:2 1}.edit-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.options-list{gap:.75rem}.option-row{align-items:center;display:flex;gap:.5rem}.option-label{color:#64748b;font-weight:600;min-width:24px}.option-input{border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:.9rem;padding:.5rem .75rem}.option-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.option-row input[type=radio]{accent-color:#10b981;cursor:pointer;height:18px;width:18px}.btn-remove-option{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.6;padding:.25rem;transition:opacity .2s ease}.btn-remove-option:hover{opacity:1}.btn-add-option{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s ease}.btn-add-option:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.btn-edit{align-items:center;border-radius:6px;color:#64748b;display:inline-flex;font-size:.8rem;gap:.25rem;padding:.375rem .625rem}.btn-edit:hover{border-color:#2563eb;color:#2563eb}.btn-edit-icon{font-size:.9rem}.btn-edit-sm{font-size:.75rem;padding:.25rem .5rem}.btn-delete{background:#0000;border-radius:6px;display:inline-flex;font-size:.8rem;gap:.25rem;padding:.375rem .625rem}.btn-delete:hover{background:#fef2f2;border-color:#f87171}.btn-add{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;display:inline-flex;font-size:.9rem;gap:.375rem;padding:.5rem 1rem}.btn-add:hover{background:#d1fae5;border-color:#6ee7b7}.content-actions-bar{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.75rem}.editable-item{position:relative}.editable-item:hover .item-edit-actions{opacity:1}.item-edit-actions{display:flex;gap:.25rem;opacity:0;position:absolute;right:.5rem;top:.5rem;transition:opacity .2s ease;z-index:10}@media (hover:none){.item-edit-actions{opacity:1}}@media (max-width:640px){.edit-modal{border-radius:0;max-height:100vh;max-width:100%}.edit-row{flex-direction:column;gap:0}.edit-row .edit-field{margin-bottom:1rem}.option-row{flex-wrap:wrap}.option-input{min-width:100px}}.sentence-analysis-modal{max-width:800px}.sentence-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sentence-preview label{color:#64748b;display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.sentence-preview .preview-text{color:#1e293b;font-size:1.1rem;font-weight:500;line-height:1.5;margin:0}.field-hint{color:#64748b;font-size:.8rem;font-style:italic;margin:.5rem 0 0}.edit-success{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.annotation-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.annotation-number{min-width:24px}.annotation-text{border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:.9rem;min-width:150px;padding:.5rem .75rem}.annotation-text:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.annotation-times{align-items:center;display:flex;gap:.5rem}.annotation-time{border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;padding:.5rem;text-align:center;width:70px}.annotation-time:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.annotation-times span{color:#64748b;font-size:.9rem}.time-unit{color:#94a3b8;font-size:.8rem}.btn-remove-annotation{font-size:1.25rem;line-height:1;padding:.25rem .5rem}.btn-add-annotation{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.9rem;padding:.625rem 1rem;text-align:center}.btn-add-annotation:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.current-audio-preview{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1rem}.current-audio-preview label{color:#1e293b;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.current-audio-preview audio{border-radius:8px;width:100%}.btn-regenerate{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#2563eb;cursor:pointer;font-size:.9rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.btn-regenerate:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd;box-shadow:0 4px 12px #2563eb26}.btn-regenerate:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.annotation-row{flex-wrap:wrap}.annotation-text{flex:100% 1;margin-top:.5rem;order:2}.annotation-times{justify-content:flex-start;margin-top:.5rem;order:3;width:100%}.annotation-number{order:1}.btn-remove-annotation{margin-left:auto;order:1}}.annotation-editor-modal{max-width:900px}.sentence-display{background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.sentence-display-label{align-items:center;color:#64748b;display:flex;font-size:.85rem;font-weight:500;gap:.75rem;margin-bottom:.5rem}.btn-inline-play{align-items:center;background:#f97316;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.85rem;height:28px;justify-content:center;margin-left:4px;transition:all .2s ease;width:28px}.btn-inline-play:hover{background:#ea580c;transform:scale(1.1)}.btn-inline-play.playing{background:#ef4444}.btn-inline-play.playing:hover{background:#dc2626}.btn-inline-play.disabled,.btn-inline-play:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.5}.btn-inline-play.disabled:hover,.btn-inline-play:disabled:hover{background:#cbd5e1;transform:none}.playing-indicator{animation:pulse 1.5s ease-in-out infinite;color:#10b981;font-size:.8rem}.sentence-text{background:#fff;border-bottom:4px solid #0000;border-radius:6px;font-size:1.25rem;font-weight:500;line-height:2;min-height:56px;padding:.5rem .5rem .75rem}.sentence-text .effect-underline{color:#1d4ed8;display:inline;text-decoration:underline;-webkit-text-decoration-color:#2563eb;text-decoration-color:#2563eb;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:3px;text-underline-offset:4px;vertical-align:initial}.sentence-text .effect-highlight{box-shadow:inset 0 -.4em 0 #f9731666;display:inline;vertical-align:initial}.sentence-text .effect-hide_text{background:#1e293b;border-radius:2px;color:#1e293b;display:inline;vertical-align:initial}.sentence-text .effect-insert{background:#d1fae5;border-radius:2px;color:#059669;display:inline;vertical-align:initial}.token-grid{margin-bottom:1.5rem}.token-grid-label{align-items:center;color:#64748b;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.token-grid-hint{color:#94a3b8;font-weight:400}.token-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:2px;min-height:60px;padding:.75rem}.token-item{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;flex-direction:column;padding:4px 6px;position:relative;transition:all .15s ease;-webkit-user-select:none;user-select:none}.token-item:hover{background:#f1f5f9}.token-item.selected{background:#dbeafe;outline:2px solid #2563eb}.token-item.in-range{background:#dbeafe}.token-item.start-token{border-left:3px solid #2563eb}.token-item.end-token{border-right:3px solid #2563eb}.token-index{color:#94a3b8;font-size:.65rem;font-weight:600;margin-bottom:2px}.token-text{color:#1e293b;font-family:SF Mono,Consolas,monospace;font-size:.95rem}.token-text.space{background:#f1f5f9;border-radius:2px;color:#cbd5e1;padding:0 4px}.token-text.punctuation{color:#64748b}.token-item.has-annotation-underline{border-bottom:3px solid #2563eb}.token-item.has-annotation-highlight{background:#f973164d}.token-item.has-annotation-hide_text{background:#ef444433;text-decoration:line-through}.annotations-section{margin-bottom:1.5rem}.annotations-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.annotations-section-label{color:#64748b;font-size:.85rem;font-weight:500}.btn-add-annotation{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#059669;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.375rem;padding:.375rem .75rem;transition:all .2s ease}.btn-add-annotation:hover{background:#d1fae5;border-color:#6ee7b7}.annotations-list{display:flex;flex-direction:column;gap:.75rem}.annotation-item{align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;padding:.875rem;transition:border-color .2s ease}.annotation-item:hover{border-color:#cbd5e1}.annotation-item.editing{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.annotation-number{align-items:center;background:#f1f5f9;border-radius:50%;color:#64748b;display:flex;flex-shrink:0;font-size:.85rem;font-weight:600;height:28px;justify-content:center;width:28px}.annotation-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.annotation-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.annotation-effect-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.85rem;min-width:80px;padding:.375rem .5rem}.annotation-effect-select:focus{border-color:#2563eb;outline:none}.annotation-position{align-items:center;background:#0000;border:none;display:flex;gap:.375rem;outline:none}.annotation-position-label{color:#64748b;font-size:.8rem}.annotation-position-input{border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;padding:.375rem .5rem;text-align:center;width:50px}.annotation-position-input:focus{border-color:#2563eb;outline:none}.annotation-position-arrow{color:#94a3b8}.annotation-time{align-items:center;background:#0000;border:none;display:flex;gap:.375rem;outline:none}.annotation-time-label{color:#64748b;font-size:.8rem}.annotation-time-input{border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;padding:.375rem .5rem;text-align:center;width:65px}.annotation-time-input:focus{border-color:#2563eb;outline:none}.annotation-time-unit{color:#94a3b8;font-size:.75rem}.annotation-preview{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:.85rem;gap:.5rem;padding:.375rem .625rem}.annotation-preview-label{color:#64748b}.annotation-preview-text{color:#1e293b;font-family:SF Mono,Consolas,monospace;font-weight:500}.annotation-actions{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.btn-select-range{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:.75rem;padding:.375rem .625rem;transition:all .2s ease}.btn-select-range:hover{background:#f1f5f9;border-color:#cbd5e1}.btn-select-range.active{background:#dbeafe;border-color:#2563eb;color:#1d4ed8}.btn-remove-annotation{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.1rem;opacity:.6;padding:.375rem .5rem;transition:opacity .2s ease}.btn-remove-annotation:hover{opacity:1}.audio-section{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.audio-section-label{color:#92400e;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.audio-player-row{align-items:center;display:flex;gap:1rem}.audio-player-row audio{flex:1 1;height:36px}.audio-duration{color:#92400e;font-size:.9rem;font-weight:500}.explanation-section{margin-bottom:1rem}.explanation-label{color:#64748b;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.explanation-textarea{border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.5;min-height:100px;padding:.75rem;resize:vertical;width:100%}.explanation-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.timeline-section{margin-bottom:1.5rem}.timeline-label{align-items:center;color:#64748b;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.timeline-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;height:80px;overflow:visible;position:relative}.timeline-track{background:#e2e8f0;border-radius:2px;height:4px;left:16px;right:16px}.timeline-segment,.timeline-track{position:absolute;top:50%;transform:translateY(-50%)}.timeline-segment{align-items:center;border-radius:4px;color:#fff;cursor:grab;display:flex;font-size:.75rem;font-weight:600;height:28px;justify-content:center;transition:opacity .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none;z-index:5}.timeline-segment:hover{box-shadow:0 2px 8px #0003;opacity:.95}.timeline-segment.underline{background:#2563eb}.timeline-segment.highlight{background:#f97316}.timeline-segment.hide_text{background:#ef4444}.timeline-segment.active{box-shadow:0 0 0 3px #ffffff80,0 0 12px #0000004d;opacity:1!important;transform:translateY(-50%) scale(1.05);z-index:6}.timeline-segment.dragging{box-shadow:0 4px 12px #0000004d;cursor:grabbing;opacity:.8;z-index:10}.segment-label{pointer-events:none}.segment-handle{background:#ffffffe6;bottom:-4px;cursor:ew-resize;opacity:0;position:absolute;top:-4px;transition:opacity .2s ease;width:12px;z-index:10}.segment-handle:after{background:#64748b;border-radius:2px;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:4px}.timeline-segment.dragging .segment-handle,.timeline-segment:hover .segment-handle{opacity:1}.segment-handle-left{border-radius:4px 0 0 4px;left:-6px}.segment-handle-right{border-radius:0 4px 4px 0;right:-6px}.timeline-time-markers{bottom:8px;color:#94a3b8;display:flex;font-size:.7rem;justify-content:space-between;left:16px;position:absolute;right:16px}.annotations-empty{color:#94a3b8;padding:2rem;text-align:center}.annotations-empty-icon{font-size:2rem;margin-bottom:.5rem}.audio-preview-section{background:linear-gradient(90deg,#fef3c7,#fef9c3);border:1px solid #fcd34d;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.audio-preview-section audio{display:none}.audio-controls-row{align-items:center;display:flex;gap:1rem}.btn-play-pause{align-items:center;background:#f97316;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:44px;justify-content:center;transition:all .2s ease;width:44px}.btn-play-pause:hover{background:#ea580c;transform:scale(1.05)}.btn-play-pause.playing{background:#ef4444}.btn-play-pause.playing:hover{background:#dc2626}.audio-seek-bar{background:#fff9;border:1px solid #fcd34d;border-radius:4px;cursor:pointer;flex:1 1;height:8px;position:relative}.audio-seek-progress{border-radius:4px 0 0 4px;bottom:0;left:0;top:0}.audio-seek-progress,.audio-seek-thumb{background:#f97316;pointer-events:none;position:absolute}.audio-seek-thumb{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:16px;top:50%;transform:translate(-50%,-50%);width:16px}.audio-current-time{color:#92400e;flex-shrink:0;font-family:SF Mono,Consolas,monospace;font-size:.85rem;font-weight:600;min-width:90px;text-align:right}.audio-preview-hint{color:#92400e;font-size:.8rem;margin-top:.5rem;text-align:center}.timeline-hint{color:#94a3b8;font-size:.75rem;font-weight:400;margin-left:.75rem}.timeline-cursor{background:#ef4444;border-radius:2px;bottom:28px;pointer-events:none;position:absolute;top:8px;width:3px;z-index:15}.timeline-cursor:before{background:#ef4444;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;content:"";height:12px;left:-5px;position:absolute;top:-6px;width:12px}.timeline-cursor-time{background:#ef4444;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;font-family:SF Mono,Consolas,monospace;font-size:.7rem;font-weight:600;left:50%;padding:2px 6px;position:absolute;top:-28px;transform:translateX(-50%);white-space:nowrap;z-index:20}.timeline-cursor.playing{animation:cursor-pulse 1s ease-in-out infinite}@keyframes cursor-pulse{0%,to{opacity:1}50%{opacity:.7}}.annotation-item.playback-active{background:#fef3c7;border-color:#f97316!important;box-shadow:0 0 0 3px #f973164d}.token-item.selectable{cursor:crosshair}.token-item.selectable:hover{background:#bfdbfe;transform:scale(1.05)}@media (max-width:768px){.annotation-item{flex-direction:column;gap:.5rem}.annotation-row{align-items:flex-start;flex-direction:column}.annotation-actions{flex-direction:row;justify-content:flex-end;width:100%}}.stage-4-validation{margin:0 auto;max-width:1200px;padding:1.5rem}.stage-4-validation .stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.stage-4-validation .stage-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.stage-4-validation .stage-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.stage-4-validation .stage-header p{color:#64748b;font-size:1rem;margin:0}.stage-4-validation .course-title-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:1.5rem;padding:1.5rem}.stage-4-validation .course-title-container{margin-bottom:1rem}.stage-4-validation .title-display{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.stage-4-validation .course-title{color:#1e293b;flex:1 1;font-size:1.5rem;font-weight:600;margin:0}.stage-4-validation .btn-edit-title{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.stage-4-validation .btn-edit-title:hover{background:#dbeafe;border-color:#93c5fd}.stage-4-validation .title-edit-form{display:flex;flex-direction:column;gap:12px}.stage-4-validation .title-input{border:2px solid #2563eb;border-radius:8px;color:#1e293b;font-size:1.25rem;font-weight:600;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.stage-4-validation .title-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #2563eb1a}.stage-4-validation .title-input:disabled{cursor:not-allowed;opacity:.6}.stage-4-validation .title-edit-actions{display:flex;gap:8px}.stage-4-validation .btn-title-cancel,.stage-4-validation .btn-title-save{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.stage-4-validation .btn-title-save{background:#10b981;border:none;color:#fff}.stage-4-validation .btn-title-save:hover:not(:disabled){background:#059669;box-shadow:0 2px 8px #10b98140}.stage-4-validation .btn-title-save:disabled{cursor:not-allowed;opacity:.5}.stage-4-validation .btn-title-cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.stage-4-validation .btn-title-cancel:hover:not(:disabled){background:#e2e8f0}.stage-4-validation .btn-title-cancel:disabled{cursor:not-allowed;opacity:.5}.stage-4-validation .course-meta{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1rem}.stage-4-validation .meta-item{color:#64748b;font-size:14px}.stage-4-validation .meta-item strong{color:#1e293b;margin-right:4px}.stage-4-validation .btn-edit-subtitles{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.stage-4-validation .btn-edit-subtitles:hover{background:#dbeafe;border-color:#93c5fd}.stage-4-validation .audio-preview-section{background:linear-gradient(135deg,#1e293b,#334155);border-radius:12px;color:#fff;margin-bottom:1.5rem;padding:1.75rem}.stage-4-validation .audio-preview-section .section-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:8px}.stage-4-validation .audio-preview-section .section-header h3{color:#fff;margin:0}.stage-4-validation .audio-preview-section .btn-edit-subtitles{background:#fffffff2;border-color:#ffffff80;color:#1e293b}.stage-4-validation .audio-preview-section .btn-edit-subtitles:hover{background:#fff;border-color:#fff}.stage-4-validation .audio-preview-section .section-description{color:#fffc}.stage-4-validation .audio-player-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;padding:1.25rem}.stage-4-validation .subtitle-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stage-4-validation .subtitle-label{color:#ffffffe6;font-size:14px;font-weight:600;margin-right:8px}.stage-4-validation .subtitle-btn{background:#0000;border:2px solid #ffffff4d;border-radius:20px;color:#fffc;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.stage-4-validation .subtitle-btn:hover{background:#ffffff26;border-color:#ffffff80}.stage-4-validation .subtitle-btn.active{color:#fff}.stage-4-validation .subtitle-btn.active.off{background:#94a3b880;border-color:#94a3b8}.stage-4-validation .subtitle-btn.active.en{background:#2563eb80;border-color:#2563eb}.stage-4-validation .subtitle-btn.active.zh{background:#10b98180;border-color:#10b981}.stage-4-validation .subtitle-btn.active.both{background:#f9731680;border-color:#f97316}.stage-4-validation .main-audio-player{background:#f8fafc;border-radius:8px;display:block;height:54px;margin-bottom:16px;min-height:54px;width:100%}.stage-4-validation .main-audio-player::-webkit-media-controls-panel{background:#f8fafc;border-radius:8px}.stage-4-validation .main-audio-player::-webkit-media-controls-current-time-display,.stage-4-validation .main-audio-player::-webkit-media-controls-mute-button,.stage-4-validation .main-audio-player::-webkit-media-controls-play-button,.stage-4-validation .main-audio-player::-webkit-media-controls-time-remaining-display,.stage-4-validation .main-audio-player::-webkit-media-controls-timeline,.stage-4-validation .main-audio-player::-webkit-media-controls-volume-slider{display:flex!important;opacity:1!important;visibility:visible!important}.stage-4-validation .main-audio-player::-webkit-media-controls-enclosure{background:#f8fafc;border-radius:8px}.stage-4-validation .audio-duration{color:#ffffffb3;font-size:14px;margin:12px 0 0;text-align:center}.learning-content-section{background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:1.5rem;padding:1.75rem}.section-header{margin-bottom:1.5rem;text-align:center}.section-header h3{font-size:1.25rem;margin:0 0 12px}.section-description{color:#64748b;font-size:.95rem;line-height:1.6;margin:0 auto;max-width:700px}.sentences-container{margin-bottom:1.5rem}.vocabulary-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.vocabulary-header{margin-bottom:1.5rem;text-align:center}.vocabulary-header h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 8px}.vocabulary-header p{color:#64748b;font-size:.95rem;margin:0}.vocabulary-cards{grid-gap:1rem;gap:1rem}.vocab-card{border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000a;padding:1.25rem;transition:all .2s ease}.vocab-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.vocab-card.clickable:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb26}.vocab-card.clickable:after{bottom:8px;color:#2563eb;content:"Click for details";font-size:11px;opacity:0;position:absolute;right:12px;transition:opacity .2s ease}.vocab-card.clickable:hover:after{opacity:1}.vocab-card-header{gap:10px;margin-bottom:8px}.vocab-word{color:#1e293b;font-size:1.125rem}.vocab-pos{background:#eff6ff;border-radius:12px;color:#2563eb;font-size:11px;font-weight:600;text-transform:uppercase}.vocab-difficulty{padding:2px 8px}.vocab-difficulty.diff-easy{background:#ecfdf5;color:#047857}.vocab-difficulty.diff-medium{color:#b45309}.vocab-pronunciation{color:#64748b;font-family:Courier New,monospace;font-size:14px;margin-bottom:12px}.phonetic-hint{color:#94a3b8;font-family:inherit;font-size:12px;font-style:italic}.vocab-def-en{color:#1e293b;margin:0 0 4px}.vocab-def-en,.vocab-def-zh{font-size:14px;line-height:1.5}.vocab-def-zh{color:#10b981;margin:0 0 8px}.vocab-context{background:#eff6ff;border-radius:8px;color:#2563eb;line-height:1.5}.vocab-examples{background:#f8fafc;border-radius:8px;padding:12px}.vocab-examples strong{color:#64748b;margin-bottom:8px}.vocab-example:last-child{margin-bottom:0}.example-en{color:#1e293b;font-size:13px;font-style:italic;margin:0 0 2px}.example-zh{color:#64748b;font-size:13px;margin:0}.related-label{color:#64748b;font-size:12px;font-weight:600}.related-tag.synonym{color:#1e40af}.related-tag.collocation{background:#fce7f3;color:#be185d}.vocab-quiz-indicator{border-top:1px solid #e2e8f0;color:#10b981;font-size:12px;padding-top:8px}.vocabulary-summary{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:1.25rem;text-align:center}.vocabulary-summary h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 8px}.vocabulary-summary p{color:#64748b;font-size:.95rem;line-height:1.6;margin:0}.vocabulary-summary strong{color:#2563eb}.validation-prompt{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:2rem}.info-box{margin-bottom:1.75rem}.info-box h3{color:#1e293b;font-size:1.25rem}.info-box h3,.info-box p,.info-box ul{margin:0 0 1rem}.info-box ul{list-style:none;padding:0}.info-box li{color:#10b981;font-size:.95rem;font-weight:500;padding:10px 0}.validation-note{background:#fef3c7;border-left:4px solid #f97316;border-radius:8px;margin-bottom:0!important;padding:14px 18px}.validation-note strong{color:#b45309}.form-actions{flex-wrap:wrap;gap:12px}.btn-primary,.btn-secondary,.btn-success{font-size:.95rem}.btn-primary:disabled{opacity:.5}.stage-4-validation .validation-results{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:2rem}.stage-4-validation .overall-score{align-items:center;border-radius:10px;display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.75rem}.stage-4-validation .overall-score.excellent{background:#ecfdf5;border:2px solid #10b981}.stage-4-validation .overall-score.good{background:#eff6ff;border:2px solid #2563eb}.stage-4-validation .overall-score.fair{background:#fef3c7;border:2px solid #f97316}.stage-4-validation .overall-score.poor{background:#fee2e2;border:2px solid #ef4444}.stage-4-validation .score-circle{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;flex-shrink:0;height:100px;justify-content:center;width:100px}.stage-4-validation .score-value{color:#1e293b;font-size:2.25rem;font-weight:700;line-height:1}.stage-4-validation .score-label{color:#64748b;font-size:1rem;font-weight:600}.stage-4-validation .score-status{flex:1 1}.stage-4-validation .score-status h3{color:#1e293b;font-size:1.375rem;font-weight:600;margin:0 0 8px}.stage-4-validation .score-status p{color:#64748b;font-size:.95rem;margin:0}.stage-4-validation .checks-section{margin-bottom:1.75rem}.stage-4-validation .checks-section h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.stage-4-validation .checks-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stage-4-validation .check-item{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:1rem}.stage-4-validation .check-icon{flex-shrink:0;font-size:1.25rem}.stage-4-validation .check-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.stage-4-validation .check-details strong{color:#1e293b;font-size:.95rem;font-weight:600}.stage-4-validation .check-details span{color:#64748b;font-size:14px}.stage-4-validation .check-score{color:#2563eb!important;font-weight:600}.stage-4-validation .recommendations-section,.stage-4-validation .warnings-section{margin-bottom:1.75rem}.stage-4-validation .recommendations-section h4,.stage-4-validation .warnings-section h4{font-size:1rem;font-weight:600;margin:0 0 12px}.stage-4-validation .warnings-section h4{color:#ef4444}.stage-4-validation .recommendations-section h4{color:#2563eb}.stage-4-validation .recommendations-section ul,.stage-4-validation .warnings-section ul{list-style:none;margin:0;padding:0}.stage-4-validation .recommendations-section li,.stage-4-validation .warnings-section li{border-radius:8px;font-size:14px;line-height:1.6;margin-bottom:8px;padding:12px 16px}.stage-4-validation .warnings-section li{background:#fef2f2;border-left:4px solid #ef4444;color:#b91c1c}.stage-4-validation .recommendations-section li{background:#eff6ff;border-left:4px solid #2563eb;color:#1e40af}.stage-4-validation .loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.stage-4-validation .spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:52px;width:52px}.stage-4-validation .loading-overlay p{color:#fff;font-size:1rem;font-weight:500;margin:20px 0 0}.stage-4-validation .loading-subtitle{font-size:14px!important;margin-top:8px!important;opacity:.8}.stage-4-validation .publish-success-banner{background:#ecfdf5;border:2px solid #10b981;border-radius:12px;margin-bottom:1.5rem;padding:2rem;text-align:center}.stage-4-validation .publish-success-banner h4{color:#047857;font-size:1.5rem;font-weight:600;margin:0 0 12px}.stage-4-validation .publish-success-banner p{color:#059669;font-size:1rem;line-height:1.6;margin:0 0 16px}.stage-4-validation .publish-success-banner .course-id{background:#fffc;border-radius:8px;display:inline-block;font-family:Monaco,Courier New,monospace;font-size:.95rem;margin-bottom:1.5rem;padding:12px 20px}.stage-4-validation .publish-success-banner .course-id strong{color:#047857}.stage-4-validation .success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.stage-4-validation .publish-error-banner{background:#fef2f2;border:2px solid #ef4444;border-radius:12px;margin-bottom:1.5rem;padding:2rem;text-align:center}.stage-4-validation .publish-error-banner h4{color:#b91c1c;font-size:1.25rem;font-weight:600;margin:0 0 12px}.stage-4-validation .publish-error-banner p{color:#991b1b;font-size:.95rem;line-height:1.6;margin:0 0 20px;white-space:pre-wrap}.sentence-item-wrapper{margin-bottom:1rem;position:relative}.sentence-edit-actions{opacity:.7;position:absolute;right:12px;top:12px;transition:opacity .2s ease;z-index:10}.sentence-item-wrapper:hover .sentence-edit-actions{opacity:1}.btn-edit-item{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#2563eb;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.btn-edit-item:hover{background:#eff6ff;border-color:#93c5fd;box-shadow:0 2px 6px #2563eb26}.btn-edit-item-inline{background:#fffffff2;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:14px;opacity:0;padding:4px 8px;position:absolute;right:8px;top:8px;transition:all .2s ease;z-index:10}.phrase-item:hover .btn-edit-item-inline,.quiz-item:hover .btn-edit-item-inline{opacity:1}.btn-edit-item-inline:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.btn-edit-vocab{background:#fffffff2;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:14px;opacity:0;padding:4px 8px;position:absolute;right:12px;top:12px;transition:all .2s ease;z-index:10}.vocab-card:hover .btn-edit-vocab{opacity:1}.btn-edit-vocab:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.vocab-card-content{width:100%}.phrases-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.section-header-with-edit{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:1rem}.section-header-with-edit h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.phrases-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.phrase-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:1rem;position:relative;transition:all .2s ease}.phrase-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.phrase-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.phrase-text{color:#1e293b;font-size:1rem}.phrase-type{padding:2px 8px;text-transform:uppercase}.phrase-type.type-idiom{background:#fef3c7;color:#b45309}.phrase-type.type-phrasal_verb{background:#dbeafe;color:#1e40af}.phrase-type.type-collocation{background:#fce7f3;color:#be185d}.phrase-def-en{color:#1e293b;line-height:1.5}.phrase-def-zh{color:#10b981;line-height:1.5}.quiz-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.quiz-list{display:flex;flex-direction:column;gap:1rem}.quiz-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000a;padding:1.25rem;position:relative;transition:all .2s ease}.quiz-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.quiz-header{flex-wrap:wrap;gap:10px;margin-bottom:12px}.quiz-number{background:#eff6ff;border-radius:6px;color:#2563eb;font-size:14px;font-weight:700;padding:4px 10px}.quiz-type{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px;text-transform:uppercase}.quiz-type.type-multiple_choice{background:#dbeafe;color:#1e40af}.quiz-type.type-fill_blank{background:#fef3c7;color:#b45309}.quiz-type.type-true_false{background:#ecfdf5;color:#047857}.quiz-difficulty{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px}.quiz-difficulty.diff-beginner{background:#ecfdf5;color:#047857}.quiz-difficulty.diff-intermediate{background:#fef3c7;color:#b45309}.quiz-difficulty.diff-advanced{background:#fee2e2;color:#dc2626}.quiz-question-en{color:#1e293b;font-size:.95rem;font-weight:500;line-height:1.5;margin:0 0 4px}.quiz-question-zh{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 12px}.quiz-options{gap:8px}.quiz-option{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:14px;padding:10px 14px;transition:all .2s ease}.quiz-option.correct{background:#ecfdf5;border-color:#10b981;color:#047857;font-weight:500}.quiz-option.correct:after{color:#10b981;content:" ✓"}.translation-section{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem}.translation-content{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.translation-content p{color:#1e293b;font-size:.95rem;line-height:1.8;margin:0;white-space:pre-wrap}@media (hover:none){.btn-edit-item-inline,.btn-edit-vocab,.sentence-edit-actions{opacity:1}}@media (max-width:768px){.stage-4-validation{padding:1rem}.stage-4-validation .learning-content-section{padding:1.25rem}.stage-4-validation .validation-prompt,.stage-4-validation .validation-results{padding:1.5rem}.stage-4-validation .overall-score{flex-direction:column;text-align:center}.stage-4-validation .checks-grid{grid-template-columns:1fr}.stage-4-validation .stage-header h2{font-size:1.375rem}.stage-4-validation .section-header h3{font-size:1.125rem}}.explanation-audio-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.btn-generate-explanation{align-items:center;background:#f5f3ff;border:2px solid #c4b5fd;border-radius:8px;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.btn-generate-explanation:hover:not(:disabled){background:#ede9fe;border-color:#a78bfa;box-shadow:0 4px 12px #8b5cf633}.btn-generate-explanation:disabled{cursor:not-allowed;opacity:.5}.btn-generate-explanation.completed{background:#ecfdf5;border-color:#6ee7b7;color:#10b981}.btn-generate-explanation.completed:hover:not(:disabled){background:#d1fae5;border-color:#34d399}.explanation-audio-result{display:flex;font-size:13px;font-weight:500;gap:12px}.explanation-audio-result .success{color:#10b981}.explanation-audio-result .warning{color:#f97316}.explanation-audio-result .error{color:#ef4444}.analysis-hint{color:#7c3aed;display:inline;font-weight:500}.explanation-audio-progress{align-items:center;background:#f5f3ff;border:2px solid #c4b5fd;border-radius:8px;display:flex;gap:12px;min-width:280px;padding:10px 16px}.explanation-audio-progress .progress-bar{background:#8b5cf633;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.explanation-audio-progress .progress-fill{background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:4px;height:100%;transition:width .3s ease}.explanation-audio-progress .progress-text{color:#7c3aed;font-size:13px;font-weight:600;white-space:nowrap}.sentence-action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.action-separator{color:#cbd5e1;font-size:14px;-webkit-user-select:none;user-select:none}.btn-edit-item.analysis{background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}.btn-edit-item.analysis:hover{background:#ede9fe;border-color:#a78bfa}.btn-edit-analysis{align-items:center;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s ease}.btn-edit-analysis:hover{background:#ede9fe;border-color:#a78bfa;box-shadow:0 2px 6px #7c3aed26}.learning-content-section .section-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:8px}.learning-content-section .section-header-top h3{margin:0}.stage-5-publishing{margin:0 auto;max-width:1000px;padding:1.5rem}.stage-5-publishing .stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.stage-5-publishing .stage-header h2{color:#1e293b;font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.stage-5-publishing .stage-header p{color:#64748b;font-size:1rem}.validation-summary-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.75rem}.validation-summary-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1.25rem}.validation-score-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000a;padding:1.5rem}.validation-score-card.excellent{border-left:4px solid #10b981}.validation-score-card.good{border-left:4px solid #2563eb}.validation-score-card.fair{border-left:4px solid #f97316}.validation-score-card.poor{border-left:4px solid #ef4444}.stage-5-publishing .score-display{align-items:center;display:flex;gap:1.5rem}.stage-5-publishing .score-circle{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:50%;box-shadow:0 4px 12px #2563eb40;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100px;justify-content:center;position:relative;width:100px}.stage-5-publishing .score-value{font-size:2rem;font-weight:700}.stage-5-publishing .score-label{font-size:.875rem;opacity:.9}.stage-5-publishing .score-details{flex:1 1}.stage-5-publishing .score-details h4{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.stage-5-publishing .score-details p{color:#64748b;font-size:.95rem;margin:.5rem 0}.stage-5-publishing .warnings-info{color:#f97316}.stage-5-publishing .recommendations-info{color:#2563eb}.course-preview-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:1.5rem;padding:1.75rem}.course-preview-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1.25rem}.preview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.preview-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.75rem 0}.preview-row:last-child{border-bottom:none}.preview-label{color:#1e293b;flex-shrink:0;font-size:.95rem;font-weight:600;width:150px}.preview-value{color:#64748b;flex:1 1;font-size:.95rem;text-align:right}.preview-value.badge{background:#2563eb;border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.publish-success-banner{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 4px 16px #10b98140;color:#fff;margin-bottom:1.5rem;padding:2rem;text-align:center}.publish-success-banner .success-icon{animation:bounceIn .6s ease;font-size:3rem;margin-bottom:1rem}.publish-success-banner h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.publish-success-banner p{font-size:1rem;margin-bottom:1.25rem;opacity:.95}.course-id-display{align-items:center;background:#fff3;border-radius:8px;display:flex;gap:1rem;justify-content:center;margin:1.25rem 0;padding:1rem}.course-id-display .label{font-weight:600;opacity:.9}.course-id-display .course-id{background:#0003;border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:.95rem;letter-spacing:.5px;padding:.5rem 1rem}.success-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.publish-error-banner{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;box-shadow:0 4px 16px #ef444440;color:#fff;margin-bottom:1.5rem;padding:2rem;text-align:center}.publish-error-banner .error-icon{font-size:2.5rem;margin-bottom:1rem}.publish-error-banner h3{font-size:1.375rem;font-weight:600;margin-bottom:1rem}.publish-error-banner .error-message{word-wrap:break-word;background:#0003;border-radius:8px;font-family:Monaco,Courier New,monospace;font-size:.85rem;margin:1.25rem 0;overflow-x:auto;padding:1rem;text-align:left;white-space:pre-wrap}.publishing-actions{margin-top:1.5rem}.info-box{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:1.75rem}.info-box.ready{border-left:4px solid #10b981}.info-box.warning{border-left:4px solid #f97316}.info-box h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.info-box p{color:#64748b;font-size:.95rem;margin-bottom:1rem}.publish-checklist,.requirements-list{list-style:none;margin:1.25rem 0;padding:0}.publish-checklist li,.requirements-list li{color:#1e293b;font-size:.95rem;font-weight:500;padding:.75rem 0}.requirements-list li.met{color:#10b981}.requirements-list li.unmet{color:#ef4444}.help-text{color:#94a3b8;font-size:.9rem;font-style:italic}.form-actions{gap:1rem;justify-content:center;margin-top:1.5rem}.btn-large{font-size:1.05rem;font-weight:600;padding:1rem 2.5rem}.btn-success{border:none;border-radius:8px;box-shadow:0 2px 8px #10b98133;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.btn-success:disabled{cursor:not-allowed;opacity:.5}.btn-disabled{background:#94a3b8;border:none;border-radius:8px;color:#fff;cursor:not-allowed;font-size:1rem;opacity:.6;padding:.875rem 2rem}.loading-overlay{z-index:9999}.loading-overlay .spinner{animation:spin .8s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:52px;margin-bottom:1.25rem;width:52px}.loading-overlay p{margin:.5rem 0}.loading-subtitle{font-size:.95rem;opacity:.8}.loading-note{font-size:.85rem;margin-top:1rem;opacity:.6}@media (max-width:768px){.stage-5-publishing{padding:1rem}.stage-5-publishing .stage-header h2{font-size:1.375rem}.score-display{flex-direction:column;text-align:center}.preview-row{align-items:flex-start;flex-direction:column;gap:.5rem}.preview-label{width:100%}.preview-value{text-align:left}.form-actions{flex-direction:column}.btn-large{width:100%}.success-actions{flex-direction:column}}.stage-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.25rem}.stage-header h2{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;letter-spacing:-.02em;margin:0 0 .5rem}.stage-header p{color:#64748b;font-size:.9rem;margin:0}.form-section{margin-bottom:1.5rem}.form-section h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.form-row{grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.9rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-family:inherit;font-size:.9rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.help-text{display:block;margin-top:.375rem}.help-text,.optional{color:#64748b;font-size:.8rem}.optional,.required{font-weight:400}.required{color:#ef4444;font-size:.8rem}.info-box{background:#f8fafc;border:1px solid #e2e8f0;border-left-width:4px;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.info-box h3{color:#1e40af;font-size:1rem;font-weight:600;margin:0 0 .75rem}.info-box p{color:#1e293b;font-size:.9rem;line-height:1.6;margin:.5rem 0}.info-box ul{margin:.75rem 0;padding-left:1.25rem}.info-box li{color:#1e293b;font-size:.9rem;margin:.5rem 0}.success-box{background:#ecfdf5;border:1px solid #a7f3d0;border-left-width:4px;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.success-box h3{color:#065f46;font-size:1rem;font-weight:600;margin:0 0 .75rem}.success-box p{color:#1e293b;font-size:.9rem;line-height:1.6;margin:.5rem 0}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-overlay p{font-size:1rem;font-weight:500;margin:1rem 0 0}.loading-hint{display:block;font-size:.9rem;margin-top:.5rem;opacity:.8}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;justify-content:center;padding:1.5rem 1rem;text-align:center;transition:all .2s ease}.metric-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a}.metric-value{color:#1e293b;display:block;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.5rem}.metric-label{color:#64748b;display:block;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.metrics-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.metric-card{padding:1rem .75rem}.metric-value{font-size:1.5rem}.metric-label{font-size:.7rem}}.delete-confirm-overlay{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.delete-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:calc(100vw - 40px);width:420px}.delete-confirm-header{padding:20px 24px 0}.delete-confirm-title{align-items:center;color:#d32f2f;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0}.delete-confirm-title:before{content:"⚠️"}.delete-confirm-body{padding:16px 24px}.delete-confirm-message{color:#333;font-size:15px;line-height:1.5;margin:0 0 16px}.delete-confirm-item{background:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;margin-bottom:20px;padding:12px}.delete-confirm-item-label{color:#666;display:block;font-size:13px;margin-bottom:4px}.delete-confirm-item-name{color:#d32f2f;font-size:14px;font-weight:500;word-break:break-word}.delete-confirm-input-section{margin-top:16px}.delete-confirm-label{color:#555;display:block;font-size:14px;margin-bottom:8px}.delete-confirm-label code{background:#f5f5f5;border-radius:4px;color:#d32f2f;font-family:monospace;font-size:13px;font-weight:600;padding:2px 6px}.delete-confirm-input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.delete-confirm-input:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a}.delete-confirm-input::placeholder{color:#aaa}.delete-confirm-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.delete-confirm-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.delete-confirm-btn--cancel{background:#f5f5f5;color:#666}.delete-confirm-btn--cancel:hover{background:#e0e0e0;color:#333}.delete-confirm-btn--delete{background:#d32f2f;color:#fff}.delete-confirm-btn--delete:hover:not(:disabled){background:#b71c1c}.delete-confirm-btn--delete:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.access-denied{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;min-height:60vh;padding:60px 20px;text-align:center}.access-denied-icon{font-size:72px;margin-bottom:24px}.access-denied h2{color:#1f2937;font-size:28px;margin:0 0 16px}.access-denied-message{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 32px}.access-denied-info{display:flex;gap:20px;margin-bottom:32px;width:100%}.access-denied-info .info-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex:1 1;gap:12px;padding:16px;text-align:left}.access-denied-info .info-icon{font-size:28px}.access-denied-info .info-card strong{color:#1f2937;display:block;margin-bottom:4px}.access-denied-info .info-card p{color:#6b7280;font-size:13px;margin:0}.access-denied-actions{display:flex;gap:12px;margin-bottom:24px}.access-denied .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 14px #667eea66;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 28px;transition:all .2s ease}.access-denied .btn-primary:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.access-denied .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:15px;font-weight:600;padding:12px 28px;transition:all .2s ease}.access-denied .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.access-denied-hint{background:#fef3c7;border-radius:8px;color:#92400e;font-size:14px;margin:0;padding:12px 20px}.creator-wizard-page{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.wizard-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 28px}.wizard-header h1{color:#1e293b;font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0}.auto-save-indicator{align-items:center;color:#10b981;display:flex;font-size:13px;font-weight:500;gap:6px}.auto-save-indicator:before{animation:pulse 2s ease-in-out infinite;background:#10b981;border-radius:50%;content:"";display:inline-block;height:8px;width:8px}.btn-delete{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;font-size:14px;padding:10px 18px}.btn-delete:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.btn-delete:disabled{cursor:not-allowed;opacity:.5}.error-banner{border-radius:10px;gap:12px;margin-bottom:20px;padding:14px 18px}.error-icon{flex-shrink:0;font-size:20px}.error-banner span:not(.error-icon){flex:1 1;font-size:14px;font-weight:500}.error-banner button{background:none;border-radius:4px;color:#dc2626;font-size:18px;margin-left:auto;padding:4px 8px;transition:background .2s}.error-banner button:hover{background:#dc26261a}.wizard-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:32px}.loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:400px;justify-content:center}.spinner{height:44px;width:44px}.loading p{color:#64748b;font-size:15px;font-weight:500}.btn-primary,.btn-secondary,.btn-success{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98140}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{cursor:not-allowed;opacity:.5}.btn-cta{align-items:center;background:#f97316;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.btn-cta:hover:not(:disabled){background:#ea580c;box-shadow:0 4px 12px #f9731640}.btn-cta:disabled{cursor:not-allowed;opacity:.5}.global-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.global-loading-content{align-items:center;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:20px;max-width:400px;padding:40px 56px;text-align:center}.global-loading-content .spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:52px;width:52px}.global-loading-content p{color:#1e293b;font-size:15px;font-weight:500;line-height:1.5;margin:0}@media (max-width:768px){.creator-wizard-page{padding:16px}.wizard-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px 20px}.wizard-header h1{font-size:20px}.wizard-content{padding:20px}.btn-cta,.btn-primary,.btn-secondary,.btn-success{font-size:13px;padding:10px 18px}}.creator-drafts-page{margin:0 auto;max-width:1200px;min-height:80vh;padding:24px}.creator-drafts-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.header-content h1{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.header-subtitle{color:#6b7280;font-size:15px;margin:0}.create-new-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 14px #667eea66;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease}.create-new-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.create-new-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.view-published-btn{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;color:#166534;font-size:14px;font-weight:500;padding:12px 20px;text-decoration:none;transition:all .2s ease}.view-published-btn:hover{background:#dcfce7;border-color:#4ade80}.creator-drafts-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.loading-spinner{border:4px solid #e5e7eb;height:48px;width:48px}.creator-drafts-error{padding:60px 20px;text-align:center}.creator-drafts-error h2{color:#ef4444;margin-bottom:12px}.creator-drafts-error button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:16px;padding:10px 24px}.no-drafts{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.no-drafts-icon{font-size:64px;margin-bottom:20px;opacity:.6}.no-drafts h2{color:#374151;font-size:24px;margin:0 0 12px}.no-drafts p{color:#6b7280;font-size:16px;margin:0 0 24px}.create-first-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 14px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.create-first-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.create-first-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.published-hint{color:#6b7280;font-size:14px;margin-top:16px}.published-hint a{color:#166534;font-weight:500}.drafts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.draft-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden;position:relative;transition:all .2s ease}.draft-card:hover{border-color:#d1d5db;box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.draft-card-header{align-items:center;display:flex;justify-content:space-between;padding:16px 16px 0}.draft-status{align-items:center;display:flex;gap:8px}.status-badge{border-radius:6px;color:#fff}.published-badge{background:#dcfce7;border-radius:6px;color:#166534;font-size:12px;font-weight:600;padding:4px 10px}.draft-actions-menu .delete-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:16px;opacity:.5;padding:4px 8px;transition:all .2s}.draft-actions-menu .delete-btn:hover{background:#fee2e2;opacity:1}.draft-card-body{cursor:pointer;padding:16px}.draft-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1f2937;display:-webkit-box;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px;overflow:hidden;text-overflow:ellipsis}.draft-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.meta-item{align-items:center;background:#f3f4f6;border-radius:6px;color:#4b5563;display:inline-flex;font-size:12px;gap:4px;padding:4px 8px}.draft-progress{margin-bottom:16px}.progress-bar{margin-bottom:6px}.progress-bar,.progress-fill{border-radius:3px}.progress-text{font-size:12px}.draft-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:12px}.draft-date{color:#9ca3af;font-size:13px}.continue-btn{background:#f3f4f6;border-radius:8px;color:#374151;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.continue-btn:hover{background:#667eea;color:#fff}.drafts-delete-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.drafts-delete-modal{background:#fff;border-radius:16px;max-width:400px;padding:24px;text-align:center;width:90%}.drafts-delete-modal h3{color:#1f2937;font-size:20px;margin:0 0 12px}.drafts-delete-modal p{color:#6b7280;margin:0 0 8px}.drafts-delete-modal .warning{color:#ef4444;font-size:13px;margin-bottom:20px}.confirm-buttons{display:flex;gap:12px;justify-content:center}.cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.cancel-btn:hover{background:#e5e7eb}.confirm-delete-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.confirm-delete-btn:hover:not(:disabled){background:#dc2626}.cancel-btn:disabled,.confirm-delete-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.creator-drafts-page{padding:16px}.creator-drafts-header{flex-direction:column;gap:16px}.header-actions{flex-direction:column;width:100%}.create-new-btn,.view-published-btn{text-align:center;width:100%}.drafts-grid{grid-template-columns:1fr}.header-content h1{font-size:24px}}.creator-courses-page{margin:0 auto;max-width:1200px;min-height:80vh;padding:24px}.creator-courses-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.creator-courses-header .header-content h1{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.creator-courses-header .header-subtitle{color:#6b7280;font-size:15px;margin:0}.back-to-drafts-btn{background:#f3f4f6;border:none;border-radius:10px;color:#374151;font-size:14px;font-weight:500;padding:12px 20px;text-decoration:none;transition:all .2s ease}.back-to-drafts-btn:hover{background:#e5e7eb}.creator-courses-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.creator-courses-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#10b981;height:48px;width:48px}.creator-courses-error{padding:60px 20px;text-align:center}.creator-courses-error h2{color:#ef4444;margin-bottom:12px}.creator-courses-error button{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:16px;padding:10px 24px}.no-courses{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.no-courses-icon{font-size:64px;margin-bottom:20px;opacity:.6}.no-courses h2{color:#374151;font-size:24px;margin:0 0 12px}.no-courses p{color:#6b7280;font-size:16px;margin:0 0 24px}.view-drafts-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 14px #667eea66;color:#fff;font-size:16px;font-weight:600;padding:14px 32px;text-decoration:none;transition:all .2s ease}.view-drafts-btn:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.courses-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.course-card{border:1px solid #d1fae5;border-radius:16px;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.course-card:hover{border-color:#6ee7b7;box-shadow:0 8px 24px #10b98126;transform:translateY(-2px)}.course-card-header{padding:16px 16px 0}.creator-courses-page .published-badge{background:#dcfce7;border-radius:6px;color:#166534;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.course-card-body{padding:16px}.course-title{color:#1f2937;font-size:18px;margin:0 0 12px;text-overflow:ellipsis}.course-meta .meta-item{align-items:center;background:#f0fdf4;border-radius:6px;color:#166534;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.course-description{color:#6b7280;line-height:1.5;margin:0 0 16px;text-overflow:ellipsis}.course-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:12px}.course-date{color:#9ca3af;font-size:13px}.view-btn{background:#10b981;border-radius:8px;color:#fff;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.view-btn:hover{background:#059669}@media (max-width:768px){.creator-courses-page{padding:16px}.creator-courses-header{flex-direction:column;gap:16px}.back-to-drafts-btn{text-align:center;width:100%}.courses-grid{grid-template-columns:1fr}.creator-courses-header .header-content h1{font-size:24px}}:root{--dict-primary:#4f46e5;--dict-primary-light:#818cf8;--dict-secondary:#6366f1;--dict-cta:#f97316;--dict-cta-hover:#ea580c;--dict-bg-light:#eef2ff;--dict-text-dark:#1e1b4b;--dict-text-muted:#6b7280;--dict-border:#c7d2fe;--dict-success:#10b981;--dict-warning:#f59e0b;--dict-error:#ef4444}.dictionary-page{background:linear-gradient(135deg,#4f46e5,#7c3aed);background:linear-gradient(135deg,var(--dict-primary) 0,#7c3aed 100%);min-height:100vh;padding:40px 20px}.dictionary-container{margin:0 auto;max-width:900px}.dictionary-header{color:#fff;margin-bottom:40px;text-align:center}.dictionary-header h1{align-items:center;display:flex;font-size:42px;font-weight:700;gap:12px;justify-content:center;margin-bottom:10px;text-shadow:2px 2px 4px #0003}.dictionary-header .header-icon{height:48px;width:48px}.dictionary-header .stats{font-size:16px;margin-top:10px;opacity:.9}.search-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin-bottom:30px;padding:30px}.search-mode-tabs{display:flex;gap:10px;margin-bottom:20px;position:relative}.search-mode-tabs .tab{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:12px 20px;position:relative;transition:all .2s ease}.search-mode-tabs .tab .tab-icon{height:18px;transition:transform .2s ease;width:18px}.search-mode-tabs .tab:hover{border-color:#4f46e5;border-color:var(--dict-primary);color:#4f46e5;color:var(--dict-primary)}.search-mode-tabs .tab:hover .tab-icon{transform:scale(1.1)}.search-mode-tabs .tab:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.search-mode-tabs .tab.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);background:linear-gradient(135deg,var(--dict-primary) 0,#7c3aed 100%);border-color:#0000;color:#fff}.search-mode-tabs .tab.active:after{animation:slideIn .2s ease;background:#fff;border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:40px}.search-input-group{margin-bottom:15px}.search-label{color:#1e1b4b;color:var(--dict-text-dark);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.search-input-container{display:flex;gap:10px;position:relative}.search-input-wrapper{flex:1 1;position:relative}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:14px 40px 14px 20px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-input:focus{border-color:#4f46e5;border-color:var(--dict-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.search-input:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.search-input-clear{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.search-input-clear:hover{background:#e2e8f0;color:#1e293b}.search-input-clear:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.search-button{align-items:center;background:linear-gradient(135deg,#f97316,#ea580c);background:linear-gradient(135deg,var(--dict-cta) 0,#ea580c 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:14px 30px;transition:transform .2s ease,box-shadow .2s ease}.search-button:hover:not(:disabled){box-shadow:0 6px 20px #f9731666;transform:translateY(-2px)}.search-button:focus-visible{outline:2px solid #f97316;outline:2px solid var(--dict-cta);outline-offset:2px}.search-button:disabled{cursor:not-allowed;opacity:.6}.search-button .button-icon{height:18px;width:18px}.search-button .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.autocomplete-dropdown{background:#fff;border:1px solid #c7d2fe;border:1px solid var(--dict-border);border-radius:8px;box-shadow:0 10px 40px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.autocomplete-item{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:15px;justify-content:space-between;padding:12px 16px;text-align:left;transition:background .15s ease;width:100%}.autocomplete-item:focus,.autocomplete-item:hover{background:#eef2ff;background:var(--dict-bg-light)}.autocomplete-item:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:-2px}.autocomplete-word{color:#1e1b4b;color:var(--dict-text-dark);font-weight:600}.autocomplete-hint{font-size:13px}.autocomplete-hint,.search-hint{color:#6b7280;color:var(--dict-text-muted)}.search-hint{align-items:center;display:flex;font-size:14px;gap:6px;margin:0}.search-hint .hint-icon{color:#f59e0b;color:var(--dict-warning);height:16px;width:16px}.recent-searches{border-top:1px dashed #c7d2fe;border-top:1px dashed var(--dict-border);margin-top:16px;padding-top:16px}.recent-searches-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.recent-searches-title{align-items:center;color:#6b7280;color:var(--dict-text-muted);display:flex;font-size:13px;font-weight:500;gap:6px}.recent-searches-title .history-icon{height:14px;width:14px}.recent-searches-clear{background:none;border:none;border-radius:4px;color:#6b7280;color:var(--dict-text-muted);cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.recent-searches-clear:hover{background:#fee2e2;color:#ef4444;color:var(--dict-error)}.recent-searches-clear:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.recent-searches-list{display:flex;flex-wrap:wrap;gap:8px}.recent-search-btn{align-items:center;background:#eef2ff;background:var(--dict-bg-light);border:1px solid #c7d2fe;border:1px solid var(--dict-border);border-radius:16px;color:#4f46e5;color:var(--dict-primary);cursor:pointer;display:flex;font-size:13px;gap:4px;padding:6px 12px;transition:all .2s ease}.recent-search-btn:hover{background:#4f46e5;background:var(--dict-primary);border-color:#4f46e5;border-color:var(--dict-primary);color:#fff}.recent-search-btn:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.error-message{align-items:center;background:#fef2f2;border-left:4px solid #ef4444;border-left:4px solid var(--dict-error);color:#ef4444;color:var(--dict-error);display:flex;gap:10px;margin-bottom:20px;padding:15px 20px}.error-message .error-icon{flex-shrink:0;height:20px;width:20px}.results-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;padding:30px}.results-header{border-bottom:2px solid #f0f0f0;color:#1e1b4b;color:var(--dict-text-dark);font-size:24px;font-weight:700;margin-bottom:20px;padding-bottom:15px}.result-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:25px;transition:all .3s ease}.result-card:hover{border-color:#4f46e5;border-color:var(--dict-primary);box-shadow:0 4px 20px #4f46e526}.result-card.not-found{background:#fff5f5;border-color:#fcc}.not-found-message{align-items:center;display:flex;flex-direction:column;padding:20px;text-align:center}.not-found-message .not-found-icon{color:#ef4444;color:var(--dict-error);height:48px;margin-bottom:12px;width:48px}.not-found-message h3{color:#ef4444;color:var(--dict-error);font-size:18px;margin-bottom:8px}.not-found-message p{color:#6b7280;color:var(--dict-text-muted);margin:0}.result-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.result-header .word{color:#1e1b4b;color:var(--dict-text-dark);font-size:32px;font-weight:700;margin:0}.result-header .phonetic{color:#4f46e5;color:var(--dict-primary);font-family:Courier New,monospace;font-size:18px;font-weight:500}.btn-add-vocab{align-items:center;background:#eef2ff;background:var(--dict-bg-light);border:2px solid #c7d2fe;border:2px solid var(--dict-border);border-radius:8px;color:#4f46e5;color:var(--dict-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin-left:auto;padding:8px 16px;transition:all .2s ease}.btn-add-vocab:hover{background:#4f46e5;background:var(--dict-primary);border-color:#4f46e5;border-color:var(--dict-primary);color:#fff}.btn-add-vocab:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.btn-add-vocab.added{background:#10b981;background:var(--dict-success);border-color:#10b981;border-color:var(--dict-success);color:#fff}.btn-add-vocab .vocab-icon{height:16px;width:16px}.phonetics-container{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.phonetic-item{align-items:center;display:inline-flex;gap:8px}.audio-button{align-items:center;background:#4f46e5;background:var(--dict-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.audio-button svg{height:14px;width:14px}.audio-button:hover{background:#4338ca;transform:scale(1.1)}.audio-button:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}.audio-button:active{transform:scale(.95)}.audio-button.playing{animation:pulse .8s infinite;background:#e11d48}.pos{color:#6b7280;color:var(--dict-text-muted);font-size:15px;margin-bottom:12px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:4px 12px}.badge-collins{background:#fef3c7;color:#b45309}.badge-oxford{background:#dbeafe;color:#1d4ed8}.badge-tag{background:#f3f4f6;color:#374151}.definition,.translation{margin-top:15px}.definition strong,.translation strong{color:#1e1b4b;color:var(--dict-text-dark);display:block;font-size:15px;margin-bottom:8px}.definition-content,.translation-content{color:#555;line-height:1.8;padding-left:15px}.definition-content p,.translation-content p{margin:6px 0}.lemma-translation{border-top:1px dashed #ccc;margin-top:10px;padding-top:10px}.translation-content .pos-label{color:#4f46e5;color:var(--dict-primary,#667eea);font-weight:600;margin-right:4px}.heteronym-alert{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border:2px solid var(--dict-warning);border-radius:12px;margin-bottom:16px;padding:16px}.heteronym-header{align-items:center;color:#b45309;display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:12px}.heteronym-header .alert-icon{height:20px;width:20px}.heteronym-title{font-weight:700}.heteronym-subtitle{font-weight:400;opacity:.8}.heteronym-variants{display:flex;flex-direction:column;gap:12px}.heteronym-variant{background:#fff;border-left:4px solid #f59e0b;border-left:4px solid var(--dict-warning);border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:14px}.variant-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.variant-phonetic{color:#1e1b4b;color:var(--dict-text-dark);font-family:Arial,Helvetica Neue,sans-serif;font-size:18px;font-weight:600}.variant-pos{background:#f3f4f6;border-radius:4px;color:#6b7280;color:var(--dict-text-muted);font-size:13px;font-weight:600;padding:2px 8px}.variant-tense{color:#9ca3af;font-size:12px;font-style:italic}.variant-meaning{margin-bottom:6px}.meaning-zh{color:#374151;font-size:15px;font-weight:500}.variant-context{margin-top:6px}.context-example,.context-label{color:#6b7280;color:var(--dict-text-muted);font-size:13px}.context-example{font-style:italic}.heteronym-note{align-items:center;background:#fff;border:1px dashed #f59e0b;border:1px dashed var(--dict-warning);border-radius:8px;color:#b45309;display:flex;font-size:13px;font-weight:500;gap:8px;margin-top:12px;padding:10px 14px}.heteronym-note .note-icon{flex-shrink:0;height:16px;width:16px}.examples-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.examples-section>strong{color:#1e1b4b;color:var(--dict-text-dark);display:block;font-size:16px;margin-bottom:12px}.examples-list{display:flex;flex-direction:column;gap:14px}.example-item{background:#f9fafb;border:1px solid #e5e7eb;border-left:3px solid #4f46e5;border-left:3px solid var(--dict-primary);border-radius:10px;padding:14px 16px}.example-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.example-pos{background:#818cf8;background:var(--dict-primary-light);border-radius:4px;color:#4f46e5;color:var(--dict-primary);font-size:12px;font-weight:600;padding:2px 8px;text-transform:uppercase}.example-meaning{color:#6b7280;color:var(--dict-text-muted);font-size:14px;font-weight:500}.example-en{color:#1e1b4b;color:var(--dict-text-dark);font-size:15px;font-weight:500;line-height:1.5;margin-bottom:6px}.example-zh{color:#6b7280;color:var(--dict-text-muted);font-size:14px;line-height:1.5}.skeleton-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:25px}.skeleton-header{align-items:center;display:flex;gap:15px;margin-bottom:15px}.skeleton-word{border-radius:6px;height:32px;width:150px}.skeleton-phonetic,.skeleton-word{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.skeleton-phonetic{border-radius:4px;height:20px;width:100px}.skeleton-badges{display:flex;gap:8px;margin-bottom:15px}.skeleton-badge{border-radius:12px;height:24px;width:70px}.skeleton-badge,.skeleton-text{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.skeleton-text{border-radius:4px;height:16px;margin-bottom:8px;width:100%}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.empty-state{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;padding:60px 30px}.empty-icon{color:#818cf8;color:var(--dict-primary-light);height:80px;margin:0 auto 20px;width:80px}.empty-state h3{color:#1e1b4b;color:var(--dict-text-dark);font-size:28px;margin-bottom:10px}.empty-state p{color:#6b7280;color:var(--dict-text-muted);font-size:16px;margin-bottom:30px}.example-searches{margin-top:30px}.example-searches p{color:#999;font-size:14px;margin-bottom:15px}.example-btn{background:#fff;border:2px solid #4f46e5;border:2px solid var(--dict-primary);border-radius:20px;color:#4f46e5;color:var(--dict-primary);cursor:pointer;font-size:14px;font-weight:600;margin:0 8px;padding:10px 20px;transition:all .2s ease}.example-btn:hover{background:#4f46e5;background:var(--dict-primary);color:#fff;transform:translateY(-2px)}.example-btn:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--dict-primary);outline-offset:2px}@media (max-width:768px){.dictionary-page{padding:20px 15px}.dictionary-header h1{font-size:28px}.dictionary-header .header-icon{height:36px;width:36px}.results-section,.search-section{padding:20px}.search-input-container{flex-direction:column}.search-button{justify-content:center;width:100%}.result-header{align-items:flex-start;flex-direction:column;gap:10px}.result-header .word{font-size:26px}.result-header .phonetic{font-size:16px}.btn-add-vocab{justify-content:center;margin-left:0;width:100%}.example-btn{display:block;margin:5px;width:calc(100% - 10px)}.phonetics-container{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.search-mode-tabs{flex-direction:column}.search-mode-tabs .tab{width:100%}.badges{justify-content:flex-start}.recent-searches-list{justify-content:center}}.full-text-mode{background:#f8f9fa;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:900px}.full-text-mode.error,.full-text-mode.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;border-top-color:#007bff}.error-message{color:#dc3545;margin-bottom:16px}.audio-controls{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.play-pause-btn{background:#007bff;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;font-size:20px;height:48px;transition:background .2s;width:48px}.play-pause-btn:hover{background:#0056b3}.play-pause-btn:active{transform:scale(.95)}.time-display{color:#666;flex-shrink:0;font-family:Courier New,monospace;font-size:14px}.progress-bar-container{flex:1 1;min-width:0}.progress-bar{background:#0000;cursor:pointer;height:6px}.progress-bar::-webkit-slider-thumb{background:#007bff;border-radius:50%;cursor:pointer;height:14px;width:14px}.progress-bar::-moz-range-thumb{background:#007bff;border-radius:50%;cursor:pointer;height:14px;width:14px}.volume-control{align-items:center;display:flex;flex-shrink:0;gap:8px}.volume-control span{font-size:18px}.volume-control input{width:80px}.playback-rate-control select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px}.playback-rate-control select:hover{border-color:#007bff}.segments-container{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:24px}.segment{background:#fff;border:2px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:16px;padding:16px 20px}.segment:hover{border-color:#e0e0e0;box-shadow:0 2px 8px #00000014}.segment.active{background:#f0f8ff;border-color:#007bff;box-shadow:0 4px 12px #007bff26}.segment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.speaker-name{color:#007bff;font-size:14px;font-weight:600}.segment.narrator .speaker-name{color:#6c757d}.segment-time{color:#999;font-family:Courier New,monospace}.segment-text{color:#212529;font-size:18px;line-height:1.6;margin-bottom:8px}.segment.active .segment-text{font-weight:500}.segment-translation{color:#6c757d}.progress-info{border-top:1px solid #e0e0e0;bottom:0;color:#666;font-size:14px;padding:12px 24px;position:-webkit-sticky;position:sticky;text-align:center}@media (max-width:768px){.audio-controls{flex-wrap:wrap;gap:12px;padding:12px 16px}.progress-bar-container{order:3;width:100%}.volume-control input{width:60px}.segments-container{padding:16px}.segment{padding:12px 16px}.segment-text{font-size:16px}}.waveform-container,.waveform-player{position:relative;width:100%}.waveform-container{background-color:#f8f9fa;border-radius:8px;min-height:60px;padding:5px 0}.waveform-container wave{overflow:visible!important}.waveform-container .wavesurfer-region{cursor:pointer;transition:opacity .2s ease}.waveform-container .wavesurfer-region:hover{opacity:.8}.waveform-container [data-resize]{background-color:#4285f4!important;cursor:col-resize!important;opacity:.8;transition:opacity .2s ease,background-color .2s ease;width:6px!important;z-index:10!important}.waveform-container [data-resize]:hover{background-color:#357ae8!important;opacity:1}.waveform-container .wavesurfer-handle{background-color:#4285f4!important;cursor:col-resize!important;width:6px!important}.waveform-container .wavesurfer-handle-start{left:-3px!important}.waveform-container .wavesurfer-handle-end{right:-3px!important}.waveform-container .wavesurfer-region.selected{background-color:#4285f44d!important}.waveform-container .wavesurfer-timeline{color:#666;font-size:11px}.waveform-player.split-mode .waveform-container .wavesurfer-region{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23e74c3c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E") 12 12,crosshair}.waveform-player.split-mode .waveform-container .wavesurfer-region:hover{background-color:#e74c3c33!important}.split-mode-hint{animation:fadeIn .2s ease;background-color:#e74c3c;border-radius:4px;bottom:-28px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px;white-space:nowrap;z-index:100}.split-mode-hint,.split-mode-hint:before{left:50%;position:absolute;transform:translateX(-50%)}.split-mode-hint:before{border-bottom:6px solid #e74c3c;border-left:6px solid #0000;border-right:6px solid #0000;content:"";top:-6px}.player-controls{justify-content:center}.controls-row,.player-controls{align-items:center;display:flex}.controls-row{gap:8px}.control-btn{align-items:center;background:none;border:none;border-radius:50%;color:#4a5568;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s ease}.control-btn:hover{background-color:#0000000f;color:#1a1a2e}.control-btn:active{transform:scale(.92)}.play-pause-btn{background:linear-gradient(135deg,#4285f4,#2563eb);box-shadow:0 2px 8px #2563eb4d;color:#fff;height:32px;width:32px}.play-pause-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb66;transform:scale(1.05)}.skip-btn{align-items:center;border-radius:16px;color:#64748b;display:flex;font-size:11px;font-weight:600;gap:2px;height:32px;justify-content:center;padding:0 10px}.skip-btn:hover{color:#1e293b}.skip-label{font-size:10px;font-weight:700}.time-display{color:#64748b;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;font-weight:600;height:32px;justify-content:center;letter-spacing:.5px;padding:0 12px;white-space:nowrap}.speed-control,.time-display{align-items:center;display:flex}.speed-select{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;height:32px;padding:0 10px;transition:all .15s ease}.speed-select:hover{background-color:#f8fafc;border-color:#94a3b8}.speed-select:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f426;outline:none}@media (max-width:768px){.controls-row{gap:10px}.skip-label{display:none}.control-btn{padding:6px}.play-pause-btn{height:40px;width:40px}.time-display{font-size:12px;min-width:70px}}.subtitle-list{background-color:#fff;border:1px solid #e1e4e8;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.subtitle-list-header{background-color:#f6f8fa;border-bottom:2px solid #e1e4e8;color:#586069;display:flex;flex-shrink:0;font-size:13px;font-weight:600}.header-cell{align-items:center;display:flex;padding:12px 16px}.header-cell.index{justify-content:center;width:50px}.header-cell.text{flex:1 1;min-width:300px}.header-cell.time{justify-content:center;width:80px}.header-cell.action{justify-content:center;width:90px}.subtitle-list-content{flex:1 1;height:0;min-height:0;overflow-x:hidden;overflow-y:auto}.subtitle-row{border-bottom:1px solid #e1e4e8;cursor:pointer;display:flex;position:relative}.subtitle-row:hover{background-color:#f6f8fa}.subtitle-row.selected{background-color:#e7f3ff;border-left:3px solid #4285f4}.subtitle-row.playing{background-color:#fff3cd}.subtitle-row.selected.playing{background-color:#d4edff}.subtitle-cell{align-items:center;display:flex;padding:12px 16px}.subtitle-cell.index{color:#586069;font-weight:500;justify-content:center;width:50px}.subtitle-row.selected .subtitle-cell.index{padding-left:13px}.subtitle-cell.text{flex:1 1;min-width:300px}.text-content{border-radius:4px;color:#24292e;cursor:text;line-height:1.5;padding:4px;transition:background-color .2s ease;width:100%;word-break:break-word}.text-content:hover{background-color:#00000005}.edit-textarea{background-color:#fff;border:2px solid #4285f4;border-radius:4px;font-family:inherit;font-size:14px;line-height:1.5;outline:none;padding:6px 8px;resize:vertical;width:100%}.subtitle-cell.time{color:#586069;font-family:Monaco,Courier New,monospace;font-size:13px;justify-content:center;width:80px}.subtitle-cell.action{gap:6px;justify-content:center;width:90px}.play-segment-btn{align-items:center;background-color:#4285f4;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.play-segment-btn:hover{background-color:#357ae8}.play-segment-btn:active{background-color:#2a5db8}.play-segment-btn:focus{outline:none}.delete-segment-btn{align-items:center;background-color:#ff6b6b;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.delete-segment-btn:hover{background-color:#ee5a5a}.delete-segment-btn:active{background-color:#dc4545}.delete-segment-btn:focus{outline:none}.subtitle-list-footer{align-items:center;background-color:#f6f8fa;border-top:1px solid #e1e4e8;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:10px 16px}.add-subtitle-btn{align-items:center;background-color:#4285f4;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.add-subtitle-btn:hover{background-color:#357ae8;box-shadow:0 2px 8px #4285f44d;transform:translateY(-1px)}.add-subtitle-btn:active{transform:translateY(0)}.add-subtitle-btn svg{flex-shrink:0}.footer-info{color:#586069;font-size:12px}.subtitle-list-content::-webkit-scrollbar{width:8px}.subtitle-list-content::-webkit-scrollbar-track{background:#f1f1f1}.subtitle-list-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.subtitle-list-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.header-cell,.subtitle-cell{font-size:12px;padding:8px 12px}.header-cell.time,.subtitle-cell.time{font-size:11px;width:70px}.header-cell.index,.subtitle-cell.index{width:40px}.header-cell.action,.subtitle-cell.action{width:70px}.delete-segment-btn,.play-segment-btn{height:28px;width:28px}.text-content{font-size:13px}}main:has(.subtitle-editor-page){padding:0!important}.subtitle-editor-page{background-color:#f5f6fa;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:110px;z-index:10}.editor-header{align-items:center;background:linear-gradient(180deg,#fff,#f8f9fa);border-bottom:1px solid #e1e4e8;display:flex;flex-shrink:0;gap:24px;justify-content:space-between;padding:10px 24px}.editor-header h1{color:#1a1a2e;font-size:15px;font-weight:700;letter-spacing:-.3px;margin:0;white-space:nowrap}.header-controls{display:flex;flex:1 1;justify-content:center;max-width:500px}.header-controls .player-controls{background:#f0f2f5;border-radius:24px;padding:4px 16px}.header-actions{align-items:center;justify-content:flex-end;min-width:80px;white-space:nowrap}.saving-indicator{animation:pulse 1.5s infinite;color:#4caf50;font-weight:500}.error-indicator{color:#f44336;font-size:14px;font-weight:500}.editor-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.sticky-player-section{background-color:#fff;box-shadow:0 2px 8px #0000001a;flex-shrink:0;z-index:50}.waveform-section{background-color:#fff;min-height:70px;padding:8px 24px}.subtitle-list-section{background-color:#fff;flex:1 1;height:0;min-height:0;overflow:hidden;padding:16px 24px}.editor-actions{align-items:center;background-color:#fff;border-top:1px solid #e1e4e8;box-shadow:0 -2px 4px #0000000d;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 24px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 18px;transition:all .2s ease}.btn-primary{background-color:#4285f4}.btn-primary:hover:not(:disabled){background-color:#357ae8;box-shadow:0 4px 12px #4285f44d;transform:translateY(-1px)}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-secondary{background-color:#f0f2f5;color:#606770}.btn-secondary:hover{background-color:#e4e6ea;transform:translateY(-1px)}.subtitle-editor-page.loading{align-items:center;display:flex;justify-content:center}.subtitle-editor-loading{align-items:center;color:#666;display:flex;flex-direction:column;gap:16px}.subtitle-editor-loading-text{font-size:16px}.subtitle-editor-page.error{align-items:center;display:flex;justify-content:center}.error-message{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:40px;text-align:center}.error-message h2{color:#f44336;margin-bottom:15px}.error-message p{color:#666;margin-bottom:20px}.delete-modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-modal{animation:slideUp .2s ease;background-color:#fff;box-shadow:0 20px 60px #0000004d;max-width:420px;overflow:hidden}.delete-modal-header{align-items:center;background-color:#fff5f5;border-bottom:1px solid #ffe0e0;display:flex;flex-direction:column;padding:24px 24px 16px}.delete-modal-header svg{margin-bottom:12px}.delete-modal-header h2{color:#c53030;font-size:20px;font-weight:600;margin:0}.delete-modal-body{padding:20px 24px}.delete-modal-body p{color:#333;font-size:15px;margin:0 0 12px}.delete-modal-preview{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:14px;font-style:italic;line-height:1.5;margin-bottom:12px;padding:12px}.delete-modal-warning{color:#718096;font-size:13px;margin:0}.delete-modal-actions{background-color:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-danger{background-color:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-danger:hover{background-color:#c53030;box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.processing-overlay{animation:fadeIn .3s ease;background-color:#000000b3;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.processing-content,.processing-overlay{align-items:center;display:flex;flex-direction:column}.processing-content{animation:slideUp .3s ease;background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;gap:20px;padding:40px 60px}.processing-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4285f4;height:60px;width:60px}.processing-content h3{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.processing-content p{color:#666;font-size:14px;margin:0;text-align:center}@media (max-width:768px){.editor-header{padding:12px 16px}.editor-header h1{font-size:18px}.controls-section,.waveform-section{padding:8px 16px}.editor-actions,.subtitle-list-section{padding:12px 16px}.btn-primary,.btn-secondary{font-size:14px;padding:10px 16px}.delete-modal{margin:0 10px;width:95%}.delete-modal-actions,.delete-modal-body,.delete-modal-header{padding:16px}}.search-bar__form{display:contents}.search-bar{align-items:center;display:flex;flex:1 1;gap:8px;max-width:480px;min-width:280px}.search-bar--expanded{max-width:none}.search-bar__wrapper{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;display:flex;flex:1 1;position:relative;transition:border-color .2s,box-shadow .2s}.search-bar__wrapper:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-bar__icon{color:#94a3b8;flex-shrink:0;left:14px;pointer-events:none;position:absolute}.search-bar__input{background:#0000;border:none;border-radius:10px;color:#1e293b;font-size:14px;padding:11px 40px 11px 44px;width:100%}.search-bar__input:focus{outline:none}.search-bar__input::placeholder{color:#94a3b8}.search-bar__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-bar__clear{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;position:absolute;right:10px;transition:background .2s,color .2s;width:24px}.search-bar__clear:hover{background:#e2e8f0;color:#1e293b}.search-bar__clear:focus-visible{outline:2px solid #007bff;outline-offset:2px}.search-bar__submit{background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:11px 20px;transition:background .2s;white-space:nowrap}.search-bar__submit:hover{background:#1d4ed8}.search-bar__submit:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (max-width:768px){.search-bar{max-width:none;min-width:0;min-width:auto;width:100%}.search-bar__submit{font-size:13px;padding:11px 16px}}.filters-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filters-search-section{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 18px}.btn-toggle-filters{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.btn-toggle-filters:hover{background:#f8f9fa;border-color:#ccc}.btn-toggle-filters:focus-visible{outline:2px solid #007bff;outline-offset:2px}.btn-toggle-filters svg{color:#888}.active-filter-badge{background:#007bff;border-radius:50%;height:8px;margin-left:4px;width:8px}.btn-clear-inline{background:#0000;border:none;color:#888;cursor:pointer;font-size:13px;padding:6px 12px;transition:color .2s}.btn-clear-inline:hover{color:#dc3545}.btn-clear-inline:focus-visible{outline:2px solid #007bff;outline-offset:2px}.advanced-filters{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;overflow:hidden}.filters-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:14px 18px}.filters-header h3{align-items:center;color:#333;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0}.filters-header h3 svg{color:#666}.filters-header-actions{align-items:center;display:flex;gap:8px}.btn-clear{background:#0000;border:1px solid #dc3545;border-radius:6px;color:#dc3545;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.btn-clear:hover{background:#dc3545;color:#fff}.btn-clear:focus-visible{outline:2px solid #dc3545;outline-offset:2px}.btn-collapse{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .2s;width:32px}.btn-collapse:hover{background:#0000000d}.btn-collapse:focus-visible{outline:2px solid #007bff;outline-offset:2px}.filters-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:18px}.filter-group{display:flex;flex-direction:column;gap:10px}.filter-group label{color:#555;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{align-items:center;background:#f5f5f5;border:1px solid #0000;border-radius:20px;color:#555;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;padding:8px 14px;transition:all .2s}.filter-chip:hover{background:#e8e8e8}.filter-chip:focus-visible{outline:2px solid #007bff;outline-offset:2px}.filter-chip.active{background:#e3f2fd;border-color:#007bff;color:#007bff;font-weight:500}.chip-count{color:#888}.chip-count,.star-icon{font-size:12px}.filter-select{-webkit-appearance:none;appearance:none;background:#f8f9fa;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;padding:10px 36px 10px 14px;transition:all .2s}.filter-select:hover{border-color:#ccc}.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.filter-select:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (max-width:768px){.filters-toolbar{align-items:stretch;flex-direction:column;gap:10px}.btn-toggle-filters{align-self:flex-start}.filters-search-section{padding:12px 14px}.filters-content{gap:16px;grid-template-columns:1fr;padding:14px}.filter-chips{gap:6px}.filter-chip{font-size:12px;padding:6px 12px}}.playlist-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.playlist-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:400px;width:90%}.playlist-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.playlist-modal-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.playlist-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.playlist-modal-close:hover{background:#f1f5f9;color:#1e293b}.playlist-modal-content{flex:1 1;overflow-y:auto;padding:16px 20px}.playlist-modal-error{background:#fef2f2;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px;padding:12px}.playlist-modal-empty,.playlist-modal-loading{color:#64748b;padding:40px 20px;text-align:center}.playlist-modal-empty p{margin:0 0 8px}.playlist-list{list-style:none;margin:0 0 16px;padding:0}.playlist-item{margin-bottom:8px}.playlist-checkbox-label{align-items:center;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.playlist-checkbox-label:hover{background:#f8fafc;border-color:#2563eb}.playlist-checkbox-label input[type=checkbox]{accent-color:#2563eb;cursor:pointer;height:18px;width:18px}.playlist-title{color:#1e293b;flex:1 1;font-size:15px;font-weight:500}.playlist-count{color:#94a3b8}.playlist-add-new-btn{background:#0000;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;font-size:15px;font-weight:500;padding:14px;transition:all .2s ease;width:100%}.playlist-add-new-btn:hover{background:#f8fafc;border-color:#2563eb;color:#2563eb}.playlist-create-form{background:#f8fafc;border-radius:8px;margin-top:8px;padding:16px}.playlist-create-input{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:15px;outline:none;padding:12px 14px;transition:border-color .2s ease;width:100%}.playlist-create-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.playlist-create-error{color:#dc2626;font-size:13px;margin-top:8px}.playlist-create-actions{display:flex;gap:8px;margin-top:12px}.playlist-btn{border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.playlist-btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.playlist-btn-cancel:hover{background:#f1f5f9}.playlist-btn-create{background:#2563eb;border:1px solid #2563eb;color:#fff}.playlist-btn-create:hover:not(:disabled){background:#1d4ed8}.playlist-btn-create:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed}@media (max-width:480px){.playlist-modal{max-height:90vh;width:95%}.playlist-modal-content,.playlist-modal-header{padding:14px 16px}.playlist-checkbox-label{padding:10px}}.course-list-page{margin:0 auto;max-width:1400px;padding:20px}.search-results-header{align-items:center;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);color:#555;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.search-results-header .result-count{color:var(--color-text-muted)}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.course-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;position:relative;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.btn-add-to-playlist{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:var(--shadow-sm);color:#64748b;cursor:pointer;display:flex;font-size:20px;font-weight:600;height:36px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:all var(--transition-normal);width:36px;z-index:10}.course-card:hover .btn-add-to-playlist{opacity:1}.btn-add-to-playlist:hover{background:var(--color-primary);color:#fff;transform:scale(1.1)}.course-cover{background-color:var(--color-bg-secondary);background-position:50%;background-size:cover;height:160px}.course-cover.placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center}.course-cover.placeholder span{font-size:48px}.course-info{padding:16px}.course-title{-webkit-line-clamp:2;color:var(--color-text-primary);font-size:1.1rem;line-height:1.3;margin-bottom:8px}.course-description{-webkit-line-clamp:2;margin-bottom:12px}.course-meta{margin-bottom:12px}.course-content-stats{border-top:1px dashed var(--color-border-light);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:8px 0}.content-stat{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:12px;padding:3px 8px}.course-list-page .course-stats{margin-bottom:12px}.course-creator{border-top:1px solid var(--color-border-light);color:var(--color-text-light);font-size:12px;padding-top:8px}.creator-link{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.creator-link:hover{color:var(--color-primary-hover);text-decoration:underline}.course-actions{border-top:1px solid var(--color-border-light);margin-top:12px;padding-top:12px}.btn-enroll{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background var(--transition-normal),transform .1s;width:100%}.btn-enroll:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.02)}.btn-enroll:active:not(:disabled){transform:scale(.98)}.btn-enroll:disabled{background:#ccc;cursor:not-allowed}.enrolled-badge{background:var(--color-success-light);border:1px solid #c3e6cb;border-radius:var(--radius-lg);color:var(--color-success-text);display:block;font-size:14px;font-weight:600;padding:10px 16px;text-align:center;width:100%}.header-actions{display:flex;gap:12px}.btn-delete-all{background:#dc3545;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background var(--transition-normal)}.btn-delete-all:hover:not(:disabled){background:#c82333}.btn-delete-all:disabled{background:#ccc;cursor:not-allowed}.delete-modal{border-radius:var(--radius-xl)}.modal-warning{background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error)}.modal-instruction{color:var(--color-text-primary)}.delete-confirm-input{border:1px solid var(--color-border);border-radius:var(--radius-md)}.btn-confirm-delete{border-radius:var(--radius-md);transition:background var(--transition-normal)}@media (max-width:768px){.course-list-page{padding:16px}.courses-grid{grid-template-columns:1fr}.page-header h1{font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.btn-delete-all,.btn-refresh{width:100%}.delete-modal{padding:16px;width:95%}.modal-actions{flex-direction:column-reverse}.btn-confirm-delete,.modal-actions .btn-cancel{width:100%}}.sentence-edit-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.sentence-edit-modal{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.btn-close{background:#f1f5f9;color:#64748b;font-size:18px;height:36px;padding:0;transition:all .2s ease;width:36px}.btn-close:hover{background:#e2e8f0;color:#1e293b}.modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin:16px 24px 0;padding:12px 16px}.modal-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;overflow-x:auto;padding:12px 24px}.modal-tabs .tab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.modal-tabs .tab-btn:hover{background:#fff;color:#1e293b}.modal-tabs .tab-btn.active{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000a;color:#2563eb}.tab-icon{font-size:1rem}.modal-content{flex:1 1;overflow-y:auto;padding:24px}.edit-section{display:flex;flex-direction:column;gap:16px}.section-header{margin-bottom:8px}.section-header h3{color:#1e293b;font-size:1rem;font-weight:600}.btn-add{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#2563eb;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s ease}.btn-add:hover{background:#dbeafe;border-color:#93c5fd}.empty-hint{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#94a3b8;font-size:.9rem;font-style:italic;padding:20px;text-align:center}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#1e293b;font-size:.85rem;font-weight:500}.form-group input,.form-group textarea{border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.9rem;padding:10px 12px;resize:vertical;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.edit-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:16px}.item-header{align-items:center;display:flex;justify-content:space-between}.item-number{color:#64748b;font-size:.85rem;font-weight:600}.btn-remove{background:none;border:none;border-radius:4px;color:#ef4444;font-size:1rem;padding:4px 8px}.btn-remove:hover{background:#fef2f2}.vocab-tags-edit{display:flex;flex-wrap:wrap;gap:8px}.vocab-tag-input{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:4px;padding:4px 4px 4px 8px}.vocab-tag-input input{background:#0000;border:none;font-size:.9rem;padding:6px;width:120px}.vocab-tag-input input:focus{outline:none}.btn-remove-inline{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:.9rem;padding:4px 6px;transition:color .2s ease}.btn-remove-inline:hover{color:#ef4444}.modal-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel{color:#1e293b;font-size:.9rem;font-weight:600}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-save{font-size:.9rem;padding:10px 24px}.btn-save:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.btn-save:disabled{opacity:.5}@media (max-width:640px){.sentence-edit-modal{border-radius:0;max-height:100vh}.modal-tabs{padding:8px 16px}.modal-tabs .tab-btn{font-size:.85rem;padding:6px 12px}.tab-label{display:none}.modal-content{padding:16px}.form-row{grid-template-columns:1fr}.modal-footer{padding:12px 16px}}.phrase-edit-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.phrase-edit-modal{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.phrase-edit-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.phrase-edit-modal .modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.phrase-edit-modal .btn-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.phrase-edit-modal .btn-close:hover{background:#e2e8f0;color:#1e293b}.phrase-edit-modal .modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin:16px 24px 0;padding:12px 16px}.phrase-edit-modal .modal-content{flex:1 1;overflow-y:auto;padding:24px}.phrase-edit-modal .edit-section{display:flex;flex-direction:column;gap:16px}.phrase-edit-modal .form-group{display:flex;flex-direction:column;gap:6px}.phrase-edit-modal .form-group label{color:#1e293b;font-size:.85rem;font-weight:500}.phrase-edit-modal .form-group input,.phrase-edit-modal .form-group select,.phrase-edit-modal .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.9rem;padding:10px 12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.phrase-edit-modal .form-group input:focus,.phrase-edit-modal .form-group select:focus,.phrase-edit-modal .form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.phrase-edit-modal .form-group input::placeholder,.phrase-edit-modal .form-group textarea::placeholder{color:#94a3b8}.phrase-edit-modal .modal-footer{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.phrase-edit-modal .btn-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.phrase-edit-modal .btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.phrase-edit-modal .btn-cancel:disabled{cursor:not-allowed;opacity:.5}.phrase-edit-modal .btn-save{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:all .2s ease}.phrase-edit-modal .btn-save:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb40}.phrase-edit-modal .btn-save:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.phrase-edit-modal{border-radius:0;max-height:100vh}.phrase-edit-modal .modal-content{padding:16px}.phrase-edit-modal .modal-footer{padding:12px 16px}}.course-detail-page{margin:0 auto;max-width:1200px;padding:20px}.course-header{border-bottom:1px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.breadcrumb{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.breadcrumb a{color:#007bff;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.course-header h1{color:#333;font-size:2rem;margin:0}.course-header .title-section{margin-bottom:12px}.course-header .title-display{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.course-header .btn-edit-title{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#6366f1;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s ease}.course-header .btn-edit-title:hover{background:#e0e7ff;border-color:#a5b4fc;transform:translateY(-1px)}.course-header .title-edit-form{display:flex;flex-direction:column;gap:12px}.course-header .title-input{border:2px solid #6366f1;border-radius:10px;color:#1f2937;font-size:1.75rem;font-weight:600;max-width:600px;outline:none;padding:12px 16px;transition:border-color .2s ease;width:100%}.course-header .title-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #6366f133}.course-header .title-input:disabled{cursor:not-allowed;opacity:.7}.course-header .title-edit-actions{display:flex;gap:8px}.course-header .btn-title-cancel,.course-header .btn-title-save{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.course-header .btn-title-save{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.course-header .btn-title-save:hover:not(:disabled){box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.course-header .btn-title-save:disabled{cursor:not-allowed;opacity:.6}.course-header .btn-title-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.course-header .btn-title-cancel:hover:not(:disabled){background:#e5e7eb}.course-header .btn-title-cancel:disabled{cursor:not-allowed;opacity:.6}.thumbnail-section{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:20px;margin-bottom:20px;padding:16px}.thumbnail-container{aspect-ratio:16/9;background:#e2e8f0;border-radius:8px;flex-shrink:0;overflow:hidden;width:240px}.course-thumbnail-preview{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder-large{align-items:center;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#64748b;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;width:100%}.thumbnail-placeholder-large .placeholder-icon{font-size:32px}.thumbnail-placeholder-large .placeholder-text{font-size:13px;font-weight:500}.thumbnail-actions{display:flex;flex-direction:column;gap:8px}.btn-generate-thumbnail{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;transition:all .2s ease}.btn-generate-thumbnail:hover:not(:disabled){box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.btn-generate-thumbnail:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-generate-thumbnail.generating{background:linear-gradient(135deg,#94a3b8,#64748b)}.btn-generate-thumbnail svg{flex-shrink:0}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.thumbnail-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;margin:0;padding:8px 12px}.thumbnail-tags{margin-top:12px}.thumbnail-tags .tags-label{color:#64748b;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.thumbnail-tags .tags-list{display:flex;flex-wrap:wrap;gap:6px}.thumbnail-tags .tag-item{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;color:#4f46e5;display:inline-block;font-size:12px;padding:4px 10px}@media (max-width:640px){.thumbnail-section{flex-direction:column}.thumbnail-container{max-width:320px;width:100%}}.course-header .course-description{color:#666;font-size:16px;line-height:1.5;margin-bottom:16px}.course-meta-header{display:flex;flex-wrap:wrap;gap:8px}.meta-badge{background:#f0f0f0;border-radius:20px;color:#555;font-size:13px;font-weight:500;padding:4px 12px}.meta-badge.difficulty{background:#e3f2fd;color:#1565c0}.meta-badge.status{text-transform:capitalize}.meta-badge.status.published{background:#e8f5e9;color:#388e3c}.meta-badge.status.draft{background:#fff3e0;color:#f57c00}.empty-container,.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.loading-container .spinner{animation:spin 1s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}.error-container h2{color:#d32f2f;margin-bottom:12px}.error-container p{margin-bottom:16px}.error-container a,.error-container button{border-radius:6px;margin:0 8px;padding:8px 16px;text-decoration:none}.success-banner{background:#e8f5e9;border-radius:8px;color:#388e3c;font-weight:500;margin-bottom:20px;padding:12px 20px;text-align:center}.stats-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:30px}.stat-card{padding:20px}.stat-value{color:#007bff;display:block;font-size:2rem}.stat-label{color:#888;display:block}.audio-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:20px}.audio-section h3{color:#333;margin-bottom:12px}.audio-player{width:100%}.content-sections{margin-bottom:30px}.content-sections h2{color:#333;font-size:1.5rem;margin-bottom:20px}.empty-sections{color:#888;padding:40px;text-align:center}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;overflow:hidden}.section-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px}.section-header h3{font-size:1.1rem;margin:0}.episode-count{font-size:13px;opacity:.9}.episode-card{border-bottom:1px solid #eee;padding:16px 20px}.episode-card:last-child{border-bottom:none}.episode-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.episode-header h4{color:#333;font-size:1rem;margin:0}.episode-header .duration{color:#888;font-size:13px}.episode-audio{margin-bottom:16px;width:100%}.segments-list{display:flex;flex-direction:column;gap:12px}.segment-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:8px;display:flex;gap:12px;padding:12px}.segment-index{align-items:center;background:#007bff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.segment-content{flex:1 1;min-width:0}.segment-time{color:#888;font-size:12px}.segment-field,.segment-time{margin-bottom:8px}.segment-field:last-child{margin-bottom:0}.segment-field label{color:#888;display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.field-value{align-items:flex-start;display:flex;gap:8px}.field-value span{flex:1 1;font-size:14px;line-height:1.5}.field-value .text-en{color:#333}.field-value .text-zh{color:#666}.btn-edit{background:#0000;border:1px solid #007bff;border-radius:4px;color:#007bff;flex-shrink:0;font-size:12px;padding:4px 8px;transition:all .2s}.btn-edit:hover{background:#007bff;color:#fff}.edit-field{display:flex;flex-direction:column;gap:8px}.edit-field input,.edit-field textarea{border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;width:100%}.edit-field textarea{resize:vertical}.edit-field input:focus,.edit-field textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.edit-actions{gap:8px}.btn-cancel,.btn-save{border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.btn-save{background:#007bff}.btn-save:hover:not(:disabled){background:#0056b3}.btn-save:disabled{opacity:.6}.btn-cancel{background:#0000;border:1px solid #ddd;color:#666}.btn-cancel:hover{background:#f5f5f5}.vocabulary-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.vocabulary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.vocab-card{border-radius:12px;box-shadow:0 2px 8px #00000014;padding:16px}.vocab-header{align-items:center;gap:8px;margin-bottom:8px}.vocab-word{color:#333;font-size:1.1rem;font-weight:600}.vocab-pos{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:12px;padding:2px 8px}.vocab-pronunciation{color:#888;font-style:italic;margin-bottom:8px}.vocab-definition-en{color:#333;font-size:14px;margin-bottom:4px}.vocab-definition-zh{color:#666;font-size:14px;margin-bottom:8px}.vocab-examples{color:#666;font-size:13px}.vocab-examples strong{margin-bottom:4px}.vocab-examples ul{margin:0;padding-left:20px}.vocab-examples li{margin-bottom:4px}.audio-preview-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:24px}.audio-preview-section .section-header{background:#0000;border-bottom:2px solid #e8f4fd;color:inherit;margin-bottom:16px;padding:0 0 12px}.audio-preview-section .section-header h3{color:#1565c0;font-size:1.25rem;font-weight:600;margin:0 0 8px}.audio-preview-section .section-description{color:#444;font-size:14px;line-height:1.5;margin:0}.audio-player-container{display:flex;flex-direction:column;gap:16px}.subtitle-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.subtitle-label{color:#666;font-size:14px;font-weight:500}.subtitle-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:20px;color:#555;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.subtitle-btn:hover{background:#e8e8e8}.subtitle-btn.active{font-weight:600}.subtitle-btn.active.off{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.subtitle-btn.active.en{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.subtitle-btn.active.zh{background:#dcfce7;border-color:#86efac;color:#16a34a}.subtitle-btn.active.both{background:#fef3c7;border-color:#fcd34d;color:#d97706}.course-detail-page .audio-player-wrapper{background:#f1f3f4;border-radius:8px;margin-bottom:12px;padding:8px}.course-detail-page .main-audio-player{border-radius:6px;display:block;height:40px;min-height:40px;width:100%}.audio-duration{color:#888;font-size:13px;margin:0}.content-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .2s}.tab-btn:hover:not(:disabled){color:#007bff}.tab-btn.active{border-bottom-color:#007bff;color:#007bff}.tab-btn:disabled{color:#ccc;cursor:not-allowed}.learning-content-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:24px}.learning-content-section .section-header{background:#0000;border-bottom:2px solid #e8f5e9;color:inherit;margin-bottom:20px;padding:0 0 12px}.learning-content-section .section-header h3{color:#2e7d32;font-size:1.25rem;font-weight:600;margin:0 0 8px}.learning-content-section .section-description{color:#444;font-size:14px;line-height:1.5;margin:0}.sentences-container{display:flex;flex-direction:column;gap:24px}.vocabulary-section{margin-bottom:30px}.vocabulary-section .vocabulary-header{margin-bottom:20px}.vocabulary-section .vocabulary-header h3{color:#333;font-size:1.3rem;margin:0 0 8px}.vocabulary-section .vocabulary-header p{color:#666;font-size:14px;margin:0}.vocabulary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.vocab-card.clickable{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;padding:20px;transition:all .2s}.vocab-card.clickable:hover{border-color:#007bff;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.vocab-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.vocab-card-header .vocab-word{color:#333;font-size:1.2rem;font-weight:700}.vocab-card-header .vocab-pos{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:12px;font-weight:500;padding:2px 8px}.vocab-difficulty{border-radius:12px;font-size:11px;font-weight:600;margin-left:auto;padding:2px 10px}.vocab-difficulty.diff-easy{background:#dcfce7;color:#16a34a}.vocab-difficulty.diff-medium{background:#fef3c7;color:#d97706}.vocab-difficulty.diff-hard{background:#fee2e2;color:#dc2626}.vocab-card .vocab-pronunciation{color:#888;font-size:14px;font-style:italic;margin-bottom:12px}.vocab-definitions{margin-bottom:12px}.vocab-definitions .vocab-def-en{color:#333;font-size:14px;line-height:1.4;margin:0 0 4px}.vocab-definitions .vocab-def-zh{color:#666;font-size:14px;margin:0 0 8px}.vocab-context{background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;color:#555;font-size:13px;margin:0;padding:8px 12px}.vocab-examples strong{color:#888;display:block;font-size:12px;margin-bottom:6px;text-transform:uppercase}.vocab-example{border-left:2px solid #e0e0e0;margin-bottom:8px;padding-left:12px}.vocab-example .example-en{color:#333;font-size:13px;margin:0 0 2px}.vocab-example .example-zh{color:#666;font-size:13px;margin:0}.vocab-related{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.vocab-related .related-label{color:#888;font-size:12px;font-weight:500}.related-tag{border-radius:12px;font-size:12px;padding:2px 8px}.related-tag.synonym{background:#dbeafe;color:#1d4ed8}.related-tag.collocation{background:#f3e8ff;color:#7c3aed}.vocab-quiz-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-top:8px;padding:4px 10px}.vocab-card-legacy{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:16px}.vocab-examples-legacy{color:#666;font-size:13px}.vocab-examples-legacy strong{display:block;margin-bottom:4px}.vocab-examples-legacy ul{margin:0;padding-left:20px}.vocab-examples-legacy li{margin-bottom:4px}.phrases-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:24px}.phrases-section h3{color:#333;font-size:1.3rem;margin:0 0 20px}.phrases-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.phrase-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:16px}.phrase-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.phrase-text{color:#333;font-size:1.1rem;font-weight:600}.phrase-type{border-radius:12px;flex-shrink:0;font-size:11px;font-weight:600;padding:2px 10px;text-transform:capitalize}.phrase-type.idiom{background:#fef3c7;color:#d97706}.phrase-type.phrasal_verb{background:#dbeafe;color:#1d4ed8}.phrase-type.collocation{background:#f3e8ff;color:#7c3aed}.phrase-type.expression{background:#dcfce7;color:#16a34a}.phrase-header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.btn-edit-phrase{align-items:center;background:#fff;border:1px solid #fcd34d;border-radius:6px;color:#d97706;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.btn-edit-phrase:hover{background:#fef3c7;border-color:#f59e0b;box-shadow:0 2px 6px #d9770633;transform:translateY(-1px)}.btn-edit-phrase:active{box-shadow:none;transform:translateY(0)}.phrase-definitions{margin-bottom:10px}.phrase-def-en{color:#333;font-size:14px;margin:0 0 4px}.phrase-def-zh{color:#666;font-size:14px;margin:0}.phrase-explanation{background:#fff;border-radius:6px;color:#555;font-size:13px;margin-bottom:8px;padding:8px 12px}.phrase-explanation strong{color:#888}.phrase-usage{color:#666;font-size:13px;font-style:italic}.phrase-usage strong{color:#888;font-style:normal}.section-header-row{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.section-header-row h4{font-size:1.1rem;margin:0}.segment-speaker{color:#7c3aed;font-size:12px;font-weight:600;margin-bottom:4px;text-transform:capitalize}.segment-text{color:#333;font-size:14px;line-height:1.5;margin-bottom:4px}.segment-translation{color:#666;font-size:14px;line-height:1.5}.page-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;padding-top:20px}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;color:#333;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s}.btn-secondary:hover{background:#e8e8e8}.btn-refresh{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.btn-refresh:hover{background:#0056b3}.btn-delete{background:#dc3545;border-radius:8px;color:#fff;font-weight:500;padding:10px 20px;transition:all .2s}.btn-delete:hover{background:#c82333}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:400px;padding:24px;width:90%}.delete-modal h3{color:#dc3545;font-size:1.25rem;margin:0 0 16px}.modal-warning{background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:14px;line-height:1.5;margin-bottom:16px;padding:12px}.modal-instruction{color:#333;font-size:14px;margin-bottom:12px}.delete-confirm-input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;margin-bottom:20px;padding:10px 12px;width:100%}.delete-confirm-input:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-confirm-delete{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-confirm-delete:hover:not(:disabled){background:#c82333}.btn-confirm-delete:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.course-detail-page{padding:16px}.course-header h1{font-size:1.5rem}.stats-summary{grid-template-columns:repeat(2,1fr)}.audio-preview-section{padding:16px}.subtitle-controls{justify-content:center}.subtitle-btn{font-size:12px;padding:6px 10px}.content-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-btn{font-size:13px;padding:10px 14px;white-space:nowrap}.vocabulary-cards{grid-template-columns:1fr}.vocab-card-header{align-items:flex-start;flex-direction:column}.vocab-difficulty{margin-left:0}.phrases-grid{grid-template-columns:1fr}.phrase-header{flex-direction:column;gap:8px}.phrase-type{align-self:flex-start}.segment-item{flex-direction:column}.segment-index{align-self:flex-start}.section-header-row{align-items:flex-start;flex-direction:column;gap:8px}.field-value{flex-direction:column;gap:4px}.btn-edit{align-self:flex-start}.vocabulary-grid{grid-template-columns:1fr}.learning-content-section{padding:16px}.page-actions{flex-direction:column}.page-actions .btn-delete,.page-actions .btn-refresh,.page-actions .btn-secondary{text-align:center;width:100%}.delete-modal{padding:16px;width:95%}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-confirm-delete{width:100%}}.learning-entry-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;margin-bottom:30px;padding:28px}.learning-entry-section h3{font-size:1.4rem;font-weight:700;margin:0 0 8px}.learning-entry-description{font-size:14px;margin:0 0 20px;opacity:.9}.learning-mode-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.learning-mode-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:16px 12px;text-decoration:none;transition:all .2s ease}.learning-mode-btn:hover{background:#ffffff40;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.learning-mode-btn .mode-icon{font-size:1.8rem;margin-bottom:6px}.learning-mode-btn .mode-name{font-size:14px;font-weight:600;margin-bottom:2px}.learning-mode-btn .mode-desc{color:#fffffff2;font-size:13px;font-weight:500}.learning-mode-btn .mode-progress{align-items:center;border-top:1px solid #fff3;display:flex;flex-direction:column;margin-top:8px;padding-top:8px;width:100%}.learning-mode-btn .mode-progress .progress-count{align-items:center;display:flex;font-size:11px;font-weight:600;gap:4px}.learning-mode-btn .mode-progress .completed-badge{align-items:center;background:#4ade80e6;border-radius:50%;color:#fff;display:inline-flex;font-size:10px;height:16px;justify-content:center;width:16px}.learning-mode-btn .mode-progress .best-score{font-size:10px;margin-top:2px;opacity:.9}.learning-mode-btn.comprehension:hover{background:#4ade804d;border-color:#4ade8080}.learning-mode-btn.vocabulary:hover{background:#60a5fa4d;border-color:#60a5fa80}.learning-mode-btn.dictation:hover{background:#fbbf244d;border-color:#fbbf2480}.learning-mode-btn.shadowing:hover{background:#f472b64d;border-color:#f472b680}.learning-mode-btn.quiz:hover{background:#a78bfa4d;border-color:#a78bfa80}@media (max-width:768px){.learning-entry-section{padding:20px}.learning-mode-buttons{grid-template-columns:repeat(2,1fr)}.learning-mode-btn{padding:14px 10px}.learning-mode-btn .mode-icon{font-size:1.5rem}.learning-mode-btn .mode-name{font-size:13px}}@media (max-width:480px){.learning-mode-buttons{gap:8px;grid-template-columns:repeat(2,1fr)}.learning-mode-btn{padding:12px 8px}}.my-courses-page{margin:0 auto;max-width:1400px;padding:20px}.my-courses-search-bar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.my-courses-search-bar .search-result-count{color:#64748b;font-size:14px}.my-courses-page .loading-container{align-items:center;color:#666;display:flex;flex-direction:column;height:300px;justify-content:center}.my-courses-page .loading-container .spinner{animation:my-courses-spin 1s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}@keyframes my-courses-spin{to{transform:rotate(1turn)}}.my-courses-page .error-banner{align-items:center;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.my-courses-page .error-banner p{color:#c53030;margin:0}.my-courses-page .error-banner button{background:#fc8181;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background .2s}.my-courses-page .error-banner button:hover{background:#f56565}.my-courses-page .error-banner button:focus-visible{outline:2px solid #c53030;outline-offset:2px}.my-courses-page .empty-state{padding:60px 20px;text-align:center}.my-courses-page .empty-icon{font-size:64px;margin-bottom:16px}.my-courses-page .empty-state h3{color:#333;font-size:1.5rem;margin-bottom:8px}.my-courses-page .empty-state p{color:#666;margin-bottom:24px}.my-courses-page .btn-primary{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:12px 24px;text-decoration:none;transition:background .2s}.my-courses-page .btn-primary:hover{background:#0056b3}.my-courses-page .btn-primary:focus-visible{outline:2px solid #007bff;outline-offset:2px}.my-courses-page .courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.my-courses-page .course-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.my-courses-page .course-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.my-courses-page .course-card:focus-visible{outline:2px solid #007bff;outline-offset:2px}.my-courses-page .course-cover{background-color:#f5f5f5;background-position:50%;background-size:cover;height:160px}.my-courses-page .course-cover.placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center}.my-courses-page .course-cover.placeholder span{font-size:48px}.my-courses-page .course-info{padding:16px}.my-courses-page .course-title{color:#333;font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:8px}.my-courses-page .course-description,.my-courses-page .course-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.my-courses-page .course-description{color:#666;font-size:14px;margin-bottom:12px}.my-courses-page .course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.my-courses-page .badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.my-courses-page .badge.difficulty{background:#e8f4fd;color:#1976d2}.my-courses-page .badge.difficulty.beginner{background:#e8f5e9;color:#388e3c}.my-courses-page .badge.difficulty.intermediate{background:#fff3e0;color:#f57c00}.my-courses-page .badge.difficulty.advanced{background:#fce4ec;color:#d32f2f}.my-courses-page .badge.duration{background:#f3e5f5;color:#7b1fa2}.my-courses-page .badge.words{background:#e3f2fd;color:#1565c0}.my-courses-page .course-content-stats{border-top:1px dashed #eee;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:8px 0}.my-courses-page .content-stat{background:#f8f9fa;border-radius:4px;color:#666;font-size:12px;padding:3px 8px}.my-courses-page .course-stats{display:flex;gap:16px;margin-bottom:12px}.my-courses-page .stat{align-items:center;color:#888;display:flex;font-size:13px;gap:4px}.my-courses-page .stat-icon{font-size:14px}.my-courses-page .course-creator{border-top:1px solid #eee;color:#999;font-size:12px;padding-top:8px}.my-courses-page .creator-link{color:#007bff;color:var(--color-primary,#007bff);font-weight:500;text-decoration:none;transition:color .2s ease}.my-courses-page .creator-link:hover{color:#0056b3;color:var(--color-primary-hover,#0056b3);text-decoration:underline}.my-courses-page .course-actions{border-top:1px solid #eee;margin-top:12px;padding-top:12px}.my-courses-page .btn-enter{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background .2s,transform .1s;width:100%}.my-courses-page .btn-enter:hover{background:#0056b3;transform:scale(1.02)}.my-courses-page .btn-enter:active{transform:scale(.98)}.my-courses-page .btn-enter:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (max-width:768px){.my-courses-page{padding:16px}.my-courses-search-bar{align-items:stretch;flex-direction:column;gap:10px}.my-courses-search-bar .search-result-count{font-size:13px;text-align:center}.my-courses-page .courses-grid{grid-template-columns:1fr}.my-courses-page .course-cover{height:140px}}.mode-navigation{border:none}.mode-navigation__desktop{background:#f5f7fa;border:none;display:none;flex-direction:column;gap:8px;height:100%;min-width:200px;padding:16px}.mode-navigation__item{align-items:center;border-radius:8px;color:#333;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:background-color .2s,color .2s}.mode-navigation__item:hover{background-color:#e8e9ea}.mode-navigation__item--active{background-color:#007bff;color:#fff}.mode-navigation__icon{font-size:18px}.mode-navigation__name{white-space:nowrap}.mode-navigation__mobile{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;justify-content:space-around;left:0;padding:8px 0;position:fixed;right:0;z-index:100}.mode-navigation__mobile-item{align-items:center;color:#666;display:flex;flex:1 1;flex-direction:column;font-size:11px;gap:4px;padding:8px;text-decoration:none;transition:color .2s}.mode-navigation__mobile-item--active{color:#007bff}.mode-navigation__mobile-name{text-align:center}@media (min-width:768px){.mode-navigation__desktop{display:flex}.mode-navigation__mobile{display:none}}.note-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.note-editor-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.note-editor-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.note-editor-header h2{color:#333;font-size:20px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-button:hover{background:#f0f0f0;color:#333}.associated-content{background:#f8f9fa;border-radius:8px;margin:20px 24px 0;padding:12px}.associated-content__label{color:#666;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.associated-content__box{background:#fff;border:2px dashed #007bff;border-radius:6px;color:#333;font-size:15px;line-height:1.5;padding:12px}.note-editor-body{flex:1 1;overflow-y:auto;padding:24px}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.note-textarea{border:1px solid #ddd;border-radius:6px;font-size:15px;line-height:1.5;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.note-textarea:focus{border-color:#007bff;outline:none}.note-input{border:1px solid #ddd;border-radius:6px;font-size:15px;padding:10px 12px;transition:border-color .2s;width:100%}.note-input:focus{border-color:#007bff;outline:none}.tags-container{border:1px solid #ddd;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;min-height:44px;padding:8px}.tag-chip{background:#e3f2fd;border-radius:16px;display:inline-flex;font-size:14px;font-weight:500;gap:4px;padding:4px 10px}.tag-chip,.tag-remove{align-items:center;color:#1976d2}.tag-remove{background:none;border:none;cursor:pointer;display:flex;font-size:16px;height:16px;justify-content:center;opacity:.7;padding:0;transition:opacity .2s;width:16px}.tag-remove:hover{opacity:1}.tag-input-wrapper{flex:1 1;min-width:150px;position:relative}.tag-input{border:none;font-size:14px;outline:none;padding:4px 0;width:100%}.tag-suggestions{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;position:absolute;right:0;top:100%;z-index:10}.tag-suggestion{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:8px 12px;text-align:left;transition:background .2s;width:100%}.tag-suggestion:hover{background:#f0f0f0}.tag-hints{color:#999;font-size:12px;margin-top:8px}.note-editor-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.button{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.button--cancel{background:#fff;border:1px solid #ddd;color:#666}.button--cancel:hover{background:#f0f0f0}.button--save{background:#007bff;color:#fff}.button--save:hover{background:#0056b3}@media (max-width:600px){.note-editor-overlay{padding:0}.note-editor-modal{border-radius:0;max-height:100vh;max-width:100%}.note-editor-body,.note-editor-footer{padding:16px}.button{flex:1 1}}:root{--ask-primary:#2196f3;--ask-primary-dark:#1976d2;--ask-primary-light:#e3f2fd;--ask-bg:#fff;--ask-bg-secondary:#f5f5f5;--ask-text:#333;--ask-text-secondary:#666;--ask-text-muted:#999;--ask-border:#e0e0e0;--ask-error:#f44336;--ask-error-bg:#ffebee;--ask-user-bubble:#2196f3;--ask-user-text:#fff;--ask-ai-bubble:#f0f0f0;--ask-ai-text:#333;--ask-shadow:#00000026;--ask-shadow-heavy:#00000040}.learning-layout{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh}.learning-layout__header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:16px 20px}.learning-layout__back{background:none;border:none;color:#333;cursor:pointer;font-size:16px;padding:8px;transition:color .2s}.learning-layout__back:hover{color:#007bff}.learning-layout__title{color:#333;flex:1 1;font-size:18px;font-weight:600;margin:0 20px;text-align:center}.learning-layout__actions{display:flex;gap:12px}.learning-layout__notes-btn{background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.learning-layout__notes-btn:hover{background:#f0f0f0;border-color:#999;color:#333}.learning-layout__content{display:flex;flex:1 1;overflow:hidden}.learning-layout__main{background:#f5f7fa;border:none;flex:1 1;overflow-y:auto}.learning-layout__mobile-padding{display:block;height:70px}.learning-layout__notes-btn.active{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.learning-layout__notes-panel{background:#fff;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;min-width:320px;overflow:hidden;width:320px}.notes-panel__header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px}.notes-panel__header h3{color:#333;font-size:16px;font-weight:600;margin:0}.notes-panel__add-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 12px;transition:background .2s}.notes-panel__add-btn:hover{background:#1976d2}.notes-panel__list{flex:1 1;overflow-y:auto;padding:12px}.notes-panel__empty{color:#999;padding:40px 20px;text-align:center}.notes-panel__empty p{margin:0}.notes-panel__hint{font-size:13px;margin-top:8px!important}.notes-panel__item{background:#f9f9f9;border:1px solid #eee;border-radius:8px;margin-bottom:12px;padding:12px}.notes-panel__item-content{color:#333;font-size:14px;line-height:1.5;margin-bottom:8px}.notes-panel__item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.notes-panel__tag{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;padding:2px 8px}.notes-panel__item-actions{display:flex;gap:8px}.notes-panel__item-actions button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s}.notes-panel__item-actions button:hover{background:#e0e0e0;color:#333}.notes-panel__item-actions button:last-child:hover{background:#ffebee;color:#d32f2f}@media (min-width:768px){.learning-layout__header{padding:20px 32px}.learning-layout__title{font-size:20px}.learning-layout__mobile-padding{display:none}}@media (max-width:767px){.learning-layout__notes-panel{box-shadow:-4px 0 20px #00000026;height:100vh;position:fixed;right:0;top:0;z-index:1000}}.audio-player{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;justify-content:center;padding:12px}.audio-player__button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.audio-player__button:hover:not(:disabled){background:#007bff;border-color:#007bff;color:#fff}.audio-player__button:disabled{cursor:not-allowed;opacity:.5}.audio-player__play--playing{background:#007bff;border-color:#007bff;color:#fff}.audio-player__repeat--active{background:#28a745;border-color:#28a745;color:#fff}.audio-player__speed{min-width:80px}.audio-player__speed--natural{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}@media (max-width:480px){.audio-player{gap:8px;padding:8px}.audio-player__button{font-size:13px;padding:6px 12px}}.comprehension-page{background:#f8f9fa;display:flex;flex-direction:column;height:100%}.comprehension-loading{align-items:center;color:#666;display:flex;font-size:16px;height:100%;justify-content:center}.comprehension-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px 20px}.comprehension-header__title{color:#333;font-size:18px;font-weight:600;margin:0}.comprehension-header__nav{align-items:center;display:flex;gap:8px}.sentence-nav-btn{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s;width:36px}.sentence-nav-btn:hover:not(:disabled){background:#007bff;border-color:#007bff;color:#fff}.sentence-nav-btn:disabled{cursor:not-allowed;opacity:.4}.sentence-nav-counter{align-items:center;color:#333;display:flex;font-size:14px;font-weight:600;gap:4px;min-width:60px;padding:0 8px;text-align:center}.sentence-nav-current{color:#4f46e5}.sentence-nav-separator{color:#9ca3af}.sentence-nav-total{color:#333}.sentence-nav-progress{color:#22c55e;font-size:12px;font-weight:500;margin-left:4px}.comprehension-content{flex:1 1;overflow-y:auto;padding:16px}.comprehension-primary{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:800px}.comprehension-secondary{margin-left:auto;margin-right:auto;margin-top:16px;max-width:800px}@media (min-width:1024px){.comprehension-content--two-col{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 380px;margin:0 auto;max-width:1400px}.comprehension-content--two-col .comprehension-primary{max-width:none}.comprehension-content--two-col .comprehension-secondary{align-self:start;margin-top:0;max-height:calc(100vh - 180px);max-width:380px;min-width:380px;overflow-y:auto;position:-webkit-sticky;position:sticky;top:16px;width:380px}}@media (min-width:1440px){.comprehension-content--two-col{grid-template-columns:1fr 420px}.comprehension-content--two-col .comprehension-secondary{max-width:420px;min-width:420px;width:420px}}.sentence-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}.sentence-card__text{color:#1a1a1a;font-size:20px;font-weight:500;line-height:1.7;margin-bottom:12px}.sentence-card__translation{border-top:1px solid #eee;color:#666;font-size:15px;line-height:1.6;margin-bottom:16px;padding-top:12px}.graph-modal-trigger{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;color:#495057;cursor:pointer;display:flex;font-size:15px;gap:12px;padding:16px 20px;transition:all .2s ease;width:100%}.graph-modal-trigger:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#007bff;box-shadow:0 4px 12px #007bff26;color:#007bff;transform:translateY(-1px)}.graph-modal-trigger__icon{font-size:20px}.graph-modal-trigger__text{flex:1 1;font-weight:500;text-align:left}.graph-modal-trigger__arrow{font-size:18px;opacity:.6;transition:transform .2s}.graph-modal-trigger:hover .graph-modal-trigger__arrow{opacity:1;transform:translateX(4px)}.graph-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.graph-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}.graph-modal__header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e8e8e8;display:flex;gap:16px;padding:16px 24px}.graph-modal__title{color:#333;font-size:18px;font-weight:600;margin:0}.graph-modal__zoom{align-items:center;display:flex;gap:8px;margin-left:auto}.graph-modal__zoom-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:18px;font-weight:600;height:32px;justify-content:center;transition:all .2s;width:32px}.graph-modal__zoom-btn:hover:not(:disabled){background:#007bff;border-color:#007bff;color:#fff}.graph-modal__zoom-btn:disabled{cursor:not-allowed;opacity:.4}.graph-modal__zoom-label{color:#666;font-size:13px;font-weight:500;min-width:50px;text-align:center}.graph-modal__close{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s;width:36px}.graph-modal__close:hover{background:#e9ecef;color:#333}.graph-modal__sentence{background:#fffbeb;border-bottom:1px solid #fcd34d;color:#333;font-size:18px;font-weight:500;line-height:1.6;padding:16px 24px}.graph-modal__content{flex:1 1;min-height:400px;overflow:auto;padding:24px}.graph-modal__graph-wrapper{transition:transform .2s ease}@media (max-width:767px){.graph-modal-overlay{padding:10px}.graph-modal{border-radius:12px;max-height:95vh}.graph-modal__header{padding:12px 16px}.graph-modal__sentence{font-size:16px;padding:12px 16px}.graph-modal__content{min-height:300px;padding:16px}}.sentence-card__player{margin-top:8px}.sentence-card__grammar-tags{border-top:1px dashed #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px}.grammar-tag{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:16px;color:#666;cursor:help;display:inline-flex;font-size:12px;gap:4px;padding:4px 10px;transition:all .2s ease}.grammar-tag:hover{background:#eee;border-color:#ccc}.grammar-tag__level{align-items:center;background:#9ca3af;border-radius:8px;color:#fff;display:inline-flex;font-size:9px;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:20px;padding:0 4px}.grammar-tag__name{font-weight:500}.grammar-tag--cefr-A1{background:#22c55e1a;border-color:#22c55e4d}.grammar-tag--cefr-A1 .grammar-tag__level{background:#22c55e}.grammar-tag--cefr-A1:hover{background:#22c55e26}.grammar-tag--cefr-A2{background:#84cc161a;border-color:#84cc164d}.grammar-tag--cefr-A2 .grammar-tag__level{background:#84cc16}.grammar-tag--cefr-A2:hover{background:#84cc1626}.grammar-tag--cefr-B1{background:#eab3081a;border-color:#eab3084d}.grammar-tag--cefr-B1 .grammar-tag__level{background:#eab308}.grammar-tag--cefr-B1:hover{background:#eab30826}.grammar-tag--cefr-B2{background:#f973161a;border-color:#f973164d}.grammar-tag--cefr-B2 .grammar-tag__level{background:#f97316}.grammar-tag--cefr-B2:hover{background:#f9731626}.grammar-tag--cefr-C1{background:#ef44441a;border-color:#ef44444d}.grammar-tag--cefr-C1 .grammar-tag__level{background:#ef4444}.grammar-tag--cefr-C1:hover{background:#ef444426}.grammar-tag--cefr-C2{background:#dc26261a;border-color:#dc26264d}.grammar-tag--cefr-C2 .grammar-tag__level{background:#dc2626}.grammar-tag--cefr-C2:hover{background:#dc262626}.vocab-practice-page{background:#f5f7fa;display:flex;flex-direction:column;margin:0;min-height:calc(100vh - 120px);padding:0}.vocab-practice-empty,.vocab-practice-error,.vocab-practice-loading{align-items:center;color:#666;display:flex;flex:1 1;flex-direction:column;font-size:18px;gap:20px;justify-content:center}.btn-back,.btn-retry{background:#667eea;border:none;color:#fff}.btn-back:hover,.btn-retry:hover{background:#5568d3}.vocab-practice-header{align-items:center;display:flex;justify-content:center;padding:12px 20px}.vocab-progress-section{align-items:center;display:flex;gap:12px;max-width:400px;width:100%}.vocab-progress-bar{background:#e0e0e0;border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.vocab-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease-out}.vocab-progress-text{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.vocab-practice-container{align-items:flex-start;display:flex;flex:1 1;justify-content:center;padding:12px 20px 20px}.vocab-practice-card{background:#fff;border-radius:24px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;max-width:480px;min-height:420px;overflow:hidden;transition:max-width .2s ease-out;width:100%}.vocab-practice-card.wide-card{max-width:580px}.cefr-level-badge{border-radius:12px;display:inline-block;font-size:12px;letter-spacing:.5px;margin-bottom:12px;padding:4px 12px;text-transform:uppercase}.cefr-level-badge--A1{background:#22c55e}.cefr-level-badge--A2{background:#84cc16}.cefr-level-badge--B1{background:#eab308}.cefr-level-badge--B2{background:#f97316}.cefr-level-badge--C1{background:#ef4444}.cefr-level-badge--C2{background:#dc2626}.pronunciation-result{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:32px 1fr auto;max-width:420px;padding:14px 16px;width:100%}.pronunciation-result .feedback-text{text-align:center}.pronunciation-result svg{height:24px;width:24px}.vocab-practice-page .pronunciation-result .next-btn{align-self:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;line-height:1;margin:0;padding:8px 16px;transform:none!important;transition:background-color .15s ease!important}.vocab-practice-page .pronunciation-result .next-btn:hover{background:#218838;transform:none!important}.letter-boxes-container{gap:6px;padding:0 8px}.letter-boxes-container.wide-layout{flex-wrap:nowrap;gap:5px}.letter-boxes-container.small-boxes{gap:4px}.letter-boxes-container.extra-small-boxes{gap:3px}.letter-boxes-container.small-boxes .letter-box{border-radius:6px;font-size:20px;height:44px;width:36px}.letter-boxes-container.extra-small-boxes .letter-box{border-radius:5px;font-size:16px;height:38px;width:30px}.letter-box-space{align-items:center;color:#0000;display:inline-flex;font-size:20px;height:52px;justify-content:center;-webkit-user-select:none;user-select:none;width:20px}.letter-boxes-container.small-boxes .letter-box-space{height:44px;width:16px}.letter-boxes-container.extra-small-boxes .letter-box-space{height:38px;width:12px}.letter-box.input.with-hint::placeholder{color:#d4a017;font-weight:600;opacity:.7}.session-complete h2{margin:0 0 12px}.complete-stats{color:#666;font-size:16px;margin:0 0 32px}.btn-outline,.btn-primary{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease-out}@media (max-width:768px){.vocab-practice-header{padding:8px 12px}.vocab-practice-card{border-radius:20px;max-width:100%;min-height:360px}.vocab-practice-card:has(.letter-boxes-container.wide-layout){max-width:100%}.stage-content{gap:12px;padding:24px}.speaking-stage .word{font-size:36px}.dictation-audio-btn{height:80px;width:80px}.dictation-audio-btn svg{height:36px;width:36px}.dictation-input{font-size:18px;padding:12px 16px}.letter-boxes-container{gap:5px}.letter-boxes-container.wide-layout{flex-wrap:wrap}.letter-box{font-size:20px;height:44px;width:36px}.letter-boxes-container.small-boxes .letter-box{font-size:18px;height:40px;width:32px}.letter-boxes-container.extra-small-boxes .letter-box{font-size:15px;height:36px;width:28px}.letter-box-space{height:44px;width:14px}.letter-boxes-container.small-boxes .letter-box-space{height:40px;width:12px}.letter-boxes-container.extra-small-boxes .letter-box-space{height:36px;width:10px}.letter-box-actions{flex-wrap:wrap;justify-content:center}.vocab-practice-page{padding-bottom:80px}}@media (prefers-reduced-motion:reduce){.audio-btn.playing,.checking-spinner,.dictation-audio-btn.playing,.loading-spinner{animation:none}.mastery-delta{animation:none;opacity:1}}.dictation-page{display:flex;flex-direction:column;margin:0 auto;max-width:800px;min-height:100%;padding:20px 20px 100px;position:relative}.dictation-instructions h2 .sentence-counter{background:#667eea1a;border-radius:12px;color:#667eea;font-size:.6em;font-weight:500;margin-left:8px;padding:4px 10px;vertical-align:middle}.dictation-loading{font-size:18px;height:200px}.dictation-empty,.dictation-error,.dictation-loading{align-items:center;color:#666;display:flex;justify-content:center}.dictation-empty,.dictation-error{flex-direction:column;padding:60px 20px;text-align:center}.dictation-empty h3,.dictation-error h3{color:#333;font-size:22px;margin:0 0 12px}.dictation-empty p,.dictation-error p{color:#888;font-size:16px;margin:0;max-width:400px}.dictation-error{background:#fff5f5;border-radius:12px}.dictation-error h3{color:#dc3545}.dictation-empty{background:#f8f9fa;border-radius:12px}.dictation-content{flex:1 1}.dictation-instructions{margin-bottom:16px;text-align:center}.dictation-instructions h2{color:#333;font-size:24px;margin:0 0 8px}.dictation-instructions p{color:#666;font-size:16px;margin:0}.dictation-practice-area{align-items:center;background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:16px}.dictation-audio{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center}.dictation-input-area{width:100%}.word-inputs-container{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px 6px;justify-content:center;min-height:60px;padding:12px 0 16px}.word-input-wrapper{align-items:center;display:flex;flex-direction:row;gap:1px;position:relative}.word-punctuation{color:#374151;font-size:20px;font-weight:600;-webkit-user-select:none;user-select:none}.word-punctuation:not(.word-punctuation--leading){margin-right:8px}.word-punctuation--leading{margin-left:6px;margin-right:2px}.word-input{background:#fff;border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:18px;min-width:40px;padding:8px 12px;text-align:center;transition:all .2s ease}.word-input:focus{box-shadow:0 0 0 3px #007bff26;outline:none}.word-input--active,.word-input:focus{border-color:#007bff}.word-input--correct{background:#e8f5e9;border-color:#28a745;color:#2e7d32;font-weight:600}.word-input--incorrect{background:#ffebee;border-color:#dc3545;color:#c62828}.word-input:disabled{cursor:default}.word-hint{background:#e8f5e9;border-radius:4px;color:#28a745;display:flex;font-weight:500;gap:4px;left:50%;margin-top:2px;padding:2px 8px;position:absolute;top:100%;transform:translateX(-50%);white-space:nowrap;z-index:10}.word-hint,.word-lemma-hint-btn{align-items:center;font-size:12px}.word-lemma-hint-btn{background:#1565c0;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;height:18px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:18px}.word-lemma-hint-btn:hover{background:#0d47a1;transform:scale(1.1)}.lemma-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.lemma-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.lemma-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.lemma-modal-header h3{color:#1565c0;font-size:18px;margin:0}.lemma-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s}.lemma-modal-close:hover{background:#f0f0f0;color:#333}.lemma-modal-content{padding:20px}.lemma-modal-comparison{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}.lemma-word{align-items:center;border-radius:12px;display:flex;flex-direction:column;min-width:100px;padding:12px 20px}.lemma-word--user{background:#ffebee;border:2px solid #ef5350}.lemma-word--correct{background:#e8f5e9;border:2px solid #4caf50}.lemma-label{color:#666;font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.lemma-value{color:#333;font-size:20px;font-weight:600}.lemma-form{color:#888;display:block;font-size:12px;margin-top:4px}.lemma-word--user .lemma-form{color:#b71c1c}.lemma-word--correct .lemma-form{color:#2e7d32}.lemma-arrow{color:#9e9e9e;font-size:24px}.lemma-modal-explanation{background:#f5f5f5;border-radius:12px;color:#333;font-size:15px;line-height:1.6;padding:16px;text-align:center}.lemma-modal--enhanced{max-width:500px}.lemma-modal-definition{border-top:1px dashed #ddd;color:#555;font-size:14px;margin-top:12px;padding-top:12px}.lemma-modal-graph{border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding-bottom:12px}.lemma-modal-role{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.lemma-role-label{color:#666;font-size:13px}.lemma-role-badge{align-items:center;border-radius:16px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;padding:4px 12px;white-space:nowrap}@media (max-width:520px){.lemma-modal--enhanced{margin:0 10px;max-width:100%}.lemma-modal-graph{margin-bottom:12px;padding-bottom:8px}.lemma-modal-role{flex-direction:column;gap:4px}}.perfect-score{color:#28a745;font-size:18px;text-align:center}.dictation-input-legacy{border:2px solid #ddd;border-radius:8px;font-size:16px;line-height:1.5;min-height:120px;padding:16px;resize:vertical;transition:border-color .2s;width:100%}.dictation-input-legacy:focus{border-color:#007bff;outline:none}.dictation-input-legacy:disabled{background:#f5f5f5;cursor:not-allowed}.dictation-result{align-items:center;display:flex;gap:8px}.accuracy-score{border-radius:6px;font-size:15px;font-weight:600;padding:6px 12px;white-space:nowrap}.perfect-badge{animation:pulse 1s ease infinite;font-size:16px;font-weight:600}.accuracy-score--good{background:#d4edda;color:#155724}.accuracy-score--ok{background:#fff3cd;color:#856404}.accuracy-score--poor{background:#f8d7da;color:#721c24}.dictation-comparison{display:flex;flex-direction:column;gap:16px}.comparison-row{display:flex;flex-direction:column;gap:8px}.comparison-label{color:#666;font-size:14px;font-weight:600}.comparison-text{background:#f8f9fa;border-radius:6px;font-size:16px;line-height:1.6;padding:12px}.word--correct{color:#28a745;font-weight:500}.word--incorrect{color:#dc3545;font-weight:500;text-decoration:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;text-underline-offset:3px}.correct-answer{background:#e8f5e9;color:#2e7d32}.dictation-actions{display:flex;gap:12px;justify-content:center;padding:8px 20px}.action-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.action-button--submit{background:#007bff;color:#fff}.action-button--submit:hover:not(:disabled){background:#0056b3}.action-button--submit:disabled{background:#ccc;cursor:not-allowed}.action-button--retry{background:#ffc107;color:#333}.action-button--retry:hover{background:#e0a800}.action-button--next{background:#28a745;color:#fff}.action-button--next:hover:not(:disabled){background:#218838}.action-button--next:disabled{background:#ccc;cursor:not-allowed}.action-button--complete{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.action-button--complete:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1aa085)}.action-button--complete:disabled{cursor:wait;opacity:.7}.session-complete{margin:0 auto;max-width:600px}.session-complete-header{margin-bottom:32px}.session-complete-icon{display:block;font-size:64px;margin-bottom:16px}.session-complete-header h2{color:#1f2937;font-size:28px;margin:0 0 8px}.session-complete-header p{color:#6b7280;font-size:16px;margin:0}.session-stats{margin-bottom:32px}.stat-card{box-shadow:0 2px 8px #00000014;padding:16px}.stat-card--main{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:16px;padding:24px}.stat-card--main .stat-value{font-size:48px;font-weight:700}.stat-card--main .stat-label{color:#ffffffe6}.stat-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.stat-value{color:#1f2937;font-size:28px}.stat-label{color:#6b7280}.sentence-breakdown{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:20px;text-align:left}.sentence-breakdown h3{color:#374151;font-size:16px;margin:0 0 16px}.sentence-list{display:flex;flex-direction:column;gap:8px}.sentence-row{align-items:center;display:flex;gap:12px}.sentence-num{color:#6b7280;font-size:13px;min-width:32px}.sentence-bar{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.sentence-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.sentence-score{color:#374151;font-size:13px;font-weight:600;min-width:40px;text-align:right}.saved-indicator,.saving-indicator{border-radius:8px;font-size:14px;margin-bottom:24px;padding:8px 16px}.saving-indicator{background:#f3f4f6;color:#6b7280}.saved-indicator{background:#dcfce7;color:#166534}.session-actions{display:flex;gap:12px;justify-content:center}.session-actions .action-button{font-size:16px;padding:14px 28px}@media (max-width:768px){.dictation-page{padding:12px 12px 140px}.dictation-instructions h2{font-size:20px}.word-inputs-container{gap:10px 6px;padding:16px}.word-input{font-size:16px;padding:6px 10px}.word-punctuation{font-size:18px;margin-right:4px}.action-button{font-size:14px;padding:12px 20px}.dictation-actions{flex-wrap:wrap;gap:8px;padding:12px 16px}.dictation-actions .action-button{flex:1 1;min-width:120px}}.progress-info{margin-top:10px}.sentence-btn.completed{background:#d4edda;border-color:#28a745;color:#155724}.current-sentence-best{background:#f1f5f9;border-radius:12px;color:#64748b;display:inline-flex;font-size:12px;gap:4px;margin-left:8px;padding:2px 8px}.sentence-best-score{font-size:12px;font-weight:600}.shadowing-page{display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:800px;padding:20px}.shadowing-content h2 .sentence-counter{background:#667eea1a;border-radius:12px;color:#667eea;font-size:.6em;font-weight:500;margin-left:8px;padding:4px 10px;vertical-align:middle}.shadowing-loading{font-size:18px;height:200px}.shadowing-empty,.shadowing-error,.shadowing-loading{align-items:center;color:#666;display:flex;justify-content:center}.shadowing-empty,.shadowing-error{flex-direction:column;padding:60px 20px;text-align:center}.shadowing-empty h3,.shadowing-error h3{color:#333;font-size:22px;margin:0 0 12px}.shadowing-empty p,.shadowing-error p{color:#888;font-size:16px;margin:0;max-width:400px}.shadowing-error{background:#fff5f5;border-radius:12px}.shadowing-error h3{color:#dc3545}.shadowing-empty{background:#f8f9fa;border-radius:12px}.no-audio-warning{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}.shadowing-content{display:flex;flex-direction:column;gap:24px}.shadowing-content h2{color:#333;font-size:24px;margin:0;text-align:center}.shadowing-description{color:#666;font-size:16px;margin:0;text-align:center}.shadowing-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:16px}.sentence-display{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:16px;text-align:center}.audio-best-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.audio-best-row .audio-player{flex:1 1}.sentence-text{color:#1e293b;font-size:19px;font-weight:600;line-height:1.5;margin:0 0 6px}.sentence-translation{color:#64748b;font-size:14px;margin:0}.audio-section,.feedback-section,.recording-section{margin-bottom:24px}.audio-section h3,.feedback-section h3,.recording-section h3{color:#333;font-size:16px;margin:0 0 12px}.record-assess-section{margin-bottom:24px}.record-assess-row{align-items:stretch;display:flex;gap:12px}.record-side{flex:1 1}.recording-done-actions{display:flex;gap:10px;width:100%}.action-btn{border-radius:10px;font-size:16px;padding:14px 16px;transition:all .2s}.action-btn--play{background:#22c55e;color:#fff}.action-btn--play:hover{background:#16a34a}.action-btn--retry{background:#64748b;color:#fff}.action-btn--retry:hover{background:#475569}.action-btn--assess{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn--assess:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.action-btn--assess:disabled{cursor:not-allowed;opacity:.6}.assess-side{flex:1 1}.record-toggle-button{align-items:center;background:#dc3545;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:8px;justify-content:center;padding:16px 24px;transition:all .2s;width:100%}.record-toggle-button:hover{background:#c82333;transform:translateY(-1px)}.record-toggle-button.recording{animation:pulse 1.5s infinite;background:#dc3545}.recording-done-controls{display:flex;gap:8px;height:100%}.recording-done-controls .record-button{align-items:center;display:flex;flex:1 1;font-size:20px;justify-content:center;margin:0}.assess-side .assess-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;height:100%;min-height:56px;padding:16px 24px;transition:all .2s;width:100%}.assess-side .assess-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.assess-side .assess-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.record-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-right:12px;padding:12px 24px;transition:all .2s}.record-button:hover{background:#c82333}.record-button--recording{animation:pulse 1.5s infinite;background:#dc3545}.record-button--replay{background:#007bff}.record-button--replay:hover{background:#0056b3}.recording-result{align-items:center;display:flex;gap:12px}.recording-result p{color:#28a745;font-weight:600;margin:0}.feedback-placeholder{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;color:#999;padding:20px;text-align:center}.feedback-placeholder p{margin:0 0 8px}.feedback-placeholder p:last-child{font-size:14px;margin:0}.recording-controls{display:flex;flex-wrap:wrap;gap:12px}.recording-actions{flex-wrap:wrap}.record-button--play{background:#28a745}.record-button--play:hover{background:#218838}.record-button--retry{background:#6c757d}.record-button--retry:hover{background:#5a6268}.recording-indicator{animation:blink 1s infinite;background:#fff;border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.recording-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;gap:8px;margin-bottom:12px;padding:12px 16px}.service-not-configured{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:20px;text-align:center}.service-not-configured p{color:#856404;margin:0 0 8px}.service-not-configured p:last-child{font-size:14px;margin:0}.assess-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 24px;transition:all .3s;width:100%}.assess-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.assess-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.assessing{align-items:center;display:flex;flex-direction:column;gap:16px;padding:30px}.assessing-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.assessing p{color:#666;font-size:16px;margin:0}.assessment-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:20px;text-align:center}.assessment-error p{color:#721c24;margin:0 0 12px}.retry-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.retry-button:hover{background:#c82333}.assessment-result{display:flex;flex-direction:column;gap:20px}.score-overview{align-items:flex-start;display:flex;gap:24px}.shadowing-page .overall-score{align-items:center;background:#fff;border:4px solid;border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:100px;justify-content:center;width:100px}.shadowing-page .score-value{font-size:36px;font-weight:700;line-height:1}.shadowing-page .score-label{color:#666;font-size:12px;margin-top:4px}.shadowing-page .score-details{display:flex;flex:1 1;flex-direction:row;gap:16px;justify-content:space-around}.shadowing-page .score-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:100px}.shadowing-page .score-name{color:#666;font-size:12px;text-align:center}.shadowing-page .score-bar{background:#eee;border-radius:3px;height:6px;overflow:hidden;width:100%}.shadowing-page .score-fill{border-radius:3px;height:100%;transition:width .5s ease-out}.shadowing-page .score-number{color:#333;font-size:18px;font-weight:700}.word-feedback{background:#f8f9fa;border-radius:8px;padding:16px}.word-feedback h4{color:#333;font-size:14px;margin:0 0 12px}.words-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.word-item{background:#fff;border-radius:4px;cursor:help;font-size:16px;padding:4px 8px}.word-legend{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:16px}.legend-item{align-items:center;display:flex;gap:4px}.word-item.has-suggestion{border-bottom:2px dashed;cursor:pointer}.pronunciation-suggestions{background:linear-gradient(135deg,#fff9e6,#fff5f5);border-left:4px solid #f59e0b;border-radius:8px;margin-top:16px;padding:16px}.pronunciation-suggestions h4{color:#92400e;font-size:16px;margin:0 0 12px}.pronunciation-suggestions ul{list-style:none;margin:0;padding:0}.pronunciation-suggestions li{background:#fff;border-radius:6px;box-shadow:0 1px 3px #00000014;margin-bottom:8px;padding:12px}.pronunciation-suggestions li:last-child{margin-bottom:0}.pronunciation-suggestions .suggestion-item{align-items:flex-start;display:flex;gap:12px}.pronunciation-suggestions .suggestion-main{flex:1 1}.pronunciation-suggestions .suggestion-add-note-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:500;height:32px;justify-content:center;transition:all .2s ease;width:32px}.pronunciation-suggestions .suggestion-add-note-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.pronunciation-suggestions .suggestion-add-note-btn:active{background:#e5e7eb;transform:scale(.95)}.pronunciation-suggestions strong{font-size:18px}.pronunciation-suggestions .suggestion-score{color:#666;font-size:14px;margin-left:8px}.pronunciation-suggestions .suggestion-text{color:#555;font-size:14px;line-height:1.6;margin:8px 0 0}.speaking-strategy-section{background:linear-gradient(135deg,#e8f4fd,#f0f7ff);border-left:4px solid #3b82f6;border-radius:8px;margin-top:16px;padding:16px}.speaking-strategy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.speaking-strategy-section h4{color:#1e40af;font-size:16px;margin:0}.speaking-strategy-add-note-btn{align-items:center;background:#fff;border:1px solid #93c5fd;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:500;height:28px;justify-content:center;transition:all .2s ease;width:28px}.speaking-strategy-add-note-btn:hover{background:#eff6ff;border-color:#60a5fa;color:#2563eb}.speaking-strategy-add-note-btn:active{background:#dbeafe;transform:scale(.95)}.speaking-strategy-section .strategy-hint{color:#555;font-size:14px;margin:0 0 12px}.chunks-display{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chunk-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;padding:10px 14px}.chunk-text{color:#1e40af;font-size:15px;font-weight:600;margin-bottom:4px}.chunk-meaning{color:#666;font-size:13px}.speaking-tip{background:#fff;border-radius:6px;color:#555;font-size:14px;line-height:1.5;padding:10px 12px}.speaking-tip strong{color:#1e40af}.feedback-message{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;padding:16px}.feedback-message p{color:#2e7d32;font-size:15px;line-height:1.5;margin:0}.mastery-saved-indicator{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-size:14px;margin-top:12px;padding:12px 16px;text-align:center}.assessment-actions{display:flex;gap:12px;margin-top:16px}.try-again-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:background .2s}.try-again-button:hover{background:#5a6268}.next-sentence-button{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 24px;transition:background .2s}.next-sentence-button:hover{background:#4338ca}.enter-hint{color:#9ca3af;font-size:13px;margin-top:12px;text-align:center}@media (max-width:768px){.shadowing-page{padding:12px 12px 80px}.shadowing-card{padding:16px}.sentence-text{font-size:18px}.recording-result{flex-direction:column}.record-button{margin-bottom:8px;margin-right:0;width:100%}.audio-best-row{flex-wrap:wrap}.current-sentence-best{justify-content:center}.record-assess-row{flex-direction:column;gap:10px}.assess-side .assess-button,.record-toggle-button{font-size:16px;padding:14px 20px}}.progress-info{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;margin-top:4px}.progress-info .progress-badge{background:#e3f2fd;color:#1565c0}.progress-info .best-score-badge,.progress-info .progress-badge{border-radius:12px;font-size:13px;font-weight:500;padding:4px 10px}.progress-info .best-score-badge{background:#fff3e0;color:#e65100}.progress-info .completed-badge{background:#e8f5e9;border-radius:12px;color:#2e7d32;font-size:13px;font-weight:500;padding:4px 10px}.sentence-selector{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;margin-bottom:20px;padding:16px}.sentence-selector-header{align-items:center;color:#495057;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.toggle-selector-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:4px 12px;transition:background .2s}.toggle-selector-btn:hover{background:#5a6268}.sentence-selector-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));max-height:120px;overflow-y:auto}.sentence-btn{align-items:center;background:#fff;border:1px solid #ced4da;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:40px;justify-content:center;transition:all .2s;width:40px}.sentence-btn:hover{background:#e9ecef;border-color:#adb5bd}.sentence-btn.active{background:#007bff;border-color:#007bff;color:#fff}@media (max-width:600px){.sentence-selector-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}.sentence-btn{font-size:12px;height:36px;width:36px}}.sentence-btn.score-excellent{background:#dcfce7;border-color:#22c55e;color:#166534}.sentence-btn.score-excellent:hover{background:#bbf7d0}.sentence-btn.score-excellent.active{background:#22c55e;border-color:#16a34a;color:#fff}.sentence-btn.score-good{background:#fef9c3;border-color:#eab308;color:#854d0e}.sentence-btn.score-good:hover{background:#fef08a}.sentence-btn.score-good.active{background:#eab308;border-color:#ca8a04;color:#fff}.sentence-btn.score-needs-work{background:#fee2e2;border-color:#ef4444;color:#991b1b}.sentence-btn.score-needs-work:hover{background:#fecaca}.sentence-btn.score-needs-work.active{background:#ef4444;border-color:#dc2626;color:#fff}.sentence-btn .btn-number{display:block}.sentence-btn .btn-score{display:none;font-size:11px;font-weight:700}.sentence-btn:hover .btn-number{display:none}.sentence-btn:hover .btn-score{display:block}.audio-score-row{align-items:stretch;display:flex;gap:16px;margin-bottom:16px}.audio-score-row .audio-section{flex:1 1;margin-bottom:0}.audio-score-row .audio-player{box-sizing:border-box;height:100%}.current-sentence-best{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:6px;box-sizing:border-box;display:flex;flex-direction:row;gap:6px;justify-content:center;padding:6px 12px}.sentence-best-label{color:#0369a1;font-size:11px;font-weight:500;white-space:nowrap}.sentence-best-score{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:20px;font-weight:700;padding:4px 12px}.sentence-best-score.excellent{border:2px solid #22c55e;color:#16a34a}.sentence-best-score.good{border:2px solid #eab308;color:#ca8a04}.sentence-best-score.needs-work{border:2px solid #ef4444;color:#dc2626}.nav-button.finish-button{background:#22c55e}.nav-button.finish-button:hover{background:#16a34a}.course-summary-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.course-summary-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;width:100%}.course-summary-modal h2{color:#22c55e;font-size:28px;margin:0 0 4px;text-align:center}.course-summary-modal .summary-subtitle{color:#666;font-size:14px;margin:0 0 24px;text-align:center}.summary-stats{background:#f8fafc;border-radius:12px;display:flex;justify-content:space-around;padding:20px}.sentence-scores-summary,.summary-stats{margin-bottom:24px}.sentence-scores-summary h3{color:#333;font-size:16px;margin:0 0 12px}.scores-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.score-item{align-items:center;background:#f1f5f9;border-radius:8px;display:flex;flex-direction:column;padding:8px}.score-item.excellent{background:#dcfce7;border:1px solid #86efac}.score-item.good{background:#fef9c3;border:1px solid #fde047}.score-item.needs-work{background:#fee2e2;border:1px solid #fca5a5}.score-item.not-attempted{background:#f1f5f9;border:1px solid #e2e8f0}.sentence-num{color:#64748b;font-size:12px;font-weight:500}.sentence-score{color:#1e293b;font-size:14px;font-weight:700}.score-item.not-attempted .sentence-score{color:#94a3b8}.summary-actions{display:flex;gap:12px}.summary-actions button{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;justify-content:center;min-width:0;padding:12px 20px;text-align:center;transition:background .2s}.summary-actions button span{display:block;text-align:center;width:100%}.summary-actions .btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.summary-actions .btn-secondary:hover{background:#e2e8f0}.summary-actions .btn-primary{background:#22c55e;border:none;color:#fff}.summary-actions .btn-primary:hover{background:#16a34a}.weak-word{cursor:pointer!important;position:relative;transition:transform .2s,box-shadow .2s}.weak-word:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.1);z-index:1}.weak-word:after{content:"🔄";font-size:10px;opacity:0;position:absolute;right:-8px;top:-8px;transition:opacity .2s}.weak-word:hover:after{opacity:1}.word-item.improved{background:#dcfce7!important;border:2px solid #22c55e!important;position:relative}.improved-badge{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;font-size:10px;height:16px;justify-content:center;position:absolute;right:-6px;top:-6px;width:16px}.weak-words-hint{background:#fef3c7;border-radius:6px;color:#92400e;font-size:13px;margin-top:12px;padding:8px 12px;text-align:center}.word-practice-section{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:12px;margin-top:16px;padding:20px}.word-practice-header{gap:8px;justify-content:space-between;margin-bottom:16px}.word-practice-header,.word-practice-title{align-items:center;display:flex;flex-wrap:wrap}.word-practice-title{gap:10px}.word-practice-header h4{color:#1e40af;font-size:16px;margin:0}.word-practice-header strong{color:#1d4ed8;font-size:20px}.word-phonetic{background:#fff;border-radius:4px;color:#6366f1;font-family:Lucida Sans Unicode,Arial Unicode MS,sans-serif;font-size:16px;font-style:italic;padding:2px 8px}.play-word-audio-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 2px 6px #667eea66;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.play-word-audio-btn .play-icon{font-size:12px;margin-left:2px}.play-word-audio-btn.playing .play-icon{font-size:10px;margin-left:0}.play-word-audio-btn:hover{box-shadow:0 4px 10px #667eea80;transform:scale(1.1)}.play-word-audio-btn.playing{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444466}.original-score{background:#fff;border-radius:12px;color:#64748b;font-size:13px;padding:4px 10px}.word-practice-controls{display:flex;flex-direction:column;gap:12px}.word-assessing{align-items:center;background:#f3f4f6;border-radius:10px;color:#6b7280;display:flex;font-size:15px;gap:12px;justify-content:center;padding:16px}.word-practice-actions{align-items:stretch;display:flex;gap:10px}.word-action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:6px;justify-content:center;padding:14px 16px;transition:all .2s}.word-action-btn--play{background:#22c55e;color:#fff}.word-action-btn--play:hover{background:#16a34a}.word-action-btn--retry{background:#64748b;color:#fff}.word-action-btn--retry:hover{background:#475569}.word-action-btn--assess{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.word-action-btn--assess:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.word-action-btn--assess:disabled{cursor:not-allowed;opacity:.6}.cancel-word-practice{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;padding:10px 16px;transition:background .2s}.cancel-word-practice:hover{background:#e2e8f0}@media (max-width:768px){.word-practice-header{align-items:flex-start;flex-direction:column}.word-practice-actions{flex-direction:column}.word-practice-actions .record-button{flex:0 0 auto;width:100%}}.quiz-page{margin:0 auto;max-width:800px;padding:20px}.quiz-loading{font-size:18px;height:400px}.quiz-empty,.quiz-error,.quiz-loading{align-items:center;color:#666;display:flex;justify-content:center}.quiz-empty,.quiz-error{flex-direction:column;padding:60px 20px;text-align:center}.quiz-empty h3,.quiz-error h3{color:#333;font-size:22px;margin:0 0 12px}.quiz-empty p,.quiz-error p{color:#888;font-size:16px;margin:0;max-width:400px}.quiz-error{background:#fff5f5;border-radius:12px}.quiz-error h3{color:#dc3545}.quiz-empty{background:#f8f9fa;border-radius:12px}.quiz-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.quiz-header h2{color:#333;font-size:20px;margin:0}.quiz-progress{color:#666;font-size:14px;font-weight:500}.quiz-score{color:#007bff;font-size:16px;font-weight:700}.quiz-resume-banner{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.quiz-restart-small{background:#fff;border:1px solid #81c784;border-radius:6px;color:#388e3c;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.quiz-restart-small:hover{background:#e8f5e9;border-color:#66bb6a}.quiz-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:32px}.question-card{margin-bottom:24px}.question-text{color:#333;font-size:18px;font-weight:500;margin:0 0 8px}.question-text-zh{color:#666;font-size:15px;line-height:1.5;margin:0 0 24px}.quiz-options{display:flex;flex-direction:column;gap:12px}.quiz-option{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;text-align:left;transition:all .2s}.quiz-option:hover:not(:disabled){background:#e8e9ea;border-color:#007bff}.quiz-option--selected{background:#e3f2fd;border-color:#007bff}.quiz-option--correct{background:#d4edda!important;border-color:#28a745!important}.quiz-option--incorrect{background:#f8d7da!important;border-color:#dc3545!important}.quiz-option:disabled{cursor:not-allowed}.option-letter{background:#fff;color:#333}.option-text{color:#333;font-size:16px}.fill-blank-container{display:flex;flex-direction:column;gap:16px}.fill-blank-input{border:2px solid #ddd;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s}.fill-blank-input:focus{border-color:#007bff;outline:none}.fill-blank-input--correct{background:#d4edda;border-color:#28a745}.fill-blank-input--incorrect{background:#f8d7da;border-color:#dc3545}.sentence-order-container{display:flex;flex-direction:column;gap:20px}.word-bank{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:16px}.word-chip{background:#fff;border:2px solid #ddd;border-radius:20px;cursor:pointer;font-size:16px;padding:8px 16px;transition:all .2s}.word-chip:hover:not(:disabled){border-color:#007bff}.word-chip--selected{background:#e3f2fd;border-color:#007bff;opacity:.5}.word-chip:disabled{cursor:not-allowed}.sentence-display{display:flex;flex-direction:column;gap:8px}.sentence-label{color:#666;font-size:14px;font-weight:600;margin:0}.sentence-box{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;color:#333;display:flex;font-size:16px;min-height:60px;padding:16px}.sentence-box--correct{background:#d4edda;border-color:#28a745}.sentence-box--incorrect{background:#f8d7da;border-color:#dc3545}.correct-answer-display{background:#e8f5e9;border-radius:6px;color:#2e7d32;font-weight:500;padding:12px}.explanation-box{border:1px solid;border-radius:8px;margin-top:20px;padding:16px}.explanation-box--correct{background:#d4edda;border-color:#c3e6cb}.explanation-box--incorrect{background:#f8d7da;border-color:#f5c6cb}.explanation-label{font-weight:700;margin:0 0 8px}.explanation-box--correct .explanation-label{color:#155724}.explanation-box--incorrect .explanation-label{color:#721c24}.explanation-text{color:#333;line-height:1.5;margin:0}.explanation-text-zh{color:#555;font-size:14px;line-height:1.5;margin:8px 0 0}.quiz-actions{display:flex;justify-content:center;margin-top:32px}.quiz-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s}.quiz-button--submit{background:#007bff;color:#fff}.quiz-button--submit:hover:not(:disabled){background:#0056b3}.quiz-button--submit:disabled{background:#ccc;cursor:not-allowed}.quiz-button--next{background:#28a745;color:#fff}.quiz-button--next:hover{background:#218838}.quiz-button--restart{background:#17a2b8;color:#fff}.quiz-button--restart:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-1px)}.quiz-results-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}.quiz-button--save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.quiz-button--save:hover{background:linear-gradient(135deg,#5a67d8,#6b3fa0);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.saving-indicator{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404}.saved-indicator,.saving-indicator{font-size:14px;margin:0 0 8px;padding:12px 16px;text-align:center}.saved-indicator{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.quiz-results{padding:40px;text-align:center}.quiz-results h3{color:#333;font-size:28px;margin:0 0 32px}.final-score{margin-bottom:32px}.quiz-page .score-circle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 24px #667eea4d;display:flex;height:150px;justify-content:center;margin:0 auto 24px;overflow:hidden;width:150px}.quiz-page .score-number{color:#fff;font-size:36px;font-weight:700;white-space:nowrap}.quiz-page .score-text{color:#666;font-size:18px;margin:0}@media (max-width:768px){.quiz-page{padding:12px 12px 80px}.quiz-header{flex-direction:column;gap:8px;text-align:center}.quiz-content{padding:20px}.question-text{font-size:16px}.quiz-option{padding:12px}.option-text,.word-chip{font-size:14px}.word-chip{padding:6px 12px}.quiz-results-actions{flex-direction:column;gap:12px}.quiz-results-actions .quiz-button{width:100%}.quiz-resume-banner{flex-direction:column;gap:10px;text-align:center}.quiz-restart-small{width:100%}}.notes-page{background:#f8fafc;min-height:100vh;padding:24px}.notes-container{margin:0 auto;max-width:900px}.notes-header{gap:16px;justify-content:space-between;margin-bottom:24px}.notes-header,.notes-title{align-items:center;display:flex}.notes-title{gap:12px}.notes-title h1{color:#1e293b;font-size:24px;font-weight:700;margin:0}.notes-count{background:#e2e8f0;border-radius:12px;color:#64748b;font-size:13px;font-weight:600;padding:4px 10px}.notes-header-actions{display:flex;gap:12px}.notes-search{flex:1 1;max-width:320px;position:relative}.notes-search-icon{color:#94a3b8;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.notes-search-input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:14px;padding:10px 14px 10px 42px;transition:all .2s ease-out;width:100%}.notes-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.notes-search-input::placeholder{color:#94a3b8}.create-note-btn{align-items:center;background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease-out;white-space:nowrap}.create-note-btn:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.create-note-btn:active{transform:translateY(0)}.notes-filters{-ms-overflow-style:none;border-bottom:1px solid #e2e8f0;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:16px;scrollbar-width:none}.notes-filters::-webkit-scrollbar{display:none}.filter-tab{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#64748b;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;min-width:-webkit-max-content;min-width:max-content;padding:8px 14px;transition:background .2s ease-out,border-color .2s ease-out,color .2s ease-out;white-space:nowrap}.filter-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.filter-tab--active{background:#2563eb;border-color:#2563eb;color:#fff}.filter-tab--starred{color:#f59e0b}.filter-tab--starred.filter-tab--active{background:#f59e0b;border-color:#f59e0b;color:#fff}.filter-tab-count{background:#0000001a;border-radius:6px;font-size:11px;padding:2px 6px}.filter-tab--active .filter-tab-count{background:#fff3}.notes-timeline{gap:32px}.notes-date-group,.notes-timeline{display:flex;flex-direction:column}.notes-date-group{gap:16px}.notes-date-header{align-items:center;color:#64748b;display:flex;font-size:13px;font-weight:600;gap:12px;letter-spacing:.5px;text-transform:uppercase}.notes-date-header:after{background:linear-gradient(90deg,#e2e8f0,#0000);content:"";flex:1 1;height:1px}.notes-list{display:flex;flex-direction:column;gap:12px}.notes-empty{background:#fff;border:2px dashed #e2e8f0;border-radius:16px;padding:80px 20px;text-align:center}.notes-empty-icon{color:#cbd5e1;height:64px;margin:0 auto 16px;width:64px}.notes-empty-title{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.notes-empty-desc{color:#64748b;font-size:14px;margin:0}.note-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s ease-out}.note-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0000000f}.note-card--pinned{border-left:3px solid #f59e0b}.note-card__type{align-items:center;background:#f8fafc;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 16px}.note-type-badge{align-items:center;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.3px;text-transform:uppercase}.note-type-badge--vocabulary{color:#7c3aed}.note-type-badge--grammar{color:#0891b2}.note-type-badge--pronunciation{color:#ea580c}.note-type-badge--ai{color:#059669}.note-type-badge--general{color:#64748b}.note-card__actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease-out}.note-card:hover .note-card__actions{opacity:1}.note-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease-out;width:32px}.note-action-btn:hover{background:#f1f5f9;color:#64748b}.note-action-btn--pin{color:#f59e0b}.note-action-btn--pin.note-action-btn--active{background:#fef3c7;color:#f59e0b}.note-action-btn--delete:hover{background:#fee2e2;color:#ef4444}.note-card__content{padding:16px}.note-card__title{color:#1e293b;font-size:15px;font-weight:600;line-height:1.4;margin:0 0 8px}.note-card__body{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#475569;display:-webkit-box;font-size:14px;line-height:1.6;margin:0;overflow:hidden}.note-card__footer{align-items:center;background:#fafafa;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 16px}.note-course-link{align-items:center;color:#64748b;display:flex;font-size:12px;gap:6px;text-decoration:none;transition:color .15s}.note-course-link:hover{color:#2563eb}.note-timestamp{font-feature-settings:"tnum";align-items:center;color:#94a3b8;display:flex;font-size:12px;font-variant-numeric:tabular-nums;gap:4px}.note-card__tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.note-tag{align-items:center;background:#f1f5f9;border-radius:6px;color:#475569;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;transition:background .15s}.note-tag:hover{background:#e2e8f0}.note-tag--vocabulary{background:#ede9fe;color:#7c3aed}.note-tag--grammar{background:#cffafe;color:#0891b2}.note-tag--pronunciation{background:#ffedd5;color:#ea580c}.note-tag--ai-generated{background:#d1fae5;color:#059669}.notes-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:400px;justify-content:center}.notes-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:40px;width:40px}.notes-loading-text{color:#64748b;font-size:14px}@media (max-width:768px){.notes-page{padding:16px}.notes-header{align-items:stretch;flex-direction:column}.notes-title{justify-content:space-between}.notes-header-actions{flex-direction:column}.notes-search{max-width:100%}.create-note-btn{justify-content:center}.notes-filters{margin-bottom:16px;padding-bottom:12px}.note-card__actions{opacity:1}.note-card__content{padding:12px}.note-card__footer{align-items:flex-start;flex-direction:column;gap:8px;padding:10px 12px}}.create-note-btn:focus-visible,.filter-tab:focus-visible,.note-action-btn:focus-visible,.notes-search-input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media (prefers-reduced-motion:reduce){.create-note-btn,.filter-tab,.note-action-btn,.note-card{transition:none}.notes-loading-spinner{animation:none}}.practice-modal-overlay{align-items:flex-end;animation:fadeIn .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.practice-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:24px 24px 0 0;max-height:85vh;max-width:480px;overflow-y:auto;padding:24px;width:100%}@media (min-width:640px){.practice-modal-overlay{align-items:center}.practice-modal{border-radius:24px;max-height:80vh}}.practice-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.practice-modal-header h2{color:#1a1a1a;font-size:22px;font-weight:700;margin:0}.close-btn{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease-out;width:40px}.close-btn:hover{background:#eee;color:#333}.practice-section{margin-bottom:24px}.section-label{color:#666;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.mode-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.mode-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px 12px;transition:all .2s ease-out}.mode-btn:hover{background:#f9fafb;border-color:#d1d5db}.mode-btn.active{background:linear-gradient(135deg,#667eea10,#764ba210);border-color:#667eea}.mode-icon{font-size:28px}.mode-label{color:#1a1a1a;font-size:15px;font-weight:600}.mode-desc{color:#888;font-size:11px}.mode-btn.active .mode-label{color:#667eea}.count-selector{display:flex;flex-wrap:wrap;gap:8px}.count-btn{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#333;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;min-width:60px;padding:12px 16px;transition:all .2s ease-out}.count-btn:hover{background:#f9fafb;border-color:#d1d5db}.count-btn.active{background:#667eea;border-color:#667eea;color:#fff}.mastery-chips{display:flex;flex-wrap:wrap;gap:8px}.mastery-chip{background:#fff;border:2px solid #e5e7eb;border-radius:20px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease-out}.mastery-chip:hover{border-color:var(--chip-color);color:var(--chip-color)}.mastery-chip.selected{background:var(--chip-color);border-color:var(--chip-color);color:#fff}.favorites-toggle{align-items:center;background:#fef3c7;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s ease-out}.favorites-toggle:hover{background:#fde68a}.favorites-toggle input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;height:20px;width:20px}.toggle-label{color:#92400e;flex:1 1;font-size:15px;font-weight:500}.toggle-star{font-size:20px}.practice-preview{background:#f8fafc;border-radius:16px;margin-bottom:24px;padding:20px;text-align:center}.preview-title{color:#1a1a1a;font-size:18px;font-weight:700;margin-bottom:12px}.preview-breakdown{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.preview-item{border-radius:16px;font-size:13px;font-weight:600;padding:6px 12px}.preview-empty{color:#999;font-size:14px}.start-practice-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 4px 16px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:10px;justify-content:center;padding:18px 24px;transition:all .2s ease-out;width:100%}.start-practice-btn:hover:not(:disabled){box-shadow:0 6px 24px #667eea80;transform:translateY(-2px)}.start-practice-btn:active:not(:disabled){transform:translateY(0)}.start-practice-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}@media (max-width:480px){.practice-modal{padding:20px 16px}.mode-selector{gap:8px}.mode-btn{padding:12px 8px}.mode-icon{font-size:24px}.mode-label{font-size:13px}.mode-desc{font-size:10px}.count-btn{font-size:14px;padding:10px 12px}}:root{--vocab-primary:#0d9488;--vocab-primary-light:#14b8a6;--vocab-primary-dark:#0f766e;--vocab-secondary:#2dd4bf;--vocab-cta:#ea580c;--vocab-cta-hover:#c2410c;--vocab-bg:#f0fdfa;--vocab-bg-card:#fff;--vocab-text:#134e4a;--vocab-text-muted:#5f9ea0;--vocab-border:#99f6e4;--vocab-border-light:#ccfbf1;--mastery-0:#9ca3af;--mastery-1:#ef4444;--mastery-2:#f97316;--mastery-3:#eab308;--mastery-4:#84cc16;--mastery-5:#22c55e;--vocab-success:#22c55e;--vocab-warning:#f59e0b;--vocab-error:#ef4444;--vocab-info:#3b82f6}.vocab-book-page{background:#f0fdfa;background:var(--vocab-bg);margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.vocab-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:400px;justify-content:center}.vocab-loading-spinner{animation:vocab-spin 1s linear infinite;border:4px solid #99f6e4;border-top-color:#0d9488;border:4px solid var(--vocab-border);border-radius:50%;border-top-color:var(--vocab-primary);height:48px;width:48px}@keyframes vocab-spin{to{transform:rotate(1turn)}}.vocab-loading-text{color:#5f9ea0;color:var(--vocab-text-muted);font-size:16px}.vocab-error{align-items:center;display:flex;flex-direction:column;gap:16px;height:400px;justify-content:center;text-align:center}.vocab-error-icon{color:#ef4444;color:var(--vocab-error);height:64px;width:64px}.vocab-error p{color:#134e4a;color:var(--vocab-text);font-size:18px;margin:0}.vocab-error button{background:#0d9488;background:var(--vocab-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 28px;transition:all .2s}.vocab-error button:hover{background:#0f766e;background:var(--vocab-primary-dark)}.vocab-error button:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.vocab-header-left{display:flex;flex-direction:column;gap:8px}.vocab-header h1{align-items:center;color:#134e4a;color:var(--vocab-text);display:flex;font-size:32px;font-weight:700;gap:12px;margin:0}.vocab-header h1 svg{color:#0d9488;color:var(--vocab-primary)}.vocab-stats{display:flex;flex-wrap:wrap;gap:20px}.stat-item{align-items:center;color:#5f9ea0;color:var(--vocab-text-muted);font-size:14px;gap:6px}.stat-item strong{color:#0d9488;color:var(--vocab-primary);font-size:20px;font-weight:700}.vocab-header-actions{display:flex;flex-wrap:wrap;gap:12px}.vocab-batch-toggle{align-items:center;background:#fff;background:var(--vocab-bg-card);border:2px solid #99f6e4;border:2px solid var(--vocab-border);border-radius:10px;color:#134e4a;color:var(--vocab-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;transition:all .2s}.vocab-batch-toggle:hover{background:#ccfbf1;background:var(--vocab-border-light);border-color:#0d9488;border-color:var(--vocab-primary)}.vocab-batch-toggle:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-batch-toggle.active{background:#0d9488;background:var(--vocab-primary);border-color:#0d9488;border-color:var(--vocab-primary);color:#fff}.vocab-batch-toggle svg{height:18px;width:18px}.vocab-practice-btn{align-items:center;background:linear-gradient(135deg,#0d9488,#0f766e);background:linear-gradient(135deg,var(--vocab-primary),var(--vocab-primary-dark));border:none;border-radius:10px;box-shadow:0 4px 12px #0d94884d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease-out}.vocab-practice-btn:hover{box-shadow:0 6px 20px #0d948866;transform:translateY(-2px)}.vocab-practice-btn:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-practice-btn:active{transform:translateY(0)}.vocab-practice-btn svg{height:20px;width:20px}.vocab-statistics{background:#fff;background:var(--vocab-bg-card);border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:20px 24px}.vocab-statistics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.vocab-statistics-header h3{align-items:center;color:#134e4a;color:var(--vocab-text);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.vocab-statistics-header h3 svg{color:#0d9488;color:var(--vocab-primary)}.vocab-statistics-toggle{background:none;border:none;border-radius:4px;color:#5f9ea0;color:var(--vocab-text-muted);cursor:pointer;padding:4px;transition:color .2s}.vocab-statistics-toggle:hover{color:#134e4a;color:var(--vocab-text)}.vocab-statistics-toggle:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:2px}.mastery-distribution{align-items:flex-end;display:flex;gap:12px;height:100px;padding-top:20px}.mastery-bar-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.mastery-bar-wrapper{align-items:flex-end;background:#e5e7eb;border-radius:6px;display:flex;height:60px;overflow:hidden;position:relative;width:100%}.mastery-bar{border-radius:6px 6px 0 0;transition:height .5s ease-out;width:100%}.mastery-bar-label{color:#5f9ea0;color:var(--vocab-text-muted);font-size:11px;text-align:center;white-space:nowrap}.mastery-bar-count{color:#134e4a;color:var(--vocab-text);font-size:12px;font-weight:600}.vocab-filters{margin-bottom:24px}.vocab-filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.vocab-search-container{flex:1 1;max-width:400px;min-width:280px;position:relative}.vocab-search-label{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.vocab-search-wrapper{align-items:center;display:flex;position:relative}.vocab-search-icon{color:#5f9ea0;color:var(--vocab-text-muted);left:14px;pointer-events:none;position:absolute}.vocab-search-input{background:#fff;background:var(--vocab-bg-card);border:2px solid #99f6e4;border:2px solid var(--vocab-border);border-radius:10px;color:#134e4a;color:var(--vocab-text);font-size:15px;padding:12px 40px 12px 44px;transition:all .2s;width:100%}.vocab-search-input::placeholder{color:#5f9ea0;color:var(--vocab-text-muted)}.vocab-search-input:hover{border-color:#2dd4bf;border-color:var(--vocab-secondary)}.vocab-search-input:focus{border-color:#0d9488;border-color:var(--vocab-primary);box-shadow:0 0 0 3px #0d948826;outline:none}.vocab-search-clear{align-items:center;background:#ccfbf1;background:var(--vocab-border-light);border:none;border-radius:50%;color:#5f9ea0;color:var(--vocab-text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:10px;transition:all .2s;width:28px}.vocab-search-clear:hover{background:#99f6e4;background:var(--vocab-border);color:#134e4a;color:var(--vocab-text)}.vocab-search-clear:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:2px}.vocab-sort-container{position:relative}.vocab-sort-select{-webkit-appearance:none;appearance:none;background:#fff;background:var(--vocab-bg-card);border:2px solid #99f6e4;border:2px solid var(--vocab-border);border-radius:10px;color:#134e4a;color:var(--vocab-text);cursor:pointer;font-size:14px;min-width:160px;padding:12px 40px 12px 16px;transition:all .2s}.vocab-sort-select:hover{border-color:#2dd4bf;border-color:var(--vocab-secondary)}.vocab-sort-select:focus{border-color:#0d9488;border-color:var(--vocab-primary);box-shadow:0 0 0 3px #0d948826;outline:none}.vocab-sort-select:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-sort-icon{color:#5f9ea0;color:var(--vocab-text-muted);pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.vocab-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.vocab-filter-chip{align-items:center;background:#fff;background:var(--vocab-bg-card);border:2px solid #99f6e4;border:2px solid var(--vocab-border);border-radius:24px;color:#134e4a;color:var(--vocab-text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s}.vocab-filter-chip:hover{background:#ccfbf1;background:var(--vocab-border-light);border-color:#2dd4bf;border-color:var(--vocab-secondary)}.vocab-filter-chip:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-filter-chip.active{background:#0d9488;background:var(--vocab-primary);border-color:#0d9488;border-color:var(--vocab-primary);color:#fff}.vocab-filter-chip svg{height:14px;width:14px}.vocab-filter-chip--clear{background:#ef4444;background:var(--vocab-error);border-color:#ef4444;border-color:var(--vocab-error);color:#fff}.vocab-filter-chip--clear:hover{background:#dc2626;border-color:#dc2626}.vocab-batch-actions{align-items:center;animation:slideDown .3s ease-out;background:#0d9488;background:var(--vocab-primary);border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:12px 20px}.vocab-batch-count{color:#fff;font-size:14px;font-weight:600}.vocab-batch-buttons{display:flex;gap:8px;margin-left:auto}.vocab-batch-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s}.vocab-batch-btn:hover{background:#ffffff4d}.vocab-batch-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.vocab-batch-btn--danger{background:#ef4444cc}.vocab-batch-btn--danger:hover{background:#ef4444}.vocab-batch-btn svg{height:16px;width:16px}.vocab-list{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.vocab-empty{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px;text-align:center}.vocab-empty-illustration{color:#99f6e4;color:var(--vocab-border);height:200px;margin-bottom:24px;width:200px}.vocab-empty h3{color:#134e4a;color:var(--vocab-text);font-size:20px;font-weight:600;margin:0 0 8px}.vocab-empty p{color:#5f9ea0;color:var(--vocab-text-muted);font-size:15px;line-height:1.6;margin:0 0 24px;max-width:400px}.vocab-empty-btn{align-items:center;background:#0d9488;background:var(--vocab-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.vocab-empty-btn:hover{background:#0f766e;background:var(--vocab-primary-dark);transform:translateY(-2px)}.vocab-empty-btn:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-skeleton-card{background:#fff;background:var(--vocab-bg-card);border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:20px}.vocab-skeleton-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.vocab-skeleton-word{border-radius:6px;height:28px;width:120px}.vocab-skeleton-phonetic,.vocab-skeleton-word{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%}.vocab-skeleton-phonetic{border-radius:4px;height:18px;margin-top:6px;width:80px}.vocab-skeleton-actions{display:flex;gap:8px}.vocab-skeleton-btn{border-radius:50%;height:32px;width:32px}.vocab-skeleton-btn,.vocab-skeleton-definition{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%}.vocab-skeleton-definition{border-radius:4px;height:16px;margin-bottom:8px;width:100%}.vocab-skeleton-definition:last-child{width:70%}.vocab-skeleton-footer{align-items:center;border-top:1px solid #ccfbf1;border-top:1px solid var(--vocab-border-light);display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.vocab-skeleton-ring{border-radius:50%;height:48px;width:48px}.vocab-skeleton-date,.vocab-skeleton-ring{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%}.vocab-skeleton-date{border-radius:4px;height:14px;width:60px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vocab-card{background:#fff;background:var(--vocab-bg-card);border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #0000000f;cursor:pointer;padding:20px;position:relative;transition:box-shadow .2s,border-color .2s}.vocab-card:hover{border-color:#99f6e4;border-color:var(--vocab-border);box-shadow:0 8px 24px #0000001a}.vocab-card.selected,.vocab-card:focus-within{border-color:#0d9488;border-color:var(--vocab-primary)}.vocab-card.selected{background:#ccfbf1;background:var(--vocab-border-light)}.vocab-card.expanded{grid-column:span 1}.vocab-card-checkbox{align-items:center;background:#fff;background:var(--vocab-bg-card);border:2px solid #99f6e4;border:2px solid var(--vocab-border);border-radius:6px;cursor:pointer;display:flex;height:22px;justify-content:center;left:16px;position:absolute;top:16px;transition:all .2s;width:22px}.vocab-card-checkbox.checked,.vocab-card-checkbox:hover{border-color:#0d9488;border-color:var(--vocab-primary)}.vocab-card-checkbox.checked{background:#0d9488;background:var(--vocab-primary)}.vocab-card-checkbox svg{color:#fff;height:14px;opacity:0;width:14px}.vocab-card-checkbox.checked svg{opacity:1}.vocab-card.batch-mode{padding-left:52px}.vocab-due-badge{align-items:center;background:#f59e0b;background:var(--vocab-warning);border-radius:12px;box-shadow:0 2px 8px #f59e0b66;color:#fff;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;position:absolute;right:16px;top:-8px}.vocab-due-badge svg{height:12px;width:12px}.vocab-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.vocab-word-section{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vocab-word{color:#134e4a;color:var(--vocab-text);font-size:24px;font-weight:700;margin:0}.vocab-phonetic{color:#0d9488;color:var(--vocab-primary);font-family:Lucida Sans Unicode,sans-serif;font-size:14px;font-weight:500}.vocab-play-btn{align-items:center;background:#0d9488;background:var(--vocab-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.vocab-play-btn:hover{background:#0f766e;background:var(--vocab-primary-dark);transform:scale(1.1)}.vocab-play-btn:focus-visible{outline:3px solid #2dd4bf;outline:3px solid var(--vocab-secondary);outline-offset:2px}.vocab-play-btn.playing{animation:pulse .8s infinite;background:#ea580c;background:var(--vocab-cta)}.vocab-play-btn svg{height:16px;width:16px}.vocab-actions{display:flex;gap:4px}.vocab-action-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#5f9ea0;color:var(--vocab-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.vocab-action-btn:hover{background:#ccfbf1;background:var(--vocab-border-light);color:#134e4a;color:var(--vocab-text)}.vocab-action-btn:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:2px}.vocab-action-btn.active{color:#f59e0b;color:var(--vocab-warning)}.vocab-action-btn--delete:hover{background:#ef44441a;color:#ef4444;color:var(--vocab-error)}.vocab-action-btn svg{height:20px;width:20px}.vocab-card__content{margin-bottom:16px}.vocab-definition{color:#134e4a;color:var(--vocab-text);font-size:15px;line-height:1.7;margin:0}.vocab-notes{align-items:flex-start;background:#ccfbf1;background:var(--vocab-border-light);border-radius:8px;color:#5f9ea0;color:var(--vocab-text-muted);display:flex;font-size:13px;gap:8px;line-height:1.5;margin:12px 0 0;padding:10px 12px}.vocab-notes svg{flex-shrink:0;height:16px;margin-top:2px;width:16px}.vocab-expanded-content{animation:fadeIn .3s ease-out;border-top:1px dashed #99f6e4;border-top:1px dashed var(--vocab-border);margin-top:16px;padding-top:16px}.vocab-examples{margin-bottom:12px}.vocab-examples-title{color:#5f9ea0;color:var(--vocab-text-muted);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.vocab-example-item{background:#f0fdfa;background:var(--vocab-bg);border-left:3px solid #0d9488;border-left:3px solid var(--vocab-primary);border-radius:8px;color:#134e4a;color:var(--vocab-text);font-size:14px;line-height:1.6;margin-bottom:8px;padding:10px 14px}.vocab-example-pos{color:#0d9488;color:var(--vocab-primary);font-size:12px;font-weight:600;margin-bottom:4px}.vocab-example-en{font-weight:500;margin-bottom:4px}.vocab-example-zh,.vocab-no-examples{color:#5f9ea0;color:var(--vocab-text-muted);font-size:13px}.vocab-no-examples{font-style:italic;margin:0}.vocab-synonyms{display:flex;flex-wrap:wrap;gap:6px}.vocab-synonym-tag{background:#ccfbf1;background:var(--vocab-border-light);border-radius:12px;color:#134e4a;color:var(--vocab-text);font-size:12px;padding:4px 10px}.vocab-card__footer{align-items:center;border-top:1px solid #ccfbf1;border-top:1px solid var(--vocab-border-light);display:flex;justify-content:space-between;padding-top:16px}.vocab-mastery{align-items:center;display:flex;gap:12px}.mastery-ring-container{cursor:pointer;height:48px;position:relative;width:48px}.mastery-ring-container:focus-visible{border-radius:50%;outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:4px}.mastery-ring{height:48px;transform:rotate(-90deg);width:48px}.mastery-ring-bg{fill:none;stroke:#ccfbf1;stroke:var(--vocab-border-light);stroke-width:4}.mastery-ring-progress{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .5s ease-out,stroke .3s}.mastery-ring-text{font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.mastery-info{display:flex;flex-direction:column;gap:2px}.mastery-label{color:#5f9ea0;color:var(--vocab-text-muted);font-size:12px}.mastery-text{color:#134e4a;color:var(--vocab-text);font-size:14px;font-weight:600}.mastery-dropdown{animation:dropdownFade .2s ease-out;background:#fff;background:var(--vocab-bg-card);border:1px solid #99f6e4;border:1px solid var(--vocab-border);border-radius:12px;box-shadow:0 8px 24px #00000026;left:0;margin-top:8px;min-width:160px;padding:8px;position:absolute;top:100%;z-index:100}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mastery-option{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:background .2s;width:100%}.mastery-option:hover{background:#ccfbf1;background:var(--vocab-border-light)}.mastery-option:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:-2px}.mastery-option-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.mastery-option-label{color:#134e4a;color:var(--vocab-text);font-size:14px}.mastery-option.selected .mastery-option-label{font-weight:600}.vocab-date{align-items:center;color:#5f9ea0;color:var(--vocab-text-muted);display:flex;font-size:12px;gap:6px}.vocab-date svg{height:14px;width:14px}.vocab-expand-btn{align-items:center;background:#0000;border:1px solid #99f6e4;border:1px solid var(--vocab-border);border-radius:6px;color:#5f9ea0;color:var(--vocab-text-muted);cursor:pointer;display:flex;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s}.vocab-expand-btn:hover{background:#ccfbf1;background:var(--vocab-border-light);color:#134e4a;color:var(--vocab-text)}.vocab-expand-btn:focus-visible{outline:2px solid #0d9488;outline:2px solid var(--vocab-primary);outline-offset:2px}.vocab-expand-btn svg{height:14px;transition:transform .2s;width:14px}.vocab-expand-btn.expanded svg{transform:rotate(180deg)}@media (max-width:768px){.vocab-book-page{padding:16px}.vocab-header{flex-direction:column;gap:16px}.vocab-header h1{font-size:26px}.vocab-header-actions{justify-content:space-between;width:100%}.vocab-statistics{padding:16px}.mastery-distribution{height:80px;padding-top:16px}.vocab-filters-row{align-items:stretch;flex-direction:column}.vocab-search-container{max-width:100%}.vocab-sort-container,.vocab-sort-select{width:100%}.vocab-list{grid-template-columns:1fr}.vocab-card__footer{align-items:flex-start;flex-direction:column;gap:16px}.vocab-batch-actions{flex-wrap:wrap}.vocab-batch-buttons{margin-left:0;margin-top:8px;width:100%}}@media (max-width:480px){.vocab-header h1{font-size:22px}.vocab-practice-btn{justify-content:center;width:100%}.vocab-batch-toggle{flex:1 1;justify-content:center}.vocab-filter-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.vocab-filter-chip{flex-shrink:0}.vocab-word{font-size:20px}.mastery-ring,.mastery-ring-container{height:40px;width:40px}.mastery-ring-text{font-size:10px}}.flashcard-page{background:#f5f7fa;display:flex;flex-direction:column;margin:0;min-height:calc(100vh - 120px);padding:0}.flashcard-error,.flashcard-loading{align-items:center;color:#666;display:flex;flex:1 1;flex-direction:column;font-size:18px;gap:20px;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0}.error-actions{display:flex;gap:12px}.btn-back,.btn-retry{border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:10px 24px;transition:all .2s ease-out}.btn-retry{background:#667eea;border:none;color:#fff}.btn-retry:hover{background:#5568d3}.btn-back{background:#fff;border:1px solid #ddd;color:#666}.btn-back:hover{background:#f5f5f5}.flashcard-header{align-items:center;display:flex;justify-content:space-between;padding:12px 20px}.flashcard-header.two-stage-header{gap:16px}.flashcard-progress-section{align-items:center;display:flex;flex:1 1;gap:12px;max-width:400px}.flashcard-progress-bar{background:#e0e0e0;border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.flashcard-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease-out}.flashcard-progress-text{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.btn-close{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease-out;width:40px}.btn-close:hover{background:#f0f0f0;color:#333}.progress-info{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;padding:8px 20px}.progress-text{color:#333;font-size:16px;font-weight:600}.keyboard-hint{color:#999;display:flex;font-size:12px;gap:16px}.keyboard-hint span{background:#f0f0f0;border-radius:4px;padding:4px 8px}.stage-indicator{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;padding:8px 16px}.stage-indicator,.stage-item{align-items:center;flex-direction:row;flex-shrink:0}.stage-item{background:#f5f5f5;border-radius:16px;color:#999;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease-out;white-space:nowrap}.stage-item span,.stage-item svg{flex-shrink:0}.stage-item.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.stage-item.completed{background:#28a745;color:#fff}.stage-connector{align-items:center;color:#ccc;display:flex}.progress-bar{background:#e0e0e0;border-radius:2px;height:4px;margin:0 20px 24px}.progress-bar>.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%;transition:width .3s ease-out}.mastery-delta{animation:masteryPop 1s ease-out forwards;font-size:72px;font-weight:800;left:50%;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.mastery-delta.positive{color:#28a745;text-shadow:0 4px 20px #28a74580}.mastery-delta.negative{color:#dc3545;text-shadow:0 4px 20px #dc354580}@keyframes masteryPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}40%{transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}.flashcard-container{flex:1 1;flex-direction:row;gap:24px;padding:20px;perspective:1000px}.flashcard-container,.side-btn{align-items:center;display:flex;justify-content:center}.side-btn{border:none;border-radius:16px;cursor:pointer;flex-direction:column;flex-shrink:0;font-size:14px;font-weight:600;gap:8px;height:100px;transition:all .2s ease-out;width:80px}.side-btn.btn-dont-know{background:linear-gradient(145deg,#ff6b6b,#ee5a5a);box-shadow:0 4px 15px #ee5a5a4d;color:#fff}.side-btn.btn-dont-know:hover{box-shadow:0 6px 20px #ee5a5a66;transform:scale(1.05)}.side-btn.btn-know{background:linear-gradient(145deg,#51cf66,#40c057);box-shadow:0 4px 15px #40c0574d;color:#fff}.side-btn.btn-know:hover{box-shadow:0 6px 20px #40c05766;transform:scale(1.05)}.side-btn:active{transform:scale(.95)}.side-btn-placeholder{flex-shrink:0;height:100px;width:80px}.flashcard{cursor:pointer;height:380px;max-width:520px;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;height:100%;justify-content:center;padding:32px;position:absolute;text-align:center;width:100%}.flashcard-front{background:linear-gradient(145deg,#fff,#f8f9fa)}.flashcard-back{background:#2d3748;color:#fff;transform:rotateY(180deg)}.card-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center}.flashcard-front .word{color:#1a1a1a;font-size:52px;font-weight:700;letter-spacing:-.5px;margin:0}.flashcard-front .pronunciation{color:#5558d6;font-size:22px;font-weight:500;margin:0}.flashcard-back .word-small{color:#fff;font-size:32px;font-weight:700;margin:0 0 20px}.flashcard-back .definition{color:#fff!important;font-size:24px;font-weight:500;line-height:1.8}.flashcard-back .definition *{color:#fff!important}.flashcard-back .definition-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.flashcard-back .pos{background:#4a5568;border-radius:8px;color:#fff!important;display:inline-block;flex-shrink:0;font-size:15px;font-weight:600;padding:6px 14px}.flashcard-back .notes{color:#fffffff2;font-size:16px;font-style:italic;margin-top:16px}.audio-btn{align-items:center;background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;margin-top:16px;transition:all .2s ease-out;width:48px}.audio-btn:hover{background:#5568d3;transform:scale(1.1)}.audio-btn.playing{animation:pulse .8s ease-in-out infinite;background:#e84393}.pronunciation-section{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:16px;width:100%}.record-toggle-btn{align-items:center;background:#fff;border:2px solid #667eea;border-radius:24px;color:#667eea;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease-out}.record-toggle-btn:hover{background:#f0f3ff;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.record-toggle-btn.recording{background:#dc3545;border-color:#dc3545;color:#fff}.record-toggle-btn.recording:hover{background:#c82333;border-color:#c82333}.record-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.record-toggle-btn .recording-indicator{animation:pulse-dot 1s ease-in-out infinite;background:#fff;border-radius:50%;height:10px;width:10px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.recording-actions{align-items:center;display:flex;flex-direction:column;gap:12px;width:100%}.checking-status{align-items:center;color:#667eea;display:flex;font-weight:500;gap:10px;padding:12px 20px}.checking-spinner{animation:spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}.action-buttons{display:flex;gap:12px}.action-btn{border-radius:8px;font-size:14px;gap:6px;padding:10px 18px;transition:all .2s ease-out}.action-btn.retry{background:#f5f5f5;color:#666}.action-btn.retry:hover{background:#e8e8e8}.action-btn.check{background:#667eea;color:#fff}.action-btn.check:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.pronunciation-result{align-items:flex-start;animation:fadeIn .3s ease-out;border-radius:12px;display:flex;flex-wrap:wrap;font-size:15px;font-weight:500;gap:10px;padding:14px 20px}.pronunciation-result .feedback-text{flex:1 1;line-height:1.5;white-space:pre-line}.pronunciation-result svg{flex-shrink:0;margin-top:2px}.pronunciation-result.correct{background:#d4edda;color:#155724}.pronunciation-result.incorrect{background:#f8d7da;color:#721c24}.pronunciation-result .retry-btn{background:#0000001a;border:none;border-radius:6px;color:inherit;cursor:pointer;font-size:13px;font-weight:500;margin-left:auto;padding:6px 14px;transition:all .2s ease-out}.pronunciation-result .retry-btn:hover{background:#00000026}.pronunciation-result .bonus-badge{background:#ffc107;border-radius:12px;color:#333;font-size:14px;font-weight:700;padding:4px 10px}.pronunciation-result .next-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-left:auto;padding:8px 16px;transition:all .2s ease-out}.pronunciation-result .next-btn:hover{background:#218838;transform:translateY(-1px)}.pronunciation-error{align-items:center;background:#fff3cd;border-radius:6px;color:#856404;display:flex;font-size:13px;gap:6px;padding:8px 12px}.flip-hint{bottom:20px;color:#999;font-size:13px;margin:0;position:absolute}.flashcard-back .flip-hint{color:#ffffffb3}.session-complete{flex:1 1;flex-direction:column;padding:40px 20px;text-align:center}.complete-icon,.session-complete{align-items:center;display:flex;justify-content:center}.complete-icon{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;color:#fff;height:100px;margin-bottom:24px;width:100px}.session-complete h2{color:#333;font-size:28px;margin:0 0 32px}.session-stats{display:flex;gap:20px;margin-bottom:40px}.stat-card{align-items:center;border-radius:16px;box-shadow:0 4px 16px #00000014;display:flex;flex-direction:column;min-width:100px;padding:24px 32px}.stat-number{font-size:36px;font-weight:700}.stat-label{color:#666;font-size:14px;margin-top:4px}.stat-correct .stat-number{color:#28a745}.stat-incorrect .stat-number{color:#dc3545}.stat-accuracy .stat-number{color:#667eea}.complete-actions{display:flex;flex-direction:column;gap:12px;max-width:300px;width:100%}.btn-outline,.btn-primary,.btn-secondary{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease-out}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#fff0f0;border:2px solid #dc3545;color:#dc3545}.btn-secondary:hover{background:#dc3545;color:#fff}.btn-outline{background:#fff;border:2px solid #ddd;color:#666}.btn-outline:hover{background:#f5f5f5;border-color:#ccc}@media (max-width:768px){.flashcard-header{padding:0 12px}.keyboard-hint{display:none}.flashcard{height:280px}.flashcard-front .word{font-size:36px}.flashcard-back .definition{font-size:18px}.flashcard-container{gap:12px;padding:10px}.side-btn{font-size:12px;height:80px;width:60px}.side-btn svg{height:22px;width:22px}.side-btn-placeholder{height:80px;width:60px}.session-stats{flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center}.stat-card{min-width:80px;padding:16px 24px}.stat-number{font-size:28px}}@media (prefers-reduced-motion:reduce){.flashcard{transition:none}.flashcard.flipped{transform:none}.flashcard.flipped .flashcard-front{display:none}.flashcard.flipped .flashcard-back{transform:none}.audio-btn.playing,.loading-spinner{animation:none}}.flashcard-container.two-stage-mode{align-items:center;display:flex;flex:1 1;justify-content:center;padding:20px}.flashcard-card{background:#fff;border-radius:24px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;max-width:480px;min-height:420px;overflow:hidden;width:100%}.stage-content{flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:32px;text-align:center}.stage-content,.stage-label{align-items:center;display:flex}.stage-label{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;gap:8px;padding:8px 16px}.speaking-stage .word{color:#1a1a1a;font-size:48px;font-weight:700;letter-spacing:-.5px;margin:8px 0}.speaking-stage .pronunciation{color:#5558d6;font-size:20px;font-weight:500;margin:0}.stage-hint{color:#999;font-size:13px;margin-top:auto}.dictation-stage{background:linear-gradient(145deg,#f8f9fa,#fff)}.dictation-audio-btn{align-items:center;background:linear-gradient(145deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 8px 24px #667eea4d;color:#fff;cursor:pointer;display:flex;height:100px;justify-content:center;transition:all .2s ease-out;width:100px}.dictation-audio-btn:hover{box-shadow:0 12px 32px #667eea66;transform:scale(1.05)}.dictation-audio-btn.playing{animation:pulse .8s ease-in-out infinite;background:linear-gradient(145deg,#e84393,#d63384)}.dictation-instruction{color:#666;font-size:15px;margin:8px 0 16px}.dictation-input-wrapper{align-items:center;display:flex;gap:12px;max-width:360px;width:100%}.dictation-input{border:2px solid #e0e0e0;border-radius:12px;flex:1 1;font-size:20px;font-weight:500;min-width:0;outline:none;padding:14px 20px;text-align:center;transition:all .2s ease-out}.dictation-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dictation-input.correct{background:#d4edda;border-color:#28a745;color:#155724}.dictation-input.incorrect{background:#fff;border-color:#dc3545}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.dictation-submit-btn{border-radius:12px;flex-shrink:0;padding:14px 24px;white-space:nowrap}.dictation-submit-btn:hover:not(.disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.dictation-submit-btn.disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.dictation-submit-btn.success{background:linear-gradient(135deg,#28a745,#20c997)}.dictation-submit-btn.success:hover{box-shadow:0 4px 16px #28a74566}.dictation-feedback{align-items:center;animation:fadeIn .3s ease-out;border-radius:10px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px}.dictation-feedback.incorrect{background:#f8d7da;color:#721c24}.hint-btn{background:#0000001a;border:none;border-radius:6px;color:inherit;cursor:pointer;font-size:13px;font-weight:500;margin-left:auto;padding:6px 12px;transition:all .2s ease-out}.hint-btn:hover{background:#00000026}.dictation-hint{align-items:center;background:#fff3cd;border-radius:8px;color:#856404;display:flex;font-size:14px;gap:8px;padding:10px 16px}.hint-label{font-weight:500}.hint-word{font-weight:700;letter-spacing:2px}.dictation-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s ease-out}.dictation-submit-btn:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.letter-boxes-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0;max-width:100%}.letter-box{align-items:center;border-radius:8px;display:flex;font-size:24px;font-weight:600;height:52px;justify-content:center;text-transform:lowercase;width:44px}.letter-box.locked{background:linear-gradient(145deg,#d4edda,#c3e6cb);border:2px solid #28a745;box-shadow:0 2px 8px #28a74533;color:#155724}.letter-box.input{background:#fff;border:2px solid #667eea;caret-color:#667eea;color:#333;outline:none;padding:0;text-align:center;transition:all .15s ease-out}.letter-box.input:focus{border-color:#5558d6;box-shadow:0 0 0 3px #667eea33;transform:translateY(-2px)}.letter-box.input::placeholder{color:#ccc}.letter-box-actions{align-items:center;display:flex;gap:12px;margin-top:8px}.letter-box-actions .hint-btn{background:#fff;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease-out}.letter-box-actions .hint-btn:hover{background:#f5f5f5;border-color:#ccc}@media (max-width:768px){.stage-indicator{gap:6px;padding:6px 12px}.stage-item{font-size:12px;padding:4px 10px}.flashcard-card{border-radius:20px;min-height:360px}.stage-content{gap:12px;padding:24px}.speaking-stage .word{font-size:36px}.dictation-audio-btn{height:80px;width:80px}.dictation-audio-btn svg{height:36px;width:36px}.dictation-input{font-size:18px;padding:12px 16px}.letter-boxes-container{gap:6px}.letter-box{font-size:20px;height:44px;width:36px}.letter-box-actions{flex-wrap:wrap;justify-content:center}}.rewarded-ad-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.rewarded-ad-container{margin:16px;max-height:90vh;max-width:480px;position:relative;width:100%}.ad-progress-bar{background:#fff3;border-radius:2px;height:4px;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:10}.ad-progress-fill{background:linear-gradient(90deg,#10b981,#34d399);height:100%;transition:width 1s linear}.ad-timer{background:#0009;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px;position:absolute;right:16px;top:16px;z-index:10}.ad-content{align-items:center;aspect-ratio:9/16;border-radius:16px;color:#fff;display:flex;flex-direction:column;justify-content:center;max-height:70vh;overflow:hidden;padding:32px;position:relative;text-align:center}.ad-badge{background:#0006;border-radius:4px;color:#fff;font-size:11px;font-weight:700;left:16px;letter-spacing:1px;padding:4px 10px;position:absolute;top:16px}.ad-body{flex-direction:column;gap:16px}.ad-body,.ad-icon{align-items:center;display:flex}.ad-icon{background:#fff3;border-radius:24px;height:100px;justify-content:center;margin-bottom:8px;width:100px}.ad-icon svg{color:#fff}.ad-title{font-size:28px;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.ad-description{font-size:16px;line-height:1.5;margin:0;max-width:280px;opacity:.9}.ad-cta-btn{background:#fff;border:none;border-radius:12px;color:#111827;cursor:pointer;font-size:16px;font-weight:600;margin-top:16px;padding:14px 32px;transition:transform .2s ease,box-shadow .2s ease}.ad-cta-btn:hover{box-shadow:0 8px 20px #0003;transform:scale(1.05)}.ad-disclaimer{bottom:24px;font-size:12px;margin:0;opacity:.7;position:absolute}.ad-skip-area{display:flex;justify-content:flex-end;padding:16px 0}.ad-skip-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.ad-skip-btn:hover{background:#fff3;border-color:#ffffff80}.ad-skip-countdown{color:#ffffff80;font-size:14px;padding:10px 0}.ad-loading{align-items:center;color:#fff;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.ad-loading-spinner{animation:spin 1s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#10b981;height:48px;width:48px}.ad-loading p{font-size:16px;margin:0;opacity:.8}.ad-completed{animation:scaleIn .3s ease;color:#fff;flex-direction:column;gap:16px;min-height:400px;text-align:center}.ad-completed,.ad-completed-icon{align-items:center;display:flex;justify-content:center}.ad-completed-icon{background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;height:100px;margin-bottom:8px;width:100px}.ad-completed-icon svg{color:#fff}.ad-completed h2{font-size:24px;font-weight:700;margin:0}.ad-completed p{font-size:16px;margin:0;opacity:.8}.ad-claim-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 15px #10b98166;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:16px;padding:16px 40px;transition:all .2s ease}.ad-claim-btn:hover{box-shadow:0 8px 25px #10b98180;transform:translateY(-2px)}.ad-reward-animation{flex-direction:column;gap:24px;padding:32px}.ad-reward-animation,.ad-reward-icon{align-items:center;display:flex;justify-content:center}.ad-reward-icon{animation:pulse 1s ease infinite;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;box-shadow:0 0 40px #f59e0b80;height:120px;width:120px}.ad-reward-icon svg{color:#fff}.ad-balance-container{align-items:center;display:flex;height:80px;justify-content:center;min-width:150px;position:relative}.ad-balance-value,.ad-new-balance,.ad-reward-value{font-size:48px;font-weight:700;position:absolute;transition:all .4s cubic-bezier(.4,0,.2,1)}.ad-balance-value{color:#fff;opacity:1;transform:translateY(0) scale(1)}.ad-balance-value.fade-out{opacity:0;transform:translateY(-30px) scale(.8)}.ad-reward-value{color:#34d399;opacity:0;text-shadow:0 0 20px #34d399cc;transform:translateY(30px) scale(.5)}.ad-reward-value.visible{animation:bounceIn .5s ease;opacity:1;transform:translateY(0) scale(1.2)}@keyframes bounceIn{0%{opacity:0;transform:translateY(30px) scale(.5)}50%{transform:translateY(-10px) scale(1.3)}to{opacity:1;transform:translateY(0) scale(1.2)}}.ad-new-balance{color:#fbbf24;opacity:0;text-shadow:0 0 20px #fbbf2499;transform:translateY(30px) scale(.8)}.ad-new-balance.visible{animation:countUp .6s ease;opacity:1;transform:translateY(0) scale(1)}.ad-reward-label{animation:fadeIn .3s ease;color:#fffc;font-size:16px;margin:0}.ad-error{color:#fff;flex-direction:column;gap:16px;min-height:400px;text-align:center}.ad-error,.ad-error-icon{align-items:center;display:flex;justify-content:center}.ad-error-icon{background:#ef444433;border-radius:50%;height:80px;width:80px}.ad-error-icon svg{color:#ef4444}.ad-error h2{font-size:20px;font-weight:600;margin:0}.ad-error p{font-size:14px;margin:0;opacity:.7}.ad-close-btn{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-top:16px;padding:12px 32px;transition:all .2s ease}.ad-close-btn:hover{background:#fff3}.ad-close-x{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:40px}.ad-close-x:hover{background:#fff3}@media (max-width:480px){.rewarded-ad-container{margin:8px}.ad-content{aspect-ratio:9/16;padding:24px}.ad-title{font-size:24px}.ad-description{font-size:14px}.ad-icon{height:80px;width:80px}.ad-icon svg{height:48px;width:48px}}@media (orientation:landscape) and (max-height:500px){.ad-content{aspect-ratio:16/9;max-height:80vh}.ad-icon{height:60px;width:60px}.ad-title{font-size:22px}.ad-body{gap:8px}}.tokens-page{background:#f8f9fa;min-height:calc(100vh - 200px);padding:24px}.tokens-container{margin:0 auto;max-width:800px}.tokens-loading{align-items:center;color:#4b5563;display:flex;flex-direction:column;font-size:15px;gap:16px;justify-content:center;min-height:400px}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#10b981}.loading-spinner.small{border-width:2px;height:24px;width:24px}.tokens-header{margin-bottom:24px}.tokens-header h1{color:#111827;font-size:28px;font-weight:700;margin:0 0 8px}.tokens-subtitle{color:#4b5563;font-size:16px;margin:0}.tokens-balance-card{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;box-shadow:0 10px 40px #10b9814d;color:#fff;margin-bottom:24px;padding:32px}.balance-main{border-bottom:1px solid #fff3;gap:20px;margin-bottom:24px;padding-bottom:24px}.balance-icon,.balance-main{align-items:center;display:flex}.balance-icon{background:#fff3;border-radius:20px;height:80px;justify-content:center;width:80px}.balance-icon svg{color:#fff}.balance-info{display:flex;flex-direction:column}.balance-label{color:#fffffff2;font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.balance-value{font-size:48px;font-weight:700;line-height:1}.balance-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.stat-item{display:flex;flex-direction:column;gap:4px}.tokens-balance-card .stat-label{color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px}.tokens-balance-card .stat-value{color:#fff;font-size:20px;font-weight:700}.tokens-balance-card .stat-value.positive{color:#fff}.tokens-balance-card .stat-value.negative{color:#fef2f2}.tokens-actions{display:flex;gap:16px;margin-bottom:24px}.action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:16px 24px;transition:all .2s ease}.daily-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.daily-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.ad-btn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 15px #f59e0b66;color:#fff}.ad-btn:hover:not(:disabled){box-shadow:0 6px 20px #f59e0b80;transform:translateY(-2px)}.action-btn.disabled,.action-btn:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;transform:none!important}.tokens-message{animation:slideIn .3s ease;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:24px;padding:12px 16px}.tokens-message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.tokens-message.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.tokens-history{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:24px}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.history-header h2{color:#111827;font-size:18px;font-weight:600;margin:0}.history-filter{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.history-filter:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.history-empty{color:#6b7280;font-size:15px;padding:48px 24px;text-align:center}.history-list{display:flex;flex-direction:column}.history-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:16px;padding:16px 0}.history-item:last-child{border-bottom:none}.history-item-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.history-item.earn .history-item-icon{background:#d1fae5;color:#059669}.history-item.spend .history-item-icon{background:#fee2e2;color:#dc2626}.history-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.history-item-type{color:#111827;font-size:15px;font-weight:600}.history-item-date{color:#6b7280;font-size:13px}.history-item-desc{color:#4b5563;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-amount{flex-shrink:0;font-size:16px;font-weight:600}.history-item-amount.positive{color:#059669}.history-item-amount.negative{color:#dc2626}.history-loading{display:flex;justify-content:center;padding:24px}.load-more-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px;transition:all .2s ease;width:100%}.load-more-btn:hover{background:#e5e7eb}@media (max-width:768px){.tokens-page{padding:16px}.tokens-balance-card{padding:24px}.balance-main{flex-direction:column;text-align:center}.balance-value{font-size:36px}.balance-stats{grid-template-columns:repeat(2,1fr)}.history-header,.tokens-actions{flex-direction:column}.history-header{align-items:flex-start;gap:12px}.history-filter{width:100%}}@media (max-width:480px){.tokens-header h1{font-size:24px}.balance-icon{height:60px;width:60px}.balance-icon svg{height:32px;width:32px}.balance-value{font-size:32px}.tokens-balance-card .stat-value{font-size:18px}}.placement-test-page{align-items:flex-start;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:40px 20px;width:100%}.placement-test-page button:disabled{cursor:not-allowed;opacity:.7}.error-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:80px auto;max-width:500px;padding:40px;text-align:center}.error-container h2{color:#dc3545;margin-bottom:16px}.error-container p{color:#666;margin-bottom:24px}.error-container button{background:#6366f1;background:var(--primary-color,#6366f1);font-size:16px;padding:12px 32px;transition:transform .2s,box-shadow .2s}.error-container button:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.placement-test-intro{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;margin:0 auto;max-width:600px;padding:60px 40px;text-align:center}.placement-test-intro h1{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:16px}.cefr-with-help{gap:6px;position:relative}.cefr-help-btn,.cefr-with-help{align-items:center;display:inline-flex}.cefr-help-btn{background:#eef2ff;border:1px solid #c7d2fe;border-radius:50%;color:#6366f1;cursor:pointer;font-size:14px;font-weight:600;height:22px;justify-content:center;padding:0;transition:all .2s ease;vertical-align:middle;width:22px}.cefr-help-btn:hover{background:#6366f1;border-color:#6366f1;color:#fff}.intro-description{color:#6b7280;font-size:1.1rem;line-height:1.6;margin-bottom:32px}.intro-features{display:flex;gap:32px;justify-content:center;margin-bottom:40px}.feature{flex-direction:column;gap:8px}.feature,.feature-icon{align-items:center;display:flex}.feature-icon{background:#eef2ff;border-radius:50%;color:#6366f1;color:var(--primary-color,#6366f1);font-size:1.25rem;font-weight:700;height:56px;justify-content:center;width:56px}.feature-text{color:#6b7280;font-size:.875rem}.start-test-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:16px 48px;transition:transform .2s,box-shadow .2s}.start-test-btn:hover:not(:disabled){box-shadow:0 8px 24px #6366f159;transform:translateY(-2px)}.intro-note{color:#9ca3af;font-size:.875rem;margin-top:24px}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;font-size:.875rem;margin-bottom:24px;text-align:center}.placement-test-background{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;margin:0 auto;max-width:600px;padding:40px}.question-card{animation:fadeIn .3s ease}.question-text{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.5;margin-bottom:24px}.options-list{display:flex;flex-direction:column;gap:12px}.option-btn{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;font-size:1rem;padding:16px 20px;text-align:left;transition:all .2s ease;width:100%}.option-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;color:#4f46e5}.placement-test-testing{margin:0 auto;max-width:800px}.test-header{padding:24px}.probability-chart,.test-header{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000f;margin-bottom:24px}.probability-chart{align-items:flex-end;display:flex;gap:16px;height:100px;justify-content:center;padding:20px}.prob-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;max-width:60px}.prob-bar{border-radius:4px 4px 0 0;min-height:4px;transition:height .5s ease;width:100%}.prob-label{color:#6b7280;font-size:.75rem;font-weight:600}.placement-test-testing .question-card{background:#fff;border:3px solid #0000;border-radius:16px;box-shadow:0 4px 16px #0000000f;padding:32px;transition:border-color .3s ease}.placement-test-testing .question-card.correct{animation:correctPulse .5s ease;border-color:#10b981}.placement-test-testing .question-card.incorrect{animation:incorrectShake .5s ease;border-color:#ef4444}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes incorrectShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.question-type-badge{background:#eef2ff;border-radius:20px;color:#6366f1;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:16px;padding:4px 12px;text-transform:uppercase}.question-stem{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.6;margin-bottom:24px}.options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (max-width:600px){.options-grid{grid-template-columns:1fr}}.test-option-btn{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:flex;gap:12px;padding:16px;text-align:left;transition:all .2s ease}.test-option-btn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.test-option-btn.selected{background:#eef2ff;border-color:#6366f1;color:#4f46e5}.option-letter{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.test-option-btn.selected .option-letter{background:#6366f1;color:#fff}.option-text{font-size:1rem;line-height:1.4}.submit-answer-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:16px;transition:transform .2s,box-shadow .2s,opacity .2s;width:100%}.submit-answer-btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f159;transform:translateY(-2px)}.submit-answer-btn:disabled{cursor:not-allowed;opacity:.5}.placement-test-login-prompt{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;margin:0 auto;max-width:500px;padding:48px 40px;text-align:center}.prompt-icon{margin-bottom:24px}.placement-test-login-prompt h1{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:12px}.prompt-teaser{color:#10b981;font-size:1.1rem;font-weight:600;margin-bottom:32px}.prompt-benefits{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;text-align:left}.benefit{align-items:center;color:#374151;display:flex;gap:12px}.benefit svg{color:#10b981;flex-shrink:0}.login-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:12px;padding:16px;transition:transform .2s,box-shadow .2s;width:100%}.login-btn:hover{box-shadow:0 6px 20px #6366f159;transform:translateY(-2px)}.register-link{background:#0000;border:none;color:#6366f1;cursor:pointer;display:block;font-size:.9375rem;font-weight:500;padding:12px;text-decoration:underline;width:100%}.register-link:hover{color:#4f46e5}.placement-test-result{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;margin:0 auto;max-width:700px;padding:40px}.result-header{margin-bottom:32px;text-align:center}.result-header h1{color:#1f2937;font-size:1.75rem;font-weight:700}.result-main{margin-bottom:32px;text-align:center}.level-badge{align-items:center;animation:scaleIn .5s ease;border-radius:50%;color:#fff;display:inline-flex;flex-direction:column;height:140px;justify-content:center;margin-bottom:24px;width:140px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.level-text{font-size:2.5rem;font-weight:800;line-height:1}.level-name{font-size:.875rem;font-weight:500;margin-top:4px;opacity:.9}.result-display-text{color:#6b7280;font-size:1.125rem;margin-bottom:24px}.confidence-indicator{margin:0 auto;max-width:400px}.confidence-label{color:#6b7280;display:block;font-size:.875rem;margin-bottom:8px}.confidence-bar{background:#e5e7eb;border-radius:5px;height:10px;margin-bottom:8px;overflow:hidden;width:100%}.confidence-fill{background:linear-gradient(135deg,#10b981,#059669);border-radius:5px;height:100%;transition:width 1s ease}.confidence-value{color:#374151;font-size:.875rem;font-weight:600}.result-details{background:#f9fafb;border-radius:12px;display:flex;gap:48px;justify-content:center;margin-bottom:32px;padding:24px}.detail-item{align-items:center;display:flex;flex-direction:column;gap:4px}.detail-label{color:#6b7280;font-size:.875rem}.detail-value{color:#1f2937;font-size:1.25rem;font-weight:700}.level-description{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:32px;padding:24px}.level-description h3{color:#166534;font-size:1rem;font-weight:600;margin-bottom:8px}.level-description p{color:#166534;font-size:.9375rem;line-height:1.6;margin:0}.distribution-chart{margin-bottom:32px}.distribution-chart h3{color:#374151;font-size:1rem;font-weight:600;margin-bottom:16px;text-align:center}.distribution-bars{display:flex;gap:12px;justify-content:center}.dist-bar-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;max-width:60px}.dist-bar-wrapper{align-items:flex-end;background:#f3f4f6;border-radius:8px;display:flex;height:120px;overflow:hidden;width:100%}.dist-bar{border-radius:4px 4px 0 0;min-height:4px;transition:height 1s ease;width:100%}.dist-label{color:#374151;font-size:.75rem;font-weight:600}.dist-percent{color:#6b7280;font-size:.6875rem}.result-actions{display:flex;gap:16px}.result-actions .primary-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:16px;transition:transform .2s,box-shadow .2s}.result-actions .primary-btn:hover{box-shadow:0 6px 20px #6366f159;transform:translateY(-2px)}.result-actions .secondary-btn{background:#eef2ff;border:2px solid #c7d2fe;border-radius:12px;color:#6366f1;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:16px;transition:background .2s,border-color .2s}.result-actions .secondary-btn:hover{background:#e0e7ff;border-color:#a5b4fc}@media (max-width:640px){.placement-test-page{padding:20px 16px}.placement-test-background,.placement-test-intro,.placement-test-login-prompt,.placement-test-result{border-radius:16px;padding:32px 24px}.placement-test-intro h1{font-size:1.5rem}.intro-features{flex-direction:column;gap:20px}.feature{flex-direction:row;gap:12px}.feature-icon{font-size:1rem;height:48px;width:48px}.result-details{gap:16px}.result-actions,.result-details{flex-direction:column}.probability-chart{gap:8px;padding:16px}.prob-bar-container{max-width:40px}.distribution-bars{gap:8px}.dist-bar-item{max-width:45px}.dist-bar-wrapper{height:80px}}.cefr-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.cefr-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;max-height:85vh;max-width:560px;overflow-y:auto;padding:32px;position:relative;width:100%}.cefr-modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px}.cefr-modal-close:hover{background:#e5e7eb;color:#1f2937}.cefr-modal h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:12px;padding-right:40px}.cefr-modal-intro{color:#6b7280;font-size:.9375rem;line-height:1.6;margin-bottom:24px}.cefr-levels-list{display:flex;flex-direction:column;gap:16px}.cefr-level-item{background:#f9fafb;border-radius:12px;display:flex;gap:16px;padding:16px}.cefr-level-badge{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:48px;justify-content:center;width:48px}.cefr-level-content{flex:1 1}.cefr-level-content strong{color:#1f2937;display:block;font-size:.9375rem;font-weight:600;margin-bottom:4px}.cefr-level-content p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}@media (max-width:640px){.cefr-modal{max-height:90vh;padding:24px}.cefr-modal h2{font-size:1.25rem}.cefr-level-item{gap:12px;padding:12px}.cefr-level-badge{font-size:.875rem;height:40px;width:40px}}.quest-page{margin:0 auto;max-width:800px;min-height:100vh;padding:1.5rem 1rem 3rem}.quest-page--loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.quest-loading{color:#64748b;text-align:center}.quest-loading__spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin:0 auto 1rem;width:40px}.quest-page--error{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.quest-error{background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:#64748b;padding:2rem;text-align:center}.quest-error h3{color:#dc2626;margin:0 0 .5rem}.quest-error p{margin:0 0 1rem}.quest-error__retry{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.625rem 1.5rem;transition:transform .15s,box-shadow .15s}.quest-error__retry:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.quest-page--auth{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.quest-auth{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #0000000d;padding:3rem 2rem;text-align:center}.quest-auth h2{color:#1e293b;margin:0 0 .5rem}.quest-auth p{color:#64748b;margin:0 0 1.5rem}.quest-auth__btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;display:inline-block;font-weight:600;padding:.625rem 1.5rem;text-decoration:none;transition:transform .15s,box-shadow .15s}.quest-auth__btn:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.quest-page--start{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem 1rem}.quest-start{max-width:600px;text-align:center;width:100%}.quest-start__course-name{color:#6366f1;font-size:1rem;font-weight:600;margin-bottom:.5rem}.quest-start__title{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0}.quest-start__subtitle{color:#64748b;display:block;font-size:1rem;font-weight:400;margin-top:.5rem}.quest-start__journey{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.quest-start__gates{display:flex;flex-direction:column;gap:.75rem}.quest-preview-gate{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1rem;position:relative}.quest-preview-gate__line{background:linear-gradient(180deg,#6366f1,#c7d2fe);height:.75rem;left:2rem;position:absolute;top:-.75rem;width:2px}.quest-preview-gate__icon{align-items:center;background:#eef2ff;border-radius:12px;display:flex;flex-shrink:0;font-size:1.25rem;height:3rem;justify-content:center;width:3rem}.quest-preview-gate__info{flex:1 1;text-align:left}.quest-preview-gate__name{color:#1e293b;display:block;font-size:1rem;font-weight:600}.quest-preview-gate__cost{color:#64748b;display:block;font-size:.8rem;margin-top:.25rem}.quest-start__summary{color:#1e293b;display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem}.quest-start__balance,.quest-start__cost{align-items:center;display:flex;flex-direction:column;gap:.25rem}.quest-start__label{color:#64748b;font-size:.8rem}.quest-start__value{align-items:center;color:#1e293b;display:flex;font-size:1.125rem;font-weight:600;gap:.25rem}.quest-start__value--low{color:#dc2626}.quest-start__btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 12px #6366f140;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .15s;width:100%}.quest-start__btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f159;transform:translateY(-1px)}.quest-start__btn--disabled{background:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed}.quest-start__get-tokens{color:#6366f1;display:inline-block;font-size:.875rem;font-weight:500;margin-top:1rem;text-decoration:none}.quest-start__get-tokens:hover{text-decoration:underline}.quest-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.quest-header__center{flex:1 1;text-align:center}.quest-header__course-name{color:#6366f1;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.quest-header__back{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .15s,color .15s;white-space:nowrap}.quest-header__back:hover{background:#e2e8f0;color:#1e293b}.quest-header__title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin:0}.quest-header__stats{display:flex;flex-shrink:0;gap:.5rem}.quest-header__tokens,.quest-header__xp{align-items:center;background:#f3e8ff;border-radius:9999px;color:#8b5cf6;display:flex;font-size:.8rem;font-weight:600;gap:.25rem;padding:.25rem .75rem}.quest-header__tokens{background:#dcfce7;color:#16a34a}.quest-journey{margin:0;max-width:100%;padding:0}.quest-journey__path{display:flex;flex-direction:column;gap:.75rem}.quest-gate{align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:16px;cursor:default;display:flex;gap:1rem;padding:1.25rem;position:relative;transition:all .2s}.quest-gate--accessible{border-color:#818cf8;cursor:pointer}.quest-gate--accessible:hover{background:#f8fafc;border-color:#6366f1;box-shadow:0 4px 16px #6366f126;transform:translateX(4px)}.quest-gate--completed{background:linear-gradient(90deg,#f0fdf4,#fff);border-color:#4ade80}.quest-gate--in_progress{background:linear-gradient(90deg,#eef2ff,#fff);border-color:#6366f1}.quest-gate--locked{border-color:#94a3b8;opacity:.55}.quest-gate__connector{background:#c7d2fe;border-radius:1px;height:.75rem;left:2.5rem;position:absolute;top:-.75rem;width:2px}.quest-gate--completed+.quest-gate .quest-gate__connector{background:#86efac}.quest-gate__icon{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;flex-shrink:0;font-size:1.5rem;height:3.5rem;justify-content:center;width:3.5rem}.quest-gate--completed .quest-gate__icon{background:#dcfce7}.quest-gate--in_progress .quest-gate__icon{background:#eef2ff}.quest-gate--locked .quest-gate__icon{background:#f1f5f9}.quest-gate__content{flex:1 1;min-width:0}.quest-gate__name{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 .125rem}.quest-gate__name-en{color:#94a3b8;display:block;font-size:.8rem;font-weight:400}.quest-gate__description{color:#64748b;font-size:.85rem;margin:.5rem 0}.quest-gate__meta{display:flex;gap:1rem;margin-top:.5rem}.quest-gate__cost,.quest-gate__reward{align-items:center;color:#64748b;display:flex;font-size:.8rem;gap:.25rem}.quest-gate__score{border-radius:9999px;display:inline-block;font-size:.85rem;font-weight:600;margin-top:.5rem;padding:.25rem .75rem}.quest-gate__score--pass{background:#dcfce7;color:#16a34a}.quest-gate__score--fail{background:#fef2f2;color:#dc2626}.quest-gate__best-score{color:#94a3b8;font-size:.75rem;font-weight:400;margin-left:.5rem}.quest-gate__action{flex-shrink:0}.quest-gate__play,.quest-gate__view{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.quest-gate__view{background:#f1f5f9;color:#475569}.quest-completion{align-items:center;background:#fff;border:2px solid #c7d2fe;border-radius:20px;box-shadow:0 4px 20px #6366f11a;display:flex;flex-direction:column;margin-top:1.5rem;overflow:hidden;padding:3rem 2rem;position:relative;text-align:center}.quest-completion__trophy{animation:trophy-bounce 1s ease-out;font-size:4rem;margin-bottom:1rem}@keyframes trophy-bounce{0%{opacity:0;transform:scale(0) rotate(-15deg)}50%{transform:scale(1.2) rotate(5deg)}70%{transform:scale(.95) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.quest-completion__title{animation:title-fade-in .6s ease-out .3s both;color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}@keyframes title-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quest-completion__message{animation:title-fade-in .6s ease-out .5s both;color:#64748b;font-size:1rem;margin-bottom:2rem}.quest-completion__actions{align-items:stretch;animation:title-fade-in .6s ease-out .7s both;display:flex;flex-direction:row;gap:1rem;justify-content:center;max-width:400px;width:100%}.quest-completion__diagnostic-btn,.quest-completion__retry-btn,.quest-completion__view-report-btn{border-radius:10px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-width:150px;padding:.875rem 1.5rem;transition:all .15s}.quest-completion__retry-btn{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.quest-completion__retry-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b;transform:translateY(-1px)}.quest-completion__retry-btn:disabled{cursor:not-allowed;opacity:.5}.quest-completion__diagnostic-btn,.quest-completion__view-report-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 4px 12px #6366f140;color:#fff}.quest-completion__diagnostic-btn:hover:not(:disabled),.quest-completion__view-report-btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f159;transform:translateY(-1px)}.quest-completion__diagnostic-btn:disabled{background:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed}.quest-diagnostic-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.quest-diagnostic-modal__overlay{background:#00000080;bottom:0;left:0;position:absolute;right:0;top:0}.quest-diagnostic-modal__content{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;position:relative;width:100%}.quest-diagnostic-modal__close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .15s;width:2rem}.quest-diagnostic-modal__close:hover{background:#e2e8f0;color:#1e293b}.quest-diagnostic__title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.quest-diagnostic__score{margin-bottom:2rem;text-align:center}.quest-diagnostic__score-circle{align-items:center;background:linear-gradient(135deg,#eef2ff,#f3e8ff);border:3px solid #6366f1;border-radius:50%;display:inline-flex;flex-direction:column;height:100px;justify-content:center;width:100px}.quest-diagnostic__score-value{color:#6366f1;font-size:2rem;font-weight:700}.quest-diagnostic__score-label{color:#64748b;font-size:.75rem}.quest-diagnostic__diagnosis h3,.quest-diagnostic__progress h3,.quest-diagnostic__recommendations h3,.quest-diagnostic__weak-points h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 1rem}.quest-diagnostic__bars{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.quest-diagnostic__bar{align-items:center;display:flex;gap:.75rem}.quest-diagnostic__bar-label{color:#64748b;flex-shrink:0;font-size:.85rem;width:70px}.quest-diagnostic__bar-track{background:#f1f5f9;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.quest-diagnostic__bar-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;height:100%;transition:width .5s ease}.quest-diagnostic__bar-value{color:#64748b;font-size:.85rem;text-align:right;width:40px}.quest-diagnostic__diagnosis{margin-bottom:1.5rem}.quest-diagnostic__diagnosis p{color:#475569;line-height:1.6;margin:0}.quest-diagnostic__recommendations,.quest-diagnostic__weak-points{margin-bottom:1.5rem}.quest-diagnostic__recommendations ul,.quest-diagnostic__weak-points ul{list-style:none;margin:0;padding:0}.quest-diagnostic__weak-point{background:#fef2f2;border-left:3px solid #dc2626;border-radius:8px;margin-bottom:.5rem;padding:.75rem 1rem}.quest-diagnostic__weak-point-name{color:#dc2626;display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.quest-diagnostic__weak-point-desc{color:#64748b;display:block;font-size:.85rem}.quest-diagnostic__recommendations li{background:#f0fdf4;border-left:3px solid #16a34a;border-radius:8px;color:#475569;font-size:.9rem;margin-bottom:.5rem;padding:.75rem 1rem}@media (max-width:768px){.quest-page{padding:1rem}.quest-start__title{font-size:1.5rem}.quest-start__summary{flex-direction:column;gap:.75rem}.quest-header{flex-direction:column;gap:1rem}.quest-header__title{font-size:1.25rem}.quest-header__stats{justify-content:space-between;width:100%}.quest-gate{flex-direction:column;padding:1rem;text-align:center}.quest-gate__connector{left:50%;transform:translateX(-50%)}.quest-gate__content{text-align:center}.quest-gate__meta{justify-content:center}.quest-completion__actions{flex-direction:column;max-width:280px}.quest-completion__diagnostic-btn,.quest-completion__retry-btn,.quest-completion__view-report-btn{min-width:0;min-width:auto;width:100%}.quest-completion__trophy{font-size:3rem}.quest-completion__title{font-size:1.5rem}.quest-diagnostic-modal__content{padding:1.5rem 1rem}.quest-diagnostic__bar{flex-wrap:wrap}.quest-diagnostic__bar-label{margin-bottom:.25rem;width:100%}}.word-result{align-items:center;display:inline-flex;flex-direction:column;position:relative}.word-result--correct,.word-result--correct .word-result__user-input{color:#4caf50;font-weight:600}.word-result--incorrect .word-result__user-input{color:#f44336;font-weight:500;text-decoration:line-through}.word-result__hint{align-items:center;color:#4caf50;display:flex;font-size:.85em;font-weight:600;gap:4px;margin-top:2px}.word-result__hint-btn{align-items:center;background:#ffd700cc;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;height:16px;justify-content:center;padding:0;transition:all .2s ease;width:16px}.word-result__hint-btn:hover{background:gold;transform:scale(1.1)}.word-result-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.word-result-modal{animation:modalFadeIn .2s ease;background:#1e2a3a;border:1px solid #2a3a4e;border-radius:16px;max-width:400px;overflow:hidden;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.word-result-modal__header{align-items:center;background:#2a3a4e;border-bottom:1px solid #3a4a5e;display:flex;justify-content:space-between;padding:16px 20px}.word-result-modal__header h3{color:#fff;font-size:1rem;font-weight:600;margin:0}.word-result-modal__close{background:none;border:none;color:#fff9;cursor:pointer;font-size:1.2rem;line-height:1;padding:4px;transition:color .2s}.word-result-modal__close:hover{color:#fff}.word-result-modal__content{padding:20px}.word-result-modal__comparison{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}.word-result-modal__word{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:80px;padding:12px 16px}.word-result-modal__word--user{border:1px solid #f443364d}.word-result-modal__word--correct{border:1px solid #4caf504d}.word-result-modal__label{color:#ffffff80;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.word-result-modal__value{color:#fff;font-size:1.2rem;font-weight:600}.word-result-modal__word--user .word-result-modal__value{color:#f44336}.word-result-modal__word--correct .word-result-modal__value{color:#4caf50}.word-result-modal__form{background:#ffffff1a;border-radius:4px;color:#ffffffb3;font-size:.8rem;padding:2px 8px}.word-result-modal__arrow{color:#fff6;font-size:1.5rem}.word-result-modal__role{align-items:center;display:flex;gap:8px;margin-bottom:16px}.word-result-modal__role-label{color:#fff9;font-size:.85rem}.word-result-modal__role-badge{border-radius:12px;color:#fff;font-size:.85rem;font-weight:500;padding:4px 12px}.word-result-modal__explanation{background:#ffd7001a;border-left:3px solid gold;border-radius:8px;color:#ffffffd9;font-size:.95rem;line-height:1.5;padding:16px}.word-result-modal__definition{border-top:1px solid #ffffff1a;color:#ffffffb3;margin-top:12px;padding-top:12px}.word-result-modal__definition-only{display:flex;flex-direction:column;gap:8px}.word-result-modal__definition-label{color:#fff9;font-size:.85rem}.word-result-modal__definition-text{color:#fff;font-size:1.1rem;font-weight:500}.gate-question{display:flex;flex-direction:column;gap:24px}.gate-question__card{background:#1e2a3a;border:1px solid #2a3a4e;border-radius:16px;overflow:hidden}.gate-question__header{background:#243040;border-bottom:1px solid #2a3a4e;padding:12px 20px}.gate-question__type{color:gold;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gate-question__content{padding:24px}.gate-question__translation{border-top:1px solid #2a3a4e;color:#ffffff8c;font-size:.95rem;letter-spacing:.02em;margin-top:16px;padding-top:16px}.gate-submit-btn{background:linear-gradient(135deg,gold,#fa0);border:none;border-radius:12px;color:#1a1a2e;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 32px;transition:all .3s ease;width:100%}.gate-submit-btn:hover:not(:disabled){box-shadow:0 4px 20px #ffd7004d;transform:translateY(-2px)}.gate-submit-btn:disabled{background:#fff3;color:#ffffff80;cursor:not-allowed}.gate-feedback{border:2px solid;border-radius:16px;padding:24px}.gate-feedback.pass{background:#4caf501a;border-color:#4caf504d}.gate-feedback.fail{background:#ff98001a;border-color:#ff98004d}.gate-feedback__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.gate-feedback__status{font-size:1.1rem;font-weight:600}.gate-feedback.pass .gate-feedback__status{color:#4caf50}.gate-feedback.fail .gate-feedback__status{color:#ff9800}.gate-feedback__score{color:#fff;font-size:1.5rem;font-weight:700}.gate-feedback__text{color:#ffffffe6;line-height:1.6;margin-bottom:16px}.gate-feedback__issues,.gate-feedback__suggestions{border-top:1px solid #2a3a4e;margin-top:16px;padding-top:16px}.gate-feedback__issues-label,.gate-feedback__suggestions-label{color:#ffffffb3;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.gate-feedback__issues ul,.gate-feedback__suggestions ul{color:#fffc;margin:0;padding-left:20px}.gate-feedback__issues li,.gate-feedback__suggestions li{margin-bottom:16px}.gate-feedback__item{align-items:flex-start;display:flex;gap:8px}.gate-feedback__item-text{flex:1 1;min-width:0}.gate-feedback__item-save-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:24px;justify-content:center;line-height:1;margin-top:2px;padding:0;transition:all .2s ease;width:24px}.gate-feedback__item-save-btn:hover:not(:disabled){background:#ffd70033;border-color:#ffd70080;color:gold}.gate-feedback__item-save-btn:active{transform:scale(.9)}.gate-feedback__improved{background:#1e2a3a;border-radius:8px;margin-top:16px;padding:16px}.gate-feedback__improved-label{color:#4caf50;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.gate-feedback__improved-text{color:#ffffffe6;line-height:1.6}.cloze-sentence{color:#fff;font-size:1.3rem;line-height:1.8;margin:0}.cloze-blank{border-radius:4px;display:inline-block;margin:0 4px;min-width:100px;padding:4px 16px;text-align:center}.cloze-blank--pending{background:#ffd70033}.cloze-blank--correct{background:#4caf504d;border:2px solid #4caf50}.cloze-blank--incorrect{background:#f443364d;border:2px solid #f44336}.cloze-blank__placeholder{color:#fff6}.cloze-blank__answer{font-weight:600}.cloze-blank__answer.correct{color:#4caf50}.cloze-blank__answer.incorrect{color:#ff6b6b;text-decoration:line-through}.cloze-blank__result{align-items:center;display:flex;flex-direction:column;gap:4px}.cloze-blank__correct-answer{background:#4caf501a;border-radius:4px;color:#4caf50;font-size:.85rem;margin-top:4px;padding:4px 12px}.cloze-blank__correct-answer strong{font-weight:700}.cloze-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding:0 24px 24px}.cloze-option{background:#243040;border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:all .2s ease}.cloze-option:hover{background:#ffffff26}.cloze-option.selected{background:#ffd70033;border-color:gold}.cloze-input-container{padding:0 24px 24px}.cloze-input{background:#243040;border:2px solid #3a4a5e;border-radius:8px;color:#fff;font-size:1.1rem;padding:16px;transition:border-color .2s;width:100%}.cloze-input:focus{border-color:gold;outline:none}.cloze-hint{color:#ffffff80;font-size:.9rem;margin-top:8px}.combine-instruction{color:#fffc;font-size:1rem;margin:0 0 20px}.combine-relationship{align-items:center;display:flex;gap:8px;margin-bottom:16px}.combine-relationship__label{color:#fff9;font-size:.9rem}.combine-relationship__value{background:#ffd70033;border-radius:20px;color:gold;font-size:.9rem;padding:4px 12px}.combine-sentences{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.combine-sentence{align-items:flex-start;background:#1e2a3a;border-radius:8px;display:flex;gap:12px;padding:16px}.combine-sentence__number{align-items:center;background:#ffd70033;border-radius:50%;color:gold;display:flex;flex-shrink:0;font-weight:600;height:28px;justify-content:center;width:28px}.combine-sentence__text{color:#fff;font-size:1.1rem;line-height:1.5}.combine-connectors{margin-bottom:16px}.combine-connectors__label{color:#fff9;font-size:.9rem;margin-right:8px}.combine-connectors__list{display:inline-flex;flex-wrap:wrap;gap:8px}.combine-connector{background:#4caf5033;border-radius:4px;color:#4caf50;font-size:.9rem;padding:4px 12px}.combine-input-container{padding:0 24px 24px}.combine-input{background:#243040;border:2px solid #3a4a5e;border-radius:8px;color:#fff;font-family:inherit;font-size:1.1rem;line-height:1.6;padding:16px;resize:vertical;width:100%}.combine-input:focus{border-color:gold;outline:none}.combine-input-hint{color:#ffffff80;font-size:.85rem;margin-top:8px}.combine-submitted{padding:0 24px 24px}.combine-submitted__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.combine-submitted__text{background:#1e2a3a;border-radius:8px;color:#fff;line-height:1.6;padding:16px}.expansion-instruction{color:#fffc;font-size:1rem;margin:0 0 20px}.expansion-seed{margin-bottom:20px}.expansion-seed__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.expansion-seed__text{background:#ffd7001a;border-left:4px solid gold;border-radius:8px;color:gold;font-size:1.3rem;margin:0;padding:16px}.expansion-theme{margin-bottom:16px}.expansion-theme__label{color:#fff9;font-size:.9rem;margin-right:8px}.expansion-theme__text{color:#fffc}.expansion-vocab{margin-bottom:16px}.expansion-vocab__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.expansion-vocab__list{display:flex;flex-wrap:wrap;gap:8px}.expansion-vocab__word{background:#243040;border:2px solid #3a4a5e;border-radius:20px;color:#ffffffb3;font-size:.95rem;padding:6px 14px;transition:all .2s ease}.expansion-vocab__word.used{background:#4caf5033;border-color:#4caf50;color:#4caf50}.expansion-vocab__check{margin-left:4px}.expansion-requirements{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.expansion-requirement{color:#fff9;font-size:.9rem}.expansion-requirement.met{color:#4caf50}.expansion-requirement__current{margin-left:4px;opacity:.7}.expansion-input-container{padding:0 24px 24px}.expansion-input{background:#243040;border:2px solid #3a4a5e;border-radius:8px;color:#fff;font-family:inherit;font-size:1.1rem;line-height:1.6;padding:16px;resize:vertical;width:100%}.expansion-input:focus{border-color:gold;outline:none}.expansion-input-stats{display:flex;gap:16px;margin-top:8px}.expansion-input-stat{color:#ffffff80;font-size:.85rem}.expansion-submitted{padding:0 24px 24px}.expansion-submitted__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.expansion-submitted__text{background:#1e2a3a;border-radius:8px;color:#fff;line-height:1.6;padding:16px;white-space:pre-wrap}.essay-topic{margin-bottom:20px}.essay-topic__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.essay-topic__text{color:gold;font-size:1.5rem;margin:0}.essay-instructions{background:#1e2a3a;border-radius:8px;margin-bottom:20px;padding:16px}.essay-instructions p{color:#fffc;line-height:1.6;margin:0}.essay-keypoints{margin-bottom:20px}.essay-keypoints__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.essay-keypoints__list{color:#fffc;margin:0;padding-left:20px}.essay-keypoints__list li{margin-bottom:4px}.essay-limit{background:#ffd7001a;border-radius:8px;display:inline-block;margin-bottom:16px;padding:12px 16px}.essay-limit__label{color:#fff9;font-size:.9rem;margin-right:8px}.essay-limit__value{color:gold;font-weight:600}.essay-input-container{padding:0 24px 24px}.essay-input{background:#243040;border:2px solid #3a4a5e;border-radius:8px;color:#fff;font-family:inherit;font-size:1.05rem;line-height:1.8;min-height:200px;padding:16px;resize:vertical;width:100%}.essay-input:focus{border-color:gold;outline:none}.essay-input-stats{margin-top:8px;text-align:right}.essay-word-count{color:#ffffff80;font-size:.9rem}.essay-word-count.ok{color:#4caf50}.essay-word-count.too-short{color:#ff9800}.essay-word-count.too-long{color:#ff6b6b}.essay-word-hint{opacity:.8}.essay-submitted{padding:0 24px 24px}.essay-submitted__label{color:#fff9;display:block;font-size:.9rem;margin-bottom:8px}.essay-submitted__text{background:#1e2a3a;border-radius:8px;color:#fff;line-height:1.8;max-height:300px;overflow-y:auto;padding:20px;white-space:pre-wrap}.essay-submitted__wordcount{color:#ffffff80;display:block;font-size:.85rem;margin-top:8px;text-align:right}.essay-improved{max-height:300px;overflow-y:auto}.gate-feedback__save-note-btn{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;color:#475569;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:4px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.gate-feedback__save-note-btn:hover{background:#e2e8f0;border-color:#6366f1;color:#4f46e5}@media (max-width:768px){.gate-question__content{padding:16px}.cloze-sentence{font-size:1.1rem}.cloze-input-container,.cloze-options,.combine-input-container,.essay-input-container,.expansion-input-container{padding:0 16px 16px}.expansion-seed__text{font-size:1.1rem}.essay-topic__text{font-size:1.2rem}}.gate-question__card.has-result{position:relative}.cloze-stamp{align-items:center;animation:stampIn .3s ease-out;border:3px solid;border-radius:50%;bottom:16px;box-shadow:0 4px 12px #0000004d;display:flex;font-size:1.8rem;font-weight:700;height:56px;justify-content:center;position:absolute;right:16px;width:56px}@keyframes stampIn{0%{opacity:0;transform:scale(1.5)}50%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cloze-stamp--correct{background:#4caf5033;border-color:#4caf50;color:#4caf50}.cloze-stamp--incorrect{background:#f4433633;border-color:#f44336;color:#f44336}.cloze-note{background:#ffd70026;border-radius:8px;color:#ffffffb3;font-size:.9rem;padding:8px 16px;text-align:center}.gate-feedback--compact{padding:20px}.gate-feedback__vocab-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.vocab-progress-badge{background:#6366f133;color:#a5b4fc}.new-words-badge,.vocab-progress-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:.85rem;font-weight:600;gap:4px;padding:6px 12px}.new-words-badge{background:#10b98133;color:#6ee7b7}.gate-feedback__btn-row{display:flex;gap:10px;margin:16px 0}.gate-feedback__view-details-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 20px;transition:all .2s ease}.gate-feedback__view-details-btn:hover{box-shadow:0 4px 15px #6366f14d;transform:translateY(-1px)}.gate-feedback__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.action-badge{align-items:center;background:#ffffff1a;border-radius:12px;color:#ffffffb3;display:inline-flex;font-size:.8rem;padding:4px 10px}@media (max-width:480px){.gate-feedback__vocab-summary{align-items:flex-start;flex-direction:column}.gate-feedback__view-details-btn{font-size:.95rem;padding:10px 16px}}.feedback-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.feedback-modal{animation:slideUp .3s ease-out;background:#1a1a2e;background:var(--color-bg,#1a1a2e);border-radius:16px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:80vh;max-width:500px;position:relative;width:90%}.feedback-progress{background:#333;background:var(--color-border,#333);border-radius:16px 16px 0 0;height:4px;overflow:hidden;position:relative}.feedback-progress-bar{background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;transition:width .3s ease}.feedback-progress-text{color:#888;color:var(--color-text-secondary,#888);font-size:.75rem;position:absolute;right:12px;top:8px}.feedback-modal-content{flex:1 1;min-height:300px;overflow-y:auto;padding:40px 24px}.feedback-close-btn,.feedback-modal-content{align-items:center;display:flex;justify-content:center}.feedback-close-btn{background:#374151;border:none;border-radius:50%;color:#f1f5f9;cursor:pointer;font-size:1.25rem;height:32px;position:absolute;right:12px;top:12px;transition:background .2s;width:32px}.feedback-close-btn:hover{background:#4b5563}.feedback-navigation{border-top:1px solid #333;border-top:1px solid var(--color-border,#333);display:flex;gap:12px;padding:16px 24px 24px}.nav-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:12px 20px;transition:all .2s}.nav-btn--prev{background:#374151;color:#f1f5f9}.nav-btn--prev:hover:not(:disabled){background:#4b5563}.nav-btn--prev:disabled{cursor:not-allowed;opacity:.4}.nav-btn--next{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.nav-btn--next:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.feedback-item{animation:itemFadeIn .4s ease-out;text-align:center;width:100%}@keyframes itemFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.feedback-label{color:#888;color:var(--color-text-secondary,#888);font-size:.85rem;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.feedback-icon{font-size:2.5rem;margin-bottom:16px}.feedback-content{color:#fff;color:var(--color-text,#fff);font-size:1.1rem;line-height:1.6}.save-note-btn{align-items:center;background:#4f46e51a;border:1px solid #4f46e5;border-radius:8px;color:#a5b4fc;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;margin-top:16px;padding:10px 20px;transition:all .2s}.save-note-btn:hover{background:#4f46e533;border-color:#6366f1;color:#c7d2fe}.feedback-item--score,.score-circle{align-items:center;display:flex;flex-direction:column}.score-circle{animation:scoreAppear .5s ease-out;border:4px solid;border-radius:50%;height:150px;justify-content:center;width:150px}@keyframes scoreAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.score-circle.passed{background:#10b9811a;border-color:#10b981}.score-circle.failed{background:#f59e0b1a;border-color:#f59e0b}.score-value{font-size:2.5rem;font-weight:700}.score-circle.passed .score-value{color:#10b981}.score-circle.failed .score-value{color:#f59e0b}.score-label{color:#888;color:var(--color-text-secondary,#888);font-size:.9rem;margin-top:4px}.feedback-item--grammar .feedback-content{background:#ef44441a;border-left:3px solid #ef4444;border-radius:8px;padding:16px;text-align:left}.grammar-parsed{background:#0000!important;border-left:none!important;display:flex;flex-direction:column;gap:8px;padding:0!important;width:100%}.grammar-wrong{align-items:flex-start;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;display:flex;font-size:1.1rem;gap:8px;padding:12px 16px;text-decoration:line-through;-webkit-text-decoration-color:#ef4444;text-decoration-color:#ef4444}.grammar-arrow{color:#9ca3af;font-size:1.2rem;text-align:center}.grammar-correct{align-items:flex-start;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#6ee7b7;display:flex;font-size:1.1rem;gap:8px;padding:12px 16px}.grammar-tag{border-radius:4px;flex-shrink:0;font-size:.75rem;font-weight:700;margin-top:2px;padding:2px 6px}.grammar-tag--wrong{background:#ef444433;color:#ef4444}.grammar-tag--correct{background:#10b98133;color:#10b981}.grammar-explanation{background:#94a3b81a;border-radius:8px;color:#cbd5e1}.grammar-example,.grammar-explanation{font-size:.9rem;line-height:1.5;padding:10px 16px;text-align:left}.grammar-example{background:#6366f114;border:1px solid #6366f133;border-radius:8px;color:#a5b4fc;font-style:italic}.grammar-example-label{color:#818cf8;font-style:normal;font-weight:600;margin-right:4px}.feedback-item--suggestion .feedback-content{background:#3b82f61a;border-left:3px solid #3b82f6;border-radius:8px;padding:16px;text-align:left}.feedback-item--improved .improved-text{background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;font-style:italic;padding:20px;text-align:left}.familiarity-card{background:#252540;background:var(--color-bg-secondary,#252540);border-radius:12px;padding:24px;width:100%}.familiarity-word{color:#fff;color:var(--color-text,#fff);font-size:1.5rem;font-weight:700}.familiarity-change-display,.familiarity-word{margin-bottom:16px}.familiarity-bar-container{background:#333;background:var(--color-border,#333);border-radius:6px;height:12px;margin-bottom:8px;overflow:hidden;position:relative}.familiarity-bar{border-radius:6px;height:100%;left:0;position:absolute;top:0}.familiarity-bar--previous{background:#4b5563}.familiarity-bar--new{background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .8s ease-out}.familiarity-bar--new.animating{animation:barGrow .8s ease-out}@keyframes barGrow{0%{width:0}}.familiarity-values{align-items:center;display:flex;font-size:1.1rem;gap:12px;justify-content:center}.familiarity-previous{color:#6b7280}.familiarity-arrow{color:#9ca3af}.familiarity-new{color:#8b5cf6;font-weight:600}.familiarity-delta{border-radius:12px;font-size:.85rem;font-weight:600;padding:2px 8px}.familiarity-delta.positive{background:#10b98133;color:#10b981}.familiarity-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:12px;padding:4px 12px;text-transform:uppercase}.familiarity-badge.new-word{background:#6366f133;color:#6366f1}.familiarity-encouragement{background:#facc151a;border-radius:8px;color:#fbbf24;font-size:.9rem;margin-bottom:12px;padding:12px}.familiarity-reason{color:#888;color:var(--color-text-secondary,#888);font-size:.85rem}.feedback-item--strengths{align-items:center}.feedback-item--strengths,.strengths-list{display:flex;flex-direction:column;width:100%}.strengths-list{gap:8px;list-style:none;margin:0;padding:0}.strengths-list li{background:#10b9811a;border:1px solid #10b98140;border-radius:8px;color:#6ee7b7;font-size:.95rem;line-height:1.5;padding:10px 16px;text-align:left}.strengths-list li:before{color:#10b981;content:"✓ ";font-weight:700}.feedback-item--ai-encouragement{align-items:center;display:flex;flex-direction:column}.ai-encouragement-content{background:#facc1514;border:1px solid #facc1533;border-radius:12px;color:#fbbf24;font-size:1.15rem;font-weight:500;line-height:1.6;padding:16px 20px;text-align:center}.feedback-item--encouragement{align-items:center;display:flex;flex-direction:column}.encouragement-icon{animation:starPulse 1s infinite;font-size:4rem;margin-bottom:16px}@keyframes starPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.encouragement-content{color:#fff;color:var(--color-text,#fff);font-size:1.3rem;font-weight:600;margin-bottom:16px}.total-gain{background:#10b9811a;border-radius:20px;color:#10b981;font-size:1rem;padding:8px 16px}@media (max-width:480px){.feedback-modal{border-radius:12px;max-height:90vh;width:95%}.feedback-modal-content{min-height:250px;padding:30px 16px}.score-circle{height:120px;width:120px}.score-value{font-size:2rem}.feedback-navigation{padding:12px 16px 20px}.nav-btn{font-size:.9rem;padding:10px 16px}}.gate-page{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460)!important;color:#fff;display:flex;flex-direction:column;min-height:100vh}.gate-spacer{flex:1 1}.gate-page--complete,.gate-page--error,.gate-page--loading{align-items:center;justify-content:center;padding:40px}.gate-loading{color:#fff;text-align:center}.gate-loading__spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:gold;height:48px;margin:0 auto 16px;width:48px}.gate-error{color:#fff;max-width:400px;text-align:center}.gate-error h3{color:#ff6b6b;margin-bottom:16px}.gate-error__back,.gate-error__retry{border:none;border-radius:8px;cursor:pointer;font-weight:600;margin:8px;padding:12px 24px}.gate-error__retry{background:gold;color:#1a1a2e}.gate-error__back{background:#ffffff1a;color:#fff}.gate-complete{background:#1e2a3a;border:2px solid #ffd7004d;border-radius:24px;max-width:400px;padding:40px;text-align:center}.gate-complete__icon{font-size:4rem;margin-bottom:16px}.gate-complete__title{color:gold;font-size:1.8rem;font-weight:700;margin:0 0 16px}.gate-complete__score{margin-bottom:16px}.gate-complete__score-value{font-size:3rem;font-weight:700}.gate-complete__score-value.pass{color:#4caf50}.gate-complete__score-value.fail{color:#ff6b6b}.gate-complete__rewards{margin-bottom:16px}.gate-complete__xp{background:linear-gradient(135deg,#ffd70033,#ffaa001a);border-radius:20px;color:gold;display:inline-block;font-weight:600;padding:8px 20px}.gate-complete__message{color:#fffc;line-height:1.6;margin-bottom:24px}.gate-complete__btn{background:linear-gradient(135deg,gold,#fa0);border:none;border-radius:12px;color:#1a1a2e;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 32px;transition:all .3s ease}.gate-complete__btn:hover{box-shadow:0 4px 20px #ffd7004d;transform:translateY(-2px)}.gate-header{align-items:center;background:#0000004d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 24px}.gate-header__back{background:none;border:none;border-radius:8px;color:#fffc;cursor:pointer;font-size:.95rem;padding:8px 16px;transition:background .2s}.gate-header__back:hover{background:#ffffff1a}.gate-header__info{align-items:center;display:flex;gap:8px}.gate-header__icon{font-size:1.5rem}.gate-header__name{color:gold;font-size:1.2rem;font-weight:600}.gate-header__progress{background:#ffffff1a;border-radius:20px;color:#fff;font-size:.9rem;padding:8px 16px}.gate-progress-bar{background:#ffffff1a;height:4px}.gate-progress-bar__fill{background:linear-gradient(90deg,gold,#fa0);height:100%;transition:width .3s ease}.gate-content{background:#0000;color:#fff;display:flex;flex-direction:column;margin:0 auto;max-width:800px;padding:24px;width:100%}.gate-footer{background:#00000080;border-top:1px solid #ffffff26;padding:16px 24px}.gate-footer,.gate-inline-result{align-items:center;display:flex;justify-content:space-between}.gate-inline-result{background:#0006;border-radius:12px;gap:16px;margin-top:24px;padding:20px 24px}.gate-result-summary{align-items:center;display:flex;gap:12px}.gate-result-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:6px 16px}.gate-result-badge.pass{background:#4caf504d;color:#4caf50}.gate-result-badge.fail{background:#ff980066;border:1px solid #ff980080;color:#ffb74d}.gate-result-score{color:#fff;font-size:1.2rem;font-weight:700;text-shadow:0 1px 2px #0000004d}.gate-next-btn{background:linear-gradient(135deg,gold,#fa0);border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 32px;transition:all .3s ease}.gate-next-btn:hover{box-shadow:0 4px 15px #ffd7004d;transform:translateY(-2px)}.gate-header__review-badge{background:#ff980033;border-radius:12px;color:#ff9800;font-size:.85rem;font-weight:600;padding:6px 12px}.gate-page--review .gate-content{padding:24px}.gate-review{margin:0 auto;max-width:800px}.gate-review-header{align-items:center;background:#0003;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.gate-review-header__badge{background:#ff980033;border-radius:20px;color:#ff9800;font-size:.9rem;font-weight:600;padding:6px 16px}.gate-review-header__score{font-size:2rem;font-weight:700}.gate-review-header__score.pass{color:#4caf50}.gate-review-header__score.fail{color:#ff6b6b}.gate-review-items{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.gate-review-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.gate-review-item__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.gate-review-item__number{color:#fffc;font-weight:600}.gate-review-item__status{font-size:1.2rem;font-weight:700}.gate-review-item__status.correct{color:#4caf50}.gate-review-item__status.incorrect{color:#ff6b6b}.gate-review-item__question{background:#0003;border-radius:8px;color:#ffffffe6;line-height:1.6;margin-bottom:16px;padding:12px 16px}.gate-review-item__seed,.gate-review-item__sentence,.gate-review-item__topic{margin:0}.gate-review-item__sentences p{margin:4px 0}.gate-review-item__answer,.gate-review-item__correct{margin-top:12px}.gate-review-item__label{color:#fff9;display:block;font-size:.85rem;margin-bottom:6px}.gate-review-item__user-answer{border-radius:8px;line-height:1.6;margin:0;padding:12px 16px}.gate-review-item__user-answer.correct{background:#4caf5026;border:1px solid #4caf504d}.gate-review-item__user-answer.incorrect{background:#ff6b6b26;border:1px solid #ff6b6b4d}.gate-review-item__user-answer em{color:#fff6}.gate-review-item__correct-value{background:#4caf5026;border:1px solid #4caf504d;border-radius:8px;color:#4caf50;margin:0;padding:12px 16px}.gate-review-feedback{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:24px;padding:20px}.gate-review-feedback__title{color:gold;font-size:1.1rem;margin:0 0 16px}.gate-review-feedback__section{margin-bottom:16px}.gate-review-feedback__label{color:#fffc;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.gate-review-feedback__list{color:#ffffffd9;margin:0;padding-left:20px}.gate-review-feedback__list li{line-height:1.5;margin-bottom:6px}.gate-review-feedback__list--improve li{color:#ff9800}.gate-review-feedback__encouragement{background:#ffd7001a;border-radius:8px;color:#ffffffe6;line-height:1.5;margin:16px 0 0;padding:12px 16px}.gate-review-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.gate-review-actions__retry{background:linear-gradient(135deg,gold,#fa0);border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 32px;transition:all .3s ease}.gate-review-actions__retry:hover:not(:disabled){box-shadow:0 4px 15px #ffd7004d;transform:translateY(-2px)}.gate-review-actions__retry:disabled{cursor:not-allowed;opacity:.6}.gate-review-actions__back{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 32px;transition:all .3s ease}.gate-review-actions__back:hover{background:#ffffff26}@media (max-width:768px){.gate-header{flex-wrap:wrap;gap:12px}.gate-header__info{justify-content:center;order:-1;width:100%}.gate-content{padding:16px}.gate-footer,.gate-inline-result{flex-direction:column;gap:16px}.gate-next-btn{width:100%}.gate-review-actions{flex-direction:column}.gate-review-actions__back,.gate-review-actions__retry{width:100%}}.quest-header__left{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem}.quest-header__daily-badge{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:9999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .75rem}.quest-header__daily-badge:before{content:"✨";font-size:.875rem}.quest-start__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.quest-header__history{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .15s,color .15s;white-space:nowrap}.quest-header__history:hover{background:#e2e8f0;color:#1e293b}.quest-header__subtitle{color:#64748b;font-size:.875rem;font-weight:400;margin:.25rem 0 0}.standalone-quest__history-link{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .15s,color .15s;white-space:nowrap}.standalone-quest__history-link:hover{background:#e2e8f0;color:#1e293b}.standalone-quest__error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.standalone-quest__error p{margin:0}.standalone-quest__error button{background:#0000;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;font-weight:500;padding:.25rem .5rem}.standalone-quest__error button:hover{opacity:.7}.streak-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fde68a;border-radius:12px;display:flex;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem}.streak-banner__fire{animation:sq-pulse 1.5s ease-in-out infinite;font-size:1.5rem}@keyframes sq-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.streak-banner__count{color:#b45309;font-size:1rem;font-weight:600}.streak-banner__multiplier{background:#b453091a;border-radius:9999px;color:#b45309;font-size:.8rem;font-weight:600;margin-left:auto;padding:.25rem .75rem}.standalone-quest__cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.sq-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;gap:1rem;padding:1.25rem;transition:all .2s}.sq-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #6366f11a}.sq-card__icon{flex-shrink:0;font-size:2rem}.sq-card__body{flex:1 1;min-width:0}.sq-card__title{color:#94a3b8;font-size:.8rem;font-weight:500;letter-spacing:.025em;margin:0 0 .375rem;text-transform:uppercase}.sq-card__value{color:#1e293b;font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.sq-card__sub{color:#64748b;font-size:.8rem}.sq-card__milestone{color:#8b5cf6;font-size:.75rem;margin-top:.375rem}.sq-card__bonus{color:#16a34a;font-size:.8rem;font-weight:600;margin-top:.25rem}.standalone-quest__source-section{margin-bottom:1.5rem}.standalone-quest__section-title{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.standalone-quest__not-enough{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.standalone-quest__not-enough p{color:#b45309;font-size:.875rem;margin:0}.sq-source-list{display:flex;flex-direction:column;gap:.5rem}.sq-source{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .15s}.sq-source:hover{background:#f8fafc;border-color:#c7d2fe}.sq-source--selected{background:#eef2ff;border-color:#6366f1}.sq-source--disabled{cursor:not-allowed;opacity:.5}.sq-source input[type=radio]{accent-color:#6366f1;flex-shrink:0;margin-top:3px}.sq-source__content{flex:1 1;min-width:0}.sq-source__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.sq-source__name{color:#1e293b;font-weight:600}.sq-source__count{background:#f1f5f9;border-radius:9999px;color:#64748b;font-size:.75rem;font-weight:500;padding:.125rem .5rem}.sq-source__desc{color:#64748b;font-size:.8rem}.sq-source__badge{background:#dcfce7;border-radius:9999px;color:#16a34a;display:inline-block;font-size:.7rem;font-weight:600;margin-top:.375rem;padding:.125rem .5rem}.sq-source__course-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;margin-top:.625rem;padding:.625rem .75rem;width:100%}.sq-source__course-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}@media (max-width:768px){.quest-header__left{width:100%}.standalone-quest__cards{grid-template-columns:1fr}.sq-card{padding:1rem}.quest-start__header{flex-direction:column;gap:1rem}.standalone-quest__history-link{align-self:flex-start}}.quest-history-page{margin:0 auto;max-width:800px;min-height:100vh;padding:1.5rem 1rem 3rem}.quest-history-page .page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.quest-history-page .page-header h1{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.quest-history-page .subtitle{color:#64748b;font-size:.9rem;margin:0}.quest-history-page .back-btn{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .15s,color .15s;white-space:nowrap}.quest-history-page .back-btn:hover{background:#e2e8f0;color:#1e293b}.quest-history-page .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.quest-history-page .error-banner button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;padding:0 .25rem}.quest-history-page .filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.quest-history-page .filter-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.quest-history-page .filter-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.quest-history-page .filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.quest-history-page .empty-state{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:16px;padding:3rem 2rem;text-align:center}.quest-history-page .empty-state .empty-icon{font-size:3rem;margin-bottom:1rem}.quest-history-page .empty-state h3{color:#1e293b;font-size:1.125rem;margin:0 0 .5rem}.quest-history-page .empty-state p{color:#64748b;font-size:.9rem;margin:0 0 1.5rem}.quest-history-page .start-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:.625rem 1.5rem;text-decoration:none;transition:transform .15s,box-shadow .15s}.quest-history-page .start-btn:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.quest-history-page .sessions-list{display:flex;flex-direction:column;gap:1rem}.quest-history-page .session-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:inherit;cursor:pointer;display:block;padding:1.25rem;text-decoration:none;transition:all .2s}.quest-history-page .session-card:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #6366f11a;transform:translateY(-2px)}.quest-history-page .session-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.quest-history-page .session-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.75rem;min-width:0}.quest-history-page .course-title{color:#1e293b;font-size:1.125rem;font-weight:600;line-height:1.3;margin:0}.quest-history-page .cefr-badge{font-weight:700;letter-spacing:.025em}.quest-history-page .cefr-badge,.quest-history-page .personal-badge{border-radius:6px;display:inline-block;flex-shrink:0;font-size:.75rem;padding:.25rem .625rem}.quest-history-page .personal-badge{background:#f3e8ff;color:#7c3aed;font-weight:600}.quest-history-page .session-meta-top{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem}.quest-history-page .session-date{color:#94a3b8;font-size:.8rem}.quest-history-page .gates-completed{background:#f1f5f9;border-radius:4px;color:#64748b;font-size:.75rem;padding:.125rem .5rem}.quest-history-page .gate-scores-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.quest-history-page .gate-score-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .5rem;text-align:center;transition:all .15s}.quest-history-page .gate-score-card.completed{background:#fff}.quest-history-page .gate-score-card.incomplete{background:#f8fafc;opacity:.7}.quest-history-page .gate-score-card.excellent{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#86efac}.quest-history-page .gate-score-card.good{background:linear-gradient(180deg,#fefce8,#fff);border-color:#fde047}.quest-history-page .gate-score-card.needs-work{background:linear-gradient(180deg,#fef2f2,#fff);border-color:#fca5a5}.quest-history-page .gate-label{color:#64748b;font-size:.8rem;font-weight:600;margin-bottom:.375rem;white-space:nowrap}.quest-history-page .gate-score-value{line-height:1}.quest-history-page .score-number{color:#1e293b;font-size:1.5rem;font-weight:700}.quest-history-page .gate-score-card.excellent .score-number{color:#16a34a}.quest-history-page .gate-score-card.good .score-number{color:#ca8a04}.quest-history-page .gate-score-card.needs-work .score-number{color:#dc2626}.quest-history-page .no-score{color:#cbd5e1;font-size:1.25rem;font-weight:500}.quest-history-page .session-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:.75rem}.quest-history-page .avg-score-section{align-items:center;display:flex;gap:.5rem}.quest-history-page .avg-label{color:#94a3b8;font-size:.8rem}.quest-history-page .avg-value{font-size:1.125rem;font-weight:700}.quest-history-page .avg-value.excellent{color:#16a34a}.quest-history-page .avg-value.good{color:#ca8a04}.quest-history-page .avg-value.needs-work{color:#dc2626}.quest-history-page .xp-section{align-items:center;display:flex}.quest-history-page .xp-value{background:#f3e8ff;border-radius:9999px;color:#8b5cf6;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.quest-history-page .pagination{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.quest-history-page .pagination button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.quest-history-page .pagination button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.quest-history-page .pagination button:disabled{cursor:not-allowed;opacity:.4}.quest-history-page .page-info{color:#64748b;font-size:.875rem}.quest-history-page .loading-container{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:300px}.quest-history-page .loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:1rem;width:40px}@media (max-width:600px){.quest-history-page{padding:1rem}.quest-history-page .page-header{flex-direction:column;gap:1rem}.quest-history-page .page-header h1{font-size:1.25rem}.quest-history-page .back-btn{align-self:flex-start}.quest-history-page .session-header{flex-direction:column;gap:.5rem}.quest-history-page .session-meta-top{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.quest-history-page .gate-scores-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.quest-history-page .gate-score-card{padding:.625rem .375rem}.quest-history-page .gate-label{font-size:.75rem}.quest-history-page .score-number{font-size:1.25rem}}.quest-history-detail{margin:0 auto;max-width:800px;padding:2rem 1rem}.quest-history-detail .page-header{margin-bottom:1.5rem}.quest-history-detail .back-link{color:#6366f1;font-size:.85rem;text-decoration:none}.quest-history-detail .page-header h1{font-size:1.5rem;margin:.25rem 0 0}.quest-history-detail .session-summary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem}.quest-history-detail .summary-score{font-size:3rem;font-weight:700;min-width:80px;text-align:center}.quest-history-detail .summary-info p{color:#666;font-size:.9rem;margin:.15rem 0}.quest-history-detail .session-type-label{color:#333!important;font-weight:600}.quest-history-detail .gate-result{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:1rem;overflow:hidden}.quest-history-detail .gate-result.passed{border-left:4px solid #16a34a}.quest-history-detail .gate-result.failed{border-left:4px solid #dc2626}.quest-history-detail .gate-result-header{align-items:center;background:#f9fafb;display:flex;gap:.75rem;padding:1rem}.quest-history-detail .gate-icon{font-size:1.2rem}.quest-history-detail .gate-name{flex:1 1;font-weight:600}.quest-history-detail .gate-score{font-size:1.5rem;font-weight:700}.quest-history-detail .gate-status{border-radius:4px;font-size:.75rem;font-weight:700;padding:2px 8px}.quest-history-detail .gate-status.pass{background:#dcfce7;color:#16a34a}.quest-history-detail .gate-status.fail{background:#fef2f2;color:#dc2626}.quest-history-detail .gate-feedback{padding:1rem}.quest-history-detail .feedback-section{margin-bottom:.75rem}.quest-history-detail .feedback-section h4{color:#555;font-size:.85rem;margin:0 0 .25rem}.quest-history-detail .feedback-section ul{margin:0;padding-left:1.25rem}.quest-history-detail .feedback-section li{font-size:.875rem;margin-bottom:.2rem}.quest-history-detail .strengths h4{color:#16a34a}.quest-history-detail .improvements h4{color:#ca8a04}.quest-history-detail .corrected-text{background:#f0fdf4;border-left:3px solid #16a34a;border-radius:6px;font-size:.875rem;line-height:1.5;padding:.75rem}.quest-history-detail .encouragement{color:#6366f1;font-size:.875rem;margin-top:.5rem}.quest-history-detail .no-results{color:#999;padding:2rem;text-align:center}.quest-history-detail .error-container,.quest-history-detail .loading-container{color:#666;padding:4rem 0;text-align:center}.quest-questions-page{margin:0 auto;max-width:900px;padding:2rem 1rem}.quest-questions-page .page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.quest-questions-page .page-header h1{font-size:1.5rem;margin:0 0 .25rem}.quest-questions-page .header-subtitle{color:#666;font-size:.9rem;margin:0}.quest-questions-page .back-btn{background:#f3f4f6;border-radius:6px;color:#333;font-size:.875rem;padding:.5rem 1rem;text-decoration:none;white-space:nowrap}.quest-questions-page .back-btn:hover{background:#e5e7eb}.quest-questions-page .loading-container{color:#666;padding:4rem 0;text-align:center}.quest-questions-page .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.quest-questions-page .error-banner button{background:none;border:none;color:#dc2626;cursor:pointer;font-weight:600}.quest-questions-page .success-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;margin-bottom:1rem;padding:.75rem 1rem}.quest-questions-page .empty-state{background:#f9fafb;border-radius:12px;color:#666;padding:3rem;text-align:center}.quest-questions-page .gate-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.quest-questions-page .gate-header{margin-bottom:1rem}.quest-questions-page .gate-title{align-items:center;display:flex;gap:.5rem}.quest-questions-page .gate-title h2{font-size:1.2rem;margin:0}.quest-questions-page .gate-icon{font-size:1.3rem}.quest-questions-page .edited-badge{background:#fef3c7;border-radius:9999px;color:#92400e;font-size:.75rem;font-weight:500;padding:2px 8px}.quest-questions-page .gate-description{color:#666;font-size:.875rem;margin:.25rem 0}.quest-questions-page .gate-meta{color:#999;display:flex;font-size:.8rem;gap:1rem;margin-top:.25rem}.quest-questions-page .question-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;padding:1rem}.quest-questions-page .question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.quest-questions-page .question-number{color:#6366f1;font-size:.9rem;font-weight:700}.quest-questions-page .question-id{color:#aaa;font-family:monospace;font-size:.75rem}.quest-questions-page .question-field{margin-bottom:.75rem}.quest-questions-page .question-field label{color:#555;display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.quest-questions-page .question-field input,.quest-questions-page .question-field select,.quest-questions-page .question-field textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:.5rem;width:100%}.quest-questions-page .question-field textarea{resize:vertical}.quest-questions-page .question-field-row{display:flex;gap:1rem}.quest-questions-page .question-field-row .question-field{flex:1 1}.quest-questions-page .gate-actions{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem}.quest-questions-page .save-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem}.quest-questions-page .save-btn:disabled{cursor:not-allowed;opacity:.5}.quest-questions-page .save-btn:hover:not(:disabled){background:#4f46e5}.quest-questions-page .regenerate-btn{background:#fff;border:1px solid #6366f1;border-radius:6px;color:#6366f1;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem}.quest-questions-page .regenerate-btn:disabled{cursor:not-allowed;opacity:.5}.quest-questions-page .regenerate-btn:hover:not(:disabled){background:#eef2ff}.progression-page{background:#f8fafc;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px 16px 80px}.progression-toast{animation:slideDown .3s ease-out;border-radius:8px;font-weight:500;left:50%;padding:12px 24px;position:fixed;top:80px;transform:translateX(-50%);z-index:1000}.progression-toast.success{background:#4ade80;color:#000}.progression-toast.error{background:#f87171;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.progression-error,.progression-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.progression-error button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px}.progression-section{margin-bottom:32px}.progression-section h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 12px}.progression-section h3{color:#1e293b;font-size:16px;margin:0 0 16px}.section-subtitle{color:#64748b;font-size:14px;margin:0 0 16px}.level-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:24px;padding:24px}.level-avatar{flex-shrink:0;position:relative}.level-badge{bottom:-8px;position:absolute;right:-8px}.level-info{display:flex;flex:1 1;flex-direction:column;gap:16px}.level-number{align-items:baseline;display:flex;gap:8px}.level-label{color:#64748b;font-size:14px}.level-value{color:#667eea;font-size:48px;font-weight:700;line-height:1}.xp-progress{display:flex;flex-direction:column;gap:8px}.xp-bar{background:#e2e8f0;border-radius:6px;height:12px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;height:100%;transition:width .5s ease-out}.xp-text{color:#475569;font-size:13px}.xp-to-next{color:#94a3b8;margin-left:8px}.xp-stats{display:flex;gap:24px}.xp-stat{display:flex;flex-direction:column;gap:4px}.xp-stat-label{color:#64748b;font-size:12px}.xp-stat-value{color:#1e293b;font-size:18px;font-weight:600}.customization-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.customization-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px}.customization-items{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.customization-item{align-items:center;background:#f8fafc;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .2s}.customization-item.unlocked:hover{background:#f1f5f9;border-color:#cbd5e1}.customization-item:focus-visible{outline:2px solid #667eea;outline-offset:2px}.customization-item.active{background:#667eea14;border-color:#667eea}.customization-item.locked{cursor:not-allowed;opacity:.5}.item-name{color:#1e293b;font-size:12px;font-weight:500}.item-status{border-radius:10px;font-size:10px;padding:2px 8px}.item-status.current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.item-status.locked{background:#e2e8f0;color:#64748b}.item-select-btn,.item-status.selectable{background:#e2e8f0;color:#475569;cursor:pointer}.item-select-btn{border:none;border-radius:12px;font-size:11px;padding:4px 12px;transition:background .2s}.item-select-btn:hover:not(:disabled){background:#cbd5e1}.item-select-btn:disabled{cursor:not-allowed;opacity:.5}.milestones-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.milestone-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden;padding:20px 16px;position:relative}.milestone-card.claimable{animation:pulse 2s ease-in-out infinite;border-color:#4ade80}.milestone-card.claimed{border-color:#cbd5e1;opacity:.7}.milestone-xp{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:8px}.milestone-tokens{color:#667eea;font-size:18px;font-weight:700;margin-bottom:12px}.milestone-action{align-items:center;display:flex;height:32px}.milestone-claimed{color:#4ade80;font-size:12px;font-weight:500}.milestone-claim-btn{background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:16px;color:#000;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:transform .2s}.milestone-claim-btn:hover:not(:disabled){transform:scale(1.05)}.milestone-claim-btn:focus-visible{outline:2px solid #4ade80;outline-offset:2px}.milestone-claim-btn:disabled{cursor:not-allowed;opacity:.7}.milestone-locked{color:#94a3b8;font-size:12px}.milestone-progress{background:#e2e8f0;bottom:0;height:4px;left:0;position:absolute;right:0}.milestone-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .5s ease-out}.week-dates{color:#64748b;font-size:13px;margin:0 0 16px}.user-position-card{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba214);border:1px solid #667eea33;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.user-position-info{display:flex;flex-direction:column;gap:4px}.position-label{color:#64748b;font-size:13px}.position-rank{color:#667eea;font-size:32px;font-weight:700}.user-position-stats{display:flex;gap:32px}.position-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.position-stat .stat-value{color:#1e293b;font-size:20px;font-weight:600}.position-stat .stat-label{color:#64748b;font-size:12px}.leaderboard-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px;overflow:hidden}.leaderboard-header{background:#f8fafc;color:#64748b;display:grid;font-size:12px;font-weight:600;grid-template-columns:60px 1fr 100px 80px;padding:12px 16px;text-transform:uppercase}.leaderboard-body{max-height:400px;overflow-y:auto}.leaderboard-row{align-items:center;border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:60px 1fr 100px 80px;padding:12px 16px}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.is-user{background:#667eea14}.leaderboard-row.rank-1 .col-rank,.leaderboard-row.rank-2 .col-rank,.leaderboard-row.rank-3 .col-rank{font-size:20px}.col-rank{color:#64748b;font-size:14px;font-weight:500}.col-player{gap:12px}.col-player,.player-name{align-items:center;display:flex}.player-name{color:#1e293b;font-size:14px;font-weight:500;gap:8px}.you-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.player-level{color:#94a3b8;font-size:12px}.col-points{color:#667eea;font-size:14px;font-weight:600}.col-quests{color:#64748b;font-size:14px}.leaderboard-empty{color:#94a3b8;padding:40px;text-align:center}.leaderboard-rewards{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px}.leaderboard-rewards h4{color:#1e293b;font-size:14px;margin:0 0 16px}.rewards-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.reward-item{border-radius:8px;justify-content:space-between;padding:10px 14px}.reward-rank{color:#64748b;font-size:13px}.reward-tokens{color:#667eea;font-size:13px;font-weight:600}@media (max-width:768px){.level-card{align-items:center;flex-direction:column;text-align:center}.level-number,.xp-stats{justify-content:center}.customization-grid{grid-template-columns:1fr}.customization-items,.milestones-grid{grid-template-columns:repeat(2,1fr)}.user-position-card{flex-direction:column;gap:16px;text-align:center}.leaderboard-header,.leaderboard-row{font-size:12px;grid-template-columns:50px 1fr 70px 60px}.rewards-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.customization-items{grid-template-columns:repeat(2,1fr)}.milestones-grid{grid-template-columns:1fr}.leaderboard-header,.leaderboard-row{grid-template-columns:40px 1fr 60px}.col-quests{display:none}.rewards-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.loading-spinner,.milestone-card.claimable,.progression-toast{animation:none}.milestone-progress-bar,.xp-bar-fill{transition:none}}.confirm-modal-overlay{align-items:center;animation:fadeIn .15s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-modal{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px 16px}.confirm-modal-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.confirm-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.confirm-modal-close:hover{background:#f1f5f9;color:#64748b}.confirm-modal-body{padding:20px 24px}.confirm-modal-body p{color:#475569;font-size:15px;line-height:1.6;margin:0}.confirm-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.confirm-modal-btn{border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.confirm-modal-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-modal-btn--cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.confirm-modal-btn--cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.confirm-modal-btn--primary{background:#2563eb;border:none;color:#fff}.confirm-modal-btn--primary:hover:not(:disabled){background:#1d4ed8}.confirm-modal-btn--danger{background:#dc2626;border:none;color:#fff}.confirm-modal-btn--danger:hover:not(:disabled){background:#b91c1c}@media (max-width:480px){.confirm-modal{margin:16px;width:95%}.confirm-modal-header{padding:16px 20px 12px}.confirm-modal-body{padding:16px 20px}.confirm-modal-footer{flex-direction:column-reverse;padding:12px 20px 16px}.confirm-modal-btn{width:100%}}.playlists-page{margin:0 auto;max-width:1400px;padding:20px}.playlists-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.playlists-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.btn-create-playlist{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background var(--transition-normal)}.btn-create-playlist:hover{background:var(--color-primary-hover)}.create-playlist-form{background:var(--color-bg-tertiary);border:1px solid #e2e8f0;border-radius:var(--radius-xl);margin-bottom:24px;padding:20px}.create-playlist-form input{border:1px solid #e2e8f0;border-radius:var(--radius-lg);box-sizing:border-box;font-size:16px;margin-bottom:12px;padding:14px 16px;width:100%}.create-playlist-form input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #007bff1a;outline:none}.create-error{color:var(--color-error)}.playlists-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.playlist-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;position:relative;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.playlist-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.playlist-thumbnail{background:#f1f5f9;height:160px;position:relative}.playlist-thumbnail img{height:100%;object-fit:cover;width:100%}.playlist-count{background:#000000bf;border-radius:16px;bottom:12px;color:#fff;font-size:13px;font-weight:500;padding:6px 12px;position:absolute;right:12px}.playlist-info{padding:16px}.playlist-info h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.playlist-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;margin:0 0 12px;overflow:hidden}.playlist-meta{gap:8px}.btn-delete{background:#fffffff2;box-shadow:var(--shadow-sm);font-weight:600;transition:all var(--transition-normal);z-index:10}.playlist-card:hover .btn-delete{opacity:1}@media (max-width:768px){.playlists-page{padding:16px}.playlists-header{align-items:flex-start;flex-direction:column;gap:16px}.playlists-header h1{font-size:24px}.btn-create-playlist{width:100%}.playlists-grid{grid-template-columns:1fr}}.playlist-detail-page{margin:0 auto;max-width:1400px;padding:20px}.playlist-detail-header{margin-bottom:24px}.btn-back{transition:color var(--transition-normal)}.btn-back:hover{color:var(--color-primary)}.header-info h1{font-size:28px}.playlist-description{color:var(--color-text-secondary);font-size:16px;line-height:1.5;margin:0 0 16px}.playlist-meta{align-items:center;display:flex;gap:12px}.course-count{color:var(--color-text-secondary)}.visibility-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.visibility-badge.public{background:#dcfce7;color:#15803d}.visibility-badge.private{background:#f1f5f9;color:#64748b}.btn-edit{border-radius:var(--radius-lg);transition:all var(--transition-normal)}.btn-edit:hover,.edit-form{background:var(--color-bg-tertiary)}.edit-form{border-radius:var(--radius-xl)}.edit-title-input{border-radius:var(--radius-lg)}.edit-title-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #007bff1a}.edit-description-input{border-radius:var(--radius-lg)}.edit-description-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #007bff1a}.visibility-toggle{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:16px}.visibility-toggle input{cursor:pointer;height:18px;width:18px}.course-item{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;gap:16px;transition:all var(--transition-normal)}.course-item:hover{background:#fafafa;box-shadow:var(--shadow-md)}.course-order,.course-thumbnail{border-radius:var(--radius-lg)}.course-thumbnail{background:var(--color-bg-secondary);height:68px;width:120px}.thumbnail-placeholder{background:linear-gradient(135deg,#667eea,#764ba2)}.thumbnail-placeholder span{font-size:28px}.course-title{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:1rem;line-height:1.4;margin:0 0 4px;overflow:hidden}.course-description{color:var(--color-text-secondary);font-size:13px}.course-meta{flex-wrap:wrap;gap:6px;margin-bottom:6px}.btn-remove{border:1px solid #e2e8f0;border-radius:var(--radius-lg);font-size:18px;opacity:0;transition:all var(--transition-normal)}.course-item:hover .btn-remove{opacity:1}.error-container{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center}.error-container,.error-container p{color:var(--color-text-secondary)}.error-container button{background:var(--color-primary);border-radius:var(--radius-lg);font-size:14px;font-weight:600;transition:background var(--transition-normal)}.error-container button:hover{background:var(--color-primary-hover)}@media (max-width:768px){.playlist-detail-page{padding:16px}.header-content{flex-direction:column;gap:16px}.header-info h1{font-size:24px}.btn-edit{width:100%}.course-item{flex-wrap:wrap;gap:12px}.course-order{font-size:13px;height:28px;width:28px}.course-thumbnail{height:45px;width:80px}.course-info{flex-basis:calc(100% - 140px);flex-grow:1;flex-shrink:1}.btn-remove{opacity:1}}@media (max-width:480px){.course-item{padding:12px}.course-thumbnail{display:none}.course-info{flex:1 1}.course-title{font-size:.95rem}.course-description{display:none}}.my-series-page{margin:0 auto;max-width:1200px;padding:24px}.series-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.series-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0}.btn-create-series{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-create-series:hover{background:#1d4ed8;transform:translateY(-1px)}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.error-banner p{margin:0}.error-banner button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.create-series-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.create-series-form input,.create-series-form textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:16px;margin-bottom:12px;padding:14px 16px;width:100%}.create-series-form textarea{min-height:80px;resize:vertical}.create-series-form input:focus,.create-series-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.create-error{color:#dc2626;font-size:14px;margin:0 0 12px}.create-actions{display:flex;gap:12px;justify-content:flex-end}.empty-state p{margin:0 0 24px}.btn-primary{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-primary:hover{background:#1d4ed8}.series-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.series-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.series-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.series-thumbnail{background:#f1f5f9;height:160px;position:relative}.series-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);display:flex;height:100%;justify-content:center;width:100%}.thumbnail-placeholder span{font-size:48px}.series-count{background:#000000bf;border-radius:16px;bottom:12px;color:#fff;font-size:13px;font-weight:500;padding:6px 12px;position:absolute;right:12px}.series-info{padding:16px}.series-info h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.series-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;margin:0 0 12px;overflow:hidden}.series-meta{gap:8px}.btn-delete{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:all .2s ease;width:36px}.series-card:hover .btn-delete{opacity:1}.btn-delete:hover{background:#fee2e2;color:#dc2626;transform:scale(1.1)}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}@media (max-width:768px){.my-series-page{padding:16px}.series-header{align-items:flex-start;flex-direction:column;gap:16px}.series-header h1{font-size:24px}.btn-create-series{width:100%}.series-grid{grid-template-columns:1fr}}.series-detail-page{margin:0 auto;max-width:900px;padding:24px}.series-detail-header{margin-bottom:32px}.btn-back{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;font-size:15px;gap:4px;margin-bottom:16px;padding:8px 0;transition:color .2s ease}.btn-back:hover{color:#2563eb}.header-content{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.header-info{flex:1 1}.header-info h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.series-description{color:#64748b;font-size:16px;line-height:1.5;margin:0 0 16px}.series-meta{align-items:center;display:flex;gap:12px}.course-count{color:#64748b;font-size:14px}.status-badge{font-size:13px;font-weight:500;padding:4px 12px}.status-badge.published{background:#dcfce7;color:#15803d}.status-badge.draft{background:#fef3c7;color:#b45309}.btn-edit{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-edit:hover{background:#f8fafc;border-color:#cbd5e1}.edit-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.edit-title-input{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:18px;font-weight:600;margin-bottom:12px;padding:14px 16px;width:100%}.edit-title-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.edit-description-input{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:15px;margin-bottom:12px;padding:12px 16px;resize:vertical;width:100%}.edit-description-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.publish-toggle{align-items:center;color:#475569;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:16px}.publish-toggle input{cursor:pointer;height:18px;width:18px}.edit-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:15px;padding:10px 20px;transition:all .2s ease}.btn-cancel:hover{background:#f1f5f9}.btn-save{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-save:hover:not(:disabled){background:#1d4ed8}.btn-save:disabled{background:#94a3b8;cursor:not-allowed}.courses-section{margin-top:32px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.drag-hint{color:#94a3b8;font-size:13px;margin:0}.empty-state{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:#1e293b;font-size:22px;margin:0 0 8px}.empty-state p{color:#64748b;margin:0}.courses-list{display:flex;flex-direction:column;gap:12px}.course-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:grab;display:flex;gap:12px;padding:16px;transition:all .2s ease}.course-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.course-item.dragging{border-style:dashed;opacity:.5}.drag-handle{color:#cbd5e1;cursor:grab;font-size:14px;letter-spacing:2px;-webkit-user-select:none;user-select:none}.course-item:active .drag-handle{cursor:grabbing}.course-order{align-items:center;color:#64748b;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.course-order,.course-thumbnail{background:#f1f5f9;border-radius:8px;flex-shrink:0}.course-thumbnail{height:60px;overflow:hidden;width:80px}.course-thumbnail img{height:100%;object-fit:cover;width:100%}.course-thumbnail .thumbnail-placeholder{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);display:flex;height:100%;justify-content:center;width:100%}.course-thumbnail .thumbnail-placeholder span{font-size:24px}.course-info{flex:1 1;min-width:0}.course-title{color:#1e293b;display:block;font-size:16px;font-weight:600;margin-bottom:4px;text-decoration:none}.course-title:hover{color:#2563eb}.course-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:14px;margin:0 0 8px;overflow:hidden}.course-meta{align-items:center;display:flex;gap:8px}.difficulty-badge{background:#eff6ff;border-radius:4px;color:#2563eb;font-size:12px;font-weight:500;padding:2px 8px}.duration{color:#94a3b8;font-size:13px}.btn-remove{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-remove:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#2563eb;height:40px;margin-bottom:16px;width:40px}.error-container h2{color:#1e293b;margin:0 0 8px}.error-container p{color:#64748b;margin:0 0 24px}.error-container button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;padding:12px 24px}@media (max-width:768px){.series-detail-page{padding:16px}.header-content{flex-direction:column;gap:16px}.header-info h1{font-size:24px}.btn-edit{width:100%}.section-header{align-items:flex-start;flex-direction:column;gap:4px}.course-item{flex-wrap:wrap;padding:12px}.drag-handle{display:none}.course-thumbnail{height:45px;width:60px}.course-info{flex:1 1;min-width:calc(100% - 160px)}}.about-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding-bottom:80px}.about-hero{background:linear-gradient(135deg,#6366f1,#4f46e5 50%,#7c3aed);padding:64px 20px;text-align:center}.about-hero-content{margin:0 auto;max-width:700px}.about-hero h1{color:#fff;font-size:40px;font-weight:800;letter-spacing:-.5px;margin:0 0 16px}.about-hero-subtitle{color:#ffffffd9;font-size:18px;line-height:1.6;margin:0}.about-container{margin:-32px auto 0;max-width:900px;padding:0 20px}.about-section{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;margin-bottom:24px;padding:40px}.about-section h2{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:24px;font-weight:700;margin:0 0 16px;padding-bottom:12px}.about-section p{color:#475569;font-size:15px;line-height:1.8;margin:0 0 12px}.about-section p:last-child{margin-bottom:0}.about-features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:24px}.about-feature-card{background:#f8fafc;border-radius:12px;padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.about-feature-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.about-feature-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;color:#6366f1;display:inline-flex;height:56px;justify-content:center;margin-bottom:12px;width:56px}.about-feature-card h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 8px}.about-feature-card p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.about-contact{text-align:center}.about-email{background:#f1f5f9;border-radius:8px;color:#6366f1;display:inline-block;font-weight:500;margin-top:8px;padding:8px 16px}.about-footer-links{display:flex;gap:24px;justify-content:center;padding:24px 0}.about-link{border-radius:8px;color:#6366f1;font-size:15px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s}.about-link:hover{background:#eef2ff;color:#4f46e5}@media (max-width:768px){.about-hero{padding:40px 16px}.about-hero h1{font-size:28px}.about-hero-subtitle{font-size:16px}.about-container{margin-top:-20px;padding:0 16px}.about-section{border-radius:12px;padding:24px}.about-section h2{font-size:20px}.about-features-grid{gap:16px;grid-template-columns:1fr}.about-footer-links{align-items:center;flex-direction:column;gap:12px}.about-link{text-align:center;width:100%}}@media (min-width:769px) and (max-width:1024px){.about-features-grid{grid-template-columns:repeat(2,1fr)}}.blog-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding-bottom:80px}.blog-hero{background:linear-gradient(135deg,#6366f1,#4f46e5 50%,#7c3aed);padding:48px 20px;text-align:center}.blog-hero h1{color:#fff;font-size:36px;font-weight:800;margin:0 0 12px}.blog-hero p{color:#ffffffd9;font-size:17px;margin:0}.blog-container{margin:0 auto;max-width:1100px;padding:32px 20px}.blog-tags-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.blog-tag-btn{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:14px;padding:6px 16px;transition:all .2s}.blog-tag-btn:hover{border-color:#6366f1;color:#6366f1}.blog-tag-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.blog-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.blog-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.blog-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.blog-card-image{height:180px;overflow:hidden;width:100%}.blog-card-image img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.blog-card:hover .blog-card-image img{transform:scale(1.05)}.blog-card-content{display:flex;flex:1 1;flex-direction:column;padding:20px}.blog-card-meta{align-items:center;display:flex;gap:12px;margin-bottom:8px}.blog-card-date,.blog-card-views{color:#94a3b8;font-size:13px}.blog-card-title{-webkit-line-clamp:2;color:#1e293b;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 8px}.blog-card-excerpt,.blog-card-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-card-excerpt{-webkit-line-clamp:3;color:#64748b;flex:1 1;font-size:14px;line-height:1.6;margin:0 0 12px}.blog-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.blog-tag{background:#f1f5f9;border-radius:12px;color:#6366f1;display:inline-block;font-size:12px;font-weight:500;padding:2px 10px}.blog-loading{padding:80px 0;text-align:center}.blog-spinner{animation:blog-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;height:40px;margin:0 auto 16px;width:40px}@keyframes blog-spin{to{transform:rotate(1turn)}}.blog-empty p,.blog-error p,.blog-loading p{color:#64748b;font-size:16px}.blog-empty,.blog-error{padding:80px 0;text-align:center}.blog-empty svg{margin-bottom:16px}.blog-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:32px}.blog-page-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#6366f1;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.blog-page-btn:hover:not(:disabled){background:#6366f1;border-color:#6366f1;color:#fff}.blog-page-btn:disabled{cursor:not-allowed;opacity:.4}.blog-page-info{color:#64748b;font-size:14px}.blog-detail-cover{max-height:400px;overflow:hidden;width:100%}.blog-detail-cover img{height:100%;object-fit:cover;width:100%}.blog-detail-container{margin:0 auto;max-width:800px;padding:32px 20px 80px}.blog-back-link{align-items:center;color:#6366f1;display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:24px;text-decoration:none;transition:color .2s}.blog-back-link:hover{color:#4f46e5}.blog-article{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.blog-article-header{padding:40px 40px 0}.blog-article-header h1{color:#1e293b;font-size:32px;font-weight:800;line-height:1.3;margin:0 0 16px}.blog-article-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.blog-article-author{color:#1e293b;font-size:14px;font-weight:600}.blog-article-date,.blog-article-views{color:#94a3b8;font-size:14px}.blog-article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.blog-article-content{color:#334155;font-size:16px;line-height:1.8;padding:32px 40px 40px}.blog-article-content h1{color:#1e293b;font-size:28px;font-weight:700;margin:32px 0 16px}.blog-article-content h2{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:24px;font-weight:700;margin:28px 0 14px;padding-bottom:8px}.blog-article-content h3{color:#1e293b;font-size:20px;font-weight:600;margin:24px 0 12px}.blog-article-content p{margin:0 0 16px}.blog-article-content ol,.blog-article-content ul{margin:0 0 16px;padding-left:24px}.blog-article-content li{margin-bottom:8px}.blog-article-content blockquote{background:#f8fafc;border-left:4px solid #6366f1;border-radius:0 8px 8px 0;color:#475569;margin:16px 0;padding:12px 20px}.blog-article-content code{background:#f1f5f9;border-radius:4px;color:#e11d48;font-size:14px;padding:2px 6px}.blog-article-content pre{background:#1e293b;border-radius:8px;margin:16px 0;overflow-x:auto;padding:20px}.blog-article-content pre code{background:none;color:#e2e8f0;font-size:14px;padding:0}.blog-article-content img{border-radius:8px;margin:16px 0;max-width:100%}.blog-article-content table{border-collapse:collapse;margin:16px 0;width:100%}.blog-article-content td,.blog-article-content th{border:1px solid #e2e8f0;padding:10px 14px;text-align:left}.blog-article-content th{background:#f8fafc;color:#1e293b;font-weight:600}.blog-article-content a{color:#6366f1;text-decoration:underline}.blog-article-content a:hover{color:#4f46e5}@media (max-width:768px){.blog-hero{padding:32px 16px}.blog-hero h1{font-size:28px}.blog-container{padding:24px 16px}.blog-grid{gap:16px;grid-template-columns:1fr}.blog-detail-container{padding:20px 16px 60px}.blog-article-header{padding:24px 24px 0}.blog-article-header h1{font-size:24px}.blog-article-content{font-size:15px;padding:20px 24px 24px}.blog-article-content h2{font-size:20px}.blog-article-content h3{font-size:18px}}@media (min-width:769px) and (max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}.referral-page{background:#f8fafc;margin:0 auto;max-width:800px;min-height:100vh;padding:40px 16px 80px}.referral-error,.referral-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:400px}.referral-error .loading-spinner,.referral-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.referral-error button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px}.referral-header{margin-bottom:32px;text-align:center}.referral-header h1{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 12px}.referral-subtitle{color:#64748b;font-size:16px;margin:0}.rewards-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.rewards-info-card h2{color:#667eea;font-size:18px;font-weight:600;margin:0 0 20px;text-align:center}.rewards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.reward-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:16px;padding:16px}.reward-icon,.reward-item{align-items:center;display:flex}.reward-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;height:56px;justify-content:center;width:56px}.reward-icon span{color:#fff;font-size:16px;font-weight:700}.reward-icon.premium{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 4px 16px #4ade804d}.reward-text{display:flex;flex-direction:column;gap:4px}.reward-text strong{color:#1e293b;font-size:15px}.reward-text span{color:#64748b;font-size:13px}.friend-bonus{align-items:center;background:#4ade801a;border:1px solid #4ade804d;border-radius:12px;display:flex;gap:12px;padding:16px}.bonus-tag{background:#4ade80;border-radius:20px;color:#000;font-size:12px;font-weight:700;padding:4px 12px;white-space:nowrap}.friend-bonus p{color:#475569;font-size:14px;margin:0}.share-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px;padding:24px}.share-section h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.referral-link-box{display:flex;gap:8px;margin-bottom:12px}.referral-link-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;flex:1 1;font-family:monospace;font-size:14px;overflow:hidden;padding:14px 16px;text-overflow:ellipsis;white-space:nowrap}.copy-button{align-items:center;background:#e2e8f0;border:none;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:14px 20px;transition:all .2s;white-space:nowrap}.copy-button svg{height:18px;width:18px}.copy-button:hover{background:#cbd5e1}.copy-button.copied{background:#4ade80;color:#000}.referral-code-display{align-items:center;background:#667eea14;border:1px solid #667eea33;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.code-label{color:#64748b;font-size:14px}.code-value{color:#667eea;font-family:monospace;font-size:20px;font-weight:700;letter-spacing:2px}.share-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 14px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:12px;justify-content:center;padding:16px;transition:all .2s;width:100%}.share-button svg{height:20px;width:20px}.share-button:hover{box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.stats-section{margin-bottom:24px}.stats-section h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:20px 16px;text-align:center}.stat-card.highlight{background:linear-gradient(135deg,#667eea1a,#764ba214);border-color:#667eea4d}.stat-value{color:#1e293b;font-size:32px;font-weight:700;margin-bottom:8px}.stat-card.highlight .stat-value{color:#667eea}.stat-label{color:#64748b;font-size:13px}.stat-card.highlight .stat-label{color:#475569}.recent-referrals-section h2{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 16px}.referrals-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.referral-list-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px}.referral-list-item:last-child{border-bottom:none}.referral-user{gap:12px}.referral-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.username{color:#1e293b;font-weight:500}.referral-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px}.status-badge.pending{background:#ffc10726;color:#d97706}.status-badge.signup_rewarded{background:#4ade8026;color:#16a34a}.status-badge.subscribe_rewarded{background:#8b5cf626;color:#7c3aed}.referral-date{color:#94a3b8;font-size:12px}@media (max-width:600px){.referral-header h1{font-size:26px}.rewards-grid{grid-template-columns:1fr}.stats-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.stat-card{padding:16px 8px}.stat-value{font-size:24px}.stat-label{font-size:11px}.referral-link-box{flex-direction:column}.copy-button{justify-content:center}.friend-bonus{flex-direction:column;text-align:center}.referral-list-item{align-items:flex-start;flex-direction:column;gap:12px}.referral-meta{flex-direction:row;justify-content:space-between;width:100%}}.welcome-page{background:linear-gradient(135deg,#f5f3ff,#ede9fe 50%,#ddd6fe);min-height:100vh}.welcome-hero{padding:4rem 1.5rem 3rem;text-align:center}.welcome-hero-content{margin:0 auto;max-width:800px}.welcome-referral-badge{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:2rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.welcome-referral-badge svg{height:18px;width:18px}.welcome-title{color:#1e1b4b;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.2;margin-bottom:1rem}.welcome-subtitle{color:#4c1d95;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.welcome-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.welcome-hero-actions .btn{align-items:center;border-radius:.75rem;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s}.welcome-hero-actions .btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;box-shadow:0 4px 14px #8b5cf666;color:#fff}.welcome-hero-actions .btn-primary:hover{box-shadow:0 6px 20px #8b5cf680;transform:translateY(-2px)}.welcome-hero-actions .btn-outline{background:#fff;border:2px solid #7c3aed;color:#7c3aed}.welcome-hero-actions .btn-outline:hover{background:#7c3aed;color:#fff}.welcome-reward{margin-top:-1rem;padding:0 1.5rem}.welcome-reward-content{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;box-shadow:0 4px 20px #fbbf244d;display:flex;gap:1.5rem;margin:0 auto;max-width:800px;padding:1.5rem 2rem}.welcome-reward-icon{align-items:center;background:#f59e0b;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.welcome-reward-text{flex:1 1}.welcome-reward-text h3{color:#78350f;font-size:1.125rem;font-weight:700;margin:0 0 .25rem}.welcome-reward-text p{color:#92400e;font-size:.875rem;margin:0}.welcome-reward-tokens{flex-shrink:0;text-align:center}.welcome-reward-tokens .reward-label{color:#92400e;display:block;font-size:.75rem;margin-bottom:.25rem}.welcome-reward-tokens .reward-value{color:#78350f;display:block;font-size:1.5rem;font-weight:800}.welcome-benefits{padding:4rem 1.5rem}.welcome-section-title{color:#1e1b4b;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;margin-bottom:2.5rem;text-align:center}.welcome-benefits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.welcome-benefit-card{background:#fff;border-radius:1rem;box-shadow:0 4px 20px #00000014;padding:2rem;text-align:center;transition:transform .2s,box-shadow .2s}.welcome-benefit-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.benefit-icon{align-items:center;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:1rem;color:#7c3aed;display:inline-flex;height:64px;justify-content:center;margin-bottom:1rem;width:64px}.welcome-benefit-card h3{color:#1e1b4b;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.welcome-benefit-card p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.welcome-cta{background:linear-gradient(135deg,#7c3aed,#6d28d9);padding:4rem 1.5rem}.welcome-cta-content{color:#fff;margin:0 auto;max-width:600px;text-align:center}.welcome-cta-content>svg{height:48px;margin-bottom:1rem;opacity:.9;width:48px}.welcome-cta-content h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;margin:0 0 .5rem}.welcome-cta-content p{font-size:1rem;margin:0 0 2rem;opacity:.9}.welcome-cta .btn-xl{align-items:center;background:#fff;border:none;border-radius:.75rem;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:700;gap:.5rem;padding:1rem 2rem;transition:all .2s}.welcome-cta .btn-xl:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}@media (max-width:640px){.welcome-hero{padding:2rem 1rem}.welcome-reward-content{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.welcome-benefit-card{padding:1.5rem}}.token-reward-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.token-reward-modal{animation:slideUp .4s ease-out;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 20px 60px #0006,0 0 40px #ffd7001a;max-width:420px;padding:32px;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.token-reward-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:all .2s;width:32px}.token-reward-close:hover{background:#fff3;color:#fff}.token-reward-close:disabled{cursor:not-allowed;opacity:.5}.token-reward-header{margin-bottom:24px;text-align:center}.token-reward-icon{animation:bounce .6s ease-out infinite;height:80px;margin:0 auto 16px;width:80px}.token-reward-icon svg{filter:drop-shadow(0 4px 12px rgba(255,215,0,.4));height:100%;width:100%}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.token-reward-header h2{color:gold;font-size:28px;margin:0 0 8px;text-shadow:0 2px 8px #ffd7004d}.token-reward-header p{color:#b0b0b0;font-size:16px;margin:0}.token-reward-list{margin-bottom:24px}.token-reward-item{align-items:center;background:#ffffff0d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:12px;opacity:.5;padding:16px;transform:translateX(-10px);transition:all .4s ease-out}.token-reward-item.claimed{opacity:1;transform:translateX(0)}.token-reward-item.animating{animation:pulse .8s ease-out;background:#ffd70026;border:1px solid #ffd7004d}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.reward-type{display:flex;flex-direction:column;gap:4px}.reward-type>span:first-child{color:#fff;font-size:15px;font-weight:500}.reward-from{color:#888;font-size:13px;font-weight:400}.reward-amount{gap:8px}.reward-amount,.token-icon{align-items:center;display:flex}.token-icon{background:linear-gradient(135deg,gold,orange);border-radius:50%;box-shadow:0 2px 8px #ffd7004d;color:#000;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.token-icon.large{font-size:20px;height:40px;width:40px}.reward-amount .amount{color:#4ade80;font-size:18px;font-weight:700}.token-reward-item.animating .amount{animation:countUp .5s ease-out}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.token-reward-total{align-items:center;background:linear-gradient(135deg,#ffd70026,#ffa50026);border:2px solid #ffd7004d;border-radius:16px;display:flex;justify-content:space-between;margin-bottom:24px;opacity:0;padding:20px;transform:scale(.9);transition:all .5s ease-out}.token-reward-total.show{opacity:1;transform:scale(1)}.total-label{color:gold;font-size:16px;font-weight:500}.total-amount{align-items:center;display:flex;gap:12px}.total-amount .amount{animation:totalPop .6s ease-out;color:#4ade80;font-size:32px;font-weight:700;text-shadow:0 2px 12px #4ade804d}@keyframes totalPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.token-reward-button{background:linear-gradient(135deg,gold,orange);border:none;border-radius:12px;color:#000;cursor:pointer;font-size:18px;font-weight:700;opacity:0;padding:16px;transform:translateY(10px);transition:all .3s ease-out;width:100%}.token-reward-button.show{opacity:1;transform:translateY(0)}.token-reward-button:hover:not(:disabled){box-shadow:0 6px 20px #ffd70066;transform:translateY(-2px)}.token-reward-button:disabled{cursor:not-allowed;opacity:.5}.token-reward-total.show:before{content:"";height:100%;left:50%;pointer-events:none;position:absolute;top:0;width:100%}@media (max-width:480px){.token-reward-modal{border-radius:16px;padding:24px 20px}.token-reward-icon{height:60px;width:60px}.token-reward-header h2{font-size:24px}.token-reward-item{padding:12px}.total-amount .amount{font-size:28px}}
/*# sourceMappingURL=main.0df7cde1.css.map*/