:root{--primary-color: #7c7cf9;--accent-color: #00f2fe;--bg-overlay: rgba(10, 10, 20, .7);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .15);--text-main: #ffffff;--text-dim: rgba(255, 255, 255, .6);--font-family: "Outfit", sans-serif;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-family)}body{height:100vh;width:100%;overflow:hidden;background:#050505}#root{height:100%}.app-container{height:100vh;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;padding:2rem 4rem;position:relative;transition:background-image .8s ease-in-out;color:var(--text-main)}.app-container:before{content:"";position:absolute;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1}.search-section,.dashboard-grid,.insight-footer{position:relative;z-index:2}.search-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.search-bar{display:flex;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50px;padding:.5rem 1.5rem;width:400px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:var(--transition-smooth)}.search-bar:focus-within{border-color:var(--primary-color);box-shadow:0 0 20px #7c7cf94d;width:450px}.search-icon{color:var(--text-dim);margin-right:1rem;width:20px}.search-bar input{background:transparent;border:none;color:#fff;font-size:1.1rem;outline:none;width:100%;padding:.5rem 0}.search-bar input::placeholder{color:var(--text-dim)}.btn-primary{background:var(--primary-color);border:none;border-radius:30px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.5rem;margin-left:1rem;transition:var(--transition-smooth)}.btn-primary:hover{transform:scale(1.05);filter:brightness(1.2)}.user-location-info{text-align:right}.city-title{font-size:2.5rem;font-weight:700;background:linear-gradient(90deg,#fff,var(--primary-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.date-subtitle{color:var(--text-dim);font-size:1rem;margin-top:.3rem}.dashboard-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;flex-grow:1}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;transition:var(--transition-smooth)}.glass-card:hover{border-color:#ffffff4d;transform:translateY(-5px)}.current-weather{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.weather-visual{height:150px;display:flex;align-items:center;justify-content:center}.main-icon{width:120px;filter:drop-shadow(0 0 10px rgba(255,255,255,.5));animation:float 3s ease-in-out infinite}.temp-container{font-size:6rem;font-weight:700;margin:1rem 0;line-height:1}.unit{font-size:2rem;font-weight:400;vertical-align:top;margin-top:1rem;display:inline-block}.condition-text{font-size:1.5rem;color:var(--text-dim);text-transform:capitalize;margin-bottom:1.5rem}.high-low{display:flex;gap:1.5rem;font-size:1.1rem}.metrics-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:1.5rem}.metric-card{display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem}.card-header{display:flex;align-items:center;gap:.8rem;color:var(--text-dim);font-size:.9rem;font-weight:500}.card-header svg{width:18px}.card-value{font-size:1.4rem;font-weight:600;margin-top:1rem}.card-value.compact{font-size:1.1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .8s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spinner{width:50px;height:50px;border:5px solid var(--glass-border);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.insight-footer{padding:1rem 0;text-align:center;color:var(--text-dim);font-size:.9rem}@media(max-width:1200px){.metrics-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.app-container{padding:1rem;overflow-y:auto}.search-section{flex-direction:column;gap:1rem;text-align:center}.search-bar{width:100%}.user-location-info{text-align:center}.dashboard-grid{grid-template-columns:1fr}}
