:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--card-bg:#fff;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--error-color:#e53e3e;--error-bg:#fff5f5;--loading-color:#667eea;--border-color:#e2e8f0;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 40px #0003;--border-radius:16px;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);color:#2d3748;color:var(--text-primary);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;line-height:1.6;min-height:100vh;padding:20px}.App{animation:slideUp .5s ease-out;background:#fff;background:var(--card-bg);border-radius:16px;border-radius:var(--border-radius);box-shadow:0 10px 40px #0003;box-shadow:var(--shadow-lg);max-width:520px;padding:32px 28px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.app-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);margin-bottom:28px;padding-bottom:20px}.app-header h1{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;font-size:2rem;font-weight:700;gap:12px;justify-content:center;margin-bottom:8px}.subtitle{color:#718096;color:var(--text-muted);font-size:1rem;font-weight:400}.search-form{margin-bottom:24px}.input-group{display:flex;flex-direction:column;gap:12px}.city-input{background:#f8fafc;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;outline:none;padding:14px 18px;transition:all .3s ease;transition:var(--transition);width:100%}.city-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.city-input::placeholder{color:#718096;color:var(--text-muted)}.city-input:disabled{background:#edf2f7;cursor:not-allowed}.search-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .3s ease;transition:var(--transition)}.search-btn:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.search-btn:active:not(:disabled){transform:translateY(0)}.search-btn:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.status-message{animation:fadeIn .3s ease-out;border-radius:10px;font-weight:500;margin:16px 0;padding:14px 20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message.loading{background:#f0f4ff;border:1px solid #667eea4d;color:#667eea;color:var(--loading-color)}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:""}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.status-message.error{background:#fff5f5;background:var(--error-bg);border-left:4px solid #e53e3e;border-left:4px solid var(--error-color);color:#e53e3e;color:var(--error-color);text-align:left}.weather-card{animation:cardPop .4s ease-out;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;margin-top:8px;padding:28px 24px}@keyframes cardPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.weather-icon{display:flex;justify-content:center;margin-bottom:12px}.weather-icon img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.city-name{color:#2d3748;color:var(--text-primary);font-size:1.9rem;font-weight:700;margin:8px 0 16px;text-transform:capitalize}.temperature{align-items:baseline;display:flex;gap:4px;justify-content:center;margin:12px 0}.temp-value{color:#667eea;font-size:4rem;font-weight:800;line-height:1}.temp-unit{font-size:1.5rem;font-weight:600}.condition,.temp-unit{color:#4a5568;color:var(--text-secondary)}.condition{font-size:1.15rem;margin:16px 0 8px}.condition-label{color:#2d3748;color:var(--text-primary);font-weight:600}.condition-value{margin-left:6px;text-transform:capitalize}.weather-footer{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--border-color);margin-top:20px;padding-top:16px}.weather-footer small{color:#718096;color:var(--text-muted);font-size:.85rem}.hint{background:#f8fafc;border:1px dashed #e2e8f0;border:1px dashed var(--border-color);border-radius:10px;margin-top:20px;padding:16px}.hint p{color:#718096;color:var(--text-muted);font-size:.95rem}.hint strong{color:#2d3748;color:var(--text-primary);font-weight:600}@media (min-width:480px){.input-group{flex-direction:row}.city-input{flex:1 1}.search-btn{padding:14px 28px}}@media (max-width:479px){.App{margin:8px;padding:24px 20px}.app-header h1{font-size:1.6rem}.subtitle{font-size:.95rem}.city-input,.search-btn{font-size:.95rem;padding:12px 16px}.temp-value{font-size:3.2rem}.temp-unit{font-size:1.2rem}.city-name{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.city-input:focus-visible,.search-btn:focus-visible{outline:3px solid #667eea;outline-offset:2px}@media (prefers-contrast:high){.city-input{border-width:3px}.weather-card{border-width:2px}}@media print{body{background:#fff;padding:0}.App{border:1px solid #ccc;box-shadow:none}.hint,.search-form{display:none}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.9e951f5e.css.map*/