:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1e263a;background:#f6f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app{max-width:1360px;margin:auto;padding:0 30px}header{height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eaf2}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:800}.brand span{color:#665af4}.brand small{font-size:10px;letter-spacing:1.4px;color:#8a92a4;margin-left:10px}.logo{background:linear-gradient(135deg,#655af5,#a39aff);color:#fff;width:40px;height:40px;display:grid;place-items:center;border-radius:13px}.topnote{color:#8790a3;font-size:13px}.hero{padding:37px 0 27px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#7267f4}.hero h1{font-size:36px;margin:9px 0 7px;letter-spacing:-1.2px}.hero h1 span{color:#675cf5}.hero p{color:#7a8498;font-size:14px;margin:0}.layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;align-items:start}.panel{background:#fff;border:1px solid #e8eaf2;border-radius:18px;box-shadow:0 12px 34px #26324b0a}.controls{padding:24px}.controls h3{font-size:15px;margin:0 0 17px}.number{color:#7267f5;margin-right:8px;font-size:13px}.upload{cursor:pointer;display:flex;align-items:center;flex-direction:column;border:1.5px dashed #c9c5ff;background:#faf9ff;border-radius:14px;padding:27px 10px;gap:9px;text-align:center}.uploadicon{font-size:37px;color:#766bf4}.upload strong{font-size:14px;max-width:250px;overflow-wrap:anywhere}.upload small{font-size:11px;color:#8c94a6}.uploadbtn{background:#665cf5;color:#fff;border-radius:9px;padding:8px 20px;font-size:12px;font-weight:700;margin-top:7px}.upload input{display:none}.separator{height:1px;background:#edf0f5;margin:25px 0}.field{font-size:12px;font-weight:700;color:#58657b;display:block;margin-bottom:10px}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.option{border:1px solid #e5e9f1;background:#fff;border-radius:10px;padding:11px 3px;display:flex;flex-direction:column;gap:5px;align-items:center}.option strong{font-size:13px}.option small{font-size:10px;color:#8b94a5}.option.selected{border-color:#756bf7;background:#f3f1ff;color:#6155ee}.toggle{display:flex;align-items:center;gap:10px;margin:22px 0}.toggle input{accent-color:#665cf5;width:17px;height:17px}.toggle span{display:flex;flex-direction:column;gap:3px}.toggle strong{font-size:13px}.toggle small{font-size:11px;color:#929aaa}.generate{width:100%;background:#675cf5;color:#fff;border:0;border-radius:11px;padding:14px;font-weight:750;box-shadow:0 8px 18px #675cf52a}.hint{font-size:11px;line-height:1.6;color:#98a0af}.error{font-size:12px;color:#c52e45;background:#fff0f2;border-radius:8px;padding:10px}.canvaspanel{overflow:hidden}.canvashead{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #e9edf3}.canvashead strong{font-size:14px}.tabs{display:flex;background:#f3f4f8;padding:4px;border-radius:9px;gap:3px}.tabs button{border:0;background:transparent;color:#8c95a5;border-radius:7px;padding:7px 12px;font-size:12px}.tabs button.active{background:#fff;color:#6257f3;box-shadow:0 1px 4px #29354b12}.stage{min-height:510px;display:grid;place-items:center;padding:24px;background-color:#fafbfe;background-image:radial-gradient(#e4e7ef 1px,transparent 1px);background-size:18px 18px}.preview{max-width:100%;max-height:570px;object-fit:contain;background:#fff;box-shadow:0 10px 32px #1e2a3c19}.empty{text-align:center;color:#9099a9}.empty h3{font-size:17px;color:#30394b;margin:12px 0 4px}.empty p{font-size:12px}.placeholder{font-size:75px;color:#b0aafa}.spinner{height:44px;width:44px;border:4px solid #e5e3ff;border-top-color:#675cf5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border-top:1px solid #e9edf3}.bottom span{font-size:11px;color:#8d96a7}.downloads{display:flex;gap:9px}.downloads button{border:1px solid #dedff1;background:#fff;color:#5f58d5;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700}.downloads button.pdf{background:#675cf5;color:#fff;border-color:#675cf5}.footer{text-align:center;color:#a0a7b5;font-size:11px;padding:26px}@media(max-width:900px){.layout{grid-template-columns:1fr}.topnote{display:none}.stage{min-height:400px}}@media(max-width:520px){.app{padding:0 14px}.brand small{display:none}.hero h1{font-size:27px}.controls{padding:18px}.canvashead{padding:0 12px}.bottom{flex-direction:column;align-items:stretch}.downloads button{flex:1}}.userarea{display:flex;align-items:center;gap:10px}.balchip{display:flex;align-items:center;gap:5px;border:1px solid #dcd7ff;background:#f3f1ff;color:#5d51ee;border-radius:999px;padding:8px 14px}.balchip .spark{font-size:12px}.balchip strong{font-size:16px;line-height:1}.balchip small{font-size:11px}.ghostbtn{background:#fff;border:1px solid #e1e4ee;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650;color:#4b5568}.ghostbtn:hover{border-color:#c9c5ff;color:#5f53ee}.primarybtn{background:#675cf5;color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:700;box-shadow:0 6px 14px #675cf52a}.usermenu{display:flex;align-items:center;gap:8px;padding-left:4px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#655af5,#a39aff);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.uname{font-size:12px;color:#5b6478;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkbtn{background:none;border:0;color:#8d95a6;font-size:12px;padding:2px 4px}.linkbtn:hover{color:#5f53ee}.option .cost{font-style:normal;font-size:10px;font-weight:800;color:#6155ee;background:#f1efff;border-radius:999px;padding:2px 7px}.option.selected .cost{background:#fff;color:#5f53ee}.buyhint{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#a9691a;background:#fff7e8;border:1px solid #f4e2be;border-radius:9px;padding:9px 11px;margin-top:10px}.buyhint button{border:0;background:#675cf5;color:#fff;border-radius:7px;padding:6px 11px;font-size:11px;font-weight:700}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#141b2b66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:18px;width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px #1e24374d}.modalhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid #edf0f5}.modalhead h3{margin:0;font-size:17px}.headright{display:flex;align-items:center;gap:10px}.balancechip{font-size:12px;font-weight:800;color:#5f53ee;background:#f3f1ff;border:1px solid #dcd7ff;border-radius:999px;padding:7px 13px;white-space:nowrap}.closebtn{border:0;background:#f3f4f8;border-radius:8px;width:30px;height:30px;color:#697085;font-size:15px;line-height:1}.closebtn:hover{background:#e9ebf3;color:#30394b}.modalbody{padding:22px 24px;overflow:auto}.modaltabs{display:flex;gap:4px;padding:10px 24px 0;border-bottom:1px solid #edf0f5}.modaltabs button{border:0;background:none;padding:9px 12px;font-size:13px;color:#8b94a5;border-bottom:2px solid transparent;margin-bottom:-1px}.modaltabs button.active{color:#6155ee;border-bottom-color:#675cf5;font-weight:700}.formrow{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.formrow label{font-size:12px;font-weight:700;color:#58657b}.formrow input{border:1px solid #dfe3ee;border-radius:10px;padding:11px 13px;font:inherit;font-size:13px;outline:none;background:#fff;min-width:0}.formrow input:focus{border-color:#756bf7;box-shadow:0 0 0 3px #675cf51f}.formerror{font-size:12px;color:#c52e45;background:#fff0f2;border-radius:8px;padding:10px;margin:0 0 12px}.formtip{font-size:11px;line-height:1.65;color:#98a0af;margin:14px 0 0}.submitbtn{width:100%;background:#675cf5;color:#fff;border:0;border-radius:11px;padding:13px;font-weight:750;margin-top:4px;box-shadow:0 8px 18px #675cf52a}.switchline{text-align:center;font-size:12px;color:#8b94a5;margin:16px 0 0}.switchline button{border:0;background:none;color:#6155ee;font-weight:700;font-size:12px;padding:0 2px}.packlist{display:flex;flex-direction:column;gap:10px}.pack{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e8eaf2;border-radius:12px;padding:14px 16px}.pack.best{border-color:#c9c2ff;background:#faf9ff}.packname{font-size:14px;font-weight:750;display:flex;align-items:center;gap:7px}.packtag{font-size:9px;font-weight:800;letter-spacing:.5px;color:#fff;background:#675cf5;border-radius:999px;padding:2px 7px}.packmeta{font-size:11px;color:#929aaa;margin-top:4px}.packprice{display:flex;align-items:center;gap:14px;flex-shrink:0}.packprice strong{font-size:16px;color:#5f53ee}.buybtn{background:#675cf5;color:#fff;border:0;border-radius:9px;padding:9px 16px;font-size:12px;font-weight:700;white-space:nowrap}.buybtn:hover:not(:disabled){background:#5a4fe8}.payview{display:flex;flex-direction:column;align-items:center;gap:12px}.payhead{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #e8eaf2;border-radius:12px;padding:14px 16px;background:#faf9ff}.paytitle{font-size:14px;font-weight:750}.payamount{font-size:20px;font-weight:800;color:#5f53ee;margin-top:4px}.paycount{font-size:12px;font-weight:700;color:#6155ee;background:#f3f1ff;border-radius:999px;padding:6px 12px;white-space:nowrap}.paycount.expired{color:#c04a5d;background:#fff0f2}.qrbox{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border:1px solid #e8eaf2;border-radius:14px;background:#fff}.qrbox img{width:240px;height:240px;display:block;image-rendering:pixelated}.qrhint{font-size:12px;color:#7a8498}.jsapibox{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border:1px solid #e8eaf2;border-radius:14px;background:#fff}.jsapispin{width:34px;height:34px;border-radius:50%;border:3px solid #e6e3ff;border-top-color:#675cf5;animation:jsapispin .9s linear infinite}.jsapispin.idle{animation:none;border-top-color:#c9c4ef}@keyframes jsapispin{to{transform:rotate(360deg)}}.jsapititle{font-size:15px;font-weight:750;color:#30394b}.jsapihint{font-size:12px;color:#7a8498;text-align:center;min-height:18px}.jsapibtn{min-width:150px}.paycancel{background:#eef0f6;color:#58657b}.paycancel:hover:not(:disabled){background:#e4e7f0}.formtip.warn{color:#c04a5d}.redeemrow{display:flex;gap:9px}.redeemrow input{flex:1;min-width:0;border:1px solid #dfe3ee;border-radius:10px;padding:11px 13px;font:inherit;font-size:13px;outline:none;text-transform:uppercase}.redeemrow input:focus{border-color:#756bf7;box-shadow:0 0 0 3px #675cf51f}.txlist{display:flex;flex-direction:column}.tx{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #f0f2f7}.tx:last-child{border-bottom:0}.tleft{display:flex;flex-direction:column;gap:4px;min-width:0}.tname{font-size:13px;color:#30394b;overflow-wrap:anywhere}.ttime{font-size:10px;color:#a0a7b5}.amount{font-weight:800;font-size:13px;white-space:nowrap}.amount.plus{color:#1e9e6a}.amount.minus{color:#c04a5d}.drawerwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;justify-content:flex-end;background:#141b2b4d}.drawer{width:min(430px,100%);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-10px 0 40px #1e243726}.drawerhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid #edf0f5}.drawerhead h3{margin:0;font-size:17px}.drawerhint{font-size:11px;color:#98a0af;margin:5px 0 0;line-height:1.5}.drawerbody{flex:1;overflow:auto;padding:16px 20px}.jobitem{border:1px solid #e8eaf2;border-radius:12px;padding:13px 14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}.jobitem:hover{border-color:#c9c2ff}.jobtop{display:flex;align-items:center;justify-content:space-between;gap:10px}.jobtitle{font-size:13px;font-weight:700}.badge{font-size:10px;font-weight:700;border-radius:999px;padding:4px 9px;white-space:nowrap}.badge.SUCCEEDED{background:#e8f8f1;color:#178a5c}.badge.RUNNING{background:#fff5e2;color:#b6791b}.badge.PENDING{background:#eef0f6;color:#697085}.badge.FAILED{background:#ffedf0;color:#c23048}.jobmeta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#929aaa;margin-top:6px}.jobfail{font-size:11px;color:#c04a5d;margin-top:6px;line-height:1.5}.jobactions{display:flex;gap:12px;margin-top:9px;padding-top:8px;border-top:1px dashed #edf0f5}.jobactions .linkbtn{color:#6155ee;font-weight:700}.loadmore{display:block;width:100%;border:1px solid #e1e4ee;background:#fff;color:#5f58d5;border-radius:9px;padding:10px;font-size:12px;font-weight:700;margin:4px 0 10px}.stageerror{margin:0;padding:10px 20px;background:#fff0f2;color:#c52e45;font-size:12px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);z-index:80;background:#232a3d;color:#fff;border-radius:11px;padding:11px 20px;font-size:13px;box-shadow:0 10px 30px #1e243740;max-width:90vw;text-align:center}.toast.success{background:#178a5c}.toast.error{background:#c23048}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}@media(max-width:1080px){.uname{display:none}.ghostbtn{padding:9px 11px}}@media(max-width:900px){.userarea{gap:7px}.ghostbtn{padding:8px 10px;font-size:11px}}@media(max-width:640px){.uname,.packbtn{display:none}.balchip{padding:7px 11px}.usermenu{gap:6px}.modal{max-height:92vh}.headright{gap:6px}}.options.two{grid-template-columns:repeat(2,1fr)}.uploadgap{margin-top:15px}.upload.second{padding:19px 10px;gap:7px}.upload.second .uploadicon{font-size:28px}.upload.second .uploadbtn{margin-top:5px}.fusionnote{display:flex;flex-direction:column;gap:8px;border:1px solid #e8eaf2;background:#faf9ff;border-radius:12px;padding:13px 14px}.fusionrow{display:flex;align-items:baseline;gap:10px;font-size:11px;color:#8b94a5;line-height:1.5}.fusionrow strong{flex:0 0 62px;font-size:12px;color:#4b5568}
