@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Orbitron:wght@600&display=swap";:root{--primary-top: #4fc3f7;--primary-bottom: #0d47a1;--accent-1: #82b1ff;--accent-2: #448aff;--bg-soft: #eaf6ff;--panel: rgba(255, 255, 255, .94);--muted: #4a6078;--glass-border: rgba(68, 138, 255, .08);--shadow: rgba(13, 27, 42, .08);--glow: rgba(79, 195, 247, .28)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto;color:#072033;background:linear-gradient(180deg,var(--bg-soft),#e8f6ff);-webkit-font-smoothing:antialiased}.app-root{position:relative;min-height:100vh;overflow:hidden}.aurora-layer{position:absolute;top:-20%;right:-30%;bottom:-20%;left:-30%;z-index:0;pointer-events:none;mix-blend-mode:screen;filter:blur(72px) saturate(120%)}.aurora-layer.one{background:radial-gradient(600px 260px at 15% 20%,rgba(79,195,247,.45),transparent 12%),radial-gradient(520px 260px at 40% 10%,rgba(130,177,255,.36),transparent 12%),radial-gradient(800px 420px at 60% 60%,rgba(12,71,161,.22),transparent 18%);transform:rotate(-18deg);animation:auroraMoveA 20s linear infinite;opacity:.95}.aurora-layer.two{background:radial-gradient(700px 300px at 75% 70%,rgba(68,138,255,.22),transparent 12%),radial-gradient(540px 240px at 90% 50%,rgba(213,246,255,.18),transparent 10%);transform:rotate(-18deg);animation:auroraMoveB 28s linear infinite;opacity:.8}@keyframes auroraMoveA{0%{transform:rotate(-18deg) translate(0) scale(1)}50%{transform:rotate(-18deg) translate(-6%,3%) scale(1.03)}to{transform:rotate(-18deg) translate(0) scale(1)}}@keyframes auroraMoveB{0%{transform:rotate(-18deg) translate(0) scale(1.02)}50%{transform:rotate(-18deg) translate(4%,-3%) scale(.98)}to{transform:rotate(-18deg) translate(0) scale(1.02)}}canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.header{position:relative;z-index:6;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(180deg,#fffffffa,#fffffff2);border-bottom:1px solid rgba(0,0,0,.03);box-shadow:0 8px 28px var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.logo{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));display:flex;align-items:center;justify-content:center;font-family:Orbitron,sans-serif;color:#fff;font-weight:700}.title{font-weight:700;color:#072033}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.lang-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.04);background:linear-gradient(180deg,#fffffff5,#ffffffeb);cursor:pointer;position:relative;overflow:hidden;transition:transform .18s ease;box-shadow:0 6px 18px #0b2c580a}.lang-pill:hover{transform:translateY(-3px);box-shadow:0 14px 34px #0b2c5814}.lang-pill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff0f,#4fc3f70f,#ffffff05);opacity:0;transition:opacity .4s}.lang-pill:hover:after{opacity:1}.app-body{position:relative;z-index:4;display:flex;height:calc(100vh - 76px);border-top:1px solid rgba(0,0,0,.02)}.sidebar{width:320px;padding:18px;background:#fffffff5;border-right:1px solid rgba(0,0,0,.03);display:flex;flex-direction:column;gap:14px;overflow:auto;z-index:5}.sidebar-title{font-weight:700;color:var(--primary-bottom);font-family:Orbitron,sans-serif;font-size:18px}.upload-card{margin-top:10px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#fffffffa,#fffffff5);border:1px solid var(--glass-border);box-shadow:0 8px 24px var(--shadow)}.main-area{flex:1;display:flex;flex-direction:column;padding:18px;overflow:hidden;z-index:5}.top-hint{background:linear-gradient(90deg,#fffffff5,#fffffff0);padding:12px 16px;border-radius:10px;box-shadow:0 8px 24px var(--shadow);color:#072033;margin-bottom:12px}.chat-panel{flex:1;display:flex;flex-direction:column;gap:12px;overflow:auto;-ms-overflow-style:none;scrollbar-width:none;padding:5px 6px 15px}.chat-panel::-webkit-scrollbar{display:none}.msg{max-width:76%;padding:2px 14px;border-radius:14px;border:none;margin-top:10px;line-height:1.45;box-shadow:0 0 10px #090a191a;position:relative;transition:transform .18s ease,box-shadow .18s ease}.msg.user{display:flex;align-items:center;flex-direction:row;margin-left:auto;background:"linear-gradient(135deg,rgba(85, 150, 255, 0.82) 47%,  #81b7f1ce 70%)";color:#323863;border:1px solid rgba(16,16,16,.041);box-shadow:0 0 30px #e9f3ff}.msg.bot{margin-right:auto;background:linear-gradient(180deg,#fffffffa,#fafcfff5);color:#072033;border:1px solid rgba(16,16,16,.041);box-shadow:0 0 30px #5291f7bd}.msg:after{content:"";position:absolute;left:8px;right:8px;bottom:-6px;height:6px;border-radius:6px;opacity:.9}.msg.user:after{background:linear-gradient(90deg,#ffffff0f,#4fc3f72e,#ffffff0a)}.msg.bot:after{background:linear-gradient(90deg,#448aff0f,#d5f6ff0f)}.composer-wrap{position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.96))}.composer{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:linear-gradient(180deg,#fffffff5,#fffffff0);border:1px solid rgba(0,0,0,.03)}.composer input{flex:1;padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.06);outline:none;background:#fff;color:#072033;font-size:14px}.send-col{display:flex;gap:8px;align-items:center}.icon-btn{width:44px;height:44px;border-radius:10px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.send-btn{width:56px;height:48px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));cursor:pointer;color:#fff;font-size:20px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 36px #448aff2e;transform-origin:center;transition:transform .12s ease,box-shadow .12s ease}.send-btn:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 20px 48px #448aff3d}.send-btn:before{content:"";position:absolute;width:120%;height:120%;border-radius:14px;background:linear-gradient(90deg,#4fc3f71f,#448aff14);filter:blur(8px);opacity:.7;mix-blend-mode:screen;animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%{transform:scale(.95);opacity:.5}50%{transform:scale(1.05);opacity:1}to{transform:scale(.95);opacity:.5}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1da12c;display:flex;align-items:center;justify-content:center;z-index:40;animation:fadeIn .18s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{transform:translateY(8px) scale(.995);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.file-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.file-item{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:5px;padding:8px;border-radius:10px;background:linear-gradient(180deg,#fffffffa,#fffffff2);border:1px solid rgba(0,0,0,.03)}@media (max-width: 920px){.sidebar{display:none}.app-body{flex-direction:column}.main-area{height:calc(100vh - 120px)}}.hint{color:var(--muted);font-size:13px}.test-button{animation:fabFadeIn .8s ease forwards,fabPulse 3s infinite ease-in-out}@keyframes fabPulse{0%,to{box-shadow:0 0 15px #6dd5fa99,0 0 25px #6dd5fa4d}50%{box-shadow:0 0 25px #6dd5fae6,0 0 45px #6dd5fa99}}.test-button{position:fixed;bottom:80px;right:25px;width:64px;height:64px;border:none;border-radius:50%;font-size:1.8rem;background:linear-gradient(135deg,#6dd5fa,#2980b9);color:#fff;cursor:pointer;box-shadow:0 0 20px #6dd5facc;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1200;opacity:0;transform:translateY(20px);animation:fabFadeIn .8s ease forwards}.test-button:hover{transform:scale(1.15) rotate(8deg);box-shadow:0 0 35px #6dd5fa;background:linear-gradient(135deg,#89f7fe,#66a6ff)}@keyframes fabFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffff84,#639fff5f);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000}.modal{width:880px;max-width:96%;background:linear-gradient(135deg,#639eff,#fffffff2);border-radius:12px;padding:18px;box-shadow:0 18px 48px #090a1966;transform-origin:center;animation:modalIn .22s cubic-bezier(.2,.9,.2,1);border:1px solid var(--glass-border)}.modal h2{margin-bottom:16px}.modal input{width:100%;padding:10px;border:none;border-radius:8px;margin-bottom:10px;outline:none}.modal button{background:linear-gradient(135deg,#fffffffa,#639eff);color:#222;border:none;padding:10px 20px;border-radius:10px;cursor:pointer;transition:transform .2s ease}.modal button:hover{transform:scale(1.05)}.close-btn{margin-top:10px;background:#ff8aa8}@keyframes modalIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.nav-btn{padding:8px 16px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,#ffffffe6,#fffc);color:#072033;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-btn:hover{transform:translateY(-2px);background:linear-gradient(180deg,#fff,#ffffffe6);box-shadow:0 4px 12px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid rgba(0,0,0,.1)}.modal-header h3{margin:0;color:#072033}.close-btn{background:none;border:none;font-size:15px;cursor:pointer;color:var(--muted);border-radius:4px;margin-bottom:5px}.close-btn:hover{background:#0000000d}.modal-content{background:linear-gradient(135deg,#fff,#639fff41);max-height:60vh;overflow-y:auto;padding:15px;border-radius:10px;-ms-overflow-style:none;scrollbar-width:none}.modal-content::-webkit-scrollbar{display:none}.modal-content h4{color:var(--primary-bottom);margin:20px 0 10px}.modal-content ul{padding-left:20px;margin:10px 0}.modal-content li{margin-bottom:8px;line-height:1.4}.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.tech-tag{background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.feature-card{background:linear-gradient(135deg,#ffffffe6,#fffc);padding:20px;border-radius:12px;border:1px solid rgba(0,0,0,.05);transition:transform .2s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.feature-icon{font-size:32px;margin-bottom:12px}.feature-card h4{margin:0 0 8px;color:#072033;font-size:16px}.feature-card p{margin:0;font-size:14px;color:var(--muted);line-height:1.4}.typing-indicator{display:flex;align-items:center;gap:4px}.typing-indicator span{height:8px;width:8px;border-radius:50%;background-color:#6b7280;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.composer input:hover{border-color:#0000001a!important;transition:border-color .2s ease!important}.stop-btn{background:#ef4444;color:#fff;border:none;padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s ease}.stop-btn:hover{background:#dc2626}.new-chat-btn{background:#639fffe8;color:#fff;border:none;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:transform .2s ease}.new-chat-btn:hover{transform:translateY(-1px)}.edit-btn{background:none;border:none;border-radius:4px;padding:2px 6px;font-size:10px;cursor:pointer;margin-top:4px;opacity:.7;transition:opacity .2s ease}.edit-btn:hover{opacity:1}.edit-mode{display:flex;flex-direction:column;gap:8px}.edit-textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-family:inherit;resize:vertical;min-height:60px}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.save-btn,.cancel-btn{padding:4px 8px;border:none;border-radius:4px;font-size:12px;cursor:pointer}.save-btn{background:#10b981;color:#fff}.cancel-btn{background:#6b7280;color:#fff}.stat-card{background:#fff;padding:16px;border-radius:8px;text-align:center;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.stat-number{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:4px}.stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.test-option-card{background:#fff;padding:16px;border-radius:8px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;text-align:center}.test-option-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3b82f6}.test-difficulty{display:inline-block;padding:2px 8px;border-radius:12px;color:#fff;font-size:10px;font-weight:600;margin-top:8px}.test-gen-btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .2s ease}.test-gen-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.test-gen-btn.secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.test-gen-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.nav-btn,.submit-btn{padding:8px 16px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:#f3f4f6}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar{width:300px;padding:1.25rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;gap:1rem;overflow:hidden;z-index:50}.uploaded-files{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.file-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem;border-radius:12px;background:var(--card-bg);border:1px solid var(--glass-border);transition:all .3s ease;word-break:break-word}.file-info{flex:1;min-width:0}.file-name{font-weight:500;color:var(--text-primary);font-size:.9rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:180px}.file-meta{font-size:.75rem;color:var(--text-muted)}.file-preview{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.3;max-height:3.9em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.file-actions{display:flex;gap:.5rem;flex-shrink:0}.delete-file-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#fca5a5;padding:.25rem .5rem;cursor:pointer;font-size:.75rem;transition:all .3s ease}.delete-file-btn:hover{background:#ef444433}
