:root{
  --bg:#fbfbff;
  --ink:#0f172a;
  --muted:#475569;
  --panel:#ffffff;
  --line:rgba(15,23,42,.12);
  --c1:#ff3d71;
  --c2:#2dd4bf;
  --c3:#60a5fa;
}

body.theme-b0003{background:var(--bg); color:var(--ink);} 

#logo img{height:42px; width:auto; display:block;}

.topband{
  background:linear-gradient(90deg, rgba(255,61,113,.16), rgba(45,212,191,.14), rgba(96,165,250,.14));
  border-bottom:1px solid var(--line);
}

.cardish{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 8px 30px rgba(15,23,42,.06);
}

.timeline{
  position:relative;
  padding-left:1.25rem;
}
.timeline:before{
  content:"";
  position:absolute;
  left:.4rem;
  top:.2rem;
  bottom:.2rem;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--c1), var(--c2), var(--c3));
  opacity:.9;
}
.timeline .t-item{position:relative; padding:.5rem 0 .5rem 1rem;}
.timeline .t-item:before{
  content:"";
  position:absolute;
  left:-.2rem;
  top:1rem;
  width:14px;
  height:14px;
  border-radius:999px;
  background:var(--panel);
  border:3px solid rgba(255,61,113,.55);
}

.bottom-tabs{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(150%) blur(10px);
  border-top:1px solid var(--line);
  z-index:50;
}
.bottom-tabs a{
  flex:1;
  padding:.7rem .5rem;
  text-align:center;
  color:var(--muted);
  text-decoration:none;
  font-size:.9rem;
}
.bottom-tabs a.is-active{color:var(--ink); font-weight:700;}
.bottom-tabs .ph{font-size:1.2rem; display:block; margin-bottom:.1rem;}

.content-wrap{padding-bottom:84px;} /* space for tabbar */

#footer{margin-top:2rem; padding:1.75rem 0; border-top:1px solid var(--line);} 

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
