/* 静室 CSS：25-admin-console.css。
   职责：后台管理台（用户与访问、写作台编辑器接入）的任务化版式与 EasyMDE 主题联动。
   所有规则都限定在 .console-* 与编辑器容器内，不触碰任何公开阅读页的样式。
   2026-08-30 馆主委托的后台工作台升级；公开页视觉冻结不受影响。 */
@layer console {
  /* ---- 用户与访问：任务分区 ---- */
  .console-tasks {
    display: grid;
    gap: 2.5rem;
  }

  .console-task > h2 {
    font-size: var(--font-size-2);
    margin-bottom: 0.25rem;
  }

  .console-lede,
  .console-hint {
    color: var(--text-secondary);
    max-width: 46rem;
  }

  .console-hint {
    font-size: var(--font-size--1);
    margin: 0.25rem 0 1rem;
  }

  /* ---- 开账号：自动生成密码优先，手设密码收起 ---- */
  .console-create {
    display: grid;
    gap: 0.9rem;
    max-width: 34rem;
    margin-bottom: 0.75rem;
  }

  .console-create details {
    border-top: 1px solid var(--border-subtle);
    padding-top: 0.6rem;
  }

  .console-create summary {
    cursor: pointer;
    color: var(--text-secondary);
    font-size: var(--font-size--1);
  }

  .console-create details[open] summary {
    margin-bottom: 0.5rem;
  }

  /* ---- 名单：密度高于公开页，一行看全“谁能做什么/是否还活着/最近是否在用” ---- */
  .console-roster {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size--1);
  }

  .console-roster th,
  .console-roster td {
    text-align: left;
    vertical-align: top;
    padding: 0.55rem 0.75rem 0.55rem 0;
    border-bottom: 1px solid var(--border-subtle);
  }

  .console-roster th {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: var(--font-size--2);
  }

  .console-roster td:last-child,
  .console-roster th:last-child {
    min-width: 16rem;
  }

  .console-muted {
    color: var(--text-muted);
  }

  .console-never-used {
    color: var(--text-primary);
    font-style: normal;
    border-bottom: 2px dotted var(--border-strong);
  }

  .console-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.9rem;
    align-items: flex-start;
  }

  .console-row-actions details {
    min-width: 9rem;
  }

  .console-row-actions summary {
    cursor: pointer;
    color: var(--text-secondary);
    white-space: nowrap;
  }

  .console-row-actions form {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.45rem;
  }

  .console-row-actions select {
    max-width: 12rem;
  }

  /* 破坏性操作的两段确认：第一次点击后进入待确认态，再点才执行 */
  .console-armed {
    outline: 2px solid var(--border-strong);
    outline-offset: 1px;
  }

  /* ---- 写作台：EasyMDE 与静室日夜主题联动 ---- */
  .writing-pane .CodeMirror {
    font-family: var(--font-prose);
    font-size: 1.0625rem;
    line-height: 1.85;
    height: auto;
    min-height: 22rem;
    color: var(--text-primary);
    background: var(--surface-canvas);
    border: 1px solid var(--border-subtle);
  }

  .writing-pane .CodeMirror-scroll {
    min-height: 22rem;
  }

  .writing-pane .editor-toolbar {
    border-color: var(--border-subtle);
    background: var(--surface-subtle);
  }

  .writing-pane .editor-toolbar button,
  .writing-pane .editor-toolbar .easymde-dropdown-content button {
    color: var(--text-secondary);
    font-family: var(--font-ui);
    font-size: var(--font-size--1);
  }

  .writing-pane .editor-toolbar button:hover,
  .writing-pane .editor-toolbar .active {
    background: var(--surface-canvas);
    color: var(--text-primary);
    border-color: var(--border-strong);
  }

  /* 中文文字按钮取代 FontAwesome 图标（vendor 未带 FA 字体，也不引入） */
  .writing-pane .editor-toolbar .console-labeled::before {
    content: none;
  }

  .writing-pane .editor-statusbar {
    color: var(--text-muted);
    border-color: var(--border-subtle);
    font-family: var(--font-ui);
  }

  .writing-pane .editor-preview,
  .writing-pane .editor-preview-side,
  .writing-pane .editor-preview-active-side {
    background: var(--surface-canvas);
    color: var(--text-primary);
  }

  /* ---- 编辑器内嵌图片面板：与“写下”页同一上传管线，无弹窗 ---- */
  .console-image-panel {
    border: 1px solid var(--border-subtle);
    background: var(--surface-subtle);
    padding: 1rem 1.1rem;
    margin: 0.75rem 0;
    max-width: 34rem;
  }

  .console-image-panel[hidden] {
    display: none;
  }

  .console-image-panel h2 {
    font-size: var(--font-size-1);
    margin-bottom: 0.25rem;
  }

  .console-image-panel form {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.6rem;
  }

  .console-image-error {
    color: var(--text-primary);
    border-left: 3px solid var(--border-strong);
    padding-left: 0.6rem;
  }

  .console-image-error[hidden] {
    display: none;
  }
}
