$ErrorActionPreference = 'Stop' $root = Split-Path $PSScriptRoot -Parent $page = [System.IO.File]::ReadAllText((Join-Path $root 'pages/genealogy/g10-application-review.vue'), [System.Text.Encoding]::UTF8) foreach ($expected in @( 'background: url("/static/assets/modules/genealogy/transparent/list-slip-frame.png") center / 100% 100% no-repeat', 'background: url("/static/assets/modules/genealogy/transparent/section-divider.png") bottom center / 100% 14rpx no-repeat', 'grid-template-columns: auto minmax(0, 1fr) auto', 'padding: 44rpx 52rpx 29rpx 64rpx', 'grid-area: 1 / 1', 'z-index: 1', 'background: url("/static/assets/foundation/transparent/a01-scroll-toast-v3.png") center / 100% 100% no-repeat' )) { if (-not $page.Contains($expected)) { throw "G10 document-flow contract missing: $expected" } } if ($page -notmatch '(?s)\.review-feedback\s*\{[^}]*position:\s*fixed;') { throw 'G10 feedback must remain fixed' } if ([regex]::Matches($page, 'position\s*:').Count -ne 1) { throw 'G10 must keep only its fixed feedback positioned' } if ($page -match 'class="(?:application-card__skin|review-state-card__skin)"|review-intro[^>]*>.*?section-divider\.png|review-feedback[^>]*>\s*