/* Reset and Base Styles */
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background:#f8f9fa}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Header */
header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:60px 0;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.1)}
header h1{font-size:3rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}
.subtitle{font-size:1.2rem;opacity:.9;font-weight:300}

/* Main Content */
main{padding:60px 0}

/* Checker Section */
.checker-section{background:white;border-radius:16px;padding:40px;margin-bottom:40px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid #e9ecef}
.checker-section h2{font-size:2.2rem;color:#2c3e50;margin-bottom:20px;text-align:center}
.checker-section>p{text-align:center;color:#6c757d;margin-bottom:40px;font-size:1.1rem}

/* Form */
.checker-form{max-width:500px;margin:0 auto 30px}
.input-group{display:flex;gap:12px;margin-bottom:15px}
.input-group input{flex:1;padding:16px 20px;border:2px solid #dee2e6;border-radius:12px;font-size:1.1rem;transition:all .3s ease}
.input-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}
.input-group button{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}
.input-group button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(102,126,234,.3)}
.input-group button:disabled{opacity:.6;cursor:not-allowed;transform:none}
.request-counter{text-align:center;color:#6c757d;font-size:.9rem}

/* Loading */
.loading{text-align:center;padding:40px}
.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* Messages */
.error-message{background:#f8d7da;color:#721c24;padding:20px;border-radius:12px;margin:20px 0;border:1px solid #f5c6cb;text-align:center}
.hidden{display:none!important}

/* Results */
.results{background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;padding:30px;margin:30px 0}
.results h3{color:#155724;margin-bottom:25px;font-size:1.5rem;text-align:center}
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.result-item{background:white;padding:20px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.result-item label{display:block;font-weight:600;color:#495057;margin-bottom:8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}
.result-item span{font-size:1.1rem;color:#212529;font-weight:500}

/* Info Section */
.info-section{margin:60px 0}
.info-section h2{text-align:center;font-size:2.2rem;color:#2c3e50;margin-bottom:50px}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.info-card{background:white;padding:30px;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid #e9ecef;transition:transform .3s ease}
.info-card:hover{transform:translateY(-5px)}
.info-card h3{color:#667eea;margin-bottom:15px;font-size:1.3rem}
.info-card p{color:#6c757d;line-height:1.7}

/* Footer */
footer{background:#2c3e50;color:white;padding:40px 0;text-align:center}
footer p{margin-bottom:10px;opacity:.8}

/* Responsive */
@media (max-width:768px){
header h1{font-size:2.2rem}
.subtitle{font-size:1rem}
.input-group{flex-direction:column}
.input-group button{padding:16px 24px}
.checker-section{padding:30px 20px}
.info-grid{grid-template-columns:1fr}
.result-grid{grid-template-columns:1fr}
main{padding:40px 0}
}

@media (max-width:480px){
.container{padding:0 15px}
header{padding:40px 0}
header h1{font-size:1.8rem}
.checker-section h2{font-size:1.8rem}
.info-section h2{font-size:1.8rem}
}

/* Performance Optimizations */
img{max-width:100%;height:auto}
*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}