:root{
  --bg:#07111f; --line:rgba(255,255,255,.12); --text:#eef5ff; --muted:#b8c6e6;
  --blue1:#18b9ff; --blue2:#22dfc7; --shadow:0 12px 32px rgba(0,0,0,.32);
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top,#10234a 0%,#07111f 58%);color:var(--text)}
.app{max-width:980px;margin:0 auto;padding:18px 14px 90px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.brand{font-size:30px;font-weight:900;line-height:1.02}
.top-actions{display:flex;gap:12px;flex-wrap:wrap}
.top-btn,.menu-btn,.fav-chip,.primary-btn,.secondary-btn,.floating-btn{border:0;cursor:pointer;transition:transform .08s ease,filter .18s ease,opacity .18s ease}
.top-btn:active,.menu-btn:active,.fav-chip:active,.primary-btn:active,.secondary-btn:active,.floating-btn:active{transform:scale(.97) translateY(1px);filter:brightness(.84)}
.top-btn,.secondary-btn{padding:18px 22px;border-radius:24px;background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line);font-weight:800;box-shadow:var(--shadow)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}
.section{padding:18px}
.hero{display:flex;gap:16px;align-items:flex-start}
.hero-small{margin-bottom:14px}
.hero-bob{width:138px !important; min-width:138px !important; height:138px !important; padding:2px !important; border-radius:28px !important; overflow:hidden !important; box-shadow:0 0 0 2px rgba(255,190,90,.18),0 0 34px rgba(255,190,90,.34),0 0 70px rgba(255,190,90,.16) !important}
.hero-bob img{width:132px !important; height:132px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}
.hero h1{margin:0;font-size:30px;line-height:1.06}
.hero p{margin:8px 0 0;color:var(--muted);font-size:15px}
.divider{height:1px;background:var(--line);margin:18px 0}
.today-card,.result,.support-box,.tool-card,.today-mini-card{padding:15px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}
input,select,textarea{width:100%;padding:15px 16px;border-radius:18px;border:1px solid var(--line);background:#000;color:#fff;outline:none;font-size:15px}
textarea{min-height:120px;resize:vertical}
.grid2,.grid3{display:grid;gap:14px;margin:14px 0}
.grid2{grid-template-columns:1fr 1fr}
.grid3{grid-template-columns:1fr 1fr 1fr}
.primary-btn,.menu-btn{background:linear-gradient(90deg,var(--blue1),var(--blue2));color:#021219;font-weight:900;box-shadow:0 12px 24px rgba(24,185,255,.23)}
.primary-btn{padding:16px 20px;border-radius:20px}
.search-wrap{margin-top:16px}
.fav-title{font-size:17px;font-weight:900;margin:16px 0 12px}
.fav-row{display:flex;gap:12px;flex-wrap:wrap}
.fav-chip{padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--text);border:1px solid var(--line);font-weight:700}
.menu-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.menu-btn{width:100%;padding:22px 24px;border-radius:24px;border:1px solid rgba(0,0,0,.12);display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;font-size:18px}
.open-pill{background:rgba(0,0,0,.24);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:800}
.screen{display:none}
.screen.active{display:block}
.btn-row{margin-top:12px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.tool-card h3{margin:0 0 6px;font-size:17px}
.tool-card p{margin:0 0 10px;color:var(--muted);font-size:14px}
.small{font-size:12px;color:var(--muted)}
.today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.mini-head{font-weight:900;margin-bottom:6px}
.mini-copy{font-size:14px;color:var(--muted);margin-bottom:10px}
.today-btn{width:100%}
#floatingBob{width:110px !important; height:110px !important; right:18px !important; bottom:26px !important; padding:4px !important; overflow:hidden !important; box-shadow:0 0 0 3px rgba(255,255,255,.08),0 0 30px rgba(255,190,90,.48),0 0 66px rgba(255,190,90,.22) !important; animation:bobIdlePulse 3.2s infinite ease-in-out}
#floatingBob img{width:96px !important; height:96px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}
.splash-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#12305f 0%,#07111f 68%);z-index:9999;transition:opacity .45s ease, visibility .45s ease}
.splash-screen.hidden{opacity:0;visibility:hidden}
.splash-inner{text-align:center;padding:24px}
.splash-bob{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 12px}
.splash-title{font-size:34px;font-weight:900;margin-bottom:6px}
.splash-sub{font-size:14px;color:var(--muted)}
@media (max-width:780px){.grid2,.grid3{grid-template-columns:1fr}.brand{font-size:26px}.menu-btn{font-size:17px;padding:20px}.top-btn,.secondary-btn{padding:16px 18px}}

.bob-panel{box-shadow:0 0 0 1px rgba(255,185,70,.15), 0 0 24px rgba(255,185,70,.16)}
.bob-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}


.tax-summary-grid .tool-card p{font-size:22px;font-weight:900;margin:0;color:#fff}


.hero-bob{width:138px !important; min-width:138px !important; height:138px !important; padding:2px !important; border-radius:28px !important; overflow:hidden !important; box-shadow:0 0 0 2px rgba(255,190,90,.18),0 0 34px rgba(255,190,90,.34),0 0 70px rgba(255,190,90,.16) !important}
.hero-bob img{width:132px !important; height:132px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}
#floatingBob{width:110px !important; height:110px !important; right:18px !important; bottom:26px !important; padding:4px !important; overflow:hidden !important; box-shadow:0 0 0 3px rgba(255,255,255,.08),0 0 30px rgba(255,190,90,.48),0 0 66px rgba(255,190,90,.22) !important; animation:bobIdlePulse 3.2s infinite ease-in-out}
#floatingBob img{width:96px !important; height:96px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}
@keyframes bobIdlePulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.06)}
  100%{transform:scale(1)}
}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.today-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}
.today-site-card{padding:15px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.today-site-card h3{margin:0 0 8px;font-size:16px}
.today-site-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
@media (max-width:780px){.settings-grid{grid-template-columns:1fr}}

@media (max-width:780px){.hero-bob{width:138px !important; min-width:138px !important; height:138px !important; padding:2px !important; border-radius:28px !important; overflow:hidden !important; box-shadow:0 0 0 2px rgba(255,190,90,.18),0 0 34px rgba(255,190,90,.34),0 0 70px rgba(255,190,90,.16) !important}.hero-bob img{width:132px !important; height:132px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}#floatingBob{width:110px !important; height:110px !important; right:18px !important; bottom:26px !important; padding:4px !important; overflow:hidden !important; box-shadow:0 0 0 3px rgba(255,255,255,.08),0 0 30px rgba(255,190,90,.48),0 0 66px rgba(255,190,90,.22) !important; animation:bobIdlePulse 3.2s infinite ease-in-out}#floatingBob img{width:96px !important; height:96px !important; object-fit:contain !important; display:block !important; margin:auto !important; background:transparent !important}}

@media (max-width:780px){.hero-bob{width:120px !important;min-width:120px !important;height:120px !important;padding:2px !important}.hero-bob img{width:114px !important;height:114px !important}#floatingBob{width:102px !important;height:102px !important;padding:4px !important}#floatingBob img{width:88px !important;height:88px !important}}

/* Weather live panel */
.weather-result-box{line-height:1.55}
.weather-stack{display:flex;flex-direction:column;gap:8px;text-align:left}
.weather-topline{font-size:18px;font-weight:700}
.weather-desc{font-weight:600;opacity:.92;margin-left:6px}
.weather-meta{font-size:14px;opacity:.92}
.weather-alert{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.weather-alert.secondary{background:rgba(255,255,255,.03)}

/* SAFE BOB ANIMATION PATCH - navigation untouched */
#floatingBob{
  position:fixed !important;
  z-index:9998 !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  border-radius:50% !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  animation:bobFloatIdle 3.6s ease-in-out infinite !important;
  filter:drop-shadow(0 0 12px rgba(24,185,255,.95)) drop-shadow(0 0 26px rgba(34,223,199,.62)) drop-shadow(0 0 44px rgba(255,190,90,.35));
}
#floatingBob::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(24,185,255,.40), rgba(34,223,199,.18) 46%, transparent 72%);
  filter:blur(12px);
  z-index:-1;
  animation:bobGlowBreath 3.6s ease-in-out infinite;
}
#floatingBob img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  animation:bobEyeReady 4.8s ease-in-out infinite;
}
#floatingBob.bob-wake{animation:bobWakeShock .72s ease both !important;}
#floatingBob.bob-wake::before{animation:bobWakeGlow .72s ease both !important;}
#floatingBob.bob-listening{animation:bobListeningPulse 1.15s ease-in-out infinite !important;}
#floatingBob.bob-listening::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:2px solid rgba(24,185,255,.65);
  animation:bobSoundRing 1.15s ease-out infinite;
}
@keyframes bobFloatIdle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.035)}}
@keyframes bobGlowBreath{0%,100%{opacity:.55; transform:scale(.96)}50%{opacity:1; transform:scale(1.12)}}
@keyframes bobEyeReady{0%,92%,100%{filter:brightness(1)}94%{filter:brightness(1.35)}96%{filter:brightness(.78)}98%{filter:brightness(1.25)}}
@keyframes bobWakeShock{0%{transform:translateY(0) scale(1) rotate(0deg)}18%{transform:translateY(-18px) scale(1.18) rotate(-5deg); filter:drop-shadow(0 0 22px rgba(24,185,255,1)) drop-shadow(0 0 52px rgba(255,190,90,.9))}38%{transform:translateY(-6px) scale(.94) rotate(4deg)}58%{transform:translateY(-12px) scale(1.08) rotate(-2deg)}100%{transform:translateY(0) scale(1) rotate(0deg)}}
@keyframes bobWakeGlow{0%{opacity:.4; transform:scale(.9)}35%{opacity:1; transform:scale(1.55)}100%{opacity:.65; transform:scale(1)}}
@keyframes bobListeningPulse{0%,100%{transform:translateY(-4px) scale(1.02)}50%{transform:translateY(-10px) scale(1.08)}}
@keyframes bobSoundRing{0%{opacity:.75; transform:scale(.82)}100%{opacity:0; transform:scale(1.55)}}

/* SAFE LISTEN-LOCK PATCH */
#bobListenBtn.listening-active,
.primary-btn.listening-active{
  filter: brightness(0.88);
  box-shadow: 0 0 22px rgba(0,229,255,.55);
}
