/* Presentation for the safe recovery pages; no script or legacy includes. */
* { box-sizing: border-box; }
body { margin: 0; color: #333; background: #fffaf4; font: 15px/1.7 Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
a { color: #a74b05; text-underline-offset: 3px; }
a:hover, a:focus-visible { color: #c52c64; }
body > header { padding: 22px max(24px, calc((100% - 1000px) / 2)); background: #fff; border-top: 5px solid #f2a32c; border-bottom: 1px solid #e8cda9; }
body > header > a { font-size: 25px; font-weight: bold; text-decoration: none; color: #d98211; }
header p { margin: 4px 0; font-size: 13px; }
header nav { margin-top: 14px; }
nav a { display: inline-block; padding: 5px 12px; margin: 3px; border: 1px solid #e7cba6; border-radius: 4px; background: #fff; }
main { max-width: 1000px; margin: 24px auto 48px; padding: 28px 34px; background: #fff; border: 1px solid #ead7bc; border-radius: 6px; }
h1 { margin: 0 0 24px; font-size: 26px; line-height: 1.4; padding: 12px 16px; border-left: 6px solid #ed9b22; background: #fff0d5; color: #65431b; }
h2 { font-size: 20px; line-height: 1.5; margin-top: 28px; padding-bottom: 7px; border-bottom: 2px solid #f2cf97; }
h3 { font-size: 18px; margin: 8px 0; }
section, article { margin: 22px 0; padding: 18px 22px; border: 1px solid #ecdcca; border-radius: 4px; background: #fffdf9; }
article h2 { margin-top: 0; }
time { color: #777; font-size: 13px; }
dl { display: grid; grid-template-columns: 130px 1fr; gap: 6px 16px; }
dt { font-weight: bold; color: #795123; }
dd { margin: 0; overflow-wrap: anywhere; }
li { margin: 8px 0; }
input, select, textarea { font: inherit; border: 1px solid #b6a38a; border-radius: 3px; padding: 8px; max-width: 100%; }
textarea { width: 100%; }
button { font: inherit; cursor: pointer; padding: 9px 20px; color: #fff; background: #b65312; border: 1px solid #9c450a; border-radius: 4px; }
button:hover, button:focus-visible { background: #8e3c06; }
details { margin: 12px 0; border: 1px solid #e0cab0; padding: 14px; background: #fff; }
summary { cursor: pointer; font-weight: bold; color: #87521c; }
.recovery-listings { padding: 0; list-style: none; }
.recovery-listing { margin: 20px 0; padding: 20px; border: 1px solid #e5c5ae; border-top: 4px solid #d94b74; background: #fff; border-radius: 4px; }
.recovery-listing h2 { margin: 0 0 14px; }
.recovery-listing img { display: block; width: 430px; max-width: 100%; height: auto; margin: 15px 0; }
.recovery-body { white-space: pre-wrap; overflow-wrap: anywhere; }
:target { scroll-margin-top: 16px; }
