:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-secondary: #8b5cf6;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-bg: #f8fafc;--color-bg-card: #ffffff;--color-bg-secondary: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-shadow: rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 16px;--line-height: 1.6;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);width:100%}.header{background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px var(--color-shadow)}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:var(--spacing-xs);font-size:1.5rem;font-weight:700;color:var(--color-primary);text-decoration:none}.logo-icon{font-size:1.75rem}.nav{display:flex;gap:var(--spacing-md)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--color-primary)}.main-content{flex:1;padding:var(--spacing-xl) 0}.hero{text-align:center;margin-bottom:var(--spacing-xl)}.hero h1{font-size:3rem;font-weight:800;color:var(--color-text);margin-bottom:var(--spacing-sm);line-height:1.2}.hero-subtitle{font-size:1.25rem;color:var(--color-text-secondary);max-width:700px;margin:0 auto}.scan-form-container{max-width:600px;margin:0 auto var(--spacing-xl)}.scan-form{background-color:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:0 4px 6px var(--color-shadow);border:1px solid var(--color-border)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text)}.form-group input{width:100%;padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:border-color .2s;background-color:var(--color-bg)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed}.form-help{font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.checkbox-group{margin:var(--spacing-md) 0}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer;flex-shrink:0}.checkbox-label span{font-size:.875rem;line-height:1.6;color:var(--color-text)}.checkbox-label a{color:var(--color-primary);text-decoration:underline}.checkbox-label a:hover{color:var(--color-primary-dark)}.error-message{background-color:#fee2e2;color:#991b1b;padding:var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid #fca5a5}.loading-message{text-align:center;color:var(--color-text-secondary);margin-top:var(--spacing-md);font-size:.875rem}.loading-notice{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md);box-shadow:0 4px 12px #3b82f626}.loading-notice .loading-message{margin:0 0 var(--spacing-sm) 0;font-size:1rem;color:var(--color-text)}.loading-notice .info-notice{margin:0;padding:var(--spacing-sm);background-color:#ffffffb3;border-radius:var(--radius-sm);color:#1e40af;font-size:.875rem;line-height:1.6;border-left:4px solid #3b82f6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-primary:disabled{background-color:var(--color-text-secondary);cursor:not-allowed}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-border)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:#fff}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.info-box{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md)}.info-box h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.info-box ul{list-style-position:inside;color:var(--color-text-secondary)}.info-box ul li{margin-bottom:var(--spacing-xs)}.rate-limit-note{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.rate-limit-note a{color:var(--color-primary);font-weight:600}.results-container{max-width:900px;margin:0 auto}.results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.results-header h2{font-size:2rem;color:var(--color-text)}.results-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.score-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 4px 6px var(--color-shadow);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-lg)}.score-circle{flex-shrink:0;width:120px;height:120px;border-radius:50%;border:8px solid;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-number{font-size:2.5rem;font-weight:800}.score-label{font-size:.875rem;color:var(--color-text-secondary);font-weight:600}.score-info h3{font-size:1.5rem;margin-bottom:var(--spacing-xs);color:var(--color-text)}.score-info p{color:var(--color-text-secondary)}.preview-note{background-color:#fef3c7;border:1px solid #fde047;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);color:#78350f;font-size:.875rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.result-card{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:0 2px 4px var(--color-shadow);border:1px solid var(--color-border)}.result-card h3{font-size:1.125rem;margin-bottom:var(--spacing-sm);color:var(--color-text)}.result-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.result-label{color:var(--color-text-secondary);font-size:.875rem}.result-value{font-weight:600;color:var(--color-text)}.result-badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#78350f}.badge-error{background-color:#fee2e2;color:#991b1b}.masked-value{margin-top:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.info-message{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.info-message code{background-color:var(--color-bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm);font-family:Courier New,monospace}.auth-note{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.auth-note p{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.features{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.features h2{text-align:center;font-size:2rem;margin-bottom:var(--spacing-lg);color:var(--color-text)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.feature-card{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:0 2px 4px var(--color-shadow);border:1px solid var(--color-border);transition:transform .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 8px var(--color-shadow)}.feature-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.feature-card h3{font-size:1.125rem;margin-bottom:var(--spacing-xs);color:var(--color-text)}.feature-card p{color:var(--color-text-secondary);font-size:.875rem}.footer{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:var(--spacing-xl) 0 var(--spacing-md);margin-top:var(--spacing-xl)}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.footer-brand{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-logo{display:flex;align-items:center;gap:var(--spacing-xs);font-size:1.5rem;font-weight:700}.footer-logo-icon{font-size:2rem}.footer-logo-text{color:#fff}.footer-tagline{color:#ffffffe6;font-size:.875rem;line-height:1.6;max-width:350px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.footer-column h4{font-size:1rem;margin-bottom:var(--spacing-md);color:#fff;font-weight:600}.footer-column ul{list-style:none}.footer-column ul li{margin-bottom:var(--spacing-sm)}.footer-column a{color:#fffc;text-decoration:none;transition:color .2s;font-size:.875rem}.footer-column a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.2);color:#fffc;font-size:.875rem}.disclaimer{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);text-align:center;line-height:1.5}.disclaimer a{color:var(--color-primary);text-decoration:underline}.pricing{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);text-align:center}.pricing h2{font-size:2rem;margin-bottom:var(--spacing-sm);color:var(--color-text)}.pricing-subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.pricing-table{max-width:900px;margin:0 auto var(--spacing-md);overflow-x:auto}.pricing-table table{width:100%;background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:0 4px 6px var(--color-shadow);border-collapse:collapse;overflow:hidden}.pricing-table th,.pricing-table td{padding:var(--spacing-md);text-align:center;border-bottom:1px solid var(--color-border)}.pricing-table th{background-color:var(--color-primary);color:#fff;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.5px}.pricing-table td{color:var(--color-text)}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr.highlight{background-color:#eff6ff}.tier-note{font-size:.75rem;color:var(--color-text-secondary);font-weight:400;margin-top:.25rem}.pricing-note{color:var(--color-text-secondary);font-size:.875rem}.pricing-note a{color:var(--color-primary);font-weight:600;text-decoration:underline}.api-docs{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.api-docs h2{font-size:2rem;margin-bottom:var(--spacing-sm);color:var(--color-text);text-align:center}.api-subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);text-align:center}.api-section{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 2px 4px var(--color-shadow);border:1px solid var(--color-border)}.api-section h3{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--color-text)}.api-section h4{font-size:1.125rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:600}.api-section p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:1.6}.api-section ul{list-style-position:inside;color:var(--color-text-secondary);margin-left:var(--spacing-md)}.api-section ul li{margin-bottom:var(--spacing-xs)}.api-section pre{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;margin:var(--spacing-sm) 0}.api-section code{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--color-text);line-height:1.5}.code-keyword{color:#d73a49;font-weight:600}.code-string{color:#032f62}.code-property{color:#005cc5}.code-boolean{color:#d73a49}.code-number{color:#005cc5}.code-comment{color:#6a737d;font-style:italic}.code-url{color:#22863a}.inline-link{color:var(--color-primary);text-decoration:underline;font-weight:600;transition:color .2s}.inline-link:hover{color:var(--color-primary-dark)}.api-cta{text-align:center;padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-top:var(--spacing-lg)}.api-cta p{font-size:1.25rem;color:var(--color-text);margin-bottom:var(--spacing-md);font-weight:600}.api-cta .btn{width:auto}@media (max-width: 768px){.hero h1{font-size:2rem}.hero-subtitle{font-size:1rem}.results-header{flex-direction:column;gap:var(--spacing-sm)}.score-card{flex-direction:column;text-align:center}.nav{gap:var(--spacing-sm);font-size:.875rem}.features-grid,.results-grid{grid-template-columns:1fr}.pricing-table{font-size:.875rem}.pricing-table th,.pricing-table td{padding:var(--spacing-sm)}.api-section pre{font-size:.75rem}.footer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}.footer-links{grid-template-columns:1fr}.footer-tagline{max-width:100%}}
