.so-logo{display:block}.so-logo .so-body,.so-logo .so-beat,.so-logo circle{transform-box:fill-box;transform-origin:50%}.so-logo .so-seg1{transform-box:fill-box;transform-origin:100%}.so-logo .so-seg2{transform-box:fill-box;transform-origin:0}.so-story .so-body{animation:7.2s cubic-bezier(.2,.9,.25,1) so-bubble}.so-story .so-ink{animation:7.2s so-fade}.so-story .so-beat{animation:7.2s so-beat}.so-story .so-d1{animation:7.2s cubic-bezier(.3,.8,.3,1) so-eye-l}.so-story .so-d2{animation:7.2s cubic-bezier(.3,.8,.3,1) so-mid}.so-story .so-d3{animation:7.2s cubic-bezier(.3,.8,.3,1) so-eye-r}.so-story .so-seg1,.so-story .so-seg2{animation:7.2s cubic-bezier(.4,.8,.3,1) so-draw,7.2s so-flash}.so-story.so-once *{animation-iteration-count:1;animation-fill-mode:forwards}.so-story.so-once .so-ink{opacity:1;animation:none}.so-story.so-once .so-body{animation-name:so-bubble-hold}.so-story.so-loop *{animation-iteration-count:infinite}@keyframes so-fade{0%,86%{opacity:1}90%,to{opacity:0}}@keyframes so-bubble{0%{opacity:0;transform:scale(0)}3%{opacity:1;transform:scale(.32)}5%{opacity:1;transform:scale(.28)}7.5%{opacity:1;transform:scale(.3)}11%{opacity:1;transform:scale(1.07)}13.5%{opacity:1;transform:scale(.99)}15%,87%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1.04)}94%{opacity:1;transform:scale(.3)}97%,to{opacity:0;transform:scale(0)}}@keyframes so-bubble-hold{0%{opacity:0;transform:scale(0)}3%{opacity:1;transform:scale(.32)}5%{opacity:1;transform:scale(.28)}7.5%{opacity:1;transform:scale(.3)}11%{opacity:1;transform:scale(1.07)}13.5%{opacity:1;transform:scale(.99)}15%,to{opacity:1;transform:scale(1)}}@keyframes so-eye-l{0%,14%{opacity:0;transform:translate(0)scale(.3)}17%{opacity:1;transform:translate(0)scale(1.15)}19%{opacity:1;transform:translate(0)scale(1)}22%{opacity:1;transform:translateY(-12px)scale(1)}25%{opacity:1;transform:translate(0)scale(1)}28%{opacity:1;transform:translateY(-12px)scale(1)}31%{opacity:1;transform:translate(0)scale(1)}38%,45%{opacity:1;transform:translate(37px,-12px)scale(.9)}49%,55%{opacity:1;transform:translate(17px,-12px)scale(.9)}57%{opacity:1;transform:translate(17px,-12px)scale(.9,.1)}59%,60%{opacity:1;transform:translate(17px,-12px)scale(.9)}64%,70%{opacity:1;transform:translate(57px,-12px)scale(.9)}73%,76%{opacity:1;transform:translate(37px,-12px)scale(.9)}81%{opacity:1;transform:translate(0)scale(1.08)}83%,to{opacity:1;transform:translate(0)scale(1)}}@keyframes so-eye-r{0%,16%{opacity:0;transform:translate(0)scale(.3)}19%{opacity:1;transform:translate(0)scale(1.15)}21%{opacity:1;transform:translate(0)scale(1)}23%{opacity:1;transform:translateY(-12px)scale(1)}26%{opacity:1;transform:translate(0)scale(1)}29%{opacity:1;transform:translateY(-12px)scale(1)}32%{opacity:1;transform:translate(0)scale(1)}38%,45%{opacity:1;transform:translate(-37px,-12px)scale(.9)}49%,55%{opacity:1;transform:translate(-57px,-12px)scale(.9)}57%{opacity:1;transform:translate(-57px,-12px)scale(.9,.1)}59%,60%{opacity:1;transform:translate(-57px,-12px)scale(.9)}64%,70%{opacity:1;transform:translate(-17px,-12px)scale(.9)}73%,76%{opacity:1;transform:translate(-37px,-12px)scale(.9)}81%{opacity:1;transform:translate(0)scale(1.08)}83%,to{opacity:1;transform:translate(0)scale(1)}}@keyframes so-mid{0%,15%{opacity:0;transform:translate(0)scale(.3)}18%{opacity:1;transform:translate(0)scale(1.15)}20%{opacity:1;transform:translate(0)scale(1)}24%{opacity:1;transform:translateY(-12px)scale(1)}27%{opacity:1;transform:translate(0)scale(1)}30%{opacity:1;transform:translateY(-12px)scale(1)}33%{opacity:1;transform:translate(0)scale(1)}40%,76%{opacity:1;transform:translate(0)scale(0)}81%{opacity:1;transform:translate(0)scale(1.12)}83%,to{opacity:1;transform:translate(0)scale(1)}}@keyframes so-draw{0%,76%{transform:scaleX(0)}83%,to{transform:scaleX(1)}}@keyframes so-beat{0%,80%{transform:scale(1)}83%{transform:scale(1.06)}86%,to{transform:scale(1)}}@keyframes so-flash{0%,80%{filter:brightness()}83%{filter:brightness(1.45)}86%,to{filter:brightness()}}.so-typing .so-d1{animation:1.5s ease-in-out infinite so-bob}.so-typing .so-d2{animation:1.5s ease-in-out .18s infinite so-bob}.so-typing .so-d3{animation:1.5s ease-in-out .36s infinite so-bob}@keyframes so-bob{0%,58%,to{opacity:.6;transform:translateY(0)scale(1)}26%{opacity:1;transform:translateY(-16px)scale(1.1)}}.so-gentle .so-beat{animation-name:so-beat-gentle}@keyframes so-beat-gentle{0%,80%{transform:scale(1)}83%{transform:scale(1.03)}86%,to{transform:scale(1)}}.so-loader{z-index:9999;background:linear-gradient(140deg,#c4d6fb,#d9c9f7);place-items:center;display:grid;position:fixed;inset:0}.so-loader-inner{text-align:center;flex-direction:column;align-items:center;gap:22px;padding:40px 16px;display:flex}.so-wordmark{letter-spacing:-.01em;color:#16141f;font-family:Instrument Serif,Georgia,serif;font-size:30px}.so-track{background:#ffffff80;border-radius:99px;width:180px;height:4px;overflow:hidden}.so-track i{background:linear-gradient(90deg,#4b63f6,#7b45f6);border-radius:99px;width:40%;height:100%;animation:1.6s cubic-bezier(.65,0,.35,1) infinite so-slide;display:block}@keyframes so-slide{0%{transform:translate(-110%)}to{transform:translate(260%)}}.so-caption{letter-spacing:.04em;color:#2b2740bf;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}@media (prefers-reduced-motion:reduce){.so-logo,.so-logo *,.so-track i{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}.so-loader,.so-field,#out.so-field{--p1:18% 16%;--p2:82% 20%;--p3:30% 92%;--p4:70% 85%;--p5:96% 60%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), radial-gradient(ellipse 52% 58% at var(--p1), #70a4e8f2, #70a4e859 45%, transparent 72%), radial-gradient(ellipse 48% 54% at var(--p2), #d692ccd9, #d692cc4d 45%, transparent 72%), radial-gradient(ellipse 50% 46% at var(--p3), #8c80d4d9, transparent 72%), radial-gradient(ellipse 56% 36% at var(--p4), #92ccb2bf, transparent 72%), radial-gradient(ellipse 28% 36% at var(--p5), #ece6aabf, transparent 72%), linear-gradient(160deg, #bcc0e2 0%, #c9bedf 48%, #c6c8d8 100%)}@keyframes so-loader-in{0%{opacity:0}}.so-loader .so-loader-inner{gap:14px}.so-loader .so-wordmark{margin-bottom:-4px!important}.so-loader .so-logo{filter:drop-shadow(0 10px 24px #4b63f647)}.so-loader .so-wordmark{font-family:var(--font-sans);letter-spacing:-.03em;color:#fff;text-shadow:0 0 18px #ffffffbf,0 0 2px #ffffffe6,0 2px 14px #5a50aa2e;margin:0;font-size:46px;font-weight:500;line-height:1}.so-loader .so-caption{min-height:1.4em;font-family:var(--font-sans);letter-spacing:.01em;color:#ffffffeb;text-shadow:0 0 10px #fff9,0 1px 6px #5a50aa40;margin:-2px 0 0;font-size:13px;font-weight:500}.app>.so-wait{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#ffffff9e;border-radius:18px;grid-area:1/2;place-items:center;margin:10px 10px 10px 0;animation:.3s cubic-bezier(.22,1,.36,1) so-loader-in;display:grid;position:relative}@media (width<=719px){.app>.so-wait{border-radius:0;margin:0;position:fixed;inset:60px 0 0}}.so-caret{vertical-align:-2px;background:#fff;border-radius:1px;width:1.5px;height:1.05em;margin-left:2px;animation:1s step-end infinite so-caret;display:inline-block;box-shadow:0 0 8px #fffc}@keyframes so-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.so-caret{animation:none}}#out.so-field,.so-field{min-height:100dvh;font-family:var(--font-sans);place-items:center;padding:24px 16px;display:grid;position:relative;overflow:hidden}.so-field .so-card{-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);color:#1d2530;background:#ffffffb8;border:1px solid #ffffffb3;border-radius:26px;gap:14px;width:min(100%,400px);padding:30px 28px 26px;animation:.5s cubic-bezier(.2,.8,.2,1) both so-card-in;display:grid;position:relative;box-shadow:0 30px 80px -30px #3c328c73,inset 0 1px #fffc}.so-field .so-card-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.so-field .so-card-brand .so-logo{filter:drop-shadow(0 8px 18px #4b63f64d);flex:none}.so-field .so-card-brand b{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.1;display:block}.so-field .so-card-brand small{color:#5b6470;margin-top:2px;font-size:12.5px;display:block}.so-field h1{letter-spacing:-.025em;margin:6px 0 0;font-size:26px;font-weight:600;line-height:1.15}.so-field .so-card>p{color:#4a535e;margin:0;font-size:14px;line-height:1.5}.so-field .fl{color:#2a323c;gap:6px;font-size:13px;font-weight:600;display:grid}.so-field .fl input{width:100%;min-height:46px;font:500 15px var(--font-sans);color:#1d2530;background:#ffffffd9;border:1px solid #1018201f;border-radius:12px;outline:none;padding:0 14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.so-field .fl input:hover{border-color:#10182038}.so-field .fl input:focus{background:#fff;border-color:#7b5cf0;box-shadow:0 0 0 4px #7b5cf029}.so-field .err{color:#7a4700;background:#e0a03029;border-radius:12px;margin:0;padding:10px 12px;font-size:13.5px;font-weight:500}.so-field .so-submit{color:#fff;width:100%;min-height:48px;font:600 15px var(--font-sans);cursor:pointer;background:#1d2530;border:0;border-radius:999px;margin-top:4px;transition:transform .2s,box-shadow .2s,background-color .2s;box-shadow:0 10px 24px -10px #7b5cf0b3}.so-field .so-submit:hover{background:#13304f;box-shadow:0 12px 30px -8px #7b5cf0d9,0 0 0 4px #7b5cf024}.so-field .so-submit:active{transform:scale(.98)}.so-field .so-submit:focus-visible{outline-offset:3px;outline:2px solid #7b5cf0}.so-field .fp{text-align:center;color:#5b6470;margin:2px 0 0;font-size:12.5px}.so-field .so-foot{text-align:center;color:#ffffffeb;text-shadow:0 1px 6px #3c328c59;margin:0;font-size:12px;position:absolute;bottom:18px;left:0;right:0}@keyframes so-card-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (width<=480px){.so-field .so-card{border-radius:22px;padding:24px 20px 20px}.so-field h1{font-size:23px}}@media (prefers-reduced-motion:reduce){.so-field .so-card{animation:none}}
