@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #f59e0b;--primary-hover: #d97706;--bg-dark: #0f172a;--bg-darker: #020617;--bg-card: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: rgba(255, 255, 255, .1);--error: #ef4444;--success: #10b981}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-darker);color:var(--text-main);line-height:1.5;min-height:100vh;background-image:radial-gradient(circle at 50% 0%,#1e293b 0%,var(--bg-darker) 70%);background-attachment:fixed}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.025em;background:linear-gradient(to right,#f8fafc,#94a3b8);-webkit-background-clip:text;color:transparent;margin-bottom:.5rem}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}p{color:var(--text-muted)}.app-container{max-width:1000px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}header{text-align:center;margin-bottom:2rem;animation:fadeInDown .8s ease-out;position:relative}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:2rem;box-shadow:0 10px 30px -10px #00000080;transition:transform .3s ease,box-shadow .3s ease;animation:fadeInUp .6s ease-out backwards}.card:hover{transform:translateY(-2px);box-shadow:0 20px 40px -10px #0009}.card-stagger-1{animation-delay:.1s}.card-stagger-2{animation-delay:.2s}.card-stagger-3{animation-delay:.3s}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}label{font-size:.875rem;font-weight:500;color:var(--text-main);display:flex;align-items:center;gap:.5rem}input[type=password],input[type=text],input[type=email],textarea{width:100%;padding:.75rem 1rem;background-color:#0f172a99;border:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-family:inherit;font-size:1rem;transition:all .2s ease}input:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f59e0b33;background-color:#0f172acc}textarea{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #f59e0b63}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #f59e0b3b}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(100%)}.dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background-color:#0f172a4d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.dropzone:hover,.dropzone.active{border-color:var(--primary);background-color:#f59e0b0d}.dropzone p{margin:0;color:var(--text-main)}.dropzone .sub-text{font-size:.875rem;color:var(--text-muted)}.file-input{display:none}.status-indicator{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;border-radius:8px;background:#0f172a80;font-size:.9rem}.loader{width:20px;height:20px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite}.progress-bar-container{width:100%;height:6px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-top:.5rem}.progress-bar{height:100%;background:var(--primary);transition:width .3s ease}.result-pane{background-color:#0f172a;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-top:1rem;overflow-x:auto;font-size:.95rem;line-height:1.7;color:#e2e8f0}.result-pane b,.result-pane strong{color:var(--primary)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:#ffffff1a}.badge.success{background:#10b98133;color:var(--success)}.badge.error{background:#ef444433;color:var(--error)}.project-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.project-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#0f172a66;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s ease}.project-item:hover{background:#0f172ab3;border-color:var(--primary);transform:translate(4px)}.project-info{display:flex;align-items:center;gap:.75rem}.context-menu{position:absolute;right:0;top:100%;z-index:100;min-width:150px;background:#1e293b;border:1px solid var(--border-color);border-radius:8px;padding:.35rem;box-shadow:0 8px 24px #0006}.context-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;color:var(--text-main);font-size:.85rem;cursor:pointer;transition:background .15s ease}.context-menu-item:hover{background:#ffffff14}.context-menu-item.danger{color:var(--error)}.context-menu-item.danger:hover{background:#ef444426}.markdown-body{line-height:1.6}.markdown-body p{margin-bottom:1rem}.markdown-body ul,.markdown-body ol{margin-left:1.5rem;margin-bottom:1rem}.markdown-body li{margin-bottom:.25rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-main);background:none;-webkit-text-fill-color:initial}.markdown-body strong{color:var(--primary);font-weight:600}select{width:100%;padding:.75rem 1rem;background-color:#0f172a99;border:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-family:inherit;font-size:1rem;transition:all .2s ease;cursor:pointer;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1rem top 50%;background-size:.65rem auto}select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f59e0b33;background-color:#0f172acc}select option{background:#1e293b;color:var(--text-main)}@keyframes pulse{0%{width:30%;background-color:var(--primary)}to{width:80%;background-color:var(--primary-hover)}}.credits-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:20px;font-size:.8rem;font-weight:600;color:var(--primary);cursor:pointer;transition:all .2s ease}.credits-badge:hover{background:#f59e0b33;border-color:var(--primary)}.credits-badge.empty{color:var(--error);background:#ef44441a;border-color:#ef44444d}.credits-badge.empty:hover{background:#ef444433;border-color:var(--error)}.pricing-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.pricing-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;max-width:720px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.pricing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.pricing-card{background:var(--bg-lighter, rgba(15, 23, 42, .4));border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s ease;position:relative}.pricing-card:hover{border-color:var(--primary);transform:translateY(-2px)}.pricing-card.popular{border-color:var(--primary);box-shadow:0 0 20px #f59e0b1a}.pricing-card .popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--bg-dark);padding:.2rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pricing-card .price{font-size:2rem;font-weight:700;color:var(--text-main);margin:.75rem 0 .25rem}.pricing-card .credits-count{font-size:1.1rem;color:var(--primary);font-weight:600;margin-bottom:.5rem}.pricing-card .per-analysis{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.pricing-card .savings{display:inline-block;background:#10b9811a;color:#10b981;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-bottom:.75rem}.no-credits-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;margin-top:1rem}.credit-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem;text-align:right}.auth-toggle{margin-top:1rem;font-size:.85rem;color:var(--text-muted)}.auth-toggle button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.auth-toggle button:hover{color:var(--primary-hover)}.signup-note{display:flex;align-items:center;gap:.4rem;justify-content:center;margin-top:.5rem;font-size:.8rem;color:var(--primary)}.purchase-toast{position:fixed;top:1.5rem;right:1.5rem;padding:1rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;z-index:1001;animation:slideIn .3s ease;display:flex;align-items:center;gap:.5rem}.purchase-toast.success{background:#10b98126;border:1px solid rgba(16,185,129,.4);color:#10b981}.purchase-toast.cancelled{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:var(--primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.app-container{padding:1rem}h1{font-size:1.75rem}.card{padding:1.25rem}header{padding-top:2.5rem}.pricing-grid{grid-template-columns:1fr}}
