:root {
  --bg: #0b0e14;
  --surface: #12161f;
  --fg: #cdd6e3;
  --muted: #6b7688;
  --border: #232b3a;
  --accent: #4ec96a;
  --link: #7aa2f7;
  --warn: #e0af68;
}

* { box-sizing: border-box; }

html { color-scheme: dark; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 15px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, "Cascadia Mono", "Liberation Mono", monospace;
}

main { max-width: 760px; margin: 2.5rem auto 3rem; padding: 0 1.1rem; }

a { color: var(--link); text-decoration: none; border-bottom: 1px dotted currentColor; }
a:hover { color: var(--accent); border-bottom-style: solid; }

.term-head {
  max-width: 760px;
  margin: 0 auto;
  padding: 1.6rem 1.1rem 0;
}

.promptline { color: var(--fg); white-space: nowrap; }
.promptline .user { color: var(--accent); }
.promptline .at, .promptline .colon { color: var(--muted); }
.promptline .host, .promptline .path { color: var(--link); }
.promptline .dollar { color: var(--muted); }
.promptline .cmd { color: var(--fg); }

.cursor { color: var(--accent); animation: blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }

.tagline { color: var(--muted); margin: .4rem 0 .8rem; }

.nav { display: flex; gap: 1.2rem; border-top: 1px solid var(--border); padding-top: .8rem; }
.nav a { color: var(--muted); border-bottom: none; }
.nav a:hover { color: var(--accent); }

.postline {
  display: flex;
  gap: 1rem;
  align-items: baseline;
  padding: .55rem 0;
  border-bottom: 1px dashed var(--border);
}
.postline .date { color: var(--muted); white-space: nowrap; }
.postline .postlink { border-bottom: none; }

.pager { margin-top: 1.4rem; display: flex; gap: 1rem; align-items: baseline; }
.pager .pageinfo { color: var(--muted); }

.post h1 { color: #e6edf3; font-size: 1.35rem; margin: .3rem 0 .2rem; }
.post h1::before { content: "## "; color: var(--muted); }
.post h2 { color: #e6edf3; font-size: 1.15rem; margin-top: 1.8rem; }
.post h2::before { content: "### "; color: var(--muted); }
.meta { color: var(--muted); margin-bottom: 1.4rem; }

.post-body img {
  max-width: 100%;
  height: auto;
  border: 1px solid var(--border);
  border-radius: 4px;
  display: block;
  margin: 1rem 0;
}

.post-body pre {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 4px;
  padding: .8rem 1rem;
  overflow-x: auto;
}

.post-body code { background: var(--surface); padding: .1rem .35rem; border-radius: 3px; }
.post-body pre code { background: none; padding: 0; }

.post-body blockquote {
  margin: 1rem 0;
  padding-left: 1rem;
  border-left: 2px solid var(--muted);
  color: var(--muted);
}

.post-body hr { border: none; border-top: 1px dashed var(--border); margin: 1.6rem 0; }

.backlink { margin-top: 2.2rem; }

.term-foot {
  max-width: 760px;
  margin: 0 auto;
  padding: 1rem 1.1rem 2rem;
  border-top: 1px solid var(--border);
}
.muted { color: var(--muted); }

.errline { color: var(--warn); }

/* wishlist */
.wishlist .promptline { margin-bottom: .4rem; }

.wishcard {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: .9rem 1rem;
  margin: 1rem 0;
  background: var(--surface);
}
.wish-head { display: flex; gap: .7rem; align-items: baseline; flex-wrap: wrap; }
.wish-head h2 { margin: 0; font-size: 1.05rem; color: #e6edf3; }
.wish-head h2::before { content: none; }
.prio { color: var(--muted); }
.prio.p1 { color: var(--accent); }
.prio.p3 { color: var(--muted); opacity: .6; }
.price { color: var(--warn); margin-left: auto; }

.wishcard img { max-width: 100%; max-height: 340px; border: 1px solid var(--border); border-radius: 4px; margin-top: .7rem; }
.wish-note { color: var(--fg); margin: .6rem 0 0; }

.wish-meta { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .7rem; font-size: .85rem; }
.wish-meta .date { color: var(--muted); }
.status { padding: .05rem .5rem; border-radius: 3px; border: 1px solid var(--border); }
.status.s-wanted { color: var(--link); border-color: var(--link); }
.status.s-ordered { color: var(--warn); border-color: var(--warn); }
.status.s-received { color: var(--accent); border-color: var(--accent); }

details.done { margin-top: 1.4rem; }
details.done summary { color: var(--muted); cursor: pointer; }
.done-line { display: flex; gap: 1rem; padding: .35rem 0; border-bottom: 1px dashed var(--border); }
.done-line .date { color: var(--muted); }

::selection { background: var(--accent); color: var(--bg); }
