:root {
    --field-bg: rgba(255, 255, 255, .72);
    --success-bg: #edf8f1;
    --success-ink: #1c5b38;
    --success-line: #a8cfba;
    --error: #9d2035;
}

:root[data-theme="dark"] {
    --field-bg: rgba(12, 23, 43, .58);
    --success-bg: #132f27;
    --success-ink: #a8dfbd;
    --success-line: #2f6647;
    --error: #ff9cac;
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="auto"],
    :root:not([data-theme]) {
        --field-bg: rgba(12, 23, 43, .58);
        --success-bg: #132f27;
        --success-ink: #a8dfbd;
        --success-line: #2f6647;
        --error: #ff9cac;
    }
}

button, input, textarea, select { font: inherit; }

@property --wa { syntax: "<percentage>"; inherits: false; initial-value: 0%; }
@property --wb { syntax: "<percentage>"; inherits: false; initial-value: 0%; }
@property --e { syntax: "<percentage>"; inherits: false; initial-value: 0%; }

@supports (corner-shape: squircle) {
    .panel,
    .notice,
    .choice,
    .app-choice,
    .verdict__option,
    .attention,
    .stat,
    .review-card,
    .reply,
    main input,
    main textarea,
    main select,
    fieldset { corner-shape: squircle; }
}

.nav-form { display: contents; margin: 0; }
.nav-form .nav-cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: .94rem;
    font-weight: 640;
    letter-spacing: -.005em;
    white-space: nowrap;
}

.shell { min-height: calc(100vh - 216px); }

.hero.hero--home.preview-hero { min-height: auto; padding: 174px 0 116px; }
.hero.hero--home.preview-hero .hero__inner { min-height: 0; }
.hero.hero--home.preview-hero .eyebrow { justify-content: center; }

.preview-home .shell { min-height: 0; }

.hero.hero--home.preview-hero { padding-bottom: var(--space-8); }
.preview-shelf {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: var(--space-8);
}
.preview-shelf__glow {
    position: absolute;
    inset: -40% 8%;
    border-radius: 50%;
    background: conic-gradient(from 200deg, var(--orbit), var(--circle), var(--beacon), var(--echo), var(--watchlist), var(--orbit));
    filter: blur(70px);
    opacity: .22;
    pointer-events: none;
}
.preview-shelf__icons {
    position: relative;
    display: flex;
    gap: clamp(10px, 2.2vw, 24px);
    padding: clamp(12px, 1.8vw, 20px) clamp(16px, 2.4vw, 28px);
    border: 1px solid var(--glass-border);
    border-radius: 999px;
    background: var(--glass-bg);
    -webkit-backdrop-filter: blur(24px) saturate(1.4);
    backdrop-filter: blur(24px) saturate(1.4);
    box-shadow: inset 0 1px 0 var(--highlight), var(--floating-shadow);
}
.preview-shelf__icon img {
    width: clamp(48px, 7vw, 84px);
    height: auto;
    filter: drop-shadow(0 2px 4px rgba(var(--shadow-rgb), .12)) drop-shadow(0 12px 20px rgba(var(--shadow-rgb), .16));
}

.preview-steps,
.preview-apps__grid { margin: 0; padding: 0; list-style: none; }
.preview-steps__art { display: block; width: 72px; height: 72px; margin: 0 0 var(--space-3) -4px; }

.preview-apps__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.preview-apps__grid > li { display: flex; flex: 0 1 calc((100% - 40px) / 3); }
.preview-app { flex: 1; padding: 26px 26px 24px; }
.preview-app--orbit { --app-accent: var(--orbit); }
.preview-app--circle { --app-accent: var(--circle); }
.preview-app--beacon { --app-accent: var(--beacon); }
.preview-app--echo { --app-accent: var(--echo); }
.preview-app--watchlist { --app-accent: var(--watchlist); }
.preview-app__icon { width: 56px; height: 56px; margin-bottom: var(--space-2); }

@media (max-width: 860px) {
    .preview-steps { grid-template-columns: 1fr; }
    .preview-apps__grid > li { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 560px) {
    .preview-apps__grid > li { flex-basis: 100%; }
}

.hero__actions,
.actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 26px; }

.text-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
    color: var(--ink);
    font-weight: 660;
    text-decoration: none;
    transition: border-color 180ms cubic-bezier(.2, .65, .2, 1), color 180ms cubic-bezier(.2, .65, .2, 1);
}

.text-link:hover { border-color: color-mix(in srgb, var(--ink) 45%, transparent); }

.notice,
.panel {
    width: min(calc(100% - 40px), 1120px);
    margin-right: auto;
    margin-left: auto;
}

