:root{
  --bg:#fbfbf8;
  --ink:#101010;
  --muted:#6b6b6b;
  --card:#ffffff;
  --border:#e6e6e1;
  --btn:#f5f5f1;
}

html[data-theme="dark"]{
  --bg:#0f1110;
  --ink:#ecebe3;
  --muted:#b6b4a8;
  --card:#121413;
  --border:#2a2c2a;
  --btn:#171a18;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

.wrap{
  max-width:860px;
  margin:0 auto;
  padding:1.25rem;
}

.top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.brand h1{
  margin:0 0 .25rem 0;
  font-size:2rem;
}

.desc{
  margin:0;
  color:var(--muted);
  line-height:1.4;
}

.controls{
  display:flex;
  flex-wrap:nowrap;
  gap:.6rem;
  align-items:center;
  margin-top:.65rem;
  overflow-x:auto;
  scrollbar-width:none;
}

.controls::-webkit-scrollbar{ display:none; }

.btn{
  border:1px solid var(--border);
  background:var(--btn);
  color:var(--ink);
  padding:.5rem .85rem;
  border-radius:999px;
  font:inherit;
  white-space:nowrap;
}

.btn.is-on{
  border-color:var(--ink);
}

html[data-theme="dark"] .btn.is-on{
  border-color:#e6dc9a;
  background:rgba(230,220,154,.08);
  color:#f4f1d0;
}

.content{
  margin-top:1rem;
}

.day{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:1rem;
}

.day h2{
  margin:.1rem 0 .75rem 0;
}

.item{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:baseline;
  margin:.6rem 0;
}

.bullet{
  color:var(--muted);
}

.etype{
  color:var(--muted);
  white-space:nowrap;
}

.item a{
  color:var(--ink);
  text-decoration:underline;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.enote{
  flex-basis:100%;
  margin-left:1.55rem;
  color:var(--muted);
  font-size:.92em;
}

.note{
  color:var(--muted);
}

@media (max-width:520px){
  .wrap{ padding:.95rem; }
  .top{ flex-direction:column; }
  .controls{
    flex-wrap:wrap;
    overflow-x:visible;
  }
  .day{ padding:.85rem; }
  .item{ gap:.45rem; }
  .enote{ margin-left:1.25rem; }
}
