/* Isolated finish for the staged legal documents and 404. No content changes. */
body.night-docs {
  margin: 0;
  background: #05090c;
  color: #f5f5f3;
  color-scheme: dark;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.night-docs :is(.mp-document-page, .mp-lost-page) {
  --mp-ink: #f5f5f3;
  --mp-muted: #a9b9c2;
  --mp-teal: #c3d7e1;
  --mp-line: #ffffff20;
  background: #05090c;
  font-family: inherit;
}
body.night-docs :is(a, button, [tabindex]):focus-visible {
  outline: 2px solid #e3f3ff;
  outline-offset: 5px;
}
body.night-docs :is(.mp-page-header, .mp-page-footer) {
  width: min(1280px, calc(100% - 64px));
}
body.night-docs .mp-page-header {
  min-height: 88px;
  padding-block: 18px;
  border-color: #ffffff15;
}
body.night-docs .mp-page-brand {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
}
body.night-docs .mp-page-brand img { filter: grayscale(1) brightness(1.7); }
body.night-docs .mp-page-brand small {
  margin-top: 2px;
  color: #879ca7;
  font-size: 10px;
  letter-spacing: .04em;
}
body.night-docs .mp-page-nav { gap: 12px; }
body.night-docs .mp-page-nav a {
  min-height: 44px;
  border-radius: 30px;
  padding: 10px 16px;
  font-size: 13px;
  color: #d7e0e5;
}
body.night-docs .mp-page-nav a:hover { background: #13202a; color: #fff; }
body.night-docs .mp-page-nav .mp-page-back { border-color: #ffffff35; background: #ffffff04; }
body.night-docs :is(.mp-document-main, .mp-lost-main) {
  width: min(1120px, calc(100% - 64px));
  padding-top: 72px;
}
body.night-docs .mp-page-eyebrow {
  color: #a7bdc9;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
}
body.night-docs .mp-document-hero { max-width: 920px; padding-bottom: 48px; }
body.night-docs .mp-document-hero h1 {
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.07;
  font-weight: 600;
  letter-spacing: -.045em;
  hyphens: none;
  text-wrap: balance;
}
body.night-docs .mp-page-lead {
  max-width: 60ch;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.65;
  color: #abbcc5;
  margin-block: 24px;
}
body.night-docs .mp-document-status {
  background: #14202a;
  border-color: #5f788746;
  color: #c4d3da;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 12px;
}
body.night-docs .mp-document-status > span { background: #becfd7; }
body.night-docs .mp-document-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 64px; padding-top: 40px; }
body.night-docs .mp-document-toc { top: 24px; gap: 2px; }
body.night-docs .mp-document-toc > p { color: #7e95a2; letter-spacing: .14em; }
body.night-docs .mp-document-toc a { padding: 10px 12px; font-size: 13px; color: #adc0ca; }
body.night-docs .mp-document-toc a:hover { background: #101b24; color: #fff; }
body.night-docs .mp-document-toc a span { color: #708b9b; }
body.night-docs .mp-document-body { max-width: 68ch; }
body.night-docs .mp-document-body > section { margin-bottom: 40px; padding-bottom: 40px; border-color: #ffffff14; }
body.night-docs .mp-section-number { color: #829da9; font-size: 11px; letter-spacing: .14em; }
body.night-docs .mp-document-body h2 { font-weight: 600; font-size: clamp(24px, 2vw, 29px); line-height: 1.3; letter-spacing: -.025em; }
body.night-docs .mp-document-body :is(p, li) { font-size: 17px; line-height: 1.78; color: #b7c5cc; }
body.night-docs .mp-document-body li::marker { color: #7e9aaa; }
body.night-docs .mp-document-body p a { color: #d1e3ec; text-decoration-color: #6c8591; }
body.night-docs :is(.mp-document-help, .mp-contract-download, .mp-browser-settings) {
  background: linear-gradient(130deg, #111d27, #0b1219);
  border-color: #6f879633;
  border-radius: 18px;
  box-shadow: 0 1px 0 #ffffff04 inset;
}
body.night-docs .mp-document-help { padding: 28px; }
body.night-docs .mp-document-sources a { color: #bfd3de; }
body.night-docs .mp-document-sources small { color: #8ca2af; }
body.night-docs .mp-document-seal { background: #20333f; color: #bfd3dd; border-radius: 10px; }
body.night-docs .mp-contract-download { padding: 26px; gap: 22px; }
body.night-docs .mp-contract-download strong { color: #eff3f5; font-size: 17px; font-weight: 550; }
body.night-docs :is(.mp-page-action, .mp-storage-clear) {
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 28px;
  background: #dce8ee;
  border-color: #e9f0f4;
  color: #0c1820;
  font-size: 14px;
  font-weight: 550;
  box-shadow: none;
}
body.night-docs :is(.mp-page-action, .mp-storage-clear):hover { background: #f2f7fa; }
body.night-docs .mp-browser-settings { color: #b7c5cc; padding: 24px; }
body.night-docs .mp-browser-settings h3 { color: #eff3f5; font-size: 21px; font-weight: 600; }
body.night-docs .mp-browser-settings .mp-storage-feedback { color: #d1e6ef; }
body.night-docs .mp-page-footer { margin-top: 72px; padding-top: 30px; border-color: #ffffff18; color: #839ba8; }
body.night-docs .mp-page-footer > span { font-size: 13px; }
body.night-docs .mp-legal-links { gap: 2px 22px; }
body.night-docs .mp-legal-links a { font-size: 12px; color: #a5bac6; text-decoration-color: #435965; }
body.night-docs .mp-page-skip { max-width: calc(100vw - 20px); background: #dce8ee; color: #0c1820; }

/* Same optional game, restyled as a quiet chart in the midnight scene. */
body.night-docs .mp-lost-main { width: min(1240px, calc(100% - 64px)); gap: 64px; padding-top: 56px; }
body.night-docs .mp-lost-copy h1 { font-size: clamp(42px, 4.7vw, 66px); font-weight: 600; line-height: 1.07; letter-spacing: -.045em; }
body.night-docs .mp-lost-copy h1 em { color: #b5ceda; }
body.night-docs .mp-lost-links a { color: #a2bac7; }
body.night-docs .mp-rescue { padding: 26px; background: linear-gradient(150deg, #101b26, #0a1119); border-color: #6f879633; border-radius: 22px; }
body.night-docs .mp-rescue-top h2 { font-size: 24px; font-weight: 550; }
body.night-docs :is(.mp-motion-toggle, .mp-steer, .mp-restart) { background: #172734; border-color: #67829155; border-radius: 12px; color: #e1eaf0; }
body.night-docs :is(.mp-motion-toggle, .mp-steer, .mp-restart):hover { background: #243c4b; }
body.night-docs .mp-motion-toggle { min-width: 100px; max-width: 120px; }
body.night-docs .mp-game-instructions { color: #9fb5c2; }
body.night-docs .mp-sea-frame { background: #060d14; border-color: #6b86913b; border-radius: 16px; }
body.night-docs .mp-sea-grid { background: radial-gradient(ellipse at 40% 95%, #163b50, #0b2032 60%, #070f1b); }
body.night-docs .mp-sea-cell { border-color: #d5ebff0b; }
body.night-docs .mp-sea-current { opacity: .42; }
body.night-docs .mp-sea-current-two { opacity: .25; }
body.night-docs .mp-reef i { background: linear-gradient(140deg, #97a8b1, #405e6b); }
body.night-docs .mp-buoy { background: #e6c88a; border-color: #b99959; color: #372b14; box-shadow: 0 0 16px #d9ad6017; }
body.night-docs .mp-buoy-found { background: #c0d9df; border-color: #e3f0f2; color: #11242b; }
body.night-docs .mp-game-progress strong { color: #d0e3ec; }
body.night-docs .mp-game-status { background: #080f17; border-color: #69859433; color: #afc2ce; }
body.night-docs .mp-game-success { background: #132731; border-color: #72919f66; color: #e0edf3; }
body.night-docs .mp-map-coordinate { color: #809eae; }

body.night-docs .static-site { max-width: 820px; margin: 0 auto; padding: 48px 24px; color: #b7c5cc; font: 17px/1.78 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
body.night-docs .static-site :is(h1, h2) { color: #f5f5f3; font-weight: 600; letter-spacing: -.03em; line-height: 1.18; }
body.night-docs .static-site h1 { font-size: clamp(34px, 5vw, 56px); margin: 32px 0; }
body.night-docs .static-site h2 { font-size: 27px; margin: 42px 0 22px; }
body.night-docs .static-site :is(p, li) { overflow-wrap: anywhere; }
body.night-docs .static-site a { color: #d2e7f1; text-underline-offset: 4px; }
body.night-docs .static-site section { border-bottom: 1px solid #ffffff18; padding-bottom: 24px; }

@media (max-width: 1000px) {
  body.night-docs .mp-document-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 32px; }
  body.night-docs .mp-lost-main { gap: 28px; }
  body.night-docs .mp-rescue { padding: 20px; }
}
@media (max-width: 800px) {
  body.night-docs .mp-document-layout { grid-template-columns: 1fr; gap: 40px; padding-top: 28px; }
  body.night-docs .mp-document-toc { position: static; }
  body.night-docs .mp-document-toc a { background: #0e1922; }
  body.night-docs :is(.mp-document-main, .mp-lost-main) { padding-top: 40px; }
  body.night-docs .mp-lost-main { width: min(600px, calc(100% - 48px)); grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 540px) {
  body.night-docs :is(.mp-page-header, .mp-page-footer, .mp-document-main, .mp-lost-main) { width: calc(100% - 40px); }
  body.night-docs .mp-page-header { gap: 10px; padding-block: 16px 12px; }
  body.night-docs .mp-page-brand { font-size: 12px; }
  body.night-docs .mp-page-brand img { width: 34px; height: 34px; }
  body.night-docs .mp-page-nav { gap: 6px; }
  body.night-docs .mp-page-nav a { font-size: 12px; padding-inline: 14px; }
  body.night-docs .mp-document-hero { padding-bottom: 30px; }
  body.night-docs .mp-document-hero h1 { font-size: clamp(30px, 8.8vw, 40px); line-height: 1.12; letter-spacing: -.035em; }
  body.night-docs .mp-document-status { font-size: 11px; padding: 10px 12px; }
  body.night-docs .mp-document-toc { gap: 5px; }
  body.night-docs .mp-document-toc a { font-size: 13px; }
  body.night-docs .mp-document-body :is(p, li) { font-size: 16px; line-height: 1.75; }
  body.night-docs .mp-document-body h2 { font-size: 25px; }
  body.night-docs :is(.mp-document-help, .mp-contract-download, .mp-browser-settings) { padding: 20px; border-radius: 16px; }
  body.night-docs .mp-contract-download { gap: 18px; }
  body.night-docs .mp-page-footer { margin-top: 48px; padding-top: 24px; }
  body.night-docs .mp-legal-links { gap: 0; }
  body.night-docs .mp-lost-copy h1 { font-size: 42px; }
  body.night-docs .mp-lost-copy .mp-page-lead { font-size: 17px; }
  body.night-docs .mp-rescue { padding: 15px; border-radius: 18px; }
  body.night-docs .mp-rescue-top h2 { font-size: 23px; }
  body.night-docs .mp-motion-toggle { max-width: none; }
  body.night-docs .mp-game-instructions { font-size: 13px; }
  body.night-docs .mp-rescue-console { grid-template-columns: minmax(0, 1fr) 144px; }
  body.night-docs .mp-steering { gap: 5px; }
}
@media (max-width: 359px) {
  body.night-docs .mp-page-nav a { padding-inline: 10px; }
  body.night-docs .mp-rescue-console { grid-template-columns: minmax(0, 1fr); }
  body.night-docs .mp-steering { grid-column: 1; grid-row: 2; justify-self: center; }
  body.night-docs .mp-restart { grid-column: 1; grid-row: 3; justify-self: stretch; }
  body.night-docs .mp-game-progress { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 8px; }
}
@media (prefers-contrast: more) {
  body.night-docs :is(.mp-document-page, .mp-lost-page) { --mp-muted: #edf5fa; --mp-line: #819ba9; }
  body.night-docs .mp-document-body :is(p, li) { color: #edf5fa; }
}
@media print {
  body.night-docs, body.night-docs .mp-document-page { background: #fff; color: #111; }
  body.night-docs .mp-document-main { width: 100%; padding: 0; }
  body.night-docs .mp-document-layout { display: block; }
  body.night-docs :is(.mp-page-header, .mp-document-toc, .mp-page-footer, .mp-document-help, .mp-document-sources, .mp-browser-settings) { display: none; }
  body.night-docs .mp-document-hero h1 { color: #111; font-size: 30px; }
  body.night-docs .mp-document-body :is(p, li), body.night-docs .mp-page-lead { color: #111; font-size: 11pt; }
  body.night-docs .mp-document-body h2 { color: #111; font-size: 16pt; }
  body.night-docs .mp-document-status { color: #111; background: #fff; border-color: #888; }
}