.notice {
    margin-top: 118px;
    margin-bottom: -86px;
    border: 1px solid var(--success-line);
    border-radius: 12px;
    background: var(--success-bg);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    color: var(--success-ink);
    padding: 13px 16px;
}

.panel {
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    margin-top: 118px;
    padding: 70px clamp(24px, 5vw, 56px);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 26px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft), var(--raised-shadow);
}

.panel h1 { max-width: 900px; font-size: var(--page-title-size); }
.panel > p:not(.eyebrow),
.panel > article > p:not(.eyebrow) { max-width: 760px; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.65; text-wrap: pretty; }
.panel > .button + .button { margin-left: 8px; }
.rules-text { max-width: 760px; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.7; }

.rules-list {
    max-width: 760px;
    margin: 26px 0 32px;
    padding: 0;
    list-style: none;
    counter-reset: rule;
    border-top: 1px solid var(--line);
}
.rules-list li {
    counter-increment: rule;
    position: relative;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    align-items: baseline;
    border-bottom: 1px solid var(--line);
    padding: 15px 4px;
    color: var(--ink-soft);
    font-size: 1.02rem;
    line-height: 1.6;
    text-wrap: pretty;
}
.rules-list li::before {
    content: counter(rule);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: .84rem;
    color: var(--muted);
    padding-top: 2px;
}

main form { display: grid; gap: 13px; margin-top: 30px; }
.panel > form { max-width: 100%; }
main label { color: var(--ink-soft); font-size: .9rem; font-weight: 700; }

main input,
main textarea,
main select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--field-bg);
    color: var(--ink);
    padding: 11px 13px;
    transition: border-color 180ms cubic-bezier(.2, .65, .2, 1), box-shadow 180ms cubic-bezier(.2, .65, .2, 1), background 180ms cubic-bezier(.2, .65, .2, 1);
}

main input { min-height: 49px; }
main textarea { resize: vertical; }

main select {
    appearance: none;
    -webkit-appearance: none;
    height: 49px;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2368738a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px 8px;
}

:root[data-theme="dark"] main select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2397a5bb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="auto"] main select,
    :root:not([data-theme]) main select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2397a5bb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
}
main input:disabled { color: var(--muted); opacity: .72; }

