@font-face{font-family:Bricolage;src:url('/assets/bricolage.woff2')}*{box-sizing:border-box}body{margin:0;background:#f0eaf8;color:#272047;font-family:Bricolage,Arial,sans-serif;height:100dvh;display:flex;flex-direction:column;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}header{height:82px;flex-shrink:0;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #27204718}.mark{font-size:35px}nav{display:flex;gap:6px}nav a{font-size:12px;padding:9px 14px;border-radius:30px}nav a[aria-current]{background:#272047;color:#fff8ed}.back{font-size:13px}main{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr}.visual{position:relative;overflow:hidden;background:#d8c9ec;display:flex;flex-direction:column;padding:35px 10% 24px}.eyebrow{font-size:11px;letter-spacing:.09em;font-weight:550}h1{font-size:clamp(38px,3.7vw,62px);line-height:1.04;letter-spacing:-.055em;margin:17px 0}p{line-height:1.5}.intro-copy{font-size:14px;margin:0}.character-scene{position:relative;flex:1;min-height:120px;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;height:85%;aspect-ratio:1;border:1px solid #74549640;border-radius:50%;transform:rotate(-20deg) scaleX(1.35)}.star{position:absolute;right:7%;top:20%;font-size:36px;color:#8870ac}.character{position:relative;width:min(240px,24vh);aspect-ratio:90/96}.sprite{position:absolute;inset:0;overflow:hidden}.sprite img{width:400%;max-width:none;height:100%;image-rendering:pixelated;animation:idle .8s steps(4,end) infinite}.shadow{position:absolute;left:50%;top:83.33%;width:46%;height:4%;border-radius:50%;background:#73568d45;filter:blur(2px);transform:translate(-50%,-50%)}@keyframes idle{to{transform:translateX(-100%)}}.character-caption{position:absolute;bottom:0;font-size:10px;color:#66537d}.visual-note{font-size:13px;margin:15px 0 0}.application{padding:30px clamp(28px,5vw,90px) 18px;display:flex;flex-direction:column;justify-content:center;min-height:0;background:#faf7ff}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.preview-label{font-size:10px;color:#786b88}form{display:grid;gap:17px}.field{display:flex;flex-direction:column;gap:7px}label,legend{font-size:13px;font-weight:550}small{font-size:10px;font-weight:400;color:#7e708b;margin-left:6px}input,select,textarea{border:1px solid #c9badb;border-radius:5px;background:#fffdf8;padding:11px 13px;width:100%;font-size:13px}input,select{height:43px}textarea{height:79px;resize:none}fieldset{border:0;padding:0;margin:0;min-width:0}legend{margin-bottom:9px}.interests{display:flex;gap:7px;flex-wrap:wrap}.interests label{cursor:pointer}.interests input{position:absolute;opacity:0;width:1px;height:1px}.interests span{display:block;padding:9px 12px;border:1px solid #c9badb;border-radius:5px;font-size:12px;font-weight:400}.interests input:checked+span{background:#d8c9ec;border-color:#8c72ab}.interests input:focus-visible+span{outline:2px solid #272047}.submit{border:0;background:#272047;color:#fff8ed;border-radius:6px;min-height:47px;width:100%;padding:12px 18px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.submit:hover{background:#40325e}.submit-area p{font-size:10px;margin:8px 0 0;color:#6c5d7b}.demo-note{font-size:10px;color:#867b92;margin:14px 0 0}footer{height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 4%;font-size:10px;border-top:1px solid #27204718}.confirmation h2{font-size:45px;letter-spacing:-.04em;line-height:1.05}.confirmation p{font-size:14px}.confirmation-star{font-size:50px}.confirmation .submit{margin-top:28px}[hidden]{display:none!important}
body.variant-b{background:#e9ccd9}.variant-b main{margin:20px 5%;background:#fffaf0;grid-template-columns:34% 66%;border-radius:12px;border:1px solid #27204720;box-shadow:0 8px 0 #27204709}.variant-b .visual{background:transparent;padding:30px 30px;border-right:1px solid #27204720}.variant-b h1{font-size:clamp(35px,3.3vw,52px)}.variant-b .intro-copy{font-size:13px}.variant-b .character-scene{justify-content:flex-start}.variant-b .character{width:min(190px,22vh)}.variant-b .orbit,.variant-b .star,.variant-b .character-caption,.variant-b .visual-note{display:none}.variant-b .application{background:transparent;padding:30px 35px;justify-content:center}.variant-b form{grid-template-columns:1fr 1fr;gap:20px}.variant-b fieldset{grid-column:1/-1;grid-row:2}.variant-b .answer{grid-column:1/-1}.variant-b .source{grid-column:2;grid-row:1}.variant-b .submit-area{grid-column:1/-1;display:flex;align-items:center;gap:20px}.variant-b .submit-area .submit{width:230px;flex-shrink:0}.variant-b textarea{height:100px}.variant-b .interests span{border-radius:24px;padding:10px 22px}.variant-b .interests input:checked+span{background:#e9ccd9}.variant-b input,.variant-b select,.variant-b textarea{background:transparent;border-width:0 0 1px;border-radius:0;padding-left:0}.variant-b .form-heading{margin-bottom:25px}
@media(max-height:760px) and (min-width:981px){header{height:64px}.visual{padding-top:22px}h1{font-size:42px}.application{padding-top:18px;padding-bottom:12px}form{gap:11px}.form-heading{margin-bottom:12px}textarea{height:60px}.variant-b main{margin:12px 4%}.variant-b .application,.variant-b .visual{padding:20px 28px}.variant-b form{gap:12px}.variant-b textarea{height:65px}.variant-b .form-heading{margin-bottom:14px}footer{height:30px}}
@media(max-width:980px){body{height:auto;min-height:100dvh;overflow:auto}header{height:72px;padding:0 20px}.back{display:none}nav a{font-size:10px;padding:8px 10px}main,.variant-b main{display:block}.visual,.variant-b .visual{padding:28px;border:0;min-height:255px}.intro{max-width:65%}h1,.variant-b h1{font-size:36px}.intro-copy{font-size:12px}.character-scene,.variant-b .character-scene{position:absolute;right:8px;bottom:15px;width:32%;height:170px}.character,.variant-b .character{width:100%}.orbit,.star,.character-caption,.visual-note{display:none}.application,.variant-b .application{padding:28px}.variant-b main{margin:16px}.variant-b form{display:grid;grid-template-columns:1fr}.variant-b form>*{grid-column:1!important;grid-row:auto!important}.variant-b .submit-area{display:block}.variant-b .submit-area .submit{width:100%}footer{min-height:45px;padding:10px 20px}footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.sprite img{animation:none}}
/* Selected invitation layout with the supplied full-body artwork. */
.character-scene{min-height:0;margin-top:16px;overflow:hidden}
.whitelist-art{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
@media(max-width:980px){.character-scene{min-height:170px;margin-top:0}.whitelist-art{width:100%;height:100%;object-fit:contain}}

/* Frame the supplied transparent artwork with the original orbit motif. */
.character-scene{isolation:isolate;padding:15px 0 24px}
.whitelist-art{position:relative;z-index:1}
.character-scene .orbit{z-index:0;height:85%;max-width:none;top:auto}
.character-scene .star{z-index:2;right:7%;top:20%}
.character-scene .character-caption{bottom:0;z-index:2}
@media(max-width:980px){.character-scene{padding:0 0 20px}.character-scene .character-caption{display:block;font-size:8px;text-align:center}.character-scene .orbit{display:block;height:75%;max-width:75%}.character-scene .star{display:block;font-size:18px;right:0;top:20%}}


/* Enlarge only the character; preserve the invitation typography and spacing. */
@media(min-width:981px){
.character-scene{overflow:visible}
.whitelist-art{transform:scale(1.14);transform-origin:50% 100%}
}

.task-application{padding-top:22px;padding-bottom:22px}
.task-application .form-heading{margin-bottom:14px}#task-progress{font-size:12px;color:#77658b}
.task-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.task-button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:52px;padding:12px 15px;border:1px solid #c9badb;border-radius:6px;background:#f0eaf8;font-size:13px}
.task-button:hover:not(:disabled){background:#e8ddf4}.task-button.completed{background:#d8c9ec;border-color:#a58dbf}.task-button:disabled{cursor:default;opacity:.6}
.gate-note{font-size:11px;color:#70607e;margin:12px 0 18px}
#details{display:grid;gap:15px}#details:disabled{opacity:.48}.identity-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.task-application textarea{height:75px}.task-application #form-error{font-size:12px;color:#963853;margin:10px 0 0}
.submit:disabled{cursor:default}.task-application .confirmation{outline:none}
@media(max-height:760px) and (min-width:981px){.task-application{padding-top:16px;padding-bottom:16px}.task-button{min-height:44px;padding:9px 12px}.gate-note{margin:9px 0 12px}#details{gap:11px}.task-application textarea{height:60px}}
@media(max-width:600px){.identity-fields{grid-template-columns:1fr}.task-button{padding:11px;font-size:12px}}

.wallet-error{color:#963853;font-size:11px;margin:0;line-height:1.4}#wallet[aria-invalid="true"]{border-color:#963853}

#apply-form .submit{box-shadow:0 3px 0 rgba(21,16,49,.22),inset 0 1px 0 #ffffff16}

/* Prevent iOS focus zoom and keep short landscape screens accessible. */
@media(max-width:980px){input,textarea,select{font-size:16px}.task-button{min-height:48px}.application{padding-bottom:max(28px,env(safe-area-inset-bottom))}}
@media(min-width:981px) and (max-height:650px){body{height:auto;min-height:100dvh;overflow:auto}main{min-height:600px}}
@media(max-width:360px){.visual{padding:24px 20px}.intro{max-width:67%}.intro h1{font-size:30px}.application{padding:24px 20px}.task-list{gap:8px}}

.service-message{padding:18px;border:1px solid #c9badb;border-radius:6px;background:#f0eaf8;margin:0 0 18px}.service-message p{font-size:13px;margin:0 0 12px}.service-message button,.retry-session{border:1px solid #a58dbf;border-radius:5px;padding:10px 16px;min-height:44px;background:#fffdf8;font-size:13px}.retry-session{align-self:flex-start;margin-top:12px}.task-button[aria-busy="true"]{opacity:.65}.application{overflow-y:auto}.submit[aria-busy="true"]{opacity:.7}

.confirmation p a{text-decoration:underline;text-underline-offset:3px}
