/* 标签百科：外观与龙百科（DokuWiki 静态站）一致；单列、移动优先，无构建步骤 */

:root {
  --text: #333;
  --muted: #666;
  --alt: #999;
  --bg: #fff;
  --site: #fbfaf9;
  --border: #ccc;
  --soft: #eee;
  --link: #2b73b7;      /* 外链 */
  --existing: #080;     /* 站内链接（DokuWiki 的 wikilink1） */
  --highlight: #ff9;
  --width: 75em;
  --tag-default: #666;
}

* { box-sizing: border-box; }

html {
  background: var(--site);
  color: var(--text);
  font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
}
body { margin: 0; }
a { color: var(--link); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
mark { background: var(--highlight); color: inherit; }
img { max-width: 100%; height: auto; }

.muted { color: var(--muted); }
.count { color: var(--alt); font-size: .8em; font-weight: normal; }
.count::before { content: "("; }
.count::after { content: ")"; }

button, .button {
  font: inherit;
  padding: .42em .75em;
  border: 1px solid var(--border);
  background: var(--soft);
  color: var(--text);
  cursor: pointer;
}
input[type="search"] {
  font: inherit;
  padding: .42em .55em;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #fff;
  min-width: 0;
}

/* 站点框架 */
#site {
  max-width: var(--width);
  margin: 0 auto;
  min-height: 100vh;
  padding: 0 .7em;
  background: var(--bg);
  box-shadow: 0 0 18px rgba(0, 0, 0, .08);
}

#site-header { display: flex; justify-content: space-between; gap: 1em; padding: 1.5em 0 1.1em; }
/* logo 左浮动，站名与标语排在它右侧（同 DokuWiki） */
.headings { display: flow-root; flex: 1 1 57%; }
.logo { margin: 0; font-size: 1.5em; font-weight: 400; line-height: 1.2; }
.logo a:hover { text-decoration: none; }
.logo img { float: left; width: 64px; height: 64px; margin-right: .6em; }
.logo span { display: block; padding-top: 10px; color: var(--text); }
.claim { margin: .15em 0 0; font-size: .875em; color: var(--muted); }
.tools { text-align: right; flex: 0 1 41%; }
.search { display: flex; justify-content: flex-end; gap: .35em; margin: .3em 0; }
.search input { width: min(100%, 20em); }
.site-navigation { margin: .5em 0; font-size: .875em; color: var(--alt); }
.site-navigation a { display: inline-block; padding: .3em .5em; }

.breadcrumbs {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #fafafa;
  font-size: .875em;
  padding: .25em .45em;
}
.bcsep { font-size: .75em; color: var(--alt); }

#content { padding-top: 1em; }
.pageId { text-align: right; color: var(--alt); font-size: .75em; margin-bottom: .25em; }
.page {
  min-height: 20em;
  padding: 1.1em 1.4em 2em;
  border: 1px solid var(--border);
  background: #fff;
  overflow-wrap: anywhere;
}
.page h1, .page h2, .page h3 { font-weight: 400; line-height: 1.2; margin: 1.25em 0 .45em; }
.page h1 { font-size: 2em; border-bottom: 1px solid var(--border); margin-top: .4em; }
.page h2 { font-size: 1.6em; border-bottom: 1px solid #ddd; }
.page h3 { font-size: 1.3em; }
.page p { margin: .85em 0; }

#site-footer {
  margin-top: 1.5em;
  border-top: 1px solid var(--border);
  color: var(--alt);
  font-size: .75em;
  text-align: center;
  padding: 1.2em;
}

/* 站内链接用 DokuWiki 的绿色，外链保持蓝色 */
.entry .detail, .co-tags a, .toc a, .error-page a, .site-navigation a { color: var(--existing); }

