.flex-row{flex-direction:row}.block{display:block}.hidden{display:none}.inline-block{display:inline-block}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.max-w-xs{max-width:20rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-20{padding-bottom:5rem}.m-0{margin:0}.mt-3{margin-top:.75rem}.text-black{color:#000}.text-gray-400{color:#9ca3af}.text-blue-500{color:#3b82f6}.text-orange-600{color:#ea580c}.text-orange-700{color:#c2410c}.text-orange-800{color:#9a3412}.text-green-400{color:#10b981}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-green-500{background-color:#10b981}.border-blue-300{border-color:#93c5fd}.border-blue-600{border-color:#2563eb}.border-blue-700{border-color:#1d4ed8}.border-orange-200{border-color:#fed7aa}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}.translate-x-full{transform:translateX(100%)}.-translate-x-full{transform:translateX(-100%)}.transition-all{transition:all .2s ease-in-out}.transition-colors{transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out}.transition-opacity{transition:opacity .2s ease-in-out}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:bg-blue-600:hover{background-color:#2563eb}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-800:hover{color:#1f2937}.hover\:border-gray-400:hover{border-color:#9ca3af}.hover\:border-blue-300:hover{border-color:#93c5fd}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus,.focus\:ring-blue-500:focus{box-shadow:0 0 0 2px #3b82f680}.disabled{background-color:#f3f4f6;cursor:not-allowed}.opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.resize-none{resize:none}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-break:break-word}.animate-spin{animation:spin 1s linear infinite}.content-with-nav{padding-bottom:140px}.ask-feature-message-container.ai,.ask-feature-message-container.user{margin-bottom:1rem;width:100%}.ask-feature-message-bubble.ai,.ask-feature-message-bubble.user{border-radius:1rem;position:relative}.ask-feature-message-bubble.ai{box-shadow:0 1px 3px 0 #0000001a}.ask-feature-message-text{line-height:1.5;word-break:break-word}.ask-feature-avatar.ai,.ask-feature-avatar.user{align-items:center;border-radius:50%;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.ask-feature-textarea:focus{border-color:#0000;box-shadow:0 0 0 2px #3b82f680}.ask-feature-send-button{background-color:#3b82f6;color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-blue:#2563eb;--primary-green:#10b981;--primary-white:#fff;--light-blue:#dbeafe;--light-green:#d1fae5;--dark-blue:#1e40af;--dark-green:#059669;--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;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--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}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--gray-50);color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:100%;padding:0 1rem;padding:0 var(--spacing-4)}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}.btn{align-items:center;border:none;border-radius:.75rem;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:1rem;font-size:var(--font-size-base);font-weight:600;justify-content:center;min-height:44px;padding:.75rem 1.5rem;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:all .2s ease-in-out}.btn-primary{background:linear-gradient(135deg,#2563eb,#10b981);background:linear-gradient(135deg,var(--primary-blue),var(--primary-green));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:var(--primary-white)}.btn-primary:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:#fff;background:var(--primary-white);border:2px solid #2563eb;border:2px solid var(--primary-blue);color:#2563eb;color:var(--primary-blue)}.btn-secondary:hover{background:#2563eb;background:var(--primary-blue);color:#fff;color:var(--primary-white)}.btn-ghost{background:#0000;border:1px solid #d1d5db;border:1px solid var(--gray-300);color:#4b5563;color:var(--gray-600)}.btn-ghost:hover{background:#f3f4f6;background:var(--gray-100);color:#111827;color:var(--gray-900)}.btn-outline{background:#0000;border:2px solid #2563eb;border:2px solid var(--primary-blue);color:#2563eb;color:var(--primary-blue)}.btn-outline:hover{background:#2563eb;background:var(--primary-blue);color:#fff;color:var(--primary-white)}.card{background:#fff;background:var(--primary-white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--spacing-6)}.card-gradient{background:linear-gradient(135deg,#dbeafe,#d1fae5);background:linear-gradient(135deg,var(--light-blue),var(--light-green));border:none}.input{border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:.75rem;border-radius:var(--radius-lg);font-size:1rem;font-size:var(--font-size-base);min-height:44px;padding:.75rem 1rem;padding:var(--spacing-3) var(--spacing-4);transition:border-color .2s ease-in-out;width:100%}.input:focus{border-color:#2563eb;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a;outline:none}.nav-bottom{background:#fff;background:var(--primary-white);border-top:1px solid var(--gray-200);height:80px;padding:var(--spacing-2) 0}.nav-item{color:var(--gray-500);font-size:.75rem;font-size:var(--font-size-xs);min-width:60px;padding:var(--spacing-2);text-decoration:none;transition:color .2s ease-in-out}.nav-item.active{color:var(--primary-blue)}.nav-item:hover{color:#2563eb;color:var(--primary-blue)}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-bounce{animation:bounce 2s infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.content-with-nav{padding-bottom:120px}.main-content{min-height:calc(100vh - 80px);padding-bottom:20px}.text-primary{color:#2563eb;color:var(--primary-blue)}.text-green{color:#10b981;color:var(--primary-green)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-900{color:var(--gray-900)}.bg-primary{background-color:#2563eb;background-color:var(--primary-blue)}.bg-green{background-color:#10b981;background-color:var(--primary-green)}.bg-white{background-color:var(--primary-white)}.bg-gray-50{background-color:var(--gray-50)}.rounded-sm{border-radius:.375rem;border-radius:var(--radius-sm)}.rounded-md{border-radius:.5rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.75rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:1rem;border-radius:var(--radius-xl)}.rounded-2xl{border-radius:1.5rem;border-radius:var(--radius-2xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.m-2{margin:var(--spacing-2)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.h-full{height:100%}@media (max-width:640px){.container{padding:0 .75rem;padding:0 var(--spacing-3)}.card{padding:1rem;padding:var(--spacing-4)}.btn{font-size:1.125rem;font-size:var(--font-size-lg);padding:1rem 1.5rem;padding:var(--spacing-4) var(--spacing-6)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--primary-blue:#00f;--primary-green:green;--gray-500:#000}}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{bottom:0;left:0;right:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-10{z-index:10}.z-50{z-index:50}.w-full{width:100%}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-80{width:20rem}.w-96{width:24rem}.h-1{height:.25rem}.h-2{height:.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-80{height:20rem}.h-96{height:24rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.m-2{margin:.5rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-8xl{font-size:6rem;line-height:1}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.leading-relaxed{line-height:1.625}.text-white{color:#fff}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#111827}.text-blue-600{color:#2563eb}.text-blue-800{color:#1e40af}.text-green-600{color:#10b981}.text-green-800{color:#059669}.text-red-600{color:#dc2626}.text-yellow-500{color:#eab308}.text-yellow-600{color:#ca8a04}.text-yellow-800{color:#854d0e}.text-orange-500{color:#f97316}.text-purple-600{color:#9333ea}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-green-50{background-color:#f0fdf4}.bg-green-100{background-color:#dcfce7}.bg-yellow-50{background-color:#fefce8}.bg-orange-50{background-color:#fff7ed}.bg-purple-50{background-color:#faf5ff}.bg-red-50{background-color:#fef2f2}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-blue-500{border-color:#3b82f6}.border-white{border-color:#fff}.border-transparent{border-color:#0000}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.transform{transform:translateZ(0)}.scale-105{transform:scale(1.05)}.-translate-x-1\/2{transform:translateX(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}.-top-40{top:-10rem}.-right-40{right:-10rem}.-bottom-40{bottom:-10rem}.-left-40{left:-10rem}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-opacity-30:hover{background-opacity:.3}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px #00000040}.hover\:scale-105:hover{transform:scale(1.05)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus,.focus\:ring-blue-500:focus{box-shadow:0 0 0 2px #3b82f6}.focus\:border-transparent:focus{border-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.text-opacity-90{color:#ffffffe6}.text-opacity-70{color:#ffffffb3}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flex-shrink-0{flex-shrink:0}.animate-bounce{animation:bounce 1s infinite}.welcome-container{background:linear-gradient(135deg,#60a5fa,#3b82f6,#10b981);display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.welcome-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.welcome-background-circle{background:#ffffff1a;border-radius:50%;position:absolute}.welcome-background-circle.large{height:320px;right:-160px;top:-160px;width:320px}.welcome-background-circle.large.bottom{bottom:-160px;left:-160px;right:auto;top:auto}.welcome-background-circle.center{background:#ffffff0d;height:384px;left:50%;top:50%;transform:translate(-50%,-50%);width:384px}.welcome-background-circle.mobile{display:none}.welcome-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;min-height:0;padding:16px;position:relative;z-index:10}.welcome-logo{flex-shrink:0;margin-bottom:16px;text-align:center}.welcome-mascot{animation:float 3s ease-in-out infinite;margin-bottom:16px}.welcome-logo-img{border-radius:50%;box-shadow:0 8px 32px #0003;height:80px;object-fit:cover;width:80px}.welcome-title{color:#fff;font-size:32px;font-weight:700;margin-bottom:8px}.welcome-subtitle{color:#ffffffe6;font-size:20px}.welcome-message{flex-shrink:0;margin-bottom:24px;max-width:448px;padding:0 16px;text-align:center}.welcome-message h2{color:#fff;font-size:24px;font-weight:600;margin-bottom:16px}.welcome-message p{color:#ffffffe6;font-size:18px;line-height:1.6}.welcome-features{grid-gap:12px;display:grid;flex-shrink:0;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;max-width:384px;padding:0 16px}.welcome-feature{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;display:flex;flex-direction:column;padding:16px}.welcome-feature-icon{color:#fff;font-size:24px;margin-bottom:8px}.welcome-feature-text{color:#fffc;font-size:12px;font-weight:500}.welcome-buttons{flex-shrink:0;max-width:384px;padding:0 16px;width:100%}.welcome-button-primary{background:#3b82f6;border:none;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-bottom:16px;padding:16px;transition:all .3s ease;width:100%}.welcome-button-primary:hover{box-shadow:0 25px 50px -12px #00000040;transform:scale(1.05)}.welcome-button-secondary{background:#fff3;border:1px solid #ffffff4d;border-radius:16px;color:#fff;cursor:pointer;flex:1 1;font-size:18px;font-weight:600;padding:16px;transition:all .3s ease}.welcome-button-secondary:hover{background:#ffffff4d}.welcome-button-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.welcome-footer{flex-shrink:0;margin-top:16px;padding:0 16px;text-align:center}.welcome-footer-text{color:#ffffffb3;font-size:14px;margin-bottom:16px}.welcome-footer-links{display:flex;gap:24px;justify-content:center}.welcome-footer-link{color:#fff9;font-size:14px;text-decoration:none;transition:all .3s ease}.welcome-footer-link:hover{color:#fff;text-decoration:underline}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}}@media (max-width:768px){.welcome-background-circle.center,.welcome-background-circle.large{display:none}.welcome-background-circle.mobile{display:block}.welcome-background-circle.mobile.top{background:#ffffff0d;height:128px;right:40px;top:80px;width:128px}.welcome-background-circle.mobile.bottom{background:#ffffff0d;bottom:80px;height:96px;left:40px;width:96px}.welcome-content{justify-content:space-between;padding:12px}.welcome-logo{margin-bottom:12px}.welcome-logo-img{height:60px;width:60px}.welcome-title{font-size:24px}.welcome-subtitle{font-size:16px}.welcome-message{margin-bottom:16px}.welcome-message h2{font-size:20px}.welcome-message p{font-size:16px}.welcome-features{gap:8px;margin-bottom:16px}.welcome-feature{padding:12px}.welcome-feature-icon{font-size:20px}.welcome-feature-text{font-size:11px}.welcome-button-primary,.welcome-button-secondary{font-size:16px;padding:12px}.welcome-footer{margin-top:12px}.welcome-footer-links{gap:16px}}.login-container{align-items:center;background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;position:relative}.login-background{bottom:0;left:0;opacity:.6;position:absolute;right:0;top:0;z-index:0}.login-stock-chart{height:100%;left:0;position:absolute;top:0;width:100%}.login-stock-line{animation:stockRise 8s ease-in-out infinite}.login-stock-line:first-child{animation-delay:0s}.login-stock-line:nth-child(2){animation-delay:1s}.login-stock-line:nth-child(3){animation-delay:2s}.login-stock-line:nth-child(4){animation-delay:.5s}@keyframes stockRise{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.6;transform:translateY(-20px)}}@media (max-width:768px){.login-background{opacity:.4}}.login-card{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-width:28rem;padding:2rem;position:relative;width:100%;z-index:1}.login-header{margin-bottom:2rem;text-align:center}.login-logo{align-items:center;background:linear-gradient(90deg,#2563eb,#4f46e5);border-radius:50%;display:flex;height:4rem;justify-content:center;margin:0 auto 1rem;width:4rem}.login-logo-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.login-title{color:#111827;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#4b5563}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-remember-me-group{align-items:center;margin-bottom:.25rem;margin-top:-.75rem}.login-remember-me-group,.login-remember-me-label{display:flex!important;flex-direction:row!important;justify-content:flex-start;padding:0}.login-remember-me-label{align-items:center!important;cursor:pointer;gap:.5rem;margin:0;-webkit-user-select:none;user-select:none;width:auto}.login-remember-me-checkbox{accent-color:#2563eb;cursor:pointer;display:block;flex-shrink:0;height:1.125rem;margin:0;padding:0;width:1.125rem!important}.login-remember-me-text{color:#374151;display:block;font-size:.875rem;font-weight:400;line-height:1;margin:0;padding:0}.login-remember-me-label:hover .login-remember-me-text{color:#2563eb}.login-button{border:none;border-radius:.5rem;cursor:pointer;font-weight:500;outline:none;padding:.75rem 1rem;transform:translateY(0);transition:all .3s;width:100%}.login-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.login-button:disabled{background-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}.login-button:not(:disabled):hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-2px) scale(1.02)}.login-button:not(:disabled):active{transform:translateY(0) scale(.98)}.login-button.primary{background:linear-gradient(90deg,#06b6d4,#2563eb);color:#fff}.login-button.primary:hover:not(:disabled){background:linear-gradient(90deg,#0891b2,#1d4ed8)}.login-button.secondary{background-color:#9ca3af;color:#e5e7eb}.login-button-content{align-items:center;display:flex;justify-content:center}.login-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #fff;border-radius:50%;height:1.25rem;margin-right:.5rem;width:1.25rem}.login-footer{margin-top:1.5rem;text-align:center}.login-footer-text{color:#4b5563}.login-link{color:#2563eb;font-weight:500;text-decoration:none;transition:color .2s}.login-link:hover{color:#1d4ed8}.login-divider{margin-top:1.5rem}.login-divider-line{position:relative}.login-divider-line:before{background-color:#d1d5db;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.login-divider-text{display:flex;font-size:.875rem;justify-content:center;position:relative}.login-divider-span{background-color:#fff;color:#6b7280;padding:0 .5rem}.signup-container{align-items:center;background:#2563eb;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;position:relative}.signup-container:before{background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff0d 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.signup-back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:.75rem;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;left:1.5rem;padding:.875rem 1.5rem;position:absolute;top:1.5rem;transition:all .3s ease;z-index:10}.signup-back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-4px)}@media (max-width:768px){.signup-back-button{font-size:1rem;left:1rem;padding:.75rem 1.25rem;top:1rem}}.signup-card{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-width:28rem;padding:2rem;position:relative;width:100%;z-index:1}.signup-header{margin-bottom:2rem;text-align:center}.signup-logo{align-items:center;background:linear-gradient(90deg,#2563eb,#4f46e5);border-radius:50%;display:flex;height:4rem;justify-content:center;margin:0 auto 1rem;width:4rem}.signup-logo-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.signup-title{color:#111827;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.signup-subtitle{color:#4b5563}.signup-form{display:flex;flex-direction:column;gap:1.5rem}.form-label{display:block;margin-bottom:.5rem}.form-input{outline:none;padding:.75rem 1rem;width:100%}.form-input:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:2px}.form-input::placeholder{color:#9ca3af}.form-select{background-color:#fff;border-radius:.5rem;font-size:1rem;outline:none;padding:.75rem 1rem;transition:all .2s}.form-select:focus{outline:2px solid #3b82f6;outline-offset:2px}.signup-button{border:none;border-radius:.5rem;cursor:pointer;font-weight:500;outline:none;padding:.75rem 1rem;transform:translateY(0);transition:all .3s;width:100%}.signup-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.signup-button:disabled{background-color:#9ca3af;color:#e5e7eb;cursor:not-allowed}.signup-button:not(:disabled):hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-2px) scale(1.02)}.signup-button:not(:disabled):active{transform:translateY(0) scale(.98)}.signup-button.primary{background:linear-gradient(90deg,#06b6d4,#2563eb);color:#fff}.signup-button.primary:hover:not(:disabled){background:linear-gradient(90deg,#0891b2,#1d4ed8)}.signup-button.secondary{background-color:#9ca3af;color:#e5e7eb}.signup-button-content{align-items:center;display:flex;justify-content:center}.signup-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #fff;border-radius:50%;height:1.25rem;margin-right:.5rem;width:1.25rem}.signup-footer{margin-top:1.5rem;text-align:center}.signup-footer-text{color:#4b5563}.signup-link{color:#2563eb;font-weight:500;text-decoration:none;transition:color .2s}.signup-link:hover{color:#1d4ed8}.signup-divider{margin-top:1.5rem}.signup-divider-line{position:relative}.signup-divider-line:before{background-color:#d1d5db;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.signup-divider-text{display:flex;font-size:.875rem;justify-content:center;position:relative}.signup-divider-span{background-color:#fff;color:#6b7280;padding:0 .5rem}.guest-button{margin-top:1.5rem}.guest-button-link{border:1px solid #d1d5db;border-radius:.5rem;color:#374151;display:flex;font-weight:500;justify-content:center;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s;width:100%}.guest-button-link:hover{background-color:#f9fafb}.badge-wrapper{display:inline-block;position:relative}.badge{background:#fef3c7;background:var(--badge-bg,#fef3c7);border:2px solid #d97706;border:2px solid var(--badge-color,#d97706);border-radius:.75rem;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;gap:.5rem;min-width:-webkit-fit-content;min-width:fit-content;overflow:hidden;padding:.5rem .75rem;position:relative;transition:all .2s}.badge:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.badge-small{font-size:.75rem;padding:.375rem .5rem}.badge-medium{font-size:.875rem;padding:.5rem .75rem}.badge-large{font-size:1rem;padding:.75rem 1rem}.badge-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));font-size:1.5em;line-height:1}.badge-content{display:flex;flex-direction:column;gap:.25rem}.badge-name{color:#d97706;color:var(--badge-color,#d97706);font-weight:600;line-height:1.2}.badge-description{color:#6b7280;font-size:.75em;line-height:1.2}.badge-rarity-indicator{background-color:#6b7280;background-color:var(--rarity-color,#6b7280);height:100%;position:absolute;right:0;top:0;width:4px}.badge-common{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:3px solid #a18072;box-shadow:0 2px 6px #a180724d,inset 0 1px 0 #ffffff80}.badge-common:before{background:linear-gradient(135deg,#a1807233,#0000);border-radius:.75rem;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:-1}.badge-uncommon{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981;border-width:3px;box-shadow:0 2px 6px #10b9814d,inset 0 1px 0 #ffffff80}.badge-rare{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;border-width:3px;box-shadow:0 2px 6px #3b82f64d,inset 0 1px 0 #ffffff80}.badge-epic{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-color:#8b5cf6;border-width:3px;box-shadow:0 2px 8px #8b5cf666,inset 0 1px 0 #ffffff80}.badge-legendary{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b;border-width:4px;box-shadow:0 4px 12px #f59e0b80,inset 0 2px 0 #fff9,inset 0 -2px 0 #0000001a;position:relative}.badge-legendary:after{animation:goldShimmer 3s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b4d,#d977064d);border-radius:.875rem;bottom:-4px;content:"";left:-4px;position:absolute;right:-4px;top:-4px;z-index:-1}.badge-legendary:hover{box-shadow:0 6px 16px #f59e0b99,inset 0 2px 0 #fff9;transform:translateY(-2px) scale(1.05)}@keyframes goldShimmer{0%,to{opacity:.3}50%{opacity:.6}}.badge-tooltip{background:#1f2937;border-radius:.5rem;bottom:100%;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:.5rem;max-width:250px;min-width:200px;padding:.75rem;pointer-events:none;z-index:1000}.badge-tooltip,.badge-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.badge-tooltip:after{border:6px solid #0000;border-top-color:#1f2937;content:"";top:100%}.tooltip-name{color:#fff;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.tooltip-description{color:#d1d5db;font-size:.75rem;line-height:1.4;margin-bottom:.5rem}.tooltip-rarity{color:#9ca3af;font-size:.7rem;text-transform:capitalize}.tooltip-rarity span{font-weight:600}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:1rem 0}.badge-list{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.badge-collection{gap:1.5rem}.badge-category,.badge-collection{display:flex;flex-direction:column}.badge-category{gap:.75rem}.badge-category-title{font-size:1rem;margin-bottom:.5rem}.badge-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.badge-modal-content{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.badge-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.badge-modal-title{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.badge-modal-close{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.5rem;transition:all .2s}.badge-modal-close:hover{background:#f3f4f6;color:#111827}.badge-modal-progress{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1.5rem}.progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.progress-text{font-size:.875rem;font-weight:500}.progress-percentage{color:#2563eb;font-size:1rem;font-weight:600}.progress-bar-container{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:4px;height:100%;transition:width .3s ease}.badge-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.badge-category-section{margin-bottom:2rem}.badge-category-section:last-child{margin-bottom:0}.badge-category-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.badge-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.badge-item-container{position:relative;transition:transform .2s;width:100%}.badge-item-container .badge{align-items:center;flex-direction:column;gap:.75rem;justify-content:center;min-height:140px;padding:1rem;text-align:center;width:100%}.badge-item-container .badge .badge-icon{font-size:2.5rem;margin-bottom:.25rem}.badge-item-container .badge .badge-content{gap:.5rem;width:100%}.badge-item-container .badge .badge-name{font-size:.875rem;font-weight:600}.badge-item-container .badge .badge-description{color:#6b7280;font-size:.75rem;line-height:1.3}.badge-item-container.earned{opacity:1}.badge-item-container.earned .badge{border-style:solid;border-width:2px}.badge-item-container.locked{filter:grayscale(.5);opacity:.6}.badge-item-container.locked .badge{background:#f3f4f6!important;border-color:#9ca3af!important}.badge-locked-overlay{align-items:center;background:#0000004d;border-radius:.75rem;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.lock-icon{font-size:2rem;opacity:.8}@media (max-width:768px){.badge-modal-content{border-radius:0;max-height:100vh;max-width:100%}.badge-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.badge-modal-body,.badge-modal-header,.badge-modal-progress{padding:1rem}}.dashboard-container{background-color:#f9fafb;min-height:100vh}.dashboard-content{display:flex;flex-direction:column;gap:.75rem;max-height:calc(100vh - 140px);overflow-x:hidden;overflow-y:auto;padding:.75rem}@media (max-height:800px){.dashboard-content{gap:.5rem;padding:.5rem}}@media (max-height:700px){.dashboard-content{gap:.4rem;padding:.4rem}}.loading-screen{background:linear-gradient(to bottom right,#eff6ff,#e0e7ff)}.logo-container{align-items:center;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:.5rem;display:flex;height:2rem;justify-content:center;width:2rem}.logo-img{border-radius:.5rem;height:100%;object-fit:cover;width:100%}.top-bar-right{align-items:center;display:flex;gap:.5rem}.user-info{text-align:right}.user-level{color:#111827;font-size:.875rem;font-weight:500}.user-title{color:#6b7280;font-size:.75rem}.profile-button,.trophy-icon{align-items:center;background-color:#dbeafe;border-radius:50%;color:#2563eb;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.profile-button{border:none;cursor:pointer;padding:.5rem;transition:all .2s}.profile-button:hover{background-color:#bfdbfe;color:#1d4ed8;transform:scale(1.05)}.admin-button{align-items:center;background-color:#d1fae5;border:none;border-radius:50%;color:#10b981;cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:.5rem;transition:all .2s;width:2.5rem}.admin-button:hover{background-color:#a7f3d0;color:#059669;transform:scale(1.05)}.leagues-button{align-items:center;background-color:#f3e8ff;border:none;border-radius:50%;color:#9333ea;cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:.5rem;transition:all .2s;width:2.5rem}.leagues-button:hover{background-color:#e9d5ff;color:#7e22ce;transform:scale(1.05)}.logout-button{align-items:center;background-color:#fee2e2;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:.5rem;transition:all .2s;width:2.5rem}.logout-button:hover{background-color:#fecaca;color:#dc2626;transform:scale(1.05)}.greeting-section{margin-bottom:.25rem;text-align:center}.greeting-title{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.streak-display-card{background:linear-gradient(135deg,#f97316,#ea580c);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:.5rem;padding:1rem}.streak-display-content{align-items:center;display:flex;gap:1rem;justify-content:center}.streak-display-icon{animation:flameFlicker 2s ease-in-out infinite;color:#fff;font-size:3rem}.streak-display-text{align-items:center;display:flex;flex-direction:column}.streak-display-number{color:#fff;font-size:3rem;font-weight:800;line-height:1;text-shadow:0 2px 4px #0003}.streak-display-label{color:#ffffffe6;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}@keyframes flameFlicker{0%,to{transform:scale(1) rotate(-2deg)}25%{transform:scale(1.05) rotate(2deg)}50%{transform:scale(1) rotate(-1deg)}75%{transform:scale(1.05) rotate(1deg)}}@keyframes streakPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.progress-card{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;padding:.75rem}.progress-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.level-display{align-items:flex-start;display:flex;flex-direction:column}.level-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.level-number{color:#2563eb;font-size:1.75rem;font-weight:800;line-height:1}.xp-display{align-items:center;display:flex;flex:1 1;gap:.5rem;justify-content:flex-end}.xp-icon{color:#eab308;font-size:1.25rem}.xp-text{color:#111827;font-size:.95rem;font-weight:700}.sync-info{color:#6b7280;font-size:.75rem}.sync-indicator{align-items:center;display:flex;gap:.25rem}.sync-dot{animation:pulse 2s infinite;background-color:#10b981;border-radius:50%;height:.5rem;width:.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.progress-bar-container{background-color:#e0e0e0;border-radius:.375rem;height:.75rem;width:100%}.progress-bar-fill{background-color:#2563eb;border-radius:.375rem;box-shadow:0 1px 2px 0 #0000000d;height:.75rem;transition:all .3s}.progress-text{color:#6b7280;font-size:.75rem;margin-top:.25rem}.fact-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1rem}.fact-card.completed{background-color:#f0fdf4;border-color:#bbf7d0}.fact-card-header{margin-bottom:.75rem;text-align:center}.fact-card-title{color:#4b5563;font-size:1rem;font-weight:600;margin:0}.fact-card-content{margin-bottom:.75rem;text-align:center}.fact-category{align-items:center;background-color:#dbeafe;border-radius:9999px;color:#1e40af;display:inline-flex;font-size:.875rem;font-weight:500;margin-bottom:.75rem;padding:.25rem .75rem}.fact-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.fact-content{color:#374151;line-height:1.625}.fact-button{background:linear-gradient(90deg,#06b6d4,#2563eb);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem;transition:all .2s;width:100%}.fact-button:hover{background:linear-gradient(90deg,#0891b2,#1d4ed8);transform:translateY(-1px)}.fact-completed-message{margin-top:1.5rem;text-align:center}.fact-completed-content{background-color:#fef3c7;border:1px solid #fde68a;border-radius:.5rem;padding:1rem}.fact-completed-text{color:#92400e;font-weight:500}.fact-completed-subtext{color:#d97706;font-size:.875rem;margin-top:.25rem}.completed-fact-card{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem}.completed-fact-content{text-align:center}.completed-icon-container{align-items:center;background-color:#dcfce7;border-radius:50%;display:inline-flex;height:4rem;justify-content:center;margin-bottom:1rem;width:4rem}.completed-icon{color:#16a34a;font-size:1.5rem}.completed-title{color:#14532d;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.completed-text{color:#15803d;margin-bottom:.75rem}.streak-card{background-color:#fed7aa;border:1px solid #fdba74;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.streak-text-completed{color:#9a3412;font-weight:500}.streak-subtext{color:#c2410c;font-size:.875rem}.quick-actions{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.action-button{background-color:#fff;border:2px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;padding:.875rem;position:relative;text-align:left;transition:all .2s}.action-button:before{background:linear-gradient(90deg,#0000,#2563eb1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.action-button:hover:before{left:100%}.action-button:hover{border-color:#2563eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.action-button-primary{background-color:#fff;border-color:#e5e7eb}.action-button-primary:hover{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#2563eb;box-shadow:0 6px 12px -2px #2563eb33}.action-icon{font-size:1.5rem;margin-bottom:.25rem}.action-icon.learn{color:#2563eb}.action-icon.ask{color:#16a34a}.action-icon.leagues{color:#9333ea;font-size:1.5rem}.action-icon-wrapper{align-items:center;display:inline-flex;justify-content:center;margin-bottom:.25rem}.leagues-icon-wrapper{align-items:center;background-color:#f3e8ff;border-radius:50%;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.leagues-icon-wrapper:hover{background-color:#e9d5ff;transform:scale(1.05);transition:all .2s}.action-title{color:#111827;font-size:.95rem;font-weight:700;margin:0}.action-subtitle{color:#6b7280;font-size:.75rem;margin:0}.badges-card{background-color:#fff;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;padding:.75rem}.badges-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.badges-title{color:#111827;font-size:.95rem;font-weight:600;margin:0}.view-all-badges-btn{background:none;border:none;border-radius:.375rem;color:#2563eb;cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem;transition:background .2s}.view-all-badges-btn:hover{background:#eff6ff}.badges-list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.badge-more-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s}.badge-more-btn:hover{background:#e5e7eb;color:#111827}.badges-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.badges-empty-icon{color:#d1d5db;font-size:3rem;margin-bottom:.75rem}.badges-empty-text{color:#6b7280;font-size:.875rem;margin:0}.content-with-nav{max-height:100vh;overflow-y:auto;padding-bottom:100px}@media (max-width:768px){.dashboard-content{gap:.5rem;padding:.5rem}.streak-display-icon,.streak-display-number{font-size:2.5rem}.level-number{font-size:1.5rem}.quick-actions{grid-template-columns:1fr}}@media (max-height:600px){.streak-display-card{padding:.75rem}.streak-display-icon,.streak-display-number{font-size:2rem}.fact-card{padding:.75rem}}.dashboard-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding:1.5rem 1rem}.dashboard-footer-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.dashboard-footer-link{color:#6b7280;font-size:.875rem;text-decoration:none;transition:color .2s}.dashboard-footer-link:hover{color:#2563eb;text-decoration:underline}.learning-container{background-color:#f9fafb;min-height:100vh}.learning-content{padding-bottom:120px}.learning-loading{align-items:center;background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);display:flex;justify-content:center;min-height:100vh}.learning-loading-content{text-align:center}.learning-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #2563eb;border-radius:50%;height:3rem;margin:0 auto 1rem;width:3rem}.learning-loading-text{color:#4b5563}.learning-top-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px 0 #0000000d;padding:.75rem 1rem}.learning-top-content{align-items:center;display:flex;justify-content:space-between}.learning-top-left{align-items:center;display:flex;gap:.75rem}.learning-back-button{align-items:center;background:none;border:none;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;min-width:44px;padding:.5rem;transition:background-color .2s}.learning-title{color:#111827;font-size:1.25rem;font-weight:700}.learning-main{padding:1rem}.learning-header{margin-bottom:2rem;text-align:center}.learning-header-title{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.learning-header-subtitle{color:#2563eb;font-size:1.125rem;font-weight:600}.learning-courses-loading{padding:2rem 0;text-align:center}.learning-courses-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #2563eb;border-radius:50%;height:2rem;margin:0 auto 1rem;width:2rem}.learning-courses-loading-text{color:#4b5563}.learning-courses-grid{display:flex;flex-direction:column;gap:1rem}.learning-course-card{background-color:#fff;border:2px solid #0000;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;padding:1.5rem;transition:all .2s}.learning-course-card .learning-course-content.learning-course-completed{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;border-radius:.5rem;margin:-1rem;padding:1rem}.learning-course-card:hover:not(.locked){box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.learning-course-card.locked{opacity:.6}.learning-course-content{align-items:flex-start;display:flex;gap:1rem}.learning-course-thumbnail{font-size:3rem;line-height:1;min-width:60px}.learning-course-info{flex:1 1}.learning-course-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.learning-course-title{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.learning-course-icon{color:#9ca3af;font-size:1.25rem}.learning-course-icon-completed{color:#10b981;filter:drop-shadow(0 2px 4px rgba(16,185,129,.3));font-size:1.5rem}.learning-course-description{color:#4b5563;margin:0 0 1rem}.learning-course-footer{align-items:center;display:flex;justify-content:space-between}.learning-course-stats{align-items:center;display:flex;gap:1rem}.learning-course-lessons{color:#6b7280;font-size:.875rem}.learning-course-progress-container{background-color:#e5e7eb;border-radius:9999px;height:.5rem;width:6rem}.learning-course-progress-bar{border-radius:9999px;height:.5rem;transition:all .3s}.learning-course-progress-bar.blue{background-color:#3b82f6}.learning-course-progress-bar.green{background-color:#10b981}.learning-course-progress-bar.purple{background-color:#8b5cf6}.learning-course-progress-bar.orange{background-color:#f97316}.learning-course-status{border-radius:9999px;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.learning-course-status.blue{background-color:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.learning-course-status.green{background-color:#dcfce7;border:1px solid #bbf7d0;color:#166534}.learning-course-status.purple{background-color:#f3e8ff;border:1px solid #e9d5ff;color:#7c3aed}.learning-course-status.orange{background-color:#fed7aa;border:1px solid #fdba74;color:#9a3412}.learning-tips{background:linear-gradient(90deg,#eff6ff,#f0fdf4);border-radius:.75rem;margin-top:2rem;padding:1.5rem}.learning-tips-title{color:#111827;font-weight:600;margin-bottom:.75rem}.learning-tips-list{color:#374151;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;list-style:none;margin:0;padding:0}.learning-tips-list li{margin:0}.course-back-button{align-items:center;background:none;border:none;border-radius:.5rem;color:#2563eb;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.5rem;transition:all .2s}.course-back-button:hover{background-color:#eff6ff;color:#1d4ed8;transform:translateX(-2px)}.course-back-icon{font-size:1.5rem}.course-thumbnail-large{font-size:4rem;line-height:1;min-width:80px}.course-title-large{color:#111827;font-size:2rem;font-weight:800;line-height:1.2;margin-bottom:.75rem}.course-description-large{color:#4b5563;font-size:1.125rem;line-height:1.6;margin-bottom:1.5rem}.course-stats-container{align-items:center;border-top:2px solid #e5e7eb;display:flex;gap:2rem;justify-content:flex-start;padding-top:1.5rem}.course-stat-item{align-items:center;display:flex;flex-direction:column;gap:.5rem}.course-stat-divider{background-color:#e5e7eb;height:3rem;width:1px}.course-stat-number{color:#111827;font-size:2.5rem;font-weight:800;line-height:1}.course-stat-number.course-stat-xp{color:#eab308;text-shadow:0 2px 4px #eab30833}.course-stat-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.course-unit-card{background-color:#fff;border:2px solid #e5e7eb;border-radius:1rem;padding:1.5rem;transition:all .3s}.course-unit-card.course-unit-completed{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444;box-shadow:0 4px 6px -1px #ef44441a}.course-unit-number{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 4px 6px -1px #6366f14d;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:800;height:3rem;justify-content:center;width:3rem}.course-unit-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.course-unit-description{color:#6b7280;font-size:.875rem}.course-lessons-list{display:flex;flex-direction:column;gap:.75rem;margin-left:4.5rem}.course-lesson-item{align-items:center;background-color:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.course-lesson-item.course-lesson-completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.course-lesson-item.course-lesson-locked{background-color:#f9fafb;border-color:#e5e7eb;cursor:not-allowed;opacity:.6}.course-lesson-item.course-lesson-available:hover{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.course-lesson-number{align-items:center;border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:800;height:3rem;justify-content:center;width:3rem}.course-lesson-number-completed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 8px #10b9814d;color:#fff}.course-lesson-number-available{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 8px #3b82f64d;color:#fff}.course-lesson-number-locked{background-color:#d1d5db;color:#6b7280}.course-lesson-checkmark{color:#fff;font-size:1.5rem}.course-lesson-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.course-lesson-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.course-lesson-title{color:#111827;flex:1 1;font-size:1rem;font-weight:600;margin:0}.course-lesson-xp{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:9999px;box-shadow:0 2px 4px #f59e0b33;display:flex;gap:.375rem;padding:.375rem .75rem}.course-lesson-xp-icon{color:#f59e0b;font-size:.875rem}.course-lesson-xp-text{color:#92400e;font-size:.875rem;font-weight:700}.course-lesson-footer{align-items:center;display:flex;justify-content:flex-end}.course-lesson-status-completed{color:#059669;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.course-lesson-status-locked{color:#6b7280;font-size:.875rem}.course-lesson-start-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:9999px;box-shadow:0 4px 6px -1px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:700;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.course-lesson-start-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 12px -2px #10b98166;transform:translateY(-2px)}.course-lesson-start-icon{font-size:.875rem}@media (max-width:768px){.course-stats-container{gap:1rem}.course-stat-number{font-size:2rem}.course-lessons-list{margin-left:0}.course-lesson-number,.course-unit-number{font-size:1rem;height:2.5rem;width:2.5rem}}.lesson-content-html{color:#333;font-size:16px;line-height:1.8}.lesson-content-html h1,.lesson-content-html h2,.lesson-content-html h3,.lesson-content-html h4,.lesson-content-html h5,.lesson-content-html h6{color:#1a1a1a;font-weight:600;margin-bottom:16px;margin-top:24px}.lesson-content-html h1{border-bottom:2px solid #e0e0e0;font-size:2rem;padding-bottom:8px}.lesson-content-html h2{font-size:1.75rem}.lesson-content-html h3{font-size:1.5rem}.lesson-content-html h4{font-size:1.25rem}.lesson-content-html p{line-height:1.8;margin-bottom:16px}.lesson-content-html img{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:auto;margin:20px 0;max-width:100%}.lesson-content-html ol,.lesson-content-html ul{line-height:1.8;margin:16px 0;padding-left:30px}.lesson-content-html li{margin-bottom:8px}.lesson-content-html blockquote{background:#f9f9f9;border-left:4px solid #667eea;border-radius:4px;color:#666;font-style:italic;margin:20px 0;padding:16px 20px}.lesson-content-html code{background:#f5f5f5;border-radius:4px;color:#e83e8c;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.lesson-content-html pre{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;overflow-x:auto;padding:16px}.lesson-content-html pre code{background:none;color:#333;padding:0}.lesson-content-html a{color:#667eea;text-decoration:underline;transition:color .2s}.lesson-content-html a:hover{color:#5568d3}.lesson-content-html b,.lesson-content-html strong{color:#1a1a1a;font-weight:600}.lesson-content-html em,.lesson-content-html i{font-style:italic}.lesson-content-html u{text-decoration:underline}.lesson-content-html table{border-collapse:collapse;margin:20px 0;width:100%}.lesson-content-html table td,.lesson-content-html table th{border:1px solid #e0e0e0;padding:12px;text-align:left}.lesson-content-html table th{background:#f5f5f5;font-weight:600}.lesson-content-html .ql-align-center{text-align:center}.lesson-content-html .ql-align-right{text-align:right}.lesson-content-html .ql-align-justify{text-align:justify}.ask-feature-container{background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.ask-feature-top-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;padding:.75rem 1rem}.ask-feature-top-bar-content{align-items:center;display:flex;justify-content:space-between}.ask-feature-top-bar-left{align-items:center;display:flex;gap:.75rem}.ask-feature-back-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;min-width:44px;padding:.5rem;transition:background-color .2s}.ask-feature-title{color:#111827;font-size:1.25rem;font-weight:700}.ask-feature-top-bar-right{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.ask-feature-ai-icon{color:#3b82f6}.ask-feature-service-unavailable{align-items:center;color:#ea580c;display:flex;font-size:.75rem;gap:.25rem}.ask-feature-test-connection{background-color:#10b981;border:none;border-radius:.25rem;color:#000;cursor:pointer;font-size:.75rem;margin-left:.5rem;padding:.25rem .5rem}.ask-feature-sidebar-toggle{align-items:center;background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.25rem;transition:background-color .2s}.ask-feature-sidebar-toggle:hover{background-color:#f3f4f6;color:#3b82f6}.ask-feature-main-content{display:flex;flex:1 1;overflow:hidden}.ask-feature-sidebar{background-color:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 4px #0000000d;display:flex;flex-direction:column;overflow:hidden;width:280px}.ask-feature-sidebar-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem}.ask-feature-sidebar-title{color:#111827;font-size:1rem;font-weight:600;margin:0}.ask-feature-new-conversation-button{align-items:center;background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .2s;width:32px}.ask-feature-new-conversation-button:hover{background-color:#2563eb}.ask-feature-conversations-list{flex:1 1;overflow-y:auto;padding:.5rem}.ask-feature-loading-conversations{align-items:center;color:#6b7280;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;justify-content:center;padding:2rem 1rem}.ask-feature-no-conversations{color:#6b7280;padding:2rem 1rem;text-align:center}.ask-feature-no-conversations p{font-size:.875rem;margin:.5rem 0}.ask-feature-no-conversations-hint{color:#9ca3af!important;font-size:.75rem!important}.ask-feature-conversation-item{align-items:center;border-radius:.5rem;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem;padding:.75rem;position:relative;transition:background-color .2s}.ask-feature-conversation-item:hover{background-color:#f3f4f6}.ask-feature-conversation-item.active{background-color:#eff6ff;border:1px solid #3b82f6}.ask-feature-conversation-content{flex:1 1;min-width:0}.ask-feature-conversation-title{color:#111827;font-size:.875rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-feature-conversation-item.active .ask-feature-conversation-title{color:#3b82f6}.ask-feature-conversation-meta{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.5rem}.ask-feature-conversation-count{color:#6b7280}.ask-feature-conversation-time{color:#9ca3af}.ask-feature-conversation-actions{align-items:center;display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.ask-feature-conversation-item:hover .ask-feature-conversation-actions{opacity:1}.ask-feature-conversation-delete,.ask-feature-conversation-rename{align-items:center;background:none;border:none;border-radius:.25rem;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:background-color .2s,color .2s}.ask-feature-conversation-rename:hover{background-color:#dbeafe;color:#3b82f6}.ask-feature-conversation-delete:hover{background-color:#fee2e2;color:#dc2626}.ask-feature-chat-container{display:flex;flex:1 1;flex-direction:column;transition:margin-left .3s ease}.ask-feature-chat-container.with-sidebar{margin-left:0}.ask-feature-messages-area{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1rem;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.ask-feature-loading-history{align-items:center;display:flex;justify-content:center;padding:2rem 0}.ask-feature-loading-spinner{align-items:center;color:#6b7280;display:flex;gap:.5rem}.ask-feature-spinner{animation:spin 1s linear infinite;border:2px solid #3b82f6;border-radius:50%;border-top-color:#0000;height:1rem;width:1rem}.ask-feature-service-warning{background-color:#fff7ed;border:1px solid #fed7aa;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.ask-feature-warning-content{align-items:center;color:#9a3412;display:flex;gap:.5rem}.ask-feature-warning-text{color:#c2410c;font-size:.875rem;margin-top:.25rem}.ask-feature-welcome{padding:2rem 0;text-align:center}.ask-feature-welcome-icon{align-items:center;background-color:#dbeafe;border-radius:50%;display:flex;height:4rem;justify-content:center;margin:0 auto 1rem;width:4rem}.ask-feature-welcome-icon svg{color:#2563eb;font-size:1.5rem}.ask-feature-welcome-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.ask-feature-welcome-subtitle{color:#6b7280;margin-bottom:1.5rem}.ask-feature-prompts-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr;margin:0 auto;max-width:28rem}.ask-feature-prompt-button{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;font-size:.875rem;padding:.75rem;text-align:left;transition:background-color .2s}.ask-feature-prompt-button:hover{background-color:#f9fafb}.ask-feature-previous-prompts{margin-top:2rem}.ask-feature-previous-title{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.ask-feature-previous-icon{color:#3b82f6}.ask-feature-previous-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr;margin:0 auto;max-width:28rem}.ask-feature-previous-button{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;font-size:.875rem;padding:.75rem;text-align:left;transition:background-color .2s}.ask-feature-previous-button:hover{background-color:#f3f4f6}.ask-feature-previous-content{color:#111827}.ask-feature-previous-timestamp{color:#6b7280;font-size:.75rem;margin-top:.25rem}.ask-feature-message-container{margin-bottom:1rem;width:100%}.ask-feature-message-container.user{display:flex;justify-content:flex-end}.ask-feature-message-container.ai{display:flex;justify-content:flex-start}.ask-feature-message-wrapper{align-items:flex-end;display:flex;gap:.5rem;justify-content:flex-end;max-width:20rem;width:100%}.ask-feature-message-wrapper.ai{align-items:flex-start;gap:.75rem;justify-content:flex-start;max-width:42rem}.ask-feature-message-content{align-items:flex-end;display:flex;flex-direction:column}.ask-feature-message-content.ai{align-items:flex-start}.ask-feature-message-bubble{border-radius:1rem;box-shadow:0 1px 3px 0 #0000001a;position:relative}.ask-feature-message-bubble.user{background-color:#2563eb;box-shadow:0 10px 15px -3px #0000001a;color:#000;max-width:20rem}.ask-feature-message-bubble.ai{background-color:#fff;border:1px solid #e5e7eb;color:#111827;max-width:70%;min-width:min(20rem,90%)}@media (max-width:768px){.ask-feature-message-bubble.ai{max-width:85%;min-width:min(15rem,90%)}}.ask-feature-message-text{font-size:.875rem;font-weight:500;line-height:1.6;padding:.75rem 1rem;pointer-events:auto;text-align:right;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;white-space:pre-wrap;word-break:break-words}.ask-feature-message-text.ai{font-weight:400;text-align:left;white-space:normal}.ask-feature-message-text.ai p{margin:.5rem 0}.ask-feature-message-text.ai p:first-child{margin-top:0}.ask-feature-message-text.ai p:last-child{margin-bottom:0}.ask-feature-message-text.ai strong{color:#111827;font-weight:600}.ask-feature-message-text.ai ol,.ask-feature-message-text.ai ul{margin:.75rem 0;padding-left:1.5rem}.ask-feature-message-text.ai li{line-height:1.6;margin:.5rem 0}.ask-feature-message-tail{height:0;position:absolute;top:1rem;width:0}.ask-feature-message-tail.user{border-bottom:8px solid #0000;border-left:8px solid #2563eb;border-top:8px solid #0000;right:0;transform:translateX(100%)}.ask-feature-message-tail.ai{border-bottom:8px solid #0000;border-right:8px solid #fff;border-top:8px solid #0000;left:0;transform:translateX(-100%)}.ask-feature-message-timestamp{align-items:center;display:flex;flex-direction:row-reverse;gap:.5rem;margin-top:.5rem}.ask-feature-message-timestamp.ai{flex-direction:row}.ask-feature-timestamp-text{color:#6b7280;font-size:.75rem;text-align:right}.ask-feature-timestamp-text.ai{text-align:left}.ask-feature-message-actions{align-items:center;display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.ask-feature-message-container:hover .ask-feature-message-actions{opacity:1}.ask-feature-action-button{background:none;border:none;border-radius:.25rem;color:#9ca3af;cursor:pointer;font-size:.875rem;padding:.25rem;transition:all .2s}.ask-feature-action-button:hover{background-color:#f3f4f6;color:#4b5563;transform:scale(1.1)}.ask-feature-action-button:active{transform:scale(.95)}.ask-feature-avatar{align-items:center;border-radius:50%;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.ask-feature-avatar.user{background-color:#2563eb;border:2px solid #1d4ed8}.ask-feature-avatar.ai{background-color:#f3f4f6;border:1px solid #e5e7eb}.ask-feature-avatar svg{font-size:.875rem}.ask-feature-avatar.user svg{color:#000}.ask-feature-avatar.ai svg{color:#3b82f6}.ask-feature-typing-container{display:flex;justify-content:flex-start;margin-bottom:1rem}.ask-feature-typing-wrapper{align-items:flex-start;display:flex;gap:.75rem;max-width:42rem}.ask-feature-typing-bubble{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px 0 #0000001a;color:#111827;position:relative}.ask-feature-typing-content{padding:.75rem 1rem}.ask-feature-typing-text{align-items:center;display:flex;gap:.5rem}.ask-feature-typing-dots{display:flex;gap:.25rem}.ask-feature-typing-dot{animation:bounce 1.4s ease-in-out infinite both;background-color:#9ca3af;border-radius:50%;height:.5rem;width:.5rem}.ask-feature-typing-dot:nth-child(2){animation-delay:.1s}.ask-feature-typing-dot:nth-child(3){animation-delay:.2s}.ask-feature-typing-tail{border-bottom:8px solid #0000;border-right:8px solid #fff;border-top:8px solid #0000;height:0;left:0;position:absolute;top:1rem;transform:translateX(-100%);width:0}.ask-feature-previous-section{background-color:#f9fafb;border-radius:.5rem;margin:0 1rem 1rem;padding:1rem}.ask-feature-previous-section-title{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.ask-feature-previous-section-icon{color:#3b82f6}.ask-feature-previous-section-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.ask-feature-previous-section-button{background-color:#fff;border:1px solid #e5e7eb;border-radius:9999px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.ask-feature-previous-section-button:hover{background-color:#f3f4f6;border-color:#93c5fd}.ask-feature-input-container{background-color:#fff;border-top:1px solid #e5e7eb;padding:1rem}.ask-feature-input-wrapper{align-items:flex-end;display:flex;gap:.75rem}.ask-feature-input-field{flex:1 1;position:relative}.ask-feature-textarea{border:1px solid #d1d5db;border-radius:9999px;max-height:7.5rem;min-height:3rem;outline:none;padding:.75rem 3rem .75rem 1rem;resize:none;transition:all .2s;width:100%}.ask-feature-textarea:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:2px}.ask-feature-textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.ask-feature-textarea:not(:disabled):hover{border-color:#9ca3af}.ask-feature-send-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:2rem;justify-content:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all .2s;width:2rem}.ask-feature-send-button:disabled{background-color:#d1d5db;color:#6b7280;cursor:not-allowed}.ask-feature-send-button:not(:disabled){background-color:#3b82f6;color:#fff}.ask-feature-send-button:not(:disabled):hover{background-color:#2563eb;transform:translateY(-50%) scale(1.05)}.ask-feature-input-footer{align-items:center;color:#6b7280;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.75rem}.ask-feature-input-footer-left{align-items:center;display:flex;gap:1rem}.ask-feature-status-indicator{align-items:center;display:flex;gap:.25rem}.ask-feature-status-dot{background-color:#10b981;border-radius:50%;height:.5rem;width:.5rem}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.icon-snapshot:before{content:"📸";margin-right:4px}.icon-refresh:before{content:"🔄";margin-right:4px}.icon-download:before{content:"⬇️";margin-right:4px}.icon-chart:before{content:"📈";margin-right:4px}.icon-settings:before{content:"⚙️";margin-right:4px}.icon-trend-up:before{content:"↗";margin-right:4px}.icon-trend-down:before{content:"↘";margin-right:4px}.icon-calendar:before{content:"📅";margin-right:4px}.icon-graph:before{content:"📊";margin-right:4px}.icon-clock:before{content:"⏱️";margin-right:4px}.portfolio-selector{display:inline-block;position:relative}.portfolio-selector-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.portfolio-selector-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.portfolio-selector-button:disabled{cursor:not-allowed;opacity:.6}.portfolio-selector-label{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.portfolio-name{align-items:center;display:flex;font-size:14px;font-weight:600;gap:6px}.challenge-badge-small{align-items:center;display:inline-flex;font-size:10px;opacity:.9}.portfolio-league{font-size:11px;opacity:.9}.portfolio-selector-dropdown{animation:slideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;left:auto;max-height:600px;max-width:calc(100vw - 16px);min-width:320px;overflow:hidden;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);width:-webkit-max-content;width:max-content;z-index:1000}.portfolio-section{border-bottom:1px solid #e5e7eb}.portfolio-section:last-child{border-bottom:none}.portfolio-section-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;padding:12px 16px}.portfolio-section-header h3{color:#374151;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.challenge-section .portfolio-section-header{background:linear-gradient(135deg,#fff9f0,#fff4e6)}.challenge-section .portfolio-section-header h3{color:#92400e}.section-icon{color:#f59e0b;font-size:14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.portfolio-list{max-height:400px;overflow-y:auto}.portfolio-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px;transition:background .2s ease}.portfolio-item:hover{background:#f8f9fa}.portfolio-item.active{background:#f0f4ff;border-left:3px solid #667eea}.portfolio-item.challenge-portfolio{background:#fff9f0}.portfolio-item.challenge-portfolio.active{background:#fff4e6;border-left:3px solid #ffc107}.portfolio-item-info{flex:1 1}.portfolio-item-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.portfolio-item-name{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-weight:600;gap:8px}.challenge-badge{align-items:center;background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:12px;color:#fff;display:inline-flex;font-size:10px;font-weight:600;gap:4px;padding:2px 8px;text-transform:uppercase}.active-indicator{color:#667eea;font-size:12px}.portfolio-item-details{color:#666;display:flex;font-size:12px;gap:12px}.portfolio-item-league{font-weight:500}.portfolio-item-balance{color:#28a745;font-weight:600}.portfolio-item-actions{display:flex;gap:8px}.portfolio-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.portfolio-action-btn.activate{background:#667eea;color:#fff}.portfolio-action-btn.activate:hover{background:#5568d3}.portfolio-action-btn.edit{background:#f0f0f0;color:#333;padding:6px 10px}.portfolio-action-btn.edit:hover{background:#e0e0e0}.portfolio-action-btn.delete{background:#ff4757;color:#fff;padding:6px 10px}.portfolio-action-btn.delete:hover{background:#ee3742}.portfolio-action-btn:disabled{cursor:not-allowed;opacity:.5}.create-portfolio-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:0;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.create-portfolio-btn:hover{background:linear-gradient(135deg,#5568d3,#6a3f8f)}.create-portfolio-btn:disabled{cursor:not-allowed;opacity:.6}.modal-content{min-width:400px}.modal-content h2{font-size:20px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}@media (max-width:768px){.portfolio-selector-dropdown{left:auto;max-width:min(320px,calc(100vw - 16px));min-width:280px;right:0;transform:translateX(0)}}@media (max-width:480px){.portfolio-selector-dropdown{left:0;max-width:calc(100vw - 16px);min-width:calc(100vw - 32px);right:auto;transform:translateX(0);width:calc(100vw - 32px)}.portfolio-selector-button{font-size:13px;padding:8px 12px}.portfolio-name{font-size:13px}.portfolio-league{font-size:10px}}.toggle-container,.toggle-wrapper{position:relative}.toggle-wrapper{background-color:#f9fafb;border:none;border-radius:1rem;display:flex;padding:.125rem;width:12rem}.toggle-slider{background-color:#e5e7eb;border:none;border-radius:.75rem;bottom:.25rem;box-shadow:0 1px 2px 0 #0000000d;position:absolute;top:.25rem;transition:all .3s ease-out;width:calc(50% - 2px)}.toggle-slider.all-time{transform:translateX(0)}.toggle-slider.daily{transform:translateX(100%)}.toggle-button{background:none;border:none;border-radius:.75rem;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.5rem 1rem;position:relative;transition:color .3s ease;z-index:10}.toggle-button.active{color:#1f2937}.toggle-button.inactive{color:#d1d5db}.toggle-button:hover{color:#6b7280}.portfolio-container{background-color:#f9fafb;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.portfolio-top-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;overflow:visible;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.portfolio-top-bar-content{gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.portfolio-selector-wrapper,.portfolio-top-bar-content{align-items:center;display:flex;overflow:visible;position:relative}.portfolio-back-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:20px;justify-content:center;min-width:44px;padding:8px 12px;transition:background-color .2s}.portfolio-back-button:hover{background-color:#f3f4f6}.portfolio-title{color:#111827;font-size:28px;font-weight:700;margin:0}.challenge-portfolio-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:6px;margin-left:12px;padding:6px 12px}.portfolio-main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;padding:16px;width:100%}.portfolio-content-grid{grid-gap:24px;display:grid;gap:24px}.portfolio-summary-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:box-shadow .2s}.portfolio-summary-card:hover{box-shadow:0 4px 6px #0000001a}.portfolio-summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.portfolio-summary-title{color:#111827;font-size:24px;font-weight:600;margin:0}.portfolio-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.portfolio-refresh-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;overflow:hidden;padding:10px 16px;position:relative;transition:all .2s}.portfolio-refresh-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 8px #3b82f666;transform:translateY(-1px)}.portfolio-refresh-button:active{transform:translateY(0)}.portfolio-refresh-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.portfolio-refresh-icon{height:16px;transition:transform .2s;width:16px}.portfolio-refresh-button:hover .portfolio-refresh-icon{transform:rotate(180deg)}.portfolio-refresh-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.portfolio-watchlist-button{align-items:center;background-color:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s}.portfolio-watchlist-button:hover{background-color:#059669;transform:translateY(-1px)}.portfolio-graph-button{align-items:center;background-color:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s}.portfolio-graph-button:hover{background-color:#7c3aed;transform:translateY(-1px)}.portfolio-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.portfolio-stat-item{text-align:left}.portfolio-stat-label{color:#6b7280;font-size:18px;margin-bottom:6px}.portfolio-stat-value{color:#111827;font-size:32px;font-weight:700;margin:0}.portfolio-gainloss-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.portfolio-gainloss-content{align-items:center;display:flex;justify-content:space-between}.portfolio-gainloss-label{color:#6b7280;font-size:18px}.portfolio-gainloss-values{text-align:right}.portfolio-gainloss-amount{font-size:20px;font-weight:600}.portfolio-gainloss-percent{font-size:16px;margin-left:8px}.portfolio-gainloss-positive{color:#059669}.portfolio-gainloss-negative{color:#dc2626}.portfolio-search-container{margin-bottom:24px}.portfolio-search-input{background-color:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:18px;padding:16px 20px 16px 48px;transition:all .2s;width:100%}.portfolio-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.portfolio-search-icon{color:#9ca3af;font-size:18px;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.portfolio-stock-list{grid-gap:12px;display:grid;gap:12px}.portfolio-stock-item{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:16px;transition:all .2s}.portfolio-stock-item:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.portfolio-stock-content{align-items:center;display:flex;gap:16px;justify-content:space-between}.portfolio-stock-info{flex:1 1;min-width:0}.portfolio-stock-symbol{color:#111827;font-size:20px;font-weight:600;margin-bottom:6px}.portfolio-stock-name{color:#6b7280;font-size:16px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-stock-price{color:#111827;font-size:20px;font-weight:600;text-align:right}.portfolio-buy-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.portfolio-buy-button:hover{background-color:#2563eb}.portfolio-mystocks-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.portfolio-mystocks-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.portfolio-mystocks-title{color:#111827;font-size:24px;font-weight:600;margin:0}.portfolio-toggle-container{align-items:center;display:flex}.portfolio-toggle-wrapper{background-color:#f3f4f6;border-radius:8px;display:flex;padding:2px;position:relative}.portfolio-toggle-slider{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;height:calc(100% - 4px);left:2px;position:absolute;top:2px;transition:transform .2s;width:calc(50% - 2px)}.portfolio-toggle-slider.all-time{transform:translateX(0)}.portfolio-toggle-slider.daily{transform:translateX(100%)}.portfolio-toggle-button{background:none;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;position:relative;transition:color .2s;z-index:1}.portfolio-toggle-button.active{color:#111827}.portfolio-toggle-button.inactive{color:#6b7280}.portfolio-holdings-list{grid-gap:12px;display:grid;gap:12px}.portfolio-holding-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.portfolio-holding-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.portfolio-holding-info{flex:1 1;min-width:0}.portfolio-holding-symbol{color:#111827;font-size:20px;font-weight:600;margin-bottom:6px}.portfolio-holding-details{color:#6b7280;font-size:16px;margin-bottom:6px}.portfolio-holding-current-price{font-size:16px;font-weight:500}.portfolio-holding-current-price.positive{color:#059669}.portfolio-holding-current-price.negative{color:#dc2626}.portfolio-holding-current-price.neutral{color:#3b82f6}.portfolio-holding-value{text-align:right}.portfolio-holding-total-value{color:#111827;font-size:20px;font-weight:600;margin-bottom:6px}.portfolio-holding-total-label{color:#6b7280;font-size:16px}.portfolio-sell-button{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}.portfolio-sell-button:hover{background-color:#4b5563}.portfolio-holding-gainloss{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding-top:12px}.portfolio-holding-gainloss-values{text-align:right}.portfolio-holding-gainloss-amount{font-size:18px;font-weight:500;margin-bottom:4px}.portfolio-holding-gainloss-percent{font-size:16px}.portfolio-empty-state{padding:32px 16px;text-align:center}.portfolio-empty-title{color:#111827;font-size:24px;font-weight:600;margin-bottom:12px}.portfolio-empty-description{color:#6b7280;font-size:16px;margin-bottom:20px}.portfolio-empty-debug{color:#9ca3af;font-size:12px;margin-top:8px}.portfolio-loading-container{align-items:center;display:flex;justify-content:center;padding:32px}.portfolio-loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}.portfolio-loading-text{color:#6b7280;margin-left:12px}.portfolio-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.portfolio-modal{background-color:#fff;border-radius:12px;max-height:90vh;max-width:400px;overflow-y:auto;padding:24px;width:100%}.portfolio-modal-title{color:#111827;font-size:18px;font-weight:600;margin-bottom:16px}.portfolio-modal-content{grid-gap:16px;display:grid;gap:16px}.portfolio-modal-field{grid-gap:8px;display:grid;gap:8px}.portfolio-modal-label{color:#374151;font-size:14px;font-weight:500}.portfolio-modal-input{border:1px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px;transition:border-color .2s}.portfolio-modal-input:focus{border-color:#3b82f6;outline:none}.portfolio-modal-price{color:#111827;font-size:20px;font-weight:700}.portfolio-modal-summary{background-color:#f9fafb;border-radius:8px;padding:12px}.portfolio-modal-summary-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:4px}.portfolio-modal-summary-row:last-child{margin-bottom:0}.portfolio-modal-summary-value{font-weight:600}.portfolio-modal-actions{display:flex;gap:12px;margin-top:24px}.portfolio-modal-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.portfolio-modal-button-cancel{background-color:#f3f4f6;color:#374151}.portfolio-modal-button-cancel:hover{background-color:#e5e7eb}.portfolio-modal-button-primary{background-color:#3b82f6;color:#fff}.portfolio-modal-button-primary:hover{background-color:#2563eb}.portfolio-modal-button-secondary{background-color:#6b7280;color:#fff}.portfolio-modal-button-secondary:hover{background-color:#4b5563}.portfolio-modal-button:disabled{cursor:not-allowed;opacity:.5}.portfolio-bottom-nav{background-color:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;justify-content:space-around;padding:8px 0;position:-webkit-sticky;position:sticky;z-index:100}.portfolio-nav-item{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:8px 12px;text-decoration:none;transition:color .2s}.portfolio-nav-item:hover{color:#374151}.portfolio-nav-item.active{color:#3b82f6}.portfolio-nav-icon{font-size:20px}.portfolio-locked-container{background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.portfolio-locked-content{align-items:center;display:flex;flex:1 1;justify-content:center;padding:24px}.portfolio-locked-card{max-width:400px;text-align:center;width:100%}.portfolio-locked-icon{align-items:center;background-color:#f3f4f6;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.portfolio-locked-icon svg{color:#9ca3af;font-size:32px}.portfolio-locked-title{color:#111827;font-size:24px;font-weight:700;margin-bottom:16px}.portfolio-locked-description{color:#6b7280;line-height:1.5;margin-bottom:24px}.portfolio-locked-progress{background-color:#dbeafe;border-radius:12px;margin-bottom:24px;padding:16px}.portfolio-locked-progress-text{color:#1e40af;font-size:14px}.portfolio-locked-button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .2s}.portfolio-locked-button:hover{background-color:#2563eb}@media (max-width:768px){.portfolio-main-content{padding:12px}.portfolio-content-grid{gap:16px}.portfolio-mystocks-card,.portfolio-summary-card{padding:16px}.portfolio-summary-header{align-items:stretch;flex-direction:column}.portfolio-action-buttons{justify-content:center}.portfolio-stats-grid{gap:12px;grid-template-columns:1fr}.portfolio-stock-content{align-items:stretch;flex-direction:column;gap:12px}.portfolio-stock-info,.portfolio-stock-price{text-align:center}.portfolio-holding-header{align-items:stretch;flex-direction:column;gap:12px}.portfolio-holding-info,.portfolio-holding-value{text-align:center}.portfolio-modal{margin:16px;max-width:none}.portfolio-modal-actions{flex-direction:column}.portfolio-nav-item{font-size:11px;padding:6px 8px}.portfolio-nav-icon{font-size:18px}}@media (max-width:480px){.portfolio-top-bar{padding:8px 12px}.portfolio-title{font-size:24px}.portfolio-main-content{padding:8px}.portfolio-content-grid{gap:12px}.portfolio-mystocks-card,.portfolio-summary-card{padding:12px}.portfolio-action-buttons{flex-direction:column;width:100%}.portfolio-graph-button,.portfolio-refresh-button,.portfolio-watchlist-button{justify-content:center;width:100%}.portfolio-stat-value{font-size:28px}.portfolio-holding-item,.portfolio-stock-item{padding:12px}.portfolio-modal{margin:8px;padding:16px}.portfolio-locked-content{padding:16px}.portfolio-locked-card{max-width:none}.portfolio-dropdown{max-height:250px}.portfolio-dropdown-item{font-size:13px;padding:12px 14px}.portfolio-featured-toggle,.portfolio-holdings-toggle{font-size:14px;padding:12px 14px}}.portfolio-search-container{margin-bottom:16px;position:relative}.portfolio-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.portfolio-dropdown-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:14px 16px;transition:all .2s}.portfolio-dropdown-item:hover{background-color:#f3f4f6}.portfolio-dropdown-item:last-child{border-bottom:none}.portfolio-dropdown-item strong{color:#111827;font-weight:600}.portfolio-dropdown-item>div:first-child{color:#374151;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-dropdown-item>div:last-child{color:#059669;font-weight:600;margin-left:12px;white-space:nowrap}.portfolio-featured-container,.portfolio-holdings-dropdown-container{margin-bottom:16px;position:relative}.portfolio-featured-toggle,.portfolio-holdings-toggle{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#111827;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:14px 16px;transition:all .2s;width:100%}.portfolio-featured-toggle:hover,.portfolio-holdings-toggle:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}.portfolio-featured-toggle:active,.portfolio-holdings-toggle:active{transform:translateY(1px)}.portfolio-featured-toggle span:last-child,.portfolio-holdings-toggle span:last-child{color:#6b7280;font-size:12px;transition:transform .2s}.portfolio-featured-toggle span:first-child,.portfolio-holdings-toggle span:first-child{align-items:center;display:flex}.portfolio-featured-dropdown,.portfolio-holdings-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:999}.portfolio-holding-dropdown-item{padding:14px 16px}.challenges-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px 20px 100px}.challenges-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.header-content h1{margin:0 0 10px}.header-content p{color:#666;font-size:1.1rem;margin:0}.challenges-filters{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:10px;margin-bottom:30px;padding:15px}.challenges-filters button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.challenges-filters button:hover{border-color:#667eea;color:#667eea}.challenges-filters button.active{background:#667eea;border-color:#667eea;color:#fff}.challenges-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.empty-state{background:#fff;border-radius:12px;grid-column:1/-1}.challenge-card{background:#fff;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column}.challenge-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.challenge-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.challenge-card-header h3{color:#333;flex:1 1;font-size:1.5rem;margin:0}.status-badge{padding:6px 12px}.challenge-description{margin-bottom:20px}.league-badge{background:#3b82f61a!important;color:#3b82f6!important;font-weight:600}.challenge-info{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px}.info-item{color:#666;font-size:14px;gap:8px}.info-item.prize{color:#ffc107;font-weight:600}.challenge-actions{border-top:1px solid #e0e0e0;gap:10px;margin-top:auto;padding-top:20px}.btn-join,.btn-view{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.btn-view{background:#f0f0f0;color:#333}.btn-view:hover{background:#e0e0e0}.btn-join{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-join:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.no-portfolio{color:#999;flex:1 1;font-size:12px;padding:12px;text-align:center}.modal-content h2{margin:0 0 10px}.modal-description{color:#666;margin-bottom:20px}.form-group select{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-group select:focus{border-color:#667eea;outline:none}.modal-info{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.modal-info p{color:#666;font-size:14px;margin:8px 0}.modal-actions button{border-radius:8px;font-weight:600;padding:12px 24px}.modal-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions .btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}.loading{background:#fff;border-radius:12px;padding:60px 20px}@media (max-width:768px){.challenges-grid{grid-template-columns:1fr}.modal-content{min-width:auto;width:90vw}}.challenge-details-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px 20px 100px}.challenge-details-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:20px;margin-bottom:30px;padding:20px 30px}.back-button{background:#f0f0f0;color:#333;transition:all .2s ease}.back-button:hover{background:#e0e0e0;transform:translateX(-2px)}.header-content{align-items:center;display:flex;flex:1 1;justify-content:space-between}.header-content h1{align-items:center;color:#333;display:flex;font-size:2rem;gap:12px;margin:0}.status-badge{border-radius:20px;font-size:14px;font-weight:600;padding:8px 16px;white-space:nowrap}.status-badge.active{background:#28a745}.status-badge.upcoming{background:#ffc107;color:#333}.status-badge.past{background:#6c757d;color:#fff}.challenge-details-content{display:flex;flex-direction:column;gap:30px}.info-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.description-section{margin-bottom:30px}.description-section h3{color:#333;font-size:1.3rem;margin:0 0 12px}.description-section p{color:#666;font-size:1rem;line-height:1.6;margin:0}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.info-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;padding:16px}.info-item svg{color:#667eea;font-size:1.5rem}.info-item.prize svg{color:#ffc107}.info-item .label{color:#666;display:block;font-size:.875rem;margin-bottom:4px}.info-item .value{color:#333;display:block;font-size:1.1rem;font-weight:600}.info-item.prize .value{color:#ffc107}.join-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:all .3s ease;width:100%}.join-button:hover:not(:disabled){box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.join-button:disabled{cursor:not-allowed;opacity:.6}.participation-card{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea;border-radius:12px;display:flex;flex-direction:column;gap:20px;margin-top:30px;padding:24px}.participation-card h3{color:#333;font-size:1.3rem;margin:0 0 20px}.participation-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{flex-direction:column;gap:8px}.stat-label{color:#666}.stat-value{color:#333;font-size:1.3rem}.stat-value.positive{color:#28a745}.stat-value.negative{color:#dc3545}.view-portfolio-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;margin-top:10px;padding:14px;transition:all .3s ease;width:100%}.view-portfolio-button:hover{box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.leaderboard-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.leaderboard-card h2{align-items:center;color:#333;display:flex;font-size:1.8rem;gap:12px;margin:0 0 24px}.empty-leaderboard{color:#666;padding:40px 20px;text-align:center}.leaderboard-list{gap:12px}.leaderboard-entry{background:#f8f9fa;border-radius:8px;gap:16px;padding:16px;transition:all .2s ease}.leaderboard-entry:hover{background:#e9ecef;transform:translateX(4px)}.leaderboard-entry.current-user{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea}.leaderboard-entry.top-three{background:linear-gradient(135deg,#ffc10715,#ff980015)}.rank{align-items:center;display:flex;justify-content:center;min-width:60px}.medal{font-size:2rem}.rank-number{color:#666;font-size:1.2rem}.user-info{flex:1 1;gap:12px}.username{color:#333;font-size:1.1rem;font-weight:600}.you-badge{background:#667eea;color:#fff;font-size:.75rem;padding:4px 12px}.value{color:#333;font-size:1.2rem;font-weight:700}.error-state,.loading{background:#fff;border-radius:12px;color:#666;font-size:1.2rem;padding:60px 20px;text-align:center}.error-state h2{color:#333;margin:0 0 20px}.btn-back{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-back:hover{background:#5568d3;transform:translateY(-2px)}@media (max-width:768px){.challenge-details-header,.header-content{align-items:flex-start;flex-direction:column}.header-content{gap:12px}.header-content h1{font-size:1.5rem}.info-grid{grid-template-columns:1fr}.participation-stats{grid-template-columns:repeat(2,1fr)}}.watchlist-container{background-color:#f9fafb;min-height:100vh}.watchlist-content{padding-bottom:120px}.watchlist-loading{align-items:center;background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);display:flex;justify-content:center;min-height:100vh}.watchlist-loading-content{text-align:center}.watchlist-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #2563eb;border-radius:50%;height:3rem;margin:0 auto 1rem;width:3rem}.watchlist-loading-text{color:#4b5563}.watchlist-top-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px 0 #0000000d;padding:.75rem 1rem}.watchlist-top-content{align-items:center;display:flex;justify-content:space-between}.watchlist-top-left{align-items:center;display:flex;gap:.75rem}.watchlist-back-button{align-items:center;background:none;border:none;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;min-width:44px;padding:.5rem;transition:background-color .2s}.watchlist-title{color:#111827;font-size:1.25rem;font-weight:700}.watchlist-top-right{align-items:center;display:flex;gap:.5rem}.watchlist-toggle-button{background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s}.watchlist-toggle-button:hover{background-color:#f3f4f6;color:#374151}.watchlist-add-button{align-items:center;background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;gap:.25rem;padding:.5rem 1rem;transition:background-color .2s}.watchlist-add-button:hover{background-color:#2563eb}.watchlist-main{padding:1rem}.watchlist-search{margin-bottom:1.5rem}.watchlist-search-container{position:relative}.watchlist-search-icon{color:#9ca3af;left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.watchlist-search-input{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;outline:none;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s;width:100%}.watchlist-search-input:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:2px}.watchlist-empty{padding:3rem 0;text-align:center}.watchlist-empty-icon{color:#d1d5db;font-size:4rem;margin:0 auto 1rem}.watchlist-empty-title{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.watchlist-empty-text{color:#4b5563;margin-bottom:1.5rem}.watchlist-empty-button{align-items:center;background-color:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;gap:.5rem;margin:0 auto;padding:.75rem 1.5rem;transition:background-color .2s}.watchlist-empty-button:hover{background-color:#2563eb}.watchlist-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(1,1fr)}@media (min-width:768px){.watchlist-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.watchlist-grid{grid-template-columns:repeat(3,1fr)}}.watchlist-stock-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.5rem;transition:box-shadow .2s}.watchlist-stock-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.watchlist-stock-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.watchlist-stock-info h3{color:#111827;font-size:1.125rem;font-weight:700;margin:0}.watchlist-stock-info p{color:#4b5563;font-size:.875rem;margin:0}.watchlist-stock-actions{display:flex;gap:.5rem}.watchlist-action-button{background:none;border:none;border-radius:.5rem;color:#9ca3af;cursor:pointer;padding:.5rem;transition:all .2s}.watchlist-action-button:hover{background-color:#eff6ff;color:#3b82f6}.watchlist-action-button.delete:hover{background-color:#fef2f2;color:#dc2626}.watchlist-price-info{display:flex;flex-direction:column;gap:.5rem}.watchlist-price-row{align-items:center;display:flex;justify-content:space-between}.watchlist-price-label{color:#4b5563;font-size:.875rem}.watchlist-price-value{color:#111827;font-size:1.125rem;font-weight:700}.watchlist-change-container{align-items:center;display:flex;gap:.25rem}.watchlist-change.positive{color:#16a34a}.watchlist-change.negative{color:#dc2626}.watchlist-change-value{font-weight:600}.watchlist-notes{background-color:#f9fafb;border-radius:.5rem;margin-top:1rem;padding:.75rem}.watchlist-notes-text{color:#374151;font-size:.875rem;margin:0}.watchlist-date{color:#6b7280;font-size:.75rem;margin-top:1rem}.watchlist-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:50}.watchlist-modal{background-color:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;max-width:28rem;width:100%}.watchlist-modal-content{padding:1.5rem}.watchlist-modal-title{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.watchlist-modal-form{gap:1rem}.watchlist-modal-form,.watchlist-modal-group{display:flex;flex-direction:column}.watchlist-modal-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.watchlist-modal-input{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;outline:none;padding:.75rem;transition:all .2s;width:100%}.watchlist-modal-input:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:2px}.watchlist-modal-textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;height:5rem;outline:none;padding:.75rem;resize:none;transition:all .2s;width:100%}.watchlist-modal-textarea:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:2px}.watchlist-modal-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.watchlist-modal-button{border:none;border-radius:.5rem;cursor:pointer;flex:1 1;font-weight:500;padding:.5rem 1rem;transition:all .2s}.watchlist-modal-button.cancel{background-color:#fff;border:1px solid #d1d5db;color:#374151}.watchlist-modal-button.cancel:hover{background-color:#f9fafb}.watchlist-modal-button.primary{background-color:#3b82f6;color:#fff}.watchlist-modal-button.primary:hover{background-color:#2563eb}.nav-bottom{background-color:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;justify-content:space-around;left:0;padding:.5rem 0;position:fixed;right:0;z-index:50}.nav-item{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;padding:.5rem;transition:color .2s}.nav-item.active{color:#2563eb}.nav-item span{font-size:.75rem;margin-top:.25rem}.forum-container{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.forum-top-bar{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.forum-top-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px}.forum-back-btn{align-items:center;background:none;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;min-width:44px;padding:.5rem;transition:background-color .2s}.forum-title{color:#1f2937;flex:1 1;font-size:1.5rem;font-weight:700}.forum-create-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem}.forum-create-btn:hover{background:#2563eb}.forum-main-content{margin:0 auto;max-width:1200px;padding:1.5rem}.forum-filters{display:flex;gap:1rem;margin-bottom:1.5rem}.forum-filter-select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.75rem}.forum-posts-list{display:flex;flex-direction:column;gap:1rem}.forum-post-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:1.5rem;transition:all .2s}.forum-post-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.forum-post-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:.75rem}.forum-post-card-title{color:#1f2937;flex:1 1;font-size:1.25rem;font-weight:600}.forum-post-card-header-right{align-items:center;display:flex;gap:.5rem}.forum-post-card-category{background:#e0e7ff;border-radius:12px;color:#4f46e5;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.forum-post-card-delete-btn{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:.875rem;justify-content:center;padding:.5rem;transition:all .2s}.forum-post-card-delete-btn:hover{background:#fecaca;transform:scale(1.1)}.forum-post-card-meta{color:#6b7280;display:flex;font-size:.875rem;gap:1rem;margin-bottom:1rem}.forum-post-card-stats{color:#6b7280;display:flex;font-size:.875rem;gap:1.5rem}.forum-post-detail{background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:2rem}.forum-post-header{align-items:start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.forum-post-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.75rem}.forum-post-info{color:#6b7280;display:flex;font-size:.9rem;gap:1rem}.forum-author{color:#3b82f6;font-weight:500}.forum-category{background:#e0e7ff;border-radius:12px;color:#4f46e5;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.forum-post-actions{align-items:center;display:flex;gap:.75rem}.forum-like-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem}.forum-delete-btn,.forum-like-btn.liked{background:#fee2e2;color:#dc2626}.forum-delete-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .2s}.forum-delete-btn:hover{background:#fecaca;transform:scale(1.05)}.forum-post-content{color:#374151;font-size:1.1rem;line-height:1.8;margin-bottom:2rem;white-space:pre-wrap}.forum-comments-section{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.forum-comments-title{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.forum-comment-form{margin-bottom:2rem}.forum-comment-input{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;margin-bottom:.75rem;padding:1rem;resize:vertical;width:100%}.forum-comment-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.forum-comment-btn:hover{background:#2563eb}.forum-comments-list{display:flex;flex-direction:column;gap:1.5rem}.forum-comment{background:#f9fafb;border-left:3px solid #3b82f6;border-radius:8px;padding:1.5rem}.forum-comment-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.forum-comment-author{color:#3b82f6;font-weight:500}.forum-comment-date{color:#6b7280;font-size:.875rem}.forum-comment-content{color:#374151;line-height:1.6;margin-bottom:.75rem}.forum-comment-like{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.forum-comment-like.liked{color:#dc2626}.forum-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.forum-modal{background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:100%}.forum-modal-title{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.forum-modal-input,.forum-modal-select{margin-bottom:1rem}.forum-modal-input,.forum-modal-select,.forum-modal-textarea{border:1px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.forum-modal-textarea{margin-bottom:1.5rem;resize:vertical}.forum-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.forum-modal-btn{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.forum-modal-btn-cancel{background:#f3f4f6;color:#374151}.forum-modal-btn-primary{background:#3b82f6;color:#fff}.forum-modal-btn-primary:hover{background:#2563eb}.forum-bottom-nav{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;justify-content:space-around;left:0;padding:.75rem 0;position:fixed;right:0;z-index:100}.forum-nav-item{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;font-size:.75rem;gap:.25rem;padding:.5rem}.forum-nav-icon{font-size:1.25rem}.forum-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:50vh}.forum-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.forum-empty{color:#6b7280;padding:4rem 2rem;text-align:center}.forum-empty-icon{color:#d1d5db;font-size:4rem;margin-bottom:1rem}@media (max-width:768px){.forum-main-content{padding:1rem}.forum-post-detail{padding:1.5rem}.forum-post-title{font-size:1.5rem}.forum-filters{flex-direction:column}}.forum-leaderboard-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.forum-leaderboard-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.forum-leaderboard-header h2{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;gap:.5rem;margin:0}.forum-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem}.forum-close-btn:hover{color:#1f2937}.forum-leaderboard-list{display:flex;flex-direction:column;gap:.75rem}.forum-leaderboard-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:1rem;padding:.75rem}.forum-leaderboard-rank{font-size:1.25rem;min-width:40px;text-align:center}.rank-number{color:#6b7280;font-weight:600}.forum-leaderboard-user{align-items:center;display:flex;flex:1 1;justify-content:space-between}.forum-leaderboard-name{color:#1f2937;font-weight:500}.forum-leaderboard-points{color:#3b82f6;font-weight:600}.forum-top-actions{align-items:center;display:flex;gap:.75rem}.forum-leaderboard-btn{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.forum-leaderboard-btn:hover{background:#d97706}.forum-contribution-badge{align-items:center;background:#fef3c7;border-radius:6px;color:#92400e;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem}.forum-contribution-btn{align-items:center;background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.forum-contribution-btn:hover{background:#d97706}.forum-post-card-contribution{align-items:center;color:#f59e0b;display:inline-flex;font-size:.875rem}.forum-post-card-contribution-btn{background:none;border:none;border-radius:4px;color:#f59e0b;cursor:pointer;padding:.25rem .5rem;transition:background-color .2s}.forum-post-card-contribution-btn:hover{background:#fef3c7}.user-stats-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.user-stats-modal{animation:slideInFromBottomRight .3s ease-out;background:#fff;border-radius:1rem;bottom:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:90vw;overflow-y:auto;position:fixed;right:1.5rem;width:600px;z-index:1001}@keyframes slideInFromBottomRight{0%{opacity:0;transform:translateY(20px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}.user-stats-modal-header{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.user-stats-modal-close{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem;transition:all .2s}.user-stats-modal-close:hover{background:#f3f4f6;color:#111827}.user-stats-modal-content{padding:2rem}.user-stats-modal-error,.user-stats-modal-loading{color:#6b7280;padding:4rem 2rem;text-align:center}.user-stats-modal-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:3rem;margin:0 auto 1rem;width:3rem}.user-stats-profile{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.user-stats-avatar,.user-stats-avatar-default{border:4px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;height:5rem;margin:0 auto 1rem;object-fit:cover;width:5rem}.user-stats-avatar-default{align-items:center;display:flex;justify-content:center}.user-stats-initials{color:#fff;font-size:2rem;font-weight:700}.user-stats-name{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.user-stats-level{color:#6b7280;font-size:.875rem}.user-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.user-stat-card{background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);border:1px solid #dbeafe;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .2s}.user-stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.user-stat-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.25rem;height:3rem;justify-content:center;margin:0 auto .75rem;width:3rem}.user-stat-icon.xp{background:linear-gradient(135deg,#eab308,#f59e0b)}.user-stat-icon.streak{background:linear-gradient(135deg,#f97316,#ef4444)}.user-stat-icon.portfolio{background:linear-gradient(135deg,#2563eb,#3b82f6)}.user-stat-icon.earnings{background:linear-gradient(135deg,#10b981,#059669)}.user-stat-icon.investing{background:linear-gradient(135deg,#06b6d4,#0891b2)}.user-stat-icon.quizzes{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.user-stat-icon.facts{background:linear-gradient(135deg,#ec4899,#db2777)}.user-stat-icon.lessons{background:linear-gradient(135deg,#6366f1,#4f46e5)}.user-stat-value{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.user-stat-label{color:#6b7280;font-size:.875rem;font-weight:500}.user-stats-badges{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.user-stats-section-title{align-items:center;color:#111827;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.user-stats-badges-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:640px){.user-stats-modal{bottom:1rem;left:1rem;max-height:calc(100vh - 2rem);right:1rem;width:calc(100vw - 2rem)}.user-stats-grid{grid-template-columns:1fr}.user-stats-modal-content{padding:1.5rem}}.leaderboard-container{background:linear-gradient(135deg,#1e40af,#059669);color:#fff;min-height:100vh;padding:2rem}.leaderboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.header-left{align-items:center;display:flex;gap:1rem}.back-button{font-size:1.25rem;height:44px;padding:.75rem}.back-button:hover{transform:translateX(-3px)}.leaderboard-title{align-items:center;color:#fff;display:flex;font-size:2.5rem;font-weight:700;gap:1rem;margin:0}.league-badge{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:1rem;font-weight:500;padding:.5rem 1rem}.leaderboard-controls{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.league-selector{display:flex;flex-wrap:wrap;gap:1rem}.league-button{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1rem;transition:all .3s ease}.league-button:hover{background:#fff3;border-color:#fff6}.league-button.active{background:#ffffff4d;border-color:#fff;box-shadow:0 4px 12px #0003}.type-selector{display:flex;flex-wrap:wrap;gap:1rem}.type-button{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;min-width:150px;padding:1rem;transition:all .3s ease}.type-button:hover{background:#fff3;border-color:#fff6}.type-button.active{background:#ffffff4d;border-color:#fff;box-shadow:0 4px 12px #0003}.my-rank-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:16px;color:#fff;padding:1.5rem}.my-rank-card *{color:inherit}.rank-label{color:#fff;font-size:.9rem;margin-bottom:.5rem;opacity:.9}.rank-value{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.rank-stats{display:flex;flex-direction:column;gap:.5rem}.stat-item{align-items:center;color:#fff;justify-content:space-between}.stat-item span{color:#fff!important}.my-rank-card .stat-label{color:#fff!important;font-size:.9rem;opacity:.9}.my-rank-card .stat-value{color:#fff!important;font-size:1.1rem;font-weight:600}.stat-label,.stat-value{color:#fff!important}.stat-value{font-size:1.1rem}.leaderboard-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;padding:1.5rem}.leaderboard-list{display:flex;flex-direction:column;gap:1rem}.leaderboard-entry{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:12px;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.leaderboard-entry:hover{background:#fff3;border-color:#fff6;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.leaderboard-entry.current-user{background:#ffd70040;border-color:#ffd70099;box-shadow:0 4px 16px #ffd70066}.entry-rank{font-size:1.5rem;font-weight:700;min-width:60px}.entry-avatar-container,.entry-rank{align-items:center;display:flex;justify-content:center}.entry-avatar-container{cursor:pointer;height:50px;min-width:50px;transition:transform .2s;width:50px}.entry-avatar-container:hover{transform:scale(1.1)}.entry-avatar{object-fit:cover}.entry-avatar,.entry-avatar-default{border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 2px 4px #0003;height:50px;width:50px}.entry-avatar-default{align-items:center;display:flex;justify-content:center}.entry-avatar-initials{color:#fff;font-size:1.25rem;font-weight:700}.rank-icon{font-size:2.5rem}.rank-icon.gold{color:#fbbf24;filter:drop-shadow(0 2px 4px rgba(251,191,36,.6))}.rank-icon.silver{color:#e5e7eb;filter:drop-shadow(0 2px 4px rgba(229,231,235,.6))}.rank-icon.bronze{color:#d97706;filter:drop-shadow(0 2px 4px rgba(217,119,6,.6))}.rank-number{color:#fff;font-size:1.5rem;font-weight:700;opacity:.9}.entry-info{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.entry-name{align-items:center;color:#fff;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem}.you-badge{background:#ffd70059;border:1px solid #ffd70099;border-radius:12px;color:#fbbf24;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.entry-details{display:flex;flex-wrap:wrap;gap:1.5rem}.detail-item{align-items:center;display:flex;gap:.5rem}.detail-label{color:#fff!important;font-size:.9rem;opacity:.8}.detail-value{color:#fff!important;font-size:.95rem;font-weight:600}.detail-value.positive{color:#86efac}.detail-value.negative{color:#fca5a5}.entry-primary-value{min-width:150px;text-align:right}.primary-label{color:#fff;font-size:.85rem;margin-bottom:.25rem;opacity:.8}.primary-amount{color:#fff;font-size:1.5rem;font-weight:700}.primary-amount.positive{color:#86efac}.primary-amount.negative{color:#fca5a5}.your-entry-separator{align-items:center;display:flex;gap:1rem;margin:2rem 0}.separator-line{background:#ffffff4d;flex:1 1;height:2px}.separator-text{color:#fff;font-size:.9rem;opacity:.8;white-space:nowrap}.loading-spinner{color:#fff;font-size:1.2rem;padding:4rem;text-align:center}.empty-state{padding:4rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state p{color:#fff;font-size:1.2rem;opacity:.8}.leaderboard-footer{color:#fff;font-size:.9rem;margin-top:2rem;opacity:.8;text-align:center}.leaderboard-footer p{color:#fff}@media (max-width:768px){.leaderboard-container{padding:1rem}.leaderboard-title{color:#fff;font-size:1.8rem}.type-selector{flex-direction:column}.type-button{color:#fff;min-width:100%}.leaderboard-entry{align-items:flex-start;flex-direction:column;gap:1rem}.entry-avatar-container,.entry-rank{align-self:flex-start}.entry-primary-value{text-align:left;width:100%}.entry-details{flex-direction:column;gap:.5rem}.detail-label,.detail-value,.entry-name,.primary-amount,.primary-label,.rank-label,.rank-value,.stat-label,.stat-value{color:#fff}}@media (max-width:480px){.leaderboard-container{padding:.75rem}.leaderboard-title{font-size:1.5rem}.type-button{font-size:.9rem;padding:.75rem}.leaderboard-entry{padding:1rem}.entry-name{font-size:1rem}.detail-label,.detail-value{font-size:.85rem}.primary-amount{font-size:1.2rem}}.terms-container{align-items:center;background:#2563eb;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 0;position:relative}.terms-container:before{background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff0d 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.terms-back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:.75rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;left:1.5rem;padding:.875rem 1.5rem;position:absolute;text-decoration:none;top:1.5rem;transition:all .3s ease;z-index:10}.terms-back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-4px)}.terms-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin:0 1rem;max-width:800px;padding:3rem;position:relative;width:100%;z-index:1}.terms-header{margin-bottom:2rem;text-align:center}.terms-content h1{color:#2d3748;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.terms-content h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:1rem;margin-top:2rem;padding-bottom:.5rem}.terms-content h3{color:#4a5568;font-size:1.2rem;font-weight:600;margin-bottom:.75rem;margin-top:1.5rem}.terms-content p{color:#4a5568;line-height:1.6;margin-bottom:1rem}.terms-content ul{margin-bottom:1rem;padding-left:1.5rem}.terms-content li{color:#4a5568;line-height:1.6;margin-bottom:.5rem}.terms-content strong{color:#2d3748;font-weight:600}.disclaimer{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#c53030;font-weight:600;margin:1rem 0;padding:1rem}.contact-info{background:#f7fafc}@media (max-width:768px){.terms-back-button{font-size:1rem;left:1rem;padding:.75rem 1.25rem;top:1rem}.terms-content{margin:0 .5rem;padding:2rem 1.5rem}.terms-content h1{font-size:2rem}.terms-content h2{font-size:1.3rem}}.privacy-container{align-items:center;background:#2563eb;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 0;position:relative}.privacy-container:before{background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff0d 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.privacy-back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:.75rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;left:1.5rem;padding:.875rem 1.5rem;position:absolute;text-decoration:none;top:1.5rem;transition:all .3s ease;z-index:10}.privacy-back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-4px)}.privacy-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin:0 1rem;max-width:900px;padding:3rem;position:relative;width:100%;z-index:1}.privacy-header{margin-bottom:2rem;text-align:center}.privacy-content h1{color:#2d3748;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.last-updated{color:#718096;font-style:italic;margin-bottom:2rem;text-align:center}.privacy-content h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:1rem;margin-top:2rem;padding-bottom:.5rem}.privacy-content h3{color:#4a5568;font-size:1.2rem;font-weight:600;margin-bottom:.75rem;margin-top:1.5rem}.privacy-content h4{color:#2d3748;font-size:1rem;font-weight:600;margin-bottom:.5rem;margin-top:1rem}.privacy-content p{color:#4a5568;line-height:1.6;margin-bottom:1rem}.privacy-content ul{margin-bottom:1rem;padding-left:1.5rem}.privacy-content li{color:#4a5568;line-height:1.6;margin-bottom:.5rem}.privacy-content strong{color:#2d3748;font-weight:600}.info-section{background:#f7fafc;border-left:4px solid #667eea;border-radius:8px;margin:1rem 0;padding:1.5rem}.info-section h4{color:#2d3748;margin-top:0}.info-section ul{margin-bottom:0}.info-section li{margin-bottom:.25rem}.contact-info{background:#e6fffa;border:1px solid #81e6d9;border-radius:8px;margin:1rem 0;padding:1.5rem}.contact-info p{color:#234e52;margin-bottom:.5rem}.legal-notice{background:#e6fffa;border:1px solid #81e6d9;border-radius:8px;margin-top:2rem;padding:1rem}.legal-notice p{color:#234e52;font-size:.9rem;margin:0}@media (max-width:768px){.privacy-back-button{font-size:1rem;left:1rem;padding:.75rem 1.25rem;top:1rem}.privacy-content{margin:0 .5rem;padding:2rem 1.5rem}.privacy-content h1{font-size:2rem}.privacy-content h2{font-size:1.3rem}.info-section{padding:1rem}}.patchnotes-container{align-items:center;background:#2563eb;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 0;position:relative}.patchnotes-container:before{background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff0d 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.patchnotes-back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:.75rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;left:1.5rem;padding:.875rem 1.5rem;position:absolute;text-decoration:none;top:1.5rem;transition:all .3s ease;z-index:10}.patchnotes-back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateX(-4px)}.patchnotes-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin:0 1rem;max-width:900px;padding:3rem;position:relative;width:100%;z-index:1}.patchnotes-header{margin-bottom:3rem;text-align:center}.patchnotes-content h1{color:#2d3748;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{color:#718096;font-size:1.1rem;margin-bottom:2rem;text-align:center}.patch-version{border-bottom:2px solid #e2e8f0;margin-bottom:3rem;padding-bottom:2rem}.patch-version:last-of-type{border-bottom:none}.version-header{justify-content:space-between;margin-bottom:1.5rem}.version-header,.version-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.version-header h2{font-size:1.8rem;font-weight:700;margin:0}.version-major{color:#e53e3e}.version-minor{color:#3182ce}.version-patch{color:#38a169}.version-type{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.version-major+.version-type{background:#fed7d7;color:#c53030}.version-minor+.version-type{background:#bee3f8;color:#2c5282}.version-patch+.version-type{background:#c6f6d5;color:#22543d}.version-date{color:#718096;font-size:.9rem;margin:0}.change-group{margin-bottom:1.5rem}.change-category{border-left:3px solid #667eea;color:#4a5568;font-size:1.2rem;font-weight:600;margin-bottom:.75rem;margin-top:1rem;padding-left:.5rem}.change-list{list-style:none;margin-bottom:1rem;padding-left:0}.change-list li{color:#4a5568;line-height:1.8;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.change-list li:before{color:#667eea;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.patchnotes-footer{border-top:1px solid #e2e8f0;margin-top:3rem;padding-top:2rem;text-align:center}.footer-note{color:#4a5568;line-height:1.6;margin:0}.footer-note a{color:#667eea;font-weight:600;text-decoration:none}.footer-note a:hover{text-decoration:underline}.legal-links{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem;padding-top:2rem}.legal-link{background:#f7fafc;border-radius:8px;color:#667eea;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.legal-link:hover{background:#e2e8f0;color:#4a5568}@media (max-width:768px){.patchnotes-back-button{font-size:1rem;left:1rem;padding:.75rem 1.25rem;top:1rem}.patchnotes-content{margin:0 .5rem;padding:2rem 1.5rem}.patchnotes-content h1{font-size:2rem}.version-header{align-items:flex-start;flex-direction:column}.version-header h2{font-size:1.5rem}.change-category{font-size:1.1rem}.legal-links{flex-direction:column;gap:1rem}.legal-link{text-align:center;width:100%}}.profile-container{background-color:#f9fafb;min-height:100vh}.profile-content{gap:1.5rem;margin:0 auto;max-width:800px;padding:1rem}.profile-content,.profile-loading{display:flex;flex-direction:column}.profile-loading{align-items:center;background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);gap:1rem;justify-content:center;min-height:100vh}.profile-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#2563eb;height:3rem;width:3rem}.top-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px 0 #0000000d;padding:.75rem 1rem}.top-bar-content{justify-content:space-between}.top-bar-content,.top-bar-left{align-items:center;display:flex}.top-bar-left{gap:.75rem}.back-button{border-radius:.5rem;color:#6b7280;height:2.5rem;text-decoration:none;transition:all .2s;width:2.5rem}.back-button:hover{background-color:#f3f4f6;color:#111827}.app-title,.back-icon{font-size:1.25rem}.app-title{color:#111827;font-weight:700;margin:0}.profile-header{align-items:center;background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.profile-picture-container{display:inline-block;position:relative}.profile-picture{object-fit:cover}.profile-picture,.profile-picture-default{border:4px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 6px -1px #0000001a;height:8rem;width:8rem}.profile-picture-default{align-items:center;display:flex;justify-content:center}.profile-initials{color:#fff;font-size:2.5rem;font-weight:700}.profile-picture-edit{align-items:center;background-color:#2563eb;border:3px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;height:2.5rem;justify-content:center;position:absolute;right:0;transition:all .2s;width:2.5rem}.profile-picture-edit:hover{background-color:#1d4ed8;transform:scale(1.1)}.camera-icon{font-size:1rem}.profile-name{color:#111827;font-size:1.875rem;font-weight:700;margin:0}.profile-email{color:#6b7280;font-size:1rem;margin:0}.edit-button{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .2s}.edit-button:hover{background-color:#1d4ed8;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.edit-icon{font-size:1rem}.profile-form-container{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.5rem}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-label{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.label-icon{color:#6b7280;font-size:1rem}.form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:all .2s}.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-value{align-items:center;background-color:#f9fafb;border-radius:.5rem;color:#111827;display:flex;font-size:1rem;min-height:2.75rem;padding:.75rem}.form-value.read-only{color:#6b7280;font-style:italic}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;padding-top:1.5rem}.cancel-button,.save-button{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s}.cancel-button{background-color:#f3f4f6;color:#374151}.cancel-button:hover:not(:disabled){background-color:#e5e7eb}.save-button{background-color:#2563eb;color:#fff}.save-button:hover:not(:disabled){background-color:#1d4ed8;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}.button-icon{font-size:1rem}.profile-stats{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px 0 #0000000d;padding:1.5rem}.stats-title{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.stat-value{color:#fff;font-size:2rem;margin-bottom:.5rem}.stat-label{color:#ffffffe6;font-size:.875rem}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:640px){.profile-header{padding:1.5rem}.profile-picture,.profile-picture-default{height:6rem;width:6rem}.profile-initials{font-size:2rem}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}.not-found-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.not-found-content{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:3rem 2rem;text-align:center;width:100%}.not-found-icon{color:#667eea;font-size:4rem;margin-bottom:1rem}.not-found-title{color:#333;font-size:6rem;font-weight:700;line-height:1;margin:0}.not-found-subtitle{color:#666;font-size:1.5rem;font-weight:500;margin:.5rem 0 1rem}.not-found-description{color:#888;line-height:1.6;margin-bottom:2rem}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.not-found-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.not-found-btn.primary{background:#667eea;color:#fff}.not-found-btn.primary:hover{background:#5a6fd8;transform:translateY(-2px)}.not-found-btn.secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#333}.not-found-btn.secondary:hover{background:#e9ecef;transform:translateY(-2px)}@media (max-width:480px){.not-found-content{padding:2rem 1.5rem}.not-found-title{font-size:4rem}.not-found-actions{flex-direction:column}.not-found-btn{justify-content:center;width:100%}}.admin-challenges-view{width:100%}.challenges-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.challenges-header h2{align-items:center;color:#333;display:flex;gap:10px;margin:0}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);font-size:16px;font-weight:600;gap:8px;padding:12px 24px}.btn-create:hover{box-shadow:0 4px 12px #667eea66}.challenges-list{gap:20px}.empty-state{color:#666}.challenge-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:24px;transition:all .3s ease}.challenge-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.challenge-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.challenge-title-section{flex:1 1}.challenge-title-section h3{color:#333;font-size:20px;margin:0 0 8px}.challenge-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;gap:4px;padding:4px 12px}.badge.published{background:#28a745;color:#fff}.badge.active{background:#007bff}.badge.league{background:#ffc107;color:#333}.challenge-stats{display:flex;gap:16px}.stat{align-items:center;color:#666;display:flex;font-size:14px;gap:6px}.challenge-description{color:#666;line-height:1.6;margin-bottom:16px}.challenge-details{grid-gap:12px;background:#fff;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:16px}.detail{color:#666;font-size:14px}.detail strong{color:#333;margin-right:8px}.challenge-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-action{border-radius:6px;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-action.view{background:#17a2b8;color:#fff}.btn-action.view:hover{background:#138496}.btn-action.sync{background:#6c757d;color:#fff}.btn-action.sync:hover{background:#5a6268}.btn-action.publish{background:#28a745;color:#fff}.btn-action.publish:hover{background:#218838}.btn-action.unpublish{background:#ffc107;color:#333}.btn-action.unpublish:hover{background:#e0a800}.btn-action.activate{background:#007bff;color:#fff}.btn-action.activate:hover{background:#0056b3}.btn-action.deactivate{background:#dc3545;color:#fff}.btn-action.deactivate:hover{background:#c82333}.btn-action.edit{background:#667eea;color:#fff}.btn-action.edit:hover{background:#5568d3}.btn-action.delete{background:#dc3545;color:#fff}.btn-action.delete:hover{background:#c82333}.btn-action.force-delete{background:#8b0000;border:2px solid #f44;color:#fff;font-weight:600}.btn-action.force-delete:hover{background:#6b0000;border-color:red;box-shadow:0 0 10px #ff444480}.modal-overlay{animation:fadeIn .2s ease;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .2s ease;max-width:90vw;min-width:500px;padding:24px}.modal-content.large{min-width:800px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:#333;font-size:24px;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#666;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.modal-actions{gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-actions button[type=button]{background:#f0f0f0;color:#333}.modal-actions button[type=button]:hover{background:#e0e0e0}.modal-actions button[type=submit]{background:#667eea;color:#fff}.modal-actions button[type=submit]:hover{background:#5568d3}.access-denied{color:#666;padding:60px 20px;text-align:center}.access-denied svg{margin-bottom:20px;opacity:.5}.participants-list{margin-bottom:20px}.participants-table{border-collapse:collapse;width:100%}.participants-table thead{background:#f8f9fa}.participants-table th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px;text-align:left}.participants-table td{border-bottom:1px solid #e0e0e0;color:#666;padding:12px}.participants-table tr:hover{background:#f8f9fa}.participants-table .positive{color:#28a745;font-weight:600}.participants-table .negative{color:#dc3545;font-weight:600}.rich-text-editor-wrapper{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;max-width:100%;overflow:hidden;width:100%}.toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.toolbar-group{border-right:1px solid #e0e0e0;display:flex;gap:4px;padding-right:12px}.toolbar-group:last-child{border-right:none}.toolbar button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:center;min-width:32px;padding:6px 12px;transition:all .2s}.toolbar button:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}.toolbar button.is-active{background:#667eea;border-color:#667eea;color:#fff}.toolbar button:disabled{cursor:not-allowed;opacity:.5}.editor-content{max-width:100%;min-height:500px;padding:20px;width:100%}.editor-content .ProseMirror{color:#333;font-size:16px;line-height:1.8;max-width:100%;min-height:500px;outline:none;width:100%}.rich-text-editor-wrapper.compact .editor-content{min-height:150px;padding:12px}.rich-text-editor-wrapper.compact .editor-content .ProseMirror{font-size:14px;line-height:1.6;min-height:150px;padding:0}.editor-content .ProseMirror p{margin-bottom:12px}.editor-content .ProseMirror h1,.editor-content .ProseMirror h2,.editor-content .ProseMirror h3,.editor-content .ProseMirror h4,.editor-content .ProseMirror h5,.editor-content .ProseMirror h6{font-weight:600;line-height:1.3;margin-bottom:16px;margin-top:24px}.editor-content .ProseMirror h1{font-size:2rem}.editor-content .ProseMirror h2{font-size:1.75rem}.editor-content .ProseMirror h3{font-size:1.5rem}.editor-content .ProseMirror h4{font-size:1.25rem}.editor-content .ProseMirror ol,.editor-content .ProseMirror ul{margin:12px 0;padding-left:30px}.editor-content .ProseMirror li{margin-bottom:6px}.editor-content .ProseMirror blockquote{background:#f9f9f9;border-left:4px solid #667eea;border-radius:4px;color:#666;font-style:italic;margin:20px 0;padding:16px 20px}.editor-content .ProseMirror code{background:#f5f5f5;border-radius:4px;color:#e83e8c;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.editor-content .ProseMirror pre{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;overflow-x:auto;padding:16px}.editor-content .ProseMirror pre code{background:none;color:#333;padding:0}.editor-content .ProseMirror img{border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;height:auto;margin:20px 0;max-width:100%}.editor-content .ProseMirror a{color:#667eea;cursor:pointer;text-decoration:underline}.editor-content .ProseMirror a:hover{color:#5568d3}.editor-content .ProseMirror b,.editor-content .ProseMirror strong{font-weight:600}.editor-content .ProseMirror em,.editor-content .ProseMirror i{font-style:italic}.editor-content .ProseMirror u{text-decoration:underline}.editor-content .ProseMirror .is-empty:before,.editor-content .ProseMirror p.is-editor-empty:first-child:before{color:#999;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.editor-content .ProseMirror table{border-collapse:collapse;margin:20px 0;overflow:hidden;table-layout:fixed;width:100%}.editor-content .ProseMirror table td,.editor-content .ProseMirror table th{border:1px solid #ddd;box-sizing:border-box;min-width:1em;padding:8px 12px;position:relative;vertical-align:top}.editor-content .ProseMirror table th{background-color:#f5f5f5;font-weight:600;text-align:left}.editor-content .ProseMirror table .selectedCell:after{background:#c8c8ff66;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.editor-content .ProseMirror table .column-resize-handle{background-color:#adf;bottom:-2px;pointer-events:none;position:absolute;right:-2px;top:0;width:4px}.editor-content .ProseMirror table p{margin:0}.pdf-lesson-uploader{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;padding:24px;width:100%}@media (max-width:768px){.pdf-lesson-uploader{border-radius:8px;padding:16px}}@media (min-width:769px) and (max-width:1024px){.pdf-lesson-uploader{max-width:900px}}@media (min-width:1025px){.pdf-lesson-uploader{max-width:1200px}}.pdf-uploader-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.pdf-uploader-header h2{color:#1f2937;font-size:24px;margin:0}@media (max-width:768px){.pdf-uploader-header h2{font-size:20px}}.close-button{color:#6b7280;font-size:20px;padding:8px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#1f2937}.upload-area{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;margin-bottom:24px;padding:48px;text-align:center;transition:all .3s}@media (max-width:768px){.upload-area{padding:32px 16px}}.upload-area:hover{background:#eff6ff;border-color:#3b82f6}.upload-icon{color:#ef4444;font-size:48px;margin-bottom:16px}.upload-area p{color:#6b7280;margin:8px 0}.upload-hint{color:#9ca3af;font-size:14px}.selected-file{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;justify-content:center;margin-top:16px;padding:12px}.selected-file svg{color:#ef4444;font-size:24px}.file-size{color:#9ca3af;font-size:14px}.form-group label{color:#374151}.form-group input[type=number],.form-group input[type=text],.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.num-questions-input{margin-top:8px;max-width:150px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px #3b82f64d;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.spinner{animation:spin 1s linear infinite}.pdf-text-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:14px;line-height:1.6;margin-bottom:20px;max-height:300px;overflow-y:auto;padding:16px}@media (max-width:768px){.pdf-text-preview{font-size:13px;max-height:250px;padding:12px}}.text-muted{color:#9ca3af;font-size:12px;margin-top:8px}.button-group{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:24px}@media (max-width:768px){.button-group{flex-direction:column}.button-group button{width:100%}}.quiz-question-editor{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:20px}@media (max-width:768px){.quiz-question-editor{padding:16px}}.option-row{gap:12px;margin-bottom:12px}@media (max-width:768px){.option-row{flex-wrap:wrap;gap:8px}.option-row input[type=text]{flex:1 1;min-width:200px}}.option-row input[type=radio]{cursor:pointer;margin:0}.option-input{border:1px solid #d1d5db;padding:8px 12px}.option-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-remove{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px;transition:background .2s}.btn-remove:hover{background:#dc2626}.btn-add-option{background:#10b981;border:none;color:#fff;margin-top:8px;transition:background .2s}.btn-add-option:hover{background:#059669}.rich-text-editor-container{margin-top:8px}.rich-text-editor-container.compact .editor-content{min-height:150px}.rich-text-editor-container.compact .editor-content .ProseMirror{font-size:14px;min-height:150px;padding:12px}.disabled-input{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.admin-lessons-view{width:100%}.lessons-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.lessons-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-create{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 16px;transition:all .3s ease}.btn-create:hover{background:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-2px)}.btn-create-pdf{background:#ef4444}.btn-create-pdf:hover{background:#dc2626;box-shadow:0 4px 8px #ef44444d}.lessons-header h2{align-items:center;color:#333;display:flex;gap:10px;margin:0}.lessons-filters{display:flex;flex-wrap:wrap;gap:10px}.search-box{background:#f5f5f5;gap:8px;min-width:250px;padding:8px 12px}.search-box input{font-size:.95rem}.lessons-filters select{background:#fff;cursor:pointer;padding:8px 12px}.hierarchy-dropdown,.lessons-filters select{border:1px solid #ddd;border-radius:8px;font-size:.95rem}.hierarchy-dropdown{min-width:300px;padding:8px 35px 8px 12px}.lessons-list{display:flex;flex-direction:column;gap:20px}.lesson-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease}.lesson-card:hover{box-shadow:0 4px 12px #0000001a}.lesson-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.lesson-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-create-quiz{align-items:center;background:#764ba2;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-create-quiz:hover{background:#5a3a7a;transform:translateY(-2px)}.lesson-info h3{color:#333;font-size:1.3rem;margin:0 0 10px}.lesson-meta{display:flex;flex-wrap:wrap;gap:8px}.course-badge,.unit-badge{border-radius:6px;font-size:.85rem;font-weight:500;padding:4px 10px}.course-badge{background:#667eea;color:#fff}.unit-badge{background:#764ba2;color:#fff}.status-badge{border-radius:6px;font-size:.85rem;padding:4px 10px}.status-badge.active{background:#10b981;color:#fff}.status-badge.inactive{background:#ef4444;color:#fff}.btn-edit{background:#667eea;font-size:.9rem;gap:6px;padding:8px 16px;transition:all .3s ease}.btn-edit:hover{background:#5568d3;transform:translateY(-2px)}.lesson-content-preview{color:#666;line-height:1.6;margin-bottom:15px;max-height:150px;overflow:hidden}.lesson-content-preview img{border-radius:4px;margin:5px;max-height:100px;max-width:100px;object-fit:cover}.lesson-content-preview p{margin:0}.no-content{color:#999;font-style:italic}.lesson-images-preview{background:#f9f9f9;border-radius:8px;margin-bottom:15px;padding:10px}.lesson-images-preview strong{color:#333;display:block;margin-bottom:8px}.images-grid{display:flex;flex-wrap:wrap;gap:10px}.images-grid img{border:2px solid #ddd;border-radius:6px;height:80px;object-fit:cover;width:80px}.more-images{align-items:center;background:#e0e0e0;border-radius:6px;color:#666;display:flex;font-weight:600;height:80px;justify-content:center;width:80px}.lesson-footer{border-top:1px solid #e0e0e0;color:#888;display:flex;font-size:.9rem;gap:20px;padding-top:10px}.lesson-edit-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:.95rem}.form-group input[type=number],.form-group input[type=text],.form-group textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;padding:10px}.form-group textarea{min-height:200px}.rich-text-editor-container{border:1px solid #ddd;border-radius:8px;overflow:hidden}.editor-help-text{background:#f5f5f5;border-radius:6px;color:#666;font-size:.9rem;line-height:1.6;margin-top:10px;padding:10px}.form-group input[type=checkbox]{margin-right:8px}.form-row{display:flex;flex-wrap:wrap;gap:15px}.form-row .form-group{flex:1 1;min-width:150px}.images-section{display:flex;flex-direction:column;gap:15px}.image-upload{align-items:center;display:flex}.upload-button{align-items:center;background:#667eea;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;gap:8px;padding:10px 16px;transition:all .3s ease}.upload-button:hover{background:#5568d3}.images-preview{display:flex;flex-wrap:wrap;gap:15px}.image-preview-item{border:2px solid #ddd;border-radius:8px;overflow:hidden;position:relative}.image-preview-item img{display:block;height:150px;object-fit:cover;width:150px}.remove-image-btn{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:5px;top:5px;transition:all .3s ease;width:28px}.remove-image-btn:hover{background:#ef4444;transform:scale(1.1)}.form-actions{border-top:1px solid #e0e0e0;gap:10px;justify-content:flex-end;padding-top:10px}.btn-cancel,.btn-save{font-size:.95rem;transition:all .3s ease}.btn-save{background:#10b981}.btn-save:hover{background:#059669;transform:translateY(-2px)}.btn-cancel{background:#6b7280}.btn-cancel:hover{background:#4b5563}.no-lessons{color:#888;padding:40px;text-align:center}.loading,.no-lessons{font-size:1.1rem}.modal-overlay{background:#0009;padding:20px}.modal-content{box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;width:100%}.modal-content-large{max-width:900px}.modal-header h3{color:#333;font-size:1.3rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .3s ease;width:32px}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{flex:1 1;overflow-y:auto}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px}.modal-body .form-group select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.95rem;padding:10px}.modal-body .form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.info-box{background:#f0f4ff;border-left:4px solid #667eea;border-radius:6px;margin-top:15px;padding:12px}.info-box p{color:#555;font-size:.9rem;line-height:1.5;margin:0}.admin-quizzes-view{margin:0 auto;max-width:1400px;padding:20px}.quizzes-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.quizzes-header h2{align-items:center;color:#333;display:flex;gap:10px;margin:0}.search-box{background:#fff;box-shadow:0 2px 4px #0000001a;min-width:300px;padding:10px 15px}.search-box input{font-size:14px}.quizzes-list{grid-gap:20px;display:grid;gap:20px}.quiz-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.quiz-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.quiz-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.quiz-info h3{color:#333;font-size:20px;margin:0 0 10px}.quiz-meta{display:flex;flex-wrap:wrap;gap:10px}.course-badge,.lesson-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:4px 12px}.course-badge{background:#f3e5f5;color:#7b1fa2}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.inactive{background:#ffebee;color:#c62828}.btn-edit{align-items:center;background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s;white-space:nowrap}.btn-edit:hover{background:#1976d2}.quiz-details{grid-gap:15px;background:#f5f5f5;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:15px;padding:15px}.detail-item{font-size:14px}.detail-item strong{color:#666;margin-right:5px}.quiz-description{border-top:1px solid #e0e0e0;color:#666;font-size:14px;line-height:1.6;padding-top:15px}.no-quizzes{color:#999;font-size:16px;padding:60px 20px;text-align:center}.quiz-editor-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.quiz-editor-header h2{align-items:center;color:#333;display:flex;gap:10px;margin:0}.editor-actions{display:flex;gap:10px}.btn-cancel,.btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-save{background:#4caf50;color:#fff}.btn-save:hover{background:#45a049}.btn-cancel{background:#f44336;color:#fff}.btn-cancel:hover{background:#da190b}.questions-editor{display:flex;flex-direction:column;gap:20px}.question-editor-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:border-color .2s}.question-editor-card:hover{border-color:#2196f3}.question-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.question-number{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:10px}.grip-icon{color:#999;cursor:move}.question-controls{display:flex;gap:8px}.btn-delete,.btn-move{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s}.btn-move:hover:not(:disabled){background:#e3f2fd;border-color:#2196f3;color:#2196f3}.btn-move:disabled{cursor:not-allowed;opacity:.4}.btn-delete:hover{background:#ffebee;border-color:#f44336;color:#f44336}.question-body{gap:15px}.form-group,.question-body{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-size:14px;font-weight:500}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;transition:border-color .2s}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;outline:none}.form-group textarea{min-height:80px;resize:vertical}.option-row,.option-row-combined{align-items:center;display:flex;gap:10px;margin-bottom:10px}.option-row-combined{border:1px solid #e0e0e0;border-radius:6px;padding:8px;transition:all .2s}.option-row-combined:hover{background:#f5f5f5;border-color:#2196f3}.option-row-combined.correct-option{background:#e8f5e9;border:2px solid #4caf50}.option-letter{color:#666;font-size:14px;font-weight:600;min-width:24px}.option-row-combined.correct-option .option-letter{color:#2e7d32}.correct-radio{cursor:pointer;flex-shrink:0;width:auto!important}.option-input{background:#fff;border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:500px;padding:10px 12px;width:100%}.option-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.btn-remove-option{background:#ffebee;border:1px solid #f44336;border-radius:6px;color:#f44336;cursor:pointer;padding:8px 12px;transition:all .2s}.btn-remove-option:hover{background:#f44336;color:#fff}.btn-add-option{align-items:center;background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;color:#2196f3;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-top:5px;padding:8px 16px;transition:all .2s}.btn-add-option:hover{background:#2196f3;color:#fff}.true-false-options{display:flex;gap:20px;padding:10px}.true-false-options label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.true-false-options input[type=radio]{cursor:pointer}.help-text{color:#666;font-size:12px;font-style:italic;margin-top:5px}.question-preview-integrated{background:#f5f5f5;border-left:4px solid #2196f3;border-radius:6px;margin-bottom:15px;margin-top:8px;padding:15px}.preview-question{color:#333;font-size:14px;line-height:1.6;margin-bottom:10px}.preview-question strong{color:#2196f3;margin-right:8px}.preview-options{border-top:1px solid #ddd;margin-top:15px;padding-top:15px}.preview-options strong{color:#2196f3;display:block;margin-bottom:10px;margin-right:8px}.options-list{display:flex;flex-direction:column;gap:8px}.preview-option{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:8px 12px;transition:all .2s}.preview-option.correct-option{background:#e8f5e9;border:2px solid #4caf50;font-weight:500}.option-label{color:#666;font-weight:600;min-width:24px}.preview-option.correct-option .option-label{color:#2e7d32}.option-text{color:#333;flex:1 1}.preview-option.correct-option .option-text{color:#2e7d32}.correct-badge{background:#4caf50;border-radius:12px;color:#fff;font-size:11px;font-weight:600;margin-left:auto;padding:2px 8px}.preview-answer{border-top:1px solid #ddd;color:#333;font-size:14px;margin-top:15px;padding-top:10px}.preview-answer strong{color:#4caf50;margin-right:8px}.correct-answer-text{background:#e8f5e9;border-radius:4px;color:#2e7d32;display:inline-block;font-weight:500;padding:4px 12px}.option-row.correct-option{background:#e8f5e9;border:2px solid #4caf50;border-radius:6px;padding:8px}.true-false-options label.selected-answer{background:#e8f5e9;border:2px solid #4caf50;border-radius:6px;color:#2e7d32;font-weight:500;padding:8px 16px}.btn-add-question{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;margin-top:20px;padding:15px 30px;transition:background .2s}.btn-add-question:hover{background:#45a049}.no-questions{background:#fff;border:2px dashed #ddd;border-radius:12px;color:#999;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.quiz-editor-header,.quiz-header{flex-direction:column}.quiz-editor-header{align-items:flex-start}.editor-actions{width:100%}.btn-cancel,.btn-save{flex:1 1;justify-content:center}}.admin-panel{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}@media (max-width:768px){.admin-panel{padding:15px}}@media (max-width:480px){.admin-panel{padding:10px}}@media (max-width:360px){.admin-panel{padding:8px}}.admin-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px;padding:20px}.admin-header h1{color:#333;flex:1 1;font-size:2rem;margin:0;min-width:200px}.back-button{background:#667eea;flex-shrink:0;font-size:1rem;gap:8px;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.back-button:hover{background:#5568d3;transform:translateY(-2px)}.admin-user-info{align-items:center;color:#667eea;display:flex;flex-shrink:0;flex-wrap:wrap;font-weight:600;gap:8px}.admin-tabs-container{margin-bottom:20px;position:relative}.mobile-menu-toggle{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin-bottom:10px;padding:12px 20px;transition:all .3s ease;width:100%}.mobile-menu-toggle:hover{background:#5568d3;transform:translateY(-2px)}.mobile-menu-toggle svg{height:20px;width:20px}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px}.admin-tabs button{align-items:center;background:#fff;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:15px 20px;transition:all .3s ease}.admin-tabs button span{display:inline}.admin-tabs button:hover{background:#f0f0f0;transform:translateY(-2px)}.admin-tabs button.active{background:#667eea;color:#fff}.admin-tabs button svg{flex-shrink:0;height:18px;width:18px}.admin-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}@media (max-width:768px){.admin-content{padding:20px}}@media (max-width:480px){.admin-content{border-radius:8px;padding:15px}}@media (max-width:360px){.admin-content{padding:12px}}.loading{color:#666;padding:40px}.analytics-view{width:100%}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:25px;text-align:center}.stat-icon{font-size:2.5rem;margin-bottom:10px;opacity:.9}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:5px}.stat-label{opacity:.9}.analytics-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:30px}.analytics-section{background:#f8f9fa;border-radius:12px;padding:20px}.analytics-section h2{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.top-users-list{display:flex;flex-direction:column;gap:10px}.top-user-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:15px}.top-user-item .rank{color:#667eea;font-size:1.2rem;font-weight:700;min-width:40px}.top-user-item .name{color:#333;flex:1 1;font-weight:600}.top-user-item .xp{color:#764ba2;font-weight:600}.top-user-item .level{color:#666;font-size:.9rem}.recent-activity-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.activity-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;font-size:.9rem;gap:15px;padding:12px}.activity-item .activity-type{background:#667eea;border-radius:4px;color:#fff;font-size:.8rem;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.activity-item .activity-type-buy{background:#10b981}.activity-item .activity-type-sell{background:#ef4444}.activity-item .activity-user{color:#333;flex:0 0 auto;font-weight:500;min-width:150px}.activity-item .activity-details{color:#666;flex:1 1;font-size:.85rem;margin-left:10px}.activity-item .activity-time{color:#666;font-size:.85rem;white-space:nowrap}.users-view{width:100%}.users-header{margin-bottom:20px}.search-box{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:12px 15px}.search-box input{background:#0000;border:none;flex:1 1;font-size:1rem;outline:none}.users-table{overflow-x:auto}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#667eea;color:#fff;font-weight:600;padding:15px;text-align:left}.users-table td{border-bottom:1px solid #e0e0e0;padding:15px}.users-table tr:hover{background:#f8f9fa}.status-badges{display:flex;flex-wrap:wrap;gap:5px}.badge{border-radius:4px;font-size:.8rem;font-weight:600;padding:4px 10px}.badge.admin{background:#fbbf24;color:#78350f}.badge.master-admin{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d;color:#fff;font-weight:700}.badge.banned{background:#ef4444;color:#fff}.badge.active{background:#10b981;color:#fff}.master-admin-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;box-shadow:0 2px 4px #f59e0b4d;color:#fff;font-size:.75rem;font-weight:700;margin-left:10px;padding:4px 12px}.admin-level-badge{border-radius:8px;font-size:.7rem;font-weight:600;margin-left:10px;padding:4px 10px}.admin-level-badge.level-3{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.admin-level-badge.level-2{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.admin-level-badge.level-1{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.badge.level-3{background:#3b82f6;color:#fff}.badge.level-2{background:#10b981;color:#fff}.badge.level-1{background:#8b5cf6;color:#fff}.admin-communication-view{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px}.communication-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.message-filters{display:flex;gap:10px}.message-filters button{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;padding:8px 16px;transition:all .3s}.message-filters button.active{background:#667eea;border-color:#667eea;color:#fff}.btn-compose{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.compose-message{background:#f8f9fa;border-radius:8px;padding:20px}.compose-message,.send-to-section{margin-bottom:20px}.send-to-section>label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:12px}.send-to-options{gap:12px;padding-left:0}.send-to-options,.send-to-type{display:flex;flex-direction:column}.send-to-type{align-items:flex-start;gap:8px}.send-to-type>label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:10px;padding:4px 0;-webkit-user-select:none;user-select:none;width:100%}.send-to-type>label input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.send-to-type select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem;margin-left:28px;max-width:400px;padding:10px 12px;transition:border-color .2s;width:calc(100% - 28px)}.send-to-type select:hover{border-color:#667eea}.send-to-type select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.level-checkboxes{background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;flex-wrap:wrap;gap:16px;margin-left:28px;max-width:400px;padding:12px 16px;width:calc(100% - 28px)}.level-checkboxes label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px;padding:4px 0;-webkit-user-select:none;user-select:none}.level-checkboxes input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.level-broadcast{background:#e0f2fe;border-radius:4px;color:#0369a1;font-size:.85rem;padding:4px 8px}.compose-message h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 20px}.compose-message input[type=text],.compose-message textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:1rem;margin:8px 0;padding:12px;transition:border-color .2s;width:100%}.compose-message input[type=text]:focus,.compose-message textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.compose-message select{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;cursor:pointer;font-family:inherit;font-size:1rem;margin:8px 0;padding:12px;transition:border-color .2s;width:100%}.compose-message select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.compose-actions{display:flex;gap:10px;margin-top:10px}.compose-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px}.compose-actions button:first-child{background:#667eea;color:#fff}.compose-actions button:last-child{background:#e0e0e0;color:#333}.messages-list{max-height:600px;overflow-y:auto}.message-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:15px;padding:15px}.message-item.unread{background:#f8f9ff;border-left:4px solid #667eea}.message-header{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:10px}.message-subject{color:#333;font-weight:600;margin-bottom:8px}.message-body{color:#555;line-height:1.6;margin:10px 0}.message-footer{align-items:center;color:#888;display:flex;font-size:.85rem;justify-content:space-between;margin-top:10px}.priority{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px}.priority.urgent{background:#ef4444;color:#fff}.priority.high{background:#f59e0b;color:#fff}.priority.normal{background:#3b82f6;color:#fff}.priority.low{background:#10b981;color:#fff}.broadcast{background:#8b5cf6;border-radius:4px;color:#fff;font-size:.75rem;padding:4px 8px}.user-notes-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.user-notes-section h3{color:#333;margin-bottom:15px}.add-note-form{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.add-note-form textarea{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:10px;resize:vertical;width:100%}.add-note-form select{border:1px solid #ddd;border-radius:6px;padding:8px}.add-note-form button{align-self:flex-start;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.notes-list{max-height:300px;overflow-y:auto}.note-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;padding:12px}.note-item.resolved{opacity:.7}.note-header{font-size:.9rem;justify-content:space-between;margin-bottom:8px}.note-header,.note-header-left{align-items:center;display:flex}.note-header-left{flex-wrap:wrap;gap:8px}.note-type{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px}.note-type.bot_flag{background:#ef4444;color:#fff}.note-type.suspicious{background:#f59e0b;color:#fff}.note-type.recommendation{background:#10b981;color:#fff}.note-type.general{background:#6b7280;color:#fff}.resolved-badge{background:#10b981;border-radius:4px;color:#fff;font-size:.7rem;padding:4px 8px}.note-body{color:#555;line-height:1.5;margin:8px 0}.note-footer{color:#888;font-size:.8rem}.btn-delete-note{align-items:center;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:4px;padding:6px 10px;transition:all .3s}.btn-delete-note:hover{background:#dc2626}.account-management-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.account-management-section h3{color:#333;margin-bottom:15px}.add-money-form{display:flex;flex-direction:column;gap:10px}.add-money-form input{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:10px}.add-money-form button{align-self:flex-start;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.admin-transactions-section{border-top:1px solid #e0e0e0;margin-top:25px;padding-top:20px}.admin-transactions-section h4{color:#333;font-size:1.1rem;margin-bottom:15px}.transactions-list{max-height:300px;overflow-y:auto}.transaction-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;padding:12px;position:relative}.transaction-item.admin-transaction{background:#f0fdf4;border-left:4px solid #10b981}.transaction-item.admin-transaction.deposit{background:#f0fdf4;border-left-color:#10b981}.transaction-item.admin-transaction.withdrawal{background:#fef2f2;border-left-color:#ef4444}.transaction-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between;margin-bottom:10px}.transaction-type-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.transaction-type-label{color:#333;display:block;font-size:1rem}.transaction-admin-info{align-items:center;display:flex;font-size:.9rem;gap:6px}.admin-label{color:#666;font-weight:500}.admin-name{color:#667eea;font-weight:600}.transaction-amount{font-size:1.3rem;font-weight:700;text-align:right;white-space:nowrap}.transaction-amount.positive{color:#10b981}.transaction-amount.negative{color:#ef4444}.transaction-details{color:#555;font-size:.9rem;line-height:1.6}.transaction-reason{background:#fff9;border-left:3px solid #667eea;border-radius:4px;color:#666;font-style:italic;margin:8px 0;padding:8px}.transaction-reason strong{color:#333;font-style:normal}.transaction-date{color:#888;font-size:.85rem;margin-top:4px}.admin-transaction-badge{background:#10b981;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:4px 8px;position:absolute;right:8px;top:8px}.admin-transaction-badge.deposit-badge{background:#10b981}.admin-transaction-badge.withdrawal-badge{background:#ef4444}.admin-level-modal{max-width:600px}.admin-level-selection{margin-bottom:20px}.admin-level-selection label{color:#333;display:block;font-weight:600;margin-bottom:10px}.admin-level-select{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;margin-bottom:15px;padding:12px;width:100%}.admin-level-select:focus{border-color:#667eea;outline:none}.level-description{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:15px}.level-info{color:#555;line-height:1.6;margin:0}.level-info.level-1{border-left-color:#8b5cf6}.level-info.level-2{border-left-color:#10b981}.level-info.level-3{border-left-color:#3b82f6}.level-info.master-admin{border-left-color:#f59e0b}.btn-edit-admin{background:#8b5cf6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:all .3s}.btn-edit-admin:hover{background:#7c3aed}.btn-action.btn-edit-admin{align-items:center;background:#8b5cf6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 20px}.btn-action.btn-confirm{background:#10b981;color:#fff}.btn-action.btn-cancel{background:#e0e0e0;color:#333}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-buttons button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;padding:8px 12px;transition:all .3s ease}.btn-view{background:#3b82f6;color:#fff}.btn-view:hover{background:#2563eb}.btn-ban{background:#ef4444;color:#fff}.btn-ban:hover{background:#dc2626}.btn-unban{background:#10b981;color:#fff}.btn-unban:hover{background:#059669}.btn-delete{background:#dc2626;color:#fff}.btn-delete:hover{background:#b91c1c}.btn-admin{background:#f59e0b;color:#fff}.btn-admin:hover{background:#d97706}.btn-remove-admin{background:#6b7280;color:#fff}.btn-remove-admin:hover{background:#4b5563}.action-buttons button:disabled{cursor:not-allowed;opacity:.5}.pagination{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:20px;padding:20px}.pagination button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:all .3s ease}.pagination button:hover:not(:disabled){background:#5568d3;transform:translateY(-2px)}.pagination button:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:600px;overflow-y:auto}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:5px 10px;transition:all .3s ease}.close-button:hover{background:#f0f0f0;color:#333}.modal-body{padding:20px}.user-details{margin-bottom:20px}.detail-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:10px;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row strong{color:#333;min-width:150px}.ban-reason-input{margin-bottom:15px}.ban-reason-input input{border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;outline:none;padding:10px;width:100%}.ban-reason-input input:focus{border-color:#667eea}.modal-actions{flex-wrap:wrap}.btn-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;min-width:150px;padding:12px 20px;transition:all .3s ease}.btn-action:hover:not(:disabled){box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.btn-action:disabled{cursor:not-allowed;opacity:.5}@media (min-width:1200px){.admin-header{padding:25px 30px}.admin-header h1{font-size:2.25rem}}@media (max-width:1199px) and (min-width:992px){.admin-header{padding:20px 25px}.admin-header h1{font-size:1.875rem}}@media (max-width:991px) and (min-width:769px){.admin-header{padding:18px 20px}.admin-header h1{font-size:1.75rem}.back-button{padding:8px 16px}.admin-user-info,.back-button{font-size:.95rem}}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:15px;padding:15px}.admin-header h1{font-size:1.5rem;min-width:0;min-width:auto;width:100%}.back-button{justify-content:center;padding:12px 20px;width:100%}.admin-user-info{font-size:.9rem;justify-content:flex-start;width:100%}.mobile-menu-toggle{display:flex}.admin-tabs{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:none;flex-direction:column;gap:8px;left:0;margin-top:0;padding:10px;position:absolute;right:0;top:100%;z-index:100}.admin-tabs.mobile-menu-open{display:flex}.admin-tabs button{flex:1 1;font-size:.9rem;justify-content:flex-start;min-width:0;min-width:auto;padding:12px 16px;width:100%}.admin-tabs button svg{flex-shrink:0;height:18px;width:18px}.admin-tabs button span{display:inline}.analytics-grid,.analytics-sections{grid-template-columns:1fr}.users-table{font-size:.9rem}.users-table td,.users-table th{padding:10px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.modal-content{width:95%}}@media (max-width:480px){.admin-header{gap:12px;padding:12px}.admin-header h1{font-size:1.25rem}.back-button{font-size:.9rem;padding:10px 16px}.back-button svg{height:14px;width:14px}.admin-user-info{align-items:flex-start;flex-direction:column;font-size:.85rem;gap:6px}.admin-user-info svg{height:14px;width:14px}.admin-level-badge,.master-admin-badge{font-size:.65rem;padding:3px 8px}.mobile-menu-toggle{display:flex;font-size:.9rem;padding:10px 16px}.mobile-menu-toggle svg{height:18px;width:18px}.admin-tabs{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:none;flex-direction:column;gap:6px;left:0;margin-top:0;padding:8px;position:absolute;right:0;top:100%;z-index:100}.admin-tabs.mobile-menu-open{display:flex}.admin-tabs button{flex:1 1;font-size:.85rem;justify-content:flex-start;min-width:0;min-width:auto;padding:10px 12px;width:100%}.admin-tabs button svg{flex-shrink:0;height:16px;width:16px}.admin-tabs button span{display:inline}}@media (max-width:360px){.admin-header{padding:10px}.admin-header h1{font-size:1.125rem}.back-button{font-size:.85rem;padding:8px 12px}.admin-user-info{font-size:.8rem}.mobile-menu-toggle{font-size:.85rem;padding:8px 12px}.mobile-menu-toggle svg{height:16px;width:16px}.admin-tabs{padding:6px}.admin-tabs button{font-size:.8rem;gap:6px;padding:8px 10px}.admin-tabs button svg{flex-shrink:0;height:14px;width:14px}.admin-tabs button span{display:inline}}.ip-addresses-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.ip-addresses-section h3{color:#333;margin-bottom:15px}.ip-addresses-list{max-height:400px;overflow-y:auto}.ip-address-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:15px;transition:all .3s ease}.ip-address-item:hover{box-shadow:0 2px 8px #0000001a}.ip-address-item.banned{background:#fef2f2;border-left:4px solid #ef4444}.ip-address-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:10px}.ip-address-header,.ip-address-info{align-items:center;display:flex;gap:10px}.ip-address-info{flex:1 1}.ip-address-info strong{color:#333;font-family:Courier New,monospace;font-size:1rem}.banned-badge{background:#ef4444;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.ban-ip-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ban-ip-form input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:.9rem;min-width:200px;padding:8px 12px}.ban-ip-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.btn-ban-ip,.btn-unban-ip{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.btn-ban-ip{background:#ef4444;color:#fff}.btn-ban-ip:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-unban-ip{background:#10b981;color:#fff}.btn-unban-ip:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.btn-ban-ip:disabled,.btn-unban-ip:disabled{cursor:not-allowed;opacity:.5}.ip-address-details{grid-gap:8px;border-top:1px solid #e0e0e0;color:#666;display:grid;font-size:.85rem;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px;padding-top:10px}.ip-address-details div{align-items:center;display:flex;gap:5px}@media (max-width:768px){.ip-address-header{align-items:flex-start;flex-direction:column}.ban-ip-form{width:100%}.ban-ip-form input{min-width:0;min-width:auto;width:100%}.ip-address-details{grid-template-columns:1fr}}.league-management{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;min-height:100vh;padding:20px}.league-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.league-header h1{font-size:2rem;margin:0}.back-button{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;min-width:44px;padding:10px 15px;transition:all .3s}.back-button:hover{background:#ffffff4d;transform:translateX(-5px)}.user-info{align-items:center;display:flex;font-size:1.1rem;gap:10px}.leagues-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:30px}.leagues-list h2{font-size:1.8rem;margin-bottom:20px}.leagues-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.league-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s}.league-card:hover{background:#ffffff40;box-shadow:0 10px 30px #0000004d;transform:translateY(-5px)}.league-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.league-card-header h3{font-size:1.3rem;margin:0}.league-code{background:#ffffff4d;border-radius:6px;font-family:monospace;font-size:.9rem;padding:5px 10px}.league-description{color:#ffffffe6;font-size:.95rem;margin-bottom:15px}.league-stats{display:flex;gap:20px;margin-bottom:15px}.league-stats .stat{align-items:center;display:flex;font-size:.9rem;gap:8px}.league-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.action-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.85rem;gap:6px;justify-content:center;min-width:120px;padding:8px 12px;transition:all .3s}.action-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.action-btn.assignments-btn{background:#10b9814d}.action-btn.curriculum-btn{background:#3b82f64d}.action-btn.challenges-btn{background:#f59e0b4d}.empty-state{color:#fffc;padding:60px 20px}.empty-state svg{margin-bottom:20px}.league-details{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:30px}.details-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.details-header h2{flex:1 1;margin:0}.back-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;justify-content:center;min-width:44px;padding:10px 15px;transition:all .3s}.back-btn,.details-actions{align-items:center;display:flex}.details-actions{flex-wrap:wrap;gap:15px;margin-bottom:30px}.analytics-btn,.create-student-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 24px;transition:all .3s}.analytics-btn:hover,.create-student-btn:hover{background:#ffffff4d}.assignments-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 24px;transition:all .3s}.assignments-btn:hover{background:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-2px)}.curriculum-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 24px;transition:all .3s}.curriculum-btn:hover{background:#2563eb;box-shadow:0 4px 8px #3b82f64d;transform:translateY(-2px)}.challenges-btn{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;padding:12px 24px;transition:all .3s}.challenges-btn:hover{background:#d97706;box-shadow:0 4px 8px #f59e0b4d;transform:translateY(-2px)}.create-student-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:15px;color:#333;max-width:500px;padding:30px;width:90%}.modal-content h3{color:#667eea;margin-top:0}.form-group,.modal-content h3{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.modal-actions{display:flex;gap:10px;margin-top:20px}.cancel-btn,.submit-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;gap:8px;justify-content:center;padding:12px;transition:all .3s}.submit-btn{background:#667eea;color:#fff}.submit-btn:hover{background:#5568d3}.cancel-btn{background:#e0e0e0;color:#333}.cancel-btn:hover{background:#d0d0d0}.students-list{margin-top:30px}.students-list h3{margin-bottom:20px}.students-table{overflow-x:auto}.students-table table{background:#ffffff1a;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.students-table td,.students-table th{border-bottom:1px solid #ffffff1a;padding:12px;text-align:left}.students-table th{background:#fff3;color:#fff;font-weight:600}.students-table td{color:#fff}.league-analytics,.student-analytics{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:30px}.analytics-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.analytics-header h2{flex:1 1;margin:0}.analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.analytics-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#1f2937;padding:20px}.analytics-card h3{color:#111827;font-size:1.3rem;margin-bottom:20px;margin-top:0}.stat-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{display:flex;flex-direction:column;gap:5px}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.stat-value{color:#111827;font-size:1.5rem;font-weight:600}.level-distribution{display:flex;flex-direction:column;gap:15px}.level-bar{align-items:center;display:flex;gap:15px}.level-label{color:#374151;font-size:.9rem;min-width:80px}.level-bar-container{background:#fff3;border-radius:12px;flex:1 1;height:24px;overflow:hidden}.level-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s}.level-count{color:#111827;font-weight:600;min-width:40px;text-align:right}.loading{font-size:1.2rem;padding:60px;text-align:center}@media (max-width:768px){.analytics-grid,.leagues-grid,.stat-row{grid-template-columns:1fr}.details-actions{flex-direction:column}}.assignments-view{color:#fff;padding:1.5rem}.assignments-actions{display:flex;gap:1rem;margin-bottom:2rem}.assign-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.assign-btn:hover{background:#059669;box-shadow:0 4px 6px -1px #10b9814d;transform:translateY(-1px)}.assignments-content{display:flex;flex-direction:column;gap:2rem}.assignments-section{background:#fffffff2;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;color:#1f2937;padding:1.5rem}.assignments-section h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.assignment-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;display:flex;justify-content:space-between;padding:1rem}.assignment-info h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .25rem}.assignment-info p{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.assignment-info small{color:#9ca3af;font-size:.75rem}.remove-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.remove-btn:hover{background:#dc2626}.empty-message{color:#6b7280;font-style:italic;padding:1rem;text-align:center}.assign-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.assign-modal .modal-content{background:#fff;border-radius:12px;color:#1f2937;max-height:90vh;max-width:1400px;overflow-y:auto;padding:2rem;width:98%}.assign-modal .form-group{margin-bottom:1.5rem;width:100%}.assign-modal .form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.assign-modal .form-group input[type=number],.assign-modal .form-group input[type=text]{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.assign-modal .form-group>div{width:100%}.assign-modal .form-group>div>div{width:100%!important}.form-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.75rem;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.loading-state{color:#6b7280;padding:2rem;text-align:center}.curriculum-view{color:#fff;padding:1.5rem}.curriculum-actions{display:flex;gap:1rem;margin-bottom:2rem}.create-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.create-btn:hover{background:#2563eb;box-shadow:0 4px 6px -1px #3b82f64d;transform:translateY(-1px)}.create-btn-pdf{background:#ef4444!important}.create-btn-pdf:hover{background:#dc2626!important;box-shadow:0 4px 6px -1px #ef44444d}.curriculum-content{display:flex;flex-direction:column;gap:2rem;max-width:100%;width:100%}.curriculum-section{background:#fffffff2;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;color:#1f2937;max-width:100%;padding:1.5rem;width:100%}.curriculum-section h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.curriculum-list{display:flex;flex-direction:column;gap:1rem}.curriculum-item{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;display:flex;justify-content:space-between;padding:1rem}.curriculum-item:has(.edit-form){flex-direction:column;width:100%}.curriculum-info h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .5rem}.curriculum-info p{color:#6b7280;font-size:.875rem;margin:.25rem 0}.curriculum-info small{color:#9ca3af;font-size:.75rem}.curriculum-actions-item{display:flex;gap:.5rem}.delete-btn,.edit-btn,.save-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.edit-btn{background:#3b82f6;color:#fff}.edit-btn:hover{background:#2563eb}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626}.save-btn{background:#10b981;color:#fff}.save-btn:hover{background:#059669}.edit-form{max-width:100%;width:100%}.edit-form .form-group{margin-bottom:1.5rem;width:100%}.edit-form .form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.edit-form .form-group input[type=number],.edit-form .form-group input[type=text]{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.edit-form .form-group>div{width:100%}.edit-form .form-group>div>div{width:100%!important}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.cancel-btn{align-items:center;background:#e5e7eb;border:none;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.cancel-btn:hover{background:#d1d5db}.challenges-view{color:#fff;padding:1.5rem}.challenges-actions{display:flex;gap:1rem;margin-bottom:2rem}.challenges-content{background:#fffffff2;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;color:#1f2937;padding:1.5rem}.challenges-list{display:flex;flex-direction:column;gap:1rem}.challenge-item{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem}.challenge-info h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.challenge-info p{color:#6b7280;font-size:.875rem;margin:.5rem 0}.challenge-details{margin-top:.75rem}.challenge-details p{align-items:center;color:#374151;font-size:.875rem;margin:.25rem 0}.assign-btn-small,.challenge-actions-item,.challenge-details p{display:flex;gap:.5rem}.assign-btn-small{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.assign-btn-small:hover{background:#059669}.remove-btn-small{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.remove-btn-small:hover{background:#dc2626}.hierarchy-dropdown-container{position:relative}.hierarchy-dropdown{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.875rem;min-width:100%;padding:.75rem 35px .75rem .75rem}.hierarchy-dropdown:hover{border-color:#667eea}.hierarchy-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.hierarchy-dropdown option{padding:8px 12px;white-space:pre}.hierarchy-dropdown option.course-option{background-color:#f0f4ff;color:#667eea;font-size:1rem;font-weight:600;padding:10px 12px}.hierarchy-dropdown option.unit-option{background-color:#faf5ff;color:#764ba2;font-size:.95rem;font-weight:500;padding:8px 12px}.hierarchy-dropdown option.lesson-option{color:#333;font-size:.9rem;font-weight:400;padding:6px 12px}.hierarchy-dropdown option.quiz-option{color:#555;font-size:.9rem;font-weight:400;padding:6px 12px}.activity-timeline{display:flex;flex-direction:column;gap:20px}.activity-day{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.activity-day-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.activity-date{color:#111827;font-size:1rem;font-weight:600}.activity-count{color:#6b7280;font-size:.875rem;font-weight:500}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-detail{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;padding:10px;transition:all .2s}.activity-detail:hover{background:#f3f4f6;border-color:#d1d5db}.activity-type{align-items:center;border-radius:6px;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.activity-type-lesson{background:#dbeafe;color:#1e40af}.activity-type-quiz{background:#fef3c7;color:#92400e}.activity-type-fact{background:#d1fae5;color:#065f46}.activity-name{color:#374151;flex:1 1;font-size:.9rem;font-weight:500}.activity-score{border-radius:4px;flex-shrink:0;font-size:.875rem;font-weight:600;padding:4px 8px}.activity-score.passed{background:#d1fae5;color:#065f46}.activity-score.failed{background:#fee2e2;color:#991b1b}.class-assignments-container{background-color:#f9fafb;min-height:100vh;padding-bottom:80px}.class-assignments-header{background:#fff;box-shadow:0 1px 3px 0 #0000001a;margin-bottom:1rem;padding:1.5rem}.class-assignments-header h1{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.class-assignments-header .subtitle{color:#6b7280;font-size:.875rem;margin:0}.assignments-tabs{display:flex;gap:.5rem;margin-bottom:1rem;padding:0 1rem}.tab-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.tab-button:hover{border-color:#3b82f6;color:#3b82f6}.tab-button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.assignments-content{padding:0 1rem}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem;transition:all .2s}.assignment-card:hover{box-shadow:0 4px 6px -1px #0000001a}.assignment-card.completed{border-left:4px solid #10b981}.assignment-card.attempted{border-left:4px solid #3b82f6}.assignment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.assignment-info h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.assignment-meta{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.assignment-date{color:#9ca3af;font-size:.75rem;margin:.25rem 0 0}.quiz-score{color:#3b82f6;font-size:.875rem;font-weight:500;margin:.5rem 0 0}.assignment-status{align-items:center;display:flex}.status-icon{font-size:1.5rem}.status-icon.completed{color:#10b981}.status-icon.attempted{color:#3b82f6}.status-icon.pending{color:#9ca3af}.assignment-actions{display:flex;gap:.75rem}.start-button{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.start-button:hover{background:#2563eb;box-shadow:0 4px 6px -1px #3b82f64d;transform:translateY(-1px)}.empty-state{color:#6b7280;padding:3rem 1rem;text-align:center}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1rem;margin:0}.loading-screen{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-content{text-align:center}.loading-spinner{animation:spin 1s linear infinite;border-bottom:2px solid #2563eb;border-radius:50%;height:3rem;margin:0 auto 1rem;width:3rem}.loading-text{color:#4b5563}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.ad059bb5.css.map*/