:root{--primary:#2f64f0;--primary2:#2557db;--success:#079762;--danger:#ff465d;--text:#20242f}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
.ui-icon,.link-icon,.btn-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.link-icon,.btn-icon{width:18px;height:18px;flex-basis:18px}
body{margin:0;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px 18px;background:#eef6ff;color:var(--text);font-family:'Plus Jakarta Sans','Noto Sans SC',sans-serif}
.mist-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 20% 15%,rgba(120,190,255,.2),transparent 25%),linear-gradient(180deg,#f5fbff,#e6f2ff)}
.app-card{width:100%;max-width:920px;min-height:760px;background:#f7fbff;border:1px solid #dbe9f7;border-radius:28px;overflow:hidden;position:relative;box-shadow:0 20px 48px rgba(52,118,190,.12);padding-bottom:42px}
.language-bar{position:absolute;top:20px;right:20px;z-index:20}
.language-trigger{height:38px;min-width:112px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.14);color:#fff;font-weight:800;cursor:pointer}
.language-trigger b{margin:0 6px}.language-menu{display:none;position:absolute;right:0;top:46px;width:120px;background:#fff;border:1px solid #e7eaf2;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(16,24,40,.14)}
.language-menu.open{display:block}.language-menu button{width:100%;height:40px;border:0;background:#fff;cursor:pointer;font-weight:800}.language-menu button:hover{background:#f6f7fb}
.hero{min-height:380px;padding:34px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#6f86f6,#7b61cf)}
.logo{width:136px;height:136px;object-fit:contain;filter:brightness(0) invert(1);display:block;margin:14px auto 22px}
h1{margin:0;color:#fff;font-size:56px;line-height:1.1;font-weight:700;letter-spacing:-.035em;text-shadow:0 8px 24px rgba(46,54,114,.16)}
.hero p{margin:18px 0 0;color:rgba(255,255,255,.92);font-size:24px;font-weight:600}
.steps{max-width:420px;margin:40px auto 34px;display:flex;justify-content:center}
.step{width:94px;position:relative;text-align:center}.step:not(:last-child):after{content:'';position:absolute;left:58px;top:26px;width:72px;height:4px;background:#d7ddea;border-radius:999px}.step.done:not(:last-child):after{background:linear-gradient(90deg,#726fe0,#6f61d1)}
.step span{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;font-size:24px;font-weight:800;background:#e3e6eb;color:#66707d}.step.active span,.step.done span{background:linear-gradient(135deg,#737fe7,#6f5fcf);color:#fff}
.hidden{display:none!important}.pane{max-width:820px;margin:0 auto;padding:0 30px;animation:fade .28s ease both}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
.label{display:block;margin:0 0 12px;font-size:17px;font-weight:800}.label.with-icon{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:22px;color:#222838}.label.with-icon .ui-icon{color:#2f64f0}.label em{color:var(--danger);font-style:normal;margin-left:4px}.input-wrap{background:#fff;border:1px solid #dbe9f7;border-radius:18px;padding:4px;display:flex}.input-wrap:focus-within{border-color:#bcd3f3;box-shadow:0 0 0 3px rgba(47,100,240,.08)}
input,textarea{width:100%;border:0;background:transparent;outline:0;padding:18px;font:700 16px inherit;color:#2d2f39}textarea{min-height:132px;resize:vertical;line-height:1.6}
.verified{background:#fff;border:1px solid #e7eaf2;border-radius:16px;padding:16px 18px;margin-bottom:22px;color:#2f64f0}.verified-title{display:flex;align-items:center}.verified p{margin:10px 0 0;color:#4f5a72;font-weight:700}
.row-line{display:grid;grid-template-columns:24px minmax(82px,max-content) minmax(206px,auto);align-items:center;gap:14px;margin:0 0 18px}.row-line .step-icon{width:22px;height:22px;color:#2f64f0;stroke-width:2.4}.row-line b{white-space:nowrap;color:#222838;font-size:22px;line-height:1;font-weight:800}.row-line a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:206px;max-width:100%;height:54px;padding:0 22px;border-radius:12px;color:#fff;text-decoration:none;font-size:18px;font-weight:800;white-space:nowrap;box-shadow:0 14px 28px rgba(47,100,240,.12)}.row-line a.green{background:#079762}.row-line a.blue{background:#2f64f0}.warning{display:flex;align-items:flex-start;gap:10px;margin:20px 0 24px;color:#a86a00;font-size:16px;line-height:1.45;font-weight:800}.warning .warn-icon{width:18px;height:18px;flex-basis:18px;margin-top:1px;color:#ff9f1c}
.confirm-card{background:#fff;border:1px solid #e7eaf2;border-radius:18px;overflow:hidden;margin-bottom:16px}.confirm-card h3{margin:0;padding:18px;border-bottom:1px solid #eef1f6;font-size:17px}.confirm-card div{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #eef1f6}.confirm-card div:last-child{border-bottom:0}.confirm-card span{color:#677086;font-weight:800}.confirm-card b{text-align:right;word-break:break-all}.confirm-card #sumStat.status-success{color:var(--success)}.confirm-card #sumStat.status-failed{color:var(--danger)}.confirm-card #sumStat.status-processing{color:var(--primary)}
.log-stream{height:160px;background:#020617;border:1px solid #1e293b;border-radius:16px;padding:18px;overflow-y:auto;color:#dbeafe;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.log-stream b{color:#60a5fa}
.actions{max-width:820px;margin:32px auto 0;padding:0 30px;display:grid;grid-template-columns:minmax(112px,32%) minmax(0,1fr);gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;border:0;border-radius:16px;min-height:60px;font-size:20px;font-weight:800;cursor:pointer;white-space:nowrap}.primary{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 10px 24px rgba(47,100,240,.2)}.primary:disabled{background:#c6d0ef;cursor:not-allowed}.ghost{background:#e8ebf3;color:#586074}.app-card[data-step="1"] .actions{grid-template-columns:1fr}.app-card[data-step="1"] .primary{font-size:22px}
.toast-center{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;gap:10px}.toast-pill{background:#fff;padding:12px 28px;border-radius:999px;font-weight:800;box-shadow:0 15px 35px rgba(16,24,40,.16);border:1px solid #eceef5}
@media(max-width:640px){body{padding:12px}.app-card{border-radius:22px;min-height:680px}.hero{min-height:300px;padding:28px 16px 34px}.logo{width:96px;height:96px}h1{font-size:42px}.hero p{font-size:20px}.pane,.actions{padding:0 14px}.step{width:78px}.step span{width:48px;height:48px}.step:not(:last-child):after{top:22px;left:50px;width:56px}.row-line{grid-template-columns:18px max-content minmax(0,1fr);gap:10px}.row-line .step-icon{width:17px;height:17px;stroke-width:2.1}.row-line b,.label.with-icon{font-size:22px}.label.with-icon .ui-icon{width:17px;height:17px;flex-basis:17px}.warning .warn-icon{width:15px;height:15px;flex-basis:15px}.row-line a{min-width:0;padding:0 14px;font-size:18px}.btn{font-size:18px}}
