@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--brand-primary:#3c83f6;--brand-primary-dark:#0b60ea;--brand-primary-glow:#3c83f64d;--brand-accent:#1dd762;--brand-accent-glow:#1dd76240;--brand-warning:#f6a823;--brand-danger:#ef4d4d;--bg-base:#090e1a;--bg-surface:#0f1524;--bg-elevated:#171f30;--bg-card:#1e2638;--bg-hover:#252d41;--border-subtle:#475f8533;--border-default:#5977a64d;--border-strong:#668dcc80;--text-primary:#eef2f6;--text-secondary:#94a4b8;--text-muted:#627184;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0528614d;--shadow-md:0 4px 24px #05286166;--shadow-lg:0 8px 48px #05286180;--shadow-glow:0 0 32px var(--brand-primary-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}.bg-gradient-mesh{z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 10% 20%,#3c83f60f 0%,#0000 60%),radial-gradient(60% 50% at 90% 80%,#1dd7620a 0%,#0000 50%),radial-gradient(40% 40%,#b152e008 0%,#0000 50%);position:fixed;inset:0}.container{max-width:1200px;margin:0 auto;padding:0 24px}.app-shell{z-index:1;min-height:100vh;position:relative}.navbar{z-index:100;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);background:#090e1ad9;padding:16px 0;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.logo-icon{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent));border-radius:var(--radius-sm);width:36px;height:36px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-size:1rem;display:flex}.logo span{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.nav-links{align-items:center;gap:8px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:linear-gradient(#ffffff1a,#0000);transition:opacity .2s;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn-primary{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));color:#fff;box-shadow:0 4px 20px var(--brand-primary-glow)}.btn-primary:hover{box-shadow:0 6px 28px var(--brand-primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn-success{color:#fff;box-shadow:0 4px 20px var(--brand-accent-glow);background:linear-gradient(135deg,#1abc55,#159d47)}.btn-success:hover{box-shadow:0 6px 28px var(--brand-accent-glow);transform:translateY(-1px)}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:1rem}.btn-sm{padding:7px 14px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:28px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.card-glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:#171f30b3;padding:32px}.hero{text-align:center;padding:100px 0 80px;position:relative}.hero-badge{border-radius:var(--radius-full);color:var(--brand-primary);letter-spacing:.05em;text-transform:uppercase;background:#3c83f61a;border:1px solid #3c83f64d;align-items:center;gap:8px;margin-bottom:28px;padding:6px 16px;font-size:.8rem;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.05}.gradient-text{background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:560px;margin:0 auto 48px;font-size:1.2rem;line-height:1.7}.analyze-form{gap:12px;max-width:620px;margin:0 auto;display:flex}.input-wrapper{flex:1;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;font-size:1rem;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);outline:none;padding:14px 16px 14px 44px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-glow)}.input::placeholder{color:var(--text-muted)}.score-ring-container{flex-wrap:wrap;justify-content:center;gap:32px;margin:40px 0;display:flex}.score-ring-wrapper{flex-direction:column;align-items:center;gap:12px;display:flex}.score-ring{width:120px;height:120px;position:relative}.score-ring svg{width:120px;height:120px;transform:rotate(-90deg)}.score-ring-bg{fill:none;stroke:var(--bg-elevated);stroke-width:8px}.score-ring-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.score-value{letter-spacing:-.03em;flex-direction:column;justify-content:center;align-items:center;font-size:1.8rem;font-weight:800;display:flex;position:absolute;inset:0}.score-value small{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-size:.65rem;font-weight:500}.score-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.score-good{color:var(--brand-accent)}.score-good .score-ring-fill{stroke:var(--brand-accent)}.score-medium{color:var(--brand-warning)}.score-medium .score-ring-fill{stroke:var(--brand-warning)}.score-bad{color:var(--brand-danger)}.score-bad .score-ring-fill{stroke:var(--brand-danger)}.audit-list{flex-direction:column;gap:8px;display:flex}.audit-item{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:16px;padding:16px 20px;transition:background .15s,border-color .15s;display:flex}.audit-item:hover{background:var(--bg-hover);border-color:var(--border-default)}.audit-score-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dot-good{background:var(--brand-accent)}.dot-medium{background:var(--brand-warning)}.dot-bad{background:var(--brand-danger)}.audit-info{flex:1;min-width:0}.audit-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.audit-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.8rem;overflow:hidden}.audit-value{color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-weight:700}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.metric-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;padding:16px}.metric-value{letter-spacing:-.03em;margin-bottom:4px;font-size:1.5rem;font-weight:800}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.01em;font-size:.85rem;font-weight:600}.form-hint{color:var(--text-muted);font-size:.78rem}.form-error{color:var(--brand-danger);font-size:.8rem;font-weight:500}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.auth-card{width:100%;max-width:420px}.auth-title{letter-spacing:-.03em;margin-bottom:8px;font-size:1.8rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:.85rem}.auth-footer a{color:var(--brand-primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.dashboard-header{border-bottom:1px solid var(--border-subtle);margin-bottom:40px;padding:48px 0 32px}.page-title{letter-spacing:-.03em;margin-bottom:8px;font-size:2rem;font-weight:800}.page-subtitle{color:var(--text-secondary)}.analyses-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.analysis-card{cursor:pointer;color:inherit;text-decoration:none;display:block}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-success{color:var(--brand-accent);background:#1dd76226;border:1px solid #1dd7624d}.badge-warning{color:var(--brand-warning);background:#f6a8231f;border:1px solid #f6a8234d}.badge-danger{color:var(--brand-danger);background:#ef4d4d1f;border:1px solid #ef4d4d4d}.badge-primary{color:var(--brand-primary);background:#3c83f61f;border:1px solid #3c83f64d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-hover) 50%, var(--bg-elevated) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-slide-up{animation:.4s forwards slideUp}.animate-fade-in{animation:.3s forwards fadeIn}.steps{align-items:flex-start;gap:0;margin:48px 0;display:flex}.step{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--border-subtle);height:1px;position:absolute;top:20px;left:50%;right:-50%}.step-number{background:var(--bg-elevated);border:1px solid var(--border-default);width:40px;height:40px;color:var(--text-secondary);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:.85rem;font-weight:700;display:flex;position:relative}.step.active .step-number{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 0 0 4px var(--brand-primary-glow)}.step.done .step-number{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.step-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.step.active .step-label{color:var(--brand-primary)}.step.done .step-label{color:var(--brand-accent)}.divider{background:var(--border-subtle);height:1px;margin:24px 0}.divider-text{color:var(--text-muted);align-items:center;gap:16px;font-size:.8rem;display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--border-subtle);flex:1;height:1px}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);max-width:380px;box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:14px 20px;font-size:.875rem;font-weight:500;animation:.3s slideUp;display:flex}.toast-success{color:var(--brand-accent);background:#0f3d20;border:1px solid #1dd76266}.toast-error{color:var(--brand-danger);background:#3d0f0f;border:1px solid #ef4d4d66}@media (max-width:768px){.hero{padding:60px 0 48px}.hero-title{font-size:2.2rem}.analyze-form{flex-direction:column}.score-ring-container{gap:20px}.steps{flex-direction:column;align-items:flex-start}.step:after{display:none}.step{flex-direction:row;gap:16px}.step-number{flex-shrink:0;margin-bottom:0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
