/* Moon Jump typography contract: see games/moon-jump/AGENTS.md. */
@font-face { font-family:'Motions Impact'; src:url('./fonts/Motions-Impact.woff2') format('woff2'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Motions Sprint'; src:url('./fonts/Motions-Sprint.woff2') format('woff2'); font-weight:900; font-style:italic; font-display:swap; }
@font-face { font-family:Inter; src:url('./fonts/Inter.woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
:root { --moon-body:Inter,system-ui,sans-serif; --moon-title:'Motions Impact',Impact,sans-serif; --moon-subtitle:'Motions Sprint',sans-serif; }
body, #moon-story { font-family:var(--moon-body); font-weight:400; letter-spacing:-.015em; word-spacing:normal; }
/* Match both corner insets in Story Mode; preserve the regular menu's logo clearance. */
body.story-map-open #motions-review-launcher { --report-inset:max(24px,env(safe-area-inset-left),env(safe-area-inset-bottom)); left:var(--report-inset); bottom:var(--report-inset); }
#moon-story .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#moon-story .type-art { display:inline-block; width:auto; max-width:100%; object-fit:contain; object-position:left center; vertical-align:middle; pointer-events:none; }
#moon-story .type-title { height:30px; }
#moon-story .type-subtitle { height:24px; }
#moon-story .chapter-heading h1 { line-height:1; }
#moon-story .chapter-heading .type-title { max-width:285px; filter:drop-shadow(0 2px 3px #0008); }
#moon-story .world-label .type-subtitle { height:20px; max-width:190px; filter:drop-shadow(0 2px 3px #000); }
#moon-story .level-popover h2 { line-height:1; }
#moon-story .result-card .type-title { height:auto; width:100%; }
#moon-story .menu-title .type-title { height:30px; max-width:260px; filter:drop-shadow(0 2px 3px #0008); }
#moon-story button, #story-hud button, #mj-title button, #mj-title .mjt-links { font-family:var(--moon-title); font-weight:900; font-style:normal; letter-spacing:0; text-transform:uppercase; }
#moon-story .popover-close { font-family:Inter,sans-serif; font-weight:400; }
#moon-story .story-eyebrow, #moon-story .level-popover .story-eyebrow, #moon-story .world-label small, #moon-story .chapter-progress, #moon-story .chapter-hint { font-family:var(--moon-body); font-weight:500; letter-spacing:-.01em; text-transform:none; }
#moon-story .chapter-progress { font-size:13px; }
#moon-story .world-label small { font-size:12px; }
#moon-story .story-eyebrow { font-size:12px; }
#story-hud, #mj-title, #loader, #cam-label, #err { font-family:var(--moon-body); letter-spacing:-.015em; font-weight:400; }
#mj-title .mjt-tag, #mj-title .mjt-label { letter-spacing:0; }
#mj-title .mjt-logo { background:none; color:white; }
#mj-title .mjt-logo img { width:min(450px,75vw); height:auto; }
#mj-title .mjt-tag img { width:min(245px,52vw); height:auto; }
#mj-title .mjt-label img { height:14px; width:auto; }
#mj-title .mjt-story small { font-family:var(--moon-body); letter-spacing:0; font-weight:400; }
@media(max-width:700px) {
  #moon-story .menu-title .type-title { height:24px; max-width:230px; }
  #moon-story .chapter-heading .type-title { height:22px; max-width:175px; }
  #moon-story .is-worlds .chapter-progress { font-size:11px; gap:4px; padding:10px 8px; }
  #moon-story .is-worlds .chapter-progress > span:first-child { font-size:17px; }
}
@media(max-width:360px) { #moon-story .is-worlds .chapter-heading .type-title { max-width:148px; } }
