@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;700;800;900&display=swap";
:root{--bg-primary:#050505;--bg-secondary:#0a0a0c;--bg-card:#0c0c0e;--bg-input:#111114;--bg-hover:#16161a;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-focus:#00d4ff66;--cyan:#00d4ff;--cyan-dim:#00d4ff26;--cyan-glow:#00d4ff14;--green:#0f8;--green-dim:#00ff8826;--purple:#7c3aed;--purple-dim:#7c3aed26;--red:#ef4444;--red-dim:#ef44441f;--amber:#f59e0b;--amber-dim:#f59e0b1f;--text-primary:#fff;--text-secondary:#ffffffbf;--text-muted:#6b6b70;--text-disabled:#3a3a3f;--font-display:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"Fira Code", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--cyan);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:#33dfff}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.15}.text-gradient{background:linear-gradient(135deg, #fff 20%, var(--cyan) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-mono{font-family:var(--font-mono);font-size:.85em}.container{max-width:1120px;padding:0 var(--space-lg);margin:0 auto}.container--narrow{max-width:680px}.navbar{z-index:100;padding:var(--space-md) var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background:#050505cc;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar__logo{align-items:center;gap:var(--space-sm);display:flex}.navbar__logo img{height:28px}.navbar__logo-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:17px;font-weight:700}.navbar__badge{font-family:var(--font-mono);color:var(--cyan);background:var(--cyan-dim);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;border:1px solid #00d4ff33;padding:2px 10px;font-size:11px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--border-default)}.card--glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0c0e99}.card--accent{border-left:3px solid var(--cyan)}.card--warning{border-left:3px solid var(--red)}.card--premium{background:linear-gradient(135deg,#7c3aed0a 0%,#0000 60%);border:1px solid #7c3aed33}.form-group{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.02em;font-size:13px;font-weight:500}.form-label--required:after{content:" *";color:var(--red)}.form-input,.form-select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);outline:none;width:100%;padding:12px 14px;font-size:14px}.form-input::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--cyan-glow)}.form-input--error{border-color:var(--red)}.form-error{color:var(--red);margin-top:2px;font-size:12px}.form-hint{color:var(--text-muted);margin-top:2px;font-size:12px}.checkbox-group{align-items:flex-start;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm) 0;display:flex}.checkbox-group input[type=checkbox]{appearance:none;border:1px solid var(--border-default);background:var(--bg-input);cursor:pointer;width:18px;min-width:18px;height:18px;transition:all var(--duration-fast) var(--ease-out);border-radius:4px;margin-top:2px;position:relative}.checkbox-group input[type=checkbox]:checked{background:var(--cyan);border-color:var(--cyan)}.checkbox-group input[type=checkbox]:checked:after{content:"✓";color:#000;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-group input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--cyan-glow)}.checkbox-label{color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.5}.concern-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.concern-chip{text-align:left;align-items:flex-start;gap:var(--space-md);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;will-change:transform, box-shadow;color:var(--text-secondary);height:100%;padding:14px 16px;font-size:14px;line-height:1.4;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex}.concern-chip:hover{border-color:var(--border-default);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.concern-chip:active{transform:scale(.97)translateY(0)}.concern-chip--active{border-color:var(--cyan);background:var(--cyan-dim);color:var(--text-primary);box-shadow:0 0 0 1px #00d4ff4d,0 4px 12px #00d4ff1a}.concern-chip--active:hover{box-shadow:0 0 0 1px #00d4ff66,0 6px 16px #00d4ff26}.concern-chip__icon{flex-shrink:0;margin-top:-1px;font-size:18px}.btn{font-family:var(--font-display);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);transition:all var(--duration-normal) var(--ease-out);text-transform:uppercase;letter-spacing:.5px;border:none;padding:14px 28px;font-size:15px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg, var(--cyan) 0%, #09c 100%);color:#000;box-shadow:0 4px 24px #00d4ff33}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 32px #00d4ff59}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{color:var(--text-primary);border:1px solid var(--border-default);background:0 0}.btn--secondary:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.btn--full{width:100%}.score-circle{width:180px;height:180px;margin:0 auto;position:relative}.score-circle svg{transform:rotate(-90deg)}.score-circle__track{fill:none;stroke:var(--border-subtle);stroke-width:8px}.score-circle__progress{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1.5s var(--ease-out)}.score-circle__value{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.score-circle__number{font-family:var(--font-display);font-size:48px;font-weight:900;line-height:1}.score-circle__label{color:var(--text-muted);margin-top:4px;font-size:14px}.score--critical{--score-color:var(--red)}.score--warning{--score-color:var(--amber)}.score--good{--score-color:var(--green)}.console{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);font-family:var(--font-mono);background:#0a0a0a;min-height:320px;font-size:13px;line-height:2;overflow:hidden}.console__line{align-items:center;gap:var(--space-sm);opacity:0;animation:consoleFadeIn .4s var(--ease-out) forwards;display:flex}.console__line--done{color:var(--green)}.console__line--active{color:var(--cyan)}.console__line--pending{color:var(--text-muted)}.console__spinner{border:2px solid var(--cyan);border-top-color:#0000;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin;display:inline-block}.console__check{color:var(--green);font-weight:600}@keyframes consoleFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.result-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);align-items:center;gap:var(--space-lg);display:flex}.result-card__icon{flex-shrink:0;font-size:28px}.result-card__content{flex:1}.result-card__title{font-family:var(--font-display);margin-bottom:4px;font-size:15px;font-weight:700}.result-card__detail{color:var(--text-muted);font-size:13px}.result-card__blur{filter:blur(5px);-webkit-user-select:none;user-select:none;pointer-events:none}.premium-badge{font-family:var(--font-mono);color:var(--purple);background:var(--purple-dim);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;border:1px solid #7c3aed33;align-items:center;gap:6px;padding:4px 12px;font-size:11px;display:inline-flex}.glow-orb{pointer-events:none;z-index:0;border-radius:50%;position:fixed}.glow-orb--cyan{background:radial-gradient(circle,#00d4ff0f 0%,#0000 70%);width:600px;height:600px;top:-200px;right:-200px}.glow-orb--purple{background:radial-gradient(circle,#7c3aed0d 0%,#0000 70%);width:500px;height:500px;bottom:-150px;left:-150px}.footer{text-align:center;padding:var(--space-2xl) var(--space-lg);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:13px}.footer__brand{margin-bottom:var(--space-md);justify-content:center;display:flex}.footer__brand .navbar__logo{justify-content:center}.footer a{color:var(--text-muted)}.footer a:hover{color:var(--cyan)}.privacy-disclosure{color:var(--text-muted);margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff05;font-size:11px;line-height:1.5}.privacy-disclosure summary{cursor:pointer;color:var(--text-secondary);margin-bottom:var(--space-sm);font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .6s var(--ease-out) forwards}.animate-delay-1{opacity:0;animation-delay:.1s}.animate-delay-2{opacity:0;animation-delay:.2s}.animate-delay-3{opacity:0;animation-delay:.3s}.animate-delay-4{opacity:0;animation-delay:.4s}@media (max-width:768px){.concern-grid{grid-template-columns:1fr}.container{padding:0 var(--space-md)}.score-circle{width:140px;height:140px}.score-circle__number{font-size:36px}}
