:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273449;--text: #e2e8f0;--muted: #94a3b8;--primary: #38bdf8;--danger: #f87171;--border: #334155;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.muted{color:var(--muted)}.small{font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.login-card{max-width:360px;text-align:center}.login-card h1{margin-top:0}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .9rem;cursor:pointer;font-size:.9rem;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--primary)}.btn.primary{background:var(--primary);color:#04283a;border-color:var(--primary);font-weight:600}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.6;cursor:default}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.topbar .brand{font-weight:700;font-size:1.1rem}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a:hover{color:var(--text)}.topbar .user{display:flex;align-items:center;gap:.75rem}.content{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem}.search{display:flex;gap:.5rem;margin-bottom:1rem}.search input{flex:1;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}.row{margin:.75rem 0}.error{background:#451a1a;border:1px solid var(--danger);color:#fecaca;padding:.6rem .9rem;border-radius:8px;margin:.75rem 0}.forecast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.day{text-align:center}.day-date{font-weight:600;margin-bottom:.25rem}.day-icon{font-size:2rem}.day-cond{color:var(--muted);font-size:.85rem;margin-bottom:.35rem}.day-temp{font-size:1.1rem}.saved-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.saved-item{display:flex;align-items:center;gap:1rem}.saved-item .link{background:none;border:none;color:var(--primary);font-size:1rem;cursor:pointer;flex:1;text-align:left;padding:0}.selected{margin-top:1.5rem}
