/* Scoped to journal writing/reading surfaces. Existing homepage tokens unchanged. */
.mine-composer { position: relative; min-width: 0; }
.mine-blocks { min-height: 260px; }
.mine-block { position: relative; min-width: 0; }
.mine-text-block { padding: 3px 0; }
.mine-text-input {
  display: block; width: 100%; box-sizing: border-box; padding: 0;
  border: 0; border-radius: 0; background: transparent; color: var(--ink);
  font: 400 20px/1.8 var(--serif); resize: none; overflow: hidden;
  min-height: 72px; outline: none; white-space: pre-wrap;
}
.mine-text-input:focus-visible { outline: 1px solid var(--hairline); outline-offset: 6px; }
.mine-text-input::placeholder { color: var(--ink-3); }
.mine-text-block:only-child .mine-text-input { min-height: 270px; }
.mine-media-block { margin: 22px 0; }
.mine-media-preview { color: var(--ink-2); font: 400 13px/1.6 var(--sans); min-width: 0; }
.mine-media-preview:empty { display: none; }
.mine-inline-media { display: block; width: auto; max-width: 100%; max-height: 70vh; height: auto; margin: 0 auto; object-fit: contain; border-radius: var(--r); }
video.mine-inline-media { width: 100%; background: var(--walnut-900); }
.mine-caption { width: 100%; box-sizing: border-box; border: 0; border-bottom: 1px solid transparent; padding: 10px 0 5px; background: transparent; color: var(--ink-2); font: 400 13px/1.6 var(--sans); }
.mine-caption:focus { border-bottom-color: var(--hairline); }
.mine-caption::placeholder { color: var(--ink-3); }
.mine-block-actions { display: flex; flex-wrap: wrap; gap: 2px; justify-content: flex-end; margin-top: 5px; opacity: .3; transition: opacity .15s; }
.mine-block:hover .mine-block-actions, .mine-block:focus-within .mine-block-actions { opacity: 1; }
.mine-quiet-control { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px 10px; border: 0; border-radius: var(--r); background: transparent; color: var(--ink-2); font: 500 12px/1.3 var(--sans); }
.mine-quiet-control:hover { color: var(--ink); background: var(--surface-subtle); }
.mine-quiet-control:disabled { opacity: .35; cursor: default; }
.mine-text-actions { margin: 0; height: 0; overflow: hidden; opacity: 0; }
.mine-text-block:focus-within .mine-text-actions { height: auto; overflow: visible; opacity: .7; }
.mine-insert-bar { display: flex; align-items: center; gap: 10px; margin-top: 16px; position: relative; }
.mine-add-button { border: 1px solid var(--hairline); border-radius: 50%; font-size: 24px; width: 44px; height: 44px; padding: 0; }
.mine-insert-hint { color: var(--ink-3); font: 400 12px/1.6 var(--sans); }
.mine-insert-menu { position: absolute; bottom: calc(100% + 8px); left: 0; display: flex; gap: 4px; padding: 5px; background: var(--card); border: 1px solid var(--hairline); border-radius: var(--r-lg); box-shadow: 0 4px 16px #23261f0d; z-index: 4; }
.mine-insert-menu button { font-size: 13px; padding: 10px 16px; gap: 7px; }
.mine-insert-menu.hidden { display: none; }
.mine-media-error, .mine-composer-error { margin-top: 10px; padding: 10px 12px; background: var(--error-container); color: var(--on-error-container); font: 400 13px/1.6 var(--sans); border-radius: var(--r); }
.mine-composer-note { color: var(--ink-3); font: 400 12px/1.6 var(--sans); margin-top: 12px; }
.mine-import-status { font: 400 13px/1.6 var(--sans); color: var(--ink-2); padding: 20px 0; }
.mine-composer[data-dragging] { outline: 1px dashed var(--ember); outline-offset: 8px; }
.mine-document { min-width: 0; }
.mine-reading-text { font: 400 21px/1.65 var(--serif); white-space: pre-wrap; margin: 0 0 24px; overflow-wrap: anywhere; }
.mine-reading-figure { margin: 28px 0; min-width: 0; }
.mine-reading-figure figcaption { font: 400 13px/1.6 var(--sans); color: var(--ink-2); margin-top: 10px; white-space: pre-wrap; }
.mine-media-indicator { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-3); font: 400 11px/1.5 var(--sans); margin-top: 8px; }
@media (min-width: 768px) { .mine-reading-text { font-size: 24px; } }
@media (max-width: 639px), (hover: none) {
  .mine-block-actions { opacity: .8; }
  .mine-text-input { font-size: 18px; }
  .mine-insert-hint { max-width: 24ch; }
}
@media (prefers-reduced-motion: reduce) { .mine-block-actions { transition: none; } }
