.weather-forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px;align-items:stretch}.weather-card-visual{position:relative;overflow:hidden;min-height:238px;background:radial-gradient(circle at 86% 10%,rgba(255,215,102,.5),transparent 22%),linear-gradient(135deg,#f8fbff 0%,#eef6ff 54%,#e8f3ff 100%);box-shadow:0 16px 35px rgba(27,66,120,.08);display:grid;align-content:start}.weather-card-visual:before{content:"";position:absolute;right:-30px;top:-35px;width:160px;height:160px;border-radius:50%;background:rgba(255,213,96,.34)}.weather-card-visual:after{content:"";position:absolute;left:-35px;bottom:-45px;width:170px;height:120px;border-radius:999px;background:rgba(255,255,255,.62);box-shadow:74px -12px 0 rgba(255,255,255,.34),132px 8px 0 rgba(255,255,255,.26)}.weather-card-visual>*{position:relative;z-index:1}.weather-icon{font-size:58px;line-height:1;margin:8px 0;filter:drop-shadow(0 6px 12px rgba(23,32,51,.12))}.weather-temp{font-size:46px;font-weight:950;letter-spacing:-.045em}.live-weather-card,.weather-mini{min-height:238px}.weather-mini{display:grid;gap:10px;align-content:start;background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.65),transparent 25%),linear-gradient(145deg,#fff8e7 0%,#eef7ff 55%,#e6f2ff 100%)}.weather-mini:before{content:"";position:absolute;right:-38px;top:-42px;width:145px;height:145px;border-radius:50%;background:rgba(255,185,84,.28)}.weather-mini:after{content:"";position:absolute;left:-40px;bottom:-48px;width:180px;height:118px;border-radius:999px;background:rgba(255,255,255,.58);box-shadow:76px -14px 0 rgba(255,255,255,.33),142px 5px 0 rgba(255,255,255,.22)}.weather-mini .weather-icon{font-size:58px}.weather-mini h3{font-size:34px;margin:0}.weather-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.weather-meta span{background:rgba(255,255,255,.7);border:1px solid rgba(168,199,231,.78);border-radius:999px;padding:6px 10px;font-weight:850;box-shadow:0 5px 14px rgba(27,66,120,.06)}.weather-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}.weather-stat{border:1px solid rgba(168,199,231,.7);background:rgba(255,255,255,.7);border-radius:16px;padding:9px 10px}.weather-stat b{display:block;font-size:18px}.weather-stat small{display:block;color:#5a6475;font-weight:800}.cloud-drift{position:absolute;right:18px;bottom:18px;font-size:46px;opacity:.28;animation:cloudDrift 9s ease-in-out infinite alternate;z-index:0}.sparkle-drift{position:absolute;right:82px;top:28px;font-size:24px;opacity:.35;animation:sparkleFloat 6s ease-in-out infinite alternate;z-index:0}.roads-weather-card{margin-bottom:12px}.location-permission-card{background:linear-gradient(135deg,#f8fbff,#fff8e7);border-style:dashed}.road-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.road-link-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(168,199,231,.72);background:rgba(255,255,255,.72);border-radius:18px;padding:12px;font-weight:900}.road-link-card small{display:block;color:#5a6475;margin-top:3px;font-weight:750}.watch-card{background:linear-gradient(135deg,#fffaf0,#f8fbff);border-style:dashed}.watch-card h3{display:flex;align-items:center;gap:8px}.watch-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.watch-chip{border-radius:999px;background:#172033;color:white;padding:6px 10px;font-weight:900;font-size:13px;white-space:nowrap}@keyframes cloudDrift{from{transform:translateX(-8px)}to{transform:translateX(8px)}}@keyframes sparkleFloat{from{transform:translateY(-5px) rotate(-6deg)}to{transform:translateY(6px) rotate(8deg)}}@media(max-width:800px){.weather-forecast-grid{grid-template-columns:1fr}.weather-card-visual,.weather-mini,.live-weather-card{min-height:188px}.weather-temp{font-size:39px}.road-links{grid-template-columns:1fr}}