main input:focus,
main textarea:focus,
main select:focus { border-color: #3f73c9; background-color: var(--panel); box-shadow: 0 0 0 4px rgba(63, 115, 201, .15); outline: none; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid > div { display: grid; align-content: start; gap: 7px; }

fieldset { margin: 12px 0; border: 1px solid var(--line); border-radius: 20px; padding: 18px; }
legend { color: var(--ink); font-weight: 730; padding-inline: 7px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.choice, .check-row { display: flex; align-items: flex-start; gap: 10px; }

.choice {
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    min-height: 52px;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 12px;
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    padding: 10px 13px;
    transition: --wa 180ms cubic-bezier(.2, .65, .2, 1), --wb 180ms cubic-bezier(.2, .65, .2, 1), --e 180ms cubic-bezier(.2, .65, .2, 1), border-color 180ms cubic-bezier(.2, .65, .2, 1);
}

.choice:hover { --wa: var(--wash-a); --wb: var(--wash-b); --e: 24%; }

.choice input, .check-row input {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    min-height: 18px;

    padding: 0;
    margin-top: 3px;
    flex: 0 0 auto;
    position: relative;
    border: 1.5px solid color-mix(in srgb, var(--ink) 42%, transparent);
    border-radius: 6px;
    background: var(--field-bg);
    cursor: pointer;
    transition: background 140ms cubic-bezier(.2, .65, .2, 1), border-color 140ms cubic-bezier(.2, .65, .2, 1);
}
.choice input { margin-top: 0; }
.choice input:hover, .check-row input:hover { border-color: #3f73c9; }
.choice input:checked, .check-row input:checked {
    background: #3f73c9;
    border-color: #3f73c9;
}
.choice input:checked::after, .check-row input:checked::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 9px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;

    transform: translateY(-1px) rotate(-45deg);
}
.choice input:focus-visible, .check-row input:focus-visible {
    outline: 2px solid #3f73c9;
    outline-offset: 2px;
}

.app-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.app-choice {
    --app-accent: var(--ink);
    --t: var(--app-accent);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    position: relative;
    min-block-size: 104px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 24px;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 16px;
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    color: var(--ink);
    cursor: pointer;
    transition: --wa 180ms cubic-bezier(.2, .65, .2, 1), --wb 180ms cubic-bezier(.2, .65, .2, 1), --e 180ms cubic-bezier(.2, .65, .2, 1), border-color 180ms cubic-bezier(.2, .65, .2, 1), box-shadow 180ms cubic-bezier(.2, .65, .2, 1), transform 220ms cubic-bezier(.3, 1.25, .5, 1), opacity 160ms cubic-bezier(.2, .65, .2, 1);
}

.app-choice:active { transform: scale(.97); opacity: .86; transition: transform 90ms ease-out, opacity 90ms ease-out; }

.app-choice--orbit { --app-accent: var(--orbit); }
.app-choice--circle { --app-accent: var(--circle); }
.app-choice--beacon { --app-accent: var(--beacon); }
.app-choice--echo { --app-accent: var(--echo); }
.app-choice--watchlist { --app-accent: var(--watchlist); }

input.app-choice__control {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.app-choice__art {
    width: clamp(48px, 7vw, 64px);
    aspect-ratio: 1;
}

.app-choice__icon { width: 100%; height: 100%; }
.app-choice__copy { min-width: 0; display: grid; gap: 3px; }
.app-choice__name { color: var(--ink); font-size: 1.02rem; font-weight: 720; line-height: 1.25; }
.app-choice__description { color: var(--ink-soft); font-size: .9rem; font-weight: 450; line-height: 1.4; text-wrap: pretty; }

.app-choice__indicator {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border: 2px solid color-mix(in srgb, var(--ink) 48%, transparent);
    border-radius: 8px;
    background: var(--field-bg);
}

.app-choice__indicator::after {
    width: 10px;
    height: 6px;
    border-left: 2px solid var(--paper);
    border-bottom: 2px solid var(--paper);
    content: "";
    opacity: 0;
    transform: translateY(-1px) rotate(-45deg);
}

.app-choice:has(.app-choice__control:checked) {
    --wa: 22%;
    --wb: 30%;
    --et: var(--t);
    --e: 45%;
    box-shadow: inset 0 1px 0 var(--highlight);
}

.app-choice:has(.app-choice__control:checked) .app-choice__indicator { border-color: var(--ink); background: var(--ink); }
.app-choice:has(.app-choice__control:checked) .app-choice__indicator::after { opacity: 1; }
.app-choice:has(.app-choice__control:focus-visible) { outline: 3px solid var(--orbit); outline-offset: 3px; }

@media (hover: hover) {
    .app-choice:hover {
        --wa: var(--wash-a);
        --wb: var(--wash-b);
        --et: var(--t);
        --e: 32%;
        transform: translateY(-1px);
    }
    .app-choice:has(.app-choice__control:checked):hover { --wa: 22%; --wb: 30%; --e: 45%; }
}

@media (max-width: 720px) {
    .app-choice-grid { grid-template-columns: 1fr; }
}

@media (prefers-contrast: more) {
    .app-choice { --e: 60%; border-width: 1.5px; }
    .app-choice__description { color: var(--ink); }
    .app-choice:has(.app-choice__control:checked) { --e: 80%; box-shadow: none; }
}

@media (forced-colors: active) {
    .app-choice { border-color: ButtonText; background: Canvas; box-shadow: none; }
    .app-choice:has(.app-choice__control:focus-visible) { outline-color: Highlight; }
    .app-choice:has(.app-choice__control:checked) { border: 3px solid Highlight; background: Canvas; box-shadow: none; }
    .app-choice__indicator { border-color: ButtonText; background: Canvas; }
    .app-choice:has(.app-choice__control:checked) .app-choice__indicator { border-color: Highlight; background: Highlight; }
    .app-choice:has(.app-choice__control:checked) .app-choice__indicator::after { border-color: HighlightText; }
}

.acknowledgements { display: grid; gap: 16px; margin-block: 14px; border-top: 1px solid var(--line); padding-top: 22px; }
.optional-choice { border-left: 3px solid #3f73c9; padding-left: 12px; }
.optional, .field-note { color: var(--muted); font-size: .82rem; font-weight: 430; }
.field-note { margin: 2px 0 8px; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.error { margin: 0; color: var(--error); font-size: .88rem; }
.fine-print { margin-top: 18px; color: var(--muted); font-size: .84rem; }

.filters { display: flex; flex-wrap: wrap; gap: 4px; margin-block: 26px; }
.filters a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--muted);
    font-size: .94rem;
    font-weight: 640;
    padding: 0 14px;
    text-decoration: none;
    transition: background 180ms cubic-bezier(.2, .65, .2, 1), color 180ms cubic-bezier(.2, .65, .2, 1);
}
.filters a:not(.active):hover { background: var(--hover-wash); color: var(--ink); }
.filters a.active {
    --t: var(--ink);
    border: 1px solid color-mix(in srgb, var(--t) 30%, transparent);
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wash-a), transparent), color-mix(in srgb, var(--t) var(--wash-b), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight);
    color: var(--ink);
}

.attention {
    display: grid;
    gap: 4px;
    margin-block: 14px;
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 12px;
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    border-left: 3px solid var(--error);
    padding: 16px 18px;
    color: var(--ink);
    text-decoration: none;
    transition: --wa 180ms cubic-bezier(.2, .65, .2, 1), --wb 180ms cubic-bezier(.2, .65, .2, 1);
}
.attention:hover { --wa: var(--wash-a); --wb: var(--wash-b); }
.attention strong { font-size: 1.02rem; }
.attention span { color: var(--muted); font-size: .92rem; }

.attention--quiet { border-left-color: var(--muted); }

.all-clear { color: var(--muted); margin-block: 18px; }

.stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-block: 26px;
}
.stat {
    display: grid;
    gap: 2px;
    align-content: start;
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 16px;
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    padding: 18px;
    color: var(--ink);
    text-decoration: none;
    transition: --wa 180ms cubic-bezier(.2, .65, .2, 1), --wb 180ms cubic-bezier(.2, .65, .2, 1), --e 180ms cubic-bezier(.2, .65, .2, 1), border-color 180ms cubic-bezier(.2, .65, .2, 1);
}
.stat:hover { --wa: var(--wash-a); --wb: var(--wash-b); --e: 24%; }
.stat__value { font-size: 2rem; font-weight: 730; line-height: 1.1; letter-spacing: -.02em; }
.stat__label { font-weight: 640; color: var(--ink-soft); font-size: .95rem; }
.stat__note { color: var(--muted); font-size: .84rem; }

