/* ==========================================================================
   THE AUTONOMY LADDER (2026-09-29)
   The onboarding step before LinkedIn (#page-outreach-ladder) and the panel at
   the top of the Outreach dashboard (#od-autonomy). Lifted from the approved
   prototype, docs/projects/outreach-review/ladder/prototype.html: same tokens,
   same dark ladder card, same rungs, same "You are here" pin, and the NEW /
   BACK TO YOU diff (o9: the SAME lines are left out; a preview says only what
   changes). Everything is scoped under .oal so nothing leaks.
   ========================================================================== */
.oal {
  --oal-bg: #f6f4ee; --oal-surface: #ffffff; --oal-surface-2: #faf9f4; --oal-surface-3: #f1eee5;
  --oal-border: #e8e4d8; --oal-border-soft: #efece2; --oal-border-strong: #d8d3c2;
  --oal-text: #15172b; --oal-text-2: #4d5168; --oal-text-3: #8a8fa6; --oal-text-4: #b3b6c4;
  --oal-accent: #6a4cf1; --oal-accent-2: #8b6dff; --oal-accent-soft: #efeaff; --oal-accent-softer: #f5f1ff; --oal-accent-deep: #4a32b8;
  --oal-good: #1c8e5a; --oal-good-soft: #e2f3ea; --oal-warn: #b87410; --oal-warn-soft: #fbf0d9;
  --oal-dark: linear-gradient(110deg, #15102e 0%, #221a52 60%, #2d2470 100%);
  color: var(--oal-text);
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 14.5px; line-height: 1.5;
}
.oal *, .oal *::before, .oal *::after { box-sizing: border-box; }
.oal button { font-family: inherit; cursor: pointer; }
.oal-page { background: var(--oal-bg); min-height: 100%; padding: 30px 40px 60px; }
.oal-page-inner { max-width: 1180px; margin: 0 auto; }

/* Page head */
.oal .phead { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 20px; }
.oal .eyebrow { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .2em; color: var(--oal-text-3); text-transform: uppercase; }
.oal h1 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 30px; letter-spacing: -0.02em; margin: 6px 0 4px; line-height: 1.15; color: var(--oal-text); }
.oal .sub { color: var(--oal-text-2); margin: 0; max-width: 640px; }
.oal .hstatus { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.oal .status { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-weight: 600; font-size: 13px; background: var(--oal-good-soft); color: var(--oal-good); white-space: nowrap; }
.oal .status .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.oal .status.idle { background: var(--oal-surface-3); color: var(--oal-text-2); }
.oal .status.paused { background: var(--oal-warn-soft); color: var(--oal-warn); }

/* Buttons */
.oal .btn { border: 1px solid var(--oal-border); background: var(--oal-surface); color: var(--oal-text); padding: 9px 15px; border-radius: 10px; font-weight: 600; font-size: 13.5px; display: inline-flex; align-items: center; gap: 7px; line-height: 1.3; }
.oal .btn:hover { border-color: var(--oal-border-strong); }
.oal .btn-primary { background: var(--oal-accent); color: #fff; border-color: transparent; }
.oal .btn-primary:hover { background: var(--oal-accent-deep); }
.oal .btn-primary[disabled] { background: var(--oal-text-4); cursor: not-allowed; }
.oal .btn-quiet { border-color: transparent; background: transparent; color: var(--oal-text-2); }
.oal .btn-quiet:hover { background: var(--oal-surface-3); }
.oal .btn-warn { color: var(--oal-warn); border-color: #efd9ad; background: var(--oal-warn-soft); }
.oal .btn-sm { padding: 6px 11px; font-size: 12.5px; border-radius: 8px; }
.oal .btn-onDark { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.22); }
.oal .btn-onDark:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.3); }
.oal .linkish { background: none; border: 0; color: var(--oal-accent); font-weight: 600; padding: 0; font-size: 13px; }

