/* The complete form stays in one DOM tree; every visible question fits one leaf. */
:is(#early-access-form,.early-access-form){--signup-ink:#292926;--signup-muted:#66665f;--signup-rule:#cdcdc5;--signup-error:#9a382a;flex:1;min-height:0;min-width:0;color:var(--signup-ink);display:flex;flex-direction:column}
:is(#signup-fields,.signup-fields),:is(#signup-fields,.signup-fields) *{box-sizing:border-box}
:is(#signup-fields,.signup-fields){flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden;gap:0}
:is(#signup-fields,.signup-fields) [hidden]{display:none!important}
:is(#signup-fields,.signup-fields) input,:is(#signup-fields,.signup-fields) button{font-family:inherit}
:is(#signup-fields,.signup-fields) button{cursor:pointer}
:is(#signup-fields,.signup-fields) button:disabled{cursor:default;opacity:.65}
:is(#signup-fields,.signup-fields) :focus-visible{outline:2px solid var(--signup-ink);outline-offset:3px}
.signup-header{flex:0 0 58px;min-height:0}
.signup-header h3{margin:0;max-width:22ch;font-size:clamp(20px,6.5cqw,27px);font-weight:400;letter-spacing:-.6px;line-height:1.16;outline-offset:3px}
.signup-content{display:flex;flex:1;min-height:0;min-width:0;flex-direction:column;gap:16px;overflow:hidden;padding:0}
.signup-unit{flex-shrink:0;min-width:0;margin:0;padding:0}
.signup-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.signup-field{min-width:0}
.signup-field>label{display:block;font-size:14px;line-height:1.4;letter-spacing:.005em}
.signup-optional{color:var(--signup-muted);font-size:12px}
.signup-field input{display:block;width:100%;height:40px;margin:0;padding:5px 0 6px;border:0;border-bottom:1px solid var(--signup-rule);border-radius:0;outline-offset:3px;background:transparent;box-shadow:none;color:var(--signup-ink);font-size:16px;line-height:1.4;text-transform:none;appearance:none}
.signup-field input:focus,.signup-field input:focus-visible{outline:none!important;border-bottom-color:var(--signup-rule);box-shadow:none}
.signup-field:focus-within>label{font-weight:500;color:#171715}
.signup-add-tools,.signup-edit-details{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%;min-height:44px;font-size:14px;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:4px}
.signup-add-tools>span:first-child{font-size:12px;color:var(--signup-muted)}
.signup-add-tools>span:last-child,.signup-edit-details>span{margin-left:auto}
.signup-option-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.signup-option{display:flex;align-items:flex-start;gap:8px;min-height:44px;padding:7px 0;font-size:13px;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.signup-option input,.signup-consent input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:#2b2b27;cursor:pointer}
.signup-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;cursor:pointer}
.signup-consent span{min-width:0}
.signup-feedback{flex:0 0 56px;min-height:0;padding-top:7px;overflow:hidden}
.signup-feedback p{margin:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
:is(#signup-error-summary,.signup-error-summary){color:var(--signup-error)}
.signup-status{color:var(--signup-muted)}
.signup-actions{flex:0 0 48px;display:flex;gap:16px;align-items:stretch;margin:0;min-width:0}
.signup-actions>.signup-back{min-width:38px;font-size:13px;text-decoration:underline;text-underline-offset:4px;text-align:left}
.signup-actions>.signup-continue,.signup-actions>.signup-submit{display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin:0;padding:10px 12px;border:1px solid #2b2b27;border-radius:0;background:#2b2b27;color:#fff;font-size:13px;line-height:1.5;text-align:left}
.signup-actions button:hover:not(:disabled){opacity:.85}
.signup-message{margin:0;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
:is(#signup-fields,.signup-fields) [aria-invalid=true]{border-color:var(--signup-error)}
.signup-field-error,.signup-trap,.signup-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.signup-measure{position:absolute!important;left:0;top:0;height:auto!important;min-height:0!important;max-height:none!important;visibility:hidden;pointer-events:none;overflow:visible!important;z-index:-1;display:flex!important;flex:none!important}
:is(#signup-fields,.signup-fields).is-compact .signup-header{flex-basis:56px}
:is(#signup-fields,.signup-fields).is-compact .signup-header h3{font-size:20px;line-height:1.12}
:is(#signup-fields,.signup-fields).is-compact .signup-content{gap:12px}
:is(#signup-fields,.signup-fields).is-compact .signup-consent{font-size:13px;line-height:1.45}
:is(#signup-fields,.signup-fields).is-compact .signup-feedback{flex-basis:48px;padding-top:5px}
:is(#signup-fields,.signup-fields).is-compact .signup-feedback p{font-size:11px}
:is(#signup-fields,.signup-fields).is-compact .signup-actions{flex-basis:44px;gap:12px}
@container(max-width:280px){.signup-header{flex-basis:55px}.signup-header h3{font-size:21px}.signup-name-row{gap:12px}.signup-field>label{font-size:13px}.signup-option{font-size:12px;gap:6px}.signup-option-row{gap:12px}.signup-actions{gap:12px}.signup-actions>.signup-submit{font-size:12px;padding:9px}.signup-consent{font-size:13px;line-height:1.5}}
@media(forced-colors:active){.signup-option input,.signup-consent input{forced-color-adjust:auto}.signup-actions>.signup-continue,.signup-actions>.signup-submit{border:1px solid ButtonText}}
/* Leave room for a full consent question on the smallest portrait leaf. */
:is(#signup-fields,.signup-fields).is-compact .signup-feedback{flex-basis:36px}
.signup-content{overflow:clip}
.short-screen :is(#signup-fields,.signup-fields) .signup-header{flex-basis:52px}.short-screen :is(#signup-fields,.signup-fields) .signup-header h3{font-size:19px;line-height:1.12}.short-screen :is(#signup-fields,.signup-fields) .signup-feedback{flex-basis:32px}.short-screen :is(#signup-fields,.signup-fields) .signup-actions{flex-basis:40px}

.very-short-screen :is(#signup-fields,.signup-fields) .signup-header{flex-basis:34px}.very-short-screen :is(#signup-fields,.signup-fields) .signup-header h3{font-size:17px;line-height:1.05}.very-short-screen :is(#signup-fields,.signup-fields) .signup-feedback{flex-basis:26px;padding-top:2px}.very-short-screen :is(#signup-fields,.signup-fields) .signup-feedback p{font-size:10px;line-height:1.2}.very-short-screen :is(#signup-fields,.signup-fields) .signup-actions{flex-basis:36px;font-size:11px}.very-short-screen :is(#signup-fields,.signup-fields) .signup-consent{font-size:12px;line-height:1.4}.very-short-screen .signup-field>label{font-size:12px}.very-short-screen .signup-option{font-size:12px;line-height:1.35;padding:4px 0;min-height:36px}.very-short-screen .signup-name-row{gap:10px}

.very-short-screen :is(#signup-fields,.signup-fields) .signup-actions{min-height:0;gap:8px}
.very-short-screen .signup-actions>.signup-back{min-width:25px;font-size:11px}
.very-short-screen .signup-actions>.signup-submit,.very-short-screen .signup-actions>.signup-continue{padding:4px 6px;font-size:11px;line-height:1.3}
.very-short-screen :is(#signup-fields,.signup-fields) .signup-header h3{font-size:16px}
/* Each complete platform category is one physical leaf. */
.signup-add-tools{align-items:center;text-decoration:none;padding:4px 0}
.signup-add-tools>.platforms-prompt{font-size:14px;color:var(--signup-ink);text-decoration:underline;text-underline-offset:4px;flex:1}
.platforms-prompt small{display:block;font-size:11px;line-height:1.5;font-weight:400;color:var(--signup-muted);margin-top:5px;text-decoration:none}
:is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:46px}
:is(#signup-fields,.signup-fields).is-platform-page .signup-content{gap:0;padding-bottom:12px}
:is(#signup-fields,.signup-fields).is-platform-page .signup-feedback{flex-basis:0;padding:0}
:is(#signup-fields,.signup-fields).is-platform-page .signup-feedback:has(p:not(:empty)){flex-basis:32px;padding-top:5px}
.signup-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--platform-rows),minmax(min-content,1fr));column-gap:14px;flex:1;min-height:0}
.signup-platform-grid .signup-option{min-height:28px;padding:4px 0;font-size:clamp(11.5px,3.25cqw,13px);line-height:1.3;gap:7px;align-items:center;overflow-wrap:normal}
.signup-platform-grid .signup-option input{width:16px;height:16px;flex-basis:16px;margin:0}
:is(#signup-fields,.signup-fields).is-saved-page .signup-header{flex-basis:auto;margin-bottom:24px}
:is(#signup-fields,.signup-fields).is-saved-page h3{font-weight:600}
:is(#signup-fields,.signup-fields).is-saved-page .signup-feedback,:is(#signup-fields,.signup-fields).is-saved-page .signup-actions{display:none}
.signup-welcome{display:flex;flex-direction:column;gap:18px}
.signup-welcome strong{font-weight:600}
.short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:38px}
.short-screen .signup-platform-grid{column-gap:10px}
.short-screen .signup-platform-grid .signup-option{min-height:26px;padding:2px 0;font-size:11.5px;line-height:1.2;gap:5px}
.short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding-bottom:8px}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:32px}
.very-short-screen .signup-platform-grid .signup-option{min-height:24px;font-size:10.5px;line-height:1.18}
.very-short-screen .signup-welcome .signup-message{font-size:13px;line-height:1.45}

/* Short landscape keeps every platform option visible on the same sheet. */
.landscape-screen .page-surface{padding:3% 4%}
.landscape-screen .form-page .folio-top{font-size:9px;line-height:1.2;padding-bottom:6px;margin-bottom:8px}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:35px}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header h3{font-size:17px;line-height:1.08}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-actions{flex-basis:34px}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-actions button{font-size:11px;padding:5px 7px}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding-bottom:6px}
.landscape-screen .signup-platform-grid{column-gap:8px;row-gap:2px}
.landscape-screen .signup-platform-grid .signup-option{min-height:24px;padding:1px 0;font-size:10.5px;line-height:1.2;gap:5px}
.landscape-screen .signup-platform-grid .signup-option input{width:15px;height:15px;flex-basis:15px}
.very-short-screen .page-surface{padding:1% 3%}
.very-short-screen .form-page .folio-top{font-size:8px;line-height:1.15;padding-bottom:4px;margin-bottom:5px}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:28px}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header h3{font-size:15px;line-height:1.05}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-actions{flex-basis:30px}
.very-short-screen .signup-platform-grid .signup-option{font-size:10px;line-height:1.15}
/* Long platform names wrap within their own target instead of crossing columns. */
.signup-platform-grid .signup-option span{min-width:0;overflow-wrap:anywhere}

/* Small form text stays live and sharp, including the copies on turning leaves. */
.form-page :is(h2,h3,p,.folio-top,label,legend,input){filter:none;text-shadow:none}

/* Back and the primary action occupy distinct sides of the same baseline. */
.signup-actions:has(>.signup-back:not([hidden]))>:is(.signup-continue,.signup-submit){flex:0 0 50%;margin-left:auto}
.signup-actions>.signup-submit{padding:6px 10px;line-height:1.25}

/* Divide the available space into equal rows, capped at a calm 52px rhythm.
   Any remaining height becomes balanced space above and below the choices. */
:is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:auto}
:is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding:20px 0}
.signup-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--platform-rows),minmax(24px,1fr));column-gap:14px;row-gap:0;padding:0;flex:0 1 calc(var(--platform-rows)*52px);min-height:0;margin-block:auto;width:100%}
.signup-platform-options{display:contents}
.signup-platform-special .signup-option:first-child{grid-column:1}
.signup-platform-grid .signup-option{min-height:28px}
.signup-other-slot{position:relative;grid-column:1/-1;align-self:center;height:44px;min-height:44px}
.signup-other-choice .signup-option{min-height:44px}
.signup-other-entry{position:relative}
.signup-field.signup-other-entry>.signup-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.signup-other-entry input{height:44px;padding-right:40px;font-size:14px}
.signup-other-entry input::placeholder{color:var(--signup-muted);opacity:1}
.signup-other-remove{position:absolute;right:0;top:0;width:36px;height:44px;font-size:19px;line-height:1}
.short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:auto}
.short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding:10px 0}
.short-screen .signup-platform-grid{column-gap:10px;row-gap:0;padding:0}
.short-screen .signup-platform-grid .signup-option{min-height:24px}
.short-screen .signup-other-slot{height:36px;min-height:36px}
.short-screen .signup-other-choice .signup-option,.short-screen .signup-other-entry input,.short-screen .signup-other-remove{min-height:36px;height:36px}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:auto}
.landscape-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding:6px 0}
.landscape-screen .signup-platform-grid{column-gap:8px;row-gap:0}
.landscape-screen .signup-other-slot{height:32px;min-height:32px}
.landscape-screen .signup-other-choice .signup-option,.landscape-screen .signup-other-entry input,.landscape-screen .signup-other-remove{min-height:32px;height:32px}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-header{flex-basis:auto}
.very-short-screen :is(#signup-fields,.signup-fields).is-platform-page .signup-content{padding:6px 0}
.very-short-screen .signup-platform-grid{row-gap:0;padding:0}
.very-short-screen .signup-platform-grid .signup-option{min-height:24px}
.very-short-screen .signup-other-slot{height:32px;min-height:32px}
.very-short-screen .signup-other-choice .signup-option,.very-short-screen .signup-other-entry input,.very-short-screen .signup-other-remove{min-height:32px;height:32px}
.very-short-screen .signup-other-entry input{font-size:12px}
@container(max-width:300px){.signup-actions>.signup-submit{font-size:11px;padding:4px 7px;gap:6px;line-height:1.25}}

/* The selected mark is the original icon's period, cropped by CSS, not redrawn.
   Native checkbox semantics, keyboard controls, and focus remain intact. */
.signup-option input,.signup-consent input{appearance:none;display:grid;place-content:center;border:1px solid #777771;border-radius:2px;background:transparent}
.signup-option input::before,.signup-consent input::before{content:'';width:12px;height:12px;visibility:hidden;background:url('/assets/icon.png?v=0e00935e6e0d') 93.1298% 93.0723% / 744.2623% 644.2623% no-repeat}
.signup-option input:checked,.signup-consent input:checked{border-color:transparent}
.signup-option input:checked::before,.signup-consent input:checked::before{visibility:visible}
@media(forced-colors:active){.signup-option input,.signup-consent input{appearance:auto}.signup-option input::before,.signup-consent input::before{display:none}}
