.ctf-root{--ctf-ink:#1a1a2e;--ctf-muted:#5a5a70;--ctf-faint:#8b8ba3;--ctf-line:#e2e2ec;--ctf-field-bg:#fafafa;--ctf-danger:#c4123a;width:100%;max-width:760px;margin:0 auto}.ctf-card{position:relative;padding:36px 36px 30px;border-radius:22px;background:#fff;color:var(--ctf-ink);box-shadow:0 24px 80px rgba(0,0,0,.45),0 0 0 1px hsla(0,0%,100%,.06);animation:ctfIn .32s cubic-bezier(.2,.8,.2,1)}@keyframes ctfIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ctf-alert{align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:rgba(255,77,106,.08);border:1px solid rgba(255,77,106,.28);color:var(--ctf-danger)}.ctf-alert,.ctf-alert__list{display:flex;font-size:var(--text-sm);line-height:1.5}.ctf-alert__list{margin:8px 0 0;padding-left:18px;flex-direction:column;gap:4px}.ctf-alert__action{flex:0 0 auto;padding:7px 14px;border:1px solid rgba(196,18,58,.35);border-radius:999px;background:#fff;color:var(--ctf-danger);font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.ctf-alert__action:hover{background:rgba(255,77,106,.08)}.ctf-form{display:block}.ctf-req-note{margin:0 0 14px;font-size:var(--text-xs);color:var(--ctf-faint)}.ctf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.ctf-field{grid-column:span 2;min-width:0}.ctf-field--half{grid-column:span 1}.ctf-heading{margin:10px 0 0;padding-top:14px;border-top:1px solid var(--ctf-line);font-size:var(--text-lg);font-weight:700;color:var(--ctf-ink)}.ctf-field:first-child .ctf-heading{margin-top:0;padding-top:0;border-top:none}.ctf-label{display:block;margin-bottom:6px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666}.ctf-req{color:var(--ctf-danger);margin-left:3px;font-weight:700}.ctf-optional{margin-left:6px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ctf-faint)}.ctf-input,.ctf-select,.ctf-textarea{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;background:var(--ctf-field-bg);color:var(--ctf-ink);font-family:inherit;font-size:var(--text-base);outline:none;transition:border-color .18s,background .18s}.ctf-input::placeholder,.ctf-textarea::placeholder{color:#9a9aae}.ctf-input:hover,.ctf-select:hover,.ctf-textarea:hover{border-color:#c9c9d8}.ctf-input:focus-visible,.ctf-select:focus-visible,.ctf-textarea:focus-visible{border-color:var(--pri);background:#fff;outline:2px solid var(--sec);outline-offset:2px}.ctf-input:disabled,.ctf-select:disabled,.ctf-textarea:disabled{opacity:.6;cursor:not-allowed}.ctf-textarea{resize:vertical;min-height:120px;line-height:1.55}.ctf-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.ctf-control--error{border-color:var(--ctf-danger);background:rgba(255,77,106,.05)}.ctf-help{color:var(--ctf-faint)}.ctf-error,.ctf-help{margin:6px 0 0;font-size:var(--text-xs);line-height:1.5}.ctf-error{display:flex;align-items:flex-start;gap:6px;font-weight:600;color:var(--ctf-danger)}.ctf-error:before{content:"!";flex:0 0 auto;width:15px;height:15px;margin-top:1px;border-radius:50%;background:var(--ctf-danger);color:#fff;font-size:11px;font-weight:700;line-height:15px;text-align:center}.ctf-fieldset{min-width:0;padding:0;border:none}.ctf-legend{padding:0;margin-bottom:8px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666}.ctf-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px}.ctf-option{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--ctf-line);border-radius:10px;background:var(--ctf-field-bg);font-size:var(--text-sm);line-height:1.45;color:var(--ctf-ink);cursor:pointer;transition:border-color .15s,background .15s}.ctf-option:hover{border-color:#c3b3d6;background:rgba(112,48,160,.04)}.ctf-option input{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:var(--pri);cursor:pointer}.ctf-option input:focus-visible{outline:2px solid var(--sec);outline-offset:2px}.ctf-option:has(input:checked){border-color:var(--pri);background:rgba(112,48,160,.07)}.ctf-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--ctf-line);border-radius:12px;background:var(--ctf-field-bg);cursor:pointer}.ctf-check:hover{border-color:#c3b3d6}.ctf-check input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--pri);cursor:pointer}.ctf-check input:focus-visible{outline:2px solid var(--sec);outline-offset:2px}.ctf-check__text{font-size:var(--text-sm);line-height:1.5;color:var(--ctf-muted)}.ctf-freetext{margin-top:10px;padding-left:12px;border-left:2px solid rgba(112,48,160,.28)}.ctf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.ctf-submit{display:block;width:100%;margin-top:22px;padding:15px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--pri),var(--sec));color:#fff;font-family:inherit;font-size:var(--text-lg);font-weight:600;cursor:pointer;transition:box-shadow .22s,transform .18s,opacity .18s}.ctf-submit:hover:not(:disabled){box-shadow:0 8px 28px var(--pri-glow);transform:translateY(-1px)}.ctf-submit:focus-visible{outline:2px solid var(--sec);outline-offset:3px}.ctf-submit:disabled{opacity:.5;cursor:not-allowed}.ctf-card--done{text-align:center;padding:44px 36px 40px}.ctf-done__mark{width:72px;height:72px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,rgba(112,48,160,.12),rgba(0,179,154,.12));color:var(--pri)}.ctf-done__title{margin:0 0 8px;font-size:var(--text-2xl);font-weight:700;color:var(--ctf-ink)}.ctf-done__text{margin:0 auto;max-width:46ch;font-size:var(--text-base);line-height:1.6;color:var(--ctf-muted);white-space:pre-line}.ctf-done__mail{margin:14px auto 0;font-size:var(--text-sm);color:var(--ctf-faint)}.ctf-done__addr{font-family:var(--font-mono,ui-monospace),SFMono-Regular,Consolas,monospace;font-weight:600;color:var(--pri)}.ctf-done__cta{display:inline-block;margin-top:22px;padding:13px 26px;border-radius:12px;background:linear-gradient(135deg,var(--pri),var(--sec));color:#fff;font-size:var(--text-base);font-weight:600;text-decoration:none}.ctf-done__cta:hover{box-shadow:0 8px 28px var(--pri-glow);text-decoration:none}.ctf-done__cta:focus-visible{outline:2px solid var(--sec);outline-offset:3px}.ctf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:640px){.ctf-card{padding:26px 20px 24px;border-radius:18px}.ctf-card--done{padding:34px 20px 30px}.ctf-field--half{grid-column:span 2}.ctf-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ctf-card{animation:none}.ctf-submit:hover:not(:disabled){transform:none}.ctf-input,.ctf-option,.ctf-select,.ctf-submit,.ctf-textarea{transition:none}}