:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body {
  margin: 0;
  background: #23262b;
  color: #d7dce2;
  font: 16px/1.65 "Segoe UI", system-ui, sans-serif;
}
a { color: #91c5ff; text-underline-offset: 4px; }
a:hover { color: #c5e0ff; }
a:focus-visible { outline: 3px solid #f5d33c; outline-offset: 5px; border-radius: 3px; }
strong { color: #f1f4f8; font-weight: 600; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 1; padding: 12px; background: #1b1e22; }
.skip-link:focus { top: 12px; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 18px max(24px, calc((100vw - 960px) / 2));
  background: #1b1e22;
  border-bottom: 1px solid #3a4048;
}
.brand { color: #f1f4f8; font-weight: 700; text-decoration: none; }
.brand span { color: #abb5c1; font-weight: 400; margin-left: 8px; }
.editor-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border: 1px solid #546d89;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  background: #293b50;
}
.editor-link:hover { background: #344c67; }
main { max-width: 960px; margin: auto; padding: 0 24px 48px; }
.intro { max-width: 760px; padding: 54px 0 26px; }
.eyebrow, .step { color: #91c5ff; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
h1, h2, h3 { color: #f1f4f8; line-height: 1.25; }
h1 { margin: 12px 0 20px; font-size: clamp(32px, 5vw, 46px); letter-spacing: -.035em; }
h2 { margin: 8px 0 18px; font-size: clamp(25px, 4vw, 30px); letter-spacing: -.02em; }
h3 { margin: 0 0 10px; font-size: 18px; }
p { margin: 0 0 16px; }
.lead { font-size: 19px; color: #d7dce2; }
.intro-note { font-size: 14px; color: #abb5c1; }
.contents { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 20px 0; border-block: 1px solid #454c56; font-size: 14px; }
.contents a { padding: 4px 0; }
section { padding-top: 42px; }
section + section { margin-top: 34px; border-top: 1px solid #454c56; }
.step { margin-bottom: 6px; }
.formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.formats article { padding: 22px; background: #2c3138; border: 1px solid #454c56; border-radius: 6px; }
.size { display: block; color: #91c5ff; font-size: 13px; margin-bottom: 12px; }
.formats p { margin: 0; font-size: 15px; }
.inset { padding: 24px; background: #1b1e22; border-radius: 6px; }
.inset p:last-child { margin-bottom: 0; }
.formula { color: #b5d7ff; font: 14px/1.9 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
ul, ol { padding-left: 24px; }
li { padding-left: 4px; margin-bottom: 12px; }
dl { margin: 24px 0; }
dl > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid #454c56; }
dl > div:first-child { padding-top: 0; }
dt { color: #f1f4f8; font-weight: 600; }
dd { margin: 0; }
.callout { padding: 18px 22px; border-left: 3px solid #91c5ff; background: #293441; }
.public-notice { margin: 24px 0; padding: 22px; background: #393428; border: 1px solid #8f7a4c; border-radius: 6px; }
.public-notice h3 { color: #f2d995; }
.public-notice p { margin: 0; }
.checklist { margin: 24px 0; }
.recovery dt { font-size: 15px; }
footer { border-top: 1px solid #454c56; padding: 24px; text-align: center; color: #abb5c1; font-size: 13px; }
@media (max-width: 600px) {
  body { font-size: 15px; }
  main { padding-inline: 18px; }
  .site-header { padding: 16px 18px; gap: 12px; }
  .brand span { display: block; margin-left: 0; font-size: 12px; }
  .intro { padding-top: 34px; }
  .lead { font-size: 17px; }
  .contents { gap: 4px 20px; }
  .formats { grid-template-columns: 1fr; }
  .formats article, .inset, .public-notice { padding: 18px; }
  dl > div { grid-template-columns: 1fr; gap: 6px; }
  section { padding-top: 30px; }
  section + section { margin-top: 28px; }
}
