@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-dark:#0a0f12;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-highlight:#ffffff1a;--accent-color:#2ed573;--accent-hover:#26b361;--text-main:#f1f2f6;--text-muted:#a4b0be;--blob-1:#2ed573;--blob-2:#1e90ff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.app-container{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative}.bg-blob{filter:blur(100px);z-index:0;opacity:.15;animation:20s ease-in-out infinite alternate float;position:absolute}.blob-1{background:var(--blob-1);border-radius:40% 60% 70% 30%/40% 50% 60%;width:40vw;height:40vw;top:-10%;right:-10%}.blob-2{background:var(--blob-2);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:35vw;height:35vw;animation-delay:-10s;bottom:-10%;left:-10%}@keyframes float{0%{transform:translate(0)rotate(0)}to{transform:translate(-30px,50px)rotate(45deg)}}.main-content{z-index:10;width:100%;max-width:420px;padding:20px;position:relative}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;flex-direction:column;gap:24px;padding:32px 24px;display:flex;box-shadow:0 24px 48px #0006,inset 0 1px #ffffff1a}.card-header{text-align:center}.logo-icon{border:1px solid var(--glass-border);width:64px;height:64px;color:var(--accent-color);background:linear-gradient(135deg,#ffffff1a,#fff0);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex;box-shadow:0 8px 16px #0003}h1{letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:600}p{color:var(--text-muted);font-size:15px;line-height:1.5}.setup-form{flex-direction:column;gap:20px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}input{border:1px solid var(--glass-border);color:#fff;background:#0003;border-radius:12px;outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .2s}input:focus{border-color:var(--accent-color);background:#0006;box-shadow:0 0 0 3px #2ed57326}.primary-btn{background:var(--accent-color);color:#000;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:16px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s;display:flex}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 16px #2ed57333}.secondary-btn{color:var(--text-muted);border:1px solid var(--glass-border);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:12px;font-family:inherit;transition:all .2s}.secondary-btn:hover{color:#fff;background:#ffffff0d}.loading-card{text-align:center;align-items:center;padding:48px 24px}.loading-icon{color:var(--accent-color);opacity:.8;margin-bottom:24px}.weather-strip{border:1px solid var(--glass-border);background:#0003;border-radius:12px;justify-content:space-between;padding:12px 16px;display:flex}.weather-item{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.brief-content h2{margin-bottom:12px;font-size:24px;line-height:1.2}.reasoning{color:var(--text-muted);font-size:16px;line-height:1.6}.route-info{color:var(--accent-color);background:#2ed5731a;border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.card-actions{gap:12px;margin-top:8px;display:flex}.action-btn{border:1px solid var(--glass-border);color:#fff;cursor:pointer;background:#ffffff1a;border-radius:12px;flex:2;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-weight:500;transition:all .2s;display:flex}.action-btn:hover{background:#ffffff26}.action-btn.active{background:var(--accent-color);color:#000;border-color:var(--accent-color)}.error-message{color:#ff4757;background:#ff47571a;border:1px solid #ff475733;border-radius:8px;padding:12px;font-size:14px}
