:root{--primary-color:#fff;--bg-gradient:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--glass-bg:#ffffff1a;--glass-border:1px solid #fff3;--glass-shadow:0 8px 32px 0 #1f26875e}body.dark-mode{--bg-gradient:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);--glass-bg:#0000004d;--glass-border:1px solid #ffffff14;--glass-shadow:0 8px 32px 0 #00000080}body{background:var(--bg-gradient);min-height:100vh;color:var(--primary-color);margin:0;padding:1rem 5rem;font-family:Poppins,sans-serif;overflow-x:hidden}.header{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:1rem 2rem;display:flex}.header h1{color:#fff;letter-spacing:1px;text-shadow:0 2px 4px #0003;margin:0;font-weight:600;text-decoration:none}.header-controls{align-items:center;gap:15px;display:flex}.search-container{display:inline-block;position:relative}.suggestions-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;color:#333;background:#ffffffe6;border-radius:15px;max-height:200px;margin:5px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.suggestions-list li{cursor:pointer;border-bottom:1px solid #0000000d;padding:10px 20px;transition:background .2s}.suggestions-list li:hover{background:#0000000d}#input{color:#fff;background:#fff3;border:none;border-radius:30px;outline:none;padding:10px 20px;font-size:16px;transition:all .3s}#input::placeholder{color:#e0e0e0}#input:focus{background:#ffffff4d;box-shadow:0 0 15px #fff3}#search{color:#fff;cursor:pointer;background:linear-gradient(90deg,#7c0e47,#033249);border:none;border-radius:30px;outline:none;margin-left:10px;padding:10px 25px;font-size:16px;transition:transform .2s,box-shadow .2s}#search:hover{transform:translateY(-2px);box-shadow:0 5px 15px #e2db0f}#location-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#56ab2f,#a8e063);border:none;border-radius:30px;outline:none;padding:10px 25px;font-size:16px;transition:transform .2s,box-shadow .2s}#location-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #56ab2f66}.switch-container{align-items:center;gap:8px;font-weight:600;display:flex}.switch{width:60px;height:34px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#fff3;border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:26px;height:26px;transition:all .4s;position:absolute;bottom:4px;left:4px}.error-msg{color:#fcc;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f003;border:1px solid #ff00004d;border-radius:15px;margin-bottom:2rem;padding:15px}input:checked+.slider{background-color:#ff758c}input:checked+.slider:before{transform:translate(26px)}.theme-toggle{cursor:pointer;background:0 0;border:none;padding:5px;font-size:1.5rem;line-height:1;transition:transform .3s}.theme-toggle:hover{transform:scale(1.2)}main{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;margin-bottom:3rem;display:grid}.weather{text-align:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:25px;padding:3rem;animation:1s ease-out fadeIn}#city{margin-bottom:1rem;font-size:2.5rem;font-weight:600}.temp-box{justify-content:center;align-items:center;margin:20px 0;display:flex}#img{filter:drop-shadow(0 0 10px #ffffff80);width:100px;height:100px}#temperature{margin:0 0 0 20px;font-size:4rem;font-weight:700}#clouds{text-transform:capitalize;background:#fff3;border-radius:20px;padding:8px 20px;font-size:1.2rem}.weather-details{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:20px;display:flex}.detail-box{text-align:center;background:#fff3;border-radius:15px;padding:10px 20px}.detail-label{opacity:.8;margin:0;font-size:.9rem}.detail-value{margin:5px 0 0;font-size:1.2rem;font-weight:600}.map-container{border-radius:15px;width:100%;height:250px;margin-top:2rem;overflow:hidden}.forecast{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--glass-border);border-radius:25px;height:100%;padding:2rem;animation:1s ease-out slideUp}.cast-header{color:#fff;background:0 0;border-bottom:2px solid #ffffff1a;width:100%;margin-bottom:1.5rem;padding-bottom:10px;font-size:1.5rem;font-weight:600;display:block}.templist{flex-direction:column;gap:15px;display:flex}.next{background:#00000026;border-radius:15px;justify-content:space-between;align-items:center;padding:15px;transition:transform .3s,background .3s;display:flex}.next:hover{background:#00000040;transform:scale(1.02)}.next p,.next h3{margin:0}.time{color:#ffd166;font-weight:600}.desc{color:#a0ffe6;text-transform:capitalize}.chart-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--glass-border);border-radius:25px;margin-bottom:2rem;padding:2rem;animation:1.1s ease-out slideUp}.forecast-2{margin-top:2rem;animation:1.2s ease-out slideUp}.weekF{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;display:grid}.dayF{background:var(--glass-bg);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--glass-border);border-radius:20px;padding:1.5rem;transition:transform .3s}.dayF:hover{background:#ffffff26;transform:translateY(-10px)}.date{color:#ffd166;margin-bottom:10px;font-weight:600}.divider,.divider-2{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){body{padding:1rem}main{grid-template-columns:1fr}.header{text-align:center;flex-direction:column;gap:1rem}.weekF{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.header h1{font-size:1.5rem}.header-controls{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.search-container{width:100%}#input,#search{box-sizing:border-box;width:100%;margin:0}.weather{padding:1.5rem}#temperature{font-size:3rem}.weekF{grid-template-columns:1fr}}
