:root{--bg: #0b1020;--bg-2: #121a35;--card: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .1);--text: #e8ecf6;--muted: #98a2bc;--accent: #7aa2ff;--accent-2: #5b8cff;--error: #ff7676}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;color:var(--text);background:radial-gradient(1200px 800px at 80% -10%,#2a3a7a 0%,transparent 60%),radial-gradient(900px 700px at -10% 100%,#1d2a5a 0%,transparent 60%),var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.centered{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.muted{color:var(--muted)}.emoji{font-size:56px;line-height:1}.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero{max-width:460px}.hero h1{margin:12px 0 8px}.hero p{margin:0 0 20px}button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--card-border);padding:10px 16px;background:transparent;color:var(--text);transition:.12s ease}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.05)}button.ghost{background:transparent}input[type=text]{font:inherit;flex:1;min-width:220px;border-radius:10px;border:1px solid var(--card-border);background:#00000040;color:var(--text);padding:10px 14px;outline:none}input[type=text]:focus{border-color:var(--accent)}.app{max-width:1100px;margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{display:flex;align-items:center;gap:10px;font-size:18px}.brand .emoji{font-size:28px}.user{display:flex;align-items:center;gap:10px}.user img{width:32px;height:32px;border-radius:50%}.search{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.error{padding:12px 16px;border:1px solid rgba(255,118,118,.4);background:#ff76761a;color:var(--error);border-radius:10px;margin-bottom:16px}.hint{margin-top:16px}.results{display:grid;gap:16px}@media (min-width: 900px){.results{grid-template-columns:1.4fr 1fr}.results>.weather{grid-column:1 / -1}}.weather-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.weather-head h2{margin:4px 0 0}.now{text-align:right}.now .temp{font-size:48px;font-weight:700;line-height:1}.metrics{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted)}.weather h3{margin:12px 0;font-size:16px}.forecast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.day{background:#0003;border:1px solid var(--card-border);border-radius:12px;padding:12px;text-align:center}.day-date{font-size:13px;color:var(--muted)}.day-cond{font-size:13px;margin:6px 0;min-height:18px}.day-temps .hi{font-weight:600}.answer{line-height:1.55;white-space:pre-wrap}.links{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px;font-size:14px}.places{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.places li{padding-bottom:12px;border-bottom:1px solid var(--card-border)}.places li:last-child{border-bottom:0}.places p{margin:4px 0 0;font-size:14px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--card-border);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}
