.public-author { padding-top: 40px; padding-bottom: 80px; }
.author-masthead { display:grid; grid-template-columns:180px 1fr; gap:44px; align-items:center; padding:48px; background:#eeeede; border-radius:80px 8px 8px 8px; }
.author-masthead h1,.journal-body h1 { font:normal clamp(36px,5vw,64px)/1.1 Georgia,serif; color:#253e32; margin:12px 0 22px; overflow-wrap:anywhere; }
.profile-avatar,.profile-monogram { width:180px; height:180px; border-radius:50%; object-fit:cover; background:#e1d2b8; }
.profile-monogram { display:grid; place-items:center; color:#253e32; }.profile-monogram .fa-icon { width:64px; height:64px; }
.author-bio { line-height:1.8; max-width:720px; overflow-wrap:anywhere; }.social-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }.social-links a { border:1px solid #253e3240; border-radius:24px; padding:8px 14px; font-size:13px; }
.author-books,.author-journal { margin-top:64px; }.author-books h2,.author-journal h2 { font:normal 36px Georgia,serif; margin:12px 0 30px; }.public-author .save-book { display:none; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }.journal-grid article { border-top:1px solid #253e3233; padding-top:20px; }.journal-grid img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:6px; margin-bottom:18px; }.journal-grid h3 { font:normal 26px/1.2 Georgia,serif; overflow-wrap:anywhere; }
.journal-body { max-width:800px; margin:0 auto; overflow-wrap:anywhere; line-height:1.8; }.journal-body img { max-width:100%; height:auto; border-radius:6px; }.journal-body figure { margin:32px 0; }.journal-body h2 { font:normal 32px Georgia,serif; margin-top:36px; }.journal-body h3 { font:normal 25px Georgia,serif; }.journal-intro { font-size:21px; }.journal-hero { width:100%; margin:24px 0; }.profile-pagination { display:flex; gap:24px; margin-top:36px; }
.profile-editor { max-width:800px; margin:auto; }.profile-editor fieldset { border:0; padding:0; min-width:0; }.journal-editor-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:28px; }.journal-editor-layout .admin-editor { margin-bottom:24px; }.editor-hero { max-height:240px; max-width:100%; }.media-library { max-height:500px; overflow:auto; }.media-library figure { margin:20px 0; }.media-library img { max-width:100%; max-height:140px; }.profile-editor input[type=checkbox],.journal-editor-layout input[type=checkbox] { width:auto; }
@media(max-width:700px) { .author-masthead { grid-template-columns:1fr; padding:28px; gap:20px; border-radius:40px 8px 8px 8px; }.profile-avatar,.profile-monogram { width:120px; height:120px; }.journal-grid,.journal-editor-layout { grid-template-columns:1fr; }.public-author { padding-top:20px; } }

.profile-editor label > .admin-help { display:block; margin:6px 0; font-weight:normal; }

/* Shared image pickers and a locally hosted Quill writing surface. */
.image-drop { margin:20px 0; }
.image-drop-label,.editor-label { display:block; font-weight:700; margin-bottom:10px; font-size:14px; }
.image-drop-surface { border:2px dashed #b8c2ac; border-radius:10px; padding:22px; background:#f6f7ee; text-align:center; transition:background .15s,border-color .15s; }
.image-drop.is-dragging .image-drop-surface { background:#e4ead9; border-color:#253e32; }
.image-drop-surface img { display:block; max-width:100%; max-height:240px; margin:0 auto 15px; object-fit:contain; border-radius:5px; }
.image-drop-surface img[hidden] { display:none; }
.profile-editor .image-drop-surface img { width:140px; height:140px; object-fit:cover; border-radius:50%; }
.image-drop-surface input[type=file] { max-width:100%; width:auto; background:transparent; border:0; padding:8px 0; }
.image-drop-surface [data-image-clear] { display:block; margin:8px auto 0; }
.image-drop-surface [data-image-clear][hidden] { display:none; }
.journal-editor-layout { grid-template-columns:minmax(0,3fr) minmax(220px,1fr); }
.journal-composer { margin:24px 0; min-width:0; }
.journal-composer .ql-toolbar.ql-snow { border-color:#b8c2ac; border-radius:8px 8px 0 0; background:#f4f3e9; padding:12px 8px; }
.journal-composer .ql-container.ql-snow { border-color:#b8c2ac; border-radius:0 0 8px 8px; font:16px/1.8 Georgia,serif; }
.journal-composer { --journal-padding:24px; }
.journal-composer .ql-editor.ql-blank::before { left:var(--journal-padding); right:var(--journal-padding); }
.journal-composer .ql-editor { min-height:360px; padding:var(--journal-padding); overflow-wrap:anywhere; }
.journal-composer .ql-editor h2 { font:normal 30px/1.3 Georgia,serif; margin:20px 0 12px; }
.journal-composer .ql-editor h3 { font:normal 24px/1.3 Georgia,serif; }
.journal-composer .ql-toolbar button { min-width:28px; padding:3px 5px; border:0; border-radius:3px; }
.journal-composer .ql-toolbar button.journal-image-button { width:auto; display:inline-flex; gap:6px; align-items:center; color:#253e32; font-weight:700; }
.journal-composer .ql-toolbar .fa-icon { width:13px; height:13px; fill:currentColor; }
.journal-composer .ql-picker-label { font-family:Arial,sans-serif; }
.journal-composer .ql-toolbar button:focus-visible,.journal-composer .ql-picker-label:focus-visible { outline:2px solid #253e32; outline-offset:2px; }
.journal-composer .ql-tooltip { left:0 !important; max-width:100%; white-space:normal; z-index:5; }
.journal-composer .ql-tooltip input[type=text] { width:180px; }
.journal-editor-image { margin:20px 0; }
.journal-editor-image img { display:block; max-width:100%; height:auto; }
#journal-image-dialog { max-width:560px; width:calc(100% - 32px); padding:28px; border:1px solid #b8c2ac; border-radius:12px; background:#faf8f1; color:#253e32; }
#journal-image-dialog::backdrop { background:#15271db3; }
#journal-image-dialog label { display:block; margin:14px 0; }
#journal-image-dialog input:not([type=file]) { width:100%; padding:12px; border:1px solid #b8c2ac; background:white; border-radius:5px; }
#journal-image-dialog h2 { font:normal 30px/1.2 Georgia,serif; }
.image-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
.author-bio { margin-top:22px; }
.author-journal-link { gap:12px; margin-top:24px; font-size:16px; }
.author-journal-link .fa-icon { width:22px; height:22px; }
.author-journal-link:hover { background:#3b5434; }
.author-journal-link:focus-visible { outline:3px solid #626e36; outline-offset:4px; }
@media(max-width:700px) { .author-journal-link { width:100%; padding-inline:16px; } }
#journal { scroll-margin-top:30px; }
.journal-body blockquote { border-left:3px solid #82936d; padding-left:22px; margin:24px 0; font-style:italic; }
@media(max-width:700px) { .journal-editor-layout { grid-template-columns:1fr; }.journal-composer { --journal-padding:18px; }.journal-composer .ql-editor { min-height:320px; }.journal-composer .ql-toolbar.ql-snow .ql-formats { margin-right:8px; } }
nav.profile-pagination { position:static; width:auto; display:flex; flex-wrap:wrap; left:auto; right:auto; top:auto; padding:0; border:0; box-shadow:none; background:transparent; }
nav.profile-pagination a { padding:0; }

/* Keep portrait and landscape media inside the reading column without cropping. */
.journal-body { min-width:0; }
.journal-body img, .journal-composer .ql-editor img { display:block; width:auto; max-width:100%; height:auto; max-height:560px; max-height:min(70vh,560px); object-fit:contain; margin-inline:auto; }
.journal-body .journal-hero { width:auto; max-height:480px; max-height:min(65vh,480px); margin:24px auto; }
.journal-editor-layout > *, .journal-grid > * { min-width:0; }
.journal-preview-notice { max-width:800px; margin:0 auto 28px; padding:20px 24px; background:#eeeede; border:1px solid #b8c2ac; border-radius:8px; }
.journal-preview-notice p { margin:6px 0; }

/* Consistent journal artwork and compact author shelves. */
.journal-body .journal-hero { width:100%; height:auto; max-height:none; aspect-ratio:3/2; object-fit:cover; }
.image-drop-hero .image-drop-surface img { width:100%; max-width:480px; height:auto; max-height:none; aspect-ratio:3/2; object-fit:cover; }
.profile-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0; }
.profile-editor .admin-help { overflow-wrap:anywhere; }
.public-author .collection-grid .book-stage { height:125px; }
.public-author .collection-grid .book-cover { width:75px; height:105px; }
/* Placeholder typography follows the compact profile cover, not catalog sizing. */
.public-author .collection-grid .cover-placeholder {
  display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:5px;
  padding:10px 6px 8px 9px;
}
.public-author .collection-grid .cover-placeholder .cover-kicker {
  font-size:4px; letter-spacing:.35px; white-space:nowrap;
}
.public-author .collection-grid .cover-placeholder .cover-title {
  margin:0; font-size:12px; line-height:1.1; letter-spacing:0;
  align-self:center; min-width:0; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden;
}
.public-author .collection-grid .cover-placeholder .cover-author {
  font-size:5px; line-height:1.2; letter-spacing:.3px; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
}
.public-author .collection-grid .book-info h3 { font-size:17px; }
.public-author .collection-grid { gap:24px 16px; }
.journal-list-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.journal-list-heading h2 { margin:0; }
.journal-list-heading .text-link { margin:0; gap:8px; }
.journal-post-list { padding:0; margin:20px 0; list-style:none; }
.journal-post-list li + li { margin-top:12px; }
.journal-post-list .journal-post-preview { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start; gap:12px; padding:12px; border:1px solid var(--line); border-radius:8px; background:#faf8f1; }
.journal-post-list .button[aria-current=page] { border-color:#465d38; background:#eef1e6; box-shadow:inset 3px 0 #465d38; }
.journal-post-list img,.journal-list-placeholder { width:64px; height:44px; object-fit:cover; border-radius:4px; }
.journal-list-placeholder { display:grid; place-items:center; background:#e8e7da; }
.journal-post-list strong { display:block; overflow-wrap:anywhere; font:normal 18px/1.3 Georgia,serif; margin:7px 0; }
.journal-post-list small { color:var(--muted); font-size:11px; }
.journal-list-empty { text-align:center; padding:24px 12px; background:#faf8f1; border-radius:8px; color:var(--muted); }

.hero-crop {margin-top:18px;max-width:600px;}
.hero-crop[hidden] {display:none;}
.hero-crop canvas {display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:6px;cursor:grab;touch-action:none;background:#fff;}
.hero-crop canvas:active {cursor:grabbing;}
.hero-crop label {display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;margin:12px 0;font-size:.85rem;}
.hero-crop input[type=range] {width:100%;min-width:0;padding:0;accent-color:var(--forest,#284438);}
@media(max-width:480px) {.hero-crop label {grid-template-columns:1fr;gap:4px;}}

.journal-comments { max-width: 760px; margin: 48px auto; }
.journal-comment { padding: 22px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.journal-comment time { color: var(--muted); font-size: 12px; margin-left: 10px; }
.journal-comments textarea { display: block; width: 100%; min-height: 80px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; margin: 10px 0; font: inherit; background: #fffdf8; }
.comment-text { overflow-wrap: anywhere; }
.comment-actions { display: flex; align-items: flex-start; gap: 24px; font-size: 13px; }
.comment-actions details { flex: 1; }
.comment-actions summary { cursor: pointer; width: fit-content; }
.comment-actions form { max-width: 500px; padding-top: 10px; }
.moderation-comment { margin: 24px 0; }
.book-updates { grid-column: 1 / -1; width: 100%; margin-top: 40px; }

.moderation-comment form { display: flex; flex-wrap: wrap; gap: 10px; }

.bio-field { position:relative; margin:8px 0 24px; }
.bio-field textarea { padding-bottom:38px; width:100%; font:inherit; }
.bio-count { position:absolute; right:14px; bottom:12px; font-size:12px; color:var(--muted); pointer-events:none; background:var(--paper); padding:2px 4px; border-radius:3px; }
.comment-thread { margin:24px 0; }
.journal-comment { margin-left:calc(var(--comment-depth,0) * 20px); padding:14px 0 14px 14px; border-left:2px solid var(--line); border-bottom:0; }
.journal-comment:target { background:#eef1e6; }
.comment-profile-name { background:none; border:0; padding:0; font:inherit; font-weight:bold; color:var(--forest); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.comment-profile-dialog { max-width:480px; padding:28px; }
.comment-profile-dialog .profile-avatar,.comment-profile-dialog .profile-monogram { width:88px; height:88px; margin-bottom:18px; }
.comment-profile-dialog h2 { margin:8px 0; overflow-wrap:anywhere; }
.comment-profile-dialog .author-bio { white-space:pre-wrap; }
.comment-profile-dialog nav.social-links { position:static; width:auto; padding:0; background:none; box-shadow:none; }
.comment-profile-dialog .profile-actions { margin-bottom:0; }
@media(max-width:600px) { .journal-comment { margin-left:calc(var(--comment-depth,0) * 10px); padding-left:10px; } }
.journal-posts-first { display:block; }
.journal-primary-list .journal-post-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.journal-primary-list .journal-post-list li + li { margin-top:0; }
.journal-write { scroll-margin-top:100px; }
.journal-write > summary { cursor:pointer; padding:20px; background:#eeeede; border-radius:8px; font:26px Georgia,serif; }
.journal-write > .admin-editor { margin-top:16px; }
[data-native-book-label][hidden],[data-cover-picker][hidden] { display:none; }
.book-picker { position:relative; margin-bottom:22px; }
.book-picker > summary { cursor:pointer; border:1px solid #b8c2ac; border-radius:6px; padding:12px; background:#faf8f1; }
[data-selected-book] { display:inline-flex; align-items:center; gap:12px; vertical-align:middle; }
.book-picker img,.book-picker-placeholder { width:32px; height:46px; object-fit:contain; flex-shrink:0; }
.book-picker-placeholder { display:grid; place-items:center; background:#e9e8dd; }
.book-picker-options { position:absolute; left:0; right:0; z-index:10; max-height:320px; overflow:auto; border:1px solid #b8c2ac; background:#fffdf8; box-shadow:0 8px 24px #20332922; }
.book-picker-options button { display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:10px 14px; background:transparent; border:0; color:var(--ink); cursor:pointer; }
.book-picker-options button[aria-pressed=true],.book-picker-options button:hover { background:#e9eddf; }
@media(max-width:700px) { .journal-primary-list .journal-post-list { grid-template-columns:1fr; } }

.journal-post-actions { padding:8px 12px 0; }
