Another Writer's Den window is open on the same data. Saving here may overwrite unsaved changes in the other window.
Looks like you're on mobile — Writer's Go is optimised for small screens.
{{ dynamicMasterView.projectName }} — Dynamic Master  ·  read-only {{ getDynamicMasterForProject(dynamicMasterView.projectId)?.wordCount.toLocaleString() }} words
AI Usage Log
{{ filteredUsageLog.length }} entries
Calls
{{ usageLogStats.calls.toLocaleString() }}
Tokens In
{{ usageLogStats.totalIn.toLocaleString() }}
{{ formatCost(usageLogStats.avgCostPerMIn) }}/M
Tokens Out
{{ usageLogStats.totalOut.toLocaleString() }}
{{ formatCost(usageLogStats.avgCostPerMOut) }}/M
Total Tokens
{{ usageLogStats.totalTokens.toLocaleString() }}
Est. Cost
{{ formatCost(usageLogStats.totalCost) }}
Time Context Project Model In Out Total Cost
No entries for this period.
{{ formatLogTs(e.ts) }} {{ e.context || '—' }} {{ e.project || '—' }} {{ e.model ? e.model.split('/').pop() : '—' }} {{ (e.in||0).toLocaleString() }} {{ (e.out||0).toLocaleString() }} 🧠{{ (e.thinking/1000).toFixed(1) }}K {{ (e.total||0).toLocaleString() }} {{ formatCost(e._cost) }}
{{ secondaryDoc?.title }}
{{ currentDoc ? currentDoc.title : 'Side Chat' }}
Ask about the current document.
Select text first to quote it as context.
Thinking…
{{ img.name }}
{{ sideChat.pendingCapture.selection.length > 60 ? sideChat.pendingCapture.selection.slice(0,60) + '…' : sideChat.pendingCapture.selection }}