diff --git a/memento-note/app/globals.css b/memento-note/app/globals.css
index 823900e..9b522d4 100644
--- a/memento-note/app/globals.css
+++ b/memento-note/app/globals.css
@@ -1737,4 +1737,44 @@ html.font-system * {
.rt-preview h3 { font-size: 1rem; font-weight: 600; margin: 0.3em 0; }
.rt-preview p { margin: 0.2em 0; }
.rt-preview ul, .rt-preview ol { padding-left: 1.25rem; margin: 0.2em 0; }
-.rt-preview blockquote { border-left: 3px solid var(--border); padding-left: 0.75rem; color: var(--muted-foreground); margin: 0.3em 0; }
\ No newline at end of file
+.rt-preview blockquote { border-left: 3px solid var(--border); padding-left: 0.75rem; color: var(--muted-foreground); margin: 0.3em 0; }
+/* ── Full-page editorial editor: enforce prototype typography ──────────── */
+/* TipTap ProseMirror text size — scoped to fullPage editor only */
+.fullpage-editor .ProseMirror {
+ font-size: 1.125rem; /* 18px */
+ line-height: 1.875;
+ color: var(--foreground);
+ outline: none;
+}
+.fullpage-editor .ProseMirror p {
+ font-size: 1.125rem;
+ line-height: 1.875;
+ margin-bottom: 1.25em;
+ color: var(--foreground);
+ opacity: 0.85;
+}
+.fullpage-editor .ProseMirror h1 { font-size: 2rem; line-height: 1.3; font-family: var(--font-memento-serif, Georgia, serif); margin-bottom: 0.75em; }
+.fullpage-editor .ProseMirror h2 { font-size: 1.5rem; line-height: 1.35; font-family: var(--font-memento-serif, Georgia, serif); margin-bottom: 0.6em; }
+.fullpage-editor .ProseMirror h3 { font-size: 1.25rem; line-height: 1.4; margin-bottom: 0.5em; }
+.fullpage-editor .ProseMirror ul,
+.fullpage-editor .ProseMirror ol { font-size: 1.125rem; line-height: 1.8; padding-left: 1.5em; margin-bottom: 1em; }
+.fullpage-editor .ProseMirror li { margin-bottom: 0.3em; }
+.fullpage-editor .ProseMirror blockquote {
+ border-left: 3px solid var(--foreground);
+ padding-left: 1.25rem;
+ font-size: 1.2rem;
+ font-style: italic;
+ font-family: var(--font-memento-serif, Georgia, serif);
+ color: var(--foreground);
+ opacity: 0.7;
+ margin: 1.5em 0;
+}
+.fullpage-editor .ProseMirror p.is-editor-empty:first-child::before {
+ color: var(--muted-foreground);
+ content: attr(data-placeholder);
+ float: left;
+ height: 0;
+ pointer-events: none;
+ font-size: 1.125rem;
+ opacity: 0.4;
+}
diff --git a/memento-note/components/contextual-ai-chat.tsx b/memento-note/components/contextual-ai-chat.tsx
index 88af865..1d5578c 100644
--- a/memento-note/components/contextual-ai-chat.tsx
+++ b/memento-note/components/contextual-ai-chat.tsx
@@ -558,24 +558,24 @@ export function ContextualAIChat({
- {/* ── Tabs ────────────────────────────────────────────── */}
+ {/* ── Tabs ── */}
{([
- { id: 'chat', icon: Bot, label: t('ai.chatTab') },
- { id: 'actions', icon: Wand2, label: t('ai.noteActions') },
- { id: 'resource', icon: ArrowDownToLine, label: t('ai.resourceTab') },
+ { id: 'chat', icon: Bot, label: 'Chat' },
+ { id: 'actions', icon: Wand2, label: 'Actions' },
+ { id: 'resource', icon: ArrowDownToLine, label: 'Source' },
] as const).map(tab => (
+
{/* ══════════════════════════════════════════════════════════ */}
{/* ── TAB: CHAT ─────────────────────────────────────────── */}
{/* ══════════════════════════════════════════════════════════ */}
@@ -592,11 +593,11 @@ export function ContextualAIChat({
{/* Messages */}
{messages.length === 0 && (
-
-
-
+
+
+
-
+
{t('ai.askToStart')}
@@ -824,7 +825,7 @@ export function ContextualAIChat({
{/* Tone selector */}
-