@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#000;color:#fff;min-height:100vh}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#000}.login-card{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:16px;padding:48px 40px;text-align:center;max-width:420px;width:100%}.login-logo{width:160px;margin-bottom:32px;opacity:.95}.login-card h1{font-size:1.5rem;font-weight:600;margin-bottom:32px;color:#fff;letter-spacing:-.02em}.google-login-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:600;color:#000;cursor:pointer;transition:opacity .2s,transform .2s;font-family:inherit}.google-login-btn:hover{opacity:.9;transform:translateY(-1px)}.google-icon{width:20px;height:20px}.app-layout{min-height:100vh;background:#000}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#000;border-bottom:1px solid #1a1a1a}.header-brand{display:flex;align-items:center;gap:14px}.header-logo{height:28px;opacity:.95}.header-title{font-size:1rem;font-weight:500;color:#7a7a7a;letter-spacing:-.01em}.header-divider{width:1px;height:20px;background:#2a2a2a}.app-header h1{font-size:1.25rem;margin-bottom:0}.user-profile{position:relative}.user-profile-btn{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:6px 10px;border-radius:10px;transition:background .2s}.user-profile-btn:hover{background:#1a1a1a}.user-name{font-size:.85rem;font-weight:500;color:#cfcfcf;font-family:inherit}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #2a2a2a}.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:#111;border:1px solid #2a2a2a;border-radius:12px;min-width:220px;overflow:hidden;z-index:100}.user-menu-info{padding:16px 16px 12px;border-bottom:1px solid #1a1a1a;display:flex;flex-direction:column;gap:2px}.user-menu-name{font-size:.875rem;font-weight:600;color:#fff}.user-menu-email{font-size:.8rem;color:#666}.user-menu-logout{width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:.875rem;font-weight:500;color:#f44;cursor:pointer;transition:background .2s;font-family:inherit}.user-menu-logout:hover{background:#1a1111}.back-btn{background:none;border:1px solid #2a2a2a;color:#cfcfcf;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background .2s,border-color .2s;flex-shrink:0}.back-btn:hover{background:#1a1a1a;border-color:#3a3a3a}.hub{max-width:640px;margin:0 auto;padding:64px 24px}.hub-greeting{font-size:1.5rem;font-weight:600;color:#fff;letter-spacing:-.02em;margin-bottom:32px}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.action-card{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:14px;padding:28px 24px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;display:flex;flex-direction:column;gap:10px;font-family:inherit}.action-card:hover{border-color:#3a3a3a;background:#111;transform:translateY(-2px)}.action-icon{font-size:1.75rem;line-height:1}.action-name{font-size:1rem;font-weight:600;color:#fff;letter-spacing:-.01em}.action-desc{font-size:.82rem;color:#666;line-height:1.45}.container{max-width:560px;margin:0 auto;padding:48px 24px;text-align:center}h1{font-size:2rem;margin-bottom:8px;letter-spacing:-.03em;font-weight:700}.subtitle{color:#7a7a7a;margin-bottom:36px;font-size:.95rem}.dropzone{border:1px dashed #333333;border-radius:12px;padding:48px 24px;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:24px;background:#0a0a0a}.dropzone:hover,.dropzone.active{border-color:#fff;background:#111}.dropzone p{color:#666;font-size:.9rem}.dropzone .file-name{color:#fff;font-weight:600}.analyze-btn{background:#fff;color:#000;border:none;padding:12px 36px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s;font-family:inherit;letter-spacing:-.01em}.analyze-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.analyze-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.spinner{width:36px;height:36px;margin:24px auto;border:3px solid #1a1a1a;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#f44;margin-top:20px;font-weight:500;font-size:.9rem}.progress-log{margin-top:32px;text-align:left;background:#0a0a0a;border:1px solid #1a1a1a;border-radius:12px;overflow:hidden}.progress-step{display:flex;align-items:flex-start;gap:12px;padding:14px 20px}.progress-step+.progress-step{border-top:1px solid #1a1a1a}.step-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:1px}.step-icon.done{background:#0a2a0a;color:#4ade80}.step-icon.in_progress{background:#1a1a2e;color:#818cf8;animation:pulse 1.5s ease-in-out infinite}.step-icon.error{background:#2a0a0a;color:#f44}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.step-content{display:flex;flex-direction:column;gap:3px;min-width:0}.step-label{font-size:.85rem;font-weight:600;color:#cfcfcf}.step-detail{font-size:.78rem;color:#666;word-break:break-word}.progress-step.done .step-label{color:#4ade80}.progress-step.error .step-label{color:#f44}.progress-step.error .step-detail{color:#f66}.results{margin-top:24px;text-align:left}.result-card{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:12px;overflow:hidden}.result-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.result-row+.result-row{border-top:1px solid #1a1a1a}.result-row .label{font-weight:500;color:#7a7a7a;font-size:.85rem}.result-row .value{font-weight:600;color:#fff;font-size:.9rem}.domain-link{color:#818cf8;text-decoration:none;font-weight:600}.domain-link:hover{text-decoration:underline;color:#a5b4fc}.result-row.link-row{justify-content:center;background:#0a1a0a;border-top:1px solid #1a2a1a}.result-row.link-row a{color:#4ade80;font-weight:600;text-decoration:none;font-size:.9rem;transition:opacity .2s}.result-row.link-row a:hover{opacity:.8;text-decoration:underline}
