@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap";:root{--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #ec4899;--background: #0f172a;--surface: rgba(30, 41, 59, .7);--text: #f8fafc;--text-muted: #94a3b8;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:var(--background);background:radial-gradient(circle at 50% 50%,#1e1b4b,#0f172a);color:var(--text);min-height:100vh;padding:2rem}.container{max-width:1000px;margin:0 auto}header{text-align:center;margin-bottom:3rem}h1{font-size:3rem;font-weight:700;background:linear-gradient(to right,#818cf8,#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.subtitle{color:var(--text-muted);font-size:1.1rem}.card{background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:2rem;box-shadow:0 25px 50px -12px #00000080}.upload-section{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.dropzone{border:2px dashed var(--glass-border);border-radius:16px;padding:3rem;text-align:center;transition:all .3s ease;cursor:pointer;background:var(--glass)}.dropzone:hover{border-color:var(--primary);background:#6366f10d}.prompt-section textarea{width:100%;background:#0003;border:1px solid var(--glass-border);border-radius:12px;padding:1rem;color:var(--text);font-family:inherit;font-size:1rem;resize:vertical;min-height:120px;margin-top:.5rem}.prompt-section label{font-weight:600;color:var(--text-muted);display:block;margin-bottom:.5rem}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}button{padding:.8rem 2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 15px -3px #6366f166}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px)}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 10px 15px -3px #ec489966}.btn-secondary:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}button:disabled{opacity:.5;cursor:not-allowed}.progress-container{margin-top:2rem;background:#ffffff0d;padding:1.5rem;border-radius:16px;border:1px solid var(--glass-border)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.stats-tag{background:var(--primary);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px #6366f14d}.progress-bar{height:8px;background:var(--glass);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(to right,var(--primary),var(--secondary));transition:width .3s ease}.progress-text{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-muted)}.file-list{margin-top:2rem;max-height:300px;overflow-y:auto;border-radius:12px;background:#0000001a}.file-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--glass-border)}.file-details{display:flex;flex-direction:column;gap:.3rem}.file-name{font-weight:600;color:var(--text)}.token-usage{display:flex;gap:.8rem;font-size:.8rem;color:var(--text-muted);align-items:center}.token-count strong{color:var(--primary)}.token-limit{opacity:.7}.file-item:last-child{border-bottom:none}.status-tag{font-size:.8rem;padding:.2rem .6rem;border-radius:20px;font-weight:600}.status-pending{background:#475569}.status-processing{background:#eab308}.status-completed{background:#22c55e}.status-error{background:#ef4444}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.library-actions{display:flex;gap:.5rem}.btn-small{padding:.4rem 1rem;font-size:.8rem;border-radius:8px}.modal-overlay{position:fixed;inset:0;background:#0f172ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#1e293b;border:1px solid var(--glass-border);border-radius:24px;padding:2rem;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-content h2{margin-bottom:1.5rem;color:var(--text)}.form-group{margin-bottom:1.2rem}.form-group label{display:block;margin-bottom:.4rem;color:var(--text-muted);font-size:.9rem}.form-group input{width:100%;background:#0003;border:1px solid var(--glass-border);border-radius:10px;padding:.7rem;color:var(--text)}.library-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;width:100%}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{padding:.3rem .8rem;border-radius:20px;background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;font-size:.8rem;color:var(--text-muted);transition:all .2s ease}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.prompt-grid{display:flex;flex-direction:column;gap:1rem}.prompt-item{background:#ffffff08;border:1px solid var(--glass-border);border-radius:16px;padding:1.2rem;cursor:pointer;transition:all .2s ease;position:relative}.prompt-item:hover{background:#ffffff0d;border-color:var(--primary);transform:scale(1.01)}.prompt-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem}.prompt-title{font-weight:700;font-size:1.1rem;color:var(--text)}.prompt-meta{display:flex;gap:.5rem}.tag{font-size:.7rem;padding:.2rem .5rem;border-radius:6px;background:var(--glass);color:var(--primary);border:1px solid rgba(99,102,241,.2)}.prompt-snippet{font-size:.85rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{animation:fadeIn .8s ease-out}
