/* Shared author journey. Page typography and colors follow the site tokens. */
:is(.rm-author-journey, .rm-publication-welcome, .rm-publication-tracking, .rm-publication-artifact, .author-steps, .author-mobile-stage) { --accent:#315d50; }
[data-theme="dark"] :is(.rm-author-journey, .rm-publication-welcome, .rm-publication-tracking, .rm-publication-artifact, .author-steps, .author-mobile-stage) { --accent:#8ed1b9; }
.rm-author-journey { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:24px 0; font-family:var(--font-ui); }
.rm-author-journey li { position:relative; min-width:0; color:var(--muted); }
.rm-author-journey li:not(:last-child)::after { content:""; position:absolute; left:48px; right:-16px; top:23px; height:2px; background:var(--line); transform-origin:left; animation:rm-author-connect 650ms ease-out both; }
.rm-author-journey li[data-state="complete"]::after { background:var(--accent); }
.rm-author-journey .rm-author-step-content,.rm-author-journey a,.rm-author-journey li > div { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:9px; min-height:44px; color:inherit; text-decoration:none; }
.rm-author-step-icon { display:grid; place-items:center; box-sizing:border-box; width:48px; height:48px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--surface); }
.rm-author-step-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rm-author-journey strong { color:var(--text); font-size:18px; line-height:1.5; word-break:keep-all; }
.rm-author-journey small { font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.rm-author-step-state { font-size:15px; font-weight:650; }
.rm-author-journey [data-state="complete"] .rm-author-step-icon { background:color-mix(in srgb,var(--accent) 10%,var(--surface)); color:var(--accent); border-color:var(--accent); }
.rm-author-journey [data-state="current"] .rm-author-step-icon { background:var(--accent); border-color:var(--accent); color:var(--surface); box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 14%,transparent); animation:rm-author-current 2s ease-out 3; }
.rm-author-journey [data-state="current"] .rm-author-step-state { color:var(--accent); }
.rm-author-journey a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:8px; }
.rm-author-journey a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.rm-author-journey--compact { gap:12px; margin:0 0 24px; }
.rm-author-journey--compact .rm-author-step-content,.rm-author-journey--compact a,.rm-author-journey--compact li > div { gap:6px; }
.rm-author-journey--compact strong { font-size:17px; }
.rm-author-journey--compact small { font-size:14px; }
.rm-submit-page .rm-author-journey { margin:12px 0 28px; }

