/* A compact offline observation desk, using the reading site's palette. */
.recovery-page{max-width:1120px;margin:auto;padding:32px 36px 65px;font-size:15px;line-height:1.75}
.recovery-page [hidden]{display:none!important}.recovery-breadcrumb{display:flex;gap:13px;font-size:12px;color:var(--muted)}
.recovery-intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:42px;padding:31px 0 25px}
.recovery-intro h1{font:600 40px/1.35 var(--serif);letter-spacing:-.035em;margin:12px 0 17px}.recovery-intro h1 br{display:none}
.recovery-intro>div>p:last-child{color:var(--muted);font-size:15px;max-width:40em}.recovery-intro img{width:100%;max-height:160px;object-fit:contain}
.recovery-provenance{font-size:12px;color:var(--muted);padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recovery-scenario{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:8px 20px;margin:25px 0 18px}.recovery-scenario>label{font-size:13px;font-weight:650}.recovery-scenario>p{grid-column:2;color:var(--muted);font-size:13px}
.recovery-page select{font:inherit;font-size:14px;background:var(--card);color:var(--ink);border:1px solid var(--control-border);border-radius:8px;padding:9px 34px 9px 12px;max-width:100%}.recovery-page select:focus-visible{outline:none;background-color:var(--focus-bg);box-shadow:inset 0 -2px 0 var(--cyan)}
.recovery-console{border:1px solid var(--line);border-top:3px solid var(--cyan);border-radius:0 0 12px 12px;overflow:hidden;background:var(--card)}
.recovery-controls{background:var(--cyan-light);padding:17px 25px 19px;border-bottom:1px solid var(--line)}.recovery-clock{display:flex;align-items:baseline;gap:18px;line-height:1.5}.recovery-clock>span:first-child{font-size:12px;color:var(--muted)}.recovery-clock output{font:italic 29px/1.3 Georgia,serif;color:var(--cyan);font-variant-numeric:tabular-nums}.recovery-clock>span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}
.recovery-scrub-label{display:flex;justify-content:space-between;font-size:11px;margin:12px 0 1px;color:var(--muted)}
.recovery-page input[type=range]{display:block;width:100%;height:27px;margin:0 0 8px;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;outline:none}
.recovery-page input[type=range]::-webkit-slider-runnable-track{height:3px;background:#AACDD4;border-radius:2px}.recovery-page input[type=range]::-moz-range-track{height:3px;background:#AACDD4;border-radius:2px}
.recovery-page input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border:2px solid white;border-radius:50%;background:var(--cyan);margin-top:-7px;box-shadow:0 0 0 1px var(--cyan)}.recovery-page input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid white;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
.recovery-page input[type=range]:focus-visible::-webkit-slider-thumb{width:21px;height:21px;margin-top:-9px;background:#164653;box-shadow:none}.recovery-page input[type=range]:focus-visible::-moz-range-thumb{width:18px;height:18px;background:#164653;box-shadow:none}
.recovery-buttons{display:flex;gap:9px;align-items:center}.recovery-page button{font:inherit;font-size:12px;border:1px solid var(--control-border);color:var(--ink);background:var(--card);border-radius:8px;cursor:pointer;padding:8px 13px;line-height:1.5;min-height:37px}.recovery-page button:hover{border-color:var(--cyan);color:var(--cyan)}.recovery-page button:focus-visible{outline:none;background-color:var(--focus-bg);box-shadow:inset 0 -2px 0 var(--cyan)}.recovery-page button:disabled{opacity:.45;cursor:default}.recovery-buttons>button:first-child{background:var(--cyan);border-color:var(--cyan);color:white;min-width:86px}.recovery-buttons>button:first-child:focus-visible{background:#164653;box-shadow:inset 0 -3px 0 #afdfe3;text-decoration:underline;text-underline-offset:4px}.recovery-buttons>button:first-child:hover{background:#006D7E}.recovery-buttons>label{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.recovery-buttons select{font-size:11px;padding:6px 25px 6px 8px;min-height:37px}
.recovery-observation{padding:23px 25px 24px}.recovery-facts{display:grid;grid-template-columns:1.15fr 1.25fr .8fr;gap:28px;align-items:start}.recovery-facts>div>span{font-size:11px;letter-spacing:.02em;color:var(--muted)}.recovery-state>strong{display:block;font:600 34px/1.3 Georgia,serif;color:var(--cyan);margin:4px 0 6px}.recovery-state>strong[data-state=uncertain]{color:var(--orange)}.recovery-state>p{font:13px/1.5 ui-monospace,monospace}.recovery-state b{font-size:17px}.recovery-lease>p{font-size:13px;line-height:1.7;margin:12px 0}.recovery-lease-track{height:5px;background:#EDF3F4;overflow:hidden}.recovery-lease-track>i{display:block;height:100%;background:var(--cyan)}.recovery-lease small{display:block;margin-top:11px;color:var(--muted);font-size:11px}.recovery-ledger{border-left:1px solid var(--line);padding-left:23px}.recovery-ledger>strong{font:italic 35px/1.3 Georgia,serif;display:block;margin-top:4px;color:var(--muted)}.recovery-ledger>strong[data-duplicate=true]{color:var(--orange)}.recovery-ledger>p{font-size:11px;color:var(--muted);margin-top:7px}
.recovery-rail{list-style:none;display:flex;margin:21px 0 0;padding:0;gap:3px}.recovery-rail li{flex:1;position:relative;border-top:2px solid var(--line);padding:9px 0 0;font:12px/1.5 ui-monospace,monospace;color:var(--muted)}.recovery-rail li span{display:block;font:10px/1.6 var(--sans);margin-top:2px}.recovery-rail li.is-current{border-color:var(--cyan);color:var(--cyan);font-weight:700}.recovery-rail li.is-current:before{content:"";position:absolute;top:-5px;left:0;width:8px;height:8px;border-radius:50%;background:var(--cyan)}.recovery-rail li[data-state=uncertain].is-current{border-color:var(--orange);color:var(--orange)}.recovery-rail li[data-state=uncertain].is-current:before{background:var(--orange)}
.recovery-event{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;min-height:162px}.recovery-event-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px}.recovery-event-heading>p{font-size:11px;color:var(--muted);width:100%}.recovery-event-heading h2{font:600 21px/1.5 var(--serif)}.recovery-event-heading>strong{margin-left:auto;font:12px/1.6 ui-monospace,monospace;color:var(--orange);border:1px solid #EAD0BD;background:var(--orange-light);padding:3px 9px;border-radius:3px}.recovery-event>code{display:block;background:transparent;font-size:11px;color:var(--muted);padding:0;margin-top:8px;overflow-wrap:anywhere}.recovery-event>p{font-size:13px;line-height:1.85;margin-top:9px;max-width:67em}
.recovery-timeline{display:grid;grid-template-columns:135px minmax(0,1fr);gap:25px;padding:20px 25px;border-top:1px solid var(--line);background:#FCFDFD}.recovery-timeline>div>p:last-child{font-size:11px;color:var(--muted);margin-top:5px}.recovery-timeline ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recovery-timeline button{width:100%;height:100%;text-align:left;border:0;border-top:2px solid var(--line);border-radius:0;padding:7px 0;color:var(--muted);font-size:11px;line-height:1.65;background:transparent}.recovery-timeline button span:first-child{display:block;font:12px/1.6 ui-monospace,monospace;margin-bottom:3px}.recovery-timeline button.is-past{border-color:#7CAAB4}.recovery-timeline button.is-current{border-color:var(--orange);color:var(--orange);font-weight:650}.recovery-lesson{padding:15px 25px;font-size:12px;background:var(--cyan-light);border-top:1px solid var(--line);color:var(--cyan)}.recovery-lesson.is-warning{background:var(--orange-light);color:var(--orange)}
.recovery-static{margin-top:30px}.recovery-static h2,.recovery-notes h2{font:600 24px/1.5 var(--serif);margin:0 0 14px}.recovery-static>p{color:var(--muted);font-size:13px;margin-bottom:15px}.recovery-static details{border-top:1px solid var(--line);padding:14px 0}.recovery-static summary{cursor:pointer;font-weight:600}.recovery-static details p,.recovery-static li{font-size:13px;margin-top:10px}.recovery-notes{margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.recovery-notes>p{font-size:13px;color:var(--muted);max-width:67em;margin-bottom:14px}.recovery-notes nav{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;margin-top:20px}
@media(max-width:720px){.recovery-page{padding:22px 20px 40px}.recovery-intro{grid-template-columns:minmax(0,1fr) 95px;gap:8px;padding:23px 0 18px}.recovery-intro h1{font-size:27px;margin:9px 0 11px}.recovery-intro h1 br{display:initial}.recovery-intro>div>p:last-child{font-size:12px;line-height:1.75}.recovery-intro img{width:95px;align-self:start;margin-top:20px}.recovery-provenance{font-size:10px;line-height:1.8}.recovery-scenario{display:block;margin:18px 0 13px}.recovery-scenario>label{display:block;font-size:12px;margin-bottom:7px}.recovery-scenario>select{width:100%;min-height:42px;font-size:13px}.recovery-scenario>p{font-size:12px;margin-top:7px}.recovery-controls{padding:13px 15px 15px}.recovery-clock{gap:9px}.recovery-clock output{font-size:25px}.recovery-clock>span:first-child,.recovery-clock>span:last-child{font-size:10px}.recovery-buttons{gap:7px;flex-wrap:wrap}.recovery-page button{padding:9px 10px;min-height:40px}.recovery-buttons>button:first-child{min-width:72px}.recovery-buttons>label{width:100%;justify-content:flex-end;margin-top:0}.recovery-buttons select{min-height:32px}.recovery-scrub-label{font-size:10px}.recovery-observation{padding:18px 15px}.recovery-facts{grid-template-columns:1fr 1.3fr;gap:14px}.recovery-state>strong{font-size:28px}.recovery-state>p{font-size:11px}.recovery-lease>p{font-size:11px;margin:9px 0}.recovery-facts>div>span{font-size:10px}.recovery-lease small{font-size:10px}.recovery-ledger{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:10px 0 0;display:flex;align-items:baseline;gap:12px}.recovery-ledger>strong{font-size:24px;margin:0}.recovery-ledger>p{font-size:10px;margin:0}.recovery-rail{margin-top:15px}.recovery-rail li{font-size:10px}.recovery-rail li span{font-size:9px}.recovery-event{margin-top:18px;min-height:196px}.recovery-event-heading h2{font-size:18px;max-width:100%}.recovery-event-heading>strong{margin-left:0;font-size:11px}.recovery-event>p{font-size:12px}.recovery-event>code{font-size:10px}.recovery-timeline{display:block;padding:16px 15px}.recovery-timeline>div{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:13px}.recovery-timeline>div>p:last-child{margin:0;font-size:10px}.recovery-timeline ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.recovery-timeline button{font-size:10px}.recovery-timeline button span:first-child{font-size:11px}.recovery-lesson{padding:13px 15px;font-size:11px}.recovery-notes{margin-top:26px}.recovery-notes h2{font-size:22px}.recovery-notes nav{gap:15px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.recovery-page *{scroll-behavior:auto;transition:none;animation:none}}
@media print{#recovery-interactive{display:none!important}.recovery-static[hidden]{display:block!important}.recovery-page{padding:20px 0}.recovery-intro img{display:none}.recovery-intro{display:block}.recovery-static details{display:block}.recovery-static details>*{display:block}.recovery-notes nav{display:none}}
/* Keep repeated mobile actions beside their changing observation. */
@media(max-width:720px){.recovery-console{overflow:clip}.recovery-controls{position:sticky;top:0;z-index:3}}

.recovery-mobile-context{display:none}
@media(max-width:720px){.recovery-mobile-context{display:block;font:11px/1.7 var(--sans);color:var(--cyan);margin-top:6px}}

/* The recorded explanation stays beside the step controls, including on phones. */
.recovery-controls .recovery-event{min-height:0;margin-top:14px;padding-top:12px}
.recovery-controls .recovery-event-heading h2{font:600 17px/1.6 var(--sans)}
.recovery-controls .recovery-event>p{margin-top:7px}
@media(max-width:720px){.recovery-controls .recovery-event{margin-top:10px;padding-top:10px}.recovery-controls .recovery-event-heading h2{font-size:14px}.recovery-controls .recovery-event>p{font-size:12px}.recovery-controls .recovery-event>code{display:none}}

.recovery-controls .recovery-buttons{margin-top:14px}
