/* Inner content styles — classic academic formatting */ .paper-content padding: 2.2rem 2.5rem;
.tool-btn:hover background: #2d3a5e; transform: translateY(-1px); -types html2pdf.js
/* editable effect */ [contenteditable="true"] outline: none; transition: background 0.1s ease; [contenteditable="true"]:hover background: #fffbf0; [contenteditable="true"]:focus background: #fffae6; box-shadow: inset 0 0 0 1px #cbd5e1; /* Inner content styles — classic academic formatting */
.paper-content blockquote margin: 1rem 1.5rem; padding-left: 1rem; border-left: 4px solid #94a3b8; font-style: italic; color: #2c3e4e; Since we set innerHTML exactly as original, all
// Reset functionality: restores original academic content const resetBtn = document.getElementById('resetPaperBtn'); if (resetBtn) resetBtn.addEventListener('click', () => const editableDiv = document.getElementById('editableContent'); if (editableDiv) editableDiv.innerHTML = originalContentHTML; // After reset, re-attach contenteditable attributes? Actually original HTML already has contenteditable="true" on elements. // But some dynamic innerHTML might lose reference? Since we set innerHTML exactly as original, all attributes remain. // Ensure that contenteditable elements are editable again (fine because original had them). // small optional: reapply any event if needed, but no extra events needed. );
/* Typography for the camera-ready PDF */ .paper-content h1 font-size: 2.3rem; font-weight: 600; letter-spacing: -0.3px; margin-top: 0.5rem; margin-bottom: 0.25rem; text-align: center; font-family: 'Cormorant Garamond', serif; border-bottom: 2px solid #cbd5e1; display: inline-block; width: 100%; padding-bottom: 0.5rem;
.tool-btn.primary:hover background: #1f557c;