@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--bg-base: #030305;--bg-surface: #0a0a0f;--bg-elevated: #12121a;--text-main: #f4f4f5;--text-muted: #8b8b99;--accent-primary: linear-gradient(135deg, #6366f1, #8b5cf6);--accent-success: linear-gradient(135deg, #10b981, #059669);--accent-warning: linear-gradient(135deg, #f59e0b, #d97706);--accent-danger: linear-gradient(135deg, #ef4444, #b91c1c);--glass-bg: rgba(255, 255, 255, .02);--glass-border: rgba(255, 255, 255, .04);--glass-border-light: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .1)}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-body)}body{background-color:var(--bg-base);color:var(--text-main);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sidebar-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 18px;font-size:.9rem;font-weight:600;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);animation:fadeUp .6s ease forwards;margin-bottom:8px;letter-spacing:.02em}.sidebar-action-btn span{flex-grow:1;text-align:left}.sidebar-action-btn:active{transform:scale(.97)}.btn-upload{background:#22ff961a;color:#22ff96;border-color:#22ff964d}.btn-upload:hover{background:#22ff9626;border-color:#22ff9699;box-shadow:0 4px 20px -5px #22ff9699;transform:translateY(-2px);color:#6affc1}.btn-reset{background:#3b82f61a;color:#60a5fa;border-color:#3b82f633}.btn-clear{background:#ef44441a;color:#ef4444;border-color:#ef444433}.btn-clear:hover{background:#ef444426;border-color:#ef444466;box-shadow:0 4px 20px -5px #ef44444d;transform:translateY(-2px);color:#fca5a5}.btn-reset:hover{background:#3b82f626;border-color:#3b82f666;box-shadow:0 4px 20px -5px #3b82f64d;transform:translateY(-2px);color:#93c5fd}.animate-fade-up{animation:fadeUp .6s ease forwards}.dynamic-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;background:radial-gradient(circle at 15% 50%,rgba(99,102,241,.08),transparent 35%),radial-gradient(circle at 85% 30%,rgba(16,185,129,.08),transparent 35%),radial-gradient(circle at 50% 100%,rgba(139,92,246,.08),transparent 45%);animation:bgShift 25s ease-in-out infinite alternate;pointer-events:none}.dynamic-bg:after{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.035;mix-blend-mode:overlay;pointer-events:none}@keyframes bgShift{0%{transform:scale(1) translate(0)}50%{transform:scale(1.1) translate(2%,3%)}to{transform:scale(1) translate(-2%,-1%)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-top-color:var(--glass-border-light);border-left-color:#ffffff0f;border-radius:20px;box-shadow:0 4px 24px -4px #00000080,inset 0 1px #ffffff0d}.glass-panel-strong{background:#0a0a0fa6;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border);border-top-color:var(--glass-border-light);border-radius:24px;box-shadow:0 10px 40px #0009,inset 0 1px #ffffff0d}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fadeRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #6366f133}50%{box-shadow:0 0 25px #6366f180}}@keyframes pulseGlowSoft{0%,to{filter:drop-shadow(0 0 8px rgba(99,102,241,.4))}50%{filter:drop-shadow(0 0 16px rgba(99,102,241,.8))}}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animate-fade-up{opacity:0;animation:fadeInUp .7s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-right{opacity:0;animation:fadeRight .6s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{opacity:0;animation:scaleIn .5s cubic-bezier(.16,1,.3,1) forwards}.pulse-glow{animation:pulseGlow 3s infinite ease-in-out}.pulse-soft{animation:pulseGlowSoft 3s infinite ease-in-out}.bounce-subtle{animation:bounceSubtle 2.5s infinite ease-in-out}.progress-bar-fill{transition:width 1s cubic-bezier(.34,1.56,.64,1)}.progress-stripe-animated{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progressStripe 1s linear infinite}@keyframes progressStripe{0%{background-position:1rem 0}to{background-position:0 0}}button{cursor:pointer;border:none;background:none;font-family:inherit;outline:none}.card-lift{transition:all .4s cubic-bezier(.16,1,.3,1)}.card-lift:hover{transform:translateY(-6px) scale(1.01);border-color:var(--glass-highlight)}.hover-glow-blue:hover{box-shadow:0 15px 35px -10px #60a5fa40;border-color:#60a5fa40}.hover-glow-amber:hover{box-shadow:0 15px 35px -10px #fbbf2440;border-color:#fbbf2440}.hover-glow-emerald:hover{box-shadow:0 15px 35px -10px #34d39940;border-color:#34d39940}.app-container{display:flex;min-height:100vh;width:100%}.sidebar{width:320px;padding:2.5rem 2rem;display:flex;flex-direction:column;position:sticky;top:1.5rem;height:calc(100vh - 3rem);margin-left:1.5rem;margin-top:1.5rem;margin-bottom:1.5rem;border-radius:28px;box-shadow:0 20px 50px -10px #00000080,inset 0 1px #ffffff0f}.main-content{flex:1;padding:3rem 4rem;max-width:1200px;margin:0 auto}.brand{display:flex;align-items:center;gap:14px;margin-bottom:3.5rem}.brand-icon{background:var(--accent-primary);border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #6366f166}.brand-text{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(to right,#fff,#a1a1aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.overall-progress{margin-bottom:3rem;padding:1.5rem;border-radius:20px;background:#ffffff04;border:1px solid rgba(255,255,255,.03);box-shadow:inset 0 2px 10px #0003}.overall-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.overall-progress-header h3{font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.overall-percentage{font-family:var(--font-heading);font-weight:800;font-size:1.35rem;color:#fff;text-shadow:0 2px 10px rgba(255,255,255,.2)}.progress-track{height:6px;background:#ffffff0f;border-radius:99px;overflow:hidden;position:relative}.overall-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#3b82f6,#10b981);background-size:200% 100%;animation:gradientFlow 3s ease infinite;border-radius:99px;box-shadow:0 0 10px #3b82f680}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.nav-menu{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:8px;margin-bottom:20px}.nav-item{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;color:var(--text-muted);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;border:1px solid transparent}.nav-item:hover{color:#fff;background:#ffffff08;transform:translate(4px)}.nav-item.active{color:#fff;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #0003}.nav-icon{position:relative;z-index:1;transition:transform .3s ease}.nav-item:hover .nav-icon{transform:scale(1.1);color:#fff}.nav-item.active .nav-icon{color:#fff}.nav-info{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.nav-title{font-size:1.05rem;font-weight:600;font-family:var(--font-heading);letter-spacing:-.01em}.nav-progress{width:100%;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.nav-progress-fill{height:100%;border-radius:2px}.nav-count{font-size:.8rem;font-weight:600;color:var(--text-muted);padding:4px 10px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.header-section{margin-bottom:4rem}.section-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:99px;font-size:.85rem;font-weight:700;margin-bottom:1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 12px #0003;letter-spacing:.03em;text-transform:uppercase;color:#e4e4e7}.section-title{font-size:3.5rem;font-weight:800;letter-spacing:-.04em;margin-bottom:1.2rem;line-height:1.1}.section-desc{font-size:1.15rem;line-height:1.6;color:var(--text-muted);max-width:650px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:4rem}.stat-card{padding:1.75rem;display:flex;flex-direction:column;gap:12px;border-radius:24px}.stat-icon-wrap{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.stat-title{font-size:.95rem;color:var(--text-muted);font-weight:600;letter-spacing:-.01em}.stat-value{font-size:2.75rem;font-family:var(--font-heading);font-weight:800;line-height:1.1;letter-spacing:-.03em}.stat-total{font-size:1.25rem;color:var(--text-muted);font-weight:500}.questions-list{display:flex;flex-direction:column;gap:16px}.webdev-subsection{display:flex;flex-direction:column;gap:16px;margin-bottom:2rem}.webdev-subsection-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-radius:16px;background:linear-gradient(135deg,#22d3ee0f,#0ea5e908);border:1px solid rgba(34,211,238,.15);border-left:4px solid #22d3ee;margin-bottom:4px;position:relative;overflow:hidden}.webdev-subsection-title{font-size:1.1rem;font-weight:700;font-family:var(--font-heading);color:#67e8f9;letter-spacing:.01em}.webdev-subsection-count{font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:99px;background:#22d3ee1a;color:#22d3ee;border:1px solid rgba(34,211,238,.2)}.question-item{padding:1.5rem 1.75rem;display:flex;align-items:flex-start;gap:20px;transition:all .3s cubic-bezier(.16,1,.3,1);border-radius:20px;background:#ffffff04;border:1px solid rgba(255,255,255,.04)}.question-item:hover{background:#ffffff08;border-color:#ffffff14;transform:translateY(-2px);box-shadow:0 10px 30px #0003}.question-item.completed{opacity:.6;background:#10b98105;border-color:#10b9811a}.question-item.completed:hover{opacity:.8}.question-item.revised{border-color:#d946ef33;background:#d946ef05}.checkboxes-wrapper{margin-top:4px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.checkbox-container{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.12);transition:all .4s cubic-bezier(.4,0,.2,1);background:#0000004d;position:relative;overflow:hidden}.question-item:hover .checkbox-container:not(.checked){border-color:#ffffff4d;transform:scale(1.05)}.checkbox-bg{position:absolute;inset:0;background:currentColor;border-radius:50%;transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.checkbox-container.checked .checkbox-bg{transform:scale(1)}.check-icon{position:relative;z-index:10;opacity:0;transform:scale(.5);transition:all .4s cubic-bezier(.34,1.56,.64,1) .1s;color:#fff}.checkbox-container.checked .check-icon{opacity:1;transform:scale(1)}.checkbox-container.done{color:#10b981}.checkbox-container.done.checked{border-color:#10b981;box-shadow:0 0 15px #10b9814d}.checkbox-container.revise{color:#d946ef}.checkbox-container.revise.checked{border-color:#d946ef;box-shadow:0 0 15px #d946ef4d}.question-content{flex:1;min-width:0}.question-number{font-size:.85rem;color:var(--text-muted);font-weight:700;margin-bottom:6px;font-family:var(--font-heading);letter-spacing:.02em}.question-text{font-size:1.1rem;line-height:1.6;color:var(--text-main);font-weight:500;transition:color .3s}.question-item.completed .question-text{color:#71717a;text-decoration:line-through;text-decoration-color:#10b98180}.star-btn{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,filter .2s ease}.star-btn:hover{transform:scale(1.1)}.star-btn.active{filter:drop-shadow(0 0 8px rgba(234,179,8,.5))}.interview-toggle-btn{display:inline-flex;align-items:center;gap:8px;margin-top:1.2rem;padding:8px 20px;border-radius:99px;font-size:.9rem;font-weight:600;background:#ffffff0d;color:#e4e4e7;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.16,1,.3,1)}.interview-toggle-btn:hover{background:#fff;color:#000;transform:translateY(-2px);box-shadow:0 8px 20px #ffffff26}.interview-toggle-btn.active{background:#ef44441a;color:#fca5a5;border-color:#ef44444d}.interview-toggle-btn.active:hover{background:#ef444433;color:#fecaca;box-shadow:0 8px 20px #ef444433}.interview-panel,.code-editor-panel{margin-top:1.5rem;padding:1.5rem;background:#0006;border-radius:20px;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 2px 10px #0000004d;display:flex;flex-direction:column;gap:1.25rem}.code-editor-panel{padding:0;overflow:hidden}.interview-panel-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mic-button,.eval-action-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1)}.mic-button{background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.2)}.mic-button:hover:not(:disabled){background:#10b98133;border-color:#10b98166;transform:translateY(-1px)}.mic-button.recording{background:#ef44441a;color:#f87171;border-color:#ef44444d;animation:pulse-border 2s infinite}@keyframes pulse-border{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.eval-action-btn{background:#6366f11a;color:#818cf8;border:1px solid rgba(99,102,241,.2)}.eval-action-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f166;transform:translateY(-1px)}.eval-action-btn:disabled{opacity:.5;cursor:not-allowed}.transcript-box{background:#ffffff05;padding:1.25rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);min-height:80px;color:#d4d4d8;font-size:1rem;line-height:1.6}.code-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0f0f0fe6;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.window-controls{display:flex;gap:8px;margin-right:16px}.window-dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#10b981}.lang-select-wrapper{display:flex;align-items:center;position:relative}.lang-select-chevron{position:absolute;right:10px;color:#71717a;pointer-events:none}.lang-select{appearance:none;background:#ffffff08;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 36px 8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;outline:none;transition:all .2s}.lang-select option{background-color:var(--bg-elevated);color:#f4f4f5}.lang-select:hover{border-color:#fff3;background:#ffffff0f}.monaco-wrapper{background:#1e1e1e}.eval-result{background:#0006;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.eval-result:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--eval-color, #34d399)}.eval-header{display:flex;align-items:center;justify-content:space-between}.eval-score-badge{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:rgba(var(--eval-color-rgb),.1);border:1px solid rgba(var(--eval-color-rgb),.2);color:var(--eval-color);font-family:var(--font-heading);font-size:1.4rem;font-weight:800;box-shadow:0 0 20px rgba(var(--eval-color-rgb),.15)}.eval-feedback-box{background:#ffffff05;border-radius:12px;padding:1.25rem;border-left:3px solid rgba(255,255,255,.1)}.eval-feedback-text{font-size:1.05rem;line-height:1.6;color:#e4e4e7}.eval-ideal-section{display:flex;flex-direction:column;gap:8px;margin-top:.5rem}.eval-ideal-header{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a1a1aa;display:flex;align-items:center;gap:6px}.eval-ideal-text{font-size:1rem;line-height:1.6;color:#d4d4d8;background:#10b9810d;border:1px solid rgba(16,185,129,.1);padding:1rem 1.25rem;border-radius:12px}.code-eval-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code-eval-item{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px}.code-eval-label{font-size:.75rem;font-weight:700;color:#a1a1aa;text-transform:uppercase;letter-spacing:.05em}.code-eval-value{font-size:1.15rem;font-weight:700;font-family:var(--font-heading);color:#f4f4f5}.celebration-overlay{position:fixed;inset:0;pointer-events:none;z-index:100;display:flex;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transition:opacity .5s}.celebration-overlay.visible{opacity:1;pointer-events:auto}.celebration-card{padding:3.5rem 3rem;text-align:center;max-width:460px;border-radius:32px;background:#09090b;border:1px solid rgba(251,191,36,.2);box-shadow:0 0 80px #fbbf2426,inset 0 0 20px #ffffff0d;transform:scale(.9) translateY(20px);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.celebration-overlay.visible .celebration-card{transform:scale(1) translateY(0)}.trophy-container{width:100px;height:100px;margin:0 auto 2rem;background:linear-gradient(135deg,rgba(251,191,36,.15),transparent);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(251,191,36,.3)}.trophy-icon{width:48px;height:48px;color:#fbbf24}.celebration-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;font-family:var(--font-heading)}.continue-btn{width:100%;padding:18px;border-radius:16px;background:var(--accent-success);color:#fff;font-weight:700;font-size:1.1rem;transition:all .3s ease;box-shadow:0 8px 25px #10b9814d}.continue-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #10b98166}@media(max-width:1024px){.app-container{flex-direction:column}.sidebar{width:auto;height:auto;position:static;margin:1rem;padding:1.5rem;border-radius:20px}.nav-menu{flex-direction:row;overflow-x:auto;padding-bottom:8px}.nav-item{min-width:180px}.main-content{padding:2rem 1rem}.stats-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.section-title{font-size:2.5rem}}.text-transparent{color:transparent}.bg-clip-text{background-clip:text;-webkit-background-clip:text}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-200{--tw-gradient-from: #fde68a;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(253, 230, 138, 0))}.to-yellow-500{--tw-gradient-to: #eab308}.text-zinc-300{color:#d4d4d8}.text-white{color:#fff}.font-bold{font-weight:700}.text-lg{font-size:1.125rem}.mb-6{margin-bottom:1.5rem}.leading-relaxed{line-height:1.625}.mt-auto{margin-top:auto}
