:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s}button:focus,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@font-face{font-family:Product Sans;src:url(/assets/Product%20Sans%20Regular-mlVrTZKO.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Product Sans;src:url(/assets/Product%20Sans%20Bold-bDehMR2y.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Product Sans;src:url(/assets/Product%20Sans%20Italic-pU3LtmDF.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Product Sans;src:url(/assets/Product%20Sans%20Bold%20Italic-CWactyh_.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--primary-color: #3b82f6;--secondary-color: #1d4ed8;--accent-color: #60a5fa;--success-color: #22c55e;--error-color: #ef4444;--warning-color: #f59e0b;--text-color: #1f2937;--text-secondary: #6b7280;--bg-color: #ffffff;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--border-secondary: #d1d5db;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-secondary: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--gradient-dark: linear-gradient(135deg, #374151 0%, #1f2937 100%);--gradient-blue-light: linear-gradient(135deg, rgba(59, 130, 246, .1), rgba(59, 130, 246, .05));--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-blue: 0 10px 30px rgba(59, 130, 246, .15);--text-muted: #6b7280;--bg-secondary: #f8fafc}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;background-color:var(--bg-color);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1);font-family:Product Sans,system-ui,Avenir,Helvetica,Arial,sans-serif}html,body{font-family:Product Sans,system-ui,Avenir,Helvetica,Arial,sans-serif}.app-layout{min-height:100vh;display:flex;flex-direction:column;width:100%}.app-header{background-color:#fff;padding:1rem 0;border-bottom:1px solid var(--border-color);width:100%;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.header-content{width:100%;margin:0;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;font-size:.85rem}.header-content h1{font-size:1.28rem;color:var(--text-color)}.header-content nav{display:flex;gap:1.5rem;align-items:center}.header-content nav a{color:var(--text-color);text-decoration:none;font-weight:500;transition:color .2s}.header-content nav a:hover{color:var(--primary-color)}button:disabled,input:disabled,select:disabled,.form-control:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.auth-container{max-width:400px;margin:2rem auto;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.challenge-container{background-color:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;width:100%;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.generate-button{background-color:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.generate-button:hover{background-color:#1d4ed8}.generate-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--error-color);margin:1rem 0;padding:.75rem;background-color:#fee2e2;border-radius:.375rem}.challenge-display{margin-top:2rem;padding:1.5rem;background-color:var(--bg-color);border-radius:.375rem;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.history-panel{background-color:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;width:100%;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.history-list{display:grid;gap:1.5rem;margin-top:1.5rem}.history-item{padding:1.5rem;background-color:var(--bg-color);border-radius:.375rem;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.timestamp{color:#6b7280;font-size:.875rem;margin-top:.5rem}.loading{text-align:center;color:var(--text-color);padding:2rem}.redirect-message{text-align:center;color:var(--text-color);margin-top:1rem}.quota-display{background-color:#f8fafc;padding:1rem;border-radius:.375rem;margin:1rem 0;border:1px solid var(--border-color);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.quota-display p{margin:.5rem 0;color:var(--text-color)}.quota-limit-message{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#ef44441a,#dc26260d);border:1px solid rgba(239,68,68,.2);border-radius:.5rem;box-shadow:var(--shadow-sm)}.quota-limit-icon{font-size:1.5rem;flex-shrink:0}.quota-limit-text{flex:1}.quota-limit-text strong{color:var(--error-color);font-size:.95rem;display:block;margin-bottom:.25rem}.quota-limit-text p{color:var(--text-secondary);font-size:.85rem;margin:0;line-height:1.4}.dark-mode .quota-limit-message{background:linear-gradient(135deg,#f8717126,#ef444414);border-color:#f8717140}.difficulty-selector{margin:1rem 0}.difficulty-selector label{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.difficulty-selector select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;background-color:#fff;color:var(--text-color);font-size:1rem;cursor:pointer}.difficulty-selector select:disabled{opacity:.5;cursor:not-allowed}.options{margin:1rem 0;display:grid;gap:.75rem}.option{padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;font-family:Product Sans,monospace;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#00d4ff1a,#6366f11a);transition:left .5s ease;z-index:0}.option:hover:before{left:0}.option:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.option.selected{background:#3b82f61a;border-color:var(--primary-color);box-shadow:var(--shadow-md)}.option.correct{background:#0596691a;border-color:var(--success-color);box-shadow:var(--shadow-md)}.option.incorrect{background:#dc26261a;border-color:var(--error-color);box-shadow:var(--shadow-md)}.explanation{margin-top:1.5rem;padding:1rem;background-color:#f8fafc;border-radius:.375rem;border:1px solid var(--border-color);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}.explanation h4{color:var(--text-color);margin-bottom:.5rem}.explanation p{color:var(--text-color);line-height:1.5}.challenge-title{font-size:2.25rem;font-weight:700;margin:1rem 0;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.history-note{margin-top:1rem;padding:.75rem;background-color:#f0f9ff;border-radius:.375rem;border:1px dashed #0ea5e9;text-align:center}.history-note p{color:#0369a1;font-size:.99rem}:root{--text-muted: #6b7280;--bg-secondary: #f8fafc}body.dark-mode{--text-muted: #9ca3af;--bg-secondary: #374151}.dark-mode{--primary-color: #60a5fa;--secondary-color: #3b82f6;--accent-color: #93c5fd;--success-color: #4ade80;--error-color: #f87171;--warning-color: #fbbf24;--text-color: #f9fafb;--text-secondary: #9ca3af;--bg-color: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--border-color: #374151;--border-secondary: #4b5563;--header-bg: #1f2937;--muted-color: #6b7280;--gradient-primary: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--gradient-secondary: linear-gradient(135deg, #93c5fd 0%, #60a5fa 100%);--gradient-success: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);--gradient-dark: linear-gradient(135deg, #4b5563 0%, #374151 100%);--gradient-blue-light: linear-gradient(135deg, rgba(96, 165, 250, .1), rgba(96, 165, 250, .05));background-color:var(--bg-color)}.dark-mode body,body.dark-mode{background-color:var(--bg-color);color:var(--text-color)}.dark-mode .app-header{background-color:var(--header-bg);border-bottom:1px solid var(--border-color)}.dark-mode .header-content h1,.dark-mode .header-content nav a{color:var(--text-color)}.dark-mode .header-content nav a:hover{color:var(--primary-color)}.dark-mode .app-main,.dark-mode .challenge-container,.dark-mode .history-panel,.dark-mode .auth-container{background-color:var(--header-bg);color:var(--text-color);border-color:var(--border-color)}.dark-mode .option{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-color)}.dark-mode .option.selected{background:#60a5fa26;border-color:var(--primary-color);box-shadow:var(--shadow-md)}.dark-mode .option.correct{background:#34d39926;border-color:var(--success-color);box-shadow:var(--shadow-md)}.dark-mode .option.incorrect{background:#f8717126;border-color:var(--error-color);box-shadow:var(--shadow-md)}.dark-mode .explanation,.dark-mode .quota-display,.dark-mode .challenge-display,.dark-mode .history-item{background-color:#161b22;color:var(--text-color);border-color:var(--border-color)}.dark-mode .history-note{background-color:#161b22;border-color:var(--primary-color)}.dark-mode .error-message{background-color:#490202;color:#f85149}.mode-toggle-btn{border:2px solid var(--border-color);border-radius:.375rem;outline:none;transition:border-color .2s;background:linear-gradient(90deg,#f1f3f9,#e0e7ef);box-shadow:0 2px 8px #0000000f;position:relative;overflow:hidden}.mode-toggle-btn:hover,.mode-toggle-btn:focus{background:linear-gradient(90deg,#dbeafe,#f0fdfa);box-shadow:0 4px 16px #2563eb1a;border-color:var(--primary-color)}.dark-mode .mode-toggle-btn{background:linear-gradient(90deg,#23272f,#18181b);box-shadow:0 2px 8px #0000002e}.dark-mode .mode-toggle-btn:hover,.dark-mode .mode-toggle-btn:focus{background:linear-gradient(90deg,#334155,#18181b);border-color:#60a5fa}.mode-toggle-btn .mode-toggle-icon{font-size:1.5em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s}.mode-toggle-btn:hover .mode-toggle-icon,.mode-toggle-btn:focus .mode-toggle-icon{transform:scale(1.15) rotate(-10deg)}.mode-toggle-btn:after{content:none}.mode-toggle-tooltip{margin-left:.5em;font-size:.95em;opacity:.85;display:flex;align-items:center;gap:.2em;color:var(--text-color)}@media (max-width: 500px){.challenge-type-toggle{width:98vw;min-width:0}}.challenge-container h2{text-align:center;margin-bottom:1.3rem;font-size:1.36rem;font-weight:700;letter-spacing:.01em;color:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)}.challenge-generator-ui{background:var(--bg-color);border-radius:1.2em;box-shadow:0 4px 24px #00000014;padding:2rem;margin:1.25rem auto 2.5rem;width:100%;display:flex;flex-direction:column;align-items:center;transition:background .4s,box-shadow .4s}.challenge-title{text-align:center;margin-bottom:1.3rem;font-size:2.25em;font-weight:700;letter-spacing:.01em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.challenge-ui-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.difficulty-selector-ui{width:100%;display:flex;align-items:center;gap:.7em;justify-content:center}.difficulty-selector-ui label{color:var(--text-color);font-weight:700;font-size:.92em;letter-spacing:.01em;padding:0;margin-right:.7em}.difficulty-select,.num-questions-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.55em 1.2em;border-radius:.4em;border:1.5px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:.92em;font-weight:600;box-shadow:none;transition:border-color .2s,background .2s,color .2s;outline:none;cursor:pointer;width:7em;text-align:center;margin-left:.2em;margin-right:.2em;height:2.6em;display:flex;align-items:center;justify-content:center}.difficulty-select:focus,.num-questions-input:focus{border-color:var(--primary-color);background:var(--bg-color);color:var(--text-color)}.max-questions-hint{margin-left:.5em;color:var(--text-color);font-size:.95em}.placeholder-text{color:#888}.generate-challenge-btn{background:var(--gradient-primary);color:#fff;border:none;border-radius:.75rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;outline:none;padding:.875rem 1.5rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #3b82f626;text-decoration:none;white-space:nowrap}.generate-challenge-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.reset-challenge-btn{background:linear-gradient(135deg,#ef4444e6,#dc2626e6);color:#fff;border:1.5px solid rgba(239,68,68,.3);border-radius:.75rem;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;outline:none;padding:.875rem 1.5rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ef44444d,0 2px 4px #0000001a;text-decoration:none;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.reset-challenge-btn:hover{background:linear-gradient(135deg,#ef4444cc,#dc2626cc);border-color:#ef444459;transform:translateY(-1px);box-shadow:0 6px 20px #ef44444d,0 4px 8px #00000026}.reset-challenge-btn:active{transform:translateY(0)}.reset-challenge-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.dark-mode .generate-challenge-btn{background:linear-gradient(135deg,#3b82f699,#1d4ed899);border:1.5px solid rgba(59,130,246,.2);box-shadow:0 2px 8px #3b82f633}.dark-mode .generate-challenge-btn:hover{background:linear-gradient(135deg,#3b82f6b3,#1d4ed8b3);border-color:#3b82f640;box-shadow:0 4px 12px #3b82f64d}.dark-mode .reset-challenge-btn{background:linear-gradient(135deg,#ef444499,#dc262699);border:1.5px solid rgba(239,68,68,.2);box-shadow:0 2px 8px #dc262633}.dark-mode .reset-challenge-btn:hover{background:linear-gradient(135deg,#ef4444b3,#dc2626b3);border-color:#ef444440;box-shadow:0 4px 12px #dc26264d}.reset-button-container{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1)}.dark-mode .reset-button-container{border-top-color:#ffffff1a}.button-group{margin-top:1.5rem}@media (max-width: 768px){.button-group{flex-direction:column;gap:12px;width:100%}.generate-challenge-btn,.reset-challenge-btn{width:100%;padding:14px 20px;font-size:1.1rem;min-width:unset;min-height:48px}}@media (max-width: 480px){.button-group{gap:10px}.generate-challenge-btn,.reset-challenge-btn{padding:12px 16px;font-size:1rem;min-height:40px}}.challenge-error-message{color:var(--error-color);background:#fff0f0;border:1.5px solid var(--error-color);border-radius:.4em;padding:.7em 1em;margin-top:1em;font-size:1em;text-align:center}.dark-mode .challenge-error-message{background:#490202;color:#f85149;border-color:#f85149}.challenge-content-panel{width:100%;margin-top:2.2rem}.landing-root{position:relative;min-height:100vh;width:100vw}.landing-vanta-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0}.landing-bg{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;transition:background .5s;position:relative;z-index:1;padding:2rem 1rem}.landing-title{font-family:Product Sans,sans-serif;font-weight:700;font-size:3.6rem;letter-spacing:.04em;text-align:center;margin-bottom:1rem;min-height:2.5em;text-shadow:0 2px 8px rgba(59,130,246,.2);white-space:pre;border-right:.12em solid var(--primary-color);animation:blink-caret .8s step-end infinite}.landing-gradient-title{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.landing-description{margin-bottom:1.2rem;text-align:center}.landing-description p{font-size:1.3rem;color:var(--text-secondary);font-weight:500;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.landing-btn-group{display:flex;gap:2rem;margin-top:1rem;animation:fadeInUp .8s ease-out}.landing-btn{font-weight:700;font-size:1.13rem;padding:.48em 3.2em;border:none;border-radius:13px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,.2);outline:none;letter-spacing:.02em;position:relative;overflow:hidden;z-index:2;box-shadow:0 2px 16px #3b82f61a,0 1.5px 4px #00000014}.landing-btn-signin{background:linear-gradient(135deg,#3b82f6b3,#1d4ed8b3);color:#fff;border:1.5px solid rgba(59,130,246,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.landing-btn-signup{background:linear-gradient(135deg,#10b981db,#05bd8399);color:#fff;border:1.5px solid rgba(16,185,129,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.landing-btn.hovered,.landing-btn:focus,.landing-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f613;background:linear-gradient(135deg,#3b83f63d,#1d4ed866);border-color:#3b82f640}.landing-btn-signup.hovered,.landing-btn-signup:focus,.landing-btn-signup:hover{box-shadow:0 8px 25px #10b98113;background:linear-gradient(135deg,#10b98166,#05966966);border-color:#10b98140}.landing-features{margin:1.2rem 0;width:100%;max-width:720px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1.35rem;margin-top:.9rem}.feature-item{display:flex;align-items:flex-start;gap:.9rem;padding:1.35rem;background:#3b82f60d;border:1px solid rgba(59,130,246,.1);border-radius:10.8px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-item:hover{background:#3b82f614;border-color:#3b82f633;transform:translateY(-2px)}.feature-icon{font-size:1.8rem;flex-shrink:0;margin-top:.225rem;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;color:#3b82f6;width:2.5rem;height:2.5rem}.feature-icon svg{width:100%;height:100%;transition:all .3s ease}.feature-item:hover .feature-icon{transform:scale(1.1);color:#1d4ed8}.feature-text h3{color:#e2e8f0;font-size:.99rem;font-weight:600;margin-bottom:.45rem;margin-top:0}.feature-text p{color:#94a3b8;font-size:.81rem;line-height:1.5;margin:0}.landing-trust{text-align:center;margin-top:.9rem}.landing-trust p{opacity:.8;font-weight:400}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--primary-color)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp 1.2s ease-out}.landing-description.fade-in-up{animation:fadeInUp .5s ease-out}.landing-btn-group.fade-in-up{animation:fadeInUp .9s ease-out}.landing-tech-stack.fade-in-up{animation:fadeInUp 1.4s ease-out}.landing-tech-stack{margin-top:2rem;text-align:center;width:100%}.landing-tech-label{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem;opacity:.8}.landing-tech-carousel{overflow:hidden;width:100%;mask:linear-gradient(90deg,transparent,white 20%,white 80%,transparent);-webkit-mask:linear-gradient(90deg,transparent,white 20%,white 80%,transparent)}.landing-tech-track{display:flex;animation:scroll 30s linear infinite;width:fit-content;gap:0}.landing-tech-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem 1.2rem;margin:0 .5rem;background:transparent;border-radius:8px;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:all .3s ease;min-width:75px;flex-shrink:0}.landing-tech-item:hover{transform:translateY(-2px);opacity:.8}.landing-tech-item img{width:30px;height:30px;object-fit:contain}.landing-tech-item img[alt=OpenAI]{filter:brightness(0) invert(1)}.landing-tech-item span{font-size:.72rem;font-weight:600;color:var(--text-color)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-20%)}}.fade-out{animation:fadeOutLanding .6s forwards}.landing-copyright{position:fixed;bottom:1rem;left:0;width:100vw;text-align:center;font-size:.9rem;color:var(--text-color);opacity:.32;letter-spacing:.01em;z-index:1;pointer-events:none;font-family:"Product Sans, sans-serif";font-weight:500}.copyright-symbol{font-size:1.5em;vertical-align:middle}@media (max-width: 600px){.app-layout{min-height:100vh;width:100vw;padding:0}.app-header{padding:.7rem 0}.header-content{padding:0 .7rem;font-size:.95rem;flex-direction:column;gap:.7rem;align-items:flex-start}.header-content h1{font-size:1.1rem}.app-main{max-width:100vw;padding:1rem .2rem}.challenge-container,.history-panel,.auth-container{width:98vw;min-width:0;padding:1rem .5rem;box-sizing:border-box}.landing-bg{min-height:100vh;width:100vw;padding:0 .5rem}.landing-title{font-size:2.1rem!important;min-height:2.2em;margin-bottom:1.2rem}.landing-btn-group{flex-direction:column;gap:1.2rem;margin-top:.7rem}.landing-btn{font-size:1.05rem!important;padding:.7em 1.2em!important;width:100%;min-width:0;border-radius:1.2em}.feature-grid{grid-template-columns:1fr;gap:1rem}.feature-item{padding:1.25rem}.feature-icon{font-size:1.75rem}.feature-text h3{font-size:1rem}.feature-text p{font-size:.85rem}.challenge-title{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2.25rem}.challenge-generator-ui{padding:1.2rem .5rem;max-width:99vw}.challenge-content-panel{margin-top:1.2rem}}.landing-logo-container{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.landing-logo-gradient{display:block;max-width:40vw;max-height:40vw}@media (max-width: 600px){.landing-logo-gradient{max-width:28vw;max-height:28vw}}.navbar-logo{display:inline-block;vertical-align:middle;margin-right:.7em;max-width:2.5em;max-height:2.5em}body.dark-mode .landing-logo-gradient,body.dark-mode .navbar-logo{filter:brightness(1.1) saturate(1.1)}body:not(.dark-mode) .landing-logo-gradient,body:not(.dark-mode) .navbar-logo{filter:brightness(.95) saturate(1.1)}.fade-in{animation:fadeInLanding 1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInLanding{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-loading-placeholder{min-height:100vh;width:100vw;background:transparent}.landing-copyright,.copyright-symbol{font-family:Product Sans,system-ui,Avenir,Helvetica,Arial,sans-serif!important}.num-questions-ui{width:100%;display:flex;align-items:center;gap:.7em;justify-content:center;margin-top:.5em;margin-bottom:.5em}.num-questions-ui label{color:var(--text-color);font-weight:600;font-size:1.08em;letter-spacing:.01em;padding:0;background:none;box-shadow:none;border-radius:0;margin-right:0}.challenge-common-row{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2.5em;margin:2em 0 .5em}@media (max-width: 900px){.challenge-generator-ui,.challenge-container,.history-panel{padding:1.2rem .5rem;max-width:99vw}.challenge-common-row{flex-direction:column;gap:1.2em;margin:1.2em 0 .5em}}.topic-input-ui{width:100%;display:flex;align-items:center;gap:.7em;margin-top:.5em;margin-bottom:.5em;padding-left:15%;padding-right:15%}.topic-input-ui label{color:var(--text-color);font-weight:600;font-size:1.25em;letter-spacing:.01em;padding:0;background:none;box-shadow:none;border-radius:0;margin-right:0}.topic-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.55em 1.2em;border-radius:.4em;border:1.5px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:1.08em;font-weight:600;box-shadow:none;transition:border-color .2s,background .2s,color .2s;outline:none;flex:1;min-width:0;text-align:left;margin-left:.2em;margin-right:.2em;height:2.6em;display:flex;align-items:center;justify-content:flex-start}.topic-input:focus{border-color:var(--primary-color);background:var(--bg-color);color:var(--text-color)}.scenario-question-block{margin-bottom:2em;padding:1em;background:var(--bg-color);border-radius:.375rem;border:1px solid var(--border-color)}.scenario-answer-input{width:100%;min-height:4em;border-radius:.375rem;border:1.5px solid var(--border-color);padding:.7em;font-size:1.05em;margin-bottom:.7em;color:var(--text-color);background:var(--bg-color);resize:vertical}.scenario-answer-input:focus{border-color:var(--primary-color);background:var(--bg-color);color:var(--text-color)}.challenge-generator-ui,.challenge-container,.history-panel,.app-main{max-width:100vw;min-width:0;box-sizing:border-box}@media (max-width: 600px){.challenge-generator-ui,.challenge-container,.history-panel{padding:.7rem .2rem;font-size:.97em}.challenge-title{font-size:1.1rem}.challenge-type-toggle{width:98vw;min-width:0}.challenge-content-panel{margin-top:1.2rem}}.defensive-check-card{background:var(--bg-color, #f8fafc);border:1.5px solid var(--border-color, #e5e7eb);border-radius:.5rem;padding:2.5rem 2rem;margin:1.5rem auto;max-width:600px auto;width:90%;text-align:center;color:var(--text-color, #1f2937);box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;align-items:center;gap:.7em}.defensive-check-card .defensive-check-error{color:var(--error-color, #dc2626);font-weight:600;font-size:1.7em;margin-bottom:.7em}.defensive-check-info{display:flex;flex-direction:column;gap:.3em;align-items:center;font-size:1.25em}.mode-toggle-slider{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer;position:relative;height:2.88em}.slider-track{position:relative;width:6em;height:2.4em;background:linear-gradient(90deg,#23272f,#18181b);border-radius:1.2em;box-shadow:0 2px 8px #2563eb1a;display:flex;align-items:center;justify-content:space-between;padding:0 .54em;transition:background .3s}body:not(.dark-mode) .slider-track{background:linear-gradient(90deg,#f1f3f9,#e0e7ef)}.slider-icon{font-size:1.75em;z-index:2;transition:opacity .25s;-webkit-user-select:none;user-select:none;pointer-events:none}.slider-handle{position:absolute;top:.216em;left:.216em;width:1.98em;height:1.98em;background:var(--gradient-primary);border-radius:50%;box-shadow:var(--shadow-md);transition:left .32s cubic-bezier(.4,1.4,.2,1),background .32s;z-index:3;display:flex;align-items:center;justify-content:center}.slider-handle.right{left:3.84em;background:var(--gradient-secondary);box-shadow:var(--shadow-md)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.challenge-input-ui{width:100%;display:flex;align-items:center;gap:.7em;margin-top:.5em;margin-bottom:.5em;padding-left:15%;padding-right:15%}.challenge-input-ui label{color:var(--text-color);font-weight:600;font-size:1.25em;letter-spacing:.01em;padding:0;background:none;box-shadow:none;border-radius:0;margin-right:0}.challenge-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.55em 1.2em;border-radius:.4em;border:1.5px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:1.08em;font-weight:600;box-shadow:none;transition:border-color .2s,background .2s,color .2s;outline:none;flex:1;min-width:0;text-align:left;margin-left:.2em;margin-right:.2em;height:2.6em;display:flex;align-items:center;justify-content:flex-start}.challenge-input:focus{border-color:var(--primary-color);background:var(--bg-color);color:var(--text-color)}.about-root{position:relative;min-height:100vh;width:100vw;overflow-x:hidden;background-color:#111827}.about-vanta-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0}.about-container{position:relative;z-index:1;min-height:100vh;padding:2rem;max-width:95vw;margin:0 auto;background:linear-gradient(135deg,#111827,#8b5cf608);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;margin-top:2rem;margin-bottom:2rem;box-shadow:var(--shadow-lg);border:.3px solid #374151}.about-header{text-align:center;margin-bottom:3rem;position:relative}.about-logo-container{margin-bottom:1.5rem}.about-logo{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.about-title{font-size:2.55rem;font-weight:800;color:var(--primary-color);margin-bottom:1.3rem}.about-back-btn{position:absolute;top:0;right:0;background:linear-gradient(135deg,#3b82f6b3,#1d4ed8b3);color:#fff;border:1.5px solid rgba(59,130,246,.25);padding:.75rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f640,0 2px 4px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.about-back-btn:hover{background:linear-gradient(135deg,#3b82f6cc,#1d4ed8cc);border-color:#3b82f659;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f64d,0 4px 8px #00000026}.about-content{display:flex;flex-direction:column;gap:3rem}.about-section{background:#1f2937;padding:2.5rem;border-radius:12px;border:1px solid #374151;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.about-section:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.about-section-title{font-size:1.53rem;font-weight:700;color:var(--primary-color);margin-bottom:1.3rem}.about-text{color:#f9fafb;line-height:1.8;font-size:.94rem;opacity:.9}.about-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}@media (max-width: 1200px){.about-features{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.about-features{grid-template-columns:1fr}}.about-feature-card{background:#374151;padding:2rem;border-radius:8px;text-align:center;border:1px solid #4b5563;transition:all .3s ease;cursor:pointer}.about-feature-card:hover{transform:translateY(-2px);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.about-feature-icon{font-size:2.5rem;margin-bottom:1rem}.about-feature-card h3{color:var(--primary-color);font-size:1.02rem;font-weight:600;margin-bottom:1rem}.about-feature-card p{color:#9ca3af;line-height:1.6;font-size:.85rem}.about-steps{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.about-step{display:flex;align-items:center;gap:2rem;background:#374151;padding:2rem;border-radius:8px;border-left:4px solid var(--primary-color);transition:all .3s ease}.about-step:hover{transform:translate(5px);box-shadow:var(--shadow-md)}.about-step-number{background:var(--gradient-primary);color:#fff;width:60px;height:60px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;flex-shrink:0;box-shadow:var(--shadow-md)}.about-step-content h3{color:var(--primary-color);font-size:1.11rem;font-weight:600;margin-bottom:.5rem}.about-step-content p{color:#9ca3af;line-height:1.6;font-size:.85rem}.about-footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid #374151;color:#9ca3af}.about-footer-tech{margin-top:.5rem;font-size:.9rem;opacity:.7}@media (max-width: 768px){.about-container{margin:1rem;padding:1.5rem}.about-title{font-size:2rem}.about-back-btn{position:static;margin-top:1rem}.about-features{grid-template-columns:1fr}.about-step{flex-direction:column;text-align:center}.about-step-number{margin-bottom:1rem}}@media (max-width: 768px){.landing-navbar-content{padding:0 1rem;flex-direction:column;gap:1rem}.landing-navbar-right{gap:1rem}.landing-navbar-link{font-size:1rem;padding:.4rem .8rem}.landing-tech-item{padding:.8rem 1.5rem;margin:0 .5rem;min-width:80px}.landing-tech-item img{width:30px;height:30px}.landing-tech-item span{font-size:.8rem}.landing-bg{padding-top:140px}}@media (max-width: 480px){.landing-navbar{padding:.5rem 0}.landing-navbar-title{font-size:1.2rem}.landing-navbar-logo{width:35px;height:35px}.landing-tech-carousel{margin:0 -1rem}.landing-tech-item{padding:.6rem 1rem;margin:0 .3rem;min-width:70px}.landing-tech-item img{width:25px;height:25px}.landing-tech-item span{font-size:.7rem}}.history-panel{min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--bg-color) 0%,rgba(139,92,246,.03) 100%);transition:all .3s ease}.history-header{text-align:center;margin-bottom:3rem}.history-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.history-header p{font-size:.99rem;color:var(--text-color);opacity:.8}.refresh-history-btn{margin-top:1.2rem;padding:1rem 2rem;border:1px solid rgba(16,185,129,.468);border-radius:.5rem;background:#10b9812c;color:var(--text-color);font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;outline:none;flex-shrink:0}.refresh-history-btn:hover:not(:disabled){background:#0d865d4d;border-color:#10b9814d;transform:translateY(-1px);box-shadow:0 2px 8px #10b98126}.refresh-history-btn:disabled{opacity:.8;cursor:not-allowed;transform:none}.stats-dashboard{background:var(--bg-color);border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000001a;border:1px solid var(--border-color);transition:all .3s ease}.stats-dashboard:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}.stats-header{text-align:center;margin-bottom:2rem}.stats-header h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.stats-header p{color:var(--text-color);opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),#8b5cf6);opacity:0;transition:opacity .3s ease}.stat-card:hover:before{opacity:1}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000026}.stat-card.total{background:linear-gradient(135deg,#ef44441a,#ef44440d)}.stat-card.interview{background:linear-gradient(135deg,#22c55e1a,#22c55e0d)}.stat-card.scenario{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d)}.stat-card.topics{background:linear-gradient(135deg,#8b5cf61a,#8b5cf60d)}.stat-icon{font-size:2rem;opacity:.8}.stat-content{flex:1}.stat-number{font-size:1.8rem;font-weight:700;color:var(--text-color);margin-bottom:.25rem}.stat-label{font-size:.81rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem}.stat-sublabel{font-size:.72rem;color:var(--text-color);opacity:.6}.progress-section{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border-radius:.75rem;padding:1.5rem;border:1px solid rgba(59,130,246,.1)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;color:var(--text-color);font-size:.9rem}.progress-bar{height:8px;background:#3b82f61a;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:4px;transition:width .5s ease}.progress-message{text-align:center;font-size:.81rem;color:var(--text-color);opacity:.8;margin:0}.history-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}@media (max-width: 1024px){.history-layout{grid-template-columns:1fr}}.controls-section{background:var(--bg-color);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color);box-shadow:0 2px 10px #0000000d}.controls-header h4{margin:0 0 1rem;font-size:.99rem;font-weight:600;color:var(--text-color)}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.81rem;font-weight:500;color:var(--text-color)}.modern-select{padding:.75rem 1rem;border:1.5px solid var(--border-color);border-radius:.5rem;background:var(--bg-color);color:var(--text-color);font-size:.81rem;font-weight:500;transition:all .2s ease;cursor:pointer}.modern-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.modern-select:hover{border-color:var(--primary-color)}.topic-insights{background:var(--bg-color);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color);box-shadow:0 2px 10px #0000000d;position:sticky;top:2rem}.topic-insights h4{margin:0 0 1rem;font-size:.99rem;font-weight:600;color:var(--text-color)}.topic-list{display:flex;flex-direction:column;gap:.75rem}.topic-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:linear-gradient(135deg,#3b82f608,#8b5cf608);border-radius:.5rem;border:1px solid rgba(59,130,246,.1);transition:all .2s ease}.topic-item.clickable{cursor:pointer;position:relative;overflow:hidden}.topic-item.clickable:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.topic-item.clickable:hover:before{left:100%}.topic-item:hover{transform:translate(3px);background:linear-gradient(135deg,#3b82f614,#8b5cf614)}.topic-item.clickable:hover{transform:translate(5px) translateY(-2px);background:linear-gradient(135deg,#3b82f61f,#8b5cf61f);box-shadow:0 4px 12px #3b82f626;border-color:#3b82f64d}.topic-info{display:flex;flex-direction:column;gap:.25rem}.topic-name{font-weight:600;color:var(--text-color);font-size:.81rem}.topic-description{font-size:.72rem;color:var(--text-color);opacity:.6}.topic-badge{background:var(--gradient-primary);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.72rem;font-weight:600;min-width:2rem;text-align:center}.topic-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.topic-view-more-btn,.topic-view-all-btn{padding:.6rem 1.2rem;border:1px solid rgba(59,130,246,.2);border-radius:.5rem;background:#3b82f60d;color:var(--text-color);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;outline:none;flex-shrink:0}.topic-view-more-btn:hover,.topic-view-all-btn:hover{background:#3b82f61a;border-color:#3b82f64d;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f626}.topic-view-more-btn:active,.topic-view-all-btn:active{transform:translateY(0)}.topic-view-all-btn{background:#8b5cf60d;border-color:#8b5cf633}.topic-view-all-btn:hover{background:#8b5cf61a;border-color:#8b5cf64d;box-shadow:0 2px 8px #8b5cf626}.challenges-timeline{display:flex;flex-direction:column;gap:2rem}.date-group{background:var(--bg-color);border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 2px 10px #0000000d}.date-header{background:linear-gradient(135deg,#3b82f614,#8b5cf614);padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.date-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color)}.challenge-count{font-size:.9rem;color:var(--text-color);opacity:.7;background:#3b82f61a;padding:.25rem .75rem;border-radius:1rem;font-weight:500}.challenges-list{padding:1rem;display:flex;flex-direction:column;gap:1rem}.challenge-card.modern{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.challenge-card.modern:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,var(--primary-color),#8b5cf6);opacity:0;transition:opacity .3s ease}.challenge-card.modern:hover:before{opacity:1}.challenge-card.modern:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;background:linear-gradient(135deg,#ffffff14,#ffffff0a)}.challenge-type-badge{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);color:var(--text-color);padding:.5rem 1rem;border-radius:.5rem;font-size:.72rem;font-weight:600;border:1px solid rgba(59,130,246,.2);white-space:nowrap}.challenge-main-content{flex:1;min-width:0}.challenge-title{font-size:.9rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.challenge-meta{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-color);opacity:.8}.meta-icon{font-size:.81rem}.difficulty.easy{color:#22c55e;font-weight:600}.difficulty.medium{color:#f59e0b;font-weight:600}.difficulty.hard{color:#ef4444;font-weight:600}.challenge-preview{font-size:.72rem;color:var(--text-color);opacity:.6;font-style:italic}.challenge-arrow{font-size:1.08rem;color:var(--primary-color);opacity:.6;transition:all .3s ease}.challenge-card.modern:hover .challenge-arrow{opacity:1;transform:translate(3px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .4s cubic-bezier(.4,0,.2,1);overflow-y:auto}.modal-content{background:linear-gradient(135deg,#fffffff2,#f9fafbe6);border-radius:20px;max-width:700px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 25px 70px #00000040,0 10px 30px #00000026;border:1px solid rgba(59,130,246,.15);animation:slideUp .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(59,130,246,.15);background:linear-gradient(135deg,#3b82f614,#8b5cf60d);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-type-badge{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:.6rem 1.2rem;border-radius:12px;font-size:.875rem;font-weight:600;box-shadow:0 4px 8px #3b82f64d;transition:all .3s ease}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.75rem;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}.modal-close:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.modal-body{padding:2rem;background:linear-gradient(135deg,#fffffff2,#f9fafbe6)}.modal-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem;line-height:1.4;background:linear-gradient(135deg,#1f2937,#374151);-webkit-background-clip:text;background-clip:text}.modal-meta{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.modal-topic,.modal-difficulty,.modal-date{padding:.75rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,#60cabe1a,#46c1bd0d);color:#1f2937;border:1px solid rgba(59,130,246,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.modal-difficulty.easy{background:linear-gradient(135deg,#10b98126,#34d39914);border-color:#10b9814d;color:#065f46}.modal-difficulty.medium{background:linear-gradient(135deg,#f59e0b26,#fbbf2414);border-color:#f59e0b4d;color:#92400e}.modal-difficulty.hard{background:linear-gradient(135deg,#ef444426,#f8717114);border-color:#ef44444d;color:#991b1b}.interview-content{display:flex;flex-direction:column;gap:2rem}.question-section,.options-section,.explanation-section{border-radius:16px;padding:2rem;border:1px solid rgba(59,130,246,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.question-section h4,.options-section h4,.explanation-section h4{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:#1f2937;background:linear-gradient(135deg,#1f2937,#374151);-webkit-background-clip:text;background-clip:text}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-item{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.5rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.option-item.correct{background:linear-gradient(135deg,#10b98126,#34d39914);border-color:#10b98166;box-shadow:0 4px 12px #10b98133;transform:translateY(-1px)}.option-letter{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 4px 8px #3b82f64d;transition:all .3s ease}.option-item.correct .option-letter{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 8px #10b98166}.option-text{flex:1;color:var(--text-color);line-height:1.4}.correct-indicator{color:#22c55e;font-weight:600;font-size:.81rem}.scenario-content{display:flex;flex-direction:column;gap:2rem}.scenario-question{background:#8b5cf608;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(139,92,246,.1)}.scenario-placeholder{background:#f59e0b08;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(245,158,11,.1);text-align:center}.scenario-questions{background:#8b5cf608;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(139,92,246,.1);margin-bottom:1.5rem}.scenario-questions h4{color:#8b5cf6;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.questions-list{display:flex;flex-direction:column;gap:.75rem}.question-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#ffffff05;border-radius:.5rem;border:1px solid rgba(255,255,255,.05)}.question-number{background:#8b5cf6;color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.99rem;font-weight:600;min-width:2rem;text-align:center;flex-shrink:0}.question-text{color:#f9fafb;line-height:1.5;flex:1}.correct-answer-section{background:#22c55e08;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(34,197,94,.1);margin-bottom:1.5rem}.correct-answer-section h4{color:#22c55e;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.explanation-section{background:#f59e0b08;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(245,158,11,.1)}.explanation-section h4{color:#f59e0b;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.answer-content,.explanation-content{background:#ffffff05;border-radius:.5rem;padding:1.25rem;border:1px solid rgba(255,255,255,.05)}.answer-content p,.explanation-content p{color:#f3f4f6;line-height:1.6;margin:0;font-size:.95rem}body:not(.dark-mode) .question-text{color:#1f2937}body:not(.dark-mode) .question-item{background:#00000005;border:1px solid rgba(0,0,0,.05)}body:not(.dark-mode) .scenario-questions{background:#8b5cf60d;border:1px solid rgba(139,92,246,.15)}body:not(.dark-mode) .correct-answer-section{background:#22c55e0d;border:1px solid rgba(34,197,94,.15)}body:not(.dark-mode) .explanation-section{background:#f59e0b0d;border:1px solid rgba(245,158,11,.15)}body:not(.dark-mode) .answer-content,body:not(.dark-mode) .explanation-content{background:#00000005;border:1px solid rgba(0,0,0,.05)}body:not(.dark-mode) .answer-content p,body:not(.dark-mode) .explanation-content p{color:#1f2937}body:not(.dark-mode) .modal-content{background:linear-gradient(135deg,#fffffff2,#f9fafbe6);border:1px solid rgba(59,130,246,.15)}body:not(.dark-mode) .modal-title{color:#1f2937}body:not(.dark-mode) .modal-topic,body:not(.dark-mode) .modal-date{color:#1f2937}body:not(.dark-mode) .option-item{border:1px solid rgba(148,163,184,.2)}body:not(.dark-mode) .option-text{color:#1f2937}body:not(.dark-mode) .question-section,body:not(.dark-mode) .options-section,body:not(.dark-mode) .explanation-section{background:linear-gradient(135deg,#ffffffe6,#f8fafccc);border:1px solid rgba(59,130,246,.15)}body:not(.dark-mode) .question-section h4,body:not(.dark-mode) .options-section h4,body:not(.dark-mode) .explanation-section h4{color:#1f2937}body:not(.dark-mode) .question-section p,body:not(.dark-mode) .explanation-section p{color:#4b5563}.dark-mode .score-tracker-panel,.dark-mode .score-tracker-panel *{color:#fff}.dark-mode .modal-overlay{background:#000000e6}.dark-mode .modal-content{background:linear-gradient(135deg,#1f2937f2,#111827e6);border:1px solid rgba(59,130,246,.2)}.dark-mode .modal-header{background:linear-gradient(135deg,#3b82f61a,#8b5cf614);border-bottom:1px solid rgba(59,130,246,.2)}.dark-mode .modal-body{background:linear-gradient(135deg,#1f2937f2,#111827e6)}.dark-mode .modal-overlay *,.dark-mode .score-tracker-header h3,.dark-mode .score-tracker-header p,.dark-mode .score-stat-period,.dark-mode .score-stat-label,.dark-mode .score-percentage,.dark-mode .score-insights-header h4,.dark-mode .insight-item,.dark-mode .modal-title,.dark-mode .modal-topic,.dark-mode .modal-difficulty,.dark-mode .modal-date,.dark-mode .question-section h4,.dark-mode .options-section h4,.dark-mode .explanation-section h4,.dark-mode .question-section p,.dark-mode .explanation-section p,.dark-mode .option-text,.dark-mode .modal-type-badge,.dark-mode .modal-close,.dark-mode .user-answer-text,.dark-mode .feedback-section h6,.dark-mode .ideal-answer-section h6,.dark-mode .feedback-section p,.dark-mode .ideal-answer-section p,.dark-mode .no-answer-text,.dark-mode .scenario-overall-guidance h4,.dark-mode .scenario-evaluation-criteria h4,.dark-mode .guidance-content,.dark-mode .criteria-content,.dark-mode .guidance-content p,.dark-mode .criteria-content p{color:#fff}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-color);border-radius:1rem;border:1px solid var(--border-color);box-shadow:0 2px 10px #0000000d}.loading-spinner{width:3rem;height:3rem;border:3px solid rgba(59,130,246,.1);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-icon,.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.loading-state h3,.error-state h3,.empty-state h3{font-size:1.5rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.loading-state p,.error-state p,.empty-state p{color:var(--text-color);opacity:.7;margin-bottom:.5rem}.retry-btn{background:linear-gradient(135deg,var(--primary-color),#8b5cf6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #3b82f64d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.history-panel{padding:1rem}.history-header h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-number{font-size:1.5rem}.controls-grid{grid-template-columns:1fr}.challenge-meta{flex-direction:column;gap:.5rem}.modal-overlay{padding:2rem .5rem .5rem;align-items:flex-start}.modal-body{padding:1.5rem}.modal-meta{flex-direction:column;gap:.5rem}.modal-content{width:95%;max-width:none;margin:0;border-radius:1rem;max-height:90vh}.modal-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.modal-close{position:absolute;top:1rem;right:1rem}.modal-type-badge{font-size:.875rem;padding:.5rem 1rem}.modal-title{font-size:1.25rem;line-height:1.4}.scenario-questions,.correct-answer-section,.explanation-section{padding:1rem;margin-bottom:1rem}.scenario-questions h4,.correct-answer-section h4,.explanation-section h4{font-size:1rem;margin-bottom:.75rem}.question-item{padding:.75rem;flex-direction:column;gap:.5rem;align-items:flex-start}.question-number{align-self:flex-start;margin-bottom:.25rem}.question-text{font-size:.9rem;line-height:1.4}.answer-content,.explanation-content{padding:1rem}.answer-content p,.explanation-content p{font-size:.9rem;line-height:1.5}.topic-insights{position:static;width:100%;margin-top:2rem}.topic-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.topic-item{padding:1rem}.topic-name{font-size:.9rem}.topic-description{font-size:.8rem}}@media (max-width: 480px){.history-header h1{font-size:1.75rem}.history-header p{font-size:.9rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.75rem}.stat-number{font-size:1.25rem}.stat-label{font-size:.8rem}.challenge-card.modern{padding:1rem}.challenge-title{font-size:2.25rem;line-height:1.3;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:left}.challenge-meta{gap:.5rem}.meta-item,.challenge-preview{font-size:.72rem}.date-header h4{font-size:1rem}.challenge-count{font-size:.8rem}.modal-content{width:100%;height:100vh;border-radius:0;overflow-y:auto}.modal-body{padding:1rem}.modal-title{font-size:1.1rem}.scenario-questions,.correct-answer-section,.explanation-section{padding:.75rem}.question-item{padding:.5rem}.question-text{font-size:.85rem}.answer-content,.explanation-content{padding:.75rem}.answer-content p,.explanation-content p{font-size:.85rem}.topic-list{grid-template-columns:1fr}.controls-section{padding:1rem}.controls-header h4{font-size:1rem}.modern-select{font-size:.9rem;padding:.5rem}}.progress-fill.animated{width:var(--target-width)}.date-header.clickable{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:.5rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.date-header.clickable:hover{background:#3b82f61a;transform:translate(5px)}.date-header-content{display:flex;align-items:center;gap:1rem}.expand-icon{font-size:.8rem;color:var(--text-secondary);transition:transform .3s ease}.date-header.clickable:hover .expand-icon{color:var(--primary-color);transform:scale(1.2)}.challenges-list{opacity:1;transform:translateY(0)}.stat-number{font-weight:700;font-size:2rem;color:var(--text-color);transition:color .3s ease}.stat-card:hover .stat-number{color:var(--primary-color)}.date-group{margin-bottom:1.5rem;border-radius:.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#ffffff05}.date-group .date-header{border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:0}.date-group .challenges-list{padding:.5rem}body:not(.dark-mode) .date-group{border:1px solid rgba(0,0,0,.1);background:#ffffff80}body:not(.dark-mode) .date-group .date-header{border-bottom:1px solid rgba(0,0,0,.1)}.challenge-loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:2rem 0;color:var(--primary-color);font-weight:600;font-size:1.1rem}.challenge-spinner{width:48px;height:48px;border:5px solid #e0e7ef;border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.2rem}.challenge-generator-panel{min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--bg-color) 0%,rgba(139,92,246,.03) 100%);transition:all .3s ease;border-radius:10px;box-shadow:#0000001a 0 1px 3px}.challenge-generator-header{text-align:center;margin-bottom:3rem}.challenge-generator-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.challenge-generator-header p{font-size:1.1rem;color:var(--text-color);opacity:.8}.challenge-generator-container{background:var(--bg-color);border-radius:1rem;padding:2rem;box-shadow:0 4px 20px #0000001a;border:1px solid var(--border-color);transition:all .3s ease}.challenge-generator-container:hover{transform:translateY(-1.5px);box-shadow:0 8px 30px #00000026}.challenge-ui-panel{width:100%;display:flex;flex-direction:column;gap:2rem;margin-bottom:2.5rem}.challenge-type-toggle{width:340px;margin:2rem auto 2.5rem;-webkit-user-select:none;user-select:none}.toggle-track{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:.4em;height:3em;z-index:1}.toggle-label{flex:1 1 0;position:relative;z-index:2;background:none;border:none;font-size:1.1rem;font-weight:600;padding:.6em 0;border-radius:2em;cursor:pointer;transition:color .25s cubic-bezier(.4,0,.2,1),text-shadow .25s;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.01em;display:flex;align-items:center;justify-content:center;outline:none!important}.toggle-label:focus{outline:none!important;box-shadow:none!important}.toggle-label.active{text-shadow:0 2px 8px rgba(37,99,235,.18);align-items:center;justify-content:center}.toggle-handle{position:absolute;top:50%;left:.2em;width:calc(50% - .2em);height:calc(100% - .4em);border-radius:6px;transition:left .35s cubic-bezier(.4,1.4,.2,1),background .35s,box-shadow .25s;z-index:2;will-change:left;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);background:var(--gradient-primary);box-shadow:var(--shadow-md)}.toggle-handle.right{left:calc(50% + .05em)}.toggle-handle:hover{box-shadow:0 6px 20px #3b82f666,0 4px 8px #00000026}body:not(.dark-mode) .toggle-track{background:var(--bg-secondary);border-color:var(--border-color)}body:not(.dark-mode) .toggle-handle{background:var(--gradient-primary);box-shadow:var(--shadow-md)}body:not(.dark-mode) .toggle-label{color:#23272f}body:not(.dark-mode) .toggle-label.active{color:#fff}.dark-mode .toggle-track{background:var(--bg-secondary);border-color:var(--border-color)}.dark-mode .toggle-handle{background:var(--gradient-primary);box-shadow:var(--shadow-md)}.dark-mode .toggle-label{color:#f9fafb}.dark-mode .toggle-label.active{color:#fff}.quota-info{display:flex;justify-content:center;flex-direction:column}.quota-display{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.2);border-radius:.75rem;padding:1rem 2rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 2px 8px #22c55e1a;min-height:3rem}.quota-display:before{content:"📊";font-size:1.2rem}.quota-text{font-size:1.1rem;color:var(--text-color);font-weight:500}.quota-text strong{color:var(--success-color);font-weight:700}.challenge-common-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto}.num-questions-ui,.difficulty-selector-ui{display:flex;flex-direction:column;gap:.75rem}.num-questions-ui label,.difficulty-selector-ui label{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem}.num-questions-input,.difficulty-select{padding:1rem 1.5rem;border:2px solid var(--border-color);border-radius:.75rem;background:var(--bg-color);color:var(--text-color);font-size:1.1rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000000d;min-height:3.5rem}.num-questions-input:focus,.difficulty-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a,0 2px 8px #0000001a}.num-questions-input:hover,.difficulty-select:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.challenge-input-ui{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto}.challenge-input-ui label{font-size:1rem;font-weight:600;color:var(--text-color)}.challenge-input{padding:1.25rem 1.75rem;border:2px solid var(--border-color);border-radius:.75rem;background:var(--bg-color);color:var(--text-color);font-size:1.1rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000000d;min-height:3.5rem;width:100%}.challenge-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a,0 2px 8px #0000001a}.challenge-input:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}.challenge-input::placeholder{color:var(--text-secondary);opacity:.7}.generate-challenge-btn{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);color:#fff;border:1.5px solid rgba(59,130,246,.3);border-radius:.75rem;padding:1.25rem 3rem;font-size:1.08rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a;margin-top:2rem;position:relative;overflow:hidden;min-height:3.5rem;max-width:400px;margin-left:auto;margin-right:auto;display:block;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.generate-challenge-btn: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 ease}.generate-challenge-btn:hover:before{left:100%}.generate-challenge-btn:hover{background:linear-gradient(135deg,#3b82f6cc,#1d4ed8cc);border-color:#3b82f659;box-shadow:0 6px 20px #3b82f64d,0 4px 8px #00000026}.generate-challenge-btn:active{transform:translateY(0)}.generate-challenge-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.no-challenge-message{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#8b5cf60d,#3b82f60d);border:2px dashed rgba(139,92,246,.2);border-radius:1rem;margin-top:2rem}.no-challenge-message:before{content:"";display:none}.no-challenge-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.7;text-align:center}.no-challenge-message p{font-size:1.1rem;color:var(--text-secondary);margin:0;line-height:1.6;font-weight:500}.dark-mode .toggle-track{background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(96,165,250,.05) 100%);border-color:var(--border-secondary)}.dark-mode .quota-display{background:linear-gradient(135deg,#34d3991a,#34d3990d);border-color:#34d39933}.dark-mode .no-challenge-message{background:linear-gradient(135deg,#8b5cf60d,#60a5fa0d);border-color:#8b5cf633}@media (max-width: 768px){.challenge-common-row{grid-template-columns:1fr;gap:1.5rem;max-width:100%;padding:0 1rem}.challenge-input-ui{max-width:100%;padding:0 1rem}.challenge-input,.num-questions-input,.difficulty-select{padding:1rem 1.25rem;font-size:1rem;min-height:3rem}.quota-display{padding:.875rem 1.5rem;font-size:1rem}.challenge-type-toggle{width:98vw;min-width:0}.generate-challenge-btn{padding:1rem 2rem;font-size:1.1rem;max-width:100%;margin:1.5rem 1rem 0}.no-challenge-message{padding:2rem 1rem}.no-challenge-icon{font-size:2.5rem}}@media (max-width: 768px){.challenge-generator-panel{padding:1rem}.challenge-generator-header h1{font-size:2rem}.challenge-generator-container{padding:1rem}}.challenge-form-row{display:flex;gap:1.5rem;align-items:end;justify-content:stretch;margin:.5rem 0;width:100%;padding:0 1rem;box-sizing:border-box}.form-control{display:flex;flex-direction:column;gap:.75rem;min-width:0;position:relative}.form-control label{color:var(--text-color);font-weight:600;font-size:.855rem;letter-spacing:.01em;opacity:.85;text-align:left;margin-bottom:.25rem;line-height:1.2}.form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:1rem 1.25rem;border-radius:.75rem;border:2px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:.9rem;font-weight:500;box-shadow:0 2px 12px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;min-height:3.5rem;box-sizing:border-box;width:100%}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61f,0 4px 16px #0000001f;transform:translateY(-1px)}.form-input:hover:not(:focus){border-color:var(--primary-color);box-shadow:0 4px 16px #0000001a}.form-input.small{min-width:120px;flex-shrink:0}.input-hint{font-size:.72rem;color:var(--text-color);opacity:.6;margin-top:.35rem;text-align:left;line-height:1.2}.topic-control{flex:2;min-width:200px}.topic-input{width:100%;min-width:0}.form-control:nth-child(1){flex:0 0 140px}.form-control:nth-child(2){flex:0 0 140px}.form-control:nth-child(4){flex:0 0 auto;min-width:180px}.form-control:nth-child(4) .generate-challenge-btn{width:100%;min-width:180px;padding:.75rem 1.5rem!important;font-size:1rem!important;font-weight:600!important;white-space:nowrap;box-sizing:border-box}@media (max-width: 768px){.challenge-form-row{flex-direction:column;gap:1.5rem;margin:2rem 0;align-items:stretch;padding:0 .5rem}.form-control:nth-child(1),.form-control:nth-child(2),.form-control:nth-child(4){flex:1;min-width:0}.form-control:nth-child(4) .generate-challenge-btn{width:100%;min-width:0;padding:1rem 1.5rem!important}.form-input.small{width:100%;min-width:0}.topic-control{flex:1;min-width:0}}@media (max-width: 480px){.challenge-form-row{gap:1.25rem;margin:1.5rem 0;padding:0 .25rem}.form-input{padding:.875rem 1rem;font-size:.95rem;min-height:3rem}.form-control label{font-size:.9rem}.input-hint{font-size:.75rem}.form-control:nth-child(4) .generate-challenge-btn{padding:.875rem 1.25rem!important;font-size:.95rem!important}}.mcq-challenge-container{background:linear-gradient(135deg,#fffffff2,#f9fafbe6);border-radius:20px;padding:2rem 2.5rem 1.875rem;margin-top:1.5rem;border:1px solid rgba(59,130,246,.15);box-shadow:0 15px 35px #00000014,0 5px 15px #0000000a;transition:all .4s ease;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mcq-challenge-header{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.mcq-difficulty-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:2rem;font-size:.9rem;font-weight:600}.difficulty-icon{font-size:1.1rem}.difficulty-text.easy{color:#22c55e}.difficulty-text.medium{color:#f59e0b}.difficulty-text.hard{color:#ef4444}.mcq-question-section{background:#3b82f60d;border:1px solid rgba(59,130,246,.15);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.mcq-question-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.mcq-question-text{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin:0;font-weight:500}.mcq-options-section{margin-bottom:2rem}.mcq-options-title{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.mcq-options-container{display:flex;flex-direction:column;gap:1rem}.mcq-option{display:flex;align-items:center;gap:1.2rem;padding:1.2rem 1.8rem;background:linear-gradient(135deg,#ffffffe6,#f8fafccc);border:2px solid rgba(148,163,184,.2);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mcq-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#3b82f60d,#6366f10d);transition:left .5s ease;z-index:0}.mcq-option:hover:before{left:0}.mcq-option:hover{border-color:#3b82f666;background:linear-gradient(135deg,#3b82f614,#93c5fd0d);transform:translateY(-3px);box-shadow:0 10px 25px #3b82f626,0 4px 10px #0000000d}.mcq-option.correct{background:linear-gradient(135deg,#10b98126,#34d39914);border-color:#10b98166;box-shadow:0 8px 20px #10b98140,0 4px 10px #0000000d;transform:translateY(-2px)}.mcq-option.incorrect{background:linear-gradient(135deg,#ef444426,#f8717114);border-color:#ef444466;box-shadow:0 8px 20px #ef444440,0 4px 10px #0000000d;transform:translateY(-2px)}.option-letter{display:flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border-radius:50%;font-weight:700;font-size:1.1rem;flex-shrink:0;z-index:1;position:relative;box-shadow:0 4px 8px #3b82f64d;transition:all .3s ease}.mcq-option.correct .option-letter{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 8px #10b98166}.mcq-option.incorrect .option-letter{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 8px #ef444466}.option-content{flex:1;display:flex;align-items:center;justify-content:space-between;z-index:1;position:relative}.option-text{font-size:1rem;line-height:1.5;color:var(--text-color);font-weight:500}.correct-indicator{color:var(--success-color);font-weight:700;font-size:.9rem}.incorrect-indicator{color:var(--error-color);font-weight:700;font-size:.9rem}.mcq-explanation-section{background:#f59e0b0d;border:1px solid rgba(245,158,11,.15);border-radius:.75rem;padding:1.5rem;border-left:4px solid var(--warning-color)}.mcq-explanation-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.mcq-explanation-content{background:#00000005;border:1px solid rgba(0,0,0,.05);border-radius:.5rem;padding:1rem}.mcq-explanation-content p{font-size:1rem;line-height:1.6;color:var(--text-color);margin:0}.dark-mode .mcq-challenge-container{background:var(--bg-secondary);border-color:var(--border-color)}.dark-mode .mcq-question-section{background:#60a5fa0d;border-color:#60a5fa26}.dark-mode .mcq-explanation-section{background:#fbbf240d;border-color:#fbbf2426}.dark-mode .mcq-explanation-content{background:#ffffff05;border-color:#ffffff0d}@media (max-width: 768px){.mcq-challenge-container,.mcq-question-section,.mcq-explanation-section{padding:1rem}.mcq-option{padding:.75rem 1rem;gap:.75rem}.option-letter{width:2rem;height:2rem;font-size:1rem}.option-text{font-size:.9rem}}.scenario-challenge-container{background:linear-gradient(135deg,#fffffff2,#f9fafbe6);border-radius:20px;padding:2rem 2.5rem 1.875rem;margin-top:1.5rem;border:1px solid rgba(139,92,246,.15);box-shadow:0 15px 35px #00000014,0 5px 15px #0000000a;transition:all .4s ease;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scenario-challenge-header{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.scenario-difficulty-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:2rem;font-size:.9rem;font-weight:600}.scenario-description-section{background:#8b5cf60d;border:1px solid rgba(139,92,246,.15);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.scenario-description-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.scenario-description-text{font-size:1rem;line-height:1.6;color:var(--text-color);margin:0;font-weight:500}.scenario-questions-section{margin-bottom:2rem}.scenario-questions-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:1.5rem}.scenario-questions-container{display:flex;flex-direction:column;gap:2rem}.scenario-question-card{background:linear-gradient(135deg,#ffffffe6,#f8fafccc);border:1px solid rgba(139,92,246,.15);border-radius:16px;padding:1.2rem 1.5rem .5rem;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;overflow:hidden}.scenario-question-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}.scenario-question-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.question-number-badge{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:.99rem;flex-shrink:0}.scenario-question-prompt{font-size:.9rem;font-weight:600;color:var(--text-color);margin:0;line-height:1.5}.scenario-answer-section{margin-bottom:1.5rem}.scenario-answer-label{display:block;font-size:.81rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.scenario-answer-input{width:100%;min-height:6rem;border-radius:12px;border:2px solid rgba(148,163,184,.2);padding:1.2rem;font-size:1rem;font-family:inherit;color:var(--text-color);background:linear-gradient(135deg,#fffffff2,#f8fafce6);resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dark-mode .scenario-answer-input{background:#ffffff05;color:#fff}.dark-mode .scenario-answer-input:disabled{color:#fff}.scenario-answer-input:focus{outline:none;border-color:#3b82f666;border:.5px solid rgba(59,130,246,.4);box-shadow:0 0 0 4px #3b82f61a,0 4px 4px #3b82f626;transform:translateY(-1px)}.scenario-answer-input:disabled{opacity:.6;cursor:not-allowed}.scenario-error-message{color:var(--error-color);font-size:.81rem;margin-bottom:1rem;padding:.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:.375rem}.scenario-submit-btn{display:flex;align-items:center;gap:.6rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:.75rem;padding:.9rem 1.8rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a;position:relative;overflow:hidden;min-height:2.75rem;min-width:150px;justify-content:center;outline:none}.scenario-submit-btn: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 ease}.scenario-submit-btn:hover:before{left:100%}.scenario-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #3b82f666,0 4px 8px #00000026}.scenario-submit-btn:active{transform:translateY(0)}.scenario-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.submit-checkmark{font-size:1.1rem;color:#fff}.scenario-feedback-section{background:#f59e0b0d;border:1px solid rgba(245,158,11,.15);border-radius:.75rem;padding:1.5rem;border-left:4px solid var(--warning-color)}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.feedback-title{font-size:1.1rem;font-weight:600;color:var(--text-color);margin:0}.feedback-score-badge{display:flex;align-items:center;gap:1rem;background:#0000000d;padding:.5rem 1rem;border-radius:2rem;border:1px solid rgba(0,0,0,.1)}.score-value{font-weight:700;font-size:1rem;color:var(--text-color)}.score-status{font-weight:600;font-size:.9rem}.score-status.correct{color:var(--success-color)}.score-status.needs-improvement{color:var(--error-color)}.feedback-content{display:flex;flex-direction:column;gap:1.5rem}.feedback-text-section,.suggested-answer-section{background:#00000005;border:1px solid rgba(0,0,0,.05);border-radius:.5rem;padding:1rem}.feedback-section-title{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem}.feedback-text-content p,.suggested-answer-content p{font-size:.95rem;line-height:1.6;color:var(--text-color);margin:0}.suggested-answer-section{border-left:3px solid var(--success-color)}.dark-mode .scenario-challenge-container{background:var(--bg-secondary);border-color:var(--border-color)}.dark-mode .scenario-description-section{background:#8b5cf60d;border-color:#8b5cf626}.dark-mode .scenario-question-card{background:var(--bg-tertiary);border-color:var(--border-secondary)}.dark-mode .scenario-feedback-section{background:#fbbf240d;border-color:#fbbf2426}.dark-mode .feedback-score-badge,.dark-mode .feedback-text-section,.dark-mode .suggested-answer-section{background:#ffffff05;border-color:#ffffff0d}@media (max-width: 768px){.scenario-challenge-container,.scenario-description-section,.scenario-question-card,.scenario-feedback-section{padding:1rem}.scenario-question-header{flex-direction:column;gap:.75rem}.question-number-badge{width:2rem;height:2rem;font-size:1rem;align-self:flex-start}.scenario-answer-input{min-height:5rem}.feedback-header{flex-direction:column;align-items:flex-start}.feedback-score-badge{padding:.375rem .75rem}.feedback-content{gap:1rem}}body:not(.dark-mode) .date-header.clickable:hover{background:#3b82f60d}.mcq-challenge-container{padding:1.2rem;margin-top:.7rem}.mcq-challenge-header{margin-bottom:.7rem}.mcq-question-section,.mcq-options-section,.mcq-explanation-section{padding:.7rem;margin-bottom:.7rem}.mcq-options-container{gap:.5rem}.challenge-navigation{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin:1.2rem 0 .7rem}.nav-button{background:var(--gradient-primary);color:#fff;border:none;border-radius:.5em;font-weight:600;font-size:.95em;padding:.5em 1.5em;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:.5em}.nav-button:disabled{opacity:.5;cursor:not-allowed;background:#e5e7eb;color:#9ca3af}.nav-button:not(:disabled):hover{background:var(--gradient-secondary);transform:translateY(-2px);box-shadow:0 4px 16px #3b82f626}.challenge-counter{font-weight:500;color:var(--primary-color);font-size:.95em;letter-spacing:.01em}footer{width:100%;background-color:#1f2937;color:var(--bg-color);margin:0;box-sizing:border-box}.global-copyright{display:block;width:100%;text-align:center;font-size:.95rem;color:var(--text-secondary);opacity:.7;letter-spacing:.01em;margin:0;text-decoration:none;transition:color .2s,opacity .2s;font-family:Product Sans,system-ui,Avenir,Helvetica,Arial,sans-serif}.global-copyright:hover{color:var(--primary-color);text-decoration:underline}.copyright-symbol{font-size:1.2em;vertical-align:middle}.history-search-bar{width:100%;max-width:480px;margin:0 auto 1.5rem;display:flex;justify-content:center;align-items:center}.history-search-input{width:100%;padding:.85rem 1.2rem;border-radius:2em;border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-color);font-size:1.05rem;font-weight:500;box-shadow:0 2px 8px #3b82f60a;transition:border-color .2s,box-shadow .2s;outline:none}.history-search-bar-row{width:100%;margin-top:1.2rem;display:flex;justify-content:center;align-items:center}.history-search-input{width:100%;max-width:100%;padding:1rem 1.5rem;border-radius:.75rem;border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-color);font-size:1.08rem;font-weight:500;box-shadow:0 2px 8px #3b82f60a;transition:border-color .2s,box-shadow .2s;outline:none;margin:0;display:block}.history-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f614}.score-tracker-panel{background:var(--bg-color);border:1px solid rgba(59,130,246,.15);border-radius:16px;padding:24px;margin-bottom:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-tracker-header{text-align:center;margin-bottom:24px}.score-tracker-header h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0 0 8px}.score-tracker-header p{color:#6b7280;font-size:.95rem;margin:0}.score-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.score-stats-grid.single-row{grid-template-columns:1fr;max-width:400px;margin:0 auto 32px}.score-stats-grid.three-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.score-stat-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:20px;transition:all .3s ease;position:relative;overflow:hidden}.score-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:height .3s ease}.score-stat-card:hover:before{height:6px}.score-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.score-stat-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.score-stat-icon{font-size:1.5rem}.score-stat-period{font-weight:600;color:#374151;font-size:1.1rem}.score-stat-content{text-align:center}.score-stat-number{font-size:2.2rem;font-weight:800;margin-bottom:8px;transition:color .3s ease}.score-stat-number.green{color:#10b981}.score-stat-number.orange{color:#f59e0b}.score-stat-number.red{color:#ef4444}.score-stat-number.gray{color:#6b7280}.score-stat-label{color:#6b7280;font-size:.9rem;margin-bottom:12px}.score-progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.score-progress-fill{height:100%;transition:width .6s ease;border-radius:4px}.score-progress-fill.green{background:linear-gradient(90deg,#10b981,#34d399)}.score-progress-fill.orange{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.score-progress-fill.red{background:linear-gradient(90deg,#ef4444,#f87171)}.score-progress-fill.gray{background:linear-gradient(90deg,#6b7280,#9ca3af)}.score-percentage{font-weight:600;font-size:1.1rem}.score-percentage.green{color:#10b981}.score-percentage.orange{color:#f59e0b}.score-percentage.red{color:#ef4444}.score-percentage.gray{color:#6b7280}.score-insights{border-radius:12px;padding:20px;border:1px solid rgba(0,0,0,.05)}.score-insights-header h4{margin:0 0 16px;color:#374151;font-size:1.1rem;font-weight:600}.score-insights-content{display:flex;flex-direction:column;gap:12px}.insight-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;border:1px solid rgba(59,130,246,.15)}.insight-icon{font-size:1.2rem;flex-shrink:0}.performance-breakdown{margin-top:32px}.breakdown-header{text-align:center;margin-bottom:24px}.breakdown-header h4{color:#374151;font-size:1.2rem;font-weight:600;margin:0}.score-type-sections{display:flex;flex-direction:column;gap:32px}.score-type-section{background:#fff9;border-radius:12px;padding:20px;border:1px solid rgba(0,0,0,.05)}.dark-mode .score-type-section{background:linear-gradient(135deg,#1f2937f2,#111827e6);border:1px solid rgba(59,130,246,.2)}.dark-mode .score-type-header h5,.dark-mode .type-description,.dark-mode .history-panel,.dark-mode .history-header h1,.dark-mode .history-header p,.dark-mode .challenge-title,.dark-mode .challenge-meta .meta-item,.dark-mode .challenge-preview-content,.dark-mode .user-answer-preview,.dark-mode .date-header h4,.dark-mode .challenge-count,.dark-mode .topic-name,.dark-mode .topic-description{color:#fff}.dark-mode .topic-view-more-btn,.dark-mode .topic-view-all-btn{background:#3b82f61a;border-color:#3b82f64d;color:#e5e7eb}.dark-mode .topic-view-more-btn:hover,.dark-mode .topic-view-all-btn:hover{background:#3b82f626;border-color:#3b82f666}.dark-mode .refresh-history-btn{background:#10b9811a;border-color:#10b9814d;color:#e5e7eb}.dark-mode .refresh-history-btn:hover:not(:disabled){background:#10b98126;border-color:#10b98166}.dark-mode .topic-view-all-btn{background:#8b5cf61a;border-color:#8b5cf64d}.dark-mode .topic-view-all-btn:hover{background:#8b5cf626;border-color:#8b5cf666}.dark-mode .empty-state h3,.dark-mode .empty-state p,.dark-mode .loading-state h3,.dark-mode .loading-state p,.dark-mode .error-state h3,.dark-mode .error-state p{color:#fff}.score-type-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;text-align:left}.type-icon{font-size:1.5rem}.score-type-header h5{margin:0;color:#374151;font-size:1.1rem;font-weight:600}.type-description{color:#6b7280;font-size:.9rem;margin-left:auto}.score-stat-card.combined{background:linear-gradient(135deg,#3b82f61a,#8b5cf60d);border:2px solid rgba(59,130,246,.2)}.score-stat-card.interview{background:linear-gradient(135deg,#10b9810d,#34d39905);border:1px solid rgba(16,185,129,.15)}.score-stat-card.scenario{background:linear-gradient(135deg,#8b5cf60d,#a855f705);border:1px solid rgba(139,92,246,.15)}.answer-status-badge{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;z-index:2}.answer-status-badge.correct{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 2px 8px #10b9814d}.answer-status-badge.incorrect{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;box-shadow:0 2px 8px #ef44444d}.challenge-preview-content{display:flex;flex-direction:column;gap:4px}.user-answer-preview{color:#6b7280;font-size:.85rem;font-style:italic}.option-item.correct-answer{background:linear-gradient(135deg,#10b9811a,#34d3990d);border:2px solid #10b981}.option-item.user-incorrect{background:linear-gradient(135deg,#ef44441a,#f871710d);border:2px solid #ef4444}.option-item.user-correct{background:linear-gradient(135deg,#10b98126,#34d3991a);border:2px solid #10b981;box-shadow:0 4px 12px #10b98133}.user-choice-indicator{margin-left:12px;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.user-choice-indicator.correct{background:#10b981;color:#fff}.user-choice-indicator.incorrect{background:#ef4444;color:#fff}.answer-result-section{margin:24px 0;padding:20px;border-radius:12px;border:1px solid rgba(0,0,0,.1)}.result-summary{display:flex;align-items:center;gap:16px;padding:16px;border-radius:8px}.result-summary.correct{background:linear-gradient(135deg,#10b9811a,#34d3990d);border:1px solid rgba(16,185,129,.3);margin-top:.5rem;padding-top:.5rem;padding-bottom:.5rem}.result-summary.incorrect{background:linear-gradient(135deg,#ef44441a,#f871710d);border:1px solid rgba(239,68,68,.3);margin-top:.5rem;padding-top:.5rem;padding-bottom:.5rem}.result-icon{font-size:2rem;flex-shrink:0}.result-text{flex:1;font-weight:500}.result-time{color:#6b7280;font-size:.9rem}.question-item-container{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:20px;margin-bottom:24px;transition:all .3s ease}.question-item-container:hover{box-shadow:0 4px 12px #00000014;border-color:#3b82f633}.question-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.question-content{flex:1}.question-explanation{margin-top:12px;padding:12px;background:#3b82f60d;border:1px solid rgba(59,130,246,.1);border-radius:8px}.question-explanation h6{margin:0 0 6px;color:#1e40af;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.question-explanation p{margin:0;color:#1e3a8a;font-size:.9rem;line-height:1.5}.user-answer-section{margin-top:16px;padding:20px;border-radius:12px;border:1px solid rgba(0,0,0,.05)}.user-answer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.user-answer-header h5{margin:0;color:#374151;font-size:1rem;font-weight:600}.score-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700;color:#fff}.score-badge.good{background:linear-gradient(135deg,#10b981,#34d399)}.score-badge.fair{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.score-badge.needs-work{background:linear-gradient(135deg,#ef4444,#f87171)}.submission-status{display:flex;align-items:center;gap:10px;margin-top:20px;padding:16px 20px;border-radius:12px;background:linear-gradient(135deg,#3b82f614,#93c5fd0d);border:1px solid rgba(59,130,246,.15);font-size:.95rem;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.submission-status.success{background:linear-gradient(135deg,#10b98114,#34d3990d);border-color:#10b98133;color:#065f46}.submit-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.submit-checkmark{color:#10b981;font-weight:700}.user-answer-text{background:#3b82f60d;padding:16px;border-radius:8px;border:1px solid rgba(0,0,0,.1);margin-bottom:16px;line-height:1.6}.feedback-section,.ideal-answer-section{margin-top:16px;padding:16px;border-radius:8px}.feedback-section{background:#3b82f60d;border:1px solid rgba(59,130,246,.1)}.ideal-answer-section{background:#10b9810d;border:1px solid rgba(16,185,129,.1)}.feedback-section h6,.ideal-answer-section h6{margin:0 0 8px;color:#374151;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.feedback-section p,.ideal-answer-section p{margin:0;line-height:1.6;color:#4b5563}.no-answer-section{margin-top:16px;padding:16px;text-align:center;background:#6b72800d;border-radius:8px;border:1px dashed rgba(107,114,128,.2)}.no-answer-text{color:#6b7280;font-style:italic;margin:0}.scenario-overall-guidance,.scenario-evaluation-criteria{margin-top:24px;padding:20px;border-radius:12px;border:1px solid rgba(0,0,0,.08)}.scenario-overall-guidance{background:linear-gradient(135deg,#10b9810d,#34d39905);border-color:#10b98126}.scenario-evaluation-criteria{background:linear-gradient(135deg,#8b5cf60d,#a855f705);border-color:#8b5cf626}.scenario-overall-guidance h4,.scenario-evaluation-criteria h4{margin:0 0 12px;color:#374151;font-size:1.1rem;font-weight:600}.guidance-content,.criteria-content{color:#4b5563;line-height:1.6}.guidance-content p,.criteria-content p{margin:0}@media (max-width: 768px){.score-stats-grid{grid-template-columns:1fr;gap:16px}.score-stat-card{padding:16px}.score-stat-number{font-size:1.8rem}.result-summary{flex-direction:column;text-align:center;gap:12px}.user-answer-header{flex-direction:column;align-items:flex-start;gap:8px}.question-header{flex-direction:column;gap:8px}}@media (max-width: 480px){.score-tracker-panel{padding:16px;margin-bottom:24px}.score-tracker-header h3{font-size:1.3rem}.score-stat-number{font-size:1.6rem}.insight-item{padding:10px;gap:8px}.user-answer-section{padding:16px}.answer-status-badge{position:static;align-self:flex-start;margin-bottom:8px}}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.onboarding-modal{background:linear-gradient(135deg,#fffffff2,#f9fafbe6);border:1px solid rgba(59,130,246,.15);border-radius:1rem;box-shadow:0 20px 40px #00000026,0 10px 20px #0000001a;max-width:500px;width:100%;max-height:90vh;overflow:hidden;position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideUp .4s ease-out}.dark-mode .onboarding-modal{background:linear-gradient(135deg,#1f2937f2,#111827e6);border-color:#3b82f633;color:#f9fafb}.onboarding-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 1rem;border-bottom:1px solid rgba(59,130,246,.1)}.onboarding-progress{display:flex;align-items:center;gap:1rem;flex:1}.progress-bar{flex:1;height:6px;background:#3b82f61a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#3b82f6cc,#1d4ed8cc);border-radius:3px;transition:width .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.progress-text{font-size:.875rem;font-weight:600;color:var(--text-color);opacity:.8;min-width:60px;text-align:right}.onboarding-close{background:none;border:none;color:var(--text-color);opacity:.6;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.onboarding-close:hover{opacity:1;background:#3b82f61a;transform:scale(1.1)}.onboarding-content{padding:2rem;text-align:center;overflow-y:auto;max-height:60vh}.step-icon{margin-bottom:1.5rem;display:flex;justify-content:center;color:#3b82f6;animation:iconFloat 2s ease-in-out infinite}.step-icon svg{filter:drop-shadow(0 4px 8px rgba(59,130,246,.2))}.step-title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3}.step-description{font-size:1rem;color:var(--text-color);opacity:.8;margin-bottom:1.5rem;line-height:1.5}.step-content{background:linear-gradient(135deg,#3b82f60d,#1d4ed80d);border:1px solid rgba(59,130,246,.1);border-radius:.75rem;padding:1.5rem;text-align:left;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.step-content pre{font-family:Product Sans,system-ui,-apple-system,sans-serif;font-size:.9rem;line-height:1.6;color:var(--text-color);margin:0;white-space:pre-wrap;word-wrap:break-word}.onboarding-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem 2rem;border-top:1px solid rgba(59,130,246,.1);gap:1rem}.onboarding-nav{display:flex;gap:.75rem}.onboarding-btn{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;border:none;outline:none;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.onboarding-btn-primary{background:linear-gradient(135deg,#3b82f6cc,#1d4ed8cc);color:#fff;border:1.5px solid rgba(59,130,246,.25);box-shadow:0 4px 12px #3b82f640,0 2px 4px #0000001a}.onboarding-btn-primary:hover{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);border-color:#3b82f659;box-shadow:0 6px 20px #3b82f64d,0 4px 8px #00000026;transform:translateY(-1px)}.onboarding-btn-secondary{background:linear-gradient(135deg,#6b72801a,#4b55631a);color:var(--text-color);border:1.5px solid rgba(107,114,128,.2)}.onboarding-btn-secondary:hover{background:linear-gradient(135deg,#6b728026,#4b556326);border-color:#6b72804d;transform:translateY(-1px)}body:not(.dark-mode) .onboarding-btn-primary{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);border-color:#3b82f64d;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a;text-shadow:0 1px 2px rgba(0,0,0,.1)}body:not(.dark-mode) .onboarding-btn-primary:hover{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);border-color:#3b82f666;box-shadow:0 6px 20px #3b82f666,0 4px 8px #00000026}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 768px){.onboarding-modal{max-width:95vw;margin:1rem}.onboarding-header{padding:1rem 1.5rem .75rem}.onboarding-content{padding:1.5rem}.onboarding-footer{padding:.75rem 1.5rem 1.5rem;flex-direction:column;gap:1rem}.onboarding-nav{width:100%;justify-content:center}.step-title{font-size:1.25rem}.step-description{font-size:.9rem}.step-content{padding:1rem}.step-content pre{font-size:.85rem}}@media (max-width: 480px){.onboarding-overlay{padding:.5rem}.onboarding-modal{max-width:100vw;margin:0;border-radius:.75rem}.onboarding-header,.onboarding-content{padding:1rem}.onboarding-footer{padding:.75rem 1rem 1rem}.onboarding-btn{padding:.625rem 1.25rem;font-size:.85rem}.step-icon{margin-bottom:1rem}.step-icon svg{width:40px;height:40px}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#111827,#1f2937);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-screen-content{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center;max-width:400px;padding:2rem}.loading-logo-container{animation:logoFloat 3s ease-in-out infinite}.loading-logo{filter:brightness(1.1) saturate(1.1)}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-text-container{display:flex;flex-direction:column;gap:.5rem}.loading-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{filter:brightness(1)}to{filter:brightness(1.2)}}.loading-message{font-size:1.1rem;color:#9ca3af;margin:0;font-weight:500;opacity:.9}.loading-spinner-container{margin:1rem 0}.loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-progress-container{width:100%;max-width:300px;display:flex;flex-direction:column;gap:.5rem;align-items:center}.loading-progress-bar{width:100%;height:6px;background:#3b82f633;border-radius:3px;overflow:hidden;position:relative}.loading-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:3px;transition:width .3s ease;position:relative}.loading-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-progress-text{font-size:.9rem;color:#3b82f6;font-weight:600}.loading-dots{display:flex;gap:.5rem;margin-top:1rem}.loading-dots span{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:dotsPulse 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes dotsPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.quick-loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#111827f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:9998;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.quick-loading-spinner{width:32px;height:32px;border:2px solid rgba(59,130,246,.2);border-top:2px solid #3b82f6;border-radius:50%;animation:spin .8s linear infinite}.quick-loading-text{font-size:1rem;color:#9ca3af;margin:0;font-weight:500}.full-page-loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;overflow:hidden}.full-page-loading-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0f172a,#1e293b,#334155);animation:bgShift 4s ease-in-out infinite}@keyframes bgShift{0%,to{background:linear-gradient(135deg,#0f172a,#1e293b,#334155)}50%{background:linear-gradient(135deg,#1e293b,#334155,#475569)}}.full-page-loading-content{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding:2rem}.full-page-loading-logo{animation:fullPageLogoFloat 4s ease-in-out infinite}.full-page-logo{filter:brightness(1.2) saturate(1.2)}@keyframes fullPageLogoFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.full-page-loading-text{display:flex;flex-direction:column;gap:1rem;text-align:center}.full-page-loading-title{font-size:3.5rem;font-weight:900;background:linear-gradient(135deg,#3b82f6,#1d4ed8,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;animation:fullPageTitleGlow 3s ease-in-out infinite alternate;text-shadow:0 0 30px rgba(59,130,246,.3)}@keyframes fullPageTitleGlow{0%{filter:brightness(1) drop-shadow(0 0 10px rgba(59,130,246,.3))}to{filter:brightness(1.3) drop-shadow(0 0 20px rgba(59,130,246,.6))}}.full-page-loading-message{font-size:1.3rem;color:#cbd5e1;margin:0;font-weight:500;opacity:.9;max-width:500px;line-height:1.6}.full-page-progress-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem;align-items:center}.full-page-progress-bar{width:100%;height:8px;background:#3b82f633;border-radius:4px;overflow:hidden;position:relative;box-shadow:0 2px 10px #0000004d}.full-page-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#8b5cf6);border-radius:4px;transition:width .5s ease;position:relative;box-shadow:0 0 10px #3b82f680}.full-page-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:fullPageProgressShine 3s ease-in-out infinite}@keyframes fullPageProgressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.full-page-progress-text{font-size:1.1rem;color:#3b82f6;font-weight:700;text-shadow:0 0 10px rgba(59,130,246,.3)}.full-page-loading-dots{display:flex;gap:.75rem;margin-top:2rem}.full-page-loading-dots span{width:12px;height:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;animation:fullPageDotsPulse 2s ease-in-out infinite both;box-shadow:0 0 10px #3b82f680}.full-page-loading-dots span:nth-child(1){animation-delay:-.4s}.full-page-loading-dots span:nth-child(2){animation-delay:-.2s}.full-page-loading-dots span:nth-child(3){animation-delay:0s}@keyframes fullPageDotsPulse{0%,80%,to{transform:scale(.8);opacity:.6}40%{transform:scale(1.2);opacity:1}}@media (max-width: 768px){.loading-screen-content{gap:1.5rem;padding:1.5rem}.loading-title{font-size:2rem}.loading-message{font-size:1rem}.loading-spinner{width:32px;height:32px}.full-page-loading-content{gap:2rem;padding:1.5rem}.full-page-loading-title{font-size:2.5rem}.full-page-loading-message{font-size:1.1rem}.full-page-logo{transform:scale(.8)}.full-page-progress-container{max-width:300px}.full-page-loading-dots span{width:10px;height:10px}}@media (max-width: 480px){.loading-title{font-size:1.8rem}.loading-message{font-size:.9rem}.full-page-loading-title{font-size:2rem}.full-page-loading-message{font-size:1rem}.full-page-logo{transform:scale(.7)}.full-page-progress-container{max-width:250px}}@media (prefers-color-scheme: light){.loading-screen{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.loading-title{background:linear-gradient(135deg,#1d4ed8,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-message{color:#64748b}.quick-loading-screen{background:#f8fafcf2}.quick-loading-text{color:#64748b}.full-page-loading-bg{background:linear-gradient(135deg,#f1f5f9,#e2e8f0,#cbd5e1)}.full-page-loading-message{color:#475569}}@media (prefers-reduced-motion: reduce){.loading-screen *,.quick-loading-screen *,.full-page-loading-screen *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.loading-screen,.quick-loading-screen,.full-page-loading-screen{background:#000}.loading-title,.full-page-loading-title{color:#fff!important;-webkit-text-fill-color:#ffffff!important}.loading-message,.quick-loading-text,.full-page-loading-message{color:#fff}}
