:root{--primary:#f97316;--primary-light:#fff7ed;--primary-hover:#ea580c;--bg:#f1f5f9;--surface:#ffffff;--border:#d1d5db;--text:#111827;--text-secondary:#6b7280;--error:#dc2626;--success:#16a34a;--radius:6px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px rgba(0,0,0,0.06)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{min-height:100vh;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;display:flex;align-items:center;justify-content:center;padding:1rem}.container{width:100%;max-width:420px;margin:0 auto}.inner{padding:1.5rem 0}.header{display:flex;align-items:center;gap:12px;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.logo-img{width:32px;height:32px;border-radius:6px;flex-shrink:0;box-shadow:var(--shadow-sm)}h1{font-size:1.3rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-0.3px}.form-group{margin-bottom:1.25rem;position:relative}label{display:block;font-size:.78rem;font-weight:600;color:var(--text);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}label::after{content:'*';color:var(--primary);margin-left:3px;font-size:.7rem;position:relative;top:-2px}input{width:100%;padding:.8rem .9rem;font-size:.95rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:all .2s;outline:none;color:var(--text)}input:hover{border-color:#9ca3af}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(249,115,22,0.12)}input::placeholder{color:#9ca3af;font-size:.88rem}input.error{border-color:var(--error);background:#fef2f2}.btn{width:100%;background:var(--text);border:none;padding:.85rem;border-radius:var(--radius);font-weight:600;font-size:.95rem;color:#fff;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);letter-spacing:.2px}.btn:hover{background:#1f2937;box-shadow:var(--shadow)}.btn:active{transform:scale(.98);background:#000}.btn:disabled{opacity:.45;transform:none;cursor:not-allowed;background:#9ca3af;box-shadow:none}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:#c2410c}.btn-outline{background:var(--surface);color:var(--text);border:1.5px solid var(--border);box-shadow:none}.btn-outline:hover{background:var(--bg);border-color:#9ca3af;box-shadow:var(--shadow-sm)}.btn-outline:active{background:#e2e8f0;transform:scale(.98)}.btn-outline:disabled{background:var(--surface);opacity:.4}.flex{display:flex;gap:.75rem;align-items:center}.flex .btn{flex:1;margin-top:0}.back-link{text-align:center;margin-top:1.25rem}.back-link a{color:var(--text-secondary);text-decoration:none;font-size:.83rem;font-weight:500;transition:color .15s}.back-link a:hover{color:var(--primary)}.back-link i{margin-right:5px;font-size:.7rem}.wechat-box{background:var(--surface);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.25rem;color:var(--text);font-size:.85rem;border:1.5px solid var(--border);box-shadow:var(--shadow-sm)}.wechat-box div{margin:.5rem 0;line-height:1.4;display:flex;align-items:center;gap:8px;font-size:.83rem}.wechat-box i{color:var(--primary);width:20px;text-align:center;font-size:.9rem}.timer{text-align:center;font-size:.78rem;color:var(--text-secondary);margin-top:.75rem;font-weight:500;font-variant-numeric:tabular-nums}.agree-box{margin-top:1rem;margin-bottom:.5rem}.agree-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.agree-label input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--primary);cursor:pointer}.agree-text a{color:var(--primary);text-decoration:underline;font-weight:500}.agree-text a:hover{color:var(--primary-hover)}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#1f2937;color:#f9fafb;padding:.7rem 1.5rem;border-radius:2rem;font-size:.85rem;z-index:1000;opacity:0;transition:opacity .25s;pointer-events:none;box-shadow:0 12px 28px rgba(0,0,0,0.15);white-space:nowrap;font-weight:500;letter-spacing:.2px}.toast.show{opacity:1}.toast.error-toast{background:var(--error)}.step-transition{animation:fadeSlide .2s ease}@keyframes fadeSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:400px){.container{padding:0 .5rem}h1{font-size:1.2rem}input{padding:.7rem .8rem}}