/* 标签胶囊 */
.tag {
  --c: var(--tag-color, var(--tag-default));
  display: inline-block;
  margin: 0 .3em .2em 0;
  padding: 0 .45em;
  font-size: .8em;
  line-height: 1.6;
  border-radius: 2px;
  color: var(--c);
  border: 1px solid color-mix(in srgb, var(--c) 40%, transparent);
  background: color-mix(in srgb, var(--c) 8%, #fff);
  white-space: nowrap;
}
.tag:hover { text-decoration: none; background: color-mix(in srgb, var(--c) 18%, #fff); }

/* 条目列表：标题一行，标签一行，简介一行 */
.entries { list-style: none; margin: 0; padding: 0; }
.entry { padding: .55em 0; border-bottom: 1px solid var(--soft); }
.entry:last-child { border-bottom: 0; }
.entry-head { display: flex; flex-wrap: wrap; align-items: baseline; }
.entry .title { margin-right: .5em; font-size: 1.05em; }
.entry .detail { font-size: .8em; }
.entry .tags { margin: .2em 0 0; line-height: 1.4; }
.entry .tags .tag { margin-bottom: .1em; }
.entry .summary { margin: .1em 0 0; color: var(--text); }
.is-dead .title, .entry-page.is-dead h1 a { text-decoration: line-through; color: var(--alt); }

/* 首页筛选栏：仿 DokuWiki 目录框 */
.filter { border: 1px solid var(--border); background: #f7f7f7; font-size: .875em; margin: 0 0 1em; }
.filter fieldset { border: 0; margin: 0; padding: .3em .6em; display: flex; flex-wrap: wrap; gap: .1em .9em; }
.filter fieldset + fieldset { border-top: 1px solid var(--soft); }
.filter legend { float: left; width: 3em; font-weight: 700; color: var(--muted); }
.filter label { white-space: nowrap; cursor: pointer; }
.filter-actions { display: flex; gap: .5em; padding: .4em .6em; border-top: 1px solid var(--border); }
.filter.js-live button[type="submit"] { display: none; }

.toc { display: flex; flex-wrap: wrap; gap: .2em 1em; font-size: .875em; }
.empty { padding: .8em 1em; border: 1px dashed var(--border); background: #fafafa; }

/* 标签页 / 搜索 */
.page-head p { margin: .4em 0; }
.chips { display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.chip { padding: .05em .2em .05em .55em; border: 1px solid var(--border); background: var(--soft); }
.chip .remove { padding: 0 .3em; color: var(--muted); }
.co-tags a { margin-left: .5em; }
.search-page { display: flex; gap: .35em; margin: 1em 0; }
.search-page input { flex: 1; }
.tag-index { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4em 1.2em; }
.tag-index .unused { opacity: .55; }

/* 条目页 */
.entry-page .url { margin: 0 0 .5em; color: var(--alt); font-size: .875em; }
.entry-page .summary { margin: 1em 0; }
.meta { display: grid; grid-template-columns: max-content 1fr; margin: 1.2em 0 0; border: 1px solid var(--border); font-size: .9em; }
.meta dt, .meta dd { margin: 0; padding: .35em .55em; border-bottom: 1px solid var(--border); }
.meta dt { background: var(--soft); }
.meta dt:last-of-type, .meta dd:last-of-type { border-bottom: 0; }

.error-page { text-align: center; padding: 2em 0; }

/* 登录状态 */
.user-status { margin: .2em 0 0; font-size: .8em; color: var(--alt); }
.user-status .user-name { color: var(--text); }
.user-status a { padding: 0 .5em; }

/* 提示条 */
.notice { margin: 0 0 1em; padding: .5em .8em; border: 1px solid; }
.notice p { margin: .2em 0; }
.notice.is-error { border-color: #e9b3a8; background: #fdf0ed; color: #8a2a14; }
.notice.is-success { border-color: #a9d3a9; background: #eff8ef; color: #1f5e1f; }
.notice code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

/* 条目表单：标签在上、控件全宽，仿 DokuWiki 编辑页 */
.entry-form { max-width: 46em; }
.entry-form .field { margin: 0 0 1.1em; padding: 0; border: 0; min-width: 0; }
.entry-form label, .entry-form legend { display: block; font-weight: 600; margin-bottom: .25em; padding: 0; }
.entry-form .req { font-weight: normal; font-size: .8em; color: var(--missing, #d30); }
.entry-form input[type="text"], .entry-form input[type="url"], .entry-form input[type="date"], .entry-form textarea {
  display: block;
  width: 100%;
  font: inherit;
  padding: .42em .55em;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: #fff;
  color: var(--text);
}
.entry-form input[type="date"] { width: auto; }
.entry-form input[readonly] { background: var(--soft); color: var(--muted); }
.entry-form textarea { resize: vertical; min-height: 5em; }
.entry-form [aria-invalid="true"] { border-color: #d30; }
.entry-form .hint { margin: .2em 0 0; font-size: .8em; color: var(--alt); }
.entry-form .field-error, .entry-form .url-check { margin: .25em 0 0; font-size: .875em; color: #d30; }
.entry-form .counter.is-over { color: #d30; }
.entry-form .inline label, .entry-form .tag-group label { display: inline-block; font-weight: normal; margin: 0 .9em .2em 0; white-space: nowrap; }
.tags-field { border: 1px solid var(--border) !important; background: #f7f7f7; padding: .4em .7em .6em !important; }
.tags-field > legend { float: left; width: 100%; margin-bottom: .3em; }
.tag-group { clear: both; border: 0; margin: 0; padding: .25em 0; border-top: 1px solid var(--soft); }
.tag-group legend { float: left; width: 3em; font-weight: 700; font-size: .875em; color: var(--muted); margin: .1em 0 0; }
.new-tags { clear: both; border-top: 1px solid var(--soft); padding-top: .5em; }
.new-tags label { font-size: .875em; color: var(--muted); }
.form-actions { display: flex; align-items: center; gap: 1em; margin-top: 1.5em; }
button.primary { background: #2b73b7; border-color: #2b73b7; color: #fff; padding: .45em 1.6em; }
.error-page .button { display: inline-block; margin-top: .5em; }

@media (max-width: 800px) {
  #site { box-shadow: none; padding: 0 .5em; }
  #site-header { flex-direction: column; gap: .5em; }
  .tools { text-align: left; flex-basis: auto; }
  .search { justify-content: flex-start; }
  .search input { flex: 1; width: auto; }
  .site-navigation a:first-child { padding-left: 0; }
  .page { padding: 1em; }
  .logo img { width: 52px; height: 52px; }
  .logo span { padding-top: 4px; }
}

@media (max-width: 480px) {
  html { font-size: 15px; }
  .logo { font-size: 1.3em; }
  .logo img { width: 44px; height: 44px; }
  .page h1 { font-size: 1.65em; }
  .page h2 { font-size: 1.4em; }
  .filter legend { float: none; width: auto; }
  .tag-group legend { float: none; width: auto; }
}

@media print {
  html, #site { background: #fff; box-shadow: none; }
  .tools, .breadcrumbs, .filter, #site-footer { display: none !important; }
  .page { border: 0; padding: 0; }
}

/* 删除确认 */
button.danger { background: #c0392b; border-color: #c0392b; color: #fff; padding: .45em 1.6em; }
