:root{--brand: #2441B7;--brand-2: #3B59D4;--brand-ink: #1B3596;--brand-soft: #E5EAFB;--bg: #F7F5F2;--surface: #FFFFFF;--text: #1E1B2E;--text-soft: #6B6880;--line: #E7E3EC;--danger: #E5484D;--radius: 20px;--radius-mid: 13px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(20, 20, 40, .04), 0 14px 34px -16px rgba(36, 41, 90, .2);--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background-color:var(--bg);background-image:radial-gradient(120% 55% at 50% 0%,var(--brand-soft) 0%,rgba(229,234,251,0) 58%),radial-gradient(rgba(36,65,183,.07) 1px,transparent 1px);background-size:100% 100%,22px 22px;-webkit-font-smoothing:antialiased;min-height:100vh}.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:10;background:#2441b71f}.progress>span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .45s var(--ease)}.wrap{max-width:560px;margin:0 auto;padding:30px 20px 72px}.hero{margin-bottom:28px}.brand-logo{width:min(100%,480px);height:auto;aspect-ratio:1400 / 340;display:block;margin:0 auto}.card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 20px 24px;box-shadow:var(--shadow);margin-top:6px}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--brand),var(--brand-2),transparent)}.q{border:0;padding:0;margin:0 0 24px;min-width:0;animation:rise .5s var(--ease) both}.q:last-of-type{margin-bottom:4px}.q-label{display:flex;align-items:baseline;gap:9px;width:100%;font-weight:650;font-size:1.03rem;margin-bottom:12px;color:var(--text);padding:0}.opt{color:var(--text-soft);font-weight:500;font-size:.84rem}.input{width:100%;padding:13px 15px;font-size:16px;font-family:inherit;color:var(--text);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}.input::placeholder{color:#b3b0bd}.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft),0 0 18px -6px var(--brand)}.input[aria-invalid=true]{border-color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-family:inherit;font-size:.94rem;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .18s var(--ease)}.chip:hover{border-color:#c2cbf0}.chip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.chip.is-on{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;font-weight:600;box-shadow:0 6px 14px -6px #2441b799}.other-wrap{margin-top:11px}.err{color:var(--danger);font-size:.82rem;margin:9px 0 0}.submit{width:100%;margin-top:26px;padding:16px;font-size:1.03rem;font-weight:700;font-family:inherit;color:#fff;border:0;border-radius:var(--radius-mid);background:linear-gradient(135deg,var(--brand),var(--brand-2));cursor:pointer;box-shadow:0 10px 24px -10px #2441b7b3;transition:transform .1s,opacity .2s}.submit:active{transform:translateY(1px)}.submit:disabled{opacity:.6;cursor:default}.foot{text-align:center;color:var(--text-soft);font-size:.8rem;margin-top:20px;line-height:1.55}.done{text-align:center;padding:48px 20px;animation:rise .5s var(--ease) both}.check-svg{width:76px;height:76px;margin-bottom:22px}.check-svg circle{stroke:var(--brand);stroke-width:3;fill:none;stroke-dasharray:151;stroke-dashoffset:151;animation:draw .6s var(--ease) forwards}.check-svg path{stroke:var(--brand);stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:draw .4s var(--ease) .45s forwards}.done h2{font-size:1.5rem;margin:0 0 10px;font-weight:800}.done p{color:var(--text-soft);margin:0}.preview-note{margin-top:18px;font-size:.78rem;color:var(--text-soft)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.check-svg circle,.check-svg path{stroke-dashoffset:0}.progress>span{transition:none}}
