/* Only recovery notices and safe native media sizing; archive theme CSS stays authoritative. */
.migration-notice { padding: 1rem; background: #fff2c5; color: #231d0f; font: 14px/1.5 system-ui, sans-serif; }
.migration-notice a { color: #213b80; text-decoration: underline; }
.migration-missing { display: block; padding: .6rem; border: 1px dashed currentColor; font: 14px/1.5 system-ui, sans-serif; }
.migration-consent { position: relative; z-index: 1; }
.migration-consent button { cursor: pointer; padding: .7rem; }
iframe[data-consent-src]:not([src]) { visibility: hidden; pointer-events: none; }
img, video, iframe { max-width: 100%; }
img:not([src]) { display: none; }
.migration-home { padding: .65rem 1rem; font: 16px/1.4 system-ui,sans-serif; background: #111; color: white; }
.migration-home a { color: white; }
.migration-lightbox { width: min(96vw,1200px); max-height: 94dvh; padding: 1rem; background: #111; color: white; border: 1px solid #aaa; }
.migration-lightbox::backdrop { background: #000d; }
.migration-lightbox img { display: block; max-width: 100%; max-height: 72dvh; width: auto; height: auto; margin: auto; object-fit: contain; }
.migration-lightbox button { margin: .3rem; padding: .7rem; color: #111; background: white; cursor: pointer; }
[role=button]:focus-visible { outline: 3px solid #00ffff; outline-offset: 4px; }
.new-project { max-width: 960px; padding: 2rem 1rem; margin: auto; font: 18px/1.6 system-ui,sans-serif; }

/* Route AND captured project structure are required; no homepage article rules. */
body[data-project] > .migration-home {
  padding: 6px 16px;
}
body[data-project] > .migration-home a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  line-height: 1.4;
}
body[data-project] .entry-content > p,
body[data-project="epk"] #post-1890 .entry-content > .container > p {
  line-height: 1.65;
  margin-bottom: 1.25em;
}
body[data-project] .entry-content figcaption {
  line-height: 1.5;
  margin-top: 8px;
}
body[data-project="epk"] #post-1890 > [data-duplicate-title] {
  display: none;
}

.migration-skip { position: absolute; left: 1rem; top: -100px; z-index: 1000000; padding: 12px; background: #111; color: white; }
.migration-skip:focus { top: 0; }
.migration-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
