
    .page-header { padding: clamp(2rem,5vw,3rem) 0 var(--gap-lg); }
    .editor-layout {
      display: flex; min-height: calc(100vh - var(--nav-height) - 160px);
      gap: var(--gap-lg);
    }

    /* ── Sidebar ── */
    .editor-sidebar {
      width: 200px; border-right: var(--ui-border) solid var(--ui-line);
      padding: var(--gap-md) 0; display: flex; flex-direction: column;
      gap: 4px; flex-shrink: 0;
    }
    .editor-sidebar .sidebar-btn {
      display: flex; align-items: center; gap: 10px;
      width: 100%; padding: 10px 16px;
      background: transparent; border: var(--ui-border) solid transparent;
      color: var(--ui-fg-muted);
      font-family: var(--font-sans); font-size: .82rem;
      cursor: var(--cursor-pointer);
      transition: all var(--dur-fast) var(--ease-out);
      text-align: left;
    }
    .editor-sidebar .sidebar-btn:hover,
    .editor-sidebar .sidebar-btn.active {
      background: var(--ui-surface); border-color: var(--ui-line); color: var(--ui-fg);
    }
    .editor-sidebar .sidebar-btn .si { width: 22px; text-align: center; font-size: .85rem; }
    .editor-sidebar .sidebar-divider { flex: 1; }

    /* ── Main ── */
    .editor-main { flex: 1; display: flex; flex-direction: column; padding: var(--gap-md) var(--gap-sm); min-width: 0; }
    .editor-toolbar {
      display: flex; align-items: center; gap: 6px;
      padding: var(--gap-sm) var(--gap-sm); border-bottom: var(--ui-border) solid var(--ui-line);
      margin-bottom: var(--gap-lg); flex-wrap: nowrap; overflow-x: auto;
      background: var(--ui-surface); border: var(--ui-border) solid var(--ui-line);
      -webkit-overflow-scrolling: touch;
    }
    .editor-toolbar .tool-btn {
      width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
      background: transparent; border: var(--ui-border) solid transparent;
      cursor: var(--cursor-pointer); font-family: var(--font-mono);
      font-size: .85rem; color: var(--ui-fg-muted); flex-shrink: 0;
      transition: all var(--dur-fast) var(--ease-out);
    }
    .editor-toolbar .tool-btn:hover { border-color: var(--ui-line); background: var(--ui-bg); color: var(--ui-fg); }
    .editor-toolbar .tool-sep { width: 1px; height: 22px; background: var(--ui-line); margin: 0 4px; flex-shrink: 0; }

    .editor-area { flex: 1; display: flex; flex-direction: column; }
    .editor-title-input {
      font-family: var(--font-serif);
      font-size: clamp(1.1rem,2.5vw,1.5rem); font-weight: 700;
      border: none; background: transparent; color: var(--ui-fg);
      padding: var(--gap-sm) 0; margin-bottom: var(--gap-lg);
      outline: none; width: 100%; letter-spacing: -.02em;
      border-bottom: var(--ui-border) solid var(--ui-line);
      transition: border-color var(--dur-fast) var(--ease-out);
    }
    .editor-title-input:focus { border-bottom-color: var(--ui-fg); }
    .editor-title-input::placeholder { color: var(--ui-fg-muted); opacity: .35; }

    .editor-textarea {
      flex: 1; font-family: var(--font-sans); font-size: clamp(.9rem,1.5vw,1rem);
      line-height: 1.85; border: none; background: transparent;
      color: var(--ui-fg); padding: var(--gap-sm) 0;
      outline: none; resize: none; min-height: 400px;
    }
    .editor-textarea::placeholder { color: var(--ui-fg-muted); opacity: .25; }

    .editor-status {
      display: flex; align-items: center; justify-content: space-between;
      padding-top: var(--gap-md); border-top: var(--ui-border) solid var(--ui-line);
      font-family: var(--font-mono); font-size: .68rem; color: var(--ui-fg-muted);
      gap: var(--gap-md); flex-wrap: wrap;
    }
    .editor-status .word-count { display: flex; gap: var(--gap-md); white-space: nowrap; }

    /* ── Preview ── */
    .preview-panel {
      padding: var(--gap-xl); background: var(--ui-bg);
      border: var(--ui-border) solid var(--ui-line);
      min-height: 400px; overflow-y: auto; font-size: 1rem; line-height: 1.85;
    }
    .preview-panel h1 { font-size: 1.75rem; margin-bottom: var(--gap-md); }
    .preview-panel h2 { font-size: 1.25rem; margin-bottom: var(--gap-sm); }
    .preview-panel p { margin-bottom: var(--gap-md); }

    /* ── File List ── */
    .file-list { list-style: none; }
    .file-list li {
      padding: 10px 14px; font-size: .82rem; cursor: var(--cursor-pointer);
      border-bottom: var(--ui-border) solid var(--ui-line);
      display: flex; justify-content: space-between; align-items: center;
      transition: background var(--dur-fast) var(--ease-out);
    }
    .file-list li:hover { background: var(--ui-surface); }
    .file-list li .file-del {
      opacity: 0; color: #e53e3e; cursor: var(--cursor-pointer);
      font-size: .72rem; font-weight: 700;
      transition: opacity var(--dur-fast); padding: 2px 6px;
    }
    .file-list li:hover .file-del { opacity: 1; }

    /* ═══ Member Profile Form ═══ */
    .member-form {
      border: var(--ui-border) solid var(--ui-line);
      padding: var(--gap-lg);
      background: var(--ui-surface);
      margin-bottom: var(--gap-lg);
    }
    .member-form .mf-title {
      font-family: var(--font-sans); font-size: .85rem; font-weight: 600;
      margin-bottom: var(--gap-md); letter-spacing: .02em;
      display: flex; align-items: center; gap: 8px;
    }
    .member-form .mf-grid {
      display: grid; grid-template-columns: repeat(2,1fr);
      gap: var(--gap-sm); margin-bottom: var(--gap-md);
    }
    .member-form .mf-grid input, .member-form .mf-grid select {
      padding: 10px 14px; font-family: var(--font-sans); font-size: .82rem;
      background: var(--ui-bg); color: var(--ui-fg);
      border: var(--ui-border) solid var(--ui-line);
      transition: border-color var(--dur-fast) var(--ease-out);
    }
    .member-form .mf-grid input:focus { outline: none; border-color: var(--ui-fg); }
    .member-form .mf-submit {
      width: 100%; padding: 11px;
      font-family: var(--font-sans); font-size: .82rem; font-weight: 500;
      background: var(--ui-fg); color: var(--ui-bg); border: none;
      cursor: pointer; letter-spacing: .04em;
      transition: opacity var(--dur-fast);
    }
    .member-form .mf-submit:hover { opacity: .85; }

    /* ═══ Breath Patch ═══ */
    .breath-dot {
      display: inline-block; width: 4px; height: 4px;
      background: var(--ui-fg-muted); border-radius: 50%;
      animation: breathPulse 2.5s ease-in-out infinite;
      vertical-align: middle; margin: 0 4px;
    }
    @keyframes breathPulse {
      0%,100%{opacity:.15} 50%{opacity:.7}
    }

    /* ═══ Responsive ═══ */
    @media (max-width: 1024px) {
      .editor-sidebar { width: 150px; }
      .editor-sidebar .sidebar-btn { padding: 8px 10px; font-size: .76rem; }
      .member-form .mf-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 768px) {
      .editor-layout { flex-direction: column; gap: 0; }
      .editor-sidebar {
        width: 100%; border-right: none; border-bottom: var(--ui-border) solid var(--ui-line);
        flex-direction: row; overflow-x: auto; padding: var(--gap-sm);
        gap: var(--gap-xs); -webkit-overflow-scrolling: touch;
      }
      .editor-sidebar .sidebar-btn { white-space: nowrap; width: auto; padding: 8px 12px; font-size: .72rem; gap: 6px; }
      .editor-sidebar .sidebar-btn .si { font-size: .7rem; width: auto; }
      .editor-sidebar .sidebar-divider { display: none; }
      .editor-main { padding: var(--gap-md) 0; }
      .editor-toolbar { gap: 4px; }
      .editor-toolbar .tool-btn { width: 30px; height: 30px; font-size: .75rem; }
      .editor-title-input { font-size: 1rem; }
      .editor-textarea { font-size: .85rem; min-height: 300px; }
      .member-form .mf-grid { grid-template-columns: 1fr; }
      .member-form { padding: var(--gap-md); }
      .page-header { padding: var(--gap-md) 0; }
    }
    @media (max-width: 480px) {
      .editor-main { padding: var(--gap-sm) 0; }
      .container { padding: 0 var(--gap-md); }
      .editor-toolbar .tool-btn { width: 28px; height: 28px; font-size: .7rem; }
      .editor-toolbar .tool-sep { margin: 0 2px; }
      .editor-status { font-size: .6rem; flex-direction: column; align-items: flex-start; gap: 4px; }
      .editor-status .word-count { gap: var(--gap-sm); }
      .file-list li { font-size: .72rem; padding: 8px 10px; }
      .preview-panel { padding: var(--gap-md); font-size: .85rem; }
      .editor-sidebar .sidebar-btn { padding: 6px 10px; font-size: .68rem; }
    }
  