:root{
  --acm-accent:#fc5151;
  --acm-border:rgba(0,0,0,.16);
  --acm-bg:rgba(255,255,255,.82);
  --acm-blur:6px;
  --acm-shadow:0 6px 20px rgba(0,0,0,.14);
  --acm-text:#0d0d0d;
}
@media (prefers-color-scheme: dark){
  :root{
    --acm-border:rgba(255,255,255,.22);
    --acm-bg:rgba(20,20,20,.6);
    --acm-shadow:0 8px 28px rgba(0,0,0,.5);
    --acm-text:#f2f2f2;
  }
}

.acm-month{margin: .8rem 0 1.4rem}
.acm-month-title{
  font-size:1rem; letter-spacing:.12em; color:var(--acm-accent);
  font-weight:800; margin:0 0 .6rem; text-transform:uppercase;
}

.acm-cards{list-style:none; padding:0; margin:0; display:grid; gap:.7rem}
.acm-card{
  color:var(--acm-text);
  border:1px solid var(--acm-border);
  border-radius:12px;
  background:var(--acm-bg);
  backdrop-filter: blur(var(--acm-blur));
  -webkit-backdrop-filter: blur(var(--acm-blur));
  box-shadow: var(--acm-shadow);
  padding: .6rem .75rem .7rem;
}

.acm-date-row{
  border-bottom:1px solid var(--acm-border);
  padding-bottom:.25rem; margin-bottom:.3rem;
  font-weight:800; color:var(--acm-accent);
  line-height:1.15;
}
.acm-date{font-size:.98rem}
.acm-wd{opacity:.9; margin-left:.25rem; font-size:.95rem}

.acm-time{font-size:.95rem; opacity:.95; margin-top:.05rem}
.acm-title{font-size:1rem; font-weight:600; margin-top:.15rem}

.acm-empty{opacity:.8}
.acm-debug{
  border:1px dashed var(--acm-border); padding:.5rem; border-radius:.6rem;
  background:var(--acm-bg); margin-bottom:.8rem; color:var(--acm-text)
}
