.journal-post { position:absolute; z-index:4; top:calc(var(--shelf-header-height, 80px) + 20px); right:var(--pad-x); padding:10px 24px; border:0; border-radius:6px; background:#000; color:#fff; font:500 14px var(--text); line-height:20px; cursor:pointer; }
.journal-post[hidden], body.is-reading .journal-post, body.is-book-detail .journal-post { display:none; }
/* Framed in the library the shelf runs under its top bar and search row: the button sits on the 記事一覧 line below them (library.css .book-back), not over the search field. */
html[data-library-theme] .journal-post { top:126px; }
.journal-post:focus-visible, .journal-composer :focus-visible { outline:2px solid #303030; outline-offset:4px; }
/* Same paper colour and original grain used by the existing Oliver Wyman reader. */
.journal-composer { --jp-paper:#f2f2f2; --jp-grain:url('/tobira-reader/content/dam/oliver-wyman/ow-forum/template-scripts/ai-mobility/images/overlay.svg'); position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0 0 80px; border:0; border-radius:0; background:var(--jp-paper) var(--jp-grain) repeat; color:#303030; font:14px/1.6 "Journal Inter", "Hiragino Sans", sans-serif; overflow:auto; }
.journal-composer, .journal-composer * { box-sizing:border-box; }
body:has(.journal-composer[open]) { overflow:hidden; }
.journal-composer::backdrop { background:var(--jp-paper); }
.journal-composer header { position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:16px; min-height:64px; padding:12px 28px; background:var(--jp-paper) var(--jp-grain) repeat; }
.journal-composer h2 { margin:0; font-size:16px; font-weight:500; }
.journal-composer button, .journal-composer select { border:0; border-radius:0; padding:7px 10px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.journal-composer button:hover, .journal-composer select:hover { background:#00000008; }
.journal-composer button.jp-primary { background:#303030; color:#fff; }
.journal-composer button:disabled { opacity:.45; cursor:default; }
.journal-composer .jp-close { margin-left:auto; font-size:24px; line-height:1; }
.journal-composer .jp-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.journal-composer .jp-actions + .jp-close { margin-left:0; }
.journal-composer .jp-toolbar { position:sticky; top:64px; z-index:2; display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 20px; background:var(--jp-paper) var(--jp-grain) repeat; overflow-x:auto; white-space:nowrap; font-size:12px; }
.journal-composer .jp-toolbar > * { flex-shrink:0; }
.journal-composer .jp-sheet, .journal-composer > .jp-body, .journal-composer > .jp-note, .journal-composer > .jp-status, .journal-composer > div:not(.jp-toolbar), .journal-composer > label { width:min(760px, calc(100% - 64px)); margin:40px auto; }
.journal-composer .jp-sheet { margin-top:64px; }
.journal-composer input[name=title] { display:block; width:100%; padding:0; margin:0 0 32px; border:0; border-radius:0; background:transparent; color:inherit; font-family:Tiempos, "Hiragino Mincho ProN", serif; font-size:clamp(28px,4vw,42px); line-height:1.3; font-weight:600; }
.journal-composer input::placeholder, .journal-composer .jp-writing:empty::before { color:#8b8985; }
.journal-composer .jp-writing { min-height:55vh; font-size:18px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.journal-composer .jp-writing:empty::before { content:attr(data-placeholder); pointer-events:none; }
.journal-composer .jp-writing h2 { font-family:Tiempos, "Hiragino Mincho ProN", serif; font-size:28px; font-weight:700; }
.journal-composer .jp-writing h3 { font-family:Tiempos, "Hiragino Mincho ProN", serif; font-size:22px; font-weight:600; }
.journal-composer .jp-writing p { margin:0 0 1em; }
.journal-composer details { margin-top:48px; color:#686868; font-size:13px; }
.journal-composer textarea { display:block; width:100%; min-height:80px; padding:12px 0; border:0; background:transparent; color:inherit; font:inherit; resize:vertical; }
.journal-composer .jp-note { color:#686868; font-size:13px; }
.journal-composer .jp-status { white-space:pre-wrap; font-size:13px; }
.journal-composer .jp-status[role=alert] { color:#a22; }
.journal-composer .jp-draft { display:block; width:100%; margin-top:12px; text-align:left; }
.journal-composer .jp-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:18px; }
.journal-composer .jp-check input { margin-right:8px; }
@media(max-width:700px) { .journal-post { top:76px; right:20px; padding:8px 20px; } html[data-library-theme] .journal-post { top:112px; } .journal-composer header { padding:10px 12px; gap:6px; } .journal-composer.jp-editor header h2 { display:none; } .journal-composer .jp-actions { gap:2px; margin-left:0; font-size:12px; } .journal-composer .jp-toolbar { justify-content:flex-start; padding:10px 12px; } .journal-composer .jp-sheet { width:calc(100% - 40px); margin-top:40px; } }
