@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--primary:#8a9a5b;--primary-light:#b8c99e;--primary-dark:#5d6e3c;--secondary:#3c4a2d;--accent:#d3dbb9;--background:#f8f9f4;--text:#333;--text-light:#666;--shadow:0 4px 6px #0000001a}@media (prefers-color-scheme:dark){:root{--background:#2c3321;--foreground:#3c4a2d;--text:#e6ebd9;--text-light:#b8c99e;--border:#5d6e3c}}body{background-color:#f8f9f4;background-color:var(--background);color:#333;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.container{margin:0 auto;max-width:1000px;padding:1.5rem}.card{background-color:var(--foreground);border-radius:1rem;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-size:.875rem;justify-content:center;line-height:1.5;transition:all .2s}.btn-primary{background-color:#8a9a5b;background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:#5d6e3c;background-color:var(--primary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{background-color:#3c4a2d;background-color:var(--secondary);color:#fff}.btn-secondary:hover{background-color:var(--secondary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-outline{background-color:initial;border:1px solid var(--border);color:#333;color:var(--text)}.btn-outline:hover{background-color:#f8f9f4;background-color:var(--background);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-icon{border-radius:.5rem;padding:.5rem}.audio-player{background:linear-gradient(90deg,#b8c99e,#3c4a2d);background:linear-gradient(to right,var(--primary-light),var(--secondary));border-radius:1rem;box-shadow:var(--shadow-md);color:#fff;margin-bottom:1.5rem;padding:1.25rem}.audio-player audio{margin-top:.75rem;width:100%}.audio-player audio::-webkit-media-controls-panel{background-color:#fff3}.time-display{font-family:monospace;font-size:.875rem;margin-top:.5rem;opacity:.9;text-align:center}.current-subtitle{border-radius:.75rem;box-shadow:0 6px 12px #00000026;color:#fff;margin-bottom:1.5rem;min-height:180px;overflow:hidden;position:relative;transition:all .3s ease}.current-subtitle:before{background:linear-gradient(135deg,#5d6e3ce6,#8a9a5bd9);border-radius:.75rem;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.current-subtitle .text-xl{font-size:1.5rem;font-weight:600;line-height:1.4;margin-bottom:.75rem;text-shadow:0 1px 2px #0003;transition:opacity .5s ease}.current-subtitle .opacity-80{font-size:1rem;line-height:1.5;margin-bottom:.5rem;opacity:.9;text-shadow:0 1px 1px #0000001a;transition:opacity .5s ease}.chapter-list{background-color:var(--foreground);border-radius:1rem;box-shadow:0 4px 6px #0000001a;padding:1rem}.chapter-item{background-color:#d3dbb933;border-left:4px solid #0000;padding:.75rem 1rem;transition:all .3s ease}.chapter-item:hover{background-color:#d3dbb966;box-shadow:0 3px 6px #0000001a;transform:translateY(-2px)}.chapter-item.active{background:linear-gradient(90deg,#8a9a5bcc,#b8c99ecc);border-left-color:#5d6e3c;border-left-color:var(--primary-dark);box-shadow:0 3px 6px #0000001a;color:#fff}.subtitle-list{background-color:var(--foreground);border-radius:1rem;box-shadow:0 4px 6px #0000001a;padding:1rem}.subtitle-block{border-bottom:1px dashed var(--border);margin-bottom:1rem;padding-bottom:.75rem}.subtitle-time{color:#666;color:var(--text-light);display:block;font-family:monospace;font-size:.75rem;margin-bottom:.25rem}.subtitle-text{border:1px solid #0000;border-radius:.5rem;cursor:pointer;padding:.75rem;transition:all .2s}.subtitle-text:hover{background-color:#00000008}.subtitle-text.active{background-color:#6366f11a;border-color:#b8c99e;border-color:var(--primary-light)}.keyword{background-color:#d3dbb980;border-radius:.25em;box-shadow:0 0 3px #ffffff80;color:#fff;font-size:1.15em;font-weight:700;padding:.1em .3em;text-decoration:underline;text-decoration-color:#ffffffb3;text-decoration-thickness:2px;text-underline-offset:3px;transition:all .2s ease}.current-subtitle .keyword{background-color:#fff6;box-shadow:0 0 5px #fff9;color:#fff;font-size:1.2em;font-weight:700;text-decoration:underline}.subtitle-item .keyword{background-color:#ffffff4d;color:inherit;font-size:1.1em;text-decoration:underline}.subtitle-item.active .keyword{background-color:#ffffff80;box-shadow:0 0 3px #fff6;font-weight:700}.subtitle-item{background-color:#d3dbb933;border-left:4px solid #8a9a5b;border-left:4px solid var(--primary);padding:.75rem 1rem;transition:all .3s ease}.subtitle-item:hover{background-color:#d3dbb966;box-shadow:0 3px 6px #0000001a;transform:translateY(-2px)}.subtitle-item.active{background:linear-gradient(90deg,#8a9a5b33,#b8c99e33);border-left-color:#5d6e3c;border-left-color:var(--primary-dark);box-shadow:0 3px 6px #0000001a}.tpo-selector{background-color:var(--foreground);border-radius:1rem;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.tpo-title{color:#8a9a5b;color:var(--primary);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.tpo-list{max-height:400px;overflow-y:auto;padding-right:.5rem}.tpo-group{margin-bottom:1rem}.tpo-group-header{align-items:center;background:linear-gradient(90deg,#8a9a5b,#3c4a2d);background:linear-gradient(to right,var(--primary),var(--secondary));border-radius:.5rem;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-weight:500;padding:.75rem 1rem;transition:all .2s}.tpo-group-header:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow);transform:translateY(-1px)}.tpo-group-items{margin-left:1.5rem;margin-top:.5rem}.tpo-item{background-color:#00000008;border-radius:.5rem;cursor:pointer;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .2s}.tpo-item:hover{background-color:#0000000d;transform:translateX(2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}.loading{align-items:center;color:#8a9a5b;color:var(--primary);display:flex;justify-content:center;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #6366f14d;border-radius:50%;border-top:3px solid var(--primary);height:2rem;width:2rem}.notification{animation:fadeInOut 3s forwards;background:linear-gradient(90deg,#8a9a5b,#3c4a2d);background:linear-gradient(to right,var(--primary),var(--secondary));border-radius:.5rem;box-shadow:var(--shadow-md);color:#fff;padding:1rem;position:fixed;right:1rem;top:1rem;z-index:1000}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:#6366f180;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6366f1b3}.controls{margin-bottom:1.5rem}.auto-scroll-toggle{align-items:center;cursor:pointer;display:flex;gap:.5rem}.toggle-switch{border:1px solid;border-radius:12px;height:24px;position:relative;width:40px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{border-radius:50%;height:18px;left:2px;position:absolute;top:2px;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{transform:translateX(16px)}.audio-element{border-radius:.5rem;height:40px;width:100%}.subtitle-transition-enter{opacity:0;transform:translateY(10px)}.subtitle-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .5s,transform .5s}.subtitle-transition-exit{opacity:1}.subtitle-transition-exit-active{opacity:0;transition:opacity .5s}*,::backdrop,: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: }

