:root{
  --bg:#14110f; --card:#1e1a17; --field:#0d0b0a; --acc:#e0a253;
  --fg:#f3ece2; --muted:#a89a8c; --ok:#7fc97f; --bad:#e07a5f; --blue:#7fb3d5;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding:calc(env(safe-area-inset-top) + 12px) 12px
          calc(env(safe-area-inset-bottom) + 40px);
}
header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.logo{width:42px;height:42px;border-radius:10px;flex:0 0 auto}
h1{font-size:16px;margin:0;color:var(--acc);letter-spacing:.6px;font-weight:800}
.sub{color:var(--muted);font-size:12px}
.bell{margin-left:auto;background:var(--card);border:1px solid #2b2521;color:var(--fg);
  width:40px;height:40px;border-radius:10px;font-size:18px;flex:0 0 auto}
.bell.on{background:var(--ok);color:#14110f;border-color:var(--ok)}

.card{background:var(--card);border:1px solid #2b2521;border-radius:14px;
  padding:14px;margin-bottom:14px}
.card.today{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
.card.done{opacity:.55}
.when{color:var(--acc);font-weight:700;font-size:12.5px;letter-spacing:.3px}
.place{font-size:21px;font-weight:800;margin:3px 0 2px;line-height:1.2}
.meta{color:var(--muted);font-size:12px;margin-bottom:12px}
.chips{display:flex;gap:6px;margin:0 0 10px}
.chip{font-size:10px;font-weight:800;padding:3px 8px;border-radius:20px;
  background:#2b2521;color:var(--muted)}
.chip.on{background:var(--ok);color:#14110f}

a.btn,button.btn{display:block;width:100%;padding:14px;margin:8px 0;border:0;
  border-radius:11px;font-size:15px;font-weight:800;text-align:center;
  text-decoration:none;background:var(--field);color:var(--fg);font-family:inherit}
a.dl{background:var(--acc);color:#14110f}
button.cp{background:#2b2521}
button.cp.flash{background:var(--blue);color:#14110f}
button.post{background:#2b2521;color:var(--ok);border:1px solid var(--ok)}
button.post.done{background:var(--ok);color:#14110f}
button.btn:disabled,a.btn.gone{opacity:.4;pointer-events:none}

details{margin-top:8px}
summary{color:var(--muted);font-size:12px;cursor:pointer}
pre{white-space:pre-wrap;word-break:break-word;background:var(--field);padding:11px;
  border-radius:9px;font-size:12px;color:var(--muted);margin:8px 0 0;
  max-height:220px;overflow:auto}
.empty{color:var(--muted);text-align:center;padding:50px 0}
.foot{color:#4a4038;font-size:11px;text-align:center;margin-top:22px;line-height:1.7}
.err{background:#3a221c;color:var(--bad);padding:10px;border-radius:9px;font-size:12px}
