/* Shared A305X collection and launch experience. No web-font request needed. */
[hidden] { display: none !important; }
html { scroll-padding-top: calc(var(--header-height) + 1.5rem); }
[id] { scroll-margin-top: calc(var(--header-height) + 1.5rem); }
button, input, select { font: inherit; }
.site-nav { gap: clamp(.8rem, 1.8vw, 2rem); font-size: .75rem; }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.site-nav a[aria-current="page"]:not(.nav-cta) { text-decoration: underline; text-underline-offset: .35em; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.quiet-link { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 0; border-bottom: 1px solid currentColor; font-weight: 800; text-underline-offset: .25em; }
.quiet-link:hover { color: #a41050; }
.button { min-height: 48px; text-align: center; gap: .7rem; }
.eyebrow { margin: 0 0 1.1rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
.signal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; margin: 1.8rem 0 1rem; }
.signal-note, .item-note, .collection-note { font-size: .82rem; line-height: 1.6; }
.signal-note { margin-top: 1rem; max-width: 38rem; }
.signal-hero { padding: calc(var(--header-height) + 1.2rem) var(--gutter) 0; max-width: 1600px; margin: auto; }
.signal-topline, .signal-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); font-size: .66rem; letter-spacing: .1em; font-weight: 800; }
.signal-live::before { content: ''; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: #9a164d; margin-right: .5rem; }
.signal-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(2rem, 5vw, 6rem); padding: clamp(2.5rem, 4vw, 4.5rem) 0; }
.signal-copy h1 { margin: 0 0 1.7rem; font: 950 clamp(3.25rem, 7.15vw, 7.6rem)/.92 var(--display); letter-spacing: -.075em; }
.signal-copy h1 em { display: inline-block; margin: .15em 0 .2em; padding: .015em .12em .07em; background: var(--pink); font-family: var(--serif); font-weight: 400; letter-spacing: -.065em; transform: rotate(-2deg); }
.signal-intro { max-width: 34rem; font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 600; line-height: 1.6; }
.signal-art { position: relative; margin: 0 .5rem 0 0; background: #161219; border: 2px solid var(--ink); box-shadow: 9px 9px 0 var(--ink); }
.signal-art > img { width: 100%; max-height: 590px; object-fit: contain; }
.signal-art figcaption { display: flex; justify-content: space-between; gap: .7rem; padding: .75rem; background: var(--paper); color: var(--ink); font-size: .6rem; letter-spacing: .05em; font-weight: 800; }
.signal-seal { position: absolute; top: 1.5rem; right: -1rem; display: grid; place-content: center; width: 6.5rem; height: 6.5rem; border-radius: 50%; border: 2px solid var(--ink); background: var(--acid); text-align: center; font: 900 .85rem/1.25 var(--sans); transform: rotate(12deg); box-shadow: 3px 3px 0 var(--ink); }
.signal-bottom { padding: 1.25rem 0; border-top: 1px solid var(--line); border-bottom: 0; align-items: center; }
.signal-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.edit-section, .free-feature, .play-feature, .maker-section, .join-feature { padding: clamp(3.5rem, 7vw, 6rem) var(--gutter); border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading h2, .free-feature h2, .play-feature h2, .join-feature h2, .page-intro h1 { margin: 0; font: 900 clamp(2.8rem, 5.5vw, 5.5rem)/.96 var(--display); letter-spacing: -.055em; }
.section-heading h2 em, .free-feature h2 em, .play-feature h2 em, .join-feature h2 em, .page-intro h1 em { font-family: var(--serif); font-weight: 400; }
.section-heading > div:last-child { justify-self: end; max-width: 30rem; }
.edit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.edit-card { min-width: 0; border: 1px solid var(--ink); background: #faf6eb; }
.edit-image { display: block; aspect-ratio: 1 / 1; border-bottom: 1px solid var(--ink); overflow: hidden; background: #e8dfcf; }
.edit-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.edit-card:nth-child(2) .edit-image img { object-fit: contain; background: #efe9de; }
.edit-card:nth-child(3) .edit-image img { object-fit: contain; background: #18181a; }
@media (hover: hover) { .edit-image:hover img { transform: scale(1.035); } }
.edit-copy { padding: clamp(1rem, 1.6vw, 1.5rem); }
.item-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; font-size: .62rem; font-weight: 800; letter-spacing: .04em; }
.item-meta span { color: #8a1345; }
.edit-copy h3 { font: 900 clamp(1.45rem, 2vw, 2rem)/1.1 var(--display); letter-spacing: -.04em; margin: 1.2rem 0 .7rem; }
.edit-copy p:not(.item-meta):not(.item-note) { margin: .6rem 0; }
.item-note { margin-bottom: 0; color: #4f4644; }
.collection-note { margin: 1.2rem 0 0; }
.free-feature { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); background: #eadfc9; }
.free-feature h2 { font-size: clamp(2.8rem, 5.1vw, 5.4rem); }
.free-feature h2 em { color: #9d174c; }
.free-feature > div > p { max-width: 34rem; }
.availability-chip { display: inline-flex; padding: .45rem .7rem; background: var(--acid); border: 1px solid var(--ink); font-size: .7rem; font-weight: 800; }
.feature-lead { font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.4; font-weight: 700; }
.free-feature figure { margin: 0; }
.free-feature img { width: 100%; border: 1px solid var(--line); }
.free-feature figcaption { margin-top: .8rem; font-size: .6rem; letter-spacing: .09em; font-weight: 700; }
.play-feature { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; background: #17151a; color: var(--paper); }
.play-feature h2 em { color: #ff77af; }
.play-feature .quiet-link:hover { color: #ff77af; }
.play-poster { margin: .6rem; transform: rotate(-2deg); border: 2px solid var(--paper); box-shadow: 9px 9px 0 var(--pink); }
.play-poster img { width: 100%; max-height: 520px; object-fit: contain; background: #1d1b22; }
.play-meta { font-size: .75rem; letter-spacing: .06em; color: var(--cyan); font-weight: 800; }
.maker-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.maker-mark { font: 900 clamp(3rem, 6.5vw, 7rem)/.95 var(--display); letter-spacing: -.06em; }
.maker-mark em { color: #a41050; font-family: var(--serif); font-weight: 400; }
.maker-section h2 { font: 900 clamp(2rem, 3.3vw, 3.2rem)/1.05 var(--display); letter-spacing: -.04em; }
.maker-section p { max-width: 36rem; }
.maker-byline { font-weight: 800; font-size: .75rem; letter-spacing: .08em; }
.join-feature { text-align: center; background: var(--pink); }
.join-feature h2 { font-size: clamp(3.7rem, 8vw, 8rem); }
.join-feature > p:not(.eyebrow):not(.signal-note) { font-size: 1.1rem; }
.join-feature .signal-note { margin: 1.2rem auto 0; }
.join-feature .button { box-shadow: 5px 5px 0 var(--paper); }
.page-intro { padding: calc(var(--header-height) + 3rem) var(--gutter) 2.5rem; }
.page-intro h1 { font-size: clamp(3.5rem, 7vw, 7rem); }
.page-intro > p:not(.eyebrow) { max-width: 48rem; font-size: 1.15rem; }
.game-filters { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.game-filters button, .signup-retry { min-height: 44px; padding: .7rem 1.1rem; border: 1px solid var(--ink); background: transparent; font-weight: 800; cursor: pointer; }
.game-filters button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.games-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; padding: 0 var(--gutter) 4rem; }
.game-card { border: 1px solid var(--ink); background: #faf6eb; min-width: 0; }
.game-card > div:last-child { padding: 1.5rem; }
.game-card h2 { font: 900 clamp(1.8rem, 3vw, 2.8rem)/1.1 var(--display); letter-spacing: -.04em; margin: .8rem 0; }
.game-card-art { height: clamp(230px, 28vw, 360px); overflow: hidden; background: #e6d5be; border-bottom: 1px solid var(--ink); }
.game-card-art img { height: 100%; width: 100%; object-fit: contain; }
.game-card .quiet-link { margin-left: 1rem; }
.time-poster, .system-poster { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.2rem, 3vw, 2.5rem); background: var(--pink); }
.time-poster > span, .system-poster > span { font-size: .65rem; font-weight: 800; letter-spacing: .1em; }
.time-poster strong, .system-poster strong { font: 900 clamp(2.4rem, 5vw, 5rem)/.95 var(--display); letter-spacing: -.055em; }
.time-poster em, .system-poster em { font-family: var(--serif); font-weight: 400; }
.system-poster { background: #211c27; color: var(--paper); }
.system-poster em { color: var(--acid); }
.small-join { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem var(--gutter); background: #e9dfcb; border-top: 1px solid var(--line); }
.small-join h2 { font: 900 clamp(1.6rem, 2.8vw, 2.6rem)/1.15 var(--display); letter-spacing: -.035em; margin: 0; }
.small-join p { margin: .65rem 0 0; }
.store-intro-main { min-height: 17rem; }
.store-intro h1 { font-size: clamp(3rem, 8.6vw, 8rem); line-height: .95; letter-spacing: -.075em; overflow-wrap: anywhere; }
.store-intro-mark { display: none; }
.store-summary { scroll-margin-top: calc(var(--header-height) + 1rem); }
.interest-link { margin-top: 1.5rem; }
.concept-lab { padding: 3rem var(--gutter); border-top: 1px solid var(--ink); }
.concept-lab h2 { font: 900 clamp(2rem, 3.2vw, 3rem)/1.15 var(--display); letter-spacing: -.035em; }
.lab-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.lab-grid article { border-top: 1px solid var(--line); }
.signup-panel select { width: 100%; min-height: 48px; padding: .8rem; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font-size: 1rem; border-radius: 0; }
.error-page { min-height: 75vh; padding-bottom: 4rem; }
@media (min-width: 1600px) { .edit-section, .free-feature, .play-feature, .maker-section, .games-grid { padding-left: max(var(--gutter), calc((100vw - 1480px) / 2)); padding-right: max(var(--gutter), calc((100vw - 1480px) / 2)); } }
@media (max-width: 1000px) { .wordmark > small { display: none; } .signal-copy h1 { font-size: clamp(3rem, 7.3vw, 5.5rem); } .edit-grid { gap: 1rem; } .item-meta { display: block; } .item-meta span { display: block; margin-top: .4rem; } }
@media (max-width: 820px) {
 .site-nav { font-size: .85rem; } .site-nav a { display: block; }
 .signal-hero-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
 .signal-copy h1 { font-size: clamp(2.8rem, 7vw, 4.1rem); }
 .signal-copy .eyebrow { font-size: .62rem; } .signal-actions { gap: .6rem 1rem; }
 .signal-art figcaption span:last-child { display: none; } .signal-seal { width: 5rem; height: 5rem; font-size: .67rem; right: -.5rem; }
 .free-feature, .play-feature, .maker-section { grid-template-columns: 1fr; }
 .free-feature figure { order: -1; } .free-feature img { max-height: 400px; object-fit: contain; }
 .play-poster { max-width: 420px; width: calc(100% - 1rem); margin: 0 auto 1rem; }
 .maker-mark { display: none; } .small-join { flex-direction: column; align-items: flex-start; }
 .signup-main { padding-top: calc(var(--header-height) + 1.5rem); }
 .signup-intro { padding-right: 0; } .signup-art, .signup-benefits { display: none; }
 .signup-intro h1 { font-size: clamp(3.5rem, 12vw, 5rem); margin: 1rem 0; }
 .signup-lead { margin: 1rem 0; } .signup-main { gap: 1rem; }
}
@media (max-width: 700px) {
 .signal-hero-grid, .section-heading, .edit-grid, .games-grid, .lab-grid { grid-template-columns: 1fr; }
 .signal-topline { font-size: .57rem; } .signal-live { display: none; }
 .signal-hero-grid { padding: 2rem 0; gap: 2rem; }
 .signal-copy h1 { font-size: clamp(3.3rem, 11.6vw, 5rem); }
 .signal-copy .eyebrow { max-width: 29rem; }
 .signal-art { max-width: 440px; width: calc(100% - 10px); justify-self: center; }
 .signal-art > img { max-height: 390px; }
 .signal-art figcaption span:last-child { display: inline; }
 .signal-bottom { font-size: .57rem; flex-wrap: wrap; } .signal-bottom > span:last-child { display: none; }
 .section-heading > div:last-child { justify-self: start; }
 .edit-grid { gap: 1.5rem; } .edit-image { aspect-ratio: 6/5; }
 .edit-card:first-child img { object-fit: contain; }
 .item-meta { display: flex; } .item-meta span { margin: 0; }
 .edit-copy { padding: 1.25rem; } .edit-copy h3 { font-size: 1.8rem; }
 .free-feature h2 { font-size: clamp(2.65rem, 10.7vw, 4.3rem); }
 .games-grid { gap: 1.5rem; } .game-card-art { height: 290px; }
 .time-poster strong, .system-poster strong { font-size: clamp(2.8rem, 11vw, 4rem); }
 .store-intro { padding-bottom: 2rem; } .store-intro-main { min-height: 12rem; grid-template-columns: 1fr; }
 .store-intro h1 { font-size: clamp(2.65rem, 10.1vw, 4.4rem); }
 .store-intro-main p:last-child { margin-top: 1.5rem; }
}
@media (max-width: 380px) { .signal-actions > .button { width: 100%; } .signal-note { font-size: .76rem; } .signup-panel { padding: 1rem; } .game-card .quiet-link { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .signal-art, .signal-copy h1 em, .play-poster { transform: none !important; } }