/*
! tailwindcss v3.4.17 | 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:Inter var,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}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:JetBrains Mono,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}body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));color:#f1f5f9;color:rgb(241 245 249/var(--tw-text-opacity,1))}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.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}}.btn{border-radius:.5rem;font-weight:500;padding:.5rem 1rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn: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);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)}.btn:active{--tw-translate-y:0.125rem;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))}.chapter-item{border-radius:.5rem;cursor:pointer;padding:.75rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.chapter-item:hover{--tw-bg-opacity:1;background-color:#f0f9ff;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}@media (prefers-color-scheme:dark){.chapter-item:hover{background-color:#0c4a6e4d}}.chapter-item.active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#e0f2fe;background-color:rgb(224 242 254/var(--tw-bg-opacity,1));border-color:#0284c7;border-color:rgb(2 132 199/var(--tw-border-opacity,1));border-left-width:4px}@media (prefers-color-scheme:dark){.chapter-item.active{background-color:#0c4a6e80}}.subtitle-text.active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#e0f2fe;background-color:rgb(224 242 254/var(--tw-bg-opacity,1));border-color:#0284c7;border-color:rgb(2 132 199/var(--tw-border-opacity,1));border-width:1px}@media (prefers-color-scheme:dark){.subtitle-text.active{background-color:#0c4a6e80}}.keyword{background-color:#fef9c3!important;border-radius:4px!important;box-shadow:0 1px 2px #0000001a!important;color:#b91c1c!important;display:inline-block!important;font-weight:700!important;padding:0 4px!important;transform:scale(1.05)!important}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.top-0{top:0}.top-2\.5{top:.625rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-16{height:4rem}.h-2\.5{height:.625rem}.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%}.min-h-screen{min-height:100vh}.w-16{width:4rem}.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%}.max-w-lg{max-width:32rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.rotate-180{--tw-rotate:180deg}.rotate-180,.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-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.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-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-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-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)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 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-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/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-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/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))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 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-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/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-500{--tw-bg-opacity:1;background-color:#6b7280;background-color:rgb(107 114 128/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-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-green-800{--tw-bg-opacity:1;background-color:#166534;background-color:rgb(22 101 52/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-200{--tw-bg-opacity:1;background-color:#fecaca;background-color:rgb(254 202 202/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-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/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-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-10{--tw-bg-opacity:0.1}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-70{--tw-bg-opacity:0.7}.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-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.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-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-10{padding-left:2.5rem}.pl-5{padding-left:1.25rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.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}.tracking-wider{letter-spacing:.05em}.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-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-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-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-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/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))}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.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)}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-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-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,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.main-content{display:flex;flex-direction:row;gap:1.5rem;margin:0 auto;max-width:1200px;padding:0 1rem}.left-panel{flex-shrink:0;width:300px}.left-panel,.right-panel{display:flex;flex-direction:column;gap:1.5rem}.right-panel{flex-grow:1}.chapter-list,.tpo-selector{border-radius:.5rem;box-shadow:var(--shadow);max-height:400px;overflow-y:auto;padding:1.5rem}.chapter-items{display:flex;flex-direction:column;gap:.5rem}.current-subtitle{min-height:150px}.controls,.current-subtitle,.subtitle-player{border-radius:.5rem;box-shadow:var(--shadow);padding:1.5rem}.controls{background-color:var(--background)}.subtitle-list{border-radius:.5rem;box-shadow:var(--shadow);max-height:400px;overflow-y:auto;padding:1.5rem}.subtitle-items{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;scroll-behavior:smooth}.subtitle-item{border-left:4px solid;border-radius:.5rem;cursor:pointer;margin-bottom:.5rem;padding:.75rem;position:relative;transition:all .2s ease}.subtitle-item.active{box-shadow:0 2px 8px #00000026;transform:translateX(4px);z-index:10}.subtitle-item.active:before{border-bottom:6px solid #0000;border-right:6px solid #5d6e3c;border-top:6px solid #0000;content:"";left:-12px;position:absolute;top:50%;transform:translateY(-50%)}.loop-notice{--tw-bg-opacity:1;--tw-text-opacity:1;--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);animation:fade-out 3s forwards;background-color:#1e293b;background-color:rgb(30 41 59/var(--tw-bg-opacity,1));border-radius:.5rem;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);color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1));padding:.5rem 1rem;position:fixed;right:1.25rem;top:1.25rem}@keyframes fade-out{70%{opacity:1}to{opacity:0}}.animate-fade-out{animation:fade-out 3s forwards}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.chapter-item.looping{overflow:hidden;position:relative}.chapter-item.looping:after{animation:pulse 2s infinite;background:#fff3;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.type-flow{border:2px solid #d1dbb9;margin-top:1rem;position:relative;transition:all .3s ease}.type-flow:hover{border-color:#8a9a5b;box-shadow:0 4px 8px #00000026}.type-flow:after{background-color:#8a9a5b;border-radius:4px;color:#fff;content:"点击此处开始打字练习";font-size:12px;opacity:0;padding:2px 8px;pointer-events:none;position:absolute;right:20px;top:-10px;transform:translateY(10px);transition:all .3s ease}.type-flow:hover:after{opacity:1;transform:translateY(0)}.target-text{border-radius:.375rem;font-family:monospace;letter-spacing:.05em;line-height:1.5}.target-text span{padding:0 1px;transition:all .2s ease}.cursor-animation{animation:blink 1s step-end infinite;background-color:#4f46e5;display:inline-block;height:1.2em;margin-left:2px;vertical-align:middle;width:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.stats{background-color:#8a9a5b1a;border-radius:.375rem;display:flex;font-size:.875rem;justify-content:space-between;margin-top:.5rem;padding:.5rem}.notification{animation:fadeInOut 3s ease}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.start-typing-indicator{animation:pulse-scale 2s infinite;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}@keyframes pulse-scale{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:.8;transform:translate(-50%,-50%) scale(1)}}.type-flow-btn{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.type-flow-btn: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);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)}.chinese-text{transition:opacity .3s ease}.chinese-text.hidden{opacity:0!important}.chinese-text.visible{opacity:.8!important}.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-200:hover{--tw-bg-opacity:1;background-color:#bfdbfe;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/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-600:hover{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:#166534;background-color:rgb(22 101 52/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-200:hover{--tw-bg-opacity:1;background-color:#fecaca;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:#ca8a04;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-green-600:focus{--tw-border-opacity:1;border-color:#16a34a;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2: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-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-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.group:hover .group-hover\:opacity-100{opacity:1}
/*# sourceMappingURL=main.b9ca7f6f.css.map*/