/* One page, one primary job: read the contribution, see an invitation, then reply. */
.rm-reply-label{ display:block; margin:0 0 12px; font:500 13px/1.5 var(--font-sans); color:var(--ink-text); }
.rm-reply-label.rm-reply-question{ font:500 23px/1.3 var(--font-serif); margin:0 0 16px; }
.rm-reply-chips{ margin:0 0 16px; gap:8px; }
.rm-reply-chips .rm-chip{ font:13px/1.45 var(--font-sans); padding:10px 13px; min-height:44px; border-radius:8px; background:var(--cream-raised-hi); }
.rm-reoption{ min-height:44px; }
.rm-reoption-note:empty{ display:none; }
.rm-textarea{ min-height:84px; }
.rm-quiz-inner:has(.rm-contribution){ box-shadow:none; border-radius:0; max-width:610px; }
.rm-contribution{ font-size:21px; line-height:1.55; scroll-margin-top:24px; }
.rm-contribution:focus{ outline:none; box-shadow:none; }
.btn-continue{ border-radius:8px; background:#31523d; color:white; box-shadow:none; }
.rm-textarea::placeholder{ font-style:normal; font-size:16px; }
.rm-keep-reply{ margin:12px 0 28px; }
.rm-quiz-body:has(.rm-contribution) .rm-answer{ border-top:1px solid var(--hairline-ink); padding-top:22px; }
.p3-starter-choice{ display:block; width:100%; text-align:left; margin:12px 0; padding:20px; background:var(--cream-raised-hi); color:var(--ink-text); border:1px solid var(--hairline-ink); border-radius:8px; cursor:pointer; }
.p3-starter-choice strong{ display:block; font:500 21px/1.2 var(--font-serif); margin-bottom:8px; }
.p3-starter-choice span{ font:13px/1.5 var(--font-sans); color:var(--muted-ink); }
.p3-starter-choice:hover{ border-color:#41604b; }
#rm-starter-doors{ display:block; margin-top:25px; }
.mirror-home{ max-width:1120px; padding:28px 38px 60px; }
.home-wordmark{ font-style:normal; letter-spacing:-.06em; }
.home-header nav a{ padding:8px 0; }
.home-intro{ display:flex; justify-content:space-between; align-items:center; gap:25px; max-width:none; margin:45px 0; }
.home-intro h1{ font-size:48px; font-weight:400; margin:10px 0 12px; }
.home-intro p:last-child{ font:15px/1.6 var(--font-sans); color:var(--muted-ink); }
.mirror-home .home-conversation{ display:inline-flex; align-items:center; gap:25px; padding:14px 18px; border-radius:6px; background:#31523d; color:white; font:14px/1.5 var(--font-sans); text-decoration:none; }
.home-columns{ grid-template-columns:1.2fr 1fr; gap:65px; }
.home-reading{ padding-top:8px; }
.home-contents a{ padding:18px 0; }
.home-contents strong{ font-size:21px; font-weight:400; }
.home-matter{ padding:27px; border-radius:3px; }
.home-matter h2{ font-size:28px; margin-bottom:20px; }
#home-matter-summary h3{ font:400 24px/1.25 var(--font-serif); margin:15px 0; overflow-wrap:anywhere; }
#home-matter-summary p{ font:15px/1.65 var(--font-sans); color:var(--muted-ink); }
.home-matter-note{ white-space:pre-line; overflow-wrap:anywhere; }
.home-matter-state{ font:12px/1.5 var(--font-sans); color:#41604b; }
.home-matter-editor{ border-top:1px solid var(--hairline-ink); margin-top:24px; }
.home-matter-editor>summary{ padding:17px 0 0; font:13px/1.5 var(--font-sans); cursor:pointer; }
.home-kept{ max-width:none; margin-top:45px; padding-top:30px; border-top:1px solid var(--hairline-ink); }
.home-kept details{ max-width:720px; }
.home-kept summary{ font-size:22px; line-height:1.3; }
@media(max-width:700px){
  .mirror-home{ padding:20px 23px 40px; }
  .home-header{ flex-wrap:wrap; gap:16px; }
  .home-header nav{ max-width:none; justify-content:flex-start; gap:8px 17px; }
  .home-header nav a{ font-size:12px; }
  .home-intro{ display:block; margin:32px 0 38px; }
  .home-intro h1{ font-size:39px; }
  .home-conversation{ margin-top:10px; }
  .home-columns{ grid-template-columns:1fr; gap:30px; }
  .home-matter{ padding:23px; }
  .rm-contribution{ font-size:20px; }
}
/* A quiet route for a person who wants Mirror to supply the next move. */
.rm-neutral-continue { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:16px 0; }
.rm-neutral-continue button { border:1px solid var(--line, #c5c5bd); border-radius:24px; padding:10px 16px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.rm-neutral-continue button:hover { background:rgba(120,130,100,.08); }
.rm-neutral-continue button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.rm-neutral-continue span, .rm-carried-draft { font-size:12px; color:var(--muted-ink, #66685f); line-height:1.5; }
.rm-reply-ideas { margin:0 0 18px; }
.rm-reply-ideas-header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; margin-bottom:4px; }
.rm-reply-ideas-label { flex:1; min-width:0; margin:0; font:13px/1.4 var(--font-sans); color:var(--muted-ink); }
.rm-reply-ideas .rm-reply-chips { margin-bottom:2px; }
.rm-reply-ideas-header .rm-reoption { flex:none; min-height:44px; margin:0; padding:8px 4px; border:0; border-radius:4px; font-size:12px; color:var(--card-accent); opacity:1; text-decoration:underline; text-underline-offset:3px; }
.rm-reply-ideas-header .rm-reoption[disabled] { opacity:.45; }
.rm-quiz-foot > .rm-redirect { margin-top:0; padding-top:18px; border-top:1px solid var(--hairline-ink); }
.rm-reply-composer { display:flex; align-items:flex-end; gap:10px; }
.rm-reply-composer .rm-textarea { flex:1; min-width:0; margin:0; max-height:220px; overflow-y:auto; }
.rm-reply-composer .btn-continue-wrap { margin:0; padding:0; flex:0 0 auto; }
.rm-reply-composer .btn-continue { min-width:64px; min-height:44px; padding:12px 16px; margin:0; }
.rm-quiz-body:has(.rm-contribution) .rm-neutral-continue { margin:12px 0 4px; }
.rm-pivot-options { display:grid; gap:8px; margin:12px 0; }
.rm-pivot-options button { text-align:left; padding:12px; border:1px solid var(--hairline-ink); border-radius:8px; background:var(--cream-raised-hi); color:var(--ink-text); font:14px/1.5 var(--font-sans); cursor:pointer; }
.rm-pivot-status { font:13px/1.5 var(--font-sans); color:var(--muted-ink); }
/* Keep quiet conversation controls easy to hit without changing their hierarchy. */
.rm-quiz .progress-back { min-width:44px; min-height:44px; }
.rm-quiz .rm-keep-reply button, .rm-quiz .rm-redirect-btn { min-height:44px; }
@media(max-width:700px) {
  .rm-reply-composer .rm-textarea { font-size:16px; min-height:84px; }
  .kb-open .rm-reply-composer .rm-textarea { max-height:max(84px, calc(var(--kb-visible-height, 400px) * .4)); }
  .rm-reply-composer .btn-continue { padding:12px; }
  .rm-quiz .rm-pivot-input { font-size:16px; min-height:44px; }
  .rm-neutral-continue { align-items:flex-start; gap:8px; }
  .rm-neutral-continue span { flex:1; }
}
