@font-face{font-family:Quicksand;src:url(/fonts/quicksand-400.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Quicksand;src:url(/fonts/quicksand-500.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Quicksand;src:url(/fonts/quicksand-600.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Quicksand;src:url(/fonts/quicksand-700.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--cream:#fbf7f0;--cream-deep:#f2eadc;--ink:#14234b;--blue:#0743ce;--blue-dark:#0537ad;--error:#9c322f}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;margin:0}body,button,input{font-family:Quicksand,system-ui,sans-serif}body{color:var(--ink);-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}.canvas{min-height:100svh;padding:max(28px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 38%, #fff9, transparent 34rem), var(--cream);place-items:center;display:grid;overflow:hidden}.scene{opacity:1;place-items:center;width:min(100%,620px);min-height:min(700px,100svh - 56px);transition:opacity .42s,transform .42s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(0)}.scene--leaving{opacity:0;transform:translateY(-10px)}.stage{text-align:center;flex-direction:column;align-items:center;width:100%;animation:.62s cubic-bezier(.22,1,.36,1) both stage-in;display:flex}.stage--intro,.stage--accepted{justify-content:center;min-height:520px}.face-float{filter:drop-shadow(0 13px 18px #0646d90f);place-items:center;width:clamp(132px,34vw,178px);height:92px;margin-bottom:34px;animation:4.4s ease-in-out infinite float;display:grid}.face-float--compact{width:94px;height:50px;margin-bottom:28px}.face-image{object-fit:contain;width:100%;height:auto}.intro-copy,.accepted-copy{letter-spacing:-.03em;white-space:pre-line;width:min(100%,520px);min-height:92px;color:var(--blue);place-items:center;margin:0;padding:0 4px;font-size:clamp(1.32rem,5vw,1.75rem);font-weight:700;line-height:1.38;display:grid}.accepted-copy{min-height:50px;font-size:clamp(1.55rem,6vw,2rem)}.caret{background:var(--blue);vertical-align:-.08em;border-radius:999px;width:.1em;height:.9em;margin-left:.08em;animation:.9s steps(2,start) infinite blink;display:inline-block}.waitlist-reveal{opacity:0;pointer-events:none;width:100%;min-height:126px;margin-top:14px;transition:opacity .52s,transform .52s cubic-bezier(.22,1,.36,1);transform:translateY(12px)}.waitlist-reveal--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.waitlist-form{width:min(100%,520px);margin:0 auto}.email-row{align-items:stretch;gap:8px;display:flex}.email-row input{min-width:0;height:54px;color:var(--ink);background:#ffffff85;border:1.5px solid #14234b33;border-radius:16px;outline:none;flex:1;padding:0 18px;font-size:1rem;font-weight:600;transition:border-color .18s,box-shadow .18s,background .18s}.email-row input::placeholder{color:#14234b73}.email-row input:focus{border-color:var(--blue);background:#ffffffc7;box-shadow:0 0 0 4px #0646d91a}.email-row button,.primary-action{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:16px;place-items:center;min-height:54px;padding:0 22px;font-size:.94rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-grid;box-shadow:0 10px 24px #0646d929}.email-row button:hover,.primary-action:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 13px 28px #0646d933}.email-row button:active,.primary-action:active{transform:translateY(1px)}.email-row button:disabled{cursor:wait;opacity:.72}.form-note{color:#14234b85;margin:10px 0 0;font-size:.76rem;font-weight:600}.form-error{min-height:20px;color:var(--error);margin:6px 0 0;font-size:.78rem;font-weight:600}.bot-field{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-button{bottom:max(22px, env(safe-area-inset-bottom));color:#14234b6b;cursor:pointer;background:0 0;border:0;font-size:.76rem;font-weight:600;position:fixed}.skip-button:hover{color:var(--ink)}.stage--upload h1{letter-spacing:-.055em;max-width:560px;color:var(--blue);margin:0;font-size:clamp(2rem,8vw,3.35rem);font-weight:700;line-height:1.05}.upload-subtitle{color:#0743cea8;margin:14px 0 28px;font-size:clamp(.9rem,3vw,1rem);font-weight:600}.drop-zone{background:#ffffff47;border:1.5px dashed #0646d96b;border-radius:24px;width:min(100%,430px);height:clamp(250px,44svh,340px);transition:border-color .18s,background .18s,transform .18s;overflow:hidden}.drop-zone--dragging{border-color:var(--blue);background:#ffffffb3;transform:scale(1.012)}.drop-zone--filled{background:var(--cream-deep);border-style:solid;border-color:#14234b1f}.upload-prompt,.preview-button{cursor:pointer;background:0 0;border:0;width:100%;height:100%}.upload-prompt{flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.upload-prompt svg{fill:none;width:31px;stroke:var(--blue);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}.upload-prompt strong{color:var(--blue);font-size:1.08rem;font-weight:700}.upload-prompt span,.preview-button span{color:#0743ce94;font-size:.8rem;font-weight:600}.preview-button{padding:0;display:block;position:relative}.preview-button img{object-fit:cover;width:100%;height:100%;display:block}.preview-button span{width:max-content;max-width:calc(100% - 28px);color:var(--ink);background:#fbf7f0eb;border-radius:999px;padding:9px 13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 5px 18px #14234b1a}.upload-error{margin-top:8px}.stage--upload>.primary-action{min-width:176px;margin-top:10px;animation:.38s both action-in}.stage--loading{justify-content:center;min-height:420px}.loading-copy{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;width:min(100%,430px);min-height:220px;padding-left:clamp(18px,7vw,48px);display:flex}.loading-copy p{letter-spacing:-.035em;color:var(--blue);margin:5px 0;font-size:clamp(1.45rem,6vw,2rem);font-weight:700;line-height:1.32;animation:.24s both line-in}.thinking-dot{background:var(--blue);border-radius:50%;width:7px;height:7px;margin:15px 0 0 3px;animation:1.1s ease-in-out infinite thinking}.stage--result{justify-content:center}.result-kicker{letter-spacing:-.03em;color:var(--blue);margin:0 0 17px;font-size:clamp(1.25rem,4.5vw,1.55rem);font-weight:700}.result-frame{background:var(--cream-deep);border-radius:24px;width:min(100%,440px);max-height:min(66svh,570px);overflow:hidden;box-shadow:0 22px 55px #14234b1a}.result-frame img{object-fit:contain;width:100%;max-height:min(66svh,570px);display:block}.result-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.result-actions .primary-action{min-height:48px;padding-inline:25px}.secondary-action{color:#14234ba8;cursor:pointer;background:0 0;border:0;min-height:48px;padding:0 15px;font-size:.9rem;font-weight:700}.secondary-action:hover{color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #0646d947}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes stage-in{0%{opacity:0;transform:translateY(9px)}}@keyframes float{0%,to{transform:translateY(0)rotate(-.25deg)}50%{transform:translateY(-8px)rotate(.25deg)}}@keyframes blink{50%{opacity:0}}@keyframes thinking{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@keyframes line-in{0%{opacity:0;transform:translateY(4px)}}@keyframes action-in{0%{opacity:0;transform:translateY(5px)}}@media (max-width:560px){.scene{min-height:calc(100svh - 56px)}.email-row{flex-direction:column}.email-row input,.email-row button{width:100%}.waitlist-reveal{min-height:190px}.stage--intro .face-float{margin-bottom:24px}.stage--upload .face-float{margin-bottom:22px}.drop-zone,.result-frame{border-radius:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
