:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#111827;font-size:16px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(180deg,#eef2ff,#f8fafc)}button,input{font:inherit}button{cursor:pointer}.app-shell{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 3rem}.hero{padding:2rem;border-radius:28px;background:linear-gradient(135deg,#4f46e5,#2563eb);color:white;box-shadow:0 25px 80px rgba(15,23,42,.12)}.hero-copy{max-width:640px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;opacity:.9}.eyebrow,h1{margin:0 0 .75rem}h1{font-size:clamp(2.5rem,4vw,4rem);line-height:1.02}.hero p{margin:0;max-width:42rem;line-height:1.75;color:rgba(255,255,255,.88)}.controls-pane{margin-top:2rem;display:grid;grid-gap:1.25rem;gap:1.25rem}.location-form{display:grid;grid-gap:.85rem;gap:.85rem;background:white;padding:1.2rem 1.3rem;border-radius:22px;box-shadow:0 15px 45px rgba(15,23,42,.07)}.location-form label{font-size:.95rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem}#locationInput{width:100%;padding:.95rem 1rem;border:1px solid #d1d5db;border-radius:16px;outline:none;transition:border-color .2s ease}#locationInput:focus{border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.geo-button,.location-form button{border:none;border-radius:16px;padding:0 1.4rem;min-width:10rem;background:#4338ca;color:white;font-weight:700;transition:transform .2s ease,background-color .2s ease}.geo-button:hover,.location-form button:hover{background:#4f46e5;transform:translateY(-1px)}.geo-button{padding:1rem 1.35rem;max-width:-moz-fit-content;max-width:fit-content}.status-message{min-height:1.3rem;color:#334155;font-size:.95rem}.weather-card{margin-top:1rem;padding:1.75rem;border-radius:28px;background:white;box-shadow:0 25px 80px rgba(15,23,42,.08)}.weather-card.hidden{display:none}.weather-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.4rem}.place-name{margin:0 0 .3rem;font-size:1.4rem;font-weight:700}.weather-description{margin:0;color:#475569}.weather-icon{width:5rem;height:5rem;border-radius:20px;display:grid;place-items:center;background:#eef2ff;font-size:2.2rem}.weather-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem}.metric-block{padding:1rem;border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc}.metric-label{display:block;margin-bottom:.5rem;color:#64748b;font-size:.9rem}.metric-block strong{display:block;font-size:1.1rem}.forecast-note{margin-top:1.4rem;color:#334155;font-size:.95rem}.footer{margin-top:2.5rem;text-align:center;color:#64748b;font-size:.9rem}@media (max-width:640px){.hero{padding:1.6rem}.weather-header{flex-direction:column;align-items:flex-start}.weather-summary{grid-template-columns:1fr}}