@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}.psf{--bg:#eaf1fb;--surface:#fff;--ink:#0b1b33;--ink-soft:#5b6b82;--line:#dce4f0;--line-soft:#edf1f8;--accent:#007aff;--accent-deep:#0a5fd0;--accent-tint:#eaf3ff;--ok:#0b8a5a;position:relative;min-height:100vh;padding:48px 20px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(130% 110% at 100% -10%,#dcebff 0,var(--bg) 55%);font-family:Hanken Grotesk,system-ui,sans-serif;color:var(--ink)}.psf__grain{position:absolute;inset:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.card{position:relative;width:100%;max-width:660px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:44px 44px 40px;box-shadow:inset 0 1px 0 #fff,0 24px 60px -34px rgba(11,27,51,.32);animation:rise .7s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),#4fa4ff)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.head{margin-bottom:36px}.head__kicker{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.head__kicker:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.head__title{font-family:Newsreader,serif;font-weight:500;font-size:42px;line-height:1.04;margin:14px 0 0;letter-spacing:-.01em}.head__title em{font-style:italic;font-weight:400;color:var(--accent)}.head__sub{margin:16px 0 0;max-width:46ch;color:var(--ink-soft);font-size:15px;line-height:1.55}.form{gap:24px}.field,.form{display:flex;flex-direction:column}.field{gap:9px;animation:rise .6s cubic-bezier(.2,.8,.2,1) both}.field:first-of-type{animation-delay:.06s}.field:nth-of-type(2){animation-delay:.12s}.field:nth-of-type(3){animation-delay:.18s}.field:nth-of-type(4){animation-delay:.24s}.field__head{display:flex;align-items:baseline;gap:10px}.field__idx{color:var(--accent);letter-spacing:.1em}.field__idx,.field__label{font-family:JetBrains Mono,monospace;font-size:11px}.field__label{letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}.field__foot{min-height:14px}.field__hint{font-size:12.5px;color:var(--ink-soft)}.field__err{font-size:14px;line-height:1.4;color:#c5341f;font-weight:600}.control{width:100%;font-family:Hanken Grotesk,sans-serif;font-size:15.5px;color:var(--ink);background:#fbfcfe;border:1px solid var(--line);border-radius:10px;padding:13px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.control::placeholder{color:#9aa7bc}.control:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-tint)}.control:disabled{opacity:.6;cursor:not-allowed}.control--area{resize:vertical;line-height:1.5;min-height:88px}.field[data-error=true] .control{border-color:#e0573f}.source{display:flex;flex-direction:column;gap:12px}.source__tabs{display:inline-flex;gap:4px;padding:4px;background:var(--line-soft);border:1px solid var(--line);border-radius:11px;width:-moz-fit-content;width:fit-content}.source__tab{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;background:transparent;color:var(--ink-soft);padding:9px 15px;border-radius:8px;transition:all .18s}.source__tab[data-active=true]{background:var(--accent);color:#fff;box-shadow:0 4px 12px -4px rgba(0,122,255,.5)}.drop{position:relative}.drop__input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop__label{display:flex;align-items:center;justify-content:center;min-height:84px;border:1.5px dashed var(--line);border-radius:10px;background:#fbfcfe;cursor:pointer;transition:border-color .18s,background .18s;text-align:center}.drop:hover .drop__label{border-color:var(--accent);background:var(--accent-tint)}.drop__cta{color:var(--ink-soft);font-size:14px}.drop__cta strong{color:var(--accent)}.drop__file{display:flex;flex-direction:column;gap:3px}.drop__file strong{font-size:15px}.drop__file em{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-soft);font-style:normal}.source[data-error=true] .drop__label{border-color:#e0573f}.source[data-disabled=true]{opacity:.6;pointer-events:none}.alert{margin:0;font-size:13.5px;color:#c5341f;background:#fcedea;border:1px solid #f2cbc2;padding:11px 14px;border-radius:10px}.toggle{display:flex;align-items:flex-start;gap:14px;cursor:pointer;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;transition:border-color .18s,background .18s}.toggle:hover{border-color:var(--accent);background:var(--accent-tint)}.toggle__input{position:absolute;opacity:0;pointer-events:none}.toggle__track{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:999px;background:#cbd5e1;transition:background .18s;margin-top:2px}.toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(11,27,51,.35);transition:transform .18s}.toggle__input:checked+.toggle__track{background:var(--accent)}.toggle__input:checked+.toggle__track .toggle__thumb{transform:translateX(18px)}.toggle__input:focus-visible+.toggle__track{box-shadow:0 0 0 4px var(--accent-tint)}.toggle__input:disabled+.toggle__track{opacity:.6}.toggle:has(.toggle__input:disabled){cursor:not-allowed;opacity:.75}.toggle__text{display:flex;flex-direction:column;gap:3px}.toggle__label{font-size:14.5px;font-weight:600;color:var(--ink)}.toggle__hint{font-size:12.5px;color:var(--ink-soft);line-height:1.5}.submit-group{margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:10px}.submit{align-self:stretch;justify-content:center;display:inline-flex;align-items:center;gap:12px;font-family:Hanken Grotesk,sans-serif;font-weight:600;font-size:16px;color:#fff;cursor:pointer;background:var(--accent);border:0;border-radius:11px;padding:16px 26px;box-shadow:0 8px 20px -8px rgba(0,122,255,.6);transition:transform .15s,background .18s,box-shadow .18s}.submit:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(0,122,255,.65)}.submit:disabled{opacity:.6;cursor:wait}.submit__arrow{transition:transform .2s}.submit:hover:not(:disabled) .submit__arrow{transform:translateX(4px)}.submit__status{margin:0;text-align:center;font-size:13px;color:var(--ink-soft)}.login__eligibility{margin:16px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-soft)}.head__aside{margin:14px 0 0;font-size:13.5px}.head__aside a{color:var(--accent);text-underline-offset:3px}.card--wide{max-width:780px}.done__protocol{margin:14px 0 0;font-family:JetBrains Mono,monospace;font-size:24px;letter-spacing:.08em;color:var(--accent)}.done__hint{margin:10px 0 0;font-size:14px}.done__hint a{color:var(--accent);text-underline-offset:3px}.lookup{margin-top:8px;display:flex;flex-direction:column;gap:9px}.lookup__label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}.lookup__row{display:flex;gap:10px;flex-wrap:wrap}.lookup__row .control{flex:1 1 220px;font-family:JetBrains Mono,monospace;letter-spacing:.06em}.lookup__btn{font-family:Hanken Grotesk,sans-serif;font-weight:600;font-size:15px;color:#fff;cursor:pointer;background:var(--accent);border:0;border-radius:10px;padding:0 22px;transition:background .18s}.lookup__btn:hover:not(:disabled){background:var(--accent-deep)}.lookup__btn:disabled{opacity:.5;cursor:not-allowed}.results{margin-top:34px;display:flex;flex-direction:column;gap:14px}.results__title{margin:0;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.results__empty{margin:0;font-size:14.5px;color:var(--ink-soft)}.results__back a,.results__empty a{color:var(--accent)}.results__back{margin:28px 0 0;font-size:14px}.sub{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:#fbfcfe;flex-direction:column}.sub,.sub__head{display:flex;gap:12px}.sub__head{align-items:baseline;justify-content:space-between;flex-wrap:wrap}.sub__protocol{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.07em;color:var(--accent)}.sub__date{font-size:12.5px;color:var(--ink-soft)}.sub__desc{margin:0;font-size:15px;line-height:1.5}.sub__stage{font-size:13.5px}.sub__award,.sub__stage{margin:0;color:var(--ink-soft)}.sub__award{align-self:flex-start;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px}.steps{list-style:none;margin:4px 0 0;padding:0;display:flex;gap:22px;flex-wrap:wrap}.steps__item{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft)}.steps__dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line);background:#fff}.steps__item[data-done=true]{color:var(--ink);font-weight:600}.steps__item[data-done=true] .steps__dot{background:var(--ok);border-color:var(--ok)}.diag{border-top:1px solid var(--line-soft);padding-top:12px}.diag__toggle{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;border:0;background:transparent;padding:0;font-family:Hanken Grotesk,sans-serif;font-size:14px;font-weight:600;color:var(--ink);text-align:left}.diag__chevron{margin-left:auto}.diag__chevron,.diag__risk{font-family:JetBrains Mono,monospace;color:var(--ink-soft)}.diag__risk{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:5px;background:var(--line-soft);white-space:nowrap}.diag__risk[data-level=low]{background:#e3f4ec;color:#0b6b47}.diag__risk[data-level=medium]{background:#fdf1dc;color:#8a5a06}.diag__risk[data-level=high]{background:#fcedea;color:#a8341f}.diag__body{margin-top:12px;font-size:14px;line-height:1.55;color:var(--ink)}.diag__body p{margin:0 0 12px}.diag__note{font-size:12.5px;border-left:2px solid var(--line);padding-left:10px}.diag__h,.diag__note{color:var(--ink-soft)}.diag__h{margin:0 0 5px;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}.diag__list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.brand{margin-top:36px;padding-top:20px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:11.5px;line-height:1.5;color:var(--ink-soft)}.brand__group{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.brand__companies{color:var(--ink)}.brand__unit{margin-left:auto;color:var(--ink-soft)}@media (max-width:560px){.brand__unit{margin-left:0;flex-basis:100%}}.done{text-align:center;padding:24px 8px 12px;animation:rise .6s cubic-bezier(.2,.8,.2,1) both}.done__mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;font-size:27px;margin-bottom:18px;box-shadow:0 10px 24px -8px rgba(0,122,255,.6)}.done__mark--pending{background:#c98a12;box-shadow:0 10px 24px -8px rgba(201,138,18,.55)}.done__title{font-family:Newsreader,serif;font-weight:500;font-size:32px;margin:0}.done__sub{color:var(--ink-soft);max-width:42ch;margin:12px auto 0;line-height:1.55}.done__receipt{display:inline-flex;flex-direction:column;gap:4px;margin-top:24px;padding:14px 22px;border:1px solid var(--line);background:var(--accent-tint);border-radius:10px}.done__receipt span{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep)}.done__receipt code{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink)}.done__back{margin-top:24px;background:none;border:1px solid var(--line);border-radius:10px;padding:11px 22px;font-family:Hanken Grotesk,sans-serif;font-size:14.5px;color:var(--ink-soft);cursor:pointer;transition:border-color .18s,color .18s}.done__back:hover{border-color:var(--accent);color:var(--accent)}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:14px;max-width:380px;background:#1c2436;color:#e8edf8;border-radius:12px;padding:14px 16px;box-shadow:0 8px 32px -8px rgba(0,0,0,.45);animation:toast-in .3s cubic-bezier(.2,.8,.2,1) both;font-size:14px;line-height:1.5;pointer-events:all}.toast__msg{flex:1 1}.toast__close{background:none;border:none;color:#64748b;cursor:pointer;font-size:13px;padding:0;line-height:1;flex-shrink:0;transition:color .15s}.toast__close:hover{color:#e8edf8}@keyframes toast-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}.modal-overlay{position:fixed;inset:0;background:rgba(11,27,51,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:10000;animation:modal-in .18s ease both}.modal{width:100%;max-width:420px;background:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 60px -20px rgba(0,0,0,.35)}.modal__title{font-family:Newsreader,serif;font-weight:500;font-size:21px;margin:0 0 10px;color:var(--ink)}.modal__message{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-soft)}.modal__message a{color:var(--accent);text-underline-offset:3px}.modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal__btn{font-family:Hanken Grotesk,sans-serif;font-size:14.5px;font-weight:600;border:0;border-radius:10px;padding:11px 20px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.modal__btn--ghost{background:none;border:1px solid var(--line);color:var(--ink-soft)}.modal__btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.modal__btn--primary{background:var(--accent);color:#fff}.modal__btn--primary:hover{background:var(--accent-deep)}@keyframes modal-in{0%{opacity:0}to{opacity:1}}@media (max-width:560px){.card{padding:30px 22px 28px;border-radius:14px}.head__title{font-size:32px}}