.ctf{display:grid;gap:var(--sp-4);max-width:44rem;padding:var(--card-pad);border-radius:var(--r-card);background:var(--bg-surface);box-shadow:var(--elev-1)}.ctf-two{display:grid;align-items:start;gap:var(--sp-4)}@media (min-width: 560px){.ctf-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.ctf-field{display:grid;align-content:start;gap:var(--sp-1);min-width:0}.ctf-field label,.ctf-early legend{color:var(--text);font-size:var(--t-sm);line-height:var(--lh-sm);font-weight:var(--fw-medium)}.ctf-opt{color:var(--text-3);font-weight:var(--fw-regular)}.ctf input,.ctf select,.ctf textarea{box-sizing:border-box;width:100%;min-height:var(--control-h-lg);padding:var(--sp-2) var(--control-px);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--field-bg);color:var(--text);font:inherit;font-size:var(--t-md);line-height:var(--lh-md)}.ctf textarea{min-height:calc(var(--control-h-lg) * 3);resize:vertical}.ctf [aria-invalid=true]{border-color:var(--bad)}.ctf-hint,.ctf-err{font-size:var(--t-xs);line-height:var(--lh-xs)}.ctf-hint{color:var(--text-3)}.ctf-err{color:var(--bad-text)}.ctf-err:empty{display:none}.ctf-early{display:grid;gap:var(--sp-4);margin:0;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md)}.ctf[hidden],.ctf-early[hidden],.ctf-status[hidden],.ctf-done[hidden],.ctf-off[hidden]{display:none}.ctf-early legend{padding:0 var(--sp-1)}.ctf-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ctf-captcha{min-height:65px}.ctf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.ctf-actions .site-btn[aria-disabled=true]{cursor:progress;opacity:.7}.ctf-status,.ctf-off{padding:var(--sp-3) var(--sp-4);border:1px solid var(--bad-border);border-radius:var(--r-md);background:var(--bad-soft);color:var(--text);font-size:var(--t-sm);line-height:var(--lh-sm)}.ctf-off{border-color:var(--warn-border);background:var(--warn-soft);max-width:44rem}.ctf-code{color:var(--text-2);font-family:var(--font-mono);font-size:var(--t-xs)}.ctf-done{display:grid;gap:var(--sp-2);max-width:44rem;padding:var(--card-pad);border:1px solid var(--ok-border);border-radius:var(--r-card);background:var(--ok-soft)}.ctf-done h3{font-size:var(--t-md);line-height:var(--lh-md)}.ctf-next{max-width:44rem;margin-top:var(--sp-3);color:var(--text-2);font-size:var(--t-sm);line-height:var(--lh-sm)}.ctf a{color:var(--accent)}
