:root{
  --et-ink:#2b188d;
  --et-ink-2:#3c2a91;
  --et-purple:#8067eb;
  --et-purple-2:#6a57dd;
  --et-blue:#5a76e8;
  --et-pink:#f366ae;
  --et-coral:#ff8066;
  --et-soft:#f5f2ff;
  --et-soft-2:#ece8ff;
  --et-line:#ddd7fb;
  --et-text:#40368d;
  --et-muted:#7169a6;
  --et-white:#fff;
  --et-shadow:0 20px 50px rgba(79,63,166,.10);
  --et-card-shadow:0 14px 32px rgba(82,64,173,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#f8f7ff;
  color:var(--et-text);
  font-family:"Nunito Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea{font:inherit}
a{color:inherit}
.et-page{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  background:
    radial-gradient(circle at 83% 15%, rgba(151,126,245,.10), transparent 24%),
    radial-gradient(circle at 8% 74%, rgba(128,103,235,.08), transparent 20%),
    linear-gradient(180deg,#fff 0%,#fff 61%,#faf8ff 100%);
}
.et-page::before{
  content:"";
  position:absolute;
  left:-12%;
  right:-12%;
  top:17%;
  height:520px;
  background:
    radial-gradient(75% 60% at 70% 20%, rgba(222,213,255,.58), transparent 64%),
    radial-gradient(60% 65% at 92% 54%, rgba(237,232,255,.70), transparent 63%),
    radial-gradient(45% 54% at 10% 85%, rgba(239,236,255,.72), transparent 67%);
  pointer-events:none;
  z-index:0;
}
.et-wave-bottom{
  position:absolute;
  pointer-events:none;
  left:-7%;right:-7%;bottom:78px;height:330px;
  opacity:.78;
  background:
    radial-gradient(50% 70% at 17% 60%, rgba(230,225,255,.72), transparent 69%),
    radial-gradient(54% 76% at 62% 75%, rgba(238,233,255,.82), transparent 67%),
    radial-gradient(36% 58% at 94% 50%, rgba(225,218,255,.62), transparent 70%);
  z-index:0;
}
.et-container{position:relative;z-index:2;width:min(1180px,calc(100% - 64px));margin:0 auto}
.et-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0 22px}
.et-logo{display:block;width:250px;max-width:48vw;height:auto}
.et-login-btn,.et-user-pill{
  display:inline-flex;align-items:center;gap:10px;border:0;border-radius:13px;
  padding:12px 20px;color:#fff;font-weight:800;cursor:pointer;text-decoration:none;
  background:linear-gradient(135deg,#936cf1 0%,#7b55db 100%);
  box-shadow:0 10px 24px rgba(108,75,217,.22);
  transition:transform .18s ease,box-shadow .18s ease;
}
.et-login-btn:hover,.et-user-pill:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(108,75,217,.28)}
.et-login-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.et-hero{position:relative;min-height:760px;padding-top:25px}
.et-hero-copy{width:58%;max-width:660px;position:relative;z-index:3}
.et-title{
  margin:0;color:var(--et-ink);font-size:clamp(42px,5vw,66px);line-height:1.02;
  letter-spacing:-2.8px;font-weight:900;max-width:760px;
}
.et-lead{margin:18px 0 0;max-width:610px;color:#4a4396;font-size:20px;line-height:1.55;font-weight:500}
.et-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;max-width:650px}
.et-feature-card{
  min-height:112px;padding:15px 16px;border:1px solid rgba(127,105,226,.12);border-radius:15px;
  background:rgba(255,255,255,.86);box-shadow:var(--et-card-shadow);backdrop-filter:blur(8px);
}
.et-feature-head{display:flex;align-items:center;gap:10px;color:#30208f;font-size:13px;font-weight:900}
.et-feature-icon{width:30px;height:30px;object-fit:contain}
.et-feature-card p{margin:8px 0 0 40px;color:#716aa5;font-size:11px;line-height:1.45;font-weight:600}
.et-hero-cloud{
  position:absolute;right:-28px;top:-10px;width:54%;max-width:620px;z-index:1;pointer-events:none;
  filter:saturate(.98);mix-blend-mode:multiply;
}
.et-middle-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start;margin-top:-120px;position:relative;z-index:3}
.et-upload-card,.et-config-card{
  background:rgba(255,255,255,.95);border:1px solid rgba(125,104,224,.13);border-radius:18px;
  box-shadow:var(--et-shadow);backdrop-filter:blur(12px);
}
.et-upload-card{padding:22px 24px 20px;min-height:535px}
.et-upload-card h2{margin:0;color:#2b188d;font-size:28px;line-height:1.1;font-weight:900;letter-spacing:-.6px}
.et-upload-sub{margin:4px 0 15px;color:#6b65a0;font-size:14px;font-weight:700}
.et-field{margin-top:13px}
.et-label{display:block;margin-bottom:7px;color:#3d318f;font-size:13px;font-weight:800}
.et-control{
  width:100%;min-height:43px;border:1px solid #d7d1f5;border-radius:7px;background:#fff;color:#443e82;
  padding:10px 13px;outline:none;transition:border-color .18s,box-shadow .18s;
}
.et-control:focus{border-color:#8d73ec;box-shadow:0 0 0 3px rgba(141,115,236,.11)}
textarea.et-control{resize:vertical;min-height:70px}
.et-file-box{
  display:flex;align-items:center;gap:10px;position:relative;min-height:43px;border:1px solid #d7d1f5;border-radius:7px;
  background:linear-gradient(180deg,#fff,#fbfaff);padding:9px 13px;color:#7d75ae;font-size:13px;font-weight:700;cursor:pointer;
}
.et-file-box svg{width:22px;height:22px;stroke:#7d63e5;fill:none;stroke-width:1.8;flex:none}
.et-file-box .et-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.et-file-box .et-chevron{width:16px;height:16px;margin-left:auto}
#fileInput{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.et-file-meta{margin-top:7px;font-size:12px;color:#7169a6}
.et-file-alert{margin-top:8px;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:800}
.et-file-alert.ok{background:#eefaf4;color:#2e8b62;border:1px solid #cbeedc}
.et-file-alert.bad{background:#fff1f4;color:#c84962;border:1px solid #ffd0da}
.et-check{display:flex;align-items:flex-start;gap:9px;margin-top:15px;color:#6e66a5;font-size:12px;font-weight:700}
.et-check input{margin-top:2px;accent-color:#7b61e7}
.et-check a{color:#596be7;text-decoration:none}
.et-generate{
  margin-top:15px;width:100%;border:0;border-radius:8px;padding:13px 16px;color:#fff;font-size:16px;font-weight:900;cursor:pointer;
  background:linear-gradient(90deg,#7c65f0 0%,#bb66e7 35%,#f06da7 66%,#ff8c68 100%);
  box-shadow:0 12px 26px rgba(169,93,209,.18);transition:transform .18s,opacity .18s;
}
.et-generate:hover{transform:translateY(-1px)}
.et-generate:disabled{opacity:.5;cursor:not-allowed;transform:none}
.et-security-note{display:flex;gap:9px;align-items:flex-start;justify-content:center;margin-top:13px;color:#776fa9;font-size:11px;font-weight:700;text-align:center}
.et-security-note svg{width:18px;height:18px;stroke:#7a69d7;fill:none;stroke-width:1.8;flex:none}
.et-visual-column{position:relative;padding-top:0}
.et-hero-people{width:100%;display:block;margin-top:15px;mix-blend-mode:multiply;filter:saturate(.98);pointer-events:none}
.et-config-card{margin:8px 5px 0;padding:16px 20px 18px}
.et-config-title{display:flex;align-items:center;gap:10px;color:#2b188d;font-size:17px;font-weight:900}
.et-config-title svg{width:25px;height:25px;stroke:#856bec;fill:none;stroke-width:1.8}
.et-config-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border:1px solid #ddd7f8;border-radius:9px;overflow:hidden;background:#fff}
.et-config-item{padding:14px 12px;text-align:center;position:relative}
.et-config-item + .et-config-item{border-left:1px solid #e7e2fb}
.et-config-item svg{width:28px;height:28px;margin:0 auto 6px;stroke:#8067eb;fill:none;stroke-width:1.8}
.et-config-label{color:#7770a7;font-size:11px;font-weight:700}
.et-config-value{margin-top:3px;color:#2b188d;font-size:24px;font-weight:900;line-height:1}
.et-config-foot{display:flex;align-items:center;gap:7px;margin-top:11px;color:#8179ac;font-size:10px;font-weight:700}
.et-config-foot span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#8770ea;color:#fff;font-size:11px;font-weight:900}
.et-result{margin-top:15px;border-radius:12px;border:1px solid #d8d0fb;background:#f7f5ff;padding:13px}
.et-result.hidden,.hidden{display:none!important}
.et-result-title{color:#30208f;font-size:13px;font-weight:900}
.et-result-row{display:flex;gap:8px;margin-top:8px}
.et-result-row input{flex:1;min-width:0;border:1px solid #d9d2f7;border-radius:8px;padding:10px;color:#4c438d;background:#fff}
.et-copy{border:0;border-radius:8px;padding:0 14px;background:#7e65e9;color:#fff;font-weight:900;cursor:pointer}
.et-result-meta{margin-top:7px;color:#7971a9;font-size:11px}
.et-error{margin-top:13px;border-radius:9px;padding:10px 12px;background:#fff1f4;border:1px solid #ffd0da;color:#c84962;font-size:12px;font-weight:800}
.et-how{position:relative;z-index:2;margin-top:48px;padding:36px 0 66px;text-align:center}
.et-how h2{margin:0;color:#2b188d;font-size:36px;line-height:1;font-weight:900;letter-spacing:-1px}
.et-how-sub{margin:12px 0 26px;color:#655d9f;font-size:16px}
.et-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.et-step-card{position:relative;min-height:235px;border:1px solid rgba(125,104,224,.11);border-radius:17px;background:rgba(255,255,255,.88);padding:22px 22px 18px;box-shadow:var(--et-card-shadow)}
.et-step-num{position:absolute;left:20px;top:18px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#956df0,#6853d8);color:#fff;font-size:21px;font-weight:900;box-shadow:0 7px 15px rgba(103,80,217,.22)}
.et-step-art{width:120px;height:96px;object-fit:contain;margin:8px auto 8px;display:block}
.et-step-card h3{margin:5px 0 8px;color:#2b188d;font-size:20px;font-weight:900}
.et-step-card p{margin:0;color:#665ea0;font-size:14px;line-height:1.5;font-weight:600}
.et-footer{position:relative;z-index:2;border-top:1px solid #eeeafd;background:rgba(255,255,255,.86)}
.et-footer-inner{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.et-footer-logo{width:185px;height:auto}
.et-footer-copy{color:#716aa4;font-size:11px;text-align:right;font-weight:700}
/* Modal */
.et-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.et-modal.hidden{display:none}
.et-modal-backdrop{position:absolute;inset:0;background:rgba(70,57,126,.24);backdrop-filter:blur(10px)}
.et-modal-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(137,115,229,.22);box-shadow:0 30px 90px rgba(69,50,143,.25),0 0 0 10px rgba(255,255,255,.28);padding:25px}
.et-modal-card::before{content:"";position:absolute;inset:-30px;border-radius:40px;background:radial-gradient(circle at 25% 20%,rgba(143,112,239,.20),transparent 44%),radial-gradient(circle at 80% 70%,rgba(245,118,179,.14),transparent 42%);filter:blur(22px);z-index:-1;pointer-events:none}
.et-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.et-modal-title{color:#2b188d;font-size:23px;font-weight:900}
.et-modal-close{border:0;border-radius:9px;background:#f0edff;color:#5c4fb1;padding:8px 11px;font-weight:900;cursor:pointer}
.et-tabs{display:flex;gap:8px;margin-top:16px;padding:4px;background:#f5f2ff;border-radius:11px}
.et-tab{flex:1;border:0;border-radius:8px;padding:9px;background:transparent;color:#6a62a0;font-weight:900;cursor:pointer}
.et-tab.active{background:#fff;color:#2b188d;box-shadow:0 5px 13px rgba(96,76,178,.08)}
.et-auth-msg{margin-top:12px;border-radius:9px;padding:10px 12px;font-size:12px;font-weight:800}
.et-auth-msg.ok{background:#eefaf4;color:#2e8b62;border:1px solid #cbeedc}
.et-auth-msg.bad{background:#fff1f4;color:#c84962;border:1px solid #ffd0da}
.et-modal-form{margin-top:16px}
.et-modal-actions{display:grid;gap:9px;margin-top:14px}
.et-modal-primary{border:0;border-radius:9px;padding:12px 14px;color:#fff;background:linear-gradient(90deg,#8067ea,#b76ae2,#f273a5,#ff8a68);font-weight:900;cursor:pointer}
.et-modal-secondary{border:0;border-radius:9px;padding:11px 14px;color:#5c53a0;background:#f2efff;font-weight:900;cursor:pointer}
.et-code-input{text-align:center;letter-spacing:.42em;font-size:21px;font-weight:900}
.et-modal-note{border-radius:10px;background:#f7f5ff;color:#675fa0;padding:11px 12px;font-size:12px;line-height:1.45;font-weight:700}
@media (max-width:900px){
  .et-container{width:min(100% - 36px,760px)}
  .et-header{padding-top:22px}
  .et-logo{width:220px}
  .et-hero{min-height:auto;padding-top:15px}
  .et-hero-copy{width:100%;max-width:none}
  .et-title{font-size:clamp(38px,8vw,56px)}
  .et-lead{font-size:17px;max-width:100%}
  .et-feature-grid{max-width:none}
  .et-hero-cloud{position:relative;right:auto;top:auto;width:100%;max-width:650px;margin:14px auto -50px;display:block}
  .et-middle-grid{grid-template-columns:1fr;margin-top:0;gap:20px}
  .et-upload-card{min-height:0}
  .et-hero-people{max-width:680px;margin:0 auto}
  .et-config-card{max-width:680px;margin:0 auto}
  .et-how{margin-top:30px}
}
@media (max-width:650px){
  .et-container{width:calc(100% - 28px)}
  .et-logo{width:185px}
  .et-login-btn,.et-user-pill{padding:10px 13px;font-size:13px}
  .et-title{font-size:38px;letter-spacing:-1.5px}
  .et-lead{font-size:15px}
  .et-feature-grid{grid-template-columns:1fr}
  .et-feature-card{min-height:auto}
  .et-feature-card p{margin-left:40px}
  .et-middle-grid{margin-top:8px}
  .et-upload-card{padding:19px 16px}
  .et-config-grid{grid-template-columns:1fr}
  .et-config-item + .et-config-item{border-left:0;border-top:1px solid #e7e2fb}
  .et-step-grid{grid-template-columns:1fr}
  .et-step-card{min-height:210px}
  .et-how h2{font-size:32px}
  .et-footer-inner{width:calc(100% - 28px);flex-direction:column;text-align:center}
  .et-footer-copy{text-align:center}
  .et-result-row{flex-direction:column}
  .et-copy{padding:10px}
}
