:root{
  --a53-bg: #fbf7ef;
  --a53-rail: #ffffff;
  --a53-ink: #1f2937;
  --a53-accent: #6d28d9;
  --a53-line: rgba(31, 41, 55, .15);
}

body[data-domfp="fp-20260118-a0053-bulma-timeline"]{
  background: var(--a53-bg);
  color: var(--a53-ink);
}

.a53-shell{
  display:grid;
  grid-template-columns: 280px minmax(0, 1fr);
  grid-template-rows: auto 1fr auto auto;
  grid-template-areas:
    "rail header"
    "rail main"
    "rail adsfooter"
    "rail footer";
  min-height: 100vh;
}

#a53-swim{display:none;}

#rail{grid-area:rail;}
#a53-rail-ghost{display:none;}

.a53-header{grid-area:header; padding-top: 18px;}
.a53-content{grid-area:main; padding: 0 0 18px;}
#ads-footer{grid-area:adsfooter;}
#footer{grid-area:footer;}

.a53-rail{
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  border-right: 1px solid var(--a53-line);
  background: var(--a53-rail);
}
.a53-rail-inner{padding: 18px; overflow:auto; height:100%;}

#logo img{height:34px;width:auto;display:block;}
.a53-tagline{margin-top:10px; font-size: .95rem; color: rgba(31,41,55,.72);}

#nav ul{list-style:none; margin: 14px 0 0; padding:0;}
#nav li{margin: 6px 0;}
#nav a{display:block; padding:8px 10px; border-radius: 10px; color: var(--a53-ink); text-decoration:none;}
#nav li.is-active a{background: rgba(109,40,217,.10); border: 1px solid rgba(109,40,217,.25);}

.a53-header-row{display:flex; align-items:flex-start; justify-content:space-between; gap: 12px;}
.a53-sub{opacity: .7;}

.a53-timeline{
  position: relative;
  padding-left: 26px;
}
.a53-timeline:before{
  content:"";
  position:absolute;
  left: 12px;
  top: 16px;
  bottom: 16px;
  width: 2px;
  background: linear-gradient(180deg, rgba(109,40,217,.25), rgba(109,40,217,.05));
}
.a53-timeline h2, .a53-timeline h3{
  position: relative;
}
.a53-timeline h2:before, .a53-timeline h3:before{
  content:"";
  position:absolute;
  left: -22px;
  top: .55em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--a53-accent);
  box-shadow: 0 0 0 4px rgba(109,40,217,.15);
}

.a53-ads{margin-top: 12px;}

#footer{margin-top: 12px; padding: 28px 0; border-top: 1px solid var(--a53-line); background: #fff;}
#footer .social a{margin-right:10px;display:inline-flex;align-items:center;gap:6px;}
.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

@media (max-width: 980px){
  .a53-shell{
    grid-template-columns: 1fr;
    grid-template-areas:
      "header"
      "main"
      "adsfooter"
      "footer";
  }
  .a53-rail{position: relative; height:auto; border-right:none; border-bottom: 1px solid var(--a53-line);}
}
