/* Store wrappers share the questionnaire contract and use the onboarding presentation. */
[data-entry-app] { display: none; }
.gps-entry-dock.ob-action-dock { display: contents; }
html[data-tvk-native-host] [data-entry-app] { display: block; }
html[data-tvk-native-host] [data-entry-web],
html[data-tvk-native-host] .gps-page > .tvk-public-header,
html[data-tvk-native-host] .gps-page > .tvk-public-footer,
html[data-tvk-native-host] .gps-page .gps-page-nav,
html[data-tvk-native-host] .gps-page .gps-progress,
html[data-tvk-native-host] .gps-shell > .gps-link,
html[data-tvk-native-host] .gps-shell .store-badges { display: none; }
html[data-tvk-native-host] .gps-page { min-height: 100svh; }
html[data-tvk-native-host] .gps-shell { width: min(100% - 2rem, 35rem); padding: .5rem 0 max(1rem, env(safe-area-inset-bottom, 0px)); }
.entry-brand { position: relative; max-width: 35rem; margin: 0 auto; padding: calc(1rem + env(safe-area-inset-top, 0px)) 3.5rem .75rem; text-align: center; }
.entry-brand img { display: block; width: 9rem; max-width: 100%; height: auto; margin: 0 auto; }
.entry-brand p { margin: .7rem 0 0; color: var(--t-text-muted); font-size: .65rem; line-height: 1.5; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.entry-brand .entry-back { position: absolute; left: 1rem; top: calc(1rem + env(safe-area-inset-top, 0px)); display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--t-row-border); border-radius: 50%; background: var(--t-card); color: var(--t-text); text-decoration: none; }
html[data-tvk-native-host] .gps-shell h1 { font-family: var(--t-font-display); font-size: 1.5rem; line-height: 1.2; letter-spacing: -.01em; margin: .65rem 0 .5rem; }
html[data-tvk-native-host] .gps-shell .gps-lead { font-size: .875rem; line-height: 1.5; margin: .5rem 0 1.1rem; }
html[data-tvk-native-host] .gps-card.gps-question-form { padding: 0; margin: 1.4rem 0 0; border: 0; background: transparent; }
html[data-tvk-native-host] .gps-field { margin-bottom: 1.3rem; scroll-margin-top: 1rem; }
html[data-tvk-native-host] .gps-field legend { font-size: .875rem; font-weight: 700; margin-bottom: .6rem; }
html[data-tvk-native-host] .gps-field small { font-size: .7rem; }
html[data-tvk-native-host] .gps-options.nu-act-chips { display: grid; grid-template-columns: 1fr; gap: .5rem; }
html[data-tvk-native-host] [data-field="gender"] .gps-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html[data-tvk-native-host] .gps-option.nu-act-chip { margin: 0; min-height: 3.25rem; padding: .85rem; align-items: center; }
html[data-tvk-native-host] .gps-option.nu-act-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
html[data-tvk-native-host] .gps-option.nu-act-chip:has(input:checked) { border-color: var(--t-cta-bg); background: var(--t-accent-tint); }
html[data-tvk-native-host] .gps-option.nu-act-chip:has(input:checked) > span { color: var(--t-cta-bg); }
html[data-tvk-native-host] .gps-option.nu-act-chip--multi { padding-right: 2.5rem; }
html[data-tvk-native-host] .gps-option .nu-act-chip__title { font-size: .875rem; }
html[data-tvk-native-host] .gps-question-form.ob-form .vb-input,
html[data-tvk-native-host] .gps-question-form.ob-form .vb-select,
html[data-tvk-native-host] .gps-question-form.ob-form .vb-textarea { width: 100%; min-height: 3.5rem; padding: .875rem; border-radius: .875rem; font-size: 1rem; }
html[data-tvk-native-host] .gps-question-form.ob-form .vb-select { padding-right: 1.75rem; }
html[data-tvk-native-host] .gps-date-row.ob-date-row { display: grid; grid-template-columns: .8fr 1.4fr 1fr; gap: .5rem; }
html[data-tvk-native-host] .gps-date-row [name=birth_m] { grid-column: auto; grid-row: auto; }
html[data-tvk-native-host] .gps-entry-dock.ob-action-dock { display: block; margin: 1.25rem 0 0; }
html[data-tvk-native-host] .gps-entry-dock .gps-actions { flex-direction: column; gap: .4rem; margin: 0; }
html[data-tvk-native-host] .gps-entry-dock .gps-actions > * { width: 100%; }
html[data-tvk-native-host] .gps-entry-dock .gps-button { min-height: 3.25rem; border-radius: .875rem; font-size: .95rem; }
html[data-tvk-native-host] .gps-entry-dock .gps-link { padding: .65rem; text-decoration: none; text-align: center; font-size: .8rem; }
html[data-tvk-native-host] .gps-native-welcome { max-width: 19rem; margin: .25rem auto 0; text-align: center; }
html[data-tvk-native-host] .gps-native-welcome img { display: block; width: 100%; max-height: 13rem; object-fit: contain; object-position: bottom; margin: 0 auto; }
html[data-tvk-native-host] .gps-shell[data-guest-step="start"] > h1,
html[data-tvk-native-host] .gps-shell[data-guest-step="start"] > .gps-lead { text-align: center; }
html[data-tvk-native-host] .gps-shell .gps-hint { font-size: .75rem; }
html[data-tvk-native-host] .gps-preview-header .gps-preview-meta { gap: .3rem .75rem; }
html[data-tvk-native-host] .gps-page .ppv-cta { display: block; padding: 1rem; border-color: var(--t-hero-border); background: var(--t-hero-bg); box-shadow: var(--t-hero-glow); }
html[data-tvk-native-host] .gps-page .ppv-cta__art,
html[data-tvk-native-host] .gps-page .ppv-cta__eyebrow { display: none; }
html[data-tvk-native-host] .gps-page .ppv-cta__copy { padding: 0; }
@media (max-width: 23rem) {
  html[data-tvk-native-host] .gps-date-row.ob-date-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-tvk-native-host] .gps-date-row [name=birth_m] { grid-column: 1 / -1; grid-row: 1; }
}
