.tsc{flex-direction:column;gap:1rem;width:100%;display:flex}.tsc-icon{background:var(--brand);width:48px;height:48px;color:var(--brand-ink);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.tsc-digits{letter-spacing:.4em;font-variant-numeric:tabular-nums;text-align:center;font-size:1.6rem!important;font-weight:700!important}.tsc-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.2rem;font-size:.88rem;display:flex}.tsc-links .auth-link,.tss .auth-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.tss{flex-direction:column;gap:1rem;width:100%;display:flex}.tss-lead{color:inherit;margin:0;font-size:.92rem;line-height:1.55}.tss-methods{flex-direction:column;gap:.6rem;display:flex}.tss-method{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1.5px solid #7f7f7f4d;border-radius:14px;align-items:flex-start;gap:.8rem;padding:.9rem 1rem;display:flex}.tss-method.on{border-color:var(--brand);box-shadow:0 0 0 3px #f9d0002e}.tss-method b{font-size:.92rem;display:block}.tss-method small{opacity:.72;margin-top:.15rem;font-size:.8rem;line-height:1.45;display:block}.tss-micon{background:#7f7f7f24;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.tss-method.on .tss-micon{background:var(--brand);color:var(--brand-ink)}.tss-qr{background:#fff;border-radius:16px;justify-content:center;align-self:center;align-items:center;min-width:200px;min-height:200px;padding:10px;line-height:0;display:flex}.tss-qr span{color:#666;font-size:.85rem;line-height:1.4}.tss-keylink,.tss-back{align-self:center;font-size:.86rem}.tss-key{letter-spacing:.06em;overflow-wrap:anywhere;text-align:center;background:#7f7f7f24;border-radius:10px;align-self:center;padding:.6rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.tss-codes{letter-spacing:.05em;color:inherit;background:#7f7f7f1f;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;list-style:none;display:grid}.tss-row{gap:.5rem;display:flex}.tss-ghost{color:inherit;font:inherit;cursor:pointer;background:#7f7f7f24;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.tsp{flex-direction:column;gap:1rem;display:flex}.tsp-head{align-items:flex-start;gap:.8rem;display:flex}.tsp-head b{color:var(--text-main);font-size:.95rem;display:block}.tsp-head span:not(.tsp-icon){color:var(--text-muted);margin-top:.15rem;font-size:.82rem;display:block}.tsp-icon{background:var(--bg-page);width:40px;height:40px;color:var(--text-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tsp-icon.on{background:var(--success-bg);color:var(--success)}.tsp-actions{flex-wrap:wrap}.auth .tsc,.auth .tss{color:#f5f5f7}.ts-field{flex-direction:column;gap:.45rem;display:flex}.ts-field label{color:var(--text-main);font-size:.85rem;font-weight:600}.ts-field input{border:1px solid var(--border);background:var(--bg-white);width:100%;height:50px;color:var(--text-main);font:inherit;border-radius:12px;outline:none;padding:0 1rem;font-size:16px;transition:border-color .15s}.ts-field input::placeholder{color:var(--text-muted);opacity:.7}.ts-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #f9d0002e}.ts-link{font:inherit;color:var(--text-main);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:600;text-decoration:underline}.auth .ts-field label{color:#d1d5db}.auth .ts-field input{color:#fff;height:48px;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #2a2a2a;border-radius:0;padding:0 .1rem}.auth .ts-field input:focus{border-color:var(--brand)}.auth .ts-link{color:var(--brand);text-decoration:none}.tsp-modal{flex-direction:column;gap:1rem;display:flex}.tsp-modal .tss-qr{box-shadow:0 0 0 1px var(--border)}.tsc-checking{opacity:.75;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:.86rem;display:flex}.tsc-spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite tscSpin}@keyframes tscSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tsc-spin{animation-duration:2s}}
