@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary:#7c3aed;--primary-light:#a78bfa;--primary-dark:#5b21b6;--accent:#f43f5e;--accent-light:#fb7185;--success:#10b981;--warning:#f59e0b;--bg:#0f0a1a;--bg-card:#1a1128;--bg-card-hover:#231740;--bg-elevated:#261b3d;--text:#f1f0f5;--text-secondary:#a09cb0;--text-muted:#6b6580;--border:#2d2345;--border-light:#3d3155;--gradient-primary:linear-gradient(135deg, #7c3aed 0%, #f43f5e 100%);--gradient-score:linear-gradient(135deg, #7c3aed 0%, #06b6d4 50%, #10b981 100%);--gradient-bg:linear-gradient(180deg, #0f0a1a 0%, #1a0f2e 50%, #0f0a1a 100%);--shadow-glow:0 0 40px #7c3aed26;--shadow-card:0 4px 24px #0000004d;--radius:12px;--radius-lg:20px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary-light);text-decoration:none;transition:color .2s}a:hover{color:var(--primary)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #7c3aed59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #7c3aed73}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 4px 15px #f43f5e59}.btn-accent:hover{background:var(--accent-light);transform:translateY(-2px)}.btn-lg{border-radius:var(--radius-lg);padding:16px 36px;font-size:17px}.btn-sm{padding:8px 18px;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:all .3s}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-glow)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{color:var(--primary-light);background:#7c3aed26}.badge-success{color:var(--success);background:#10b98126}.badge-warning{color:var(--warning);background:#f59e0b26}.badge-accent{color:var(--accent);background:#f43f5e26}.page{flex:1;padding-top:80px;padding-bottom:60px}.score-low{color:var(--accent)}.score-mid{color:var(--warning)}.score-high{color:var(--success)}.blur-overlay{position:relative}.blur-overlay .blur-content{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.blur-overlay .paywall-cta{z-index:10;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--border);background:#0f0a1ad9;padding:32px 40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{gap:4px;display:inline-flex}.loading-dots span{background:var(--primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite bounce}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