body[data-page="publication"] .rm-flow-main { max-width:1100px; padding-top:36px; font-family:var(--font-ui); }
.rm-publication-welcome { display:flex; gap:22px; align-items:flex-start; margin:0 0 26px; padding:28px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:20px; background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface) 80%); }
.rm-publication-welcome-icon { display:grid; place-items:center; flex:0 0 72px; width:72px; height:72px; color:var(--accent); border-radius:20px; background:color-mix(in srgb,var(--accent) 9%,var(--surface)); }
.rm-publication-welcome-icon svg { width:44px; height:44px; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.rm-publication-kicker { display:inline-block; color:var(--accent); font-size:16px; font-weight:750; }
.rm-publication-welcome h1 { margin:10px 0 12px; font-family:var(--font-ui); font-size:clamp(26px,3vw,36px); line-height:1.4; word-break:keep-all; overflow-wrap:anywhere; }
.rm-publication-welcome p { margin:8px 0 0; line-height:1.7; font-size:17px; overflow-wrap:anywhere; }
.rm-publication-welcome .rm-publication-book-title { color:var(--text); font-size:19px; font-weight:650; }
.rm-publication-section-heading { display:flex; gap:12px; align-items:baseline; justify-content:space-between; flex-wrap:wrap; margin-bottom:18px; }
.rm-publication-section-heading h2 { margin:0; font-family:var(--font-ui); font-size:22px; line-height:1.5; }
.rm-publication-section-heading > span { color:var(--muted); font-size:16px; }
.rm-publication-dates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:26px 0 0; padding-top:20px; border-top:1px solid var(--line); }
.rm-publication-dates dt { margin-bottom:7px; font-size:15px; color:var(--muted); }
.rm-publication-dates dd { margin:0; font-size:18px; font-weight:650; line-height:1.6; overflow-wrap:anywhere; }
.rm-publication-elapsed { display:block; margin-top:4px; font-size:14px; font-weight:400; color:var(--muted); }
.rm-publication-storage-note { margin:16px 0 0; font-size:15px; color:var(--muted); line-height:1.7; }
body[data-page="publication"] .rm-publication-artifact { border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); }
.rm-publication-utilities { margin:20px 0 0; border-top:1px solid var(--line); padding-top:8px; }
.rm-publication-utilities summary,.rm-publication-plan > summary { min-height:44px; padding:10px 0; box-sizing:border-box; cursor:pointer; font-size:17px; font-weight:650; }
.rm-publication-utilities p { line-height:1.6; font-size:16px; }
.rm-publication-plan > summary { font-size:20px; }
.rm-publication-plan > p { font-size:17px; line-height:1.7; }
.rm-publication-after { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:20px; padding:0; margin:22px 0; }
.rm-publication-after li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:6px 10px; min-width:0; }
.rm-publication-after li > span { grid-row:span 2; display:grid; place-items:center; width:28px; height:28px; color:var(--muted); border:1px dashed var(--line); border-radius:50%; font-size:15px; }
.rm-publication-after strong { font-size:17px; line-height:1.5; }
.rm-publication-after small { font-size:15px; line-height:1.6; color:var(--muted); }
.rm-publication-inquiry > p { font-size:17px; }