/* The ladder: dark card, three rungs */
.oal .ladder { background: var(--oal-dark); color: #fff; border-radius: 22px; padding: 26px 28px 24px; position: relative; overflow: hidden; margin-bottom: 18px; }
.oal .ladder::before { content: ""; position: absolute; right: -90px; top: -90px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(139,109,255,0.4), transparent 65%); pointer-events: none; }
.oal .ladder > * { position: relative; }
.oal .ladder .eyebrow { color: rgba(255,255,255,.6); }
.oal .ladder h2 { font-family: "Bricolage Grotesque", sans-serif; font-size: 24px; letter-spacing: -0.02em; margin: 6px 0 4px; line-height: 1.2; max-width: 720px; color: #fff; font-weight: 700; }
.oal .ladder .lead { color: rgba(255,255,255,.75); margin: 0; max-width: 680px; }
.oal .rungs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; position: relative; }
.oal .rung { text-align: left; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; border-radius: 14px; padding: 14px 16px 15px; position: relative; transition: background .15s; min-height: 118px; font-size: 14.5px; }
.oal .rung:hover { background: rgba(255,255,255,.11); }
.oal .rung .num { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: .14em; color: rgba(255,255,255,.55); }
.oal .rung .nm { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 20px; margin-top: 2px; }
.oal .rung .ln { font-size: 13px; color: rgba(255,255,255,.72); margin-top: 3px; line-height: 1.4; }
.oal .rung.here { background: #fff; color: var(--oal-text); border-color: #fff; }
.oal .rung.here .num { color: var(--oal-accent); }
.oal .rung.here .ln { color: var(--oal-text-2); }
.oal .rung.previewing { outline: 2px solid #b9a8ff; outline-offset: 2px; }
.oal .rung .pin { position: absolute; top: 12px; right: 12px; font-size: 10.5px; font-weight: 700; font-family: "JetBrains Mono", monospace; letter-spacing: .08em; background: var(--oal-accent); color: #fff; padding: 3px 8px; border-radius: 999px; text-transform: uppercase; }
.oal .rung .done { position: absolute; top: 12px; right: 12px; font-size: 11px; color: rgba(255,255,255,.55); }
.oal .ladder-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.oal .ladder-foot .hint { color: rgba(255,255,255,.6); font-size: 12.5px; }

/* Cards */
.oal .card { background: var(--oal-surface); border: 1px solid var(--oal-border); border-radius: 18px; overflow: hidden; margin-bottom: 18px; }
.oal .card-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; gap: 12px; border-bottom: 1px solid var(--oal-border-soft); }
.oal .card-title { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 17px; letter-spacing: -0.01em; display: flex; align-items: center; gap: 10px; }
.oal .card-head .btn { white-space: nowrap; flex: 0 0 auto; }
.oal .card-meta { color: var(--oal-text-3); font-size: 12.5px; }
.oal .card-body { padding: 18px 20px; }
.oal .card-foot { padding: 12px 20px; border-top: 1px solid var(--oal-border-soft); background: var(--oal-surface-2); color: var(--oal-text-3); font-size: 12.5px; }
.oal .count { background: var(--oal-surface-3); color: var(--oal-text-2); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; }
.oal .grid2 { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 18px; align-items: start; }

/* On X right now */
.oal .detail-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.oal .col-h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; display: flex; align-items: center; gap: 7px; }
.oal .col-h.runs { color: var(--oal-good); }
.oal .col-h.waits { color: var(--oal-accent); }
.oal .col-h .sq { width: 9px; height: 9px; border-radius: 3px; background: currentColor; }
.oal ul.plain { list-style: none; margin: 0; padding: 0; }
.oal ul.plain li { padding: 7px 0 7px 22px; position: relative; color: var(--oal-text-2); border-top: 1px solid var(--oal-border-soft); font-size: 14px; }
.oal ul.plain li:first-child { border-top: 0; }
.oal ul.plain li::before { content: ""; position: absolute; left: 3px; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: var(--oal-border-strong); }
.oal ul.plain.r li::before { background: var(--oal-good); }
.oal ul.plain.w li::before { background: var(--oal-accent); }
.oal ul.plain.never li::before { background: var(--oal-text-4); }
.oal ul.plain li b { color: var(--oal-text); font-weight: 600; }
.oal .next { margin-top: 16px; border: 1px solid var(--oal-border); background: var(--oal-surface-2); border-radius: 14px; padding: 16px 18px; }
.oal .next h3 { margin: 0 0 4px; font-family: "Bricolage Grotesque", sans-serif; font-size: 16px; }
.oal .next p { margin: 0; color: var(--oal-text-2); font-size: 13.5px; }
.oal .diff { list-style: none; padding: 0; margin: 10px 0 0; }
.oal .diff li { display: flex; gap: 10px; padding: 6px 0; font-size: 13.5px; color: var(--oal-text-2); }
.oal .diff .k { font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 600; border-radius: 6px; padding: 1px 6px; height: fit-content; margin-top: 2px; flex: 0 0 auto; }
.oal .diff .k.plus { background: var(--oal-good-soft); color: var(--oal-good); }
.oal .diff .k.same { background: var(--oal-surface-3); color: var(--oal-text-2); }
.oal .diff .k.minus { background: var(--oal-accent-soft); color: var(--oal-accent-deep); }
.oal .actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; align-items: center; }
.oal .advice { background: var(--oal-warn-soft); border: 1px solid #efd9ad; color: #7a4d06; border-radius: 12px; padding: 11px 14px; margin-bottom: 14px; font-size: 13.5px; font-weight: 500; }

/* Limits: the cap, the style, what always waits */
.oal .limits { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.oal .limit { border: 1px solid var(--oal-border); border-radius: 12px; padding: 12px 14px; min-width: 0; }
.oal .limit .t { font-size: 12.5px; color: var(--oal-text-3); font-weight: 500; }
.oal .stepper { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.oal .stepper button { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--oal-border); background: var(--oal-surface); font-size: 16px; font-weight: 600; color: var(--oal-text-2); padding: 0; }
.oal .stepper button[disabled] { opacity: .45; cursor: default; }
.oal .stepper .v { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 22px; min-width: 26px; text-align: center; }
.oal .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.oal .chip { border: 1px solid var(--oal-border); background: var(--oal-surface); border-radius: 999px; padding: 4px 11px; font-size: 12.5px; font-weight: 600; color: var(--oal-text-2); }
.oal .chip.on { background: var(--oal-accent-soft); border-color: #cfc3ff; color: var(--oal-accent-deep); }
.oal .chip.fixed { background: var(--oal-surface-3); color: var(--oal-text-2); cursor: default; }

/* Went out without you */
.oal .item { padding: 14px 0; border-top: 1px solid var(--oal-border-soft); }
.oal .item:first-child { border-top: 0; padding-top: 4px; }
.oal .item-h { display: flex; gap: 12px; align-items: flex-start; }
.oal .item-h .who { flex: 1; min-width: 0; }
.oal .item-h .nm { font-weight: 600; }
.oal .item-h .rl { color: var(--oal-text-3); font-size: 12.5px; }
.oal .post { margin: 10px 0 0; background: var(--oal-surface-2); border-left: 3px solid var(--oal-border-strong); border-radius: 0 8px 8px 0; padding: 8px 12px; color: var(--oal-text-2); font-size: 13.5px; overflow-wrap: anywhere; }
.oal .draft { margin: 8px 0 0; border: 1px solid #d9d0ff; background: var(--oal-accent-softer); border-radius: 10px; padding: 10px 12px; font-size: 14px; overflow-wrap: anywhere; }
.oal .draft .lab { font-size: 11px; font-weight: 700; color: var(--oal-accent); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 3px; }
.oal .why { margin: 8px 0 0; font-size: 12.5px; color: var(--oal-text-2); display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.oal .why .w { font-weight: 700; color: var(--oal-text-3); letter-spacing: .06em; text-transform: uppercase; font-size: 10.5px; margin-right: 2px; }
.oal .why span.c { background: var(--oal-good-soft); color: #145c3b; border-radius: 6px; padding: 1px 7px; }
.oal .st { font-size: 12px; font-weight: 600; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.oal .st.posted { background: var(--oal-good-soft); color: var(--oal-good); }
.oal .st.queued { background: var(--oal-accent-soft); color: var(--oal-accent-deep); }
.oal .st.undone, .oal .st.stopped { background: var(--oal-surface-3); color: var(--oal-text-2); }
.oal .cant { margin: 8px 0 0; font-size: 12.5px; color: var(--oal-text-3); }
.oal .avatar { width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, #5b7cfa, #6a4cf1); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex: 0 0 34px; }
.oal .empty { padding: 6px 0; color: var(--oal-text-3); font-size: 13.5px; }

/* The onboarding step */
.oal .stepbar { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.oal .stepbar div { display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: var(--oal-surface); border: 1px solid var(--oal-border); font-size: 13px; font-weight: 600; color: var(--oal-text-2); }
.oal .stepbar .n { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--oal-surface-3); font-size: 12px; }
.oal .stepbar .done .n { background: var(--oal-good); color: #fff; }
.oal .stepbar .now { border-color: #cfc3ff; background: var(--oal-accent-softer); color: var(--oal-accent-deep); }
.oal .stepbar .now .n { background: var(--oal-accent); color: #fff; }
.oal .row { display: flex; gap: 14px; padding: 14px 20px; border-top: 1px solid var(--oal-border-soft); align-items: flex-start; }
.oal .row:first-child { border-top: 0; }
.oal .row .ri { width: 32px; height: 32px; border-radius: 9px; background: var(--oal-surface-3); flex: 0 0 32px; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.oal .row .rb { flex: 1; min-width: 0; }
.oal .row .rt { font-weight: 600; }
.oal .row .rd { color: var(--oal-text-3); font-size: 13px; }
.oal .tagk { font-size: 12px; font-weight: 600; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.oal .tagk.maya { background: var(--oal-good-soft); color: var(--oal-good); }
.oal .tagk.you { background: var(--oal-accent-soft); color: var(--oal-accent-deep); }
.oal .tagk.off { background: var(--oal-surface-3); color: var(--oal-text-2); }
.oal .see { margin-top: 10px; border: 1px solid var(--oal-border); border-radius: 12px; padding: 12px 14px; background: var(--oal-surface-2); }
.oal .see textarea, .oal textarea.oal-ta { width: 100%; border: 1px solid var(--oal-border-strong); border-radius: 8px; padding: 9px; font: inherit; font-size: 14px; min-height: 90px; background: #fff; color: var(--oal-text); resize: vertical; }
.oal textarea.oal-ta { min-height: 64px; }
.oal .see .meta { display: flex; justify-content: space-between; font-size: 12px; color: var(--oal-text-3); margin-top: 6px; gap: 10px; }
.oal .opt { display: flex; gap: 12px; padding: 14px 16px; border: 1px solid var(--oal-border); border-radius: 14px; margin-top: 10px; background: var(--oal-surface); text-align: left; width: 100%; font-size: 14px; color: var(--oal-text); }
.oal .opt.on { border-color: var(--oal-accent); background: var(--oal-accent-softer); box-shadow: 0 0 0 3px var(--oal-accent-soft); }
.oal .opt .radio { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--oal-border-strong); flex: 0 0 18px; margin-top: 2px; }
.oal .opt.on .radio { border: 5px solid var(--oal-accent); }
.oal .opt .ot { font-weight: 600; }
.oal .opt .od { color: var(--oal-text-2); font-size: 13px; }
.oal .opt-cap { margin: 8px 0 0 30px; display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--oal-text-2); flex-wrap: wrap; }
.oal .style-opt { display: block; width: 100%; text-align: left; border: 1px solid var(--oal-border); background: var(--oal-surface); border-radius: 12px; padding: 10px 12px; margin-top: 8px; font-size: 13.5px; color: var(--oal-text); }
.oal .style-opt b { display: block; font-weight: 600; }
.oal .style-opt span { color: var(--oal-text-3); font-size: 12.5px; }
.oal .style-opt.on { border-color: var(--oal-accent); background: var(--oal-accent-softer); }
.oal .lang { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; background: var(--oal-surface-2); border: 1px solid var(--oal-border-soft); border-radius: 12px; padding: 10px 12px; margin-top: 14px; font-size: 13.5px; color: var(--oal-text-2); }
.oal .lang b { color: var(--oal-text); }
.oal .sect-h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--oal-text-3); margin: 16px 0 2px; }
.oal .sect-h:first-child { margin-top: 0; }
.oal .ex { padding: 14px 20px; border-top: 1px solid var(--oal-border-soft); }
.oal .ex:first-child { border-top: 0; }
.oal .ex .nm { font-weight: 600; font-size: 13.5px; }
.oal .oal-note { color: var(--oal-text-3); font-size: 13px; margin-top: 12px; }
.oal .oal-ok { color: var(--oal-good); font-weight: 600; font-size: 12.5px; }

/* Sensitive topics: always-held chips, then a switch per adjustable topic */
.oal .topics { margin-top: 16px; border: 1px solid var(--oal-border); border-radius: 14px; padding: 14px 16px; background: var(--oal-surface); }
.oal .topics .sect-h { margin-top: 0; }
.oal .tp-lead { margin: 4px 0 10px; color: var(--oal-text-2); font-size: 13.5px; }
.oal .tp-h { font-size: 12.5px; color: var(--oal-text-3); font-weight: 600; }
.oal .tp-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--oal-border-soft); }
.oal .tp-h + .tp-row { border-top: 0; }
.oal .tp-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.oal .tp-b b { font-weight: 600; font-size: 14px; color: var(--oal-text); }
.oal .tp-b span { color: var(--oal-text-3); font-size: 12.5px; }
.oal .tp-b .tp-niche { color: var(--oal-accent-deep); font-weight: 500; }
.oal .tp-sw { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 4px 0; font-size: 12.5px; font-weight: 600; color: var(--oal-text-2); min-height: 32px; }
.oal .tp-sw .knob { width: 36px; height: 21px; border-radius: 999px; background: var(--oal-border-strong); position: relative; flex: 0 0 36px; transition: background .15s; }
.oal .tp-sw .knob::after { content: ""; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: left .15s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.oal .tp-sw.on .knob { background: var(--oal-accent); }
.oal .tp-sw.on .knob::after { left: 17px; }
.oal .tp-sw .tp-st { min-width: 118px; text-align: left; }
.oal .tp-sw:focus-visible { outline: 2px solid var(--oal-accent); outline-offset: 2px; border-radius: 8px; }

/* Tune how Maya comments */
.oal .tune { margin-top: 16px; border: 1px solid var(--oal-border); border-radius: 14px; overflow: hidden; }
.oal .tune-toggle { width: 100%; display: flex; align-items: center; gap: 10px; background: var(--oal-surface-2); border: 0; padding: 12px 16px; text-align: left; font-size: 14px; font-weight: 600; color: var(--oal-text); }
.oal .tune-toggle .card-meta { font-weight: 400; flex: 1; }
.oal .tune-toggle .car { color: var(--oal-text-3); }
.oal .tune-body { padding: 14px 16px 16px; border-top: 1px solid var(--oal-border-soft); }
.oal .tune-ex { border: 1px solid var(--oal-border-soft); border-radius: 12px; margin-top: 8px; }
.oal .exheld { margin-top: 8px; font-size: 12.5px; color: #7a4d06; background: var(--oal-warn-soft); border-radius: 8px; padding: 6px 10px; }

/* The Comments page: what the step will do with each waiting draft */
.cm-plan { margin: 10px 0 0; border-radius: 10px; padding: 8px 12px; font-size: 13px; line-height: 1.45; display: flex; flex-direction: column; gap: 2px; }
.cm-plan b { font-weight: 600; }
.cm-plan span { color: var(--text-2, #4d5168); font-size: 12.5px; }
.cm-plan.go { background: #e2f3ea; color: #145c3b; }
.cm-plan.wait { background: #fbf0d9; color: #7a4d06; }
.cm-level { margin: 12px 0; padding: 10px 14px; border-radius: 12px; background: #f5f1ff; color: #4a32b8; font-size: 13.5px; font-weight: 500; border: 1px solid #e3dbff; }
.cm-expiry { white-space: nowrap; }
.cm-expiry.soon { color: #b45309; font-weight: 600; }

#oal-toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%) translateY(20px); background: #15172b; color: #fff; padding: 11px 16px; border-radius: 12px; font-size: 13.5px; max-width: min(520px, calc(100vw - 32px)); opacity: 0; transition: opacity .2s, transform .2s; pointer-events: none; z-index: 9999; box-shadow: 0 14px 30px -12px rgba(0,0,0,.4); font-family: "Inter", system-ui, sans-serif; }
#oal-toast.on { opacity: 1; transform: translateX(-50%) translateY(0); }

/* The dashboard panel sits inside the dashboard's own padding */
#od-autonomy.oal { margin: 0 0 18px; }
#od-autonomy.oal:empty { display: none; }

/* Phone */
@media (max-width: 900px) {
  .oal-page { padding: 16px 16px 48px; }
  .oal .phead { flex-direction: column; align-items: flex-start; gap: 12px; }
  .oal .hstatus { justify-content: flex-start; }
  .oal h1 { font-size: 25px; }
  .oal .ladder { padding: 20px 16px 18px; border-radius: 18px; }
  .oal .ladder h2 { font-size: 19px; }
  .oal .ladder .lead { font-size: 13.5px; }
  .oal .rungs { gap: 6px; margin-top: 16px; }
  .oal .rung { padding: 10px 10px 11px; min-height: 0; border-radius: 12px; }
  .oal .rung .nm { font-size: 16px; }
  .oal .rung .ln { font-size: 11.5px; }
  .oal .rung .pin { position: static; display: inline-block; margin-top: 6px; font-size: 9px; padding: 2px 6px; }
  .oal .rung .done { display: none; }
  .oal .grid2 { grid-template-columns: 1fr; gap: 0; }
  .oal .detail-cols { grid-template-columns: 1fr; gap: 12px; }
  .oal .limits { grid-template-columns: 1fr; }
  .oal .card-head { padding: 14px 16px; }
  .oal .card-body { padding: 14px 16px; }
  .oal .row, .oal .ex { padding-left: 16px; padding-right: 16px; }
  .oal .row { flex-wrap: wrap; row-gap: 6px; }
  .oal .row .rb { flex: 1 1 calc(100% - 46px); }
  .oal .row .tagk { margin-left: 46px; }
  .oal .stepbar { gap: 6px; }
  .oal .stepbar div { padding: 5px 10px 5px 5px; font-size: 12px; }
  .oal .stepbar .n { width: 20px; height: 20px; font-size: 11px; }
  .oal .opt-cap { margin-left: 0; }
  .oal .tp-row { flex-wrap: wrap; row-gap: 4px; }
  .oal .tp-b { flex-basis: 100%; }
  .oal .tp-sw .tp-st { min-width: 0; }
  .oal .tune-toggle { flex-wrap: wrap; }
  .oal .tune-toggle .card-meta { flex-basis: 100%; order: 3; }
}
/* Up next: the step's verdict wraps in full, never "(with…" on a phone (round 7, r1 F-10). */
.up-next-item .snip[data-up-next-plan] { display: block; -webkit-line-clamp: unset; overflow: visible; white-space: normal; }
/* Drafts held while one person is paused (round 7, r1 F-6). */
.cm-held { margin: 12px 0; padding: 10px 14px; border-radius: 12px; background: #fbf0d9; color: #7a4d06; font-size: 13px; line-height: 1.45; }
.cm-held b { font-weight: 600; }
.cm-held ul { margin: 4px 0 0; padding-left: 18px; }

/* ── o9 (2026-09-29): the ladder as ONE line on the dashboard, and labels a
   56-year-old can read. Alex: "there's just a wall of text". ────────────── */
#od-autonomy .ladder-line {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  background: var(--oal-surface); border: 1px solid var(--oal-border); border-radius: 14px;
  padding: 11px 12px 11px 16px; font-size: 15px; line-height: 1.45;
}
#od-autonomy .ladder-line .ll-text { flex: 1 1 260px; min-width: 0; color: var(--oal-text-2); }
#od-autonomy .ladder-line .ll-step { color: var(--oal-text); }
#od-autonomy .ladder-line .ll-step b { color: var(--oal-accent-deep); }
#od-autonomy .ladder-line .ll-sep { margin: 0 8px; color: var(--oal-text-4); }
#od-autonomy .ladder-line .ll-acts { display: inline-flex; gap: 6px; align-items: center; flex: none; }
#od-autonomy .ladder-line .btn-quiet { color: var(--oal-accent-deep); border-color: var(--oal-border); background: var(--oal-surface); }
#od-autonomy .ladder-line.offline { border-color: #e4dcfb; background: var(--oal-accent-softer); }
#od-autonomy .ladder-line.paused { border-color: #efd9ad; background: var(--oal-warn-soft); }
#od-autonomy .ladder-line.paused .ll-step b { color: var(--oal-warn); }
#od-autonomy .nochange { margin: 10px 0 4px; color: var(--oal-text-2); }
/* Readable labels on the dashboard panel: sentence case, normal size, no
   widely spaced monospace capitals (Grace, round 8). Headings keep the brand. */
#od-autonomy .eyebrow, #od-autonomy .rung .num, #od-autonomy .rung .pin, #od-autonomy .count,
#od-autonomy .col-h, #od-autonomy .diff .k, #od-autonomy .draft .lab, #od-autonomy .why .w, #od-autonomy .sect-h,
#od-autonomy .card-meta {
  font-family: "Inter", system-ui, -apple-system, sans-serif; text-transform: none; letter-spacing: normal;
}
#od-autonomy .eyebrow { font-size: 13px; }
#od-autonomy .rung .num { font-size: 13px; }
#od-autonomy .rung .pin { font-size: 12px; }
#od-autonomy .col-h, #od-autonomy .sect-h { font-size: 14px; }
#od-autonomy .diff .k, #od-autonomy .draft .lab, #od-autonomy .why .w { font-size: 12px; }
#od-autonomy .count { font-size: 12.5px; }
@media (max-width: 600px) {
  #od-autonomy .ladder-line { padding: 12px 14px; }
  #od-autonomy .ladder-line .ll-acts { width: 100%; }
}
/* o9 (O12): what went out, grouped by day over the last 7 days. */
#od-autonomy .wo-day { font-size: 14px; font-weight: 600; color: var(--oal-text-2); margin: 14px 0 6px; }