.section-heading { margin-top: 38px; font-size: clamp(1.3rem, 2.4vw, 1.7rem); }

.application-row {
    display: grid;
    grid-template-columns: minmax(200px, 1.5fr) minmax(140px, 1fr) auto auto;
    align-items: center;
    gap: 18px;
    border-top: 1px solid var(--line);
    color: var(--ink);
    padding: 17px 10px;
    text-decoration: none;
    transition: color 180ms cubic-bezier(.2, .65, .2, 1);
}

a.application-row:hover strong { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.row-action { display: block; margin: 0; }
.link-button {
    min-height: 0;
    padding: 4px 2px;
    border: 0;
    background: none;
    color: var(--error);
    font-size: .88rem;
    font-weight: 640;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.link-button:hover { text-decoration-thickness: 2px; }

.link-button--quiet { color: var(--muted); }
.link-button--quiet:hover { color: var(--ink); }
.row-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; }

.tester-row { grid-template-columns: minmax(200px, 1.4fr) minmax(120px, .9fr) auto minmax(150px, 1fr) auto; }
.application-row small { display: block; color: var(--muted); }
.application-row time { color: var(--muted); font-size: .84rem; white-space: nowrap; }
.status-badge { border-radius: 999px; background: var(--hover-wash); color: var(--ink-soft); font-size: .76rem; font-weight: 720; padding: 5px 9px; }
.status-qualified { background: #dff3e7; color: #185633; }
.status-declined { background: #f5e3e7; color: #85233b; }
:root[data-theme="dark"] .status-qualified { background: #173b2a; color: #a2dfba; }
:root[data-theme="dark"] .status-declined { background: #45212b; color: #ffb2c2; }

.review-card {
    margin-block: 24px;
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 20px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    box-shadow: inset 0 1px 0 var(--highlight-soft), var(--raised-shadow);
    padding: clamp(20px, 4vw, 30px);
}
.review-card h2 { margin-top: 0; font-size: clamp(1.5rem, 3vw, 2.2rem); }
dl { display: grid; grid-template-columns: 155px 1fr; gap: 10px 18px; }
dt { color: var(--ink-soft); font-weight: 700; }
dd { margin: 0; color: var(--muted); }

.verdict { margin-top: 26px; border: 0; padding: 0; }
.verdict__legend {
    padding: 0;
    margin-bottom: 12px;
    font-weight: 700;
    color: var(--ink-soft);
    font-size: .95rem;
}
.verdict__options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.verdict__option {
    position: relative;
    display: grid;
    gap: 3px;
    align-content: start;
    padding: 14px 16px;
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 12px;
    background:
        linear-gradient(var(--control-wash-direction), color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    cursor: pointer;
    transition: --wa .15s ease, --wb .15s ease, --e .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.verdict__option:hover { --wa: var(--wash-a); --wb: var(--wash-b); --e: 24%; }

.verdict__option input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
}
.verdict__label { font-weight: 700; color: var(--ink); }
.verdict__hint { font-size: .84rem; color: var(--muted); line-height: 1.35; }
.verdict__option:has(input:focus-visible) {
    outline: 2px solid var(--ink);
    outline-offset: 2px;
}
.verdict__option:has(input:checked) {
    --wa: 22%;
    --wb: 30%;
    --e: 45%;
    box-shadow: inset 0 1px 0 var(--highlight);
}

.verdict__option--strong:has(input:checked) {
    --t: var(--success-ink, #1c5b38);
    --et: var(--t);
}
.verdict__option--strong:has(input:checked) .verdict__label { color: var(--success-ink, #1c5b38); }
.verdict__option--no:has(input:checked) {
    --t: var(--error);
    --et: var(--t);
}
.verdict__option--no:has(input:checked) .verdict__label { color: var(--error); }

.verdict__clear { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; cursor: pointer; }
.verdict__clear span { font-size: .86rem; color: var(--muted); }
.verdict__clear input { margin: 0; }

.history { width: auto; margin-inline: 0; padding-bottom: 0; display: block; margin-top: 38px; border-top: 1px solid var(--line); padding-top: 24px; }
.history h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.qr-code { width: fit-content; margin-block: 24px; border: 1px solid var(--line); border-radius: 22px; background: #fff; padding: 16px; }
.qr-code svg { display: block; width: min(240px, 60vw); height: auto; }
.recovery-codes { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 20px; }
.recovery-codes summary { cursor: pointer; font-weight: 700; }
.recovery-codes code { font-size: .93rem; }

@media (max-width: 860px) {
    .nav-form .nav-cta { margin-left: 0; }
    .hero.hero--home.preview-hero { padding: 148px 0 96px; }
    .panel { margin-top: 100px; }
}

@media (max-width: 560px) {
    .panel,
    .notice { width: calc(100% - 28px); }
    .hero.hero--home.preview-hero { padding: 126px 0 76px; }
    .panel { padding: 44px 24px; border-radius: 22px; }
    main form .button { width: 100%; }
    .hero__actions { align-items: stretch; flex-direction: column; }
    .hero__actions .text-link { align-self: center; }
    .form-grid, .choice-grid, .stat-row { grid-template-columns: 1fr; }
    .verdict__options { grid-template-columns: 1fr; }
    .application-row { grid-template-columns: 1fr auto; }
    .application-row > :nth-child(2), .application-row time { display: none; }
    dl { grid-template-columns: 1fr; gap: 3px; }
    dd { margin-bottom: 10px; }
    .panel > .button + .button { margin-top: 10px; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {

    .app-choice:active { transform: none; }
}

@media (prefers-contrast: more) {
    .panel,
    .choice,
    .verdict__option,
    .attention,
    .stat,
    .review-card,
    .reply { --e: 60%; border-width: 1.5px; }
}

.pseudo-label { display: block; color: var(--ink-soft); font-size: .9rem; font-weight: 700; }

.known-issues,
.mission {
    margin-top: 20px;
    border-left: 3px solid var(--line);
    padding: 2px 0 2px 16px;
}
.known-issues { border-left-color: var(--error); }
.mission { border-left-color: var(--success-ink); }
.known-issues h3,
.mission h3 { margin: 0 0 6px; font-size: .95rem; color: var(--ink-soft); }
.known-issues p,
.mission p { margin: 0 0 8px; color: var(--ink-soft); }

.reply {
    margin-top: 16px;
    --t: var(--ink);
    --wa: var(--wash-quiet-a);
    --wb: var(--wash-quiet-b);
    --et: var(--ink);
    --e: var(--edge-quiet);
    border: 1px solid color-mix(in srgb, var(--et) var(--e), transparent);
    border-radius: 12px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--t) var(--wa), transparent), color-mix(in srgb, var(--t) var(--wb), transparent)),
        var(--surface);
    box-shadow: inset 0 1px 0 var(--highlight-soft);
    padding: 14px 16px;
}
.reply p:last-child { margin-bottom: 0; }

.reply--internal { border-style: dashed; --e: 22%; background: transparent; box-shadow: none; }

.testflight-address { margin: 4px 0 18px; }
.testflight-address__same { margin-bottom: 8px; }
.testflight-address:has(.testflight-address__same input:checked) .testflight-address__other { display: none; }
.testflight-address .field-note { margin-top: 6px; }
