/* Content adapters only. The approved scene and motion live in universe.css. */
body { min-width: 0; }
.site-footer {
  flex-wrap: wrap;
  gap: 12px 24px;
}
.home-page .site-footer,
.collection-page .site-footer,
.not-found-page .site-footer {
  color: var(--ink-muted);
  border-color: var(--line);
}
.collection-hint {
  color: var(--ink-muted) !important;
  font-size: 13px !important;
  margin-top: 18px !important;
}
.index-copy { min-width: 0; }
.index-copy strong { display: block; }
.index-copy small {
  display: block;
  margin-top: 5px;
  color: var(--ink-muted);
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0;
}
.software-index a { grid-template-columns: 30px minmax(0, 1fr) auto; min-height: 72px; }
.software-index strong { font-size: 13.5px; }
.collection-page[data-collection="skills"] .software-index a { padding: 12px 0; }
.collection-page[data-collection="skills"] .index-copy small { font-size: 12px; line-height: 1.7; }
.catalog-orbit { animation-direction: normal; pointer-events: none; }
.catalog-orbit .planet { --planet-size: 57px; pointer-events: auto; }
.catalog-orbit .planet-content {
  --label-offset: 0px;
  width: 148px;
  animation-direction: normal;
}
.catalog-orbit .planet-content strong { font-size: 12px; transform: translateY(48px); }
.catalog-orbit .planet-content small {
  position: absolute;
  top: calc(100% + 54px);
  left: -20px;
  width: 188px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.7;
  background: rgba(7, 27, 61, .95);
}
.orbit-partner { border-color: transparent; }
.orbit-partner::before { display: none; }
.catalog-orbit:has(.planet:hover),
.catalog-orbit:has(.planet:focus-visible) { z-index: 12; }
.detail-copy { min-width: 0; }
.detail-title {
  font-size: clamp(42px, 4.4vw, 70px);
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.detail-title small {
  display: block;
  margin-top: 18px;
  color: var(--ink-soft);
  font-size: .38em;
  font-weight: 550;
  line-height: 1.5;
  letter-spacing: .015em;
}
.detail-english { color: var(--ink-soft); font-size: 11.5px; line-height: 1.5; letter-spacing: .12em; margin: 16px 0 0; }
.detail-astronaut { height: auto; }
.detail-section { backdrop-filter: none; }
.detail-section .section-kicker { color: #3b6792; }
.detail-section__body { min-width: 0; }
.media-section { display: block; }
.media-section .detail-section__body { padding-top: 24px; }
.showcase-figure { margin: 0; }
.showcase-figure + .showcase-figure { margin-top: 28px; }
.showcase-figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(50,130,194,.2);
  border-radius: 14px;
  background: #eaf7ff;
}
.showcase-figure figcaption { margin-top: 12px; color: #436587; font-size: 13px; line-height: 1.75; }
.verification-note { margin-top: 24px; }
.attribution { font-size: 14px; overflow-wrap: anywhere; }
.download-action:disabled {
  border: 1px solid #8eaac2;
  color: #365c7a;
  background: #dce9f3;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
  letter-spacing: .015em;
}
.detail-return { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 28px; }
.detail-return a { display: inline-flex; align-items: center; min-height: 44px; color: #133f68; text-underline-offset: 6px; }
.not-found { width: min(1180px, calc(100% - 72px)); min-height: 65vh; margin: 0 auto; padding: 100px 0; }
.not-found h1 { font-size: clamp(30px, 5vw, 64px); margin: 0 0 36px; }
body.scene-suspended .cosmic-haze,
body.scene-suspended .astronaut-wrap,
body.scene-suspended .astronaut-wrap::after,
body.scene-suspended .directory-star,
body.scene-suspended .directory-star::before,
body.scene-suspended .directory-star::after,
body.scene-suspended .galaxy-core,
body.scene-suspended .orbit,
body.scene-suspended .planet-content,
body.scene-suspended .detail-core,
body.scene-suspended .detail-core::after,
body.scene-suspended .detail-astronaut { animation-play-state: paused !important; }
@media (min-width: 821px) and (max-width: 1180px) {
  .collection-main { grid-template-columns: minmax(210px, .65fr) minmax(0, 1.35fr); }
  .galaxy-canvas { width: min(59vw, 650px); }
  .software-index a { min-height: 72px; }
  .detail-hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .detail-title { font-size: clamp(40px, 4.6vw, 58px); }
  .detail-section { grid-template-columns: 170px minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 820px) {
  .motion-toggle[aria-pressed="true"]::before { content: "▶"; }
  .detail-page {
    background:
      radial-gradient(ellipse 340px 360px at 70% 720px, rgba(225,248,255,.82), transparent),
      linear-gradient(180deg, #0a2b62 0, #246ead 740px, #b9e8ff 1400px, #eef9ff 2000px);
  }
  .detail-meta span { background: rgba(6,35,77,.72); }
  .detail-title { font-size: clamp(32px, 9vw, 50px); line-height: 1.18; }
  .detail-title small { font-size: 18px; }
  .detail-scene { min-height: 380px; }
  .detail-section { display: block; }
  .detail-content { padding-bottom: 64px; }
  .mobile-planet-list a { grid-template-columns: 48px minmax(0, 1fr) 14px; gap: 12px; padding: 16px 14px; }
  .mobile-planet-list .mini-planet { width: 42px; height: 42px; }
  .mobile-planet-list small { font-size: 13px; line-height: 1.7; }
  .showcase-figure img { border-radius: 9px; }
  .not-found { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-orbit, .catalog-orbit .planet-content {
    animation-duration: var(--orbit-time) !important;
    animation-iteration-count: infinite !important;
    animation-play-state: paused !important;
  }
}
