:root{--ink:#10243d;--muted:#6e7f93;--line:#dce7f1;--paper:#fff;--cloud:#f2f8fc;--blue:#166ff5;--cyan:#32d7e6;--deep-blue:#0756c8;--danger:#cf3d57;--shadow:0 26px 80px #26537b24}*{box-sizing:border-box}html{background:#eef7fb;min-width:320px}body{color:var(--ink);background:linear-gradient(#ffffffeb 0%,#eff8fcf5 58%,#e9f4f9 100%);margin:0;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}button,input{font:inherit}a{color:inherit}.page-shell{min-height:100vh;padding:0 32px;position:relative;overflow:hidden}.page-shell:before{content:"";pointer-events:none;opacity:.48;background-image:linear-gradient(#3f7b9f0b 1px,#0000 1px),linear-gradient(90deg,#3f7b9f0b 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.ambient{filter:blur(2px);pointer-events:none;border-radius:999px;position:absolute}.ambient-one{background:radial-gradient(circle,#26d6e229,#0000 69%);width:470px;height:470px;top:140px;right:-150px}.ambient-two{background:radial-gradient(circle,#186ff517,#0000 70%);width:500px;height:500px;top:440px;left:-240px}.topbar{z-index:2;border-bottom:1px solid #adc3d38c;justify-content:space-between;align-items:center;max-width:1120px;height:82px;margin:auto;display:flex;position:relative}.brand{letter-spacing:-.03em;align-items:center;gap:11px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:linear-gradient(140deg, var(--blue), var(--cyan));border-radius:9px 13px;place-items:center;width:29px;height:29px;display:grid;transform:rotate(-9deg);box-shadow:0 7px 18px #166ff542}.brand-mark span{border:3px solid #fff;border-right-color:#0000;border-radius:50%;width:11px;height:11px}.service-pill{color:#587081;background:#ffffffb8;border:1px solid #d7e7ec;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.service-pill i{background:#22c77a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c77a1c}.hero{z-index:1;text-align:center;max-width:850px;margin:74px auto 34px;position:relative}.eyebrow{color:#267f9b;letter-spacing:.2em;background:#ffffffa8;border:1px solid #cce3ea;border-radius:999px;padding:7px 10px;font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex}.hero h1{letter-spacing:-.07em;margin:20px 0 18px;font-size:clamp(42px,7vw,72px);font-weight:900;line-height:1.05}.hero h1 em{color:#0000;background:linear-gradient(105deg, var(--blue) 15%, #1a96df 52%, #18bcc8 90%);-webkit-background-clip:text;background-clip:text;font-style:normal}.hero p{max-width:620px;color:var(--muted);margin:0 auto;font-size:16px;line-height:1.8}.workspace-card{z-index:2;width:min(100%,760px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #bfd3e1e6;border-radius:26px;margin:45px auto 0;position:relative;overflow:hidden}.steps{border-bottom:1px solid var(--line);background:linear-gradient(#fbfdff,#f7fbfd);align-items:center;height:86px;padding:0 56px;display:flex}.step{color:#a4b1bf;white-space:nowrap;flex:none;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.step-number{background:#fff;border:1px solid #cbd8e3;border-radius:50%;place-items:center;width:28px;height:28px;font:700 10px ui-monospace,monospace;display:grid}.step.active{color:var(--blue)}.step.active .step-number{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 5px #166ff517}.step.done{color:#31889f}.step.done .step-number{color:#fff;background:#27bdc8;border-color:#27bdc8}.step-line{background:#d9e4ed;flex:1;height:1px;margin:0 14px}.step-line.lit{background:linear-gradient(90deg,#27bdc8,#74bfd3)}.panel{min-height:420px}.stage-content{padding:42px 58px 38px;animation:.36s both stage-in}.stage-heading{align-items:center;gap:15px;margin-bottom:28px;display:flex}.stage-icon{width:46px;height:46px;color:var(--blue);background:#eaf3ff;border-radius:15px;flex:none;place-items:center;font-size:28px;font-weight:700;display:grid}.upload-icon{font-size:23px}.stage-heading h2,.status-stage h2{letter-spacing:-.035em;margin:0 0 5px;font-size:22px}.stage-heading p,.status-stage p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.field-label{color:#435c73;margin:0 0 9px;font-size:12px;font-weight:800;display:block}.code-field{position:relative}.code-field input{width:100%;height:56px;color:var(--ink);letter-spacing:.1em;background:#fbfdff;border:1px solid #cad9e5;border-radius:12px;outline:none;padding:0 125px 0 18px;transition:all .2s}.code-field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #166ff517}.code-field input::placeholder{color:#a9b6c3;letter-spacing:.04em}.code-field span{color:#9bacba;letter-spacing:.14em;font:700 9px ui-monospace,monospace;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.primary-button{color:#fff;background:linear-gradient(105deg, var(--blue), #167fef 66%, #169ddc);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:14px;width:100%;height:54px;margin-top:18px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 12px 24px #166ff533}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #166ff547}.primary-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.primary-button span{font-size:19px;font-weight:400}.privacy-note{text-align:center;color:#9aaaba;margin:13px 0 0;font-size:11px}.error-message{color:var(--danger);background:#fff1f4;border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:12px;line-height:1.45}.existing-site{color:#668092;background:#f1f8fb;border-radius:10px;justify-content:space-between;gap:16px;margin:-10px 0 18px;padding:12px 14px;font-size:11px;display:flex}.existing-site a{color:var(--blue);text-overflow:ellipsis;font-weight:700;text-decoration:none;overflow:hidden}.dropzone{text-align:center;cursor:pointer;background:#f9fcfe;border:1.5px dashed #b9cbd9;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:165px;padding:28px;transition:all .2s;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#f3f8ff;transform:translateY(-1px)}.dropzone.has-file{background:#f4fdfd;border-style:solid;border-color:#86d0d6}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.file-glyph{width:42px;height:42px;color:var(--blue);background:#e8f2ff;border-radius:13px;place-items:center;margin-bottom:12px;font-size:22px;font-weight:800;display:grid}.has-file .file-glyph{color:#fff;background:#24b9bd}.dropzone strong{overflow-wrap:anywhere;max-width:100%;font-size:14px}.dropzone small{color:#8798a8;margin-top:7px;font-size:11px}.guardrails{color:#8093a3;justify-content:center;gap:18px;margin-top:17px;font-size:10px;display:flex}.guardrails span:before{content:"✓";color:#24b9bd;margin-right:5px;font-weight:900}.status-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:420px;display:flex}.orbit-loader{border:2px solid #deebf5;border-radius:50%;width:72px;height:72px;margin-bottom:25px;position:relative}.orbit-loader:before{content:"";background:linear-gradient(145deg, var(--blue), var(--cyan));border-radius:15px 21px;animation:1.5s ease-in-out infinite breathe;position:absolute;inset:15px}.orbit-loader span{border-radius:inherit;border-top:2px solid var(--blue);animation:1.1s linear infinite spin;position:absolute;inset:-2px}.loading-track{background:#e6eef5;border-radius:10px;width:72%;height:5px;margin:28px 0 10px;overflow:hidden}.loading-track span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--cyan));width:40%;height:100%;animation:1.4s ease-in-out infinite loading;display:block}.status-stage>small{color:#99a8b6;font-size:10px}.success-mark{color:#fff;background:linear-gradient(140deg,#19b997,#27c5d1);border-radius:50%;place-items:center;width:66px;height:66px;margin-bottom:20px;font-size:30px;font-weight:800;display:grid;box-shadow:0 12px 28px #23beb23d}.result-link{background:#f8fbfd;border:1px solid #cbdce8;border-radius:12px;align-items:center;gap:10px;width:100%;margin-top:26px;padding:7px 7px 7px 17px;display:flex}.result-link a{min-width:0;color:var(--blue);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font:700 13px ui-monospace,Consolas,monospace;overflow:hidden}.result-link button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:8px;padding:10px 15px;font-size:11px}.result-meta{gap:10px;width:100%;margin-top:13px;display:flex}.result-meta span{color:#7d8d9c;background:#f1f7fa;border-radius:9px;flex:1;padding:10px;font-size:10px}.result-meta b{color:#36566d}.result-actions{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.secondary-button{color:#486277;cursor:pointer;background:#fff;border:1px solid #c8d8e3;border-radius:12px;height:54px;margin-top:18px;font-weight:800}.feature-strip{z-index:1;border-top:1px solid #cddde6;border-bottom:1px solid #cddde6;grid-template-columns:repeat(3,1fr);width:min(100%,1000px);margin:70px auto 52px;padding:28px 0;display:grid;position:relative}.feature-strip article{align-items:flex-start;gap:15px;padding:4px 28px;display:flex}.feature-strip article+article{border-left:1px solid #d7e4ec}.feature-strip article>span{color:#32a3bd;font:800 10px ui-monospace,monospace}.feature-strip h3{margin:0 0 7px;font-size:13px}.feature-strip p{color:#8294a3;margin:0;font-size:11px;line-height:1.65}footer{z-index:1;color:#8fa0ae;justify-content:space-between;max-width:1000px;margin:0 auto;padding:0 0 32px;font-size:10px;display:flex;position:relative}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(.88)rotate(8deg)}}@keyframes loading{0%{transform:translate(-110%)}to{transform:translate(290%)}}:focus-visible{outline-offset:3px;outline:3px solid #166ff552}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:700px){.page-shell{padding:0 16px}.topbar{height:68px}.hero{margin-top:48px}.hero h1{font-size:clamp(38px,13vw,56px)}.hero p{font-size:14px}.workspace-card{border-radius:20px;margin-top:34px}.steps{height:75px;padding:0 18px}.step{gap:5px;font-size:10px}.step-number{width:24px;height:24px}.step-line{margin:0 7px}.stage-content{padding:32px 23px 29px}.stage-heading{align-items:flex-start}.stage-icon{width:42px;height:42px}.code-field input{padding-right:16px}.code-field span{display:none}.guardrails{flex-wrap:wrap;gap:6px 14px}.result-meta{flex-direction:column}.result-actions{grid-template-columns:1fr;gap:0}.feature-strip{grid-template-columns:1fr;margin-top:50px}.feature-strip article{padding:20px 12px}.feature-strip article+article{border-top:1px solid #d7e4ec;border-left:0}footer{text-align:center;flex-direction:column;align-items:center;gap:8px}}@media (max-width:430px){.step>span:last-child{display:none}.steps{justify-content:center}.step-line{max-width:45px}.service-pill{padding:7px 9px;font-size:10px}}.admin-shell{color:#142839;background:radial-gradient(circle at 8% 8%,#23beb221,#0000 25%),radial-gradient(circle at 92% 2%,#166ff51f,#0000 28%),#f4f8fb;min-height:100vh;padding:0 34px 70px}.admin-header{border-bottom:1px solid #d9e5ec;justify-content:space-between;align-items:center;max-width:1180px;height:78px;margin:0 auto;display:flex}.admin-header>div{align-items:center;gap:14px;display:flex}.admin-header small{color:#7f93a3;border-left:1px solid #cfdae2;padding-left:14px}.admin-brand{color:#142839;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.admin-brand span{color:#fff;background:linear-gradient(140deg,#166ff5,#27c5d1);border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid;box-shadow:0 7px 18px #166ff538}.admin-brand b{letter-spacing:-.5px;font-size:18px}.admin-header-actions{gap:9px!important}.admin-header-actions a,.admin-header-actions button{color:#536d80;cursor:pointer;background:#ffffffa6;border:1px solid #cad9e2;border-radius:9px;padding:9px 13px;text-decoration:none}.admin-hero{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1180px;margin:52px auto 28px;display:flex}.admin-kicker,.admin-section-tag{color:#168ea9;letter-spacing:1.8px;margin:0 0 8px;font:800 10px ui-monospace,Consolas,monospace}.admin-hero h1{letter-spacing:-3px;margin:0;font-size:clamp(36px,6vw,62px)}.admin-hero p:last-child{color:#718797;margin:12px 0 0;font-size:14px}.admin-db-pill{color:#21745e;background:#eaf9f4;border:1px solid #bee5d9;border-radius:999px;flex:none;padding:11px 15px;font-size:12px;font-weight:800}.admin-db-pill i{background:#20b78e;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #20b78e1f}.admin-system-status{flex-direction:column;flex:none;align-items:flex-end;gap:7px;display:flex}.admin-system-status small{color:#7a8f9d;font-size:11px;font-weight:700}.admin-stats{grid-template-columns:repeat(5,1fr);gap:12px;max-width:1180px;margin:0 auto 22px;display:grid}.admin-stats button{color:#6f8392;cursor:pointer;background:#ffffffc2;border:1px solid #d8e4eb;border-radius:15px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:92px;padding:16px 18px;display:flex;box-shadow:0 8px 28px #3250640a}.admin-stats button.selected{color:#166ff5;border-color:#9fc1f5;box-shadow:inset 0 0 0 1px #166ff51f,0 10px 30px #166ff517}.admin-stats span{font-size:12px;font-weight:700}.admin-stats b{color:#183245;font-size:28px}.admin-panel{background:#ffffffe0;border:1px solid #d9e4eb;border-radius:18px;max-width:1180px;margin:0 auto 20px;padding:25px;box-shadow:0 16px 50px #2e4b6012}.admin-panel h2{margin:0;font-size:20px}.admin-panel p:not(.admin-section-tag){color:#8193a1;margin:7px 0 0;font-size:12px}.generate-panel{justify-content:space-between;align-items:center;gap:22px;display:flex}.generate-controls{gap:10px;display:flex}.generate-controls input{background:#f8fbfd;border:1px solid #cbdbe4;border-radius:10px;height:46px;padding:0 14px}.buyer-id-input{width:230px;font-size:14px;font-weight:700}.card-count-input{width:94px;font-size:16px;font-weight:800}.admin-primary{color:#fff;cursor:pointer;background:linear-gradient(120deg,#166ff5,#1a9ddd);border:0;border-radius:10px;min-height:46px;padding:0 22px;font-weight:800;box-shadow:0 10px 23px #166ff538}.admin-primary:disabled{opacity:.55;cursor:wait}.panel-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px;display:flex}.panel-title>span{color:#8294a2;font-size:12px}.panel-title>button,.dismiss-generated{color:#166ff5;cursor:pointer;background:#f1f6fe;border:1px solid #b8d0f4;border-radius:9px;padding:9px 13px;font-weight:800}.generated-panel{background:linear-gradient(140deg,#f5fafff5,#eefbf9f5);border-color:#b6d4f5}.generated-warning{color:#895f16;background:#fff8e6;border:1px solid #f0d28e;border-radius:9px;margin-bottom:15px;padding:11px 14px;font-size:12px}.generated-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.generated-card-item{text-align:center;background:#fff;border:1px solid #d2e2eb;border-radius:9px;min-width:0;padding:13px 14px}.generated-card-item code{color:#153852;overflow-wrap:anywhere;font-weight:800;display:block}.generated-card-item small{color:#7d909e;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;display:block;overflow:hidden}.dismiss-generated{color:#60798b;background:#fff;border-color:#d0dee6;margin-top:15px}.card-table-wrap{overflow-x:auto}.card-table{border-collapse:collapse;width:100%;min-width:980px}.card-table th{color:#8798a5;text-align:left;letter-spacing:.5px;border-bottom:1px solid #dfe8ed;padding:10px 12px;font-size:10px}.card-table td{color:#344f61;vertical-align:middle;border-bottom:1px solid #e7eef2;padding:17px 12px;font-size:12px}.card-table tr:last-child td{border-bottom:0}.card-table td>strong{color:#18364b;font:800 13px ui-monospace,Consolas,monospace}.card-table td small{color:#93a2ad;margin-top:5px;font-size:10px;display:block}.card-table td a{color:#166ff5;font-weight:800;text-decoration:none}.status-badge{border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;display:inline-flex}.status-unused{color:#5c7180;background:#edf2f5}.status-active{color:#15795f;background:#e1f8ef}.status-expired{color:#a36a12;background:#fff2d7}.status-disabled{color:#a84b54;background:#fde7e9}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions button{color:#62798a;cursor:pointer;background:#fff;border:1px solid #d2dee5;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800}.row-actions button:disabled{opacity:.5}.row-actions .action-extend{color:#166ff5;background:#f3f7fe;border-color:#b8d0f4}.buyer-id-value{text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:inline-block;overflow:hidden}.muted{color:#98a7b2;font-size:11px}.empty-cards{color:#8a9ba7;text-align:center;padding:35px}.admin-message{max-width:1180px;margin:0 auto 18px}.admin-error,.admin-notice{border-radius:10px;padding:12px 14px;font-size:12px}.admin-error{color:#9f3f4b;background:#fff0f2;border:1px solid #efbdc3}.admin-notice{color:#24745f;background:#eaf9f4;border:1px solid #bde2d7}.admin-login-shell{place-items:center;padding:30px;display:grid}.admin-login-card{background:#ffffffeb;border:1px solid #d5e2ea;border-radius:22px;width:min(100%,430px);padding:38px;box-shadow:0 25px 70px #2a495f21}.admin-login-card .admin-kicker{margin-top:35px}.admin-login-card h1{letter-spacing:-1.7px;margin:0;font-size:34px}.admin-login-note{color:#758a99;margin:12px 0 26px;font-size:13px;line-height:1.7}.admin-login-card form{gap:10px;display:grid}.admin-login-card label{color:#536b7c;font-size:11px;font-weight:800}.admin-login-card input{background:#f7fafc;border:1px solid #cad9e2;border-radius:10px;height:49px;padding:0 15px;font-size:14px}.admin-login-card .admin-error{margin:5px 0}.admin-back{color:#718797;margin-top:23px;font-size:11px;text-decoration:none;display:inline-block}.admin-loading{color:#78909f;font-size:13px}@media (max-width:850px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-stats button:first-child{grid-column:span 2}.generated-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.admin-shell{padding:0 15px 45px}.admin-header{height:68px}.admin-header small,.admin-header-actions a{display:none}.admin-hero{flex-direction:column;align-items:flex-start;margin-top:35px}.admin-system-status{align-items:flex-start}.admin-hero h1{letter-spacing:-2px}.admin-stats{gap:8px}.generate-panel{flex-direction:column;align-items:flex-start}.generate-controls{flex-wrap:wrap;width:100%}.buyer-id-input{flex-basis:100%;width:100%}.card-count-input{flex:1}.generated-grid{grid-template-columns:1fr}.admin-panel{padding:19px}.admin-login-card{padding:29px 24px}}
