/* Restore originals (restore.js): only what app.css does not already have. */

/* the way in, on the start screen */
.restore-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 30px; max-width: 33rem; padding: 16px 18px; border: 1px solid var(--line-strong); border-radius: 14px; background: rgba(249, 238, 231, .03); }
.restore-cta p { flex: 1 1 15rem; font-size: .92rem; line-height: 1.55; color: var(--ink-soft); }
.restore-cta b { font-family: var(--f-display); font-weight: 600; color: var(--ink); }

/* the way back keeps its words on a narrow screen */
.steps .r-exit .label { display: inline; }

/* adding the copies and the key */
.r-how { list-style: none; counter-reset: how; max-width: 33rem; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); }
.r-how li { counter-increment: how; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.r-how li::before { content: counter(how); grid-row: span 2; font: 700 .8rem/1.75 var(--f-display); color: var(--accent); }
.r-how b { font: 600 .92rem/1.4 var(--f-display); }
.r-how span { font-size: .88rem; line-height: 1.55; color: var(--muted); }
.keyrows { display: grid; gap: 10px; margin-top: 18px; }
.keyrow { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 12px; }
.keyrow b { display: block; font: 600 .9rem/1.35 var(--f-display); }
.keyrow span { font-size: .86rem; color: var(--muted); overflow-wrap: anywhere; }
.keyrow .mark { display: grid; place-items: center; justify-self: center; width: 24px; height: 24px; border-radius: 50%; }
.keyrow .mark svg { width: 13px; height: 13px; }
.keyrow.ok .mark { background: rgba(116, 171, 145, .18); color: var(--green); }
.keyrow.need { border-color: rgba(255, 146, 61, .55); background: rgba(255, 146, 61, .06); }
.keyrow.need .mark { width: 14px; height: 14px; border-radius: 0; clip-path: var(--star); background: var(--accent); }
.keyrow.optional { border-style: dashed; }
.keyrow.optional .mark { width: 9px; height: 9px; background: var(--muted-2); }
.r-key-note { display: flex; gap: 12px; margin-top: 16px; padding: 14px 16px; border: 1px solid rgba(255, 146, 61, .35); border-radius: 12px; background: rgba(255, 146, 61, .08); font-size: .9rem; line-height: 1.55; }
.r-key-note::before { content: ""; flex: none; width: 13px; height: 13px; margin-top: 4px; clip-path: var(--star); background: var(--accent); }
.r-key-note b { font-family: var(--f-display); font-weight: 600; }
.r-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 22px; }
.r-go .grow { flex: 1; }

/* the originals */
.badge.check { color: var(--accent); }
.r-limits { font-size: .82rem; color: var(--muted); }
.r-limits summary { cursor: pointer; font: 600 .8rem var(--f-display); color: var(--ink); }
.r-limits ul { margin: 8px 0 0; padding-left: 18px; line-height: 1.5; }
.r-gone { display: flex; align-items: flex-start; gap: 8px; font-size: .82rem; color: var(--muted); }
.r-gone svg { flex: none; width: 14px; height: 14px; margin-top: 3px; color: var(--green); }
#r-notes { padding: 12px 18px 0; }
.r-file-notes ul { margin: 0; padding-left: 18px; }
.r-file-notes li + li { margin-top: 4px; }
.r-ok { display: flex; align-items: center; gap: 8px; font: 500 .84rem var(--f-display); color: var(--green); }
.r-ok svg { width: 14px; height: 14px; }
