:root{--accent: #a448ff;--accent-ink: #420084;--accent-wash: #faf0ff;--accent-wash-2: #ddddf9;--focus-ring: #a448ff66;--page-bg: #f5f5f5;--surface: #ffffff;--surface-subtle: #fafafa;--text: #111211;--text-muted: #565c5a;--border: #d9dcda;--border-strong: #8f9391;--field-bg: #ffffff;--chip-bg: #f6f7f7;--divider: #e7e8e7;--cta-bg: #a448ff;--cta-bg-hover: #8f2df0;--cta-text: #ffffff;--ok: #18c690;--warn: #ff7e17;--danger: #dd1338;--danger-wash: #fdecef;--radius: 20px;--radius-small: 8px;--font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 1px 2px rgb(17 18 17 / .08), 0 12px 32px rgb(17 18 17 / .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--page-bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font-family:inherit}.page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:min(436px,100%);height:min(728px,calc(100dvh - 48px));min-height:min(608px,calc(100dvh - 48px));max-height:728px;overflow-y:auto;background:var(--surface);border-radius:var(--radius);padding:18px 18px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-topbar,.intro-header{min-height:20px;display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;flex:none}.factor-link-brand,.intro-header{color:var(--text);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.factor-link-brand{display:flex;align-items:center;justify-content:center;gap:5px}.card-institution{min-height:54px;margin:30px 0 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:none}.institution-chip{display:grid;place-items:center;overflow:hidden;flex:none}.institution-chip.has-logo{width:154px;height:52px}.institution-chip.has-mark{width:52px;height:52px;border:1px solid var(--divider);border-radius:50%;background:var(--chip-bg)}.institution-chip-logo{width:130px;height:42px;object-fit:contain;display:block}.institution-chip-mark{color:var(--text);font-size:16px;font-weight:700}.institution-chip-name{font-size:14px;font-weight:600}.form-view{min-height:0;padding:0 6px;display:flex;flex:1;flex-direction:column;gap:16px}.form-heading{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:4px;text-align:center}.form-heading h1,.state-view h2{margin:0;color:var(--text);font-size:20px;font-weight:700;line-height:28px;letter-spacing:-.024em}.form-heading p,.form-message{margin:0;color:var(--text-muted);font-size:14px;line-height:20px}.form-heading p{max-width:34ch}.form-message{text-align:center}.field{display:flex;flex-direction:column;gap:7px;border:0;margin:0;padding:0;min-width:0}.field>label,.field legend{padding:0;color:var(--text);font-size:14px;font-weight:600;line-height:20px}.field-radio>legend,.field-radio>.field-description{text-align:center}.field-description{margin:-2px 0 2px;color:var(--text-muted);font-size:13px;line-height:18px}.input-wrap{position:relative;display:flex}.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=tel],.field input[type=date],.field select{width:100%;min-height:58px;appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--field-bg);color:var(--text);font:inherit;font-size:16px;line-height:24px;padding:16px;transition:border-color .12s ease,box-shadow .12s ease}.field input::placeholder{color:#747876;opacity:1}.field select{padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 20px) 26px,calc(100% - 15px) 26px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.input-wrap.has-toggle input{padding-right:76px}.field input:focus-visible,.field select:focus-visible,.cta:focus-visible,.secret-toggle:focus-visible,.radio-option:focus-within{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger)}.secret-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:6px;background:var(--surface);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:700;padding:8px 9px;cursor:pointer}.field-error{margin:0;color:var(--danger);font-size:13px;line-height:18px}.radio-options{display:flex;flex-direction:column;gap:8px}.radio-option{min-height:58px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);box-shadow:0 2px 4px #11121114;color:var(--text);padding:12px 16px;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.radio-option:hover{border-color:var(--border-strong)}.radio-option.selected{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 1px var(--accent)}.radio-option input{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:none}button.radio-option.choice{width:100%;appearance:none;font:inherit;text-align:left}button.radio-option.choice:disabled,.field-radio[disabled] .radio-option{opacity:.55;cursor:default;pointer-events:none}.banner{border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);border-radius:var(--radius-small);background:var(--danger-wash);color:var(--danger);padding:12px 14px;font-size:14px;line-height:20px}.cta{width:100%;min-height:56px;border:0;border-radius:var(--radius-small);background:var(--cta-bg);color:var(--cta-text);font:inherit;font-size:20px;font-weight:600;line-height:28px;padding:0 24px;cursor:pointer;transition:background .12s ease,transform .12s ease}.form-view>.cta{margin-top:auto}.cta:hover{background:var(--cta-bg-hover)}.cta:active:not(:disabled){transform:translateY(1px)}.cta:disabled{opacity:.52;cursor:default}.cta-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgb(255 255 255 / .42);border-top-color:#fff;border-radius:50%;animation:spin .9s linear infinite;vertical-align:middle}.cta-spinner.accent{border-color:var(--accent-wash-2);border-top-color:var(--accent)}.submit-progress{display:flex;justify-content:center;padding:12px 0}.state-view{min-height:0;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 12px 52px;text-align:center}.state-view p{max-width:34ch;margin:0;color:var(--text-muted);font-size:14px;line-height:20px}.state-view .cta{max-width:324px;margin-top:18px}.state-view .subtle{font-size:12px;line-height:16px}.spinner{width:30px;height:30px;margin-bottom:10px;border:3px solid var(--accent-wash-2);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}.success-mark{width:54px;height:54px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 8px color-mix(in srgb,var(--ok) 12%,transparent);color:#fff;font-size:28px;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.intro-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--page-bg);animation:introOverlayOut .44s cubic-bezier(.4,0,1,1) 2.15s both}.intro-card{width:min(436px,100%);height:min(728px,calc(100dvh - 48px));min-height:min(608px,calc(100dvh - 48px));max-height:728px;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:18px 18px 24px}.intro-header{display:flex;justify-content:center;gap:5px}.intro-content{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding-bottom:42px}.intro-row{display:flex;align-items:center;justify-content:center}.intro-tile{position:relative;width:76px;height:76px}.intro-tile-left{animation:introLeftIn .62s cubic-bezier(.16,.84,.3,1) both}.intro-tile-right{animation:introRightIn .62s cubic-bezier(.16,.84,.3,1) .07s both}.intro-ring{position:absolute;inset:-7px;border:2px solid var(--accent);border-radius:50%}.intro-ring-left{animation:introRing 1.9s cubic-bezier(.2,.6,.3,1) .62s infinite}.intro-ring-right{animation:introRing 1.9s cubic-bezier(.2,.6,.3,1) .95s infinite}.intro-circle{width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--divider);border-radius:50%;background:var(--surface);box-shadow:0 2px 4px #11121114,0 8px 20px #1112111a}.intro-institution-logo{width:50px;height:50px;object-fit:contain}.intro-institution-mark{color:var(--text);font-size:21px;font-weight:700;letter-spacing:-.02em}.intro-line{position:relative;width:72px;height:2px;margin:0 6px;border-radius:2px;background:var(--divider);animation:introLineIn .5s cubic-bezier(.16,.84,.3,1) .18s both}.intro-dot{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:introDot 1.35s cubic-bezier(.55,.05,.45,.95) .5s infinite}.intro-label{margin:0;color:var(--text-muted);font-size:14px;line-height:20px;animation:introLabelIn .5s cubic-bezier(.16,.84,.3,1) .45s both}@keyframes introLeftIn{0%{opacity:0;transform:translate(26px) scale(.84)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes introRightIn{0%{opacity:0;transform:translate(-26px) scale(.84)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes introLineIn{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}@keyframes introRing{0%{opacity:.45;transform:scale(1)}70%,to{opacity:0;transform:scale(1.55)}}@keyframes introDot{0%{opacity:0;transform:translate(0) scale(.5)}12%{opacity:1;transform:translate(6px) scale(1)}82%{opacity:1;transform:translate(58px) scale(1)}to{opacity:0;transform:translate(66px) scale(.5)}}@keyframes introLabelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes introOverlayOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.025);visibility:hidden}}@media(max-width:520px){.page,.intro-overlay{min-height:100dvh;padding:0;background:var(--surface)}.card,.intro-card{width:100%;height:100dvh;min-height:100dvh;max-height:none;border-radius:0;box-shadow:none;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}}@media(max-height:620px)and (min-width:521px){.page,.intro-overlay{padding:12px}.card,.intro-card{height:calc(100dvh - 24px);min-height:calc(100dvh - 24px)}.card-institution{margin-top:18px;margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.spinner,.cta-spinner{animation:none}.spinner{border-top-color:var(--accent-wash-2)}.cta,.field input,.field select,.radio-option{transition:none}.intro-overlay,.intro-tile-left,.intro-tile-right,.intro-ring,.intro-line,.intro-dot,.intro-label{animation-duration:.01ms!important;animation-iteration-count:1!important}}