@keyframes rm-author-connect { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes rm-author-current { 50% { box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 5%,transparent); } }
@media(max-width:650px) {
  .rm-author-journey { grid-template-columns:minmax(0,1fr); gap:22px; }
  .rm-author-journey li:not(:last-child)::after { left:23px; top:48px; bottom:-22px; right:auto; width:2px; height:auto; transform-origin:top; animation:none; }
  .rm-author-journey .rm-author-step-content,.rm-author-journey a,.rm-author-journey li > div { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:3px 14px; }
  .rm-author-step-icon { grid-row:span 2; }
  .rm-author-journey strong { font-size:18px; }
  .rm-author-step-state { text-align:right; font-size:14px; }
  .rm-author-journey small { grid-column:2 / -1; font-size:15px; }
  .rm-author-journey--compact { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .rm-author-journey--compact li:not(:last-child)::after { display:none; }
  .rm-author-journey--compact .rm-author-step-content,.rm-author-journey--compact a,.rm-author-journey--compact li > div { display:flex; align-items:center; gap:6px; text-align:center; }
  .rm-author-journey--compact .rm-author-step-icon { width:32px; height:32px; font-size:15px; }
  .rm-author-journey--compact strong { font-size:14px; }
  .rm-author-journey--compact small { display:none; }
  body[data-page="publication"] .rm-flow-main { padding-top:22px; }
  body[data-page="publication"] { padding-bottom:88px; }
  body[data-page="publication"] .rm-flow-card .rm-publication-state :is([data-publication-download], [data-publication-primary-action]) { position:fixed; z-index:90; inset:auto 16px max(12px, env(safe-area-inset-bottom)); width:calc(100vw - 32px); box-sizing:border-box; min-height:52px; padding:12px 16px; box-shadow:0 3px 18px #0003; font:700 17px/1.5 var(--font-ui); }
  .rm-publication-welcome { padding:20px; gap:12px; flex-direction:column; margin-bottom:20px; }
  .rm-publication-welcome-icon { flex-basis:48px; width:48px; height:48px; border-radius:14px; }
  .rm-publication-welcome-icon svg { width:32px; height:32px; }
  .rm-publication-welcome h1 { font-size:26px; }
  .rm-publication-welcome .rm-publication-book-title { font-size:18px; }
  .rm-publication-section-heading { gap:4px 12px; }
  .rm-publication-section-heading h2 { font-size:21px; }
  .rm-publication-dates { grid-template-columns:minmax(0,1fr); gap:12px; }
  .rm-publication-dates > div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
  .rm-publication-dates dt { flex:0 0 auto; margin:0; }
  .rm-publication-dates dd { text-align:right; font-size:17px; }
  .rm-publication-after { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .rm-author-journey li:not(:last-child)::after,.rm-author-journey [data-state] .rm-author-step-icon { animation:none; }
}

/* All pages use the same live-state renderer; the editor retains one header row. */
.rm-author-journey-live { margin:12px 0 0; color:var(--muted); font:15px/1.6 var(--font-ui); }
.rm-author-journey [data-state="working"] .rm-author-step-icon { border-color:var(--accent); color:var(--accent); animation:rm-author-current 1s ease-in-out infinite; }
.rm-author-journey [data-locked="true"] .rm-author-step-icon { border-style:dashed; }
.author-steps .rm-author-journey--inline { display:flex; gap:10px; margin:0; }
.rm-author-journey--inline li { min-width:64px; }
.rm-author-journey--inline .rm-author-step-content { display:flex; flex-direction:column; align-items:center; gap:2px; min-height:0; }
.rm-author-journey--inline .rm-author-step-icon { width:20px; height:20px; }
.rm-author-journey--inline .rm-author-step-icon svg { width:14px; height:14px; }
.rm-author-journey--inline strong { font:650 12px/1.4 var(--font-ui); background:var(--surface); white-space:nowrap; }
.rm-author-journey--inline :is(small, .rm-author-step-state) { display:none; }
.rm-author-journey--inline li:not(:last-child)::after { top:9px; left:calc(50% + 10px); right:calc(-50% - 10px); }
.rm-cover-author-confirm { display:flex; gap:10px; align-items:flex-start; margin:14px 0 0; font:17px/1.6 var(--font-ui); }
.rm-cover-author-confirm input { width:20px; height:20px; accent-color:var(--accent); flex:0 0 auto; margin-top:4px; }
.rm-cover-completion-note { font:16px/1.6 var(--font-ui); color:var(--muted); }
[data-cover-next][aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
@media(max-width:1100px) { .author-steps .rm-author-journey--inline { gap:8px; } .rm-author-journey--inline li { min-width:56px; } .rm-author-journey--inline strong { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .rm-author-journey [data-state="working"] .rm-author-step-icon { animation:none; } }

/* Compact trackers balance every stage around the same center line. */
.rm-author-journey--compact .rm-author-step-content { align-items:center; text-align:center; }
.rm-author-journey--compact li:not(:last-child)::after { left:calc(50% + 24px); right:calc(-50% + 12px); }
.rm-submit-page .rm-author-journey { width:100%; max-width:1000px; margin:16px auto 28px; }
.submit-registration-plan { margin:22px 0; padding:22px; border:1px solid var(--line); border-radius:14px; }
.submit-registration-plan h3 { margin:0 0 16px; font:700 20px/1.5 var(--font-ui); }
.submit-registration-plan h3 span { display:block; margin-top:4px; color:var(--muted); font:15px/1.5 var(--font-ui); }
.submit-plan-hint { margin:12px 0 0; color:var(--muted); font:16px/1.6 var(--font-ui); }
@media(max-width:650px) {
  .rm-author-journey--compact li:not(:last-child)::after { display:block; width:auto; height:2px; bottom:auto; top:15px; left:calc(50% + 16px); right:calc(-50% + 8px); }
  .rm-author-journey--compact .rm-author-step-state { font-size:12px; }
  .submit-registration-plan { padding:16px; }
}
.rm-publication-next .rm-flow-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.rm-publication-next .rm-flow-checks li { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px; border:1px solid var(--line); border-radius:12px; font:16px/1.6 var(--font-ui); }
@media(max-width:650px) { .rm-publication-next .rm-flow-checks { grid-template-columns:1fr; } }
