/* 剧本批注 + 正文编辑（js/features/annotations.js）。
   配色沿用 base.css 的 ink/gold 变量族，深浅色各写一遍（同 modal.css 的做法）。 */

/* ── 正文里的批注高亮 ── */
mark.anno-mark {
  background: rgba(176, 134, 66, .22);
  border-bottom: 1px solid rgba(176, 134, 66, .55);
  color: inherit;
  padding: 0 1px;
  border-radius: 2px;
  cursor: pointer;
}
mark.anno-mark-shift { background: rgba(217, 119, 6, .16); border-bottom-style: dashed; }
mark.anno-mark-done  { background: rgba(120, 120, 120, .16); border-bottom-color: rgba(120,120,120,.4); }
mark.anno-flash { animation: anno-flash 1.2s ease-out; }
@keyframes anno-flash {
  0%, 40% { background: rgba(176, 134, 66, .65); }
  100%    { background: rgba(176, 134, 66, .22); }
}

/* ── 侧栏 ── */
.anno-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.anno-title { font-size: 13px; font-weight: 500; }
.anno-toggle {
  font-size: 11px; color: #8a8a8a; cursor: pointer;
  border: 1px solid rgba(128,128,128,.3); border-radius: 4px; padding: 1px 6px;
}
.anno-toggle:hover { color: #b08642; border-color: #b08642; }
.anno-list { display: flex; flex-direction: column; gap: .5rem; }
.anno-empty { font-size: 12px; color: #9a9a9a; padding: .75rem 0; }

.anno-card {
  border: 1px solid rgba(128,128,128,.22); border-left: 3px solid #b08642;
  border-radius: 6px; padding: .5rem .625rem; cursor: pointer;
  background: rgba(255,255,255,.6);
}
.dark .anno-card { background: rgba(255,255,255,.03); }
.anno-card:hover { border-color: rgba(176,134,66,.6); }
.anno-card-done { opacity: .6; border-left-color: #9a9a9a; }
.anno-quote { font-size: 11px; color: #8a8a8a; line-height: 1.5; margin-bottom: .25rem; }
.anno-body { font-size: 13px; line-height: 1.6; white-space: pre-wrap; }
.anno-now {
  font-size: 11px; line-height: 1.5; margin: .25rem 0;
  color: #a16207; background: rgba(217,119,6,.08); border-radius: 4px; padding: .25rem .375rem;
}
.dark .anno-now { color: #fbbf24; }
.anno-badge { display: inline-block; font-size: 10px; padding: 0 4px; border-radius: 3px; margin-bottom: .25rem; }
.anno-badge-shift  { background: rgba(217,119,6,.14); color: #a16207; }
.anno-badge-orphan { background: rgba(220,38,38,.12); color: #dc2626; }
.anno-meta {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  font-size: 10px; color: #9a9a9a; margin-top: .375rem;
}
.anno-done-tag { color: #16a34a; }
.anno-acts { margin-left: auto; display: flex; gap: .25rem; }
.anno-acts button {
  font-size: 10px; padding: 1px 5px; border-radius: 4px;
  border: 1px solid rgba(128,128,128,.3); color: #8a8a8a; cursor: pointer;
}
.anno-acts button:hover { color: #b08642; border-color: #b08642; }

/* ── 选中气泡 + 输入框 ── */
.anno-bubble { position: absolute; z-index: 90; }
.anno-bubble-btn {
  background: #b08642; color: #fff; font-size: 12px; padding: 4px 10px;
  border-radius: 6px; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.anno-composer {
  position: absolute; z-index: 95; width: 360px; max-width: 92vw;
  background: #fff; border: 1px solid rgba(128,128,128,.3); border-radius: 8px;
  padding: .625rem; box-shadow: 0 8px 28px rgba(0,0,0,.22);
}
.dark .anno-composer { background: #1b1b1d; }
.anno-ta, .doc-editor-ta {
  width: 100%; font-size: 13px; line-height: 1.6; padding: .5rem;
  border: 1px solid rgba(128,128,128,.3); border-radius: 6px;
  background: transparent; color: inherit; resize: vertical;
}
.anno-composer-acts { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .5rem; }
.anno-btn {
  background: #b08642; color: #fff; font-size: 12px; padding: 3px 12px;
  border-radius: 6px; cursor: pointer;
}
.anno-btn-ghost {
  font-size: 12px; padding: 3px 10px; border-radius: 6px; cursor: pointer;
  border: 1px solid rgba(128,128,128,.35); color: #8a8a8a;
}
.anno-btn-ghost:hover { color: #b08642; border-color: #b08642; }

/* ── 正文编辑器 ── */
.doc-editor { display: flex; flex-direction: column; gap: .5rem; }
.doc-editor-bar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.doc-editor-file { font-size: 12px; font-family: ui-monospace, monospace; color: #8a8a8a; }
.doc-editor-status { font-size: 11px; color: #8a8a8a; }
.doc-editor-ta { min-height: 62vh; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; }

.doc-editor-warn {
  font-size: 12px; line-height: 1.6; padding: .5rem .625rem; border-radius: 6px;
  background: rgba(217, 119, 6, .1); color: #a16207;
  border: 1px solid rgba(217, 119, 6, .3);
}
.dark .doc-editor-warn { color: #fbbf24; }

/* 正文 + 批注栏并排；窄屏回落成上下 */
.doc-with-anno { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; align-items: start; }
@media (max-width: 1100px) { .doc-with-anno { grid-template-columns: minmax(0, 1fr); } }
