@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f5f9;--color-surface: #ffffff;--color-surface-hover: #f8fafc;--color-surface-glass: rgba(255, 255, 255, .8);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-primary: #3b82f6;--color-primary-light: #eff6ff;--color-primary-dark: #1d4ed8;--color-secondary: #0ea5e9;--color-secondary-light: #e0f2fe;--color-accent: #6366f1;--color-accent-light: #eef2ff;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-score-low: #10b981;--color-score-moderate: #fbbf24;--color-score-high: #f59e0b;--color-score-very-high: #ef4444;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-secondary: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);--gradient-warm: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-cool: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);--gradient-blue: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-glow: 0 0 15px rgba(59, 130, 246, .3);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--glass-backdrop: blur(12px);--glass-border: 1px solid rgba(226, 232, 240, .8)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 10% 20%,rgba(59,130,246,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(14,165,233,.05) 0%,transparent 40%);pointer-events:none;z-index:-1}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--space-md)}h1{font-size:2.5rem;font-weight:800}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.page{min-height:100vh;padding:var(--space-2xl) 0}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex;gap:var(--space-md)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.card{background:var(--color-surface-glass);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.card:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.1)}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-sm)}.card-description{color:var(--color-text-tertiary);font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:1rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.btn-secondary{background:var(--gradient-secondary);color:#fff;box-shadow:0 4px 12px #06b6d44d}.btn-secondary:hover{box-shadow:0 6px 20px #06b6d466;transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary-light)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-ghost{background:var(--color-surface);color:var(--color-text-primary)}.btn-ghost:hover{background:var(--color-surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:500;color:var(--color-text-primary);font-size:.875rem}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:1rem;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--color-surface-hover)}.form-input::placeholder{color:var(--color-text-tertiary)}.form-error{color:var(--color-error);font-size:.875rem;margin-top:var(--space-sm)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);font-size:.75rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.badge-warning{background:#fbbf241a;color:var(--color-warning);border:1px solid rgba(251,191,36,.2)}.badge-error{background:#ef44441a;color:var(--color-error);border:1px solid rgba(239,68,68,.2)}.badge-info{background:#3b82f61a;color:var(--color-info);border:1px solid rgba(59,130,246,.2)}.progress-bar{width:100%;height:8px;background:var(--color-surface);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--space-md)}.card{padding:var(--space-lg)}.grid-2,.grid-3{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0e27cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-bg-secondary);border:var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{font-size:1.5rem;font-weight:700;margin:0}.modal-close{background:none;border:none;color:var(--color-text-tertiary);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-content form{padding:var(--space-xl)}.modal-footer{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,.1)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem;line-height:1.5}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.alert-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:var(--color-info)}.score-gauge{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-xl)}.gauge-svg{width:100%;max-width:300px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.gauge-score{text-align:center;margin-top:-20px}.gauge-score-number{font-size:3rem;font-weight:800;line-height:1;margin-bottom:var(--space-xs);animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1) .5s backwards}.gauge-score-label{font-size:.875rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.gauge-interpretation{text-align:center;animation:fadeIn .5s ease-out 1s backwards}.gauge-interpretation-level{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.gauge-interpretation-desc{font-size:1rem;color:var(--color-text-secondary);max-width:400px}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
