@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background:linear-gradient(to right,#00b4db,#0083b0);color:#333;line-height:1.6}:root{--primary-color: #ff9800;--primary-hover: #f57c00;--primary-active: #ef6c00;--secondary-color: #2196f3;--success-color: #4caf50;--error-color: #f44336;--warning-color: #ff9800;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-dark: #333333;--text-muted: #666666;--bg-primary: rgba(255, 255, 255, .1);--bg-secondary: rgba(255, 255, 255, .05);--bg-error: rgba(244, 67, 54, .1);--bg-success: rgba(76, 175, 80, .1);--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--spacing-2xl: 40px;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 20px;--border-radius-full: 50px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-dropdown: 1000;--z-modal: 1050;--z-tooltip: 1100}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:var(--text-primary)}.container{width:1000px;padding:var(--spacing-lg);margin:0 auto;text-align:center;min-height:100vh;display:flex;flex-direction:column}.app-header{margin-bottom:var(--spacing-2xl);animation:fadeInDown .6s ease-out}.app-header h1{font-size:var(--font-size-3xl);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;font-weight:var(--font-weight-bold);text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:-1px}.app-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0;font-weight:var(--font-weight-normal);opacity:.9}.app-main{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xl)}.search-section{animation:fadeInUp .6s ease-out .2s both}.search-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.input-group{display:flex;align-items:center;background:var(--bg-primary);border-radius:var(--border-radius-full);padding:4px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:var(--transition-normal);max-width:500px;width:100%}.input-group:focus-within{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:#ffffff4d}.input-group input{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-base);outline:none;border-radius:var(--border-radius-full);min-width:0}.input-group input::placeholder{color:#ffffffb3;font-style:italic}.input-group input:disabled{opacity:.6;cursor:not-allowed}.input-group input.input-error{color:var(--error-color)}.input-group input.input-error::placeholder{color:#f44336b3}.search-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-full);cursor:pointer;color:var(--text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);transition:var(--transition-normal);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;min-width:100px;height:44px}.search-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),var(--primary-active));box-shadow:var(--shadow-md);transform:translateY(-1px)}.search-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.search-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.clear-button{background:transparent;border:2px solid rgba(255,255,255,.3);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-full);cursor:pointer;color:var(--text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:var(--transition-normal)}.clear-button:hover{background:#ffffff1a;border-color:#ffffff80;color:var(--text-primary)}.search-history{margin-top:var(--spacing-lg);animation:fadeIn .4s ease-out}.search-history h3{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-medium)}.history-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.history-item{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-lg);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);transition:var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-sm);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.history-item:hover{background:var(--bg-primary);border-color:#fff6;color:var(--text-primary);transform:translateY(-1px)}.history-city{font-weight:var(--font-weight-medium)}.history-temp{font-size:.8rem;opacity:.8}.loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);animation:fadeIn .3s ease-out}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--text-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.error-message{background:var(--bg-error);border:1px solid var(--error-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-md) 0;animation:shake .5s ease-out}.error-message p{color:var(--error-color);margin:0 0 var(--spacing-md) 0;font-weight:var(--font-weight-medium)}.error-retry{background:var(--error-color);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:var(--transition-normal)}.error-retry:hover{background:#d32f2f;transform:translateY(-1px)}.results-section{animation:fadeInUp .6s ease-out .4s both}.app-footer{margin-top:auto;padding-top:var(--spacing-xl);animation:fadeIn .6s ease-out .6s both}.app-footer p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;opacity:.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (max-width: 768px){.container{padding:var(--spacing-md)}.app-header h1{font-size:var(--font-size-2xl)}.app-subtitle{font-size:var(--font-size-base)}.input-group{max-width:100%}.input-group input{font-size:var(--font-size-sm)}.search-button{min-width:80px;padding:var(--spacing-sm) var(--spacing-md)}.history-list{flex-direction:column;align-items:center}}.app-footer a{color:var(--primary-color);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-normal)}.app-footer a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 1024px){.container{width:90%;padding:var(--spacing-lg)}}@media (max-width: 768px){.container{width:100%;padding:var(--spacing-md)}.app-header h1{font-size:var(--font-size-2xl)}.app-subtitle{font-size:var(--font-size-base)}.input-group{flex-direction:column;align-items:stretch;padding:var(--spacing-sm)}.input-group input{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%}.search-button{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.clear-button{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm)}.history-list{flex-direction:column;align-items:center}.history-item{width:100%;justify-content:space-between}.loading-container{padding:var(--spacing-lg)}.error-message{padding:var(--spacing-md)}.app-footer{padding-top:var(--spacing-lg)}.app-footer p{font-size:var(--font-size-xs)}}@media (max-width: 480px){.app-header h1{font-size:1.5rem}.app-subtitle,.search-button,.clear-button{font-size:var(--font-size-sm)}.history-item{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.loading-spinner{width:30px;height:30px}.button-spinner{width:14px;height:14px}.error-retry{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.app-footer p{font-size:.75rem}}@media (max-width: 480px){.input-group{flex-direction:column;align-items:stretch;gap:10px;padding:0;border:none;background:transparent;box-shadow:none}.input-group input{width:100%;padding:12px;font-size:1rem;border:none;border-radius:var(--border-radius-full);background:#fff3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.search-button{width:100%;padding:12px;font-size:1rem;border-radius:var(--border-radius-full);margin-top:5px}}:root{--weather-bg-primary: rgba(255, 255, 255, .8);--weather-bg-secondary: rgba(255, 255, 255, .6);--weather-border-radius: 10px;--weather-padding: 20px;--weather-margin: 20px;--weather-gap: 15px;--weather-font-size-sm: 1rem;--weather-font-size-md: 1.3rem;--weather-font-size-lg: 2rem;--weather-font-size-xl: 2.5rem;--weather-font-weight-normal: 400;--weather-font-weight-bold: 700;--weather-text-primary: #2c3e50;--weather-text-secondary: #34495e;--weather-text-muted: #7f8c8d;--weather-shadow: 0 4px 12px rgba(0, 0, 0, .1);--weather-shadow-hover: 0 6px 20px rgba(0, 0, 0, .15);--weather-transition: all .3s ease}.weather-container{background-color:var(--weather-bg-primary);border-radius:var(--weather-border-radius);padding:var(--weather-padding);margin:var(--weather-margin) 0;box-shadow:var(--weather-shadow);transition:var(--weather-transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.weather-container:hover{box-shadow:var(--weather-shadow-hover);transform:translateY(-2px)}.weather-container h2{font-size:var(--weather-font-size-lg);font-weight:var(--weather-font-weight-bold);color:var(--weather-text-primary);text-align:center;margin:0 0 var(--weather-gap) 0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.weather-info{display:flex;align-items:center;justify-content:center;gap:var(--weather-gap);margin-bottom:var(--weather-gap);flex-wrap:wrap}.weather-info img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:var(--weather-transition)}.weather-info img:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.temperature{font-weight:var(--weather-font-weight-bold);font-size:var(--weather-font-size-xl);color:var(--weather-text-primary);margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:-1px}.description{text-transform:capitalize;font-size:var(--weather-font-size-md);color:var(--weather-text-secondary);text-align:center;margin:0 0 var(--weather-gap) 0;font-style:italic;font-weight:500}.details{display:flex;justify-content:space-evenly;flex-wrap:wrap;gap:10px;background-color:var(--weather-bg-secondary);border-radius:calc(var(--weather-border-radius) - 2px);padding:15px;margin-top:var(--weather-gap)}.details p{margin:0;font-size:var(--weather-font-size-sm);color:var(--weather-text-secondary);font-weight:500;text-align:center;min-width:120px;padding:8px;border-radius:6px;background-color:#ffffff4d;transition:var(--weather-transition)}.details p:hover{background-color:#ffffff80;transform:translateY(-1px)}@media (max-width: 768px){.weather-container{margin:15px 0;padding:15px}.weather-container h2{font-size:1.7rem}.weather-info{flex-direction:column;gap:10px}.weather-info img{width:80px;height:80px}.temperature{font-size:2rem}.description{font-size:1.1rem}.details{flex-direction:column;gap:8px}.details p{min-width:auto;width:100%}}@media (max-width: 480px){.weather-container{margin:10px 0;padding:12px}.weather-container h2{font-size:1.5rem}.weather-info img{width:70px;height:70px}.temperature{font-size:1.8rem}.description{font-size:1rem}.details{padding:10px}.details p{font-size:.9rem;padding:6px}}@media (prefers-reduced-motion: reduce){.weather-container,.weather-info img,.details p{transition:none}.weather-container:hover,.weather-info img:hover,.details p:hover{transform:none}}@media (prefers-color-scheme: dark){:root{--weather-bg-primary: rgba(45, 55, 72, .9);--weather-bg-secondary: rgba(74, 85, 104, .8);--weather-text-primary: #e2e8f0;--weather-text-secondary: #cbd5e0;--weather-text-muted: #a0aec0}.weather-container{border-color:#ffffff1a}.details p{background-color:#ffffff1a}.details p:hover{background-color:#fff3}}.weather-container.loading{opacity:.7;pointer-events:none}.weather-container.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #3498db;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.weather-container.error{border:2px solid #e74c3c;background-color:#e74c3c1a}.weather-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3498db,#2ecc71,#f39c12);border-radius:var(--weather-border-radius) var(--weather-border-radius) 0 0;opacity:.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.weather-container{animation:fadeIn .5s ease-out}@media (max-width: 1024px){.weather-container{padding:18px;margin:18px 0}.weather-container h2{font-size:2rem}.temperature{font-size:2.2rem}.description{font-size:1.2rem}}@media (max-width: 768px){.weather-container{padding:15px;margin:15px 0}.weather-info{flex-direction:column;gap:12px}.weather-info img{width:70px;height:70px}.temperature{font-size:1.8rem}.description{font-size:1rem}.details{flex-direction:column;padding:10px;gap:10px}.details p{width:100%;text-align:left;padding:10px;font-size:.95rem}}@media (max-width: 480px){.weather-container{padding:12px;margin:10px 0}.weather-container h2{font-size:1.5rem}.weather-info img{width:60px;height:60px}.temperature{font-size:1.6rem}.description{font-size:.95rem}.details p{font-size:.85rem;padding:8px}}:root{--weather-bg-primary: rgba(255, 255, 255, .8);--weather-bg-secondary: rgba(255, 255, 255, .5);--weather-border-radius: 10px;--weather-gap: 10px;--weather-padding: 10px;--weather-padding-lg: 20px;--weather-font-size-base: 1rem;--weather-font-size-lg: 1.1rem;--weather-font-size-xl: 1.5rem;--weather-margin-bottom: 15px;--weather-shadow: 0 2px 8px rgba(0, 0, 0, .1);--weather-transition: all .3s ease}.weather-container2{background-color:var(--weather-bg-primary);border-radius:var(--weather-border-radius);padding:var(--weather-padding-lg);box-shadow:var(--weather-shadow);transition:var(--weather-transition)}.weather-container2:hover{box-shadow:0 4px 12px #00000026}.weather-container2 h3{font-size:var(--weather-font-size-xl);margin-bottom:var(--weather-margin-bottom);margin-top:0;color:#333;font-weight:600;text-align:center}.weather-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--weather-gap);margin-top:var(--weather-margin-bottom)}.weather-item{flex:1 1 100%;width:100%;text-align:center;background-color:var(--weather-bg-secondary);border-radius:var(--weather-border-radius);padding:var(--weather-padding-lg);transition:var(--weather-transition);box-shadow:0 1px 4px #0000001a}.weather-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026;background-color:#ffffffb3}.weather-item img{width:60px;height:60px;object-fit:contain;margin:8px 0;transition:var(--weather-transition)}.weather-item:hover img{transform:scale(1.1)}.forecast-day,.forecast-description{text-transform:capitalize;font-size:var(--weather-font-size-lg);margin:8px 0;color:#444}.forecast-day{font-weight:600;color:#2c3e50;margin-bottom:12px}.forecast-description{font-style:italic;color:#666;margin-bottom:8px}.weather-item p:last-child{font-weight:500;color:#2c3e50;font-size:var(--weather-font-size-base);margin-top:8px}.temperature-range{display:flex;align-items:center;justify-content:center;gap:4px;margin:var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.temp-max{color:#ff5722;font-size:1.2rem}.temp-min{color:#2196f3;font-size:1rem;opacity:.8}.temp-separator{color:var(--text-muted);font-weight:400;margin:0 2px}.temp-label{font-size:var(--font-size-sm);color:var(--text-muted);margin:4px 0 0;font-style:italic}@media (max-width: 768px){.weather-container2{padding:var(--weather-padding)}.weather-container2 h3{font-size:1.3rem}.weather-list{justify-content:center;gap:8px}.weather-item{min-width:120px;max-width:140px;padding:12px 8px}.forecast-day,.forecast-description{font-size:1rem}.weather-item img{width:50px;height:50px}.temperature-range{font-size:var(--font-size-base)}.temp-max{font-size:1.1rem}.temp-min{font-size:.9rem}.temp-label{font-size:.8rem}}@media (max-width: 480px){.weather-list{flex-direction:column;align-items:center}.weather-item{width:100%;max-width:280px;display:flex;align-items:center;text-align:left;padding:15px}.weather-item img{margin-right:15px;margin-bottom:0}.weather-item>div{flex:1}}@media (prefers-reduced-motion: reduce){.weather-item,.weather-item img,.weather-container2{transition:none}.weather-item:hover,.weather-item:hover img{transform:none}}@media (prefers-color-scheme: dark){:root{--weather-bg-primary: rgba(45, 55, 72, .9);--weather-bg-secondary: rgba(74, 85, 104, .8)}.weather-container2 h3,.forecast-day{color:#e2e8f0}.forecast-description,.weather-item p:last-child{color:#cbd5e0}.temp-max{color:#ff7043}.temp-min{color:#42a5f5}}.weather-container2.loading{opacity:.7;pointer-events:none}.weather-container2.error{border:2px solid #e53e3e;background-color:#fee2e2cc}
