.recovery-page main{max-width:1200px;padding:32px 32px 80px;margin:auto}
.backup-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.backup-heading h1{font:500 24px/1.3 'Segoe UI',sans-serif;margin:0}.backup-heading span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.backup-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:64px}.backup-layout>aside{border-top:1px solid var(--ink)}
.backup-tabs{display:grid;margin-bottom:32px}.backup-tabs button{display:flex;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid var(--line);padding:16px 0;gap:16px}.backup-tabs button[aria-pressed=true]{box-shadow:inset 0 -2px var(--ink)}
.backup-scope,#backup-cache-status{font-size:13px;color:var(--muted)}#backup-cache-status{overflow-wrap:anywhere}
.backup-layout>section{min-width:0}.backup-layout h2{font-size:20px;font-weight:500;margin:0 0 16px}.backup-layout h3{font-size:16px;font-weight:500;margin:24px 0 8px}.backup-layout p{max-width:60ch}.backup-layout .primary{margin-top:16px}
#backup-words{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;counter-reset:word;gap:0 24px;margin:24px 0 32px}
#backup-words li{counter-increment:word;border-bottom:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}#backup-words li::before{content:counter(word,decimal-leading-zero);font-size:11px;color:var(--muted);margin-right:12px;font-variant-numeric:tabular-nums}
#backup-challenge{border:0;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap}#backup-challenge legend{margin-bottom:8px;font-size:14px}#backup-challenge label{font-size:13px;max-width:150px;flex:1;min-width:80px}
.recovery-page input:not([type=file]):not([type=checkbox]),.recovery-page textarea{display:block;font:inherit;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;width:100%;min-height:44px}.recovery-page textarea{resize:vertical}
#open-backup-form{display:grid;gap:12px}#open-backup-form label{font-size:13px;margin-top:16px}#backup-file{max-width:100%;min-height:44px;color:var(--ink);font-size:14px}#backup-file::file-selector-button{background:transparent;color:var(--ink);border:1px solid var(--line);font:inherit;padding:12px;margin-right:12px;cursor:pointer}
#open-backup{justify-self:start}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.history-heading h3{margin:0}.history-heading p{font-size:13px;color:var(--muted);margin:8px 0}.history-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;margin-top:24px}
#history-contacts{max-height:420px;overflow:auto}#history-contacts button{width:100%;border:0;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}#history-contacts button[aria-pressed=true]{box-shadow:inset 2px 0 var(--ink)}#history-messages{max-height:480px;overflow:auto;padding:0 8px}#history-messages p{border-bottom:1px solid var(--line);padding:12px 0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#history-messages small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
#backup-status{margin-top:32px;min-height:24px;overflow-wrap:anywhere}[hidden]{display:none!important}
#restore-chat-review{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:24px 0}.restore-consent{display:flex;gap:12px;align-items:center;min-height:44px;font-size:14px}
@media(max-width:760px){.recovery-page main{padding:24px 20px 48px}.backup-heading{margin-bottom:24px;gap:16px;flex-wrap:wrap}.backup-layout{grid-template-columns:1fr;gap:24px}.backup-tabs{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.backup-layout>aside{padding-bottom:16px;border-bottom:1px solid var(--line)}.backup-scope{margin:12px 0}.backup-layout h2{font-size:18px}#backup-words{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;font-size:14px}.history-layout{grid-template-columns:1fr}#history-contacts{display:flex;max-height:140px;flex-wrap:wrap}#history-contacts button{width:auto;flex:1}#backup-challenge{gap:16px}.history-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.recovery-page button{transition:none}}
