.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.auth-card{background:rgba(255,255,255,.98);border-radius:24px;box-shadow:0 20px 60px #0000001a;backdrop-filter:blur(10px);width:100%;max-width:1000px;overflow:hidden}.auth-content{display:flex;min-height:600px}.auth-form-section{flex:1;padding:48px;display:flex;flex-direction:column;justify-content:center}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2{font-size:2.5rem;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:#6b7280;font-size:1.1rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#374151;font-size:.95rem}.form-group input{padding:16px 20px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;background:#f9fafb;color:#1f2937;font-weight:500;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#9ca3af}.error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:.9rem;border:1px solid #fecaca}.success-message{background:#f0fdf4;color:#16a34a;padding:12px 16px;border-radius:8px;font-size:.9rem;border:1px solid #bbf7d0}.forgot-password-btn{background:none;border:none;color:#667eea;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:0;margin:0}.forgot-password-btn:hover{color:#5a67d8}.auth-submit-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:8px}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-toggle{text-align:center;margin-top:24px}.auth-toggle p{color:#6b7280;margin:0}.toggle-btn{background:none;border:none;color:#667eea;font-weight:700;cursor:pointer;text-decoration:underline;margin-left:8px;font-size:1rem}.toggle-btn:hover{color:#5a67d8}.auth-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px;position:relative}.divider-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,#d1d5db,transparent)}.divider-text{background:white;color:#6b7280;font-weight:600;font-size:.9rem;padding:8px 16px;border-radius:20px;border:1px solid #e5e7eb;margin:16px 0}.oauth-section{flex:1;padding:48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)}.oauth-header{text-align:center;margin-bottom:32px}.oauth-header h3{font-size:1.8rem;font-weight:700;margin:0 0 8px;color:#1f2937}.oauth-header p{color:#6b7280;font-size:1rem;margin:0}.oauth-buttons{display:flex;flex-direction:column;gap:16px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:white;color:#374151}.oauth-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.oauth-btn.google-btn:hover{border-color:#4285f4;box-shadow:0 8px 25px #4285f433}.oauth-btn.facebook-btn{background:#1877f2;color:#fff;border-color:#1877f2}.oauth-btn.facebook-btn:hover{background:#166fe5;border-color:#166fe5;box-shadow:0 8px 25px #1877f24d}.oauth-btn.facebook-btn .oauth-icon{filter:brightness(0) invert(1)}.oauth-icon{width:20px;height:20px}.oauth-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.oauth-footer p{color:#6b7280;font-size:.85rem;margin:0;line-height:1.5}@media (max-width: 768px){.auth-content{flex-direction:column;min-height:auto}.auth-form-section,.oauth-section{padding:32px 24px}.auth-divider{flex-direction:row;padding:24px 32px}.divider-line{width:60px;height:1px}.divider-text{margin:0 16px}.auth-header h2{font-size:2rem}.oauth-header h3{font-size:1.5rem}}@media (max-width: 480px){.auth-container{padding:10px}.auth-card{border-radius:16px}.auth-form-section,.oauth-section{padding:24px 20px}.auth-header h2{font-size:1.8rem}.oauth-header h3{font-size:1.3rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;color:#333;margin:0;padding:0;overflow-x:hidden;scroll-behavior:smooth}#root{min-height:100vh;position:relative;width:100%}.container{max-width:1200px;margin:0 auto;padding:95px 20px 20px}.dashboard{background:rgba(255,255,255,.95);border-radius:20px;padding:30px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:20px 0}.header{text-align:center;margin-bottom:40px;animation:slideInDown .8s ease;-webkit-animation:slideInDown .8s ease}.header h1{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,#8B5CF6,#06B6D4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;text-shadow:0 4px 8px rgba(0,0,0,.1)}.header p{font-size:1.2rem;color:#666;font-weight:300}.subjects-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:40px}.subject-card{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:35px 30px;border-radius:20px;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 10px 30px #8b5cf633;animation:fadeInUp .6s ease;-webkit-animation:fadeInUp .6s ease}.subject-card:nth-child(2){background:linear-gradient(135deg,#06B6D4,#3B82F6);animation-delay:.1s;-webkit-animation-delay:.1s}.subject-card:nth-child(3){background:linear-gradient(135deg,#3B82F6,#10B981);animation-delay:.2s;-webkit-animation-delay:.2s}.subject-card:nth-child(4){background:linear-gradient(135deg,#10B981,#F59E0B);animation-delay:.3s;-webkit-animation-delay:.3s}.subject-card:hover{transform:translateY(-8px) scale(1.05);-webkit-transform:translateY(-8px) scale(1.05);box-shadow:0 25px 50px #0000004d}.subject-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s;-webkit-transition:left .6s}.subject-card:hover:before{left:100%}.subject-card.selected{background:linear-gradient(135deg,#8B5CF6,#06B6D4);transform:scale(1.1);-webkit-transform:scale(1.1);box-shadow:0 20px 40px #8b5cf666;position:relative}.active-indicator{position:absolute;top:15px;right:15px;background:rgba(255,255,255,.9);color:#8b5cf6;padding:5px 12px;border-radius:20px;font-size:.8rem;font-weight:600;animation:pulse 2s infinite;-webkit-animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.subject-card h3{font-size:1.5rem;font-weight:600;margin-bottom:10px}.subject-card p{font-size:.9rem;opacity:.9}.analysis-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.analysis-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:20px 30px;border-radius:15px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);opacity:.5;pointer-events:none;box-shadow:0 8px 25px #8b5cf633;position:relative;overflow:hidden}.analysis-section{margin-top:40px;animation:fadeInUp .8s ease .4s both;-webkit-animation:fadeInUp .8s ease .4s both}.analysis-section h2{text-align:center;margin-bottom:30px;color:#2c3e50;font-size:2rem;font-weight:700}.analysis-buttons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.analysis-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:25px 20px;border-radius:15px;cursor:pointer;font-weight:600;font-size:1.1rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 25px #8b5cf633;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px}.analysis-button:nth-child(2){background:linear-gradient(135deg,#06B6D4,#3B82F6)}.analysis-button:nth-child(3){background:linear-gradient(135deg,#3B82F6,#10B981)}.analysis-button:nth-child(4){background:linear-gradient(135deg,#10B981,#F59E0B)}.analysis-button:nth-child(5){background:linear-gradient(135deg,#F59E0B,#EF4444)}.analysis-button.active{opacity:1;pointer-events:all}.analysis-button.active:hover{transform:translateY(-5px) scale(1.05);-webkit-transform:translateY(-5px) scale(1.05);box-shadow:0 15px 35px #8b5cf64d}.analysis-button.inactive{opacity:.3;pointer-events:none;filter:grayscale(100%)}.analysis-icon{font-size:2rem;margin-bottom:5px}.analysis-name{font-weight:600;font-size:1rem}.analysis-button.active:hover{transform:translateY(-5px) scale(1.05);-webkit-transform:translateY(-5px) scale(1.05);box-shadow:0 15px 35px #0000004d}.analysis-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s;-webkit-transition:left .6s}.analysis-button.active:hover:before{left:100%}.results-section{background:white;border-radius:15px;padding:30px;box-shadow:0 10px 30px #0000001a}.results-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:30px;position:relative;gap:20px}.header-buttons{display:flex;gap:15px;align-items:center;flex-shrink:0;order:-1}.results-header h2{flex:1;text-align:center;margin:0;font-size:2rem;font-weight:600;color:#333;padding-left:80px;padding-right:20px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;min-height:2.4rem}@media (max-width: 768px){.results-header h2{font-size:1.5rem;padding-left:40px;padding-right:40px}.results-header{gap:15px}}.back-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:12px 24px;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 25px #8b5cf633}.back-button:hover{transform:translateY(-3px) scale(1.05);-webkit-transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px #8b5cf64d}.topics-table{width:100%;border-collapse:collapse;margin-top:20px}.topics-table th,.topics-table td{padding:15px;text-align:left;border-bottom:1px solid #eee}.topics-table th{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;font-weight:600}.topics-table tr:hover{background-color:#f8f9fa}.weight-bar{background:#e9ecef;border-radius:10px;height:20px;position:relative;overflow:hidden;margin:5px 0}.weight-fill{background:linear-gradient(90deg,#8B5CF6,#06B6D4);height:100%;border-radius:10px;transition:width 1s ease;-webkit-transition:width 1s ease;position:relative;width:0;animation:fillBar 1.5s ease forwards;-webkit-animation:fillBar 1.5s ease forwards}.weight-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite;-webkit-animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@-webkit-keyframes shimmer{0%{-webkit-transform:translateX(-100%)}to{-webkit-transform:translateX(100%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-webkit-keyframes pulse{0%,to{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes slideInUp{0%{opacity:0;-webkit-transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(40px)}to{opacity:1;-webkit-transform:translateY(0)}}@keyframes fillBar{0%{width:0}to{width:var(--target-width)}}@-webkit-keyframes fillBar{0%{width:0}to{width:var(--target-width)}}.topic-notes{font-size:.9rem;color:#666;margin-top:10px;line-height:1.4}.in-depth-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:10px 20px;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 6px 20px #8b5cf633}.in-depth-button:hover{transform:translateY(-2px) scale(1.05);-webkit-transform:translateY(-2px) scale(1.05);box-shadow:0 10px 25px #8b5cf64d}.loading{text-align:center;padding:40px;font-size:1.2rem;color:#666}.loading-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;min-height:100vh;width:100vw;-webkit-transform:translateZ(0);transform:translateZ(0)}.loading-content{background:white;padding:40px;border-radius:15px;text-align:center;max-width:500px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .5s ease;-webkit-animation:fadeIn .5s ease;position:relative;z-index:1001;margin:auto;-webkit-transform:translateZ(0);transform:translateZ(0)}.error{text-align:center;padding:40px;color:#dc3545;font-size:1.1rem}.error-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:100000}.error-content{background:white;padding:40px;border-radius:15px;text-align:center;max-width:500px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .5s ease;-webkit-animation:fadeIn .5s ease}.visual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:25px 30px;border-radius:20px;box-shadow:0 15px 35px #8b5cf64d;animation:slideInDown .6s ease;-webkit-animation:slideInDown .6s ease}.pie-chart-section{display:flex;gap:40px;align-items:flex-start;margin-top:30px}.chart-container{flex-shrink:0;background:white;border-radius:20px;padding:30px;box-shadow:0 15px 35px #0000001a;animation:fadeInUp .8s ease;-webkit-animation:fadeInUp .8s ease}.donut-chart{display:block;margin:0 auto;transition:all .3s ease;-webkit-transition:all .3s ease;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2))}.donut-chart:hover{transform:scale(1.02);-webkit-transform:scale(1.02);filter:drop-shadow(0 15px 40px rgba(0,0,0,.3))}.pie-chart-section{display:flex;justify-content:center;align-items:center;margin-top:30px;min-height:500px}.chart-container{flex-shrink:0;background:white;border-radius:20px;padding:40px;box-shadow:0 15px 35px #0000001a;animation:fadeInUp .8s ease;-webkit-animation:fadeInUp .8s ease;position:relative;overflow:hidden}.chart-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));pointer-events:none;border-radius:20px}.chart-container:hover{transform:translateY(-5px);-webkit-transform:translateY(-5px);box-shadow:0 20px 50px #00000026}.legend-container{flex:1;background:white;border-radius:20px;padding:30px;box-shadow:0 15px 35px #0000001a;animation:fadeInUp .8s ease .2s both;-webkit-animation:fadeInUp .8s ease .2s both}.legend-container h3{margin-bottom:20px;color:#2c3e50;font-size:1.5rem;font-weight:700}.legend-grid{display:grid;gap:15px;max-height:400px;overflow-y:auto}.legend-item{display:flex;align-items:center;gap:15px;padding:15px;border-radius:12px;cursor:pointer;transition:all .3s ease;-webkit-transition:all .3s ease;border:2px solid transparent}.legend-item:hover{transform:translate(5px);-webkit-transform:translateX(5px);box-shadow:0 5px 15px #0000001a}.legend-color{width:20px;height:20px;border-radius:50%;flex-shrink:0}.legend-title{font-weight:600;color:#2c3e50;font-size:1rem;margin-bottom:2px}.legend-percentage{font-size:.9rem;color:#7f8c8d;font-weight:500}.subtopics-view{animation:fadeInUp .6s ease;-webkit-animation:fadeInUp .6s ease}.subtopics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:25px 30px;border-radius:20px;box-shadow:0 15px 35px #8b5cf64d}.subtopics-header h2{margin:0;font-size:1.8rem;font-weight:700}.header-content h1{margin:0;font-size:2rem;font-weight:600}.header-content p{margin:5px 0 0;opacity:.9;font-size:1rem}.dashboard-button{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:15px 25px;border-radius:15px;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden}.dashboard-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s;-webkit-transition:left .5s}.dashboard-button:hover:before{left:100%}.dashboard-button:hover{background:rgba(255,255,255,.3);transform:translateY(-3px) scale(1.05);-webkit-transform:translateY(-3px) scale(1.05);box-shadow:0 15px 30px #8b5cf64d}.pie-chart-section{display:flex;flex-direction:column;align-items:center;gap:40px;margin-top:30px;animation:fadeInUp .8s ease;-webkit-animation:fadeInUp .8s ease}.chart-container{background:white;border-radius:25px;padding:40px;box-shadow:0 20px 50px #0000001a;position:relative;overflow:hidden}.chart-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,107,157,.1),rgba(78,205,196,.1));opacity:0;transition:opacity .3s ease;-webkit-transition:opacity .3s ease}.chart-container:hover:before{opacity:1}.donut-chart{transition:all .3s ease;-webkit-transition:all .3s ease}.chart-container:hover .donut-chart{transform:scale(1.02);-webkit-transform:scale(1.02)}.legend-container{background:white;border-radius:20px;padding:30px;box-shadow:0 15px 35px #0000001a;width:100%;max-width:600px;animation:slideInUp .8s ease .2s both;-webkit-animation:slideInUp .8s ease .2s both}.legend-container h3{text-align:center;margin-bottom:25px;font-size:1.5rem;font-weight:600;color:#333;background:linear-gradient(135deg,#FF6B9D,#4ECDC4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.legend-item{display:flex;align-items:center;gap:15px;padding:15px 20px;border-radius:15px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:2px solid transparent}.legend-item:hover{border-color:#ff6b9d4d;box-shadow:0 8px 25px #0000001a}.legend-color{width:20px;height:20px;border-radius:50%;box-shadow:0 4px 8px #0003}.legend-text{flex:1}.legend-title{font-weight:600;font-size:1rem;margin-bottom:5px}.legend-percentage{font-size:.9rem;color:#666;font-weight:500}.pie-chart-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));opacity:0;transition:opacity .3s ease;-webkit-transition:opacity .3s ease}.pie-chart-container:hover:before{opacity:1}.pie-chart-container:hover{transform:translateY(-10px);-webkit-transform:translateY(-10px);box-shadow:0 25px 50px #00000026}.pie-chart-3d{position:relative;width:150px;height:150px;margin:0 auto 20px;perspective:1000px;-webkit-perspective:1000px}.pie-slice{width:100%;height:100%;border-radius:50%;position:relative;transition:all .3s ease;-webkit-transition:all .3s ease;box-shadow:0 10px 30px #0003}.pie-chart-3d:hover .pie-slice{transform:rotate3d(1,1,0,25deg) scale(1.1);-webkit-transform:rotate3d(1,1,0,25deg) scale(1.1)}.pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);background:white;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 15px #0003}.pie-label{font-weight:700;font-size:1.2rem;color:#2c3e50}.pie-info{text-align:center}.pie-info h3{margin:0 0 10px;font-size:1.3rem;font-weight:600;color:#2c3e50}.pie-info p{margin:0 0 15px;color:#7f8c8d;font-size:.9rem}.weight-indicator{display:flex;align-items:center;justify-content:center;gap:5px}.weight-value{font-weight:700;font-size:1.5rem;color:#8b5cf6}.weight-unit{font-size:.9rem;color:#7f8c8d}.loading-spinner-3d{position:relative;width:80px;height:80px;margin:0 auto 20px;perspective:1000px;-webkit-perspective:1000px;display:flex;justify-content:center;align-items:center}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top:4px solid #667eea;border-radius:50%;animation:spin3d 1.5s linear infinite;-webkit-animation:spin3d 1.5s linear infinite}.spinner-ring:nth-child(2){width:70%;height:70%;top:15%;left:15%;border-top-color:#764ba2;animation-delay:-.5s;-webkit-animation-delay:-.5s}.spinner-ring:nth-child(3){width:40%;height:40%;top:30%;left:30%;border-top-color:#f093fb;animation-delay:-1s;-webkit-animation-delay:-1s}@keyframes spin3d{0%{transform:rotate3d(1,1,1,0)}to{transform:rotate3d(1,1,1,360deg)}}@-webkit-keyframes spin3d{0%{-webkit-transform:rotate3d(1,1,1,0deg)}to{-webkit-transform:rotate3d(1,1,1,360deg)}}.subtopics-view{background:white;border-radius:20px;padding:30px;box-shadow:0 15px 35px #0000001a}.subtopics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.subtopics-header h2{margin:0;font-size:1.8rem;font-weight:600;color:#2c3e50}.back-to-topics-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:12px 24px;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 25px #8b5cf633}.back-to-topics-button:hover{transform:translateY(-3px) scale(1.05);-webkit-transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px #8b5cf64d}.subtopics-content{display:grid;gap:30px}.subtopic-card{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:15px;padding:25px;box-shadow:0 10px 25px #0000000d;border:1px solid #e9ecef}.subtopic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.subtopic-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50}.weight-badge{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:8px 15px;border-radius:20px;font-weight:600;font-size:.9rem}.analysis-sections{display:grid;gap:25px}.analysis-section{background:white;border-radius:10px;padding:20px;box-shadow:0 5px 15px #0000000d}.analysis-section h4{margin:0 0 15px;font-size:1.2rem;font-weight:600;color:#2c3e50}.analysis-section p{margin:0;line-height:1.6;color:#555}.analysis-section ul{margin:0;padding-left:20px}.analysis-section li{margin-bottom:8px;line-height:1.5;color:#555}.vocabulary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.vocabulary-category h5{margin:0 0 10px;font-size:1rem;font-weight:600;color:#2c3e50;text-transform:capitalize}.word-tags{display:flex;flex-wrap:wrap;gap:8px}.word-tag{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:5px 12px;border-radius:15px;font-size:.85rem;font-weight:500}.data-list{display:flex;flex-direction:column;gap:8px;margin-top:30px}.data-item{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:8px;padding:15px 20px;box-shadow:0 3px 10px #0000000d;border:1px solid #e9ecef;transition:all .3s ease;-webkit-transition:all .3s ease}.data-item:hover{transform:translateY(-1px);-webkit-transform:translateY(-1px);box-shadow:0 5px 15px #0000001a}.data-line{font-size:1rem;font-weight:500;color:#2c3e50;line-height:1.4}.pagination-container{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:30px;padding:20px 0;flex-wrap:wrap}.pagination-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:10px 15px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;-webkit-transition:all .3s ease;min-width:40px;text-align:center}.pagination-button:hover{transform:translateY(-2px);-webkit-transform:translateY(-2px);box-shadow:0 5px 15px #8b5cf64d}.pagination-button.active{background:linear-gradient(135deg,#06B6D4,#3B82F6);box-shadow:0 3px 10px #06b6d466}.pagination-ellipsis{color:#7f8c8d;font-weight:600;padding:10px 5px}.error-message{text-align:center;padding:40px;background:rgba(255,255,255,.95);border-radius:15px;box-shadow:0 10px 25px #0000001a}.error-message h2{color:#e74c3c;margin-bottom:15px}.error-message p{color:#7f8c8d;margin-bottom:10px}.time-input-section{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 8px 25px #00000014;border:2px solid #e9ecef}.input-group{display:flex;flex-direction:column;margin-bottom:20px}.input-group label{font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:1rem}.input-group input{padding:12px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;-webkit-transition:all .3s ease}.input-group input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.total-time-display{display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:15px;margin-bottom:20px;box-shadow:0 8px 25px #667eea4d}.time-icon{font-size:2.5rem;background:rgba(255,255,255,.2);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.time-info{flex:1}.time-label{font-size:.9rem;opacity:.9;margin-bottom:5px}.time-value{font-size:1.8rem;font-weight:700;margin-bottom:5px}.time-breakdown{font-size:.85rem;opacity:.8}.calculate-button{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;border:none;padding:15px 30px;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 25px #8b5cf633;width:100%}.calculate-button:hover{transform:translateY(-3px) scale(1.02);-webkit-transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px #8b5cf64d}.time-summary{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:15px;padding:20px;margin-bottom:30px;box-shadow:0 8px 25px #00000014;border:2px solid #e9ecef;text-align:center}.time-summary h3{margin:0 0 10px;color:#2c3e50;font-size:1.4rem;font-weight:600}.time-summary p{margin:0;color:#7f8c8d;font-size:1.1rem;font-weight:500}.time-topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;margin-top:30px}.time-topic-card{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:15px;padding:25px;box-shadow:0 8px 25px #00000014;border:2px solid #e9ecef;transition:all .4s cubic-bezier(.175,.885,.32,1.275);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;position:relative;overflow:hidden}.time-topic-card:hover{transform:translateY(-5px) scale(1.02);-webkit-transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px #00000026}.topic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.topic-header h3{margin:0;font-size:1.3rem;font-weight:600;color:#2c3e50;flex:1}.time-badge.creative{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 18px;border-radius:25px;font-weight:700;font-size:1rem;box-shadow:0 4px 15px #667eea4d;position:relative;overflow:hidden}.time-badge.creative:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.time-topic-card:hover .time-badge.creative:before{left:100%}.topic-time-bar{height:8px;background:#e9ecef;border-radius:4px;margin-bottom:15px;overflow:hidden}.time-progress{height:100%;background:linear-gradient(90deg,#8B5CF6,#06B6D4);border-radius:4px;transition:width .3s ease}.topic-description{margin:0;color:#7f8c8d;font-size:.9rem;line-height:1.4}.breadcrumb-navigation{display:flex;align-items:center;gap:10px;margin-bottom:30px;padding:15px 20px;background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:12px;box-shadow:0 4px 15px #00000014;border:1px solid #e9ecef;position:relative;z-index:1001}.breadcrumb-item{font-weight:600;color:#2c3e50;font-size:1rem}.breadcrumb-item.clickable{color:#8b5cf6;cursor:pointer;transition:all .3s ease;-webkit-transition:all .3s ease;padding:5px 10px;border-radius:6px}.breadcrumb-item.clickable:hover{background:rgba(139,92,246,.1);color:#7c3aed;transform:translateY(-1px);-webkit-transform:translateY(-1px)}.breadcrumb-separator{color:#7f8c8d;font-weight:600}.loading-subtopics{text-align:center;padding:40px}.loading-subtopics p{margin-top:15px;color:#7f8c8d;font-size:1rem}.priority-summary{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:15px;padding:20px;margin-bottom:30px;box-shadow:0 8px 25px #00000014;border:2px solid #e9ecef;text-align:center}.priority-summary h4{margin:0 0 10px;color:#2c3e50;font-size:1.3rem;font-weight:600}.priority-summary p{margin:0;color:#7f8c8d;font-size:1.1rem;font-weight:500}.time-subtopics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.priority-subtopic-card{background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:12px;padding:20px;box-shadow:0 5px 15px #00000014;border:2px solid #e9ecef;transition:all .3s ease;-webkit-transition:all .3s ease}.priority-subtopic-card.very-important{background:linear-gradient(135deg,#fef2f2,#ffffff);border:2px solid #EF4444;box-shadow:0 8px 25px #ef444433;position:relative;overflow:hidden}.priority-subtopic-card.very-important:before{content:"🚀";position:absolute;top:10px;right:10px;font-size:1.5rem;animation:rocket 2s infinite}@keyframes rocket{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(5deg)}}.priority-subtopic-card.important{background:linear-gradient(135deg,#fef7e0,#ffffff);border:2px solid #F59E0B;box-shadow:0 8px 25px #f59e0b33;position:relative;overflow:hidden}.priority-subtopic-card.important:before{content:"⭐";position:absolute;top:10px;right:10px;font-size:1.2rem;animation:pulse 2s infinite}.priority-subtopic-card.less-important{background:linear-gradient(135deg,#f0f9ff,#ffffff);border:2px solid #3B82F6;box-shadow:0 8px 25px #3b82f633}.priority-subtopic-card.very-low{background:linear-gradient(135deg,#f8fafc,#ffffff);border:2px solid #94A3B8;box-shadow:0 8px 25px #94a3b833}.priority-subtopic-card.average{background:linear-gradient(135deg,#f8f9fa,#ffffff);border:2px solid #e9ecef}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.priority-subtopic-card:hover{transform:translateY(-3px);-webkit-transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.subtopic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;gap:10px}.subtopic-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#2c3e50;flex:1}.priority-score{background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;padding:8px 15px;border-radius:20px;font-weight:700;font-size:1.1rem;min-width:50px;text-align:center}.priority-score.very-important{background:linear-gradient(135deg,#EF4444,#DC2626);animation:glow-red 2s ease-in-out infinite alternate}.priority-score.important{background:linear-gradient(135deg,#F59E0B,#D97706);animation:glow-orange 2s ease-in-out infinite alternate}.priority-score.less-important{background:linear-gradient(135deg,#3B82F6,#2563EB)}.priority-score.very-low{background:linear-gradient(135deg,#94A3B8,#64748B)}.priority-score.average{background:linear-gradient(135deg,#8B5CF6,#06B6D4)}@keyframes glow-red{0%{box-shadow:0 0 5px #ef444480}to{box-shadow:0 0 20px #ef4444cc}}@keyframes glow-orange{0%{box-shadow:0 0 5px #f59e0b80}to{box-shadow:0 0 20px #f59e0bcc}}.suggestion-section{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:12px;background:rgba(139,92,246,.1);border-radius:8px;border-left:4px solid #8B5CF6}.suggestion-icon{font-size:1.5rem}.suggestion-text{font-weight:600;color:#2c3e50;font-size:.95rem}.priority-status{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding:10px;border-radius:8px;background:rgba(139,92,246,.05)}.status-icon{font-size:1.2rem}.status-text{font-weight:600;color:#2c3e50;font-size:.9rem}.priority-bar-chart{display:flex;flex-direction:column;gap:12px}.bar-container{display:flex;align-items:center;gap:10px}.bar-label{font-weight:600;color:#2c3e50;font-size:.9rem;min-width:80px}.bar-track{flex:1;height:20px;background:#e9ecef;border-radius:10px;position:relative;overflow:hidden}.bar-fill{height:100%;border-radius:10px;transition:width .3s ease;position:relative}.bar-fill.priority{background:linear-gradient(90deg,#8B5CF6,#06B6D4)}.bar-fill.average{background:linear-gradient(90deg,#F59E0B,#D97706)}.bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#fff;font-weight:700;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 768px){.container{padding:85px 10px 10px}.dashboard{padding:20px}.header h1{font-size:2rem}.subjects-grid{grid-template-columns:repeat(5,1fr);gap:10px}.subject-card{padding:20px 15px;font-size:.9rem}.subject-card h3{font-size:1rem}.subject-card p{font-size:.8rem}.analysis-buttons{grid-template-columns:1fr}.topics-table{font-size:.9rem}.topics-table th,.topics-table td{padding:10px 8px}.loading-overlay{padding:20px}.loading-content{padding:30px 20px;max-width:90%}.loading-spinner-3d{width:60px;height:60px}.data-list{gap:6px}.data-item{padding:12px 15px}.data-line{font-size:.9rem;line-height:1.3}.pagination-container{gap:5px}.pagination-button{padding:8px 12px;font-size:.8rem;min-width:35px}.time-topics-grid{grid-template-columns:1fr;gap:15px}.time-topic-card{padding:20px}.topic-header{flex-direction:column;align-items:flex-start;gap:10px}.topic-header h3{font-size:1.2rem}.topic-metrics{grid-template-columns:1fr;gap:8px}.time-subtopics-grid{grid-template-columns:1fr;gap:15px}.time-subtopic-card{padding:15px}.subtopic-header{flex-direction:column;align-items:flex-start;gap:8px}.subtopic-header h4{font-size:1rem}.subtopic-metrics{grid-template-columns:1fr;gap:6px}.subtopics-header{flex-direction:column;align-items:flex-start;gap:15px}.subtopics-header h3{font-size:1.5rem}}@media (max-width: 480px){.subjects-grid{grid-template-columns:1fr;gap:15px}.subject-card{padding:25px 20px}.subject-card h3{font-size:1.1rem}.subject-card p{font-size:.9rem}}
