/* Screen-local rules for the launcher's screens (todoapi/launch/screens/*.js). Additive to launch.css: the Appshell tokens and
   components live there; each stream appends its own banner here and touches nothing above it. Dark only; no outside reference. */

/* S6 — invited (welcome + install), agent (which agent), gotyou (I got you): build item launcher-install-agent */
.lead { display: grid; gap: 8px; justify-items: center; max-width: 36em; min-width: 0; }
.lead .big, .lead .line { max-width: none; }
.line.warn { color: var(--warning); }
.card.install-card h3 { font-size: 20px; }
.card.install-card .small { text-align: left; }
.card .hint { margin-top: -4px; }
.opts { max-width: 520px; }
.optcard .body { min-width: 0; flex: 1; }
.optcard .body > span { overflow-wrap: anywhere; }
.card.after { max-width: 520px; }
.card.after p { color: var(--ink); }
.card.after p.small { color: var(--muted); text-align: left; }
.card.after p.deferred { color: var(--muted-2); font-size: 12px; letter-spacing: .04em; }
.card.after p.warn { color: var(--warning); }
.card.after .acts { justify-content: flex-start; }
#start-questions { min-width: 200px; }
/* end S6 */

/* S7 */
/* screens 5–6 (launcher-questions): the questions with the live profile card, the hand-off */
.qhead { width: 100%; max-width: 960px; }
.qhead .big, .qhead .small { text-align: left; }
.q.dashed { border-style: dashed; }
.q .why:last-child { margin-bottom: 0; }
.q .opts { max-width: none; }
.qlist .acts { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 6px; }
.qlist .refuse { margin: 0; font-size: 13.5px; color: var(--danger-ink); flex-basis: 100%; }
.qlist .savenote { margin: 0; font-size: 12.5px; color: var(--muted); min-height: 1.2em; }
.qlist .savenote.bad { color: var(--danger-ink); }
.q .ferr { margin: 6px 0 0; font-size: 12.5px; color: var(--danger-ink); }
.q .row select { min-width: 0; }
.prof .foot { margin: 10px 0 0; font-size: 12px; color: var(--muted-2); }
.handoff { display: grid; gap: 16px; width: 100%; max-width: 560px; justify-items: stretch; }
.handoff .card { max-width: none; }
.handoff .big, .handoff .small { text-align: left; }
.handoff .waiting { margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--accent-light); color: var(--accent-ink); font-size: 14px; }
.handoff .stop { margin: 14px 0 6px; }
.handoff .addr div { padding: 2px 0; }
.handoff .expires { margin: 10px 0 0; font-size: 13px; }
.handoff .travel { margin: 8px 0 0; font-size: 12.5px; }
.handoff .nocode { margin: 0; color: var(--ink); font-size: 15px; }
.handoff .copyfail { margin: 8px 0 0; font-size: 13px; color: var(--warning); }
.checks label { cursor: pointer; }
@media (max-width: 760px) {
  .qlist .acts .btn { width: 100%; }
  .q .row > * { flex-basis: 100%; }            /* name + LinkedIn, hours + weekends: one under the other on a phone */
}

/* S8 — screens 7–9 (launcher-working): the step card's two lines and who-acts tag, the fine print on the People card, the action
   row under the tiles. .card .payoff .link2 .fprog .result .btn .tiles are launch.css's. */
.card .step-what { color: var(--ink); font-size: 16px; margin: 0 0 4px; }
.card .step-what .src { margin-left: 4px; vertical-align: 1px; }
.src.you { background: var(--accent-light); color: var(--accent-ink); }
.card .fine { font-size: 12.5px; color: var(--muted-2); }
.acts-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.link2 .agent span { display: block; }

/* S9 — launcher-done-wrong: You're in (done) and Something's wrong (wrong) */
.done-head .line, .wrong-head .small { margin-top: 6px; }
.collab .row { display: flex; gap: 14px; align-items: center; min-width: 0; }
.collab .row .text { min-width: 0; }
.collab .art { flex: none; }
.collab h3 .newtag { margin-left: 6px; vertical-align: middle; }
.collab .acts { margin-top: 14px; }
.ghost[disabled] { opacity: .7; }
#wrong-card .result { margin-top: 0; }
#wrong-card p b { color: var(--ink); font-weight: 600; }
