.so-root{--so-card:#fff;--so-text:#0f172a;--so-muted:#64748b;--so-border:#e2e8f0;--so-ghost:#f1f5f9;--so-ghost-hi:#e2e8f0;--so-door-room:#dbeafe;--so-door-frame:#94a3b8;--so-ring:#bae6fd;--so-check:#0284c7;z-index:200;justify-content:center;align-items:center;padding:16px;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.so-dark{--so-card:#0f172a;--so-text:#f1f5f9;--so-muted:#94a3b8;--so-border:#ffffff1a;--so-ghost:#ffffff12;--so-ghost-hi:#ffffff21;--so-door-room:#0c1a33;--so-door-frame:#475569;--so-ring:#38bdf840;--so-check:#38bdf8}.so-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0206178c;transition:opacity .2s ease-out;position:absolute;inset:0}.so-backdrop[data-state=closed]{opacity:0}.so-card{text-align:center;width:100%;max-width:380px;color:var(--so-text);background:var(--so-card);border:1px solid var(--so-border);border-radius:20px;padding:26px 26px 22px;transition:opacity .22s ease-out,transform .32s cubic-bezier(.34,1.4,.64,1);position:relative;box-shadow:0 24px 60px #02061759}.so-card[data-state=closed]{opacity:0;transform:scale(.94)translateY(10px)}.so-art{justify-content:center;margin-bottom:10px;display:flex}.so-svg{overflow:visible}.so-title{letter-spacing:-.2px;margin:0 0 8px;font-size:19px;font-weight:700}.so-text{color:var(--so-muted);margin:0;font-size:13.5px;line-height:1.6}.so-error{color:#ef4444;margin:12px 0 0;font-size:12.5px}.so-actions{gap:10px;margin-top:22px;display:flex}.so-btn{cursor:pointer;border:none;border-radius:11px;flex:1;justify-content:center;align-items:center;height:42px;font-family:inherit;font-size:14px;font-weight:600;transition:background .18s,transform .12s,box-shadow .18s;display:flex}.so-btn:active:not(:disabled){transform:scale(.97)}.so-btn:disabled{cursor:default}.so-btn-ghost{background:var(--so-ghost);color:var(--so-text)}.so-btn-ghost:hover:not(:disabled){background:var(--so-ghost-hi)}.so-btn-ghost:disabled{opacity:.5}.so-btn-primary{color:#fff;background:#0ea5e9}.so-btn-primary:hover:not(:disabled){background:#0284c7;box-shadow:0 6px 16px #0ea5e959}.so-shadow{fill:var(--so-border)}.so-frame{fill:var(--so-door-frame)}.so-room{fill:var(--so-door-room)}.so-door-leaf{transform-box:fill-box;transform-origin:0;animation:3.2s ease-in-out infinite soDoorIdle}.so-leaving .so-door-leaf{animation:.6s cubic-bezier(.4,0,.2,1) forwards soDoorOpen}@keyframes soDoorIdle{0%,60%,to{transform:perspective(200px)rotateY(0)}30%{transform:perspective(200px)rotateY(-16deg)}}@keyframes soDoorOpen{to{transform:perspective(200px)rotateY(-62deg)}}.so-ring{fill:var(--so-ring);transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.34,1.56,.64,1) both soPop}.so-check{stroke:var(--so-check);stroke-dasharray:60;stroke-dashoffset:60px;animation:.45s ease-out .25s forwards soDraw}.so-sparks circle{fill:#38bdf8;transform-box:fill-box;transform-origin:50%;opacity:0;animation:.9s ease-out .35s forwards soSpark}.so-sparks circle:nth-child(2){animation-delay:.45s}.so-sparks circle:nth-child(3){animation-delay:.55s}.so-sparks circle:nth-child(4){animation-delay:.65s}@keyframes soPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes soDraw{to{stroke-dashoffset:0}}@keyframes soSpark{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.4)}to{opacity:.5;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.so-card,.so-backdrop{transition:none}.so-door-leaf,.so-ring,.so-sparks circle{animation:none}.so-sparks circle{opacity:.6}.so-check{stroke-dashoffset:0;animation:none}}
