/* The shell and viewer both supply the same font, neutral and control tokens. */
.session-recovery { box-sizing:border-box; width:min(30rem, calc(100% - 2rem)); max-height:calc(100dvh - 2rem); margin:auto; padding:2rem; overflow:auto; border:1px solid var(--line-2); border-radius:1rem; background:var(--panel); color:var(--ink); box-shadow:var(--shadow); font:var(--t-body)/1.6 var(--sans) }
.session-recovery::backdrop { background:color-mix(in srgb, var(--well) 85%, transparent) }
.session-recovery.session-changed::backdrop { background:var(--well) }
.session-recovery .session-brand { color:var(--ink-2); font:600 var(--t-label)/1.4 var(--sans) }
.session-recovery h2 { margin:1rem 0 .5rem; font:600 1.5rem/1.3 var(--sans); letter-spacing:-.02em }
.session-recovery p { margin:.5rem 0 1.25rem; color:var(--ink-2) }
.session-recovery .session-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem }
.session-recovery .session-actions :is(a, button) { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.6rem .9rem; border:1px solid var(--line-2); border-radius:.5rem; background:var(--panel); color:var(--ink); font:500 var(--t-body)/1.4 var(--sans); text-decoration:none; cursor:pointer }
.session-recovery .session-actions .session-primary { border-color:var(--accent); background:var(--accent); color:var(--panel) }
.session-recovery .session-actions [hidden] { display:none }
.session-recovery :is(a, button):focus-visible { outline:2px solid var(--accent); outline-offset:3px }
.session-recovery [data-session-return] { color:var(--ink); text-underline-offset:.2em }
.session-recovery .session-status { margin:1rem 0 0; font-size:var(--t-body-2) }
.session-recovery .session-status:empty { display:none }
@media (max-width:30rem) { .session-recovery { padding:1.5rem } .session-recovery .session-actions { flex-direction:column } }
