:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}.Toastify__toast{--toastify-toast-width:100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:#0000;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-serif:Georgia,"Times New Roman",serif;--font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-size-5xl:48px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--accent-50:#fdf4ff;--accent-100:#fae8ff;--accent-200:#f5d0fe;--accent-300:#f0abfc;--accent-400:#e879f9;--accent-500:#d946ef;--accent-600:#c026d3;--accent-700:#a21caf;--accent-800:#86198f;--accent-900:#701a75;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-300:#86efac;--success-400:#4ade80;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--success-800:#166534;--success-900:#14532d;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-200:#fde68a;--warning-300:#fcd34d;--warning-400:#fbbf24;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--warning-800:#92400e;--warning-900:#78350f;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-200:#fecaca;--danger-300:#fca5a5;--danger-400:#f87171;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--danger-800:#991b1b;--danger-900:#7f1d1d;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--primary-color:var(--primary-500);--primary-hover:var(--primary-600);--primary-light:var(--primary-100);--secondary-color:var(--accent-500);--accent-color:var(--accent-600);--success-color:var(--success-500);--warning-color:var(--warning-500);--danger-color:var(--danger-500);--purple-color:#a855f7;--blue-color:var(--primary-600);--bg-color:var(--gray-50);--bg-color-secondary:var(--gray-100);--bg-color-solid:#fff;--surface-color:#fff;--surface-hover:var(--gray-50);--bg-gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--bg-gradient-accent:linear-gradient(135deg,#f093fb,#f5576c);--bg-gradient-success:linear-gradient(135deg,#84fab0,#8fd3f4);--bg-gradient-rainbow:linear-gradient(135deg,#667eea,#764ba2 20%,#f093fb 40%,#f5576c 60%,#4facfe 80%,#00f2fe);--surface-gradient:linear-gradient(135deg,#fffffffa,#fffffff2);--text-color:var(--gray-900);--text-color-secondary:var(--gray-600);--text-color-light:var(--gray-500);--text-color-white:#fff;--text-color-muted:var(--gray-400);--border-color:var(--gray-200);--border-color-hover:var(--gray-300);--border-color-focus:var(--primary-500);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--box-shadow:var(--shadow-md);--box-shadow-hover:var(--shadow-lg);--box-shadow-focus:0 0 0 3px #0ea5e91a;--shadow-primary:0 10px 25px -5px #0ea5e94d;--shadow-success:0 10px 25px -5px #22c55e4d;--shadow-warning:0 10px 25px -5px #f59e0b4d;--shadow-danger:0 10px 25px -5px #ef44444d;--glow-primary:0 0 20px #0ea5e966;--glow-accent:0 0 20px #d946ef66;--glow-success:0 0 20px #22c55e66;--glow-pink:var(--glow-accent);--glow-blue:var(--glow-primary);--glow-yellow:var(--shadow-warning);--border-colorful:linear-gradient(90deg,var(--primary-500),var(--accent-500),var(--warning-500));--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--transition-slowest:500ms cubic-bezier(0.4,0,0.2,1);--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070}[data-theme=modern] body:before{opacity:1;filter:none}[data-theme=minimal]{--bg-color:#f8fafc;--bg-color-secondary:#eef2ff;--bg-color-solid:#fff;--surface-color:#fff;--surface-hover:#f1f5f9;--surface-gradient:linear-gradient(140deg,#fffffffa,#f1f5f9f0);--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--accent-color:#6366f1;--text-color:#0f172a;--text-color-secondary:#475569;--text-color-light:#64748b;--text-color-muted:#94a3b8;--border-color:#dbe4f3;--border-color-hover:#cbd5f5;--shadow-sm:0 10px 22px #94a3b826;--shadow-md:0 18px 38px #94a3b833;--shadow-lg:0 24px 48px #94a3b83d;--box-shadow:var(--shadow-sm);--box-shadow-hover:var(--shadow-md);--box-shadow-focus:0 0 0 3px #2563eb26}[data-theme=minimal] body:before{background:none;opacity:0}[data-theme=sunset]{--bg-color:#fff7ed;--bg-color-secondary:#ffe4e6;--bg-color-solid:#fffffff0;--surface-color:#ffffffeb;--surface-hover:#fffffffa;--surface-gradient:linear-gradient(140deg,#fffffff5,#fed7aae6);--primary-color:#f97316;--primary-hover:#ea580c;--primary-light:#fed7aa;--accent-color:#ec4899;--success-color:#10b981;--text-color:#431407;--text-color-secondary:#9a3412;--text-color-light:#c2410c;--text-color-muted:#c2410ca6;--border-color:#f9731659;--border-color-hover:#ea580c7a;--shadow-sm:0 12px 28px #f973162e;--shadow-md:0 20px 40px #ec489938;--shadow-lg:0 24px 56px #f973162e;--box-shadow:var(--shadow-sm);--box-shadow-hover:var(--shadow-md);--bg-gradient-primary:linear-gradient(135deg,#f97316,#ec4899);--bg-gradient-accent:linear-gradient(135deg,#ec4899,#fde68a)}[data-theme=sunset] body:before{background:radial-gradient(circle at 15% 20%,#f973161f 0,#0000 55%),radial-gradient(circle at 85% 30%,#ec489929 0,#0000 60%),radial-gradient(circle at 25% 80%,#fbbf2426 0,#0000 55%);opacity:1;filter:saturate(1.05)}[data-theme=dark]{--bg-color:#0f1419;--bg-color-secondary:#1a1f2e;--bg-color-solid:#161b22;--surface-color:#1f2937;--surface-hover:#374151;--surface-gradient:linear-gradient(135deg,#1f2937fa,#374151f2);--text-color:#f9fafb;--text-color-secondary:#d1d5db;--text-color-light:#9ca3af;--text-color-muted:#6b7280;--border-color:#374151;--border-color-hover:#4b5563;--shadow-xs:0 1px 2px 0 #00000080;--shadow-sm:0 1px 3px 0 #00000080,0 1px 2px -1px #00000080;--shadow-md:0 4px 6px -1px #00000080,0 2px 4px -2px #00000080;--shadow-lg:0 10px 15px -3px #0009,0 4px 6px -4px #0009;--shadow-xl:0 20px 25px -5px #000000b3,0 8px 10px -6px #000000b3;--shadow-2xl:0 25px 50px -12px #000c;--box-shadow:var(--shadow-md);--box-shadow-hover:var(--shadow-xl);--primary-color:var(--primary-400);--primary-hover:var(--primary-500);--primary-light:var(--primary-900)}[data-theme=dark] body:before{background:radial-gradient(circle at 20% 30%,#3b82f62e 0,#0000 55%),radial-gradient(circle at 80% 20%,#6366f133 0,#0000 60%),radial-gradient(circle at 50% 85%,#a78bfa26 0,#0000 55%);opacity:.5}body{font-family:var(--font-family-sans);background:var(--bg-color);background-attachment:fixed;color:var(--text-color);line-height:var(--line-height-normal);margin:0;padding:0;min-height:100vh;position:relative;overflow-x:hidden;transition:background-color var(--transition-base),color var(--transition-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{font-family:inherit}.App{width:100%;min-height:100vh;display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffd7001a 0,#0000 50%),radial-gradient(circle at 40% 80%,#ff69b41a 0,#0000 50%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");animation:gentleFloat 20s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes gentleFloat{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(10px,-10px) rotate(90deg)}50%{transform:translate(-5px,5px) rotate(180deg)}75%{transform:translate(15px,15px) rotate(270deg)}}.hidden{display:none!important}.main-container{max-width:1200px;width:100%;padding:var(--spacing-lg) var(--spacing-sm) var(--spacing-3xl);margin:clamp(72px,12vh,96px) auto 0;position:relative;z-index:1;display:flex;flex-direction:column}.main-container h1{font-size:var(--font-size-3xl);text-align:center;color:var(--primary-color);text-shadow:1px 1px 2px #0000001a;margin-bottom:var(--spacing-xs);margin-top:0;padding:0;position:relative;line-height:var(--line-height-tight);font-weight:var(--font-weight-bold)}.difficulty-toggle{display:flex;gap:var(--spacing-xs);align-items:stretch;padding:var(--spacing-xs);background:linear-gradient(135deg,#667eea2e,#764ba224);border-radius:var(--radius-2xl);border:1px solid #94a3b840;margin:0 auto var(--spacing-xl);align-self:center;box-shadow:0 18px 46px #4f46e53d,0 10px 24px #0f172a59;width:100%;max-width:960px;flex-wrap:wrap;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.difficulty-toggle__option{flex:1 1;min-width:320px;border:none;background:#0000;color:var(--text-color-light);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;position:relative;overflow:hidden}.difficulty-toggle__option:hover{color:var(--text-color);background:#ffffff0d}.difficulty-toggle__option.active{background:linear-gradient(135deg,#fffffff2,#e2e8f0eb);color:var(--primary-color);box-shadow:0 24px 42px #667eea59}.difficulty-toggle__option.active:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #6366f18c;pointer-events:none}.difficulty-toggle__option.active .difficulty-toggle__description{color:#2563ebe6}.difficulty-toggle__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.difficulty-toggle__description{font-size:var(--font-size-sm);color:var(--text-color-muted);line-height:var(--line-height-normal)}@media (max-width:768px){.difficulty-toggle{padding:var(--spacing-xs);gap:var(--spacing-xs)}.difficulty-toggle__option{min-width:100%;padding:var(--spacing-sm) var(--spacing-md)}}.lesson-cards-container{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg);margin-top:var(--spacing-xs)}@media (max-width:1200px){.lesson-cards-container{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:992px){.lesson-cards-container{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.lesson-cards-container{grid-template-columns:repeat(2,minmax(0,1fr))}}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);margin-top:var(--spacing-3xl);padding:var(--spacing-lg) 0}.pagination-btn{background:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;box-shadow:var(--box-shadow)}.pagination-btn:hover:not(:disabled){background:var(--accent-color);transform:translateY(-2px);box-shadow:var(--box-shadow-hover)}.pagination-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.pagination-info{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg)}.lesson-card,.pagination-info{color:var(--text-color);background:var(--surface-color);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.lesson-card{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:210px}.lesson-card:hover{transform:translateY(-4px);box-shadow:var(--box-shadow-hover);border-color:var(--primary-color)}.lesson-card.featured{background:var(--surface-gradient);border:2px solid var(--primary-color);box-shadow:var(--shadow-lg);min-height:250px}.lesson-card.featured:hover{transform:translateY(-6px);box-shadow:var(--box-shadow-hover);border-color:var(--accent-color)}.lesson-card:active{transform:translateY(-4px)}.lesson-title{color:var(--text-color);margin-top:0;font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.level-badge{color:#fff;padding:0;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;width:60px;height:60px;box-shadow:0 4px 12px #f4a2614d;border:2px solid #fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.level-A1,.level-A2{background:#28a745}.level-B1,.level-B2{background:#fd7e14}.level-C1,.level-C2{background:#dc3545}.lesson-description{color:var(--text-color-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);flex-grow:1}.lesson-footer{margin-top:auto}.lesson-button,.lesson-footer{display:flex;align-items:center;gap:var(--spacing-xs)}.lesson-button{background:linear-gradient(135deg,#ff7b54,#ffb26b 50%,#ffd56b);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:all .3s ease;justify-content:center;box-shadow:0 6px 20px #ff7b5466;position:relative;overflow:hidden;border:2px solid #ffffff4d;flex:1 1;height:60px}.lesson-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 30px #ff7b5499;background:linear-gradient(135deg,#ffd56b,#ffb26b 50%,#ff7b54);border-color:#ffffff80}.lesson-button:active{transform:translateY(-1px) scale(1.01);box-shadow:0 6px 20px #ff7b5480}.shadowing-page{width:100%;flex:1 1;display:flex;flex-direction:column;margin-top:11px;margin-bottom:0}.shadowing-app-container{max-width:1400px;width:100%;padding:var(--spacing-lg);border-radius:0;margin:27px auto 0;padding-bottom:80px;flex:1 1}.shadowing-app-container--offset{margin-top:100px}@media (max-width:900px){.shadowing-app-container--offset{margin-top:70px}.shadowing-app-container{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}@media (max-width:600px){.shadowing-app-container--offset{margin-top:56px}}.fixed-audio-bar{position:fixed;top:23px;left:0;right:0;width:auto;background:var(--primary-color);color:#fff;z-index:1000;box-shadow:var(--box-shadow);padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--accent-color)}.audio-content-wrapper{max-width:1200px;width:90%;margin:0 auto;padding:0;position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.fixed-audio-bar h1{color:#fff;margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-shadow:2px 2px 4px #0003;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:350px}.audio-section{display:flex;align-items:center;gap:var(--spacing-lg);flex:1 1;justify-content:flex-end}#germanAudio{display:none;width:0;height:0;margin:0;padding:0}.time-display{font-weight:var(--font-weight-semibold);color:#fff;margin:0;font-size:var(--font-size-base);background:#0000001a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:inline-block;border:1px solid #fff3;white-space:nowrap}.mobile-seek-controls{display:flex;gap:var(--spacing-sm);align-items:center}.seek-btn{background:#ffffff1a;color:#fff;border:1px solid #ffffff4d;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);white-space:nowrap}.seek-btn:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.seek-btn:active{background:#fff6;transform:translateY(0)}.text-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--accent-color);padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs);flex-wrap:wrap;gap:var(--spacing-xs)}.text-header h2{color:var(--primary-color);margin:0;flex:1 1;min-width:200px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.text-header .toggle-btn{display:none}.nav-button:active:not(:disabled){transform:translateY(0)}.transcript-box{background:var(--surface-color);padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:left;overflow-y:hidden;-webkit-overflow-scrolling:touch;box-shadow:var(--box-shadow);max-height:5000px;transition:all .7s ease-in-out;margin-bottom:var(--spacing-xs);position:relative}.transcript-box.hidden{max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0;border:1px solid #0000;visibility:hidden}.transcript-box span{display:inline;line-height:1.6;transition:background-color .3s ease-out,box-shadow .3s ease-out}.transcript-box .sentence-segment{cursor:pointer;display:inline-block}.transcript-box .highlighted-sentence{background:var(--accent-color);color:#fff;margin:0 -2px;border-radius:4px;font-weight:600;box-shadow:0 2px 8px #0000001a;padding:2px 6px}.transcript-box.sentence-mode{text-align:center;padding:25px 20px;min-height:200px;display:flex;align-items:center;justify-content:center}.current-sentence-container{padding:var(--spacing-lg)}.sentence-counter{font-size:var(--font-size-sm);color:var(--text-color-muted);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.current-sentence{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-bold);padding:var(--spacing-lg);background:linear-gradient(135deg,#f4e285,#d4a574 50%,#a8dadc);border:2px solid #d4a574;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;margin-bottom:var(--spacing-sm);box-shadow:0 6px 20px #d4a5744d;color:#1a1a1a;text-shadow:1px 1px 3px #0003;text-align:center;position:relative;overflow:visible}.current-sentence:hover{border-color:#f4a261;transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #f4a26166;background:linear-gradient(135deg,#ffe66d,#f4a261 50%,#a8dadc)}.current-sentence.highlighted-sentence{background:var(--accent-color);color:#fff;border-color:var(--primary-color);box-shadow:var(--glow-pink)}.sentence-time{color:var(--text-color-muted);font-weight:var(--font-weight-semibold)}.sentence-time,.source-line{font-size:var(--font-size-sm);font-family:var(--font-family-mono)}.source-line{font-style:italic;color:var(--text-color-light);text-align:right;padding-top:var(--spacing-sm);margin-top:0}.fixed-footer-controls,.source-line{border-top:1px solid var(--border-color)}.fixed-footer-controls{position:fixed;bottom:0;left:0;right:0;width:auto;background:var(--secondary-color);box-shadow:0 -2px 10px #0000001a;z-index:999;opacity:.95;display:none;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom))}.fixed-footer-controls.hidden-js{display:none!important}@media (max-width:900px){.fixed-footer-controls:not(.hidden-js){display:flex}}.footer-btn{flex-grow:1;background:none;border:none;color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-xs);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease;-webkit-tap-highlight-color:transparent;min-height:50px;border-radius:var(--radius-sm)}.footer-btn:active{background:#0000001a;transform:scale(.95)}.footer-btn:hover{background:#ffffff1a;transform:scale(1.05)}.footer-btn .icon{font-size:var(--font-size-2xl);line-height:1}.footer-btn .label{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);margin-top:var(--spacing-xs)}@media (max-width:600px){.lesson-cards-container{grid-template-columns:repeat(1,1fr)}.lesson-card{flex:1 1 100%}.pagination-controls{flex-direction:column;gap:15px}.pagination-btn{width:100%;max-width:200px}.pagination-info{font-size:1rem}.fixed-audio-bar{padding:5px 10px}.audio-content-wrapper{width:95%;gap:8px;flex-wrap:wrap}.shadowing-app-container{padding:var(--spacing-lg) var(--spacing-sm);padding-bottom:calc(120px + env(safe-area-inset-bottom))}.fixed-audio-bar h1{font-size:.85em;max-width:100%;flex:1 1 100%}.audio-section{flex:1 1 100%;justify-content:center;gap:8px}.time-display{font-size:.75em;padding:6px 12px}.mobile-seek-controls{flex:1 1 100%;justify-content:center;order:3}.seek-btn{font-size:.8em;padding:6px 12px}.transcript-box{font-size:1.08em;line-height:1.7;padding:14px 12px;max-height:5000px;letter-spacing:.1px;margin:8px 0}.transcript-box .highlighted-sentence{margin:0 -1px}.transcript-box.sentence-mode{padding:20px 15px;min-height:150px}.current-sentence{font-size:1.2em;padding:15px}.text-header{flex-direction:column;align-items:stretch;gap:15px}.text-header h2{text-align:center;min-width:auto}.sentence-navigation{justify-content:center}.nav-button{flex:1 1;max-width:120px;font-size:.85em;padding:10px 8px}.source-line{text-align:center;display:none}.shadowing-layout{gap:var(--spacing-md)}.medien-container{padding:var(--spacing-md);min-height:auto}.media-player{gap:var(--spacing-md)}.media-controls{gap:var(--spacing-sm)}.media-btn-large{width:56px;height:56px}.media-btn-small{width:40px;height:40px}.media-title{font-size:var(--font-size-lg)}.media-artist{font-size:var(--font-size-sm);white-space:normal}.current-sentence-section,.sentence-list-section{box-shadow:none;background:#0000;padding:0}.sentence-list{max-height:none}.sentence-item{padding:var(--spacing-md)}.footer-btn .icon{font-size:2.4em}.footer-btn .label{font-size:.7em}#germanAudio{margin-bottom:2px;transform:scale(.72)}.time-display{font-size:.8em;margin-top:1px}}.dictation-page{flex:1 1;display:flex;flex-direction:column;margin-top:11px;margin-bottom:0}.dictation-app-container{max-width:900px;width:100%;padding:var(--spacing-2xl);padding-top:var(--spacing-2xl);border-radius:0;flex:1 1;margin:27px auto 0;padding-bottom:50px}.dictation-controls{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);flex-wrap:wrap}.answer-button,.clear-button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);transition:all .2s ease;font-size:var(--font-size-sm)}.answer-button{background-color:var(--orange-color);color:var(--text-color-dark)}.answer-button:hover{background-color:#f57c00;transform:translateY(-1px)}.answer-button.active{background-color:var(--primary-color)}.clear-button{background-color:var(--red-color);color:#fff}.clear-button:hover{background-color:#d32f2f;transform:translateY(-1px)}.dictation-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-2xl);gap:var(--spacing-2xl);margin-top:var(--spacing-lg)}.dictation-area h3,.transcript-segments h3{color:var(--primary-color);margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);border-bottom:2px solid var(--accent-color);padding-bottom:var(--spacing-xs)}.segments-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color)}.segment-item{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:var(--spacing-xs)}.segment-item:hover{background-color:#333}.segment-item.active{background-color:var(--primary-color);color:#fff}.segment-item:last-child{border-bottom:none}.segment-time{font-size:var(--font-size-xs);color:var(--text-color-muted);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.segment-item.active .segment-time{color:#fffc}.segment-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.dictation-area{display:flex;flex-direction:column}.dictation-textarea{width:100%;min-height:300px;padding:var(--spacing-lg);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);resize:vertical;transition:border-color .2s ease;background-color:var(--surface-color);color:var(--text-color)}.dictation-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #66bb6a33}.answer-section{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--surface-color);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.answer-section h4{margin:0 0 var(--spacing-sm) 0;color:var(--primary-color);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.answer-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-color);background:var(--surface-color);padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color)}@media (max-width:768px){.dictation-content{grid-template-columns:1fr;gap:20px}.dictation-controls{justify-content:center}.answer-button,.clear-button{flex:1 1;min-width:120px}.segments-list{max-height:250px}.dictation-textarea{min-height:200px}}@media (max-width:600px){.dictation-app-container{margin-top:15px;padding:10px 10px 90px}.popup-content{margin:10px;max-height:90vh}.popup-header{padding:15px 20px}.popup-header h2{font-size:1.1em}.lesson-info{padding:15px 20px}.mode-selection{padding:20px}.mode-option{padding:15px;flex-direction:column;text-align:center}.mode-icon{margin-right:0;margin-bottom:10px}}.dark-theme{--bg-color:linear-gradient(135deg,#1a1a2e,#16213e 20%,#0f0f23 40%,#1a1a2e 60%,#16213e 80%,#0f0f23);--bg-color-solid:#1a1a2e;--surface-color:#1a1a2ef2;--surface-gradient:linear-gradient(135deg,#1a1a2ef2,#16213ee6);--text-color:#e0e0e0;--text-color-light:#b0b0b0;--text-color-white:#fff;--border-color:#3a3a5c;--border-colorful:linear-gradient(90deg,#667eea,#764ba2,#f093fb);--box-shadow:0 4px 12px #00000080;--box-shadow-hover:0 6px 18px #000000b3;--primary-color:#667eea;--secondary-color:#764ba2;--accent-color:#f093fb}.dark-theme body:before{background:radial-gradient(circle at 20% 50%,#ffffff0d 0,#0000 50%),radial-gradient(circle at 80% 20%,#667eea1a 0,#0000 50%),radial-gradient(circle at 40% 80%,#764ba21a 0,#0000 50%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.dark-theme .lesson-card{background:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}.dark-theme .lesson-card:hover{border-color:var(--primary-color)}.dark-theme .lesson-title{color:var(--text-color)}.dark-theme .lesson-description{color:var(--text-color-light)}.dark-theme .current-sentence-container,.dark-theme .sentence-list-container{background:var(--surface-gradient);color:var(--text-color)}.dark-theme .current-sentence-container h3,.dark-theme .sentence-list-container h3{color:var(--primary-color)}.dark-theme .sentence-item{background:var(--surface-color);border-color:var(--border-color);color:var(--text-color)}.dark-theme .sentence-item:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:var(--primary-color)}.dark-theme .sentence-item.active{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:var(--accent-color)}.dark-theme .sentence-text{color:var(--text-color);text-shadow:none}.dark-theme .sentence-time{color:var(--text-color-light)}.dark-theme .transcript-box{background:var(--surface-color);border-color:var(--border-color);color:var(--text-color)}.dark-theme .current-sentence{background:linear-gradient(135deg,#667eea33,#764ba233 50%,#f093fb33);color:var(--text-color);border-color:var(--primary-color)}.dark-theme .current-sentence:hover{background:linear-gradient(135deg,#667eea4d,#764ba24d 50%,#f093fb4d)}.dark-theme .medien-container{background:var(--surface-gradient);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.dark-theme .media-artwork{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 20px 40px #667eea66}.dark-theme .media-title{color:var(--text-color)}.dark-theme .media-artist{color:var(--text-color-light)}.dark-theme .media-progress{background:#ffffff1a}.dark-theme .media-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.dark-theme .media-time{color:var(--text-color-light)}.dark-theme .media-btn{color:var(--text-color)}.dark-theme .media-btn-large{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 24px #667eea66;color:#fff}.dark-theme .media-btn-large:hover{box-shadow:0 12px 32px #667eea80}.shadowing-layout{display:grid;grid-template-columns:500px 1fr 350px;grid-gap:16px;gap:16px;align-items:flex-start}.medien-section{position:-webkit-sticky;position:sticky;top:120px;z-index:10;align-self:flex-start}.medien-container{background:linear-gradient(180deg,#fffffff2,#fafafcf2);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:24px;box-shadow:0 20px 60px #00000014,0 8px 20px #0000000a;padding:32px 28px;border:1px solid #fffc;position:relative;min-height:700px}.media-player{display:flex;flex-direction:column;gap:28px;align-items:center}.media-artwork{width:calc(100% + 56px);aspect-ratio:16/9;border-radius:20px;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 20px 40px #667eea4d;overflow:hidden;position:relative;margin-left:-28px;margin-right:-28px}.artwork-inner,.media-artwork{display:flex;align-items:center;justify-content:center}.artwork-inner{width:100%;height:100%}.artwork-inner svg{width:120px;height:120px;color:#fffffff2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.media-info{text-align:center;width:100%;padding:0 8px}.media-title{font-size:22px;font-weight:600;color:#1a1a1a;margin-bottom:6px;letter-spacing:-.3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.6em}.media-artist,.media-title{overflow:hidden;text-overflow:ellipsis}.media-artist{font-size:16px;font-weight:400;color:#8e8e93;letter-spacing:-.2px;white-space:nowrap}.media-progress-container{width:100%;display:flex;flex-direction:column;gap:8px}.media-progress{width:100%;height:4px;background:#00000014;border-radius:2px;cursor:pointer;position:relative;overflow:hidden}.media-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;transition:transform .15s ease-out;position:relative;transform-origin:left center}.media-time{display:flex;justify-content:space-between;font-size:13px;color:#8e8e93;font-weight:400;letter-spacing:-.1px}.media-controls{gap:20px;width:100%;padding:8px 0}.media-btn,.media-controls{display:flex;align-items:center;justify-content:center}.media-btn{background:#0000;border:none;border-radius:50%;color:#1a1a1a;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.media-btn-small{width:48px;height:48px}.media-btn-small svg{width:28px;height:28px}.media-btn-large{width:72px;height:72px;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 24px #667eea59;color:#fff}.media-btn-large svg{width:32px;height:32px}.media-btn:hover{transform:scale(1.08)}.media-btn:active{transform:scale(.95)}.media-btn-large:hover{box-shadow:0 12px 32px #667eea73}.current-sentence-section{position:-webkit-sticky;position:sticky;top:120px;z-index:10;align-self:flex-start;max-height:calc(100vh - 140px);border-radius:20px;padding:4px;background:linear-gradient(135deg,#ff6b9d,#4ecdc4,#ffe66d);box-shadow:0 8px 25px #ff6b9d4d}.current-sentence-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;box-shadow:inset 0 2px 8px #0000000d;padding:16px;border:none;position:relative;height:100%}.current-sentence-container h3{margin:0 0 12px;color:#6c5ce7;font-size:1.1em;border-bottom:2px solid #ff6b9d4d;padding-bottom:8px;background:linear-gradient(135deg,#ff6b9d,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;font-weight:700}.sentence-list-section{position:-webkit-sticky;position:sticky;top:70px;max-height:calc(100vh - 90px);overflow-y:auto;border-radius:20px;padding:4px;background:linear-gradient(135deg,#ff6b9d,#4ecdc4,#ffe66d);box-shadow:0 8px 25px #ff6b9d4d}.sentence-list-section::-webkit-scrollbar{width:8px}.sentence-list-section::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px;margin:8px 0}.sentence-list-section::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#ff6b9d,#4ecdc4);border-radius:10px;-webkit-transition:all .3s ease;transition:all .3s ease}.sentence-list-section::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4ecdc4,#6c5ce7);box-shadow:0 0 10px #4ecdc480}.sentence-list-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;box-shadow:inset 0 2px 8px #0000000d;padding:16px;border:none;position:relative;height:100%}.sentence-list-container h3{margin:0 0 12px;color:#6c5ce7;font-size:1.1em;border-bottom:2px solid #ff6b9d4d;padding-bottom:8px;background:linear-gradient(135deg,#ff6b9d,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;font-weight:700}.sentence-list{display:flex;flex-direction:column;gap:8px}.sentence-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:12px;border:2px solid #dfe6e9;background:linear-gradient(135deg,#fff,#f8f9fa);cursor:pointer;transition:all .3s ease}.sentence-item:hover{background:linear-gradient(135deg,#fff5f8,#f0f4ff);border-color:#ffe66d;transform:translateX(5px);box-shadow:0 4px 15px #ffe66d4d}.sentence-item.active{background:linear-gradient(135deg,#ffecd2,#fcb69f);border-color:#ff9a76;transform:translateX(5px) scale(1.02)}.sentence-item.playing{border-color:#ff6b9d;box-shadow:var(--glow-pink);animation:pulse 1.5s ease-in-out infinite}.sentence-number{background:linear-gradient(135deg,#4ecdc4,#6c5ce7);color:#fff;font-weight:700;font-size:.8em;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #4ecdc466;transition:all .3s ease}.sentence-item:hover .sentence-number{transform:rotate(1turn) scale(1.1)}.sentence-item.active .sentence-number{background:linear-gradient(135deg,#ff6b9d,#ff9a76);box-shadow:var(--glow-pink)}.sentence-content{flex-grow:1}.sentence-text{font-size:1em;line-height:1.6;margin-bottom:3px;word-wrap:break-word;font-weight:600;color:#1a1a1a;text-shadow:1px 1px 2px #0000001a}.sentence-text .clickable-word,.sentence-text .hoverable-word{line-height:inherit}.sentence-time{font-size:.75em;font-family:monospace}.sentence-actions .action-btn{background:none;border:1px solid var(--border-color);color:#aaa;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.9em;transition:all .2s;display:flex;align-items:center;justify-content:center}.sentence-actions .action-btn:hover{background-color:var(--accent-color);color:var(--text-color-dark);border-color:var(--accent-color)}@media (max-width:850px){.shadowing-layout{grid-template-columns:1fr;gap:var(--spacing-xl)}.medien-section{position:static;top:auto;width:100%}.medien-container{min-height:auto;padding:var(--spacing-lg) var(--spacing-md)}.media-artwork{width:100%;margin-left:0;margin-right:0}.media-player{align-items:stretch}.media-controls{justify-content:space-between}.current-sentence-section,.sentence-list-section{position:static;top:auto;max-height:none}.sentence-list-section{margin-top:var(--spacing-xl)}.sentence-list{max-height:none}}.dictation-page{width:100%}.dictation-text{line-height:var(--line-height-relaxed);text-align:center}.dictation-input-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--spacing-xs);margin:var(--spacing-lg) 0;padding:var(--spacing-lg) var(--spacing-sm);background:var(--surface-color);border-radius:var(--radius-lg);min-height:70px;box-shadow:0 4px 12px #0003;border:2px solid var(--border-color)}.word-input-container{position:relative;display:inline-block;margin:var(--spacing-xs) var(--spacing-xs);transition:all .3s ease}.word-input-container.active{transform:scale(1.05)}.char-display{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);white-space:nowrap;padding:0 var(--spacing-xs)}.char-display span{display:inline-block;padding:var(--spacing-xs) var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s ease}.char-correct{background:#2e7d32;color:#e8f5e9;font-weight:600}.char-incorrect{background:#d32f2f;color:#f8d7da;font-weight:600;animation:shake .3s}.char-placeholder{color:#666;font-weight:400;opacity:.6}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.real-input{display:block;position:relative;z-index:1;width:auto;min-width:100px;max-width:250px;height:42px;border:none;border-bottom:3px solid var(--border-color);background:#0000;text-align:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:#0000;caret-color:var(--primary-color);outline:none;margin:0;padding:0 var(--spacing-sm);transition:all .2s ease;cursor:text;box-sizing:border-box}.real-input:focus{border-bottom-color:var(--primary-color);background:#66bb6a1a}.word-input-container.active .real-input{border-bottom-color:var(--primary-color);background:#66bb6a26}.word-space{display:inline-block;width:15px;height:42px;line-height:42px}.word-punctuation{font-size:1.2em;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:600;color:var(--text-color);margin:0 4px;line-height:42px}.hint-btn{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #1a1a1a;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100;padding:0;line-height:1;box-shadow:0 2px 8px #667eea66}.hint-btn:hover{transform:scale(1.15) rotate(5deg);box-shadow:0 4px 12px #667eea99;background:linear-gradient(135deg,#764ba2,#667eea)}.hint-btn:active{transform:scale(.95)}.word-container{position:relative;display:inline-block;margin:3px 4px;vertical-align:middle}.word-container.completed{animation:wordCompleteFlash .6s ease-out}.word-input{display:inline-block;padding:6px 10px;min-width:50px;border:2px solid #667eea;border-radius:6px;background:linear-gradient(135deg,#667eea0d,#764ba20d);color:#fff;font-size:.95em;font-weight:700;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-align:center;outline:none;transition:all .3s ease;box-shadow:0 2px 8px #667eea33;caret-color:#667eea}.word-input::placeholder{color:#fff9;font-weight:600;font-size:.9em;letter-spacing:2px}.word-input:focus{border-color:#764ba2;background:linear-gradient(135deg,#667eea26,#764ba226);box-shadow:0 4px 16px #667eea66,0 0 0 3px #667eea1a;transform:scale(1.03)}.word-input:focus::placeholder{color:#ffffff80;opacity:1}.word-input:hover:not(:focus){border-color:#8a9ced;box-shadow:0 3px 12px #667eea4d}@keyframes wordCompleteFlash{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.correct-word{display:inline-block;padding:6px 10px;background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#155724;border-radius:6px;font-weight:700;font-size:.95em;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #84fab066;border:2px solid #ffffff4d;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.correct-word:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #84fab099;background:linear-gradient(135deg,#8fd3f4,#84fab0)}.completed-word{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:6px 12px;font-size:.95em;font-weight:800;box-shadow:0 4px 12px #f5576c80;border:2px solid #fff6;animation:completedWordPulse 2s ease-in-out infinite}@keyframes completedWordPulse{0%,to{box-shadow:0 4px 12px #f5576c80}50%{box-shadow:0 6px 20px #f5576ccc}}.completed-word:hover{background:linear-gradient(135deg,#f5576c,#f093fb);transform:translateY(-3px) scale(1.08);box-shadow:0 8px 24px #f5576cb3}.hint-revealed{background:linear-gradient(135deg,#fbc2eb,#a6c1ee);color:#4a148c;border:2px solid #8a2be24d;animation:hintRevealAnimation .5s ease-out}@keyframes hintRevealAnimation{0%{opacity:0;transform:scale(.5) rotate(-10deg)}60%{transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.hint-revealed:hover{background:linear-gradient(135deg,#a6c1ee,#fbc2eb);box-shadow:0 6px 18px #8a2be266}.sentence-navigation{display:flex;justify-content:center;gap:15px;margin-bottom:20px;align-items:center}.nav-button{background:var(--primary-color);color:var(--text-color-dark);border:none;padding:10px 24px;border-radius:25px;cursor:pointer;font-size:.95em;font-weight:600;transition:all .3s ease;min-width:140px;box-shadow:0 2px 8px #66bb6a4d}.nav-button:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #66bb6a66}.nav-button:disabled{background:#555;color:#999;cursor:not-allowed;opacity:.5;box-shadow:none}.nav-button:disabled:hover{transform:none}.sentence-counter{font-size:.95em;color:#aaa;margin-bottom:15px;font-weight:600;text-align:center;background:#2a2a2a;padding:8px 16px;border-radius:20px;display:inline-block;border:1px solid var(--border-color)}.current-sentence-container{display:flex;flex-direction:column;align-items:center;padding:20px}.sentence-time-container{margin-top:16px;cursor:pointer;transition:all .3s ease}.sentence-time-container:hover{transform:translateY(-2px)}.time-progress-bar{width:100%;height:6px;background:#667eea26;border-radius:10px;overflow:hidden;margin-bottom:8px;box-shadow:inset 0 2px 4px #0000001a}.time-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;transition:transform .15s ease-out;position:relative;box-shadow:0 0 8px #667eea80;transform-origin:left center}.time-progress-fill:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:#fffc;box-shadow:0 0 6px #fffc}.time-display{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;border:2px solid #667eea4d;font-family:Courier New,monospace;font-weight:600;font-size:.85em;color:#667eea;transition:all .3s ease}.sentence-time-container:hover .time-display{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.sentence-time-container.playing .time-display{border-color:#f5576c;background:linear-gradient(135deg,#f5576c1a,#f093fb1a);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #f5576c66}50%{box-shadow:0 0 0 8px #f5576c00}}.time-icon{font-size:1.2em;color:#764ba2}.sentence-time-container.playing .time-icon{color:#f5576c;animation:bounce .6s ease-in-out infinite}.time-current{font-weight:800;color:#f5576c;font-size:1.1em;min-width:40px;text-align:center;transition:all .05s ease}.time-separator{color:#999;font-weight:400}.time-total{color:#999;font-size:.95em}.sentence-time{font-size:.85em;color:#aaa;font-weight:600;margin-top:12px;background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:8px 16px;border-radius:20px;border:2px solid #667eea4d;display:inline-block;transition:all .3s ease}@media (max-width:768px){.time-progress-bar{height:5px}.time-display{font-size:.75em;padding:6px 12px;gap:6px}.time-current{font-size:1em;min-width:35px}.time-icon{font-size:1.1em}.time-total{font-size:.9em}.dictation-input-container{padding:12px 8px;gap:2px;margin:12px 0}.word-input-container{margin:2px 1px}.char-display{font-size:1em}.real-input{min-width:60px;max-width:160px;height:36px;font-size:.95em;padding:0 6px;border-bottom-width:2px}.word-space{width:12px;height:38px}.word-punctuation{font-size:1.1em;margin:0 3px}.sentence-navigation{flex-direction:column;align-items:center;gap:10px}.nav-button{width:100%;max-width:220px;min-width:auto}.sentence-counter{font-size:.85em;padding:6px 12px}.current-sentence-container{padding:15px 10px}}@media (max-width:600px){.dictation-app-container{margin-top:30px;padding:10px 10px 90px}.real-input{min-width:60px;max-width:150px;height:36px;font-size:.95em}.header-content{padding:10px 16px;gap:12px}.brand{padding:8px 12px;flex-shrink:0}.brand-emblem{width:32px;height:32px}.brand-primary{font-size:.9rem}.brand-secondary{font-size:.7rem}.mobile-nav-toggle{display:grid;flex-shrink:0}.desktop-nav{display:none}.desktop-only{display:none!important}.header-actions{gap:6px;flex-shrink:0}.action-chip{width:36px;height:36px;flex-shrink:0}.action-theme{display:block}.mobile-nav-dropdown{left:16px;right:16px;top:calc(100% + 8px)}.user-button{padding:6px 12px 6px 6px;flex-shrink:0}.user-avatar{width:32px;height:32px}.user-name{font-size:.9rem}.user-role{font-size:.7rem}.user-dropdown{min-width:250px;right:-10px}}@media (min-width:768px) and (max-width:1024px){.header-content{padding:12px 20px;gap:16px}.mobile-nav-toggle{display:none}.desktop-nav{display:flex;gap:6px}.nav-item{padding:8px 12px;font-size:.85rem}.nav-description{display:none}.header-actions{gap:6px}.desktop-only{display:block}.action-language{padding:0 10px 0 8px}.action-flag{width:26px;height:26px;font-size:.7rem}.action-label{font-size:.8rem}.action-dropdown{min-width:260px}}.app-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-index-fixed);display:block;background:linear-gradient(135deg,#667eeae6,#764ba2e6 52%,#38bdf8e0);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:1px solid #94a3ff47;box-shadow:0 18px 46px #4f46e547,0 12px 22px #38bdf82e;transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);overflow:visible;color:var(--text-color-white)}.app-header.neo-header{background:linear-gradient(135deg,#6366f1f2,#815fffeb 44%,#3b94ffe6)}.app-header.neo-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 18%,#ffffff40,#0000 52%),radial-gradient(circle at 82% 22%,#67a6ff38,#0000 60%),radial-gradient(circle at 70% 78%,#38bdf82e,#0000 65%);pointer-events:none;opacity:.85}.app-header.scrolled{background:linear-gradient(135deg,#4f46e5f7,#2563ebf7 58%,#0ea5e9f2);border-bottom:1px solid #6366f159;box-shadow:0 24px 52px #3f83f852,0 18px 30px #3b82f63d;transform:translateY(-2px)}.app-header.neo-header.scrolled:before{opacity:.7}.header-content{position:relative;max-width:1400px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-2xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2xl)}.mobile-nav-toggle{display:none;width:42px;height:42px;border-radius:var(--radius-lg);border:1px solid #ffffff3d;background:#ffffff29;color:#f4f7ffeb;display:grid;place-items:center;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.mobile-nav-toggle svg{width:20px;height:20px}.mobile-nav-toggle:hover{transform:translateY(-1px);border-color:#ffffff73;color:var(--text-color-white);background:#ffffff42;box-shadow:0 12px 28px #3b82f652}.mobile-nav-toggle:focus{outline:none;border-color:var(--border-color-focus);box-shadow:var(--box-shadow-focus)}.desktop-nav{display:flex}.mobile-nav-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));left:0;right:0;background:linear-gradient(135deg,#6366f1f2,#38bdf8e6);border-radius:var(--radius-xl);box-shadow:0 24px 52px #3f83f847,0 16px 24px #38bdf838;border:1px solid #ffffff38;overflow:hidden;z-index:var(--z-index-dropdown);animation:dropdownSlideIn var(--transition-fast);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text-color-white)}.mobile-nav{padding:var(--spacing-lg) 0}.mobile-nav-item{width:100%;padding:var(--spacing-sm) var(--spacing-xl);background:none;text-align:left;cursor:pointer;font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);color:#f4f7ffe6;border:none;border-bottom:1px solid #ffffff2e}.mobile-nav-item:last-child{border-bottom:none}.mobile-nav-item:hover{background:#ffffff2e;transform:translateX(6px)}.mobile-nav-item.active{background:linear-gradient(135deg,#6366f1f2,#38bdf8e6);color:var(--text-color-white);border-color:#0000}.mobile-nav-item .nav-icon-wrapper{width:36px;height:36px;background:#ffffff2e}.mobile-nav-item.active .nav-icon-wrapper{background:#ffffff47}.desktop-only{display:block}.brand{display:flex;align-items:center;gap:calc(var(--spacing-sm) - 4px);padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid #ffffff38;background:#ffffff29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:inherit;font:inherit;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);position:relative;overflow:hidden}.brand:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff29,#0000 60%);opacity:0;transition:opacity var(--transition-fast)}.brand:hover{transform:translateY(-2px);border-color:#ffffff73;box-shadow:0 14px 30px #3b82f652;background:#ffffff42}.brand:focus{outline:none;border-color:var(--border-color-focus);box-shadow:var(--box-shadow-focus)}.brand:hover:after{opacity:1}.brand-emblem{width:38px;height:38px;border-radius:var(--radius-lg);background:linear-gradient(145deg,#00f260,#0575e6);display:grid;place-items:center;position:relative;box-shadow:var(--shadow-md);overflow:hidden}.brand-image{display:block;width:100%;height:100%;object-fit:contain}.brand-emblem:after{content:none}.brand-label{display:flex;flex-direction:column;align-items:flex-start;line-height:var(--line-height-tight);gap:2px}.brand-primary{font-size:1rem;font-weight:var(--font-weight-bold);letter-spacing:.02em}.brand-secondary{font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:#96d5ff}.primary-nav{align-items:stretch;justify-content:center;flex:1 1}.nav-item,.primary-nav{display:flex;gap:var(--spacing-sm);min-width:0}.nav-item{align-items:center;padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid #ffffff38;background:#ffffff29;color:#f4f7ffe0;font-size:var(--font-size-base);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);position:relative;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-item:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffff2e;transition:border-color var(--transition-fast)}.nav-item:focus{border-color:var(--border-color-focus);box-shadow:var(--box-shadow-focus)}.nav-item:focus:hover{box-shadow:var(--box-shadow-focus),var(--shadow-lg)}.nav-item:hover{transform:translateY(-2px);color:var(--text-color-white);border-color:#ffffff73;box-shadow:var(--shadow-lg);background:#ffffff40}.nav-item:focus{outline:none;border-color:#0ea5e9cc;box-shadow:0 0 0 3px #0ea5e933}.nav-item:focus:hover{box-shadow:0 0 0 3px #0ea5e933,0 12px 28px #3b82f652}.nav-item.active{background:linear-gradient(135deg,#6366f1f2,#38bdf8e6);color:var(--text-color-white);border-color:#0000;box-shadow:var(--shadow-xl)}.nav-icon-wrapper{width:36px;height:36px;border-radius:var(--radius-lg);background:#ffffff2e;display:grid;place-items:center;color:inherit}.nav-icon-wrapper svg{width:20px;height:20px}.nav-item.active .nav-icon-wrapper{background:#ffffff47;color:var(--text-color-white)}.nav-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:var(--line-height-tight);min-width:0}.nav-label{font-weight:var(--font-weight-semibold);letter-spacing:.01em;white-space:nowrap}.nav-description{font-size:var(--font-size-sm);color:#e2e8ffbf;letter-spacing:.05em;text-transform:uppercase}.nav-item.active .nav-description{color:#f3f8ffd1}.header-right{display:flex;align-items:center;gap:var(--spacing-lg);margin-left:auto}.header-actions{gap:var(--spacing-sm)}.action-chip{width:42px;height:42px;border-radius:var(--radius-lg);border:1px solid #ffffff3d;background:#ffffff29;color:#f4f7ffeb;display:grid;place-items:center;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.action-chip svg{width:20px;height:20px}.action-chip .action-theme-emoji{font-size:18px;line-height:1}.action-chip:hover{transform:translateY(-1px);border-color:#ffffff73;color:var(--text-color-white);background:#ffffff42;box-shadow:0 12px 28px #3b82f652}.action-chip:focus{outline:none;border-color:var(--border-color-focus);box-shadow:var(--box-shadow-focus)}.action-chip:focus:hover{box-shadow:var(--box-shadow-focus),var(--shadow-lg)}.action-language{width:auto;padding:0 var(--spacing-lg) 0 var(--spacing-sm);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.action-flag{width:32px;height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,#ff5e7a,#fbb14d);display:grid;place-items:center;font-weight:var(--font-weight-bold);letter-spacing:.06em;color:var(--text-color-white)}.action-flag,.action-label{font-size:var(--font-size-sm)}.action-label{font-weight:var(--font-weight-semibold);letter-spacing:.04em}.action-caret{width:16px;height:16px;color:inherit;opacity:.8}.action-dropdown-container{position:relative}.action-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:280px;background:linear-gradient(135deg,#6366f1f2,#38bdf8e6);border-radius:var(--radius-xl);box-shadow:0 24px 52px #3f83f847,0 16px 24px #38bdf838;border:1px solid #ffffff38;overflow:hidden;z-index:var(--z-index-dropdown);animation:dropdownSlideIn var(--transition-fast);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-color-white);transform-origin:top right}.action-dropdown .dropdown-header{padding:16px 20px;background:linear-gradient(135deg,#4c6fffe0,#7e45ffd1);color:#fff;font-weight:600;font-size:.95rem;position:relative}.action-dropdown .dropdown-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,#ffffff38,#0000 55%),radial-gradient(circle at 80% 70%,#ffffff2e,#0000 60%);opacity:.6}.action-dropdown .dropdown-content{padding:var(--spacing-lg) var(--spacing-xl)}.notifications-dropdown .notification-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid #7a8fe026}.notifications-dropdown .notification-item:last-child{border-bottom:none}.notifications-dropdown .notification-icon{font-size:1.2rem;width:24px;text-align:center}.hydration-dropdown .dropdown-content p,.notifications-dropdown .notification-text{font-size:var(--font-size-sm);color:#dee6ffe6}.hydration-dropdown .dropdown-content p{margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-relaxed)}.hydration-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.hydration-stats .stat{font-size:var(--font-size-sm);color:#c2ccffcc;font-weight:var(--font-weight-medium)}.hydration-button{width:100%;padding:var(--spacing-xs) var(--spacing-lg);background:linear-gradient(135deg,#4ade80,#22c55e);color:var(--text-color-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.hydration-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.user-menu-container{position:relative}.user-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) var(--spacing-xs);border-radius:var(--radius-xl);border:1px solid #ffffff47;background:#ffffff29;color:#f4f7ffeb;font:inherit;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.user-button:hover{transform:translateY(-1px);border-color:#ffffff73;box-shadow:0 14px 30px #3b82f652;background:#ffffff42}.user-button:focus{outline:none;border-color:var(--border-color-focus);box-shadow:var(--box-shadow-focus)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#5f8bff,#8f5cff);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);letter-spacing:.04em;color:var(--text-color-white);cursor:pointer}.user-details{display:flex;flex-direction:column;align-items:flex-start;line-height:var(--line-height-tight)}.user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.user-role{font-size:var(--font-size-sm);color:#c2ccffbf;letter-spacing:.08em;text-transform:uppercase}.user-button .action-caret{width:18px;height:18px}.user-button.login-button{padding:var(--spacing-xs) var(--spacing-lg);background:linear-gradient(135deg,#2d7bff,#754fff);border-color:#0000;box-shadow:var(--shadow-xl)}.user-button.login-button:hover{transform:translateY(-2px);box-shadow:0 18px 38px #406eff8c;background:linear-gradient(135deg,#3468ff,#9b53ff)}.user-button.login-button .user-avatar{background:#00000059;font-size:1.2rem}.user-button.login-button .user-name{font-size:.95rem}.user-dropdown{position:absolute;top:calc(100% + 14px);right:0;min-width:280px;background:linear-gradient(135deg,#6366f1f2,#38bdf8e0);border-radius:18px;box-shadow:0 26px 56px #3f83f84d,0 18px 26px #38bdf838;border:1px solid #ffffff38;overflow:hidden;z-index:1000;animation:dropdownSlideIn .28s ease-out;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#eef1ff}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-header{padding:20px;background:linear-gradient(135deg,#4c6fffe0,#7e45ffd1);color:#fff;position:relative}.user-dropdown-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,#ffffff38,#0000 55%),radial-gradient(circle at 80% 70%,#ffffff2e,#0000 60%);opacity:.6}.user-dropdown-name{font-weight:700;font-size:1.1rem;margin-bottom:4px;position:relative;z-index:1}.user-dropdown-email{font-size:.9rem;opacity:.85;position:relative;z-index:1}.user-dropdown-menu{padding:8px 0;background:#0000}.dropdown-item{width:100%;padding:14px 20px;background:none;border:none;text-align:left;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:12px;transition:all .2s ease;position:relative;color:#dee6ffe6}.dropdown-item:hover{background:#36407299;transform:translateX(6px)}.dropdown-item-icon{font-size:1.2rem;width:20px;text-align:center}.dropdown-item-text{font-weight:500;flex:1 1}.dropdown-item-badge{margin-left:auto;font-size:.75rem;background:#ffffff38;color:#fff;padding:3px 8px;border-radius:12px;font-weight:700;letter-spacing:.5px}.dropdown-divider{height:1px;background:linear-gradient(90deg,#0000,#7a8fe040,#0000);margin:8px 16px}.dropdown-item.logout{color:#ff8a8a;font-weight:600}.dropdown-item.logout:hover{background:#ff58781f;transform:translateX(6px)}.main-container{margin-top:clamp(72px,12vh,96px);flex:1 1}.homepage{min-height:calc(100vh - 80px)}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 0 100px;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff1a 0,#0000 50%);pointer-events:none}.hero-content{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center;position:relative;z-index:1}.hero-text{animation:fadeInUp .8s ease-out}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;background:linear-gradient(135deg,#fff,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text}.hero-emoji{display:inline-block;margin-right:.5rem;animation:bounce 2s infinite}.hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem;opacity:.9;max-width:500px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#0000,#fff3,#0000);transition:left .5s ease}.cta-button:hover:before{left:100%}.cta-button.primary{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 8px 25px #4caf504d}.cta-button.primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px #4caf5066}.cta-button.secondary{background:#ffffff26;color:#fff;border:2px solid #ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-button.secondary:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.cta-button.large{padding:1.25rem 3rem;font-size:1.25rem}.button-icon{font-size:1.2rem}.hero-visual{animation:fadeInUp .8s ease-out .2s both}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:2.5rem;border:1px solid #fff3}.stat-item{text-align:center}.stat-number{font-size:3rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text}.stat-label{font-size:.9rem;opacity:.8;font-weight:500;text-transform:uppercase;letter-spacing:1px}.section-container{max-width:1200px;margin:0 auto;padding:0 24px}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#2c3e50;display:flex;align-items:center;justify-content:center;gap:.5rem}.section-emoji{font-size:2rem}.section-subtitle{font-size:1.1rem;color:#6c757d;max-width:600px;margin:0 auto}.featured-section{padding:80px 0;background:#f8fafc}.featured-lessons{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:3rem}.section-actions{text-align:center}.view-all-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #667eea4d}.view-all-button:hover{transform:translateY(-3px);box-shadow:0 12px 35px #667eea66}.arrow-icon{font-size:1.2rem;transition:transform .3s ease}.view-all-button:hover .arrow-icon{transform:translateX(4px)}.features-section{padding:80px 0;background:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.feature-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 10px 40px #0000001a;text-align:center;transition:all .3s ease;border:2px solid #0000}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #667eea33;border-color:#667eea1a}.feature-icon{font-size:3rem;margin-bottom:1.5rem;display:block}.feature-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#2c3e50}.feature-description{color:#6c757d;line-height:1.6}.cta-section{padding:80px 0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-title{font-weight:700;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.cta-emoji,.cta-title{font-size:2.5rem}.cta-subtitle{font-size:1.2rem;margin-bottom:2.5rem;opacity:.9;line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:768px){.hero-content{grid-template-columns:1fr;gap:40px;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-actions{justify-content:center}.hero-stats{grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem}.section-title,.stat-number{font-size:2rem}.featured-lessons,.features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:2rem}.lesson-card{padding:20px;min-height:260px}.lesson-title{font-size:1.2rem}.lesson-description{font-size:.9rem}}@media (max-width:480px){.hero-section{padding:60px 0 80px}.hero-title{font-size:2rem}.hero-stats{grid-template-columns:1fr;gap:1.5rem}.stat-item{display:flex;gap:.5rem}.hero-actions,.stat-item{flex-direction:column;align-items:center}.cta-button{width:100%;justify-content:center}.lesson-card{padding:18px;min-height:240px}.lesson-title{font-size:1.1rem}.level-badge{padding:4px 8px;font-size:.7rem}}.app-footer{background:linear-gradient(135deg,#2d3436,#1e272e);color:#fff;margin-top:auto;position:relative;overflow:hidden}@media (max-width:900px){.has-footer-controls .app-footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}.app-footer.colorful-cheerful{background:linear-gradient(135deg,#ff6b9d,#4ecdc4 25%,#ffe66d 50%,#a78bfa 75%,#f472b6);color:#fff;animation:footerColorShift 8s ease-in-out infinite}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff6b9d,#4ecdc4,#ffe66d,#6c5ce7);animation:gradientShift 4s linear infinite}@keyframes footerColorShift{0%,to{filter:hue-rotate(0deg)}25%{filter:hue-rotate(90deg)}50%{filter:hue-rotate(180deg)}75%{filter:hue-rotate(270deg)}}.footer-content{max-width:1400px;margin:0 auto;padding:35px 20px 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;grid-gap:25px;gap:25px}.footer-section{display:flex;flex-direction:column;gap:10px}.footer-title{font-size:1.3em;margin:0 0 6px;background:linear-gradient(135deg,#ff6b9d,#ffe66d);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;font-weight:600}.app-footer.colorful-cheerful .footer-title{color:#3498db;font-weight:700;text-shadow:1px 1px 2px #0000004d}@keyframes footerTitleRainbow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.footer-description{color:#bdc3c7;font-size:.9em;line-height:1.5;margin:0;text-shadow:1px 1px 1px #0003}.footer-social{display:flex;gap:8px;margin-top:6px}.social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:2px solid #fff3;border-radius:50%;font-size:1.1em;transition:all .3s ease}.app-footer.colorful-cheerful .social-link{background:#ffffff1a;border:1px solid #fff3;transition:all .3s ease;box-shadow:0 2px 4px #0003}.app-footer.colorful-cheerful .social-link:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,0 0 8px #3498db33}.footer-heading{font-size:1em;margin:0 0 8px;color:#ffe66d;font-weight:700}.app-footer.colorful-cheerful .footer-heading{color:#ecf0f1;font-weight:600;text-shadow:1px 1px 2px #0006}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-links a{color:#b2bec3;text-decoration:none;font-size:.9em;transition:all .3s ease;display:inline-block}.footer-links a:hover{color:#4ecdc4;transform:translateX(5px)}.app-footer.colorful-cheerful .footer-links a{color:#bdc3c7;text-shadow:1px 1px 1px #0003;transition:color .3s ease}.app-footer.colorful-cheerful .footer-links a:hover{color:#3498db;text-shadow:1px 1px 2px #0000004d}.footer-contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.footer-contact li{display:flex;align-items:center;gap:10px;color:#b2bec3;font-size:.9em}.contact-icon{font-size:1.2em}.footer-bottom{background:#0000004d;border-top:1px solid #ffffff1a;padding:20px 30px}.app-footer.colorful-cheerful .footer-bottom{background:#ffffff1a;border-top:2px solid #ffffff4d;padding:25px 30px}.footer-bottom-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.copyright{color:#b2bec3;font-size:.9em;margin:0}.app-footer.colorful-cheerful .copyright{color:#bdc3c7;font-weight:500;text-shadow:1px 1px 1px #0003}.heart{color:#ff6b9d;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.footer-bottom-links{display:flex;gap:15px;align-items:center}.footer-bottom-links a{color:#b2bec3;text-decoration:none;font-size:.85em;transition:color .3s ease}.footer-bottom-links a:hover{color:#4ecdc4}.app-footer.colorful-cheerful .footer-bottom-links a{color:#bdc3c7;text-shadow:1px 1px 1px #0003;transition:color .3s ease}.app-footer.colorful-cheerful .footer-bottom-links a:hover{color:#3498db;text-shadow:1px 1px 2px #0000004d}.separator{color:#636e72}@media (max-width:1024px){.header-content{padding:12px 20px;gap:16px}.primary-nav{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.primary-nav::-webkit-scrollbar{display:none}.nav-item{padding:9px 16px}.nav-description{font-size:.72rem}.header-actions{gap:8px}.footer-content{grid-template-columns:1fr 1fr;gap:30px}}@media (max-width:900px){.nav-description{display:none}.nav-item{padding:9px 14px}.header-actions .action-chip:nth-of-type(3),.header-actions .action-chip:nth-of-type(4){display:none}}@media (max-width:768px){.app-header{border-bottom:none;box-shadow:0 18px 36px #4361ee47}.header-content{padding:12px 16px;gap:12px;flex-wrap:nowrap;align-items:center}.header-content[data-auth-state=guest]{gap:14px}.brand{flex:1 1;padding:10px 16px;gap:12px;border-radius:999px;border:1px solid #ffffff52;min-width:0}.brand,.brand:hover{background:#ffffff2e;box-shadow:0 12px 28px #3f83f852}.brand:hover{transform:none;border-color:#ffffff52}.brand-emblem{width:36px;height:36px;border-radius:14px;box-shadow:0 10px 24px #0f172a40}.brand-primary{font-size:1rem}.brand-secondary{font-size:.65rem;letter-spacing:.14em;color:#e4f3ffd9}.header-right{order:2;margin-left:0;display:flex;align-items:center;gap:12px}.header-right[data-auth-state=guest]{justify-content:flex-end;flex-shrink:0}.header-actions{display:flex}.header-actions .action-chip{width:44px;height:44px;border-radius:16px;border:1px solid #ffffff59;background:linear-gradient(135deg,#ffffff47,#ffffff29);box-shadow:0 12px 28px #3b82f661;color:#f5f8ff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-actions .action-chip:hover{transform:translateY(0);border-color:#ffffff73;box-shadow:0 16px 32px #3b82f67a;background:linear-gradient(135deg,#ffffff61,#ffffff38)}.header-actions .action-theme-emoji{font-size:18px}.user-button{padding:10px 16px 10px 10px;gap:10px;border-radius:999px;min-height:44px;border:none;background:#ffffff29;box-shadow:0 10px 26px #0f172a38;color:#f5f8ff}.user-button:hover{transform:translateY(0);box-shadow:0 16px 32px #0f172a47;border:none;background:#ffffff38}.user-button .user-avatar{width:30px;height:30px;border-radius:999px;font-size:1rem;background:#0f172a59;box-shadow:none}.user-role{display:none}.user-button .user-name{font-size:.95rem;letter-spacing:.02em}.user-button.login-button{background:linear-gradient(120deg,#4b5fff,#7b4cff 55%,#1fa5ff);box-shadow:0 18px 38px #4361ee73;color:#f7f9ff}.user-button.login-button:hover{box-shadow:0 22px 40px #4361ee85;background:linear-gradient(120deg,#5268ff,#8a57ff 55%,#3cb3ff)}.user-button.login-button .user-avatar{background:#ffffff47;color:#1a2146;font-size:1.05rem}.user-button.login-button .user-name{font-weight:600;letter-spacing:.04em}.user-menu-container{flex-shrink:0}.primary-nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:4px;margin-top:6px;gap:10px}.primary-nav::-webkit-scrollbar{display:none}.nav-item{padding:8px 12px}.nav-label{font-size:.92rem}.user-dropdown{min-width:250px;right:-10px}.user-dropdown-header{padding:18px}.dropdown-item{padding:12px 16px;font-size:.9rem}.footer-content{grid-template-columns:1fr;gap:30px;padding:40px 20px 20px}.footer-bottom-content{flex-direction:column;text-align:center}.footer-bottom-links{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.header-content{padding:10px 14px}.brand{padding:8px 14px;gap:10px}.brand-emblem{width:32px;height:32px}.brand-primary{font-size:.98rem}.brand-secondary{font-size:.62rem;letter-spacing:.16em}.header-actions .action-chip{width:40px;height:40px;border-radius:14px}.user-button{padding:8px 14px 8px 10px;font-size:.9rem}.user-button .user-avatar{width:28px;height:28px;font-size:.95rem}.user-button.login-button{min-width:0;padding-right:16px}.user-dropdown{min-width:220px;right:0}.user-dropdown-header{padding:14px}.user-dropdown-name{font-size:1rem}.dropdown-item{padding:10px 14px;font-size:.85rem;gap:10px}.dropdown-item-icon{font-size:1.1rem;width:18px}}.sentence-counter-container{gap:12px;margin-bottom:12px}.nav-btn,.sentence-counter-container{display:flex;align-items:center;justify-content:center}.nav-btn{background:linear-gradient(135deg,#ff6b9d,#4ecdc4);border:none;border-radius:50%;width:40px;height:40px;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b9d4d;flex-shrink:0}.nav-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #ff6b9d80;background:linear-gradient(135deg,#ff8fa3,#5ed5cc)}.nav-btn:active:not(:disabled){transform:translateY(0) scale(.95);box-shadow:0 2px 10px #ff6b9d66}.nav-btn:disabled{background:linear-gradient(135deg,#ddd,#ccc);color:#999;cursor:not-allowed;box-shadow:0 2px 8px #0000001a;transform:none}.nav-btn.prev-btn{background:linear-gradient(135deg,#ff9a76,#ff6b9d)}.nav-btn.next-btn{background:linear-gradient(135deg,#4ecdc4,#6c5ce7)}.nav-btn.prev-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffb199,#ff8fa3)}.nav-btn.next-btn:hover:not(:disabled){background:linear-gradient(135deg,#5ed5cc,#8b7ed8)}@media (max-width:768px){.sentence-counter-container{gap:8px}.nav-btn{width:36px;height:36px;font-size:16px}}@media (max-width:480px){.sentence-counter-container{gap:6px}.nav-btn{width:32px;height:32px;font-size:14px}}.clickable-word.speaking{background:linear-gradient(135deg,#4ecdc4,#6c5ce7);color:#fff;animation:pulse-speak .5s ease-in-out}@keyframes pulse-speak{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.speaker-icon{display:inline-block;margin-left:4px;font-size:.8em;animation:speaker-bounce .5s ease-in-out infinite}@keyframes speaker-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.clickable-word{cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s ease;display:inline-block;position:relative}.clickable-word:hover{background:linear-gradient(135deg,#ffe66d,#ffb199)!important;color:#2d3436!important;transform:translateY(-2px);box-shadow:0 4px 8px #ffe66d66;font-weight:600}.word-punctuation{display:inline-block;padding:0 2px}.hoverable-word{cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s ease;display:inline-block;position:relative;color:inherit}.hoverable-word:hover{background:linear-gradient(135deg,#ffe66d,#ffb199)!important;color:#2d3436!important;transform:translateY(-2px);box-shadow:0 4px 8px #ffe66d66;font-weight:600}.hoverable-word.speaking{background:linear-gradient(135deg,#4ecdc4,#6c5ce7)!important;color:#fff!important;animation:pulse-speak .5s ease-in-out}.word-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-5px);background:linear-gradient(135deg,#6c5ce7,#764ba2);color:#fff;padding:6px 12px;border-radius:8px;font-size:13px;white-space:nowrap;z-index:10001;pointer-events:none;box-shadow:0 4px 12px #6c5ce780;animation:tooltipFadeIn .2s ease;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis}.word-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid #0000;border-top-color:#764ba2}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-2px)}to{opacity:1;transform:translateX(-50%) translateY(-5px)}}.vocabulary-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vocabulary-popup{position:fixed;background:#fff;border-radius:8px;padding:12px;box-shadow:0 6px 24px #6c5ce74d;z-index:10000;min-width:240px;max-width:280px;animation:popupSlideIn .2s ease}.vocabulary-popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:2px solid #ffe66d;padding-bottom:6px}.header-actions{gap:8px}.header-actions,.speak-btn{display:flex;align-items:center}.speak-btn{background:none;border:none;font-size:18px;color:#636e72;cursor:pointer;width:26px;height:26px;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.speak-btn:hover{background:#f8f9fa;color:#6c5ce7;transform:scale(1.1)}.vocabulary-popup-header h3{margin:0;font-size:1em;background:linear-gradient(135deg,#ff6b9d,#6c5ce7);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text}.close-btn{background:none;border:none;font-size:22px;color:#636e72;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.close-btn:hover{background:#f8f9fa;color:#f38181;transform:rotate(90deg)}.vocabulary-popup-content{margin:8px 0}.vocab-field{margin-bottom:8px}.vocab-field label{display:block;font-weight:600;color:#2d3436;margin-bottom:3px;font-size:.75em}.vocab-word{font-size:1.05em;font-weight:700;color:#6c5ce7;padding:5px 8px;background:linear-gradient(135deg,#ffecd2,#fcb69f 30%);border-radius:5px;display:inline-block}.vocab-context{font-style:italic;color:#636e72;background:#f8f9fa;padding:4px 6px;border-radius:4px;border-left:2px solid #4ecdc4;line-height:1.25;font-size:.75em;max-height:50px;overflow-y:auto}.vocab-field input{width:100%;padding:6px 8px;border:1.5px solid #dfe6e9;border-radius:5px;font-size:.9em;transition:all .2s ease;box-sizing:border-box}.vocab-field input:focus{outline:none;border-color:#6c5ce7;box-shadow:0 0 0 2px #6c5ce71a}.vocabulary-popup-footer{display:flex;gap:6px;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid #dfe6e9}.vocabulary-popup-footer button{padding:6px 12px;border:none;border-radius:5px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85em}.btn-cancel{background:#f8f9fa;color:#636e72}.btn-cancel:hover{background:#e9ecef;transform:translateY(-2px)}.btn-save{background:linear-gradient(135deg,#4ecdc4,#6c5ce7);color:#fff;box-shadow:0 2px 8px #4ecdc44d}.btn-save:hover:not(:disabled){box-shadow:0 6px 16px #6c5ce766;transform:translateY(-2px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.vocabulary-popup{min-width:220px;max-width:calc(100vw - 40px);left:50%!important;transform:translateX(-50%)!important}}@media (max-width:480px){.vocabulary-popup{min-width:200px;padding:10px}.vocab-word{font-size:1em}.vocabulary-popup-header h3{font-size:.95em}}.translation-loading{display:flex;align-items:center;gap:6px;padding:8px;background:#f8f9fa;border-radius:8px;color:#6c5ce7;font-size:.95em}.loading-spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auto-translation-hint{margin-top:6px;padding:5px 8px;background:linear-gradient(135deg,#ffecd2,#fcb69f 30%);border-radius:4px;font-size:.8em;color:#2d3436;border-left:2px solid #ffe66d}.translation-suggestions{margin-top:6px}.suggestions-label{font-size:.75em;color:#6c5ce7;font-weight:600;margin-bottom:4px}.suggestions-list{display:flex;flex-wrap:wrap;gap:4px}.suggestion-item{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #bbdefb;border-radius:4px;padding:3px 6px;font-size:.75em;color:#1976d2;cursor:pointer;transition:all .2s ease;white-space:nowrap}.suggestion-item:hover{background:linear-gradient(135deg,#bbdefb,#e1bee7);border-color:#1976d2;transform:translateY(-1px);box-shadow:0 2px 4px #1976d233}.mode-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mode-popup-container{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 10px 30px #0003;overflow:hidden;animation:popupSlideIn .5s ease}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-popup-header{background:var(--primary-color);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--accent-color)}.mode-popup-header h2{margin:0;font-size:1.5rem;font-weight:700}.mode-popup-close{background:#fff3;border:1px solid #fff;color:#fff;width:32px;height:32px;border-radius:4px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;padding:0;line-height:1}.mode-popup-close:hover{color:var(--primary-color);transform:rotate(90deg);background:#fff;color:#ff6b9d;transform:rotate(90deg) scale(1.1)}.mode-popup-lesson-info{padding:20px;background:var(--surface-gradient);border-bottom:1px solid var(--border-color)}.mode-popup-lesson-info h3{margin:0 0 10px;color:var(--primary-color);font-size:1.3rem;font-weight:700}.mode-popup-lesson-info p{margin:0;color:var(--text-color-light);font-size:.95rem;line-height:1.5}.mode-popup-options{padding:20px;display:flex;flex-direction:column;gap:12px}.mode-popup-option{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.mode-popup-option:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-hover);border-color:var(--primary-color)}.mode-popup-option.mode-option-dictation{background:linear-gradient(135deg,#e76f5133,#f4a2611a);border-left:5px solid var(--danger-color)}.mode-popup-option.mode-option-dictation:hover{background:linear-gradient(135deg,#e76f514d,#f4a26126);box-shadow:0 8px 25px #e76f5166}.mode-popup-option.mode-option-shadowing{background:linear-gradient(135deg,#457b9d40,#1a1a2e26);border-left:5px solid var(--blue-color)}.mode-popup-option.mode-option-shadowing:hover{background:linear-gradient(135deg,#457b9d59,#1a1a2e33);box-shadow:0 8px 25px #457b9d80}.mode-popup-icon{font-size:2.5rem;min-width:50px;text-align:center;transition:all .3s ease}.mode-popup-option.mode-option-dictation .mode-popup-icon{color:var(--danger-color)}.mode-popup-option.mode-option-shadowing .mode-popup-icon{color:var(--blue-color)}.mode-popup-text{flex:1 1}.mode-popup-text h4{margin:0 0 8px;color:var(--text-color);font-size:1.2rem;font-weight:600;transition:all .3s ease}.mode-popup-option.mode-option-dictation .mode-popup-text h4{background:linear-gradient(135deg,var(--danger-color) 0,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;font-weight:700}.mode-popup-option.mode-option-shadowing .mode-popup-text h4{background:linear-gradient(135deg,var(--blue-color) 0,#1a1a2e 100%);-webkit-background-clip:text;-webkit-text-fill-color:#0000;background-clip:text;font-weight:700}.mode-popup-text p{margin:0;color:var(--text-color-light);font-size:.9rem;line-height:1.4;transition:all .3s ease}.mode-popup-option:hover .mode-popup-text p{color:var(--text-color)}@media (max-width:600px){.mode-popup-container{width:95%;max-width:none}.mode-popup-header{padding:20px}.mode-popup-header h2{font-size:1.3rem}.mode-popup-close{width:36px;height:36px;font-size:1.5rem}.mode-popup-lesson-info{padding:20px}.mode-popup-options{padding:20px;gap:12px}.mode-popup-option{flex-direction:column;text-align:center;gap:15px;padding:18px}.mode-popup-icon{font-size:2.5rem;min-width:auto}.mode-popup-text h4{font-size:1.1rem}.mode-popup-text p{font-size:.85rem}.mode-popup-option.mode-option-dictation,.mode-popup-option.mode-option-shadowing{border-left-width:4px}}.lesson-card-new{background:var(--surface-color,#fff);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;height:100%;border:1px solid #e0e0e0}.lesson-card-new:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.lesson-card-new.featured{border:2px solid var(--primary-color,#667eea);box-shadow:0 4px 12px #667eea33}.video-thumbnail{width:100%;height:180px;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.video-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.video-thumbnail.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a8c0ff,#c2e9fb)}.placeholder-content{text-align:center;color:#fff}.placeholder-icon{display:block;font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xs)}.placeholder-text{display:block;font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:1px}.placeholder-text,.youtube-badge{font-weight:var(--font-weight-semibold)}.youtube-badge{position:absolute;bottom:var(--spacing-xs);right:var(--spacing-xs);background:#ff0000e6;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.youtube-icon{font-size:var(--font-size-sm)}.lesson-card-content{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1 1}.lesson-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.lesson-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-color);margin:0;line-height:var(--line-height-tight);flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.level-badge-new{background:var(--primary-color,#667eea);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.level-badge-new.level-A1{background:#4caf50}.level-badge-new.level-A2{background:#8bc34a}.level-badge-new.level-B1{background:#ffc107}.level-badge-new.level-B2{background:#ff9800}.level-badge-new.level-C1{background:#ff5722}.level-badge-new.level-C2{background:#f44336}.lesson-card-description{font-size:var(--font-size-sm);color:var(--text-color-secondary);line-height:var(--line-height-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1 1}.lesson-card-footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid #f0f0f0}.mode-badges{display:flex;gap:8px;flex-wrap:wrap}.mode-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--bg-color-secondary);color:var(--text-color-secondary);transition:all .2s ease}.mode-badge:hover{background:#e0e0e0}.mode-badge.dictation{background:#667eea1a;color:#667eea}.mode-badge.shadowing{background:#764ba21a;color:#764ba2}.mode-icon{font-size:var(--font-size-sm)}.source-indicator{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:#ff00001a;color:red;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.lesson-duration{font-size:var(--font-size-xs);color:var(--text-color-muted);margin-top:var(--spacing-xs);display:block}@media (max-width:768px){.video-thumbnail{height:160px}.lesson-card-content{padding:12px}.lesson-card-title{font-size:var(--font-size-base)}.lesson-card-description{font-size:var(--font-size-xs)}}@media (max-width:480px){.video-thumbnail{height:140px}.lesson-card-content{padding:10px}.lesson-card-title{font-size:var(--font-size-sm)}.mode-badges{gap:6px}.mode-badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.dark-theme .lesson-card-new{background:var(--surface-color,#2d3436);border-color:var(--border-color,#444)}.dark-theme .lesson-card-new,.dark-theme .lesson-card-title{color:var(--text-color,#e0e0e0)}.dark-theme .lesson-card-description{color:var(--text-color-light,#b0b0b0)}.dark-theme .lesson-card-footer{border-top-color:var(--border-color,#444)}.dark-theme .mode-badge{background:#ffffff1a;color:#e0e0e0}.dark-theme .mode-badge.dictation{background:#667eea33;color:#a8b5ff}.dark-theme .mode-badge.shadowing{background:#764ba233;color:#c49bdb}