@font-face{font-family:Roboto;font-weight:400;font-display:swap;src:url(/fonts/roboto-400.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:500;font-display:swap;src:url(/fonts/roboto-500.woff2) format("woff2")}@font-face{font-family:Roboto;font-weight:700;font-display:swap;src:url(/fonts/roboto-700.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-weight:400;font-display:swap;src:url(/fonts/notosc-400.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-weight:700;font-display:swap;src:url(/fonts/notosc-700.woff2) format("woff2")}@font-face{font-family:Noto Sans TC;font-weight:400;font-display:swap;src:url(/fonts/notc-400.woff2) format("woff2")}@font-face{font-family:Noto Sans TC;font-weight:700;font-display:swap;src:url(/fonts/notc-700.woff2) format("woff2")}.card{width:930px;height:930px;position:relative;overflow:hidden;box-sizing:border-box;color:#fff;font-family:"Roboto",var(--cjk),sans-serif;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.card.lang-cn{--cjk:"Noto Sans SC"}.card.lang-tw{--cjk:"Noto Sans TC"}.card{background:#000}.card-clip{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:34px;overflow:hidden}.card-plain .card-clip,.card-vip .card-clip{background:#080808}.card .abs{position:absolute;line-height:1;white-space:nowrap}.c-avatar{position:absolute;left:48px;top:51px;width:71px;height:71px;border-radius:16px;overflow:hidden;background:#26262b}.c-avatar img{width:100%;height:100%;object-fit:cover}.c-avatar .fallback{width:100%;height:100%;background:linear-gradient(135deg,#3a3a40,#1b1b1f)}.c-username{left:146px;top:55px;font-size:31px;font-weight:700;color:#fff}.c-datetime{left:146px;top:92px;font-size:28px;font-weight:400;color:#9b9b9e;letter-spacing:-.6px}.c-logo{position:absolute;top:48px;height:53px;width:auto;object-fit:contain}.card-vip .c-logo{right:49px;height:54px}.card-plain .c-logo{right:48px;height:53px}.c-coin{position:absolute;left:48px;top:210px;width:71px;height:71px;border-radius:50%;overflow:hidden;background:#1a1a1e}.c-coin img{width:100%;height:100%;object-fit:cover}.c-coin .fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;background:linear-gradient(135deg,#f7931a,#b86c0e)}.c-symbol{left:146px;top:202px;font-size:42px;font-weight:700;letter-spacing:.3px}.c-sub{left:146px;top:257px;font-size:29px;font-weight:400;display:flex;align-items:center}.c-sub .perp{color:#9b9b9e}.c-sub .sep{color:#3a3a3e;margin:0 13px}.c-sub .long{color:#00b7d1;font-weight:500}.c-sub .short{color:#ff3076;font-weight:500}.c-roi{left:48px;top:339px;font-size:95px;font-weight:700;letter-spacing:-1px;color:#fff}.c-pnl{left:48px;top:446px;font-size:32px;font-weight:400;color:#ededed;letter-spacing:-.4px}.c-l1{left:48px}.c-l2{left:341px}.c-plabel{top:536px;font-size:30px;font-weight:400;color:#9b9b9e}.c-pvalue{top:575px;font-size:35px;font-weight:400;color:#fff;letter-spacing:-.4px}.c-arrow{position:absolute;right:24px;top:430px;width:340px;height:auto;object-fit:contain}.card-vip .c-arrow{top:400px;width:330px}.card-plain .c-arrow{top:435px;right:45px;width:282px}.c-gold{position:absolute;left:0;right:0;top:720px;bottom:0;background:linear-gradient(180deg,#d9b36c,#cfa659)}.c-qr{position:absolute;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:transparent}.card-plain .c-qr{left:46px;top:770px;width:124px;height:124px}.card-vip .c-qr{left:46px;top:772px;width:124px;height:124px}.c-invite{font-weight:700}.c-banner{font-weight:400}.card-vip.has-gold .c-invite{left:185px;top:800px;font-size:31px;color:#291d10}.card-vip.has-gold .c-banner{left:185px;top:843px;font-size:28px;color:#5a4422}.card-plain .c-invite,.card-vip:not(.has-gold) .c-invite{left:178px;top:800px;font-size:30px;color:#e8e8e8}.card-plain .c-banner,.card-vip:not(.has-gold) .c-banner{left:178px;top:843px;font-size:27px;color:#9c9c9e}*{box-sizing:border-box}body{margin:0;background:#15161a;color:#e8e8ea;font-family:Microsoft JhengHei,Microsoft YaHei,system-ui,sans-serif}.app{display:flex;min-height:100vh;align-items:flex-start}.left-pane{width:440px;flex:none;padding:22px 24px 60px;height:100vh;overflow-y:auto;border-right:1px solid #2a2c33;background:#1b1d22}.left-pane h1{font-size:22px;margin:4px 0 16px}.controls h2{font-size:15px;color:#8fb4ff;margin:22px 0 8px;border-bottom:1px solid #2a2c33;padding-bottom:6px}.field{display:block;margin-bottom:12px}.field-label{display:block;font-size:13px;color:#9aa0aa;margin-bottom:5px}.row{display:flex;gap:12px}.row .field{flex:1}input[type=text],input[type=number],input:not([type]),select{width:100%;padding:9px 11px;border-radius:8px;border:1px solid #353842;background:#23262d;color:#fff;font-size:14px}input:disabled{opacity:.5}input[type=file]{font-size:12px;color:#9aa0aa;padding:6px 0;border:none;background:none}.slider-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.slider-label{font-size:13px;color:#9aa0aa;width:78px;flex:none}.slider-row input[type=range]{flex:1;accent-color:#3b6ef5}.slider-num{width:62px;flex:none;padding:6px 8px}.reset-btn{width:100%;padding:9px;margin:2px 0 14px;border-radius:8px;border:1px solid #3a3d47;background:#2b2e36;color:#c8ccd4;font-size:13px;cursor:pointer}.reset-btn:hover{background:#353945;color:#fff}.input-with-btn{display:flex;gap:8px}.input-with-btn input{flex:1}.rand-btn{padding:9px 12px;border-radius:8px;border:1px solid #4a5568;background:#2d3142;color:#a0aec0;font-size:13px;cursor:pointer;flex:none;white-space:nowrap}.rand-btn:hover{background:#3b4263;color:#fff}.img-input{display:flex;align-items:center;gap:8px}.seg{display:flex;gap:8px;margin-bottom:12px}.seg.small{gap:6px}.seg button{flex:1;padding:9px 10px;border-radius:8px;border:1px solid #353842;background:#23262d;color:#c8ccd4;font-size:14px;cursor:pointer}.seg button.on{background:#3b6ef5;border-color:#3b6ef5;color:#fff}.seg button.on.long{background:#169aa6;border-color:#169aa6}.seg button.on.short{background:#d23651;border-color:#d23651}.check{display:flex;align-items:center;gap:9px;font-size:14px;margin:10px 0;cursor:pointer}.check.inline{flex:1;margin:0;align-items:flex-end;padding-bottom:9px}.check input{width:auto}button.mini{padding:5px 10px;font-size:12px;border-radius:6px;border:1px solid #4a3030;background:#3a2426;color:#ff9b9b;cursor:pointer;flex:none}.user-bar{background:#23262d;border:1px solid #2f323b;border-radius:10px;padding:12px;margin-bottom:10px}.ub-title{font-size:13px;color:#9aa0aa;margin-bottom:9px}.ub-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;border-radius:20px;border:1px solid #3a3d47;background:#2b2e36;color:#d4d8e0;font-size:13px;cursor:pointer}.chip.on{border-color:#3b6ef5;background:#243049;color:#fff}.chip-av{width:24px;height:24px;border-radius:50%;overflow:hidden;flex:none;background:#444;display:flex}.chip-av img{width:100%;height:100%;object-fit:cover}.chip-dot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.chip-x{color:#ff9b9b;font-size:16px;line-height:1;padding:0 2px;border-radius:50%}.chip-x:hover{background:#5a2a2a}.ub-save{display:flex;gap:8px}.ub-save input{flex:1}.ub-save button{padding:8px 12px;border-radius:8px;border:1px solid #3b6ef5;background:#3b6ef5;color:#fff;font-size:13px;cursor:pointer;flex:none}.ub-save button:disabled{opacity:.4;cursor:default}.icon-status{font-size:12px;color:#8a90a0}.template-bar{background:#23262d;border:1px solid #2f323b;border-radius:10px;padding:12px;margin-bottom:8px}.tpl-row{display:flex;gap:8px;margin-bottom:8px}.tpl-row:last-child{margin-bottom:0}.tpl-row select,.tpl-row input{flex:1}.tpl-row button{padding:8px 12px;border-radius:8px;border:1px solid #3b6ef5;background:#3b6ef5;color:#fff;font-size:13px;cursor:pointer;flex:none}.tpl-row button:disabled{opacity:.4;cursor:default}.right-pane{flex:1;padding:30px;position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:20px}.preview-stage{width:600px;height:600px;border-radius:18px;overflow:hidden;box-shadow:0 16px 50px #0000008c}.preview-scale{width:930px;height:930px;transform:scale(.645);transform-origin:top left}.export-btn{padding:14px 30px;border-radius:12px;border:none;background:linear-gradient(135deg,#f7d774,#e0a93f);color:#1c1407;font-size:17px;font-weight:700;cursor:pointer}.export-btn:disabled{opacity:.6;cursor:default}
