.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.container{background:#fff;border-radius:20px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d}h1{font-size:2.5rem;margin:0 0 20px;color:#2d3748;text-align:center;font-weight:800}.intro{text-align:center;color:#718096;font-size:1.1rem;margin-bottom:30px}.location-badge{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:30px;padding:10px;background:#f7fafc;border-radius:10px}.location-badge span{font-size:1.1rem;color:#2d3748;font-weight:600}.change-location{background:none;border:1px solid #cbd5e0;padding:5px 15px;border-radius:6px;cursor:pointer;color:#4a5568;font-size:.9rem;transition:all .2s}.change-location:hover{background:#e2e8f0}.location-form{display:flex;gap:10px;margin-bottom:20px}.location-form input{flex:1;padding:15px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:border-color .2s}.location-form input:focus{outline:none;border-color:#667eea}.location-form button{padding:15px 30px;background:#667eea;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.location-form button:hover{background:#5568d3}.loading,.error{text-align:center;padding:20px;border-radius:10px;margin:20px 0}.loading{color:#667eea;font-size:1.1rem}.error{background:#fed7d7;color:#c53030}.recommendation{margin:40px 0}.meter{margin-bottom:40px;padding:20px}.meter-track{position:relative;width:100%;height:200px;display:flex;justify-content:center;align-items:flex-end;margin-bottom:20px}.meter-arc{position:relative;width:300px;height:150px}.meter-arc svg{width:100%;height:100%;overflow:visible}.meter-needle{position:absolute;bottom:8px;left:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:115px solid #2d3748;transform-origin:50% 100%;transform:translate(-50%) rotate(0);transition:transform 1.2s cubic-bezier(.4,0,.2,1);z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.meter-needle:before{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:18px;height:18px;background:#2d3748;border-radius:50%;box-shadow:0 2px 8px #0000004d;border:2px solid #fff}.meter.level-1 .meter-needle{transform:translate(-50%) rotate(-75deg)}.meter.level-2 .meter-needle{transform:translate(-50%) rotate(-25deg)}.meter.level-3 .meter-needle{transform:translate(-50%) rotate(25deg)}.meter.level-4 .meter-needle{transform:translate(-50%) rotate(75deg)}.meter-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#4a5568;font-weight:600;padding:0 10px;margin-top:10px}.meter-labels span{flex:1;text-align:center}.meter-labels span:first-child{text-align:left}.meter-labels span:last-child{text-align:right}.verdict{font-size:1.8rem;font-weight:800;color:#2d3748;text-align:center;margin:20px 0 10px;line-height:1.3}.subtext{text-align:center;color:#4a5568;font-size:1.1rem;line-height:1.5}.forecast{margin-top:40px;padding-top:30px;border-top:2px solid #e2e8f0}.forecast h3{font-size:1.3rem;color:#2d3748;margin-bottom:20px;font-weight:700}.forecast-days{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.forecast-day{background:#f7fafc;padding:20px;border-radius:12px;text-align:center;transition:transform .2s}.forecast-day:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.day-name{font-weight:700;color:#2d3748;font-size:1.1rem;margin-bottom:10px}.weather-icon{font-size:2.5rem;margin:10px 0}.temp{font-size:1.5rem;font-weight:600;color:#4a5568;margin:10px 0}.precip-chance{font-size:.85rem;color:#667eea;margin-top:5px;font-weight:500}@media (max-width: 600px){.container{padding:30px 20px}h1{font-size:2rem}.verdict{font-size:1.5rem}.subtext{font-size:1rem}.forecast-days{grid-template-columns:1fr;gap:10px}.meter-arc{width:250px;height:125px}.meter-needle{border-bottom-width:100px}.meter-labels{font-size:.7rem}.meter-track{height:160px}}@media (max-width: 400px){h1{font-size:1.6rem}.location-form{flex-direction:column}.meter-arc{width:200px;height:100px}.meter-needle{border-bottom-width:80px}.meter-labels{font-size:.65rem}.meter-track{height:140px}}*{box-sizing:border-box;margin:0;padding:0}body{margin: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}#root{min-height:100vh